claudedesk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +431 -0
  3. package/config/repos.example.json +128 -0
  4. package/config/settings.example.json +64 -0
  5. package/config/skills/code-review.md +76 -0
  6. package/config/skills/full-check.md +26 -0
  7. package/config/skills/lint-fix.md +23 -0
  8. package/dist/api/agent-routes.d.ts +2 -0
  9. package/dist/api/agent-routes.d.ts.map +1 -0
  10. package/dist/api/agent-routes.js +251 -0
  11. package/dist/api/agent-routes.js.map +1 -0
  12. package/dist/api/app-routes.d.ts +2 -0
  13. package/dist/api/app-routes.d.ts.map +1 -0
  14. package/dist/api/app-routes.js +150 -0
  15. package/dist/api/app-routes.js.map +1 -0
  16. package/dist/api/docker-routes.d.ts +2 -0
  17. package/dist/api/docker-routes.d.ts.map +1 -0
  18. package/dist/api/docker-routes.js +167 -0
  19. package/dist/api/docker-routes.js.map +1 -0
  20. package/dist/api/middleware.d.ts +6 -0
  21. package/dist/api/middleware.d.ts.map +1 -0
  22. package/dist/api/middleware.js +293 -0
  23. package/dist/api/middleware.js.map +1 -0
  24. package/dist/api/pin-auth.d.ts +65 -0
  25. package/dist/api/pin-auth.d.ts.map +1 -0
  26. package/dist/api/pin-auth.js +218 -0
  27. package/dist/api/pin-auth.js.map +1 -0
  28. package/dist/api/routes.d.ts +2 -0
  29. package/dist/api/routes.d.ts.map +1 -0
  30. package/dist/api/routes.js +473 -0
  31. package/dist/api/routes.js.map +1 -0
  32. package/dist/api/settings-routes.d.ts +2 -0
  33. package/dist/api/settings-routes.d.ts.map +1 -0
  34. package/dist/api/settings-routes.js +570 -0
  35. package/dist/api/settings-routes.js.map +1 -0
  36. package/dist/api/skill-routes.d.ts +2 -0
  37. package/dist/api/skill-routes.d.ts.map +1 -0
  38. package/dist/api/skill-routes.js +88 -0
  39. package/dist/api/skill-routes.js.map +1 -0
  40. package/dist/api/terminal-routes.d.ts +2 -0
  41. package/dist/api/terminal-routes.d.ts.map +1 -0
  42. package/dist/api/terminal-routes.js +3524 -0
  43. package/dist/api/terminal-routes.js.map +1 -0
  44. package/dist/api/tunnel-routes.d.ts +2 -0
  45. package/dist/api/tunnel-routes.d.ts.map +1 -0
  46. package/dist/api/tunnel-routes.js +196 -0
  47. package/dist/api/tunnel-routes.js.map +1 -0
  48. package/dist/api/workspace-routes.d.ts +3 -0
  49. package/dist/api/workspace-routes.d.ts.map +1 -0
  50. package/dist/api/workspace-routes.js +649 -0
  51. package/dist/api/workspace-routes.js.map +1 -0
  52. package/dist/cli.d.ts +3 -0
  53. package/dist/cli.d.ts.map +1 -0
  54. package/dist/cli.js +276 -0
  55. package/dist/cli.js.map +1 -0
  56. package/dist/client/assets/index-B4r0njGe.js +780 -0
  57. package/dist/client/assets/index-CY_9MyE0.css +1 -0
  58. package/dist/client/favicon.svg +5 -0
  59. package/dist/client/icons/icon-192.svg +5 -0
  60. package/dist/client/icons/icon-512.svg +5 -0
  61. package/dist/client/icons/logo-with-message.png +0 -0
  62. package/dist/client/icons/logo.png +0 -0
  63. package/dist/client/index.html +25 -0
  64. package/dist/client/manifest.json +62 -0
  65. package/dist/client/sw.js +243 -0
  66. package/dist/config/agent-usage.d.ts +34 -0
  67. package/dist/config/agent-usage.d.ts.map +1 -0
  68. package/dist/config/agent-usage.js +87 -0
  69. package/dist/config/agent-usage.js.map +1 -0
  70. package/dist/config/repos.d.ts +34 -0
  71. package/dist/config/repos.d.ts.map +1 -0
  72. package/dist/config/repos.js +412 -0
  73. package/dist/config/repos.js.map +1 -0
  74. package/dist/config/settings.d.ts +634 -0
  75. package/dist/config/settings.d.ts.map +1 -0
  76. package/dist/config/settings.js +459 -0
  77. package/dist/config/settings.js.map +1 -0
  78. package/dist/config/skills.d.ts +18 -0
  79. package/dist/config/skills.d.ts.map +1 -0
  80. package/dist/config/skills.js +174 -0
  81. package/dist/config/skills.js.map +1 -0
  82. package/dist/config/workspaces.d.ts +961 -0
  83. package/dist/config/workspaces.d.ts.map +1 -0
  84. package/dist/config/workspaces.js +482 -0
  85. package/dist/config/workspaces.js.map +1 -0
  86. package/dist/core/app-manager.d.ts +85 -0
  87. package/dist/core/app-manager.d.ts.map +1 -0
  88. package/dist/core/app-manager.js +447 -0
  89. package/dist/core/app-manager.js.map +1 -0
  90. package/dist/core/claude-invoker.d.ts +49 -0
  91. package/dist/core/claude-invoker.d.ts.map +1 -0
  92. package/dist/core/claude-invoker.js +583 -0
  93. package/dist/core/claude-invoker.js.map +1 -0
  94. package/dist/core/claude-session-reader.d.ts +25 -0
  95. package/dist/core/claude-session-reader.d.ts.map +1 -0
  96. package/dist/core/claude-session-reader.js +184 -0
  97. package/dist/core/claude-session-reader.js.map +1 -0
  98. package/dist/core/claude-usage-query.d.ts +78 -0
  99. package/dist/core/claude-usage-query.d.ts.map +1 -0
  100. package/dist/core/claude-usage-query.js +294 -0
  101. package/dist/core/claude-usage-query.js.map +1 -0
  102. package/dist/core/git-credential-helper.d.ts +57 -0
  103. package/dist/core/git-credential-helper.d.ts.map +1 -0
  104. package/dist/core/git-credential-helper.js +176 -0
  105. package/dist/core/git-credential-helper.js.map +1 -0
  106. package/dist/core/git-sandbox.d.ts +135 -0
  107. package/dist/core/git-sandbox.d.ts.map +1 -0
  108. package/dist/core/git-sandbox.js +907 -0
  109. package/dist/core/git-sandbox.js.map +1 -0
  110. package/dist/core/github-integration.d.ts +66 -0
  111. package/dist/core/github-integration.d.ts.map +1 -0
  112. package/dist/core/github-integration.js +350 -0
  113. package/dist/core/github-integration.js.map +1 -0
  114. package/dist/core/github-oauth.d.ts +88 -0
  115. package/dist/core/github-oauth.d.ts.map +1 -0
  116. package/dist/core/github-oauth.js +244 -0
  117. package/dist/core/github-oauth.js.map +1 -0
  118. package/dist/core/gitlab-integration.d.ts +66 -0
  119. package/dist/core/gitlab-integration.d.ts.map +1 -0
  120. package/dist/core/gitlab-integration.js +353 -0
  121. package/dist/core/gitlab-integration.js.map +1 -0
  122. package/dist/core/gitlab-oauth.d.ts +100 -0
  123. package/dist/core/gitlab-oauth.d.ts.map +1 -0
  124. package/dist/core/gitlab-oauth.js +366 -0
  125. package/dist/core/gitlab-oauth.js.map +1 -0
  126. package/dist/core/insights-extractor.d.ts +68 -0
  127. package/dist/core/insights-extractor.d.ts.map +1 -0
  128. package/dist/core/insights-extractor.js +402 -0
  129. package/dist/core/insights-extractor.js.map +1 -0
  130. package/dist/core/logger.d.ts +27 -0
  131. package/dist/core/logger.d.ts.map +1 -0
  132. package/dist/core/logger.js +70 -0
  133. package/dist/core/logger.js.map +1 -0
  134. package/dist/core/process-runner.d.ts +27 -0
  135. package/dist/core/process-runner.d.ts.map +1 -0
  136. package/dist/core/process-runner.js +147 -0
  137. package/dist/core/process-runner.js.map +1 -0
  138. package/dist/core/project-detector.d.ts +30 -0
  139. package/dist/core/project-detector.d.ts.map +1 -0
  140. package/dist/core/project-detector.js +482 -0
  141. package/dist/core/project-detector.js.map +1 -0
  142. package/dist/core/qr-generator.d.ts +18 -0
  143. package/dist/core/qr-generator.d.ts.map +1 -0
  144. package/dist/core/qr-generator.js +61 -0
  145. package/dist/core/qr-generator.js.map +1 -0
  146. package/dist/core/remote-tunnel-manager.d.ts +59 -0
  147. package/dist/core/remote-tunnel-manager.d.ts.map +1 -0
  148. package/dist/core/remote-tunnel-manager.js +235 -0
  149. package/dist/core/remote-tunnel-manager.js.map +1 -0
  150. package/dist/core/shared-docker-manager.d.ts +41 -0
  151. package/dist/core/shared-docker-manager.d.ts.map +1 -0
  152. package/dist/core/shared-docker-manager.js +409 -0
  153. package/dist/core/shared-docker-manager.js.map +1 -0
  154. package/dist/core/skill-executor.d.ts +25 -0
  155. package/dist/core/skill-executor.d.ts.map +1 -0
  156. package/dist/core/skill-executor.js +171 -0
  157. package/dist/core/skill-executor.js.map +1 -0
  158. package/dist/core/terminal-session.d.ts +149 -0
  159. package/dist/core/terminal-session.d.ts.map +1 -0
  160. package/dist/core/terminal-session.js +2340 -0
  161. package/dist/core/terminal-session.js.map +1 -0
  162. package/dist/core/tunnel-manager.d.ts +35 -0
  163. package/dist/core/tunnel-manager.d.ts.map +1 -0
  164. package/dist/core/tunnel-manager.js +137 -0
  165. package/dist/core/tunnel-manager.js.map +1 -0
  166. package/dist/core/usage-manager.d.ts +57 -0
  167. package/dist/core/usage-manager.d.ts.map +1 -0
  168. package/dist/core/usage-manager.js +363 -0
  169. package/dist/core/usage-manager.js.map +1 -0
  170. package/dist/core/ws-manager.d.ts +39 -0
  171. package/dist/core/ws-manager.d.ts.map +1 -0
  172. package/dist/core/ws-manager.js +190 -0
  173. package/dist/core/ws-manager.js.map +1 -0
  174. package/dist/index.d.ts +7 -0
  175. package/dist/index.d.ts.map +1 -0
  176. package/dist/index.js +229 -0
  177. package/dist/index.js.map +1 -0
  178. package/dist/types.d.ts +868 -0
  179. package/dist/types.d.ts.map +1 -0
  180. package/dist/types.js +119 -0
  181. package/dist/types.js.map +1 -0
  182. package/package.json +96 -0
@@ -0,0 +1,149 @@
1
+ import { ChildProcess } from 'child_process';
2
+ export interface MessageAttachment {
3
+ id: string;
4
+ originalName: string;
5
+ path: string;
6
+ size: number;
7
+ mimeType: string;
8
+ }
9
+ export interface ChatMessage {
10
+ id: string;
11
+ role: 'user' | 'assistant';
12
+ content: string;
13
+ timestamp: Date;
14
+ isStreaming?: boolean;
15
+ attachments?: MessageAttachment[];
16
+ agentId?: string;
17
+ agentName?: string;
18
+ }
19
+ export interface SearchResult {
20
+ sessionId: string;
21
+ messageId: string;
22
+ role: 'user' | 'assistant';
23
+ content: string;
24
+ timestamp: Date;
25
+ repoIds: string[];
26
+ isBookmarked: boolean;
27
+ sessionName?: string;
28
+ matchIndex: number;
29
+ }
30
+ export interface QueuedMessage {
31
+ id: string;
32
+ content: string;
33
+ attachments?: MessageAttachment[];
34
+ mode: 'plan' | 'direct';
35
+ queuedAt: Date;
36
+ }
37
+ export interface TerminalSession {
38
+ id: string;
39
+ repoIds: string[];
40
+ isMultiRepo: boolean;
41
+ mergedFromSessionIds?: string[];
42
+ messages: ChatMessage[];
43
+ messageQueue: QueuedMessage[];
44
+ status: 'idle' | 'running' | 'error';
45
+ mode: 'plan' | 'direct';
46
+ claudeProcess?: ChildProcess;
47
+ claudeSessionId?: string;
48
+ createdAt: Date;
49
+ lastActivityAt: Date;
50
+ isBookmarked: boolean;
51
+ bookmarkedAt?: Date;
52
+ name?: string;
53
+ worktreeMode?: boolean;
54
+ worktreePath?: string;
55
+ branch?: string;
56
+ baseBranch?: string;
57
+ ownsWorktree?: boolean;
58
+ }
59
+ export declare function getPrimaryRepoId(session: TerminalSession): string;
60
+ export interface WorktreeSessionOptions {
61
+ worktreeMode: true;
62
+ branch: string;
63
+ baseBranch?: string;
64
+ existingWorktreePath?: string;
65
+ }
66
+ declare class TerminalSessionManager {
67
+ private sessions;
68
+ constructor();
69
+ /**
70
+ * REL-02: Get count of sessions with active Claude processes
71
+ */
72
+ private getActiveProcessCount;
73
+ private loadSessions;
74
+ private saveSessions;
75
+ private setupWebSocketHandlers;
76
+ createSession(repoIdOrIds: string | string[], worktreeOptions?: WorktreeSessionOptions): TerminalSession;
77
+ getSession(sessionId: string): TerminalSession | undefined;
78
+ getAllSessions(): TerminalSession[];
79
+ mergeSessions(sessionIds: string[]): TerminalSession;
80
+ addRepoToSession(sessionId: string, repoId: string): TerminalSession;
81
+ removeRepoFromSession(sessionId: string, repoId: string): TerminalSession;
82
+ sendMessage(sessionId: string, content: string, attachments?: MessageAttachment[], agentId?: string): Promise<void>;
83
+ setMode(sessionId: string, mode: 'plan' | 'direct'): void;
84
+ setBookmark(sessionId: string, isBookmarked: boolean): TerminalSession | undefined;
85
+ setSessionName(sessionId: string, name: string | undefined): TerminalSession | undefined;
86
+ exportSession(sessionId: string, format: 'markdown' | 'json'): string | undefined;
87
+ searchMessages(query: string, limit?: number): SearchResult[];
88
+ cancelSession(sessionId: string): void;
89
+ private queueMessage;
90
+ private processNextInQueue;
91
+ removeFromQueue(sessionId: string, messageId: string): void;
92
+ clearQueue(sessionId: string): void;
93
+ executePlan(sessionId: string, planMessageId: string, answers: Record<string, string>, additionalContext: string): Promise<void>;
94
+ private sendMessageWithPrompt;
95
+ /**
96
+ * Delete a session. For worktree sessions, optionally delete the branch and/or worktree.
97
+ * @param sessionId - The session ID to delete
98
+ * @param deleteBranch - Whether to delete the git branch (only applies to worktree sessions)
99
+ * @param deleteWorktree - Whether to delete the worktree directory (defaults to true for backwards compatibility)
100
+ * @returns Object with info about what was deleted
101
+ */
102
+ deleteSession(sessionId: string, deleteBranch?: boolean, deleteWorktree?: boolean): {
103
+ deleted: boolean;
104
+ worktreeDeleted?: boolean;
105
+ branchDeleted?: boolean;
106
+ };
107
+ /**
108
+ * Check if a session is a worktree session (for UI to decide whether to ask about branch deletion)
109
+ */
110
+ isWorktreeSession(sessionId: string): boolean;
111
+ /**
112
+ * Get worktree info for a session
113
+ */
114
+ getWorktreeInfo(sessionId: string): {
115
+ worktreeMode: boolean;
116
+ branch?: string;
117
+ worktreePath?: string;
118
+ baseBranch?: string;
119
+ ownsWorktree?: boolean;
120
+ } | null;
121
+ /**
122
+ * Get all worktree sessions
123
+ */
124
+ getWorktreeSessions(): TerminalSession[];
125
+ /**
126
+ * Clean up orphaned terminal worktrees (worktrees without matching sessions)
127
+ * Called on startup to clean up after crashes/restarts
128
+ */
129
+ cleanupOrphanedWorktrees(): number;
130
+ private cleanupSessionAttachments;
131
+ clearMessages(sessionId: string): void;
132
+ cleanupOldSessions(maxAgeMs?: number): void;
133
+ private handleSlashCommand;
134
+ private sendSystemMessage;
135
+ private handleSkillsListCommand;
136
+ private handleSkillCommand;
137
+ private handleSkillCreateCommand;
138
+ private buildSkillCreationPrompt;
139
+ private extractSkillFileContent;
140
+ private getSafetyInstructions;
141
+ private buildWorktreeContext;
142
+ private buildMultiRepoContext;
143
+ private buildPromptWithContext;
144
+ private buildAttachmentContext;
145
+ private generateId;
146
+ }
147
+ export declare const terminalSessionManager: TerminalSessionManager;
148
+ export {};
149
+ //# sourceMappingURL=terminal-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-session.d.ts","sourceRoot":"","sources":["../../src/core/terminal-session.ts"],"names":[],"mappings":"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"}