mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-28 09:23:08 +08:00
feat: add CLI session sharing functionality
- Implemented share token creation and revocation for CLI sessions. - Added a new page for viewing shared CLI sessions with SSE support. - Introduced hooks for fetching and managing CLI session shares. - Enhanced the IssueTerminalTab component to handle share tokens and display active shares. - Updated API routes to support fetching and revoking share tokens. - Added unit tests for the CLI session share manager and rate limiter. - Updated localization files to include new strings for sharing functionality.
This commit is contained in:
@@ -842,6 +842,13 @@ export async function fetchQueueHistory(projectPath: string): Promise<QueueHisto
|
||||
return fetchApi<QueueHistoryIndex>(`/api/queue/history?path=${encodeURIComponent(projectPath)}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch a specific queue by ID
|
||||
*/
|
||||
export async function fetchQueueById(queueId: string, projectPath: string): Promise<IssueQueue> {
|
||||
return fetchApi<IssueQueue>(`/api/queue/${encodeURIComponent(queueId)}?path=${encodeURIComponent(projectPath)}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Activate a queue
|
||||
*/
|
||||
@@ -5797,3 +5804,23 @@ export async function createCliSessionShareToken(
|
||||
{ method: 'POST', body: JSON.stringify(input) }
|
||||
);
|
||||
}
|
||||
|
||||
export async function fetchCliSessionShares(
|
||||
sessionKey: string,
|
||||
projectPath?: string
|
||||
): Promise<{ shares: Array<{ shareToken: string; expiresAt: string; mode: 'read' | 'write' }> }> {
|
||||
return fetchApi<{ shares: Array<{ shareToken: string; expiresAt: string; mode: 'read' | 'write' }> }>(
|
||||
withPath(`/api/cli-sessions/${encodeURIComponent(sessionKey)}/shares`, projectPath)
|
||||
);
|
||||
}
|
||||
|
||||
export async function revokeCliSessionShareToken(
|
||||
sessionKey: string,
|
||||
input: { shareToken: string },
|
||||
projectPath?: string
|
||||
): Promise<{ success: boolean; revoked: boolean }> {
|
||||
return fetchApi<{ success: boolean; revoked: boolean }>(
|
||||
withPath(`/api/cli-sessions/${encodeURIComponent(sessionKey)}/share/revoke`, projectPath),
|
||||
{ method: 'POST', body: JSON.stringify(input) }
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user