claudia-orchestrator 0.1.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 (296) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +109 -0
  3. package/dist/cli-parser.d.ts +11 -0
  4. package/dist/cli-parser.d.ts.map +1 -0
  5. package/dist/cli-parser.js +57 -0
  6. package/dist/cli-parser.js.map +1 -0
  7. package/dist/cui-server.d.ts +69 -0
  8. package/dist/cui-server.d.ts.map +1 -0
  9. package/dist/cui-server.js +705 -0
  10. package/dist/cui-server.js.map +1 -0
  11. package/dist/mcp-server/claudia-tools.d.ts +15 -0
  12. package/dist/mcp-server/claudia-tools.d.ts.map +1 -0
  13. package/dist/mcp-server/claudia-tools.js +366 -0
  14. package/dist/mcp-server/claudia-tools.js.map +1 -0
  15. package/dist/mcp-server/index.d.ts +3 -0
  16. package/dist/mcp-server/index.d.ts.map +1 -0
  17. package/dist/mcp-server/index.js +176 -0
  18. package/dist/mcp-server/index.js.map +1 -0
  19. package/dist/middleware/auth.d.ts +18 -0
  20. package/dist/middleware/auth.d.ts.map +1 -0
  21. package/dist/middleware/auth.js +136 -0
  22. package/dist/middleware/auth.js.map +1 -0
  23. package/dist/middleware/cors-setup.d.ts +7 -0
  24. package/dist/middleware/cors-setup.d.ts.map +1 -0
  25. package/dist/middleware/cors-setup.js +8 -0
  26. package/dist/middleware/cors-setup.js.map +1 -0
  27. package/dist/middleware/error-handler.d.ts +4 -0
  28. package/dist/middleware/error-handler.d.ts.map +1 -0
  29. package/dist/middleware/error-handler.js +27 -0
  30. package/dist/middleware/error-handler.js.map +1 -0
  31. package/dist/middleware/query-parser.d.ts +11 -0
  32. package/dist/middleware/query-parser.d.ts.map +1 -0
  33. package/dist/middleware/query-parser.js +68 -0
  34. package/dist/middleware/query-parser.js.map +1 -0
  35. package/dist/middleware/request-logger.d.ts +4 -0
  36. package/dist/middleware/request-logger.d.ts.map +1 -0
  37. package/dist/middleware/request-logger.js +29 -0
  38. package/dist/middleware/request-logger.js.map +1 -0
  39. package/dist/process-daemon/index.d.ts +14 -0
  40. package/dist/process-daemon/index.d.ts.map +1 -0
  41. package/dist/process-daemon/index.js +51 -0
  42. package/dist/process-daemon/index.js.map +1 -0
  43. package/dist/process-daemon/process-daemon.d.ts +78 -0
  44. package/dist/process-daemon/process-daemon.d.ts.map +1 -0
  45. package/dist/process-daemon/process-daemon.js +568 -0
  46. package/dist/process-daemon/process-daemon.js.map +1 -0
  47. package/dist/process-daemon/process-manager-client.d.ts +108 -0
  48. package/dist/process-daemon/process-manager-client.d.ts.map +1 -0
  49. package/dist/process-daemon/process-manager-client.js +314 -0
  50. package/dist/process-daemon/process-manager-client.js.map +1 -0
  51. package/dist/process-daemon/process-manager-interface.d.ts +47 -0
  52. package/dist/process-daemon/process-manager-interface.d.ts.map +1 -0
  53. package/dist/process-daemon/process-manager-interface.js +8 -0
  54. package/dist/process-daemon/process-manager-interface.js.map +1 -0
  55. package/dist/process-daemon/test-daemon.d.ts +12 -0
  56. package/dist/process-daemon/test-daemon.d.ts.map +1 -0
  57. package/dist/process-daemon/test-daemon.js +81 -0
  58. package/dist/process-daemon/test-daemon.js.map +1 -0
  59. package/dist/process-daemon/types.d.ts +85 -0
  60. package/dist/process-daemon/types.d.ts.map +1 -0
  61. package/dist/process-daemon/types.js +8 -0
  62. package/dist/process-daemon/types.js.map +1 -0
  63. package/dist/routes/claudia.routes.d.ts +10 -0
  64. package/dist/routes/claudia.routes.d.ts.map +1 -0
  65. package/dist/routes/claudia.routes.js +123 -0
  66. package/dist/routes/claudia.routes.js.map +1 -0
  67. package/dist/routes/config.routes.d.ts +4 -0
  68. package/dist/routes/config.routes.d.ts.map +1 -0
  69. package/dist/routes/config.routes.js +27 -0
  70. package/dist/routes/config.routes.js.map +1 -0
  71. package/dist/routes/conversation.routes.d.ts +8 -0
  72. package/dist/routes/conversation.routes.d.ts.map +1 -0
  73. package/dist/routes/conversation.routes.js +870 -0
  74. package/dist/routes/conversation.routes.js.map +1 -0
  75. package/dist/routes/filesystem.routes.d.ts +4 -0
  76. package/dist/routes/filesystem.routes.d.ts.map +1 -0
  77. package/dist/routes/filesystem.routes.js +86 -0
  78. package/dist/routes/filesystem.routes.js.map +1 -0
  79. package/dist/routes/gemini.routes.d.ts +4 -0
  80. package/dist/routes/gemini.routes.d.ts.map +1 -0
  81. package/dist/routes/gemini.routes.js +93 -0
  82. package/dist/routes/gemini.routes.js.map +1 -0
  83. package/dist/routes/insights.routes.d.ts +17 -0
  84. package/dist/routes/insights.routes.d.ts.map +1 -0
  85. package/dist/routes/insights.routes.js +417 -0
  86. package/dist/routes/insights.routes.js.map +1 -0
  87. package/dist/routes/license.routes.d.ts +3 -0
  88. package/dist/routes/license.routes.d.ts.map +1 -0
  89. package/dist/routes/license.routes.js +111 -0
  90. package/dist/routes/license.routes.js.map +1 -0
  91. package/dist/routes/log.routes.d.ts +3 -0
  92. package/dist/routes/log.routes.d.ts.map +1 -0
  93. package/dist/routes/log.routes.js +65 -0
  94. package/dist/routes/log.routes.js.map +1 -0
  95. package/dist/routes/notifications.routes.d.ts +4 -0
  96. package/dist/routes/notifications.routes.d.ts.map +1 -0
  97. package/dist/routes/notifications.routes.js +71 -0
  98. package/dist/routes/notifications.routes.js.map +1 -0
  99. package/dist/routes/permission.routes.d.ts +4 -0
  100. package/dist/routes/permission.routes.d.ts.map +1 -0
  101. package/dist/routes/permission.routes.js +116 -0
  102. package/dist/routes/permission.routes.js.map +1 -0
  103. package/dist/routes/question.routes.d.ts +8 -0
  104. package/dist/routes/question.routes.d.ts.map +1 -0
  105. package/dist/routes/question.routes.js +82 -0
  106. package/dist/routes/question.routes.js.map +1 -0
  107. package/dist/routes/streaming.routes.d.ts +4 -0
  108. package/dist/routes/streaming.routes.d.ts.map +1 -0
  109. package/dist/routes/streaming.routes.js +28 -0
  110. package/dist/routes/streaming.routes.js.map +1 -0
  111. package/dist/routes/system.routes.d.ts +5 -0
  112. package/dist/routes/system.routes.d.ts.map +1 -0
  113. package/dist/routes/system.routes.js +103 -0
  114. package/dist/routes/system.routes.js.map +1 -0
  115. package/dist/routes/working-directories.routes.d.ts +4 -0
  116. package/dist/routes/working-directories.routes.d.ts.map +1 -0
  117. package/dist/routes/working-directories.routes.js +25 -0
  118. package/dist/routes/working-directories.routes.js.map +1 -0
  119. package/dist/server.d.ts +3 -0
  120. package/dist/server.d.ts.map +1 -0
  121. package/dist/server.js +34 -0
  122. package/dist/server.js.map +1 -0
  123. package/dist/services/ToolMetricsService.d.ts +53 -0
  124. package/dist/services/ToolMetricsService.d.ts.map +1 -0
  125. package/dist/services/ToolMetricsService.js +230 -0
  126. package/dist/services/ToolMetricsService.js.map +1 -0
  127. package/dist/services/anthropic-service.d.ts +186 -0
  128. package/dist/services/anthropic-service.d.ts.map +1 -0
  129. package/dist/services/anthropic-service.js +1132 -0
  130. package/dist/services/anthropic-service.js.map +1 -0
  131. package/dist/services/claude-history-reader.d.ts +126 -0
  132. package/dist/services/claude-history-reader.d.ts.map +1 -0
  133. package/dist/services/claude-history-reader.js +717 -0
  134. package/dist/services/claude-history-reader.js.map +1 -0
  135. package/dist/services/claude-process-manager.d.ts +108 -0
  136. package/dist/services/claude-process-manager.d.ts.map +1 -0
  137. package/dist/services/claude-process-manager.js +909 -0
  138. package/dist/services/claude-process-manager.js.map +1 -0
  139. package/dist/services/claude-router-service.d.ts +19 -0
  140. package/dist/services/claude-router-service.d.ts.map +1 -0
  141. package/dist/services/claude-router-service.js +160 -0
  142. package/dist/services/claude-router-service.js.map +1 -0
  143. package/dist/services/claudia-service.d.ts +77 -0
  144. package/dist/services/claudia-service.d.ts.map +1 -0
  145. package/dist/services/claudia-service.js +194 -0
  146. package/dist/services/claudia-service.js.map +1 -0
  147. package/dist/services/commands-service.d.ts +18 -0
  148. package/dist/services/commands-service.d.ts.map +1 -0
  149. package/dist/services/commands-service.js +76 -0
  150. package/dist/services/commands-service.js.map +1 -0
  151. package/dist/services/config-service.d.ts +68 -0
  152. package/dist/services/config-service.d.ts.map +1 -0
  153. package/dist/services/config-service.js +429 -0
  154. package/dist/services/config-service.js.map +1 -0
  155. package/dist/services/conversation-cache.d.ts +86 -0
  156. package/dist/services/conversation-cache.d.ts.map +1 -0
  157. package/dist/services/conversation-cache.js +235 -0
  158. package/dist/services/conversation-cache.js.map +1 -0
  159. package/dist/services/conversation-status-manager.d.ts +98 -0
  160. package/dist/services/conversation-status-manager.d.ts.map +1 -0
  161. package/dist/services/conversation-status-manager.js +295 -0
  162. package/dist/services/conversation-status-manager.js.map +1 -0
  163. package/dist/services/cost-tracker.d.ts +87 -0
  164. package/dist/services/cost-tracker.d.ts.map +1 -0
  165. package/dist/services/cost-tracker.js +335 -0
  166. package/dist/services/cost-tracker.js.map +1 -0
  167. package/dist/services/file-system-service.d.ts +61 -0
  168. package/dist/services/file-system-service.d.ts.map +1 -0
  169. package/dist/services/file-system-service.js +348 -0
  170. package/dist/services/file-system-service.js.map +1 -0
  171. package/dist/services/gemini-service.d.ts +72 -0
  172. package/dist/services/gemini-service.d.ts.map +1 -0
  173. package/dist/services/gemini-service.js +431 -0
  174. package/dist/services/gemini-service.js.map +1 -0
  175. package/dist/services/insight-queue.d.ts +99 -0
  176. package/dist/services/insight-queue.d.ts.map +1 -0
  177. package/dist/services/insight-queue.js +277 -0
  178. package/dist/services/insight-queue.js.map +1 -0
  179. package/dist/services/insights-service.d.ts +102 -0
  180. package/dist/services/insights-service.d.ts.map +1 -0
  181. package/dist/services/insights-service.js +1152 -0
  182. package/dist/services/insights-service.js.map +1 -0
  183. package/dist/services/json-lines-parser.d.ts +19 -0
  184. package/dist/services/json-lines-parser.d.ts.map +1 -0
  185. package/dist/services/json-lines-parser.js +56 -0
  186. package/dist/services/json-lines-parser.js.map +1 -0
  187. package/dist/services/license-service.d.ts +69 -0
  188. package/dist/services/license-service.d.ts.map +1 -0
  189. package/dist/services/license-service.js +330 -0
  190. package/dist/services/license-service.js.map +1 -0
  191. package/dist/services/log-formatter.d.ts +5 -0
  192. package/dist/services/log-formatter.d.ts.map +1 -0
  193. package/dist/services/log-formatter.js +77 -0
  194. package/dist/services/log-formatter.js.map +1 -0
  195. package/dist/services/log-stream-buffer.d.ts +11 -0
  196. package/dist/services/log-stream-buffer.d.ts.map +1 -0
  197. package/dist/services/log-stream-buffer.js +36 -0
  198. package/dist/services/log-stream-buffer.js.map +1 -0
  199. package/dist/services/logger.d.ts +71 -0
  200. package/dist/services/logger.d.ts.map +1 -0
  201. package/dist/services/logger.js +215 -0
  202. package/dist/services/logger.js.map +1 -0
  203. package/dist/services/mcp-config-generator.d.ts +32 -0
  204. package/dist/services/mcp-config-generator.d.ts.map +1 -0
  205. package/dist/services/mcp-config-generator.js +126 -0
  206. package/dist/services/mcp-config-generator.js.map +1 -0
  207. package/dist/services/message-filter.d.ts +22 -0
  208. package/dist/services/message-filter.d.ts.map +1 -0
  209. package/dist/services/message-filter.js +57 -0
  210. package/dist/services/message-filter.js.map +1 -0
  211. package/dist/services/notification-service.d.ts +45 -0
  212. package/dist/services/notification-service.d.ts.map +1 -0
  213. package/dist/services/notification-service.js +184 -0
  214. package/dist/services/notification-service.js.map +1 -0
  215. package/dist/services/permission-tracker.d.ts +67 -0
  216. package/dist/services/permission-tracker.d.ts.map +1 -0
  217. package/dist/services/permission-tracker.js +161 -0
  218. package/dist/services/permission-tracker.js.map +1 -0
  219. package/dist/services/process-manager-factory.d.ts +81 -0
  220. package/dist/services/process-manager-factory.d.ts.map +1 -0
  221. package/dist/services/process-manager-factory.js +211 -0
  222. package/dist/services/process-manager-factory.js.map +1 -0
  223. package/dist/services/question-tracker.d.ts +47 -0
  224. package/dist/services/question-tracker.d.ts.map +1 -0
  225. package/dist/services/question-tracker.js +105 -0
  226. package/dist/services/question-tracker.js.map +1 -0
  227. package/dist/services/session-activity-watcher.d.ts +33 -0
  228. package/dist/services/session-activity-watcher.d.ts.map +1 -0
  229. package/dist/services/session-activity-watcher.js +194 -0
  230. package/dist/services/session-activity-watcher.js.map +1 -0
  231. package/dist/services/session-info-service.d.ts +228 -0
  232. package/dist/services/session-info-service.d.ts.map +1 -0
  233. package/dist/services/session-info-service.js +920 -0
  234. package/dist/services/session-info-service.js.map +1 -0
  235. package/dist/services/session-insights-service.d.ts +119 -0
  236. package/dist/services/session-insights-service.d.ts.map +1 -0
  237. package/dist/services/session-insights-service.js +889 -0
  238. package/dist/services/session-insights-service.js.map +1 -0
  239. package/dist/services/stream-manager.d.ts +62 -0
  240. package/dist/services/stream-manager.d.ts.map +1 -0
  241. package/dist/services/stream-manager.js +239 -0
  242. package/dist/services/stream-manager.js.map +1 -0
  243. package/dist/services/web-push-service.d.ts +48 -0
  244. package/dist/services/web-push-service.d.ts.map +1 -0
  245. package/dist/services/web-push-service.js +186 -0
  246. package/dist/services/web-push-service.js.map +1 -0
  247. package/dist/services/working-directories-service.d.ts +19 -0
  248. package/dist/services/working-directories-service.d.ts.map +1 -0
  249. package/dist/services/working-directories-service.js +103 -0
  250. package/dist/services/working-directories-service.js.map +1 -0
  251. package/dist/types/config.d.ts +111 -0
  252. package/dist/types/config.d.ts.map +1 -0
  253. package/dist/types/config.js +14 -0
  254. package/dist/types/config.js.map +1 -0
  255. package/dist/types/express.d.ts +5 -0
  256. package/dist/types/express.d.ts.map +1 -0
  257. package/dist/types/express.js +2 -0
  258. package/dist/types/express.js.map +1 -0
  259. package/dist/types/index.d.ts +325 -0
  260. package/dist/types/index.d.ts.map +1 -0
  261. package/dist/types/index.js +18 -0
  262. package/dist/types/index.js.map +1 -0
  263. package/dist/types/insights.d.ts +99 -0
  264. package/dist/types/insights.d.ts.map +1 -0
  265. package/dist/types/insights.js +7 -0
  266. package/dist/types/insights.js.map +1 -0
  267. package/dist/types/license.d.ts +70 -0
  268. package/dist/types/license.d.ts.map +1 -0
  269. package/dist/types/license.js +5 -0
  270. package/dist/types/license.js.map +1 -0
  271. package/dist/types/router-config.d.ts +13 -0
  272. package/dist/types/router-config.d.ts.map +1 -0
  273. package/dist/types/router-config.js +2 -0
  274. package/dist/types/router-config.js.map +1 -0
  275. package/dist/utils/constants.d.ts +26 -0
  276. package/dist/utils/constants.d.ts.map +1 -0
  277. package/dist/utils/constants.js +28 -0
  278. package/dist/utils/constants.js.map +1 -0
  279. package/dist/utils/machine-id.d.ts +7 -0
  280. package/dist/utils/machine-id.d.ts.map +1 -0
  281. package/dist/utils/machine-id.js +76 -0
  282. package/dist/utils/machine-id.js.map +1 -0
  283. package/dist/utils/server-startup.d.ts +13 -0
  284. package/dist/utils/server-startup.d.ts.map +1 -0
  285. package/dist/utils/server-startup.js +20 -0
  286. package/dist/utils/server-startup.js.map +1 -0
  287. package/dist/web/assets/main-DAc2rjJ2.css +1 -0
  288. package/dist/web/assets/main-DvlZ02mT.js +137 -0
  289. package/dist/web/favicon.png +0 -0
  290. package/dist/web/favicon.svg +22 -0
  291. package/dist/web/icon-192x192.png +0 -0
  292. package/dist/web/icon-512x512.png +0 -0
  293. package/dist/web/index.html +36 -0
  294. package/dist/web/manifest.json +61 -0
  295. package/package.json +174 -0
  296. package/scripts/postinstall.js +30 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"working-directories-service.d.ts","sourceRoot":"","sources":["../../src/services/working-directories-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,qBAAa,yBAAyB;IAIlC,OAAO,CAAC,aAAa;IAHvB,OAAO,CAAC,MAAM,CAAS;gBAGb,aAAa,EAAE,mBAAmB,EAC1C,MAAM,EAAE,MAAM;IAKV,qBAAqB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IA8DlE;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;CA8C1B"}
@@ -0,0 +1,103 @@
1
+ export class WorkingDirectoriesService {
2
+ historyReader;
3
+ logger;
4
+ constructor(historyReader, logger) {
5
+ this.historyReader = historyReader;
6
+ this.logger = logger.child({ component: 'WorkingDirectoriesService' });
7
+ }
8
+ async getWorkingDirectories() {
9
+ try {
10
+ // Get all conversations from history
11
+ const { conversations } = await this.historyReader.listConversations();
12
+ // Build directory map with metadata
13
+ const directoryMap = new Map();
14
+ for (const conversation of conversations) {
15
+ const path = conversation.projectPath;
16
+ if (!path)
17
+ continue;
18
+ const existing = directoryMap.get(path);
19
+ const conversationDate = new Date(conversation.updatedAt);
20
+ if (!existing || conversationDate > existing.lastDate) {
21
+ directoryMap.set(path, {
22
+ lastDate: conversationDate,
23
+ count: (existing?.count || 0) + 1
24
+ });
25
+ }
26
+ else {
27
+ existing.count++;
28
+ }
29
+ }
30
+ // Convert to array and compute shortnames
31
+ const paths = Array.from(directoryMap.keys());
32
+ const shortnames = this.computeShortnames(paths);
33
+ // Build response
34
+ const directories = [];
35
+ for (const [path, metadata] of directoryMap.entries()) {
36
+ directories.push({
37
+ path,
38
+ shortname: shortnames.get(path) || path.split('/').pop() || path,
39
+ lastDate: metadata.lastDate.toISOString().replace(/\.\d{3}Z$/, 'Z'), // Remove milliseconds for consistency
40
+ conversationCount: metadata.count
41
+ });
42
+ }
43
+ // Sort by lastDate descending
44
+ directories.sort((a, b) => new Date(b.lastDate).getTime() - new Date(a.lastDate).getTime());
45
+ this.logger.debug('Retrieved working directories', {
46
+ totalDirectories: directories.length
47
+ });
48
+ return {
49
+ directories,
50
+ totalCount: directories.length
51
+ };
52
+ }
53
+ catch (error) {
54
+ this.logger.error('Failed to get working directories', error);
55
+ throw error;
56
+ }
57
+ }
58
+ /**
59
+ * Compute shortest unique suffixes for a list of paths
60
+ *
61
+ * Examples:
62
+ * - ["/home/alice/project", "/home/bob/project"] -> ["alice/project", "bob/project"]
63
+ * - ["/home/user/web", "/home/user/api"] -> ["web", "api"]
64
+ * - ["/single/path"] -> ["path"]
65
+ */
66
+ computeShortnames(paths) {
67
+ const result = new Map();
68
+ // Handle edge cases
69
+ if (paths.length === 0)
70
+ return result;
71
+ if (paths.length === 1) {
72
+ const segments = paths[0].split('/').filter(s => s);
73
+ result.set(paths[0], segments[segments.length - 1] || paths[0]);
74
+ return result;
75
+ }
76
+ // Split all paths into segments
77
+ const pathSegments = paths.map(path => ({
78
+ path,
79
+ segments: path.split('/').filter(s => s)
80
+ }));
81
+ // For each path, find the shortest unique suffix
82
+ for (const { path, segments } of pathSegments) {
83
+ let suffixLength = 1;
84
+ let shortname = '';
85
+ // Keep adding segments until we have a unique suffix
86
+ while (suffixLength <= segments.length) {
87
+ const suffix = segments.slice(-suffixLength).join('/');
88
+ // Check if this suffix is unique among all paths
89
+ const isUnique = pathSegments.every(other => other.path === path ||
90
+ other.segments.slice(-suffixLength).join('/') !== suffix);
91
+ if (isUnique) {
92
+ shortname = suffix;
93
+ break;
94
+ }
95
+ suffixLength++;
96
+ }
97
+ // If we couldn't find a unique suffix (shouldn't happen), use full path
98
+ result.set(path, shortname || path);
99
+ }
100
+ return result;
101
+ }
102
+ }
103
+ //# sourceMappingURL=working-directories-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"working-directories-service.js","sourceRoot":"","sources":["../../src/services/working-directories-service.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,yBAAyB;IAI1B;IAHF,MAAM,CAAS;IAEvB,YACU,aAAkC,EAC1C,MAAc;QADN,kBAAa,GAAb,aAAa,CAAqB;QAG1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,qBAAqB;QACzB,IAAI,CAAC;YACH,qCAAqC;YACrC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;YAEvE,oCAAoC;YACpC,MAAM,YAAY,GAAG,IAAI,GAAG,EAGxB,CAAC;YAEL,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC;gBACtC,IAAI,CAAC,IAAI;oBAAE,SAAS;gBAEpB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBAE1D,IAAI,CAAC,QAAQ,IAAI,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACtD,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE;wBACrB,QAAQ,EAAE,gBAAgB;wBAC1B,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC;qBAClC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,QAAQ,CAAC,KAAK,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;YAED,0CAA0C;YAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAEjD,iBAAiB;YACjB,MAAM,WAAW,GAAuB,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtD,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI;oBACJ,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI;oBAChE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,sCAAsC;oBAC3G,iBAAiB,EAAE,QAAQ,CAAC,KAAK;iBAClC,CAAC,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAChE,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBACjD,gBAAgB,EAAE,WAAW,CAAC,MAAM;aACrC,CAAC,CAAC;YAEH,OAAO;gBACL,WAAW;gBACX,UAAU,EAAE,WAAW,CAAC,MAAM;aAC/B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC9D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,iBAAiB,CAAC,KAAe;QACvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEzC,oBAAoB;QACpB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,gCAAgC;QAChC,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI;YACJ,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzC,CAAC,CAAC,CAAC;QAEJ,iDAAiD;QACjD,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9C,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,SAAS,GAAG,EAAE,CAAC;YAEnB,qDAAqD;YACrD,OAAO,YAAY,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEvD,iDAAiD;gBACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAC1C,KAAK,CAAC,IAAI,KAAK,IAAI;oBACnB,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CACzD,CAAC;gBAEF,IAAI,QAAQ,EAAE,CAAC;oBACb,SAAS,GAAG,MAAM,CAAC;oBACnB,MAAM;gBACR,CAAC;gBAED,YAAY,EAAE,CAAC;YACjB,CAAC;YAED,wEAAwE;YACxE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Configuration types for CUI
3
+ */
4
+ import { RouterConfiguration } from './router-config.js';
5
+ export interface ServerConfig {
6
+ host: string;
7
+ port: number;
8
+ /**
9
+ * Default working directory for new Claude sessions
10
+ * Falls back to user's home directory if not specified
11
+ */
12
+ defaultWorkingDirectory?: string;
13
+ /**
14
+ * Default permission mode for new Claude sessions
15
+ * 'default' = ask for permissions, 'acceptEdits' = auto-accept edits,
16
+ * 'bypassPermissions' = skip all prompts, 'plan' = plan only mode
17
+ */
18
+ defaultPermissionMode?: 'default' | 'acceptEdits' | 'bypassPermissions' | 'plan';
19
+ }
20
+ export interface GeminiConfig {
21
+ /**
22
+ * Google API key for Gemini
23
+ * Can also be set via GOOGLE_API_KEY environment variable
24
+ */
25
+ apiKey?: string;
26
+ /**
27
+ * Gemini model to use
28
+ * Default: 'gemini-2.5-flash'
29
+ */
30
+ model?: string;
31
+ }
32
+ export interface AnthropicConfig {
33
+ /**
34
+ * Anthropic API key
35
+ * Can also be set via ANTHROPIC_API_KEY environment variable
36
+ */
37
+ apiKey?: string;
38
+ /**
39
+ * Claude model to use for full insight generation (expensive, high quality)
40
+ * Default: 'claude-opus-4-5-20251101'
41
+ */
42
+ model?: string;
43
+ /**
44
+ * Model configuration for the insights system.
45
+ * Allows fine-tuning which models are used for different operations.
46
+ */
47
+ models?: {
48
+ /** Full insight generation - needs high capability. Default: opus */
49
+ generation?: string;
50
+ /** Quick staleness checks - needs speed. Default: haiku */
51
+ quickCheck?: string;
52
+ /** Fast patch generation - speed over quality. Default: haiku */
53
+ patch?: string;
54
+ /** Full patch generation (fallback when fast path fails). Default: haiku */
55
+ fullPatch?: string;
56
+ /** Proposition extraction - factual extraction. Default: haiku */
57
+ propositions?: string;
58
+ };
59
+ }
60
+ export interface InterfaceConfig {
61
+ colorScheme: 'light' | 'dark' | 'system';
62
+ language: string;
63
+ notifications?: {
64
+ enabled: boolean;
65
+ ntfyUrl?: string;
66
+ webPush?: {
67
+ subject?: string;
68
+ vapidPublicKey?: string;
69
+ vapidPrivateKey?: string;
70
+ };
71
+ };
72
+ }
73
+ export interface CUIConfig {
74
+ /**
75
+ * Unique machine identifier
76
+ * Format: {hostname}-{16char_hash}
77
+ * Example: "wenbomacbook-a1b2c3d4e5f6g7h8"
78
+ */
79
+ machine_id: string;
80
+ /**
81
+ * Server configuration
82
+ */
83
+ server: ServerConfig;
84
+ /**
85
+ * Authentication token for API access
86
+ * 32-character random string generated on first run
87
+ */
88
+ authToken: string;
89
+ /**
90
+ * Gemini API configuration (optional)
91
+ */
92
+ gemini?: GeminiConfig;
93
+ /**
94
+ * Anthropic API configuration (optional)
95
+ * Used for session insights extraction with Opus 4.5
96
+ */
97
+ anthropic?: AnthropicConfig;
98
+ /**
99
+ * Optional router configuration for Claude Code Router
100
+ */
101
+ router?: RouterConfiguration;
102
+ /**
103
+ * Interface preferences and settings
104
+ */
105
+ interface: InterfaceConfig;
106
+ }
107
+ /**
108
+ * Default configuration values
109
+ */
110
+ export declare const DEFAULT_CONFIG: Omit<CUIConfig, 'machine_id' | 'authToken'>;
111
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,mBAAmB,GAAG,MAAM,CAAC;CAClF;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP,qEAAqE;QACrE,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,2DAA2D;QAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iEAAiE;QACjE,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,4EAA4E;QAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,kEAAkE;QAClE,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE;QACd,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE;YACR,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,eAAe,CAAC,EAAE,MAAM,CAAC;SAC1B,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,SAAS,EAAE,eAAe,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,WAAW,CAStE,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Default configuration values
3
+ */
4
+ export const DEFAULT_CONFIG = {
5
+ server: {
6
+ host: 'localhost',
7
+ port: 3001
8
+ },
9
+ interface: {
10
+ colorScheme: 'system',
11
+ language: 'en'
12
+ }
13
+ };
14
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAyHA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgD;IACzE,MAAM,EAAE;QACN,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,IAAI;KACX;IACD,SAAS,EAAE;QACT,WAAW,EAAE,QAAQ;QACrB,QAAQ,EAAE,IAAI;KACf;CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Request } from 'express';
2
+ export interface RequestWithRequestId extends Request {
3
+ requestId?: string;
4
+ }
5
+ //# sourceMappingURL=express.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express.d.ts","sourceRoot":"","sources":["../../src/types/express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=express.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"express.js","sourceRoot":"","sources":["../../src/types/express.ts"],"names":[],"mappings":""}
@@ -0,0 +1,325 @@
1
+ import Anthropic from '@anthropic-ai/sdk';
2
+ export * from './insights.js';
3
+ export * from './license.js';
4
+ import type { SessionInsights } from './insights.js';
5
+ export interface ToolMetrics {
6
+ linesAdded: number;
7
+ linesRemoved: number;
8
+ editCount: number;
9
+ writeCount: number;
10
+ }
11
+ export interface ConversationSummary {
12
+ sessionId: string;
13
+ projectPath: string;
14
+ summary: string;
15
+ sessionInfo: SessionInfo;
16
+ createdAt: string;
17
+ updatedAt: string;
18
+ messageCount: number;
19
+ totalDuration: number;
20
+ model: string;
21
+ status: 'completed' | 'ongoing' | 'pending';
22
+ streamingId?: string;
23
+ toolMetrics?: ToolMetrics;
24
+ insights?: SessionInsights;
25
+ }
26
+ export interface ConversationMessage {
27
+ uuid: string;
28
+ type: 'user' | 'assistant' | 'system';
29
+ message: Anthropic.Message | Anthropic.MessageParam;
30
+ timestamp: string;
31
+ sessionId: string;
32
+ parentUuid?: string;
33
+ isSidechain?: boolean;
34
+ userType?: string;
35
+ cwd?: string;
36
+ version?: string;
37
+ durationMs?: number;
38
+ }
39
+ export interface StreamMessage {
40
+ type: 'system' | 'assistant' | 'user' | 'result';
41
+ session_id: string;
42
+ }
43
+ export interface SystemInitMessage extends StreamMessage {
44
+ type: 'system';
45
+ subtype: 'init';
46
+ cwd: string;
47
+ tools: string[];
48
+ mcp_servers: {
49
+ name: string;
50
+ status: string;
51
+ }[];
52
+ model: string;
53
+ permissionMode: string;
54
+ apiKeySource: string;
55
+ }
56
+ export interface AssistantStreamMessage extends StreamMessage {
57
+ type: 'assistant';
58
+ message: Anthropic.Message;
59
+ parent_tool_use_id?: string;
60
+ }
61
+ export interface UserStreamMessage extends StreamMessage {
62
+ type: 'user';
63
+ message: Anthropic.MessageParam;
64
+ parent_tool_use_id?: string;
65
+ }
66
+ export interface ResultStreamMessage extends StreamMessage {
67
+ type: 'result';
68
+ subtype: 'success' | 'error_max_turns';
69
+ is_error: boolean;
70
+ duration_ms: number;
71
+ duration_api_ms: number;
72
+ num_turns: number;
73
+ result?: string;
74
+ usage: {
75
+ input_tokens: number;
76
+ cache_creation_input_tokens: number;
77
+ cache_read_input_tokens: number;
78
+ output_tokens: number;
79
+ server_tool_use: {
80
+ web_search_requests: number;
81
+ };
82
+ };
83
+ }
84
+ export interface PermissionRequest {
85
+ id: string;
86
+ streamingId: string;
87
+ toolName: string;
88
+ toolInput: Record<string, unknown>;
89
+ timestamp: string;
90
+ status: 'pending' | 'approved' | 'denied';
91
+ modifiedInput?: Record<string, unknown>;
92
+ denyReason?: string;
93
+ }
94
+ export interface QuestionOption {
95
+ label: string;
96
+ description?: string;
97
+ }
98
+ export interface QuestionDefinition {
99
+ question: string;
100
+ header?: string;
101
+ options: QuestionOption[];
102
+ multiSelect?: boolean;
103
+ }
104
+ export interface QuestionRequest {
105
+ id: string;
106
+ streamingId: string;
107
+ toolUseId: string;
108
+ questions: QuestionDefinition[];
109
+ timestamp: string;
110
+ status: 'pending' | 'answered';
111
+ answers?: Record<string, string>;
112
+ }
113
+ export interface ConversationConfig {
114
+ workingDirectory: string;
115
+ initialPrompt: string;
116
+ model?: string;
117
+ allowedTools?: string[];
118
+ disallowedTools?: string[];
119
+ systemPrompt?: string;
120
+ claudeExecutablePath?: string;
121
+ previousMessages?: ConversationMessage[];
122
+ permissionMode?: string;
123
+ }
124
+ export interface StartConversationRequest {
125
+ workingDirectory: string;
126
+ initialPrompt: string;
127
+ model?: string;
128
+ allowedTools?: string[];
129
+ disallowedTools?: string[];
130
+ systemPrompt?: string;
131
+ permissionMode?: string;
132
+ resumedSessionId?: string;
133
+ }
134
+ export interface StartConversationResponse {
135
+ streamingId: string;
136
+ streamUrl: string;
137
+ sessionId: string;
138
+ cwd: string;
139
+ tools: string[];
140
+ mcpServers: {
141
+ name: string;
142
+ status: string;
143
+ }[];
144
+ model: string;
145
+ permissionMode: string;
146
+ apiKeySource: string;
147
+ }
148
+ export interface ConversationListQuery {
149
+ projectPath?: string;
150
+ limit?: number;
151
+ offset?: number;
152
+ sortBy?: 'created' | 'updated';
153
+ order?: 'asc' | 'desc';
154
+ hasContinuation?: boolean;
155
+ archived?: boolean;
156
+ pinned?: boolean;
157
+ }
158
+ export interface ConversationDetailsResponse {
159
+ messages: ConversationMessage[];
160
+ summary: string;
161
+ projectPath: string;
162
+ metadata: {
163
+ totalDuration: number;
164
+ model: string;
165
+ };
166
+ toolMetrics?: ToolMetrics;
167
+ status?: 'completed' | 'ongoing' | 'pending';
168
+ streamingId?: string;
169
+ totalMessages?: number;
170
+ hasMore?: boolean;
171
+ oldestMessageId?: string;
172
+ }
173
+ export interface PermissionDecisionRequest {
174
+ action: 'approve' | 'deny';
175
+ modifiedInput?: Record<string, unknown>;
176
+ denyReason?: string;
177
+ }
178
+ export interface PermissionDecisionResponse {
179
+ success: boolean;
180
+ message?: string;
181
+ }
182
+ export interface SystemStatusResponse {
183
+ claudeVersion: string;
184
+ claudePath: string;
185
+ configPath: string;
186
+ activeConversations: number;
187
+ machineId: string;
188
+ }
189
+ export type StreamEvent = {
190
+ type: 'connected';
191
+ streaming_id: string;
192
+ timestamp: string;
193
+ } | {
194
+ type: 'permission_request';
195
+ data: PermissionRequest;
196
+ streamingId: string;
197
+ timestamp: string;
198
+ } | {
199
+ type: 'question_request';
200
+ data: QuestionRequest;
201
+ streamingId: string;
202
+ timestamp: string;
203
+ } | {
204
+ type: 'error';
205
+ error: string;
206
+ streamingId: string;
207
+ timestamp: string;
208
+ } | {
209
+ type: 'closed';
210
+ streamingId: string;
211
+ timestamp: string;
212
+ } | SystemInitMessage | AssistantStreamMessage | UserStreamMessage | ResultStreamMessage;
213
+ export declare class CUIError extends Error {
214
+ code: string;
215
+ statusCode: number;
216
+ constructor(code: string, message: string, statusCode?: number);
217
+ }
218
+ export interface FileSystemEntry {
219
+ name: string;
220
+ type: 'file' | 'directory';
221
+ size?: number;
222
+ lastModified: string;
223
+ }
224
+ export interface FileSystemListQuery {
225
+ path: string;
226
+ recursive?: boolean;
227
+ respectGitignore?: boolean;
228
+ }
229
+ export interface FileSystemListResponse {
230
+ path: string;
231
+ entries: FileSystemEntry[];
232
+ total: number;
233
+ }
234
+ export interface FileSystemReadQuery {
235
+ path: string;
236
+ }
237
+ export interface FileSystemReadResponse {
238
+ path: string;
239
+ content: string;
240
+ size: number;
241
+ lastModified: string;
242
+ encoding: string;
243
+ }
244
+ export interface SessionInfo {
245
+ custom_name: string;
246
+ created_at: string;
247
+ updated_at: string;
248
+ version: number;
249
+ pinned: boolean;
250
+ archived: boolean;
251
+ continuation_session_id: string;
252
+ initial_commit_head: string;
253
+ permission_mode: string;
254
+ identity_image?: string;
255
+ }
256
+ export interface SessionRenameRequest {
257
+ customName: string;
258
+ }
259
+ export interface SessionRenameResponse {
260
+ success: boolean;
261
+ sessionId: string;
262
+ customName: string;
263
+ }
264
+ export interface SessionUpdateRequest {
265
+ customName?: string;
266
+ pinned?: boolean;
267
+ archived?: boolean;
268
+ continuationSessionId?: string;
269
+ initialCommitHead?: string;
270
+ permissionMode?: string;
271
+ }
272
+ export interface SessionUpdateResponse {
273
+ success: boolean;
274
+ sessionId: string;
275
+ updatedFields: SessionInfo;
276
+ }
277
+ export interface Notification {
278
+ title: string;
279
+ message: string;
280
+ priority: 'min' | 'low' | 'default' | 'high' | 'urgent';
281
+ tags: string[];
282
+ sessionId: string;
283
+ streamingId: string;
284
+ permissionRequestId?: string;
285
+ }
286
+ export interface WorkingDirectory {
287
+ path: string;
288
+ shortname: string;
289
+ lastDate: string;
290
+ conversationCount: number;
291
+ }
292
+ export interface WorkingDirectoriesResponse {
293
+ directories: WorkingDirectory[];
294
+ totalCount: number;
295
+ }
296
+ export interface Command {
297
+ name: string;
298
+ type: 'builtin' | 'custom';
299
+ description?: string;
300
+ }
301
+ export interface CommandsResponse {
302
+ commands: Command[];
303
+ }
304
+ export interface GeminiHealthResponse {
305
+ status: 'healthy' | 'unhealthy';
306
+ message: string;
307
+ apiKeyValid: boolean;
308
+ }
309
+ export interface GeminiTranscribeRequest {
310
+ audio: string;
311
+ mimeType: string;
312
+ }
313
+ export interface GeminiTranscribeResponse {
314
+ text: string;
315
+ }
316
+ export interface GeminiSummarizeRequest {
317
+ text: string;
318
+ }
319
+ export interface GeminiSummarizeResponse {
320
+ title: string;
321
+ keypoints: string[];
322
+ }
323
+ export * from './config.js';
324
+ export * from './router-config.js';
325
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ // Re-export all insight-related types from canonical source
2
+ export * from './insights.js';
3
+ // Re-export license types
4
+ export * from './license.js';
5
+ // Error types
6
+ export class CUIError extends Error {
7
+ code;
8
+ statusCode;
9
+ constructor(code, message, statusCode = 500) {
10
+ super(message);
11
+ this.code = code;
12
+ this.statusCode = statusCode;
13
+ this.name = 'CUIError';
14
+ }
15
+ }
16
+ export * from './config.js';
17
+ export * from './router-config.js';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAGA,4DAA4D;AAC5D,cAAc,eAAe,CAAC;AAE9B,0BAA0B;AAC1B,cAAc,cAAc,CAAC;AAkO7B,cAAc;AACd,MAAM,OAAO,QAAS,SAAQ,KAAK;IACd;IAAsC;IAAzD,YAAmB,IAAY,EAAE,OAAe,EAAS,aAAqB,GAAG;QAC/E,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,SAAI,GAAJ,IAAI,CAAQ;QAA0B,eAAU,GAAV,UAAU,CAAc;QAE/E,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAyID,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC"}