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,99 @@
1
+ /** Todo item extracted from Claude's TodoWrite tool calls */
2
+ export interface TodoItem {
3
+ content: string;
4
+ status: 'pending' | 'in_progress' | 'completed';
5
+ activeForm?: string;
6
+ }
7
+ /** Progress metrics computed from todos */
8
+ export interface SessionProgress {
9
+ completed: number;
10
+ inProgress: number;
11
+ pending: number;
12
+ total: number;
13
+ percent: number;
14
+ }
15
+ /** Progress milestone with status (V8 adds on_hold and superseded) */
16
+ export interface SessionMilestone {
17
+ label: string;
18
+ status: 'done' | 'current' | 'pending' | 'in_progress' | 'on_hold' | 'superseded';
19
+ }
20
+ /** Identity & Context - What is this session about? */
21
+ export interface SessionContext {
22
+ project: string;
23
+ area: string | null;
24
+ mission: string;
25
+ scope: 'minor' | 'feature' | 'major';
26
+ }
27
+ /** Notable events - the interesting stuff that happened (V8 adds icon and text) */
28
+ export interface SessionEvent {
29
+ type: 'error' | 'fix' | 'blocker' | 'correction' | 'decision' | 'breakthrough' | 'iteration' | 'insight' | 'pivot' | 'infrastructure' | 'refinement' | 'validation';
30
+ description?: string;
31
+ text?: string;
32
+ icon?: string;
33
+ }
34
+ /** Themes & Tags - quick categorization */
35
+ export interface SessionTags {
36
+ workType: ('implementing' | 'debugging' | 'refactoring' | 'exploring' | 'designing')[];
37
+ domain: string[];
38
+ collaboration: 'autonomous' | 'iterative' | 'guided';
39
+ complexity: 'routine' | 'tricky' | 'gnarly';
40
+ }
41
+ /** Item within a panel - can have an icon */
42
+ export interface SessionPanelItem {
43
+ text: string;
44
+ icon?: string;
45
+ }
46
+ /** Current state of the session - what's happening right now */
47
+ export interface SessionCurrentState {
48
+ icon: string;
49
+ color: 'sky' | 'purple' | 'rose' | 'orange' | 'emerald' | 'amber' | 'red' | 'teal' | 'blue' | 'fuchsia' | 'slate';
50
+ content: string;
51
+ }
52
+ /** Dynamic panel - Opus designs what's relevant to show
53
+ *
54
+ * Supports two formats:
55
+ * - Old format: {title, items[], content, icon, color}
56
+ * - V8 format: {label, value, icon (emoji), color}
57
+ */
58
+ export interface SessionPanel {
59
+ title?: string;
60
+ items?: (string | SessionPanelItem)[];
61
+ content?: string;
62
+ label?: string;
63
+ value?: string;
64
+ icon?: string;
65
+ color?: 'sky' | 'purple' | 'rose' | 'orange' | 'emerald' | 'amber' | 'red' | 'teal' | 'blue' | 'fuchsia' | 'slate';
66
+ }
67
+ /** Full session insights extracted by Opus (LLM extraction result) */
68
+ export interface ExtractedSessionInsights {
69
+ context: SessionContext;
70
+ currentState: SessionCurrentState;
71
+ milestones: SessionMilestone[];
72
+ notable: SessionEvent[];
73
+ tags: SessionTags;
74
+ recentActions: string[];
75
+ panels: SessionPanel[];
76
+ theme: string;
77
+ }
78
+ /** Session insights as stored and returned by API */
79
+ export interface SessionInsights {
80
+ sessionId: string;
81
+ context: SessionContext | null;
82
+ currentState: SessionCurrentState | null;
83
+ lastPatchTraceId?: string | null;
84
+ milestones: SessionMilestone[];
85
+ notable: SessionEvent[];
86
+ tags: SessionTags | null;
87
+ recentActions: string[];
88
+ panels: SessionPanel[];
89
+ theme: string | null;
90
+ purposes: string[];
91
+ description: string | null;
92
+ progress: SessionProgress | null;
93
+ recentlyCompleted: string[];
94
+ outstanding: string[];
95
+ currentTask: string | null;
96
+ computedAt?: string;
97
+ patchedAt?: string;
98
+ }
99
+ //# sourceMappingURL=insights.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.d.ts","sourceRoot":"","sources":["../../src/types/insights.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ // ============================================================
2
+ // Session Insights Types (Canonical Source)
3
+ // ============================================================
4
+ // All insight-related types consolidated here. Do NOT duplicate
5
+ // these in service files or frontend - import from @/types instead.
6
+ export {};
7
+ //# sourceMappingURL=insights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/types/insights.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,4CAA4C;AAC5C,+DAA+D;AAC/D,gEAAgE;AAChE,oEAAoE"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * License types for Claudia
3
+ */
4
+ export type LicenseTier = 'free' | 'beta' | 'pro';
5
+ /**
6
+ * JWT payload for license tokens
7
+ */
8
+ export interface LicenseTokenPayload {
9
+ /** Email address */
10
+ email: string;
11
+ /** License tier */
12
+ tier: LicenseTier;
13
+ /** Issued at (Unix timestamp) */
14
+ iat: number;
15
+ /** Expiration (Unix timestamp), undefined for lifetime */
16
+ exp?: number;
17
+ }
18
+ export interface License {
19
+ /**
20
+ * JWT token string
21
+ */
22
+ token: string;
23
+ /**
24
+ * Decoded email from token
25
+ */
26
+ email: string;
27
+ /**
28
+ * License tier from token
29
+ */
30
+ tier: LicenseTier;
31
+ /**
32
+ * Expiration date (ISO 8601)
33
+ * null for lifetime licenses
34
+ */
35
+ expiresAt: string | null;
36
+ /**
37
+ * When this license was activated locally
38
+ */
39
+ activatedAt: string;
40
+ }
41
+ export interface LicenseValidationResult {
42
+ /**
43
+ * Whether the license is valid
44
+ */
45
+ valid: boolean;
46
+ /**
47
+ * The license tier (free if no valid license)
48
+ */
49
+ tier: LicenseTier;
50
+ /**
51
+ * License details (null if free tier)
52
+ */
53
+ license: License | null;
54
+ /**
55
+ * Validation error message (if invalid)
56
+ */
57
+ error?: string;
58
+ }
59
+ export interface LicenseLimits {
60
+ /**
61
+ * Maximum concurrent sessions
62
+ * null = unlimited
63
+ */
64
+ maxSessions: number | null;
65
+ /**
66
+ * Whether insights are enabled
67
+ */
68
+ insightsEnabled: boolean;
69
+ }
70
+ //# sourceMappingURL=license.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.d.ts","sourceRoot":"","sources":["../../src/types/license.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;;OAGG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * License types for Claudia
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=license.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license.js","sourceRoot":"","sources":["../../src/types/license.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,13 @@
1
+ export interface RouterProvider {
2
+ name: string;
3
+ api_base_url: string;
4
+ api_key: string;
5
+ models: string[];
6
+ transformer?: Record<string, unknown>;
7
+ }
8
+ export interface RouterConfiguration {
9
+ enabled: boolean;
10
+ providers: RouterProvider[];
11
+ rules: Record<string, string>;
12
+ }
13
+ //# sourceMappingURL=router-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-config.d.ts","sourceRoot":"","sources":["../../src/types/router-config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,cAAc,EAAE,CAAC;IAE5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=router-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router-config.js","sourceRoot":"","sources":["../../src/types/router-config.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Application branding constants
3
+ * Change these to rebrand the entire application
4
+ */
5
+ export declare const APP_NAME = "claudia";
6
+ export declare const APP_DISPLAY_NAME = "Claudia";
7
+ /**
8
+ * Config directory: ~/.claudia/
9
+ * Contains: config.json, session-info.db, license.json, etc.
10
+ */
11
+ export declare const CONFIG_DIR_NAME = ".claudia";
12
+ export declare const CONFIG_DIR: string;
13
+ /**
14
+ * Socket path for daemon IPC
15
+ */
16
+ export declare const DAEMON_SOCKET_PATH = "/tmp/claudia-daemon.sock";
17
+ /**
18
+ * Notification topic prefix for ntfy.sh
19
+ */
20
+ export declare const NOTIFICATION_TOPIC_PREFIX = "claudia";
21
+ /**
22
+ * MCP server names
23
+ */
24
+ export declare const MCP_PERMISSIONS_SERVER_NAME = "claudia-permissions";
25
+ export declare const MCP_ORCHESTRATOR_SERVER_NAME = "claudia-orchestrator";
26
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,eAAO,MAAM,QAAQ,YAAY,CAAC;AAClC,eAAO,MAAM,gBAAgB,YAAY,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,eAAe,aAAiB,CAAC;AAC9C,eAAO,MAAM,UAAU,QAA2C,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,kBAAkB,6BAAiC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,yBAAyB,YAAW,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,2BAA2B,wBAA4B,CAAC;AACrE,eAAO,MAAM,4BAA4B,yBAA6B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import path from 'path';
2
+ import os from 'os';
3
+ /**
4
+ * Application branding constants
5
+ * Change these to rebrand the entire application
6
+ */
7
+ export const APP_NAME = 'claudia';
8
+ export const APP_DISPLAY_NAME = 'Claudia';
9
+ /**
10
+ * Config directory: ~/.claudia/
11
+ * Contains: config.json, session-info.db, license.json, etc.
12
+ */
13
+ export const CONFIG_DIR_NAME = `.${APP_NAME}`;
14
+ export const CONFIG_DIR = path.join(os.homedir(), CONFIG_DIR_NAME);
15
+ /**
16
+ * Socket path for daemon IPC
17
+ */
18
+ export const DAEMON_SOCKET_PATH = `/tmp/${APP_NAME}-daemon.sock`;
19
+ /**
20
+ * Notification topic prefix for ntfy.sh
21
+ */
22
+ export const NOTIFICATION_TOPIC_PREFIX = APP_NAME;
23
+ /**
24
+ * MCP server names
25
+ */
26
+ export const MCP_PERMISSIONS_SERVER_NAME = `${APP_NAME}-permissions`;
27
+ export const MCP_ORCHESTRATOR_SERVER_NAME = `${APP_NAME}-orchestrator`;
28
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAClC,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,QAAQ,EAAE,CAAC;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,CAAC,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,QAAQ,cAAc,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,QAAQ,cAAc,CAAC;AACrE,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,QAAQ,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Generate a machine ID based on hostname and MAC address
3
+ * Format: {hostname}-{16char_hash}
4
+ * Example: "wenbomacbook-a1b2c3d4e5f6g7h8"
5
+ */
6
+ export declare function generateMachineId(): Promise<string>;
7
+ //# sourceMappingURL=machine-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-id.d.ts","sourceRoot":"","sources":["../../src/utils/machine-id.ts"],"names":[],"mappings":"AA0DA;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAkBzD"}
@@ -0,0 +1,76 @@
1
+ import os from 'os';
2
+ import crypto from 'crypto';
3
+ import { exec } from 'child_process';
4
+ import { promisify } from 'util';
5
+ const execAsync = promisify(exec);
6
+ /**
7
+ * Get the primary network interface MAC address
8
+ * On macOS, this is typically en0
9
+ * On Linux, this is typically eth0, eno1, or enp0s*
10
+ */
11
+ async function getPrimaryMacAddress() {
12
+ try {
13
+ // Platform-specific commands to get MAC address
14
+ let command;
15
+ const platform = os.platform();
16
+ if (platform === 'darwin') {
17
+ // macOS: Get en0 MAC address (primary network interface)
18
+ command = 'ifconfig en0 | grep ether | awk \'{print $2}\'';
19
+ }
20
+ else if (platform === 'linux') {
21
+ // Linux: Try common interface names
22
+ command = 'ip link show | grep -E "eno1|eth0|enp0s[0-9]+" -A1 | grep link/ether | head -1 | awk \'{print $2}\'';
23
+ }
24
+ else if (platform === 'win32') {
25
+ // Windows: Get first physical adapter MAC
26
+ command = 'wmic nic where "PhysicalAdapter=TRUE" get MACAddress | findstr /r "[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]" | head -1';
27
+ }
28
+ else {
29
+ throw new Error(`Unsupported platform: ${platform}`);
30
+ }
31
+ const { stdout } = await execAsync(command);
32
+ const mac = stdout.trim();
33
+ if (!mac) {
34
+ throw new Error('No MAC address found');
35
+ }
36
+ return mac;
37
+ }
38
+ catch (_error) {
39
+ // Fallback: Use os.networkInterfaces()
40
+ const interfaces = os.networkInterfaces();
41
+ for (const name of Object.keys(interfaces)) {
42
+ const iface = interfaces[name];
43
+ if (!iface)
44
+ continue;
45
+ for (const info of iface) {
46
+ // Skip internal (loopback) interfaces
47
+ if (!info.internal && info.mac && info.mac !== '00:00:00:00:00:00') {
48
+ return info.mac;
49
+ }
50
+ }
51
+ }
52
+ throw new Error('Unable to determine MAC address');
53
+ }
54
+ }
55
+ /**
56
+ * Generate a machine ID based on hostname and MAC address
57
+ * Format: {hostname}-{16char_hash}
58
+ * Example: "wenbomacbook-a1b2c3d4e5f6g7h8"
59
+ */
60
+ export async function generateMachineId() {
61
+ // Get hostname (lowercase) and sanitize it
62
+ // Remove dots and other special characters, keeping only alphanumeric and hyphens
63
+ const hostname = os.hostname()
64
+ .toLowerCase()
65
+ .replace(/[^a-z0-9-]/g, '');
66
+ // Get MAC address
67
+ const macAddress = await getPrimaryMacAddress();
68
+ // Generate SHA256 hash of MAC address
69
+ const hash = crypto
70
+ .createHash('sha256')
71
+ .update(macAddress.toLowerCase())
72
+ .digest('hex')
73
+ .substring(0, 16); // Take first 16 characters
74
+ return `${hostname}-${hash}`;
75
+ }
76
+ //# sourceMappingURL=machine-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-id.js","sourceRoot":"","sources":["../../src/utils/machine-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;;;GAIG;AACH,KAAK,UAAU,oBAAoB;IACjC,IAAI,CAAC;QACH,gDAAgD;QAChD,IAAI,OAAe,CAAC;QACpB,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;QAE/B,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,yDAAyD;YACzD,OAAO,GAAG,gDAAgD,CAAC;QAC7D,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,oCAAoC;YACpC,OAAO,GAAG,qGAAqG,CAAC;QAClH,CAAC;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAChC,0CAA0C;YAC1C,OAAO,GAAG,iHAAiH,CAAC;QAC9H,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAE1B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,uCAAuC;QACvC,MAAM,UAAU,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,sCAAsC;gBACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,mBAAmB,EAAE,CAAC;oBACnE,OAAO,IAAI,CAAC,GAAG,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,2CAA2C;IAC3C,kFAAkF;IAClF,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE;SAC3B,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAE9B,kBAAkB;IAClB,MAAM,UAAU,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAEhD,sCAAsC;IACtC,MAAM,IAAI,GAAG,MAAM;SAChB,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;SAChC,MAAM,CAAC,KAAK,CAAC;SACb,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,2BAA2B;IAEhD,OAAO,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Logger } from '../services/logger.js';
2
+ export interface ServerStartupOptions {
3
+ host: string;
4
+ port: number;
5
+ authToken?: string;
6
+ skipAuthToken?: boolean;
7
+ logger: Logger;
8
+ }
9
+ /**
10
+ * Display server startup information with rocket emoji and open browser
11
+ */
12
+ export declare function displayServerStartup(options: ServerStartupOptions): void;
13
+ //# sourceMappingURL=server-startup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-startup.d.ts","sourceRoot":"","sources":["../../src/utils/server-startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAexE"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Display server startup information with rocket emoji and open browser
3
+ */
4
+ export function displayServerStartup(options) {
5
+ const { host, port, authToken, skipAuthToken, logger } = options;
6
+ const serverUrl = `http://${host}:${port}`;
7
+ let authUrl = `http://localhost:${port}#token=${authToken}`;
8
+ if (host !== '0.0.0.0') {
9
+ authUrl = `http://${host}:${port}#token=${authToken}`;
10
+ }
11
+ if (!skipAuthToken && authToken) {
12
+ logger.info(`🚀 Server listening on ${serverUrl}`);
13
+ logger.info(`🔗 Access with auth token: ${authUrl}`);
14
+ }
15
+ else {
16
+ logger.info(`🚀 Server listening on ${serverUrl}`);
17
+ logger.info('Authentication is disabled (--skip-auth-token)');
18
+ }
19
+ }
20
+ //# sourceMappingURL=server-startup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-startup.js","sourceRoot":"","sources":["../../src/utils/server-startup.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA6B;IAChE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IACjE,MAAM,SAAS,GAAG,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC;IAC3C,IAAI,OAAO,GAAG,oBAAoB,IAAI,UAAU,SAAS,EAAE,CAAC;IAC5D,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,GAAG,UAAU,IAAI,IAAI,IAAI,UAAU,SAAS,EAAE,CAAC;IACxD,CAAC;IAED,IAAI,CAAC,aAAa,IAAI,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;IACvD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}