@antelopejs/dms-ai 0.0.6 → 0.1.1-next.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 (237) hide show
  1. package/README.md +83 -2
  2. package/dist/config.d.ts +7 -0
  3. package/dist/config.js +33 -0
  4. package/dist/config.js.map +1 -0
  5. package/dist/constants/sidecar.d.ts +2 -0
  6. package/dist/constants/sidecar.js +3 -1
  7. package/dist/constants/sidecar.js.map +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.js +6 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/lifecycle/spawn-sidecar.d.ts +1 -0
  12. package/dist/lifecycle/spawn-sidecar.js +9 -0
  13. package/dist/lifecycle/spawn-sidecar.js.map +1 -1
  14. package/dist/routes/settings.d.ts +7 -0
  15. package/dist/routes/settings.js +2 -0
  16. package/dist/routes/settings.js.map +1 -1
  17. package/frontend-vue/app/components/SettingsView.vue +85 -3
  18. package/frontend-vue/app/runtime/constants.ts +0 -1
  19. package/package.json +11 -1
  20. package/sidecar/chatbox/dist/assets/index-CEZ1NLp9.js +52 -0
  21. package/sidecar/chatbox/dist/assets/{index-pP_KOHIn.css → index-D_51Vqqk.css} +1 -1
  22. package/sidecar/chatbox/dist/index.html +2 -2
  23. package/sidecar/dist/agent/attachment-files.d.ts +5 -0
  24. package/sidecar/dist/agent/attachment-files.js +29 -0
  25. package/sidecar/dist/agent/attachment-files.js.map +1 -0
  26. package/sidecar/dist/agent/provider.d.ts +40 -0
  27. package/sidecar/dist/agent/provider.js +2 -0
  28. package/sidecar/dist/agent/provider.js.map +1 -0
  29. package/sidecar/dist/agent/{claude-runner.d.ts → runner.d.ts} +8 -11
  30. package/sidecar/dist/agent/runner.js +71 -0
  31. package/sidecar/dist/agent/runner.js.map +1 -0
  32. package/sidecar/dist/agent/session.d.ts +22 -0
  33. package/sidecar/dist/agent/{claude-session.js → session.js} +39 -47
  34. package/sidecar/dist/agent/session.js.map +1 -0
  35. package/sidecar/dist/agent/switching-runner.d.ts +6 -0
  36. package/sidecar/dist/agent/switching-runner.js +58 -0
  37. package/sidecar/dist/agent/switching-runner.js.map +1 -0
  38. package/sidecar/dist/constants/agent.d.ts +2 -12
  39. package/sidecar/dist/constants/agent.js +2 -11
  40. package/sidecar/dist/constants/agent.js.map +1 -1
  41. package/sidecar/dist/constants/claude.d.ts +10 -0
  42. package/sidecar/dist/constants/claude.js +10 -0
  43. package/sidecar/dist/constants/claude.js.map +1 -0
  44. package/sidecar/dist/constants/cli.d.ts +2 -0
  45. package/sidecar/dist/constants/cli.js +3 -0
  46. package/sidecar/dist/constants/cli.js.map +1 -0
  47. package/sidecar/dist/constants/codex.d.ts +85 -0
  48. package/sidecar/dist/constants/codex.js +110 -0
  49. package/sidecar/dist/constants/codex.js.map +1 -0
  50. package/sidecar/dist/constants/http.d.ts +1 -0
  51. package/sidecar/dist/constants/http.js +1 -0
  52. package/sidecar/dist/constants/http.js.map +1 -1
  53. package/sidecar/dist/constants/mcp.d.ts +6 -0
  54. package/sidecar/dist/constants/mcp.js +11 -0
  55. package/sidecar/dist/constants/mcp.js.map +1 -1
  56. package/sidecar/dist/constants/pages.d.ts +0 -1
  57. package/sidecar/dist/constants/pages.js +0 -1
  58. package/sidecar/dist/constants/pages.js.map +1 -1
  59. package/sidecar/dist/constants/paths.d.ts +5 -0
  60. package/sidecar/dist/constants/paths.js +5 -0
  61. package/sidecar/dist/constants/paths.js.map +1 -1
  62. package/sidecar/dist/constants/ports.d.ts +0 -1
  63. package/sidecar/dist/constants/ports.js +0 -1
  64. package/sidecar/dist/constants/ports.js.map +1 -1
  65. package/sidecar/dist/constants/providers.d.ts +16 -0
  66. package/sidecar/dist/constants/providers.js +17 -0
  67. package/sidecar/dist/constants/providers.js.map +1 -0
  68. package/sidecar/dist/constants/settings.d.ts +1 -4
  69. package/sidecar/dist/constants/settings.js +2 -12
  70. package/sidecar/dist/constants/settings.js.map +1 -1
  71. package/sidecar/dist/constants/skills.d.ts +1 -0
  72. package/sidecar/dist/constants/skills.js +2 -0
  73. package/sidecar/dist/constants/skills.js.map +1 -0
  74. package/sidecar/dist/constants/timing.d.ts +1 -0
  75. package/sidecar/dist/constants/timing.js +1 -0
  76. package/sidecar/dist/constants/timing.js.map +1 -1
  77. package/sidecar/dist/constants/tool-lexicon.d.ts +7 -0
  78. package/sidecar/dist/constants/tool-lexicon.js +8 -0
  79. package/sidecar/dist/constants/tool-lexicon.js.map +1 -0
  80. package/sidecar/dist/index.d.ts +11 -0
  81. package/sidecar/dist/index.js +33 -8
  82. package/sidecar/dist/index.js.map +1 -1
  83. package/sidecar/dist/mcp/define-tool.d.ts +23 -0
  84. package/sidecar/dist/mcp/define-tool.js +4 -0
  85. package/sidecar/dist/mcp/define-tool.js.map +1 -0
  86. package/sidecar/dist/mcp/http-binding.d.ts +9 -0
  87. package/sidecar/dist/mcp/http-binding.js +123 -0
  88. package/sidecar/dist/mcp/http-binding.js.map +1 -0
  89. package/sidecar/dist/mcp/sdk-binding.js +14 -0
  90. package/sidecar/dist/mcp/sdk-binding.js.map +1 -0
  91. package/sidecar/dist/mcp/tool-definitions.d.ts +3 -0
  92. package/sidecar/dist/mcp/{server.js → tool-definitions.js} +2 -11
  93. package/sidecar/dist/mcp/tool-definitions.js.map +1 -0
  94. package/sidecar/dist/mcp/tools/ask-user.d.ts +1 -1
  95. package/sidecar/dist/mcp/tools/ask-user.js +2 -2
  96. package/sidecar/dist/mcp/tools/ask-user.js.map +1 -1
  97. package/sidecar/dist/mcp/tools/builder.d.ts +19 -19
  98. package/sidecar/dist/mcp/tools/builder.js +26 -26
  99. package/sidecar/dist/mcp/tools/builder.js.map +1 -1
  100. package/sidecar/dist/mcp/tools/find-pages-using.d.ts +1 -1
  101. package/sidecar/dist/mcp/tools/find-pages-using.js +2 -2
  102. package/sidecar/dist/mcp/tools/find-pages-using.js.map +1 -1
  103. package/sidecar/dist/mcp/tools/get-current-page.d.ts +1 -1
  104. package/sidecar/dist/mcp/tools/get-current-page.js +2 -2
  105. package/sidecar/dist/mcp/tools/get-current-page.js.map +1 -1
  106. package/sidecar/dist/mcp/tools/list-pages.d.ts +1 -1
  107. package/sidecar/dist/mcp/tools/list-pages.js +2 -2
  108. package/sidecar/dist/mcp/tools/list-pages.js.map +1 -1
  109. package/sidecar/dist/mcp/tools/navigate-to-page.d.ts +1 -1
  110. package/sidecar/dist/mcp/tools/navigate-to-page.js +2 -2
  111. package/sidecar/dist/mcp/tools/navigate-to-page.js.map +1 -1
  112. package/sidecar/dist/mcp/tools/query-logs.d.ts +1 -1
  113. package/sidecar/dist/mcp/tools/query-logs.js +2 -2
  114. package/sidecar/dist/mcp/tools/query-logs.js.map +1 -1
  115. package/sidecar/dist/mcp/tools/typecheck.d.ts +1 -1
  116. package/sidecar/dist/mcp/tools/typecheck.js +2 -2
  117. package/sidecar/dist/mcp/tools/typecheck.js.map +1 -1
  118. package/sidecar/dist/mcp/types.d.ts +6 -2
  119. package/sidecar/dist/protocol/events.d.ts +37 -0
  120. package/sidecar/dist/protocol/events.js +8 -0
  121. package/sidecar/dist/protocol/events.js.map +1 -1
  122. package/sidecar/dist/protocol/messages.d.ts +8 -0
  123. package/sidecar/dist/protocol/messages.js +2 -0
  124. package/sidecar/dist/protocol/messages.js.map +1 -1
  125. package/sidecar/dist/providers/claude/adapter.d.ts +5 -0
  126. package/sidecar/dist/{agent/sdk-adapter.js → providers/claude/adapter.js} +20 -1
  127. package/sidecar/dist/providers/claude/adapter.js.map +1 -0
  128. package/sidecar/dist/{agent → providers/claude}/attachments.d.ts +1 -1
  129. package/sidecar/dist/{agent → providers/claude}/attachments.js +3 -27
  130. package/sidecar/dist/providers/claude/attachments.js.map +1 -0
  131. package/sidecar/dist/providers/claude/config.d.ts +4 -0
  132. package/sidecar/dist/providers/claude/config.js +13 -0
  133. package/sidecar/dist/providers/claude/config.js.map +1 -0
  134. package/sidecar/dist/providers/claude/input-queue.js.map +1 -0
  135. package/sidecar/dist/providers/claude/module.d.ts +2 -0
  136. package/sidecar/dist/providers/claude/module.js +25 -0
  137. package/sidecar/dist/providers/claude/module.js.map +1 -0
  138. package/sidecar/dist/providers/claude/provider.d.ts +11 -0
  139. package/sidecar/dist/{agent/claude-runner.js → providers/claude/provider.js} +118 -96
  140. package/sidecar/dist/providers/claude/provider.js.map +1 -0
  141. package/sidecar/dist/{agent/resolve-claude-binary.js → providers/claude/resolve-binary.js} +3 -3
  142. package/sidecar/dist/{agent/resolve-claude-binary.js.map → providers/claude/resolve-binary.js.map} +1 -1
  143. package/sidecar/dist/providers/claude/sdk-loader.js +16 -0
  144. package/sidecar/dist/providers/claude/sdk-loader.js.map +1 -0
  145. package/sidecar/dist/providers/codex/adapter.d.ts +7 -0
  146. package/sidecar/dist/providers/codex/adapter.js +147 -0
  147. package/sidecar/dist/providers/codex/adapter.js.map +1 -0
  148. package/sidecar/dist/providers/codex/attachments.d.ts +7 -0
  149. package/sidecar/dist/providers/codex/attachments.js +73 -0
  150. package/sidecar/dist/providers/codex/attachments.js.map +1 -0
  151. package/sidecar/dist/providers/codex/client.d.ts +34 -0
  152. package/sidecar/dist/providers/codex/client.js +128 -0
  153. package/sidecar/dist/providers/codex/client.js.map +1 -0
  154. package/sidecar/dist/providers/codex/config.d.ts +34 -0
  155. package/sidecar/dist/providers/codex/config.js +111 -0
  156. package/sidecar/dist/providers/codex/config.js.map +1 -0
  157. package/sidecar/dist/providers/codex/event-stream.d.ts +8 -0
  158. package/sidecar/dist/providers/codex/event-stream.js +53 -0
  159. package/sidecar/dist/providers/codex/event-stream.js.map +1 -0
  160. package/sidecar/dist/providers/codex/module.d.ts +2 -0
  161. package/sidecar/dist/providers/codex/module.js +54 -0
  162. package/sidecar/dist/providers/codex/module.js.map +1 -0
  163. package/sidecar/dist/providers/codex/permissions.d.ts +21 -0
  164. package/sidecar/dist/providers/codex/permissions.js +77 -0
  165. package/sidecar/dist/providers/codex/permissions.js.map +1 -0
  166. package/sidecar/dist/providers/codex/process.d.ts +23 -0
  167. package/sidecar/dist/providers/codex/process.js +208 -0
  168. package/sidecar/dist/providers/codex/process.js.map +1 -0
  169. package/sidecar/dist/providers/codex/protocol/common.d.ts +59 -0
  170. package/sidecar/dist/providers/codex/protocol/common.js +2 -0
  171. package/sidecar/dist/providers/codex/protocol/common.js.map +1 -0
  172. package/sidecar/dist/providers/codex/protocol/index.d.ts +3 -0
  173. package/sidecar/dist/providers/codex/protocol/index.js +3 -0
  174. package/sidecar/dist/providers/codex/protocol/index.js.map +1 -0
  175. package/sidecar/dist/providers/codex/protocol/serde_json.d.ts +3 -0
  176. package/sidecar/dist/providers/codex/protocol/serde_json.js +2 -0
  177. package/sidecar/dist/providers/codex/protocol/serde_json.js.map +1 -0
  178. package/sidecar/dist/providers/codex/protocol/v2.d.ts +481 -0
  179. package/sidecar/dist/providers/codex/protocol/v2.js +2 -0
  180. package/sidecar/dist/providers/codex/protocol/v2.js.map +1 -0
  181. package/sidecar/dist/providers/codex/provider.d.ts +14 -0
  182. package/sidecar/dist/providers/codex/provider.js +225 -0
  183. package/sidecar/dist/providers/codex/provider.js.map +1 -0
  184. package/sidecar/dist/providers/codex/resolve-binary.d.ts +10 -0
  185. package/sidecar/dist/providers/codex/resolve-binary.js +80 -0
  186. package/sidecar/dist/providers/codex/resolve-binary.js.map +1 -0
  187. package/sidecar/dist/providers/codex/skills.d.ts +10 -0
  188. package/sidecar/dist/providers/codex/skills.js +42 -0
  189. package/sidecar/dist/providers/codex/skills.js.map +1 -0
  190. package/sidecar/dist/providers/registry.d.ts +7 -0
  191. package/sidecar/dist/providers/registry.js +31 -0
  192. package/sidecar/dist/providers/registry.js.map +1 -0
  193. package/sidecar/dist/providers/types.d.ts +25 -0
  194. package/sidecar/dist/providers/types.js +5 -0
  195. package/sidecar/dist/providers/types.js.map +1 -0
  196. package/sidecar/dist/server/http.d.ts +2 -0
  197. package/sidecar/dist/server/http.js +26 -12
  198. package/sidecar/dist/server/http.js.map +1 -1
  199. package/sidecar/dist/server/routing.d.ts +4 -4
  200. package/sidecar/dist/server/routing.js +7 -1
  201. package/sidecar/dist/server/routing.js.map +1 -1
  202. package/sidecar/dist/server/ws.d.ts +2 -0
  203. package/sidecar/dist/server/ws.js +40 -17
  204. package/sidecar/dist/server/ws.js.map +1 -1
  205. package/sidecar/dist/skills/build-catalog.d.ts +2 -0
  206. package/sidecar/dist/skills/build-catalog.js +12 -1
  207. package/sidecar/dist/skills/build-catalog.js.map +1 -1
  208. package/sidecar/dist/state/conversations.d.ts +3 -1
  209. package/sidecar/dist/state/conversations.js +20 -0
  210. package/sidecar/dist/state/conversations.js.map +1 -1
  211. package/sidecar/dist/state/safe-segment.d.ts +1 -0
  212. package/sidecar/dist/state/safe-segment.js +17 -0
  213. package/sidecar/dist/state/safe-segment.js.map +1 -0
  214. package/sidecar/dist/state/settings-store.js +7 -0
  215. package/sidecar/dist/state/settings-store.js.map +1 -1
  216. package/sidecar/dist/state/settings-types.d.ts +2 -0
  217. package/sidecar/dist/state/settings-types.js.map +1 -1
  218. package/sidecar/dist/state/types.d.ts +11 -0
  219. package/sidecar/dist/state/types.js +7 -0
  220. package/sidecar/dist/state/types.js.map +1 -1
  221. package/sidecar/package.json +3 -0
  222. package/sidecar/chatbox/dist/assets/index-Cy2BwTG0.js +0 -50
  223. package/sidecar/dist/agent/attachments.js.map +0 -1
  224. package/sidecar/dist/agent/claude-runner.js.map +0 -1
  225. package/sidecar/dist/agent/claude-session.d.ts +0 -18
  226. package/sidecar/dist/agent/claude-session.js.map +0 -1
  227. package/sidecar/dist/agent/input-queue.js.map +0 -1
  228. package/sidecar/dist/agent/sdk-adapter.d.ts +0 -3
  229. package/sidecar/dist/agent/sdk-adapter.js.map +0 -1
  230. package/sidecar/dist/agent/sdk-loader.js +0 -14
  231. package/sidecar/dist/agent/sdk-loader.js.map +0 -1
  232. package/sidecar/dist/mcp/server.js.map +0 -1
  233. /package/sidecar/dist/mcp/{server.d.ts → sdk-binding.d.ts} +0 -0
  234. /package/sidecar/dist/{agent → providers/claude}/input-queue.d.ts +0 -0
  235. /package/sidecar/dist/{agent → providers/claude}/input-queue.js +0 -0
  236. /package/sidecar/dist/{agent/resolve-claude-binary.d.ts → providers/claude/resolve-binary.d.ts} +0 -0
  237. /package/sidecar/dist/{agent → providers/claude}/sdk-loader.d.ts +0 -0
@@ -1,8 +1,8 @@
1
1
  import type { WebSocket } from "ws";
2
- import type { ClaudeRunner } from "../agent/claude-runner.js";
3
2
  import { type EditTracker } from "../agent/edit-tracker.js";
4
3
  import type { PermissionBus } from "../agent/permission-bus.js";
5
4
  import type { QuestionBus } from "../agent/question-bus.js";
5
+ import type { AgentRunner } from "../agent/runner.js";
6
6
  import type { LogsClient } from "../logs/logs-client.js";
7
7
  import type { AiMcpServer } from "../mcp/types.js";
8
8
  import type { ConversationStore } from "../state/conversations.js";
@@ -18,7 +18,7 @@ import type { PendingQueueStore } from "./pending-queue.js";
18
18
  export interface ConnectionContext {
19
19
  path: string;
20
20
  hostProjectRoot: string;
21
- runner: ClaudeRunner;
21
+ runner: AgentRunner;
22
22
  conversationStore: ConversationStore;
23
23
  permissionBus: PermissionBus;
24
24
  questionBus: QuestionBus;
@@ -48,7 +48,7 @@ export interface RoutingConfig {
48
48
  moduleRoots: string[];
49
49
  navigationCompleter: NavigationCompleter;
50
50
  idleController: IdleShutdownController;
51
- runner: ClaudeRunner;
51
+ runner: AgentRunner;
52
52
  liveTurns: LiveTurnStore;
53
53
  pendingQueue: PendingQueueStore;
54
54
  settingsStore: SettingsStore;
@@ -56,7 +56,7 @@ export interface RoutingConfig {
56
56
  export interface SettingsApplyDeps {
57
57
  settingsStore: SettingsStore;
58
58
  permissionBus: PermissionBus;
59
- runner: ClaudeRunner;
59
+ runner: AgentRunner;
60
60
  iframeSocketRegistry: IframeSocketRegistry;
61
61
  }
62
62
  export declare function applySettings(deps: SettingsApplyDeps, next: AppSettings): void;
@@ -7,6 +7,7 @@ import { MAX_AUTO_HEAL_ATTEMPTS } from "../constants/safety-net.js";
7
7
  import { WS_LOG_PREFIX } from "../constants/ws.js";
8
8
  import { EVENT_TYPES, STATUS, } from "../protocol/events.js";
9
9
  import { AnyClientMessage, MESSAGE_TYPES, ROLE, } from "../protocol/messages.js";
10
+ import { getProviderAvailability } from "../providers/registry.js";
10
11
  import { collectBuildIssues } from "./safety-net.js";
11
12
  function buildSnapshotEvent(conversationId, messages) {
12
13
  return {
@@ -42,6 +43,7 @@ function buildSettingsUpdateEvent(ctx) {
42
43
  type: EVENT_TYPES.SETTINGS_UPDATE,
43
44
  settings: ctx.settingsStore.get(),
44
45
  builderAvailable: getBuilderAvailable(),
46
+ providers: getProviderAvailability(),
45
47
  };
46
48
  }
47
49
  function sendSettings(socket, ctx) {
@@ -233,6 +235,7 @@ function recordEditIfAny(ctx, conversationId, ev) {
233
235
  }
234
236
  async function streamTurn(ctx, conversationId, content, attachments) {
235
237
  ctx.liveTurns.begin(conversationId);
238
+ ctx.conversationStore.markProvider(conversationId, ctx.settingsStore.get().provider);
236
239
  try {
237
240
  const stream = ctx.runner.start(content, {
238
241
  conversationId,
@@ -240,8 +243,9 @@ async function streamTurn(ctx, conversationId, content, attachments) {
240
243
  getCurrentPage: () => ctx.hostState.getCurrentPage(),
241
244
  attachments,
242
245
  permissionBus: ctx.permissionBus,
243
- mcpServer: ctx.createMcpServer(conversationId),
246
+ createMcpServer: () => ctx.createMcpServer(conversationId),
244
247
  onPermissionDecision: (toolName, decision) => persistPermissionDecision(ctx, conversationId, toolName, decision),
248
+ onTokenUsage: (usage) => ctx.conversationStore.addTokenUsage(conversationId, usage),
245
249
  });
246
250
  for await (const ev of stream) {
247
251
  recordEditIfAny(ctx, conversationId, ev);
@@ -462,12 +466,14 @@ export function applySettings(deps, next) {
462
466
  type: EVENT_TYPES.SETTINGS_UPDATE,
463
467
  settings: next,
464
468
  builderAvailable: getBuilderAvailable(),
469
+ providers: getProviderAvailability(),
465
470
  });
466
471
  }
467
472
  function handleSetSettings(_socket, msg, ctx) {
468
473
  if (msg.type !== MESSAGE_TYPES.SET_SETTINGS)
469
474
  return;
470
475
  applySettings(ctx, {
476
+ provider: msg.provider ?? ctx.settingsStore.get().provider,
471
477
  mode: msg.mode,
472
478
  thinking: msg.thinking,
473
479
  generationMode: msg.generationMode,
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/server/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/server/routing.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Server } from "node:http";
2
2
  import { type PermissionBus } from "../agent/permission-bus.js";
3
3
  import type { AiMcpServerStaticDeps } from "../mcp/types.js";
4
+ import type { ProviderHostRuntime } from "../providers/types.js";
4
5
  import type { SkillSource } from "../skills/types.js";
5
6
  import type { ConversationStore } from "../state/conversations.js";
6
7
  import type { HostState } from "../state/host-state.js";
@@ -18,6 +19,7 @@ export interface AttachWsServerOptions {
18
19
  conversationStore: ConversationStore;
19
20
  settingsStore?: SettingsStore;
20
21
  mcpDeps: AiMcpServerStaticDeps;
22
+ providerRuntime: ProviderHostRuntime;
21
23
  hostState: HostState;
22
24
  hostSocketRegistry: HostSocketRegistry;
23
25
  navigationCompleter: NavigationCompleter;
@@ -1,20 +1,23 @@
1
1
  import { WebSocketServer } from "ws";
2
- import { createClaudeRunner } from "../agent/claude-runner.js";
3
2
  import { createEditTracker } from "../agent/edit-tracker.js";
4
3
  import { createPermissionBus, } from "../agent/permission-bus.js";
5
4
  import { createQuestionBus, } from "../agent/question-bus.js";
5
+ import { createAgentRunner } from "../agent/runner.js";
6
+ import { createSwitchingRunner, } from "../agent/switching-runner.js";
6
7
  import { buildToolSummary } from "../agent/tool-summary.js";
7
8
  import { WS_MAX_PAYLOAD_BYTES } from "../constants/attachments.js";
8
9
  import { DEFAULT_SETTINGS } from "../constants/settings.js";
9
10
  import { WS_LOG_PREFIX, WS_PATHS } from "../constants/ws.js";
10
- import { createAiMcpServer } from "../mcp/server.js";
11
+ import { createAiMcpServer } from "../mcp/sdk-binding.js";
11
12
  import { EVENT_TYPES, } from "../protocol/events.js";
13
+ import { PROVIDER_MODULES } from "../providers/registry.js";
14
+ import { PROVIDER_NAMES } from "../state/types.js";
15
+ import { isClientAuthorized } from "./client-auth.js";
12
16
  import { createIframeSocketRegistry, } from "./iframe-socket-registry.js";
13
17
  import { createLiveTurnStore } from "./live-turns.js";
14
18
  import { createPendingQueueStore } from "./pending-queue.js";
15
- import { applySettings, buildConnectionContext, dispatchMessage, } from "./routing.js";
16
19
  import { rawDataToText } from "./raw-data.js";
17
- import { isClientAuthorized } from "./client-auth.js";
20
+ import { applySettings, buildConnectionContext, dispatchMessage, } from "./routing.js";
18
21
  const NOOP_IDLE_CONTROLLER = {
19
22
  increment: () => { },
20
23
  decrement: () => { },
@@ -26,6 +29,26 @@ const NOOP_SETTINGS_STORE = {
26
29
  load: () => Promise.resolve(),
27
30
  flush: () => Promise.resolve(),
28
31
  };
32
+ function buildBaseOptions(options, settings) {
33
+ return {
34
+ settings,
35
+ moduleRoots: options.moduleRoots ?? [],
36
+ skillDirs: options.skillDirs ?? [],
37
+ };
38
+ }
39
+ function buildRunnerFactories(options, runtime) {
40
+ const factories = PROVIDER_NAMES.map((name) => [
41
+ name,
42
+ (settings) => createAgentRunner(PROVIDER_MODULES[name].create(buildBaseOptions(options, settings), runtime), { settings }),
43
+ ]);
44
+ return Object.fromEntries(factories);
45
+ }
46
+ function buildRunner(options, settings, createMcpDeps) {
47
+ return createSwitchingRunner(buildRunnerFactories(options, {
48
+ ...options.providerRuntime,
49
+ createMcpDeps,
50
+ }), settings);
51
+ }
29
52
  function bindConnection(socket, path, config) {
30
53
  const ctx = buildConnectionContext(socket, path, config);
31
54
  config.idleController.increment();
@@ -75,18 +98,21 @@ function buildSharedQuestionBus(iframeSocketRegistry) {
75
98
  },
76
99
  });
77
100
  }
78
- function buildMcpServerFactory(staticDeps, questionBus, editTracker) {
101
+ function buildMcpDepsFactory(staticDeps, questionBus, editTracker) {
102
+ return (conversationId) => ({
103
+ ...staticDeps,
104
+ conversationId,
105
+ requestQuestion: questionBus.requestQuestion,
106
+ getLastEditedFile: () => editTracker.getLastEditedFile(conversationId),
107
+ });
108
+ }
109
+ function buildMcpServerFactory(createMcpDeps) {
79
110
  const byConversation = new Map();
80
111
  return (conversationId) => {
81
112
  const existing = byConversation.get(conversationId);
82
113
  if (existing !== undefined)
83
114
  return existing;
84
- const server = createAiMcpServer({
85
- ...staticDeps,
86
- conversationId,
87
- requestQuestion: questionBus.requestQuestion,
88
- getLastEditedFile: () => editTracker.getLastEditedFile(conversationId),
89
- });
115
+ const server = createAiMcpServer(createMcpDeps(conversationId));
90
116
  byConversation.set(conversationId, server);
91
117
  return server;
92
118
  };
@@ -132,7 +158,8 @@ export function attachWsServer(httpServer, options) {
132
158
  const permissionBus = options.permissionBus ?? buildSharedPermissionBus(iframeSocketRegistry);
133
159
  const questionBus = buildSharedQuestionBus(iframeSocketRegistry);
134
160
  const editTracker = createEditTracker();
135
- const createMcpServer = buildMcpServerFactory(options.mcpDeps, questionBus, editTracker);
161
+ const createMcpDeps = buildMcpDepsFactory(options.mcpDeps, questionBus, editTracker);
162
+ const createMcpServer = buildMcpServerFactory(createMcpDeps);
136
163
  const settingsStore = options.settingsStore ?? NOOP_SETTINGS_STORE;
137
164
  const initialSettings = settingsStore.get();
138
165
  permissionBus.setAutoApprove(initialSettings.mode === "auto");
@@ -151,11 +178,7 @@ export function attachWsServer(httpServer, options) {
151
178
  permissionBus,
152
179
  navigationCompleter: options.navigationCompleter,
153
180
  idleController: options.idleController ?? NOOP_IDLE_CONTROLLER,
154
- runner: createClaudeRunner({
155
- settings: initialSettings,
156
- moduleRoots: options.moduleRoots ?? [],
157
- skillDirs: options.skillDirs ?? [],
158
- }),
181
+ runner: buildRunner(options, initialSettings, createMcpDeps),
159
182
  liveTurns: createLiveTurnStore(),
160
183
  pendingQueue: createPendingQueueStore(),
161
184
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../src/server/ws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws.js","sourceRoot":"","sources":["../../src/server/ws.ts"],"names":[],"mappings":"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"}
@@ -11,5 +11,7 @@ export interface SkillCatalogItem {
11
11
  }
12
12
  export interface SkillCatalog {
13
13
  items: SkillCatalogItem[];
14
+ duplicateNames: string[];
14
15
  }
16
+ export declare function findDuplicateSkillNames(items: readonly SkillCatalogItem[]): string[];
15
17
  export declare function buildSkillCatalog(sources: readonly SkillSource[]): Promise<SkillCatalog>;
@@ -32,8 +32,19 @@ async function scanDir(src) {
32
32
  }
33
33
  return items;
34
34
  }
35
+ export function findDuplicateSkillNames(items) {
36
+ const seen = new Set();
37
+ const duplicated = new Set();
38
+ for (const item of items) {
39
+ if (seen.has(item.name))
40
+ duplicated.add(item.name);
41
+ seen.add(item.name);
42
+ }
43
+ return [...duplicated];
44
+ }
35
45
  export async function buildSkillCatalog(sources) {
36
46
  const nested = await Promise.all(sources.map(scanDir));
37
- return { items: nested.flat() };
47
+ const items = nested.flat();
48
+ return { items, duplicateNames: findDuplicateSkillNames(items) };
38
49
  }
39
50
  //# sourceMappingURL=build-catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-catalog.js","sourceRoot":"","sources":["../../src/skills/build-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAkBlD,KAAK,UAAU,OAAO,CAAC,GAAgB;IACrC,IAAI,OAAmC,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QAKxB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE;YAAE,SAAS;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAG9B,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;YAClC,UAAU,EAAE,GAAG,CAAC,MAAM;YACtB,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"build-catalog.js","sourceRoot":"","sources":["../../src/skills/build-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAsBlD,KAAK,UAAU,OAAO,CAAC,GAAgB;IACrC,IAAI,OAAmC,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QAKxB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE;YAAE,SAAS;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACpD,IAAI,GAAW,CAAC;QAChB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,MAAM,KAAK,IAAI;YAAE,SAAS;QAG9B,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;YAClC,UAAU,EAAE,GAAG,CAAC,MAAM;YACtB,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAkC;IAElC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAA+B;IAE/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,uBAAuB,CAAC,KAAK,CAAC,EAAE,CAAC;AACnE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Store } from "./store.js";
2
- import type { ConversationSummary, StoredConversation, StoredMessage } from "./types.js";
2
+ import { type ConversationSummary, type ProviderName, type StoredConversation, type StoredMessage, type TokenUsage } from "./types.js";
3
3
  export interface CreateConversationStoreOptions {
4
4
  store: Store;
5
5
  }
@@ -7,6 +7,8 @@ export interface ConversationStore {
7
7
  get(conversationId: string): StoredConversation | null;
8
8
  getOrCreate(conversationId: string): StoredConversation;
9
9
  appendMessage(conversationId: string, message: StoredMessage): void;
10
+ markProvider(conversationId: string, provider: ProviderName): void;
11
+ addTokenUsage(conversationId: string, usage: TokenUsage): void;
10
12
  list(): ConversationSummary[];
11
13
  entries(): Array<{
12
14
  id: string;
@@ -1,3 +1,4 @@
1
+ import { EMPTY_TOKEN_USAGE, } from "./types.js";
1
2
  const TITLE_MAX_LENGTH = 60;
2
3
  const TITLE_FALLBACK = "New conversation";
3
4
  function buildEmptyConversation(nowMs) {
@@ -30,6 +31,23 @@ function appendToConversation(state, conversationId, message) {
30
31
  conversation.updatedAtMs = message.timestampMs;
31
32
  persistCache(state);
32
33
  }
34
+ function markProvider(state, conversationId, provider) {
35
+ const conversation = ensureConversation(state, conversationId);
36
+ if (conversation.provider === provider)
37
+ return;
38
+ conversation.provider = provider;
39
+ persistCache(state);
40
+ }
41
+ function addTokenUsage(state, conversationId, usage) {
42
+ const conversation = ensureConversation(state, conversationId);
43
+ const current = conversation.tokenUsage ?? EMPTY_TOKEN_USAGE;
44
+ conversation.tokenUsage = {
45
+ inputTokens: current.inputTokens + usage.inputTokens,
46
+ outputTokens: current.outputTokens + usage.outputTokens,
47
+ totalTokens: current.totalTokens + usage.totalTokens,
48
+ };
49
+ persistCache(state);
50
+ }
33
51
  function deriveTitle(conversation) {
34
52
  const firstUser = conversation.messages.find((m) => m.role === "user");
35
53
  if (firstUser === undefined)
@@ -83,6 +101,8 @@ export function createConversationStore(options) {
83
101
  get: (id) => getConversation(state, id),
84
102
  getOrCreate: (id) => ensureConversation(state, id),
85
103
  appendMessage: (id, message) => appendToConversation(state, id, message),
104
+ markProvider: (id, provider) => markProvider(state, id, provider),
105
+ addTokenUsage: (id, usage) => addTokenUsage(state, id, usage),
86
106
  list: () => listConversations(state),
87
107
  entries: () => listEntries(state),
88
108
  delete: (id) => deleteConversation(state, id),
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../src/state/conversations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../src/state/conversations.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,iBAAiB,GAKlB,MAAM,YAAY,CAAC;AAyBpB,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAO1C,SAAS,sBAAsB,CAAC,KAAa;IAC3C,OAAO;QACL,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,KAAK;KACnB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAiB;IAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,KAAiB;IACrC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,eAAe,CACtB,KAAiB,EACjB,cAAsB;IAEtB,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAiB,EACjB,cAAsB;IAEtB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACnD,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAiB,EACjB,cAAsB,EACtB,OAAsB;IAEtB,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC/D,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,YAAY,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC/C,YAAY,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CACnB,KAAiB,EACjB,cAAsB,EACtB,QAAsB;IAEtB,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC/D,IAAI,YAAY,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO;IAC/C,YAAY,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACjC,YAAY,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,aAAa,CACpB,KAAiB,EACjB,cAAsB,EACtB,KAAiB;IAEjB,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,IAAI,iBAAiB,CAAC;IAC7D,YAAY,CAAC,UAAU,GAAG;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;QACpD,YAAY,EAAE,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY;QACvD,WAAW,EAAE,OAAO,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW;KACrD,CAAC;IACF,YAAY,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,YAAgC;IACnD,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IACvE,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC;IACnD,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IAC7C,IAAI,IAAI,CAAC,MAAM,IAAI,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACjD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;AACzD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAiB;IAC1C,MAAM,SAAS,GAA0B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7C,SAAS,CAAC,IAAI,CAAC;YACb,EAAE;YACF,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC;YAChC,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,YAAY,EAAE,YAAY,CAAC,QAAQ,CAAC,MAAM;SAC3C,CAAC,CAAC;IACL,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAClB,KAAiB;IAEjB,MAAM,OAAO,GAIR,EAAE,CAAC;IACR,KAAK,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAiB,EAAE,cAAsB;IACnE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;QAAE,OAAO;IAChD,YAAY,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,KAAiB;IAChD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACxC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9D,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAuC;IAEvC,MAAM,KAAK,GAAe;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,KAAK,EAAE,IAAI,GAAG,EAAE;KACjB,CAAC;IACF,OAAO;QACL,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC;QACvC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC;QAClD,aAAa,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,CAAC;QACxE,YAAY,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC;QACjE,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,KAAK,CAAC;QAC7D,IAAI,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC;QACpC,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC;QACjC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC;QAC7C,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAC5C,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE;KACjC,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function safeDirSegment(raw: string): string;
@@ -0,0 +1,17 @@
1
+ import { createHash } from "node:crypto";
2
+ import { SEGMENT_FALLBACK_LABEL, SEGMENT_HASH_ALGORITHM, SEGMENT_HASH_LENGTH, SEGMENT_LABEL_MAX_LENGTH, SEGMENT_UNSAFE_CHARS, } from "../constants/paths.js";
3
+ function label(raw) {
4
+ const safe = raw.replace(SEGMENT_UNSAFE_CHARS, "_");
5
+ const trimmed = safe.slice(0, SEGMENT_LABEL_MAX_LENGTH);
6
+ return trimmed.length > 0 ? trimmed : SEGMENT_FALLBACK_LABEL;
7
+ }
8
+ function fingerprint(raw) {
9
+ return createHash(SEGMENT_HASH_ALGORITHM)
10
+ .update(raw)
11
+ .digest("hex")
12
+ .slice(0, SEGMENT_HASH_LENGTH);
13
+ }
14
+ export function safeDirSegment(raw) {
15
+ return `${label(raw)}-${fingerprint(raw)}`;
16
+ }
17
+ //# sourceMappingURL=safe-segment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-segment.js","sourceRoot":"","sources":["../../src/state/safe-segment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,SAAS,KAAK,CAAC,GAAW;IACxB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC;AAC/D,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,UAAU,CAAC,sBAAsB,CAAC;SACtC,MAAM,CAAC,GAAG,CAAC;SACX,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC;AACnC,CAAC;AAYD,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;AAC7C,CAAC"}
@@ -3,6 +3,7 @@ import { dirname } from "node:path";
3
3
  import { DEFAULT_SETTINGS, SETTINGS_LOG_PREFIX, } from "../constants/settings.js";
4
4
  import { STATE_FILE_ENCODING, STATE_JSON_INDENT } from "../constants/state.js";
5
5
  import { CHATBOX_MODES, GENERATION_MODES, THINKING_LEVELS, } from "./settings-types.js";
6
+ import { PROVIDER_NAMES } from "./types.js";
6
7
  function isMode(value) {
7
8
  return CHATBOX_MODES.includes(value);
8
9
  }
@@ -12,6 +13,9 @@ function isThinking(value) {
12
13
  function isGenerationMode(value) {
13
14
  return GENERATION_MODES.includes(value);
14
15
  }
16
+ function isProvider(value) {
17
+ return PROVIDER_NAMES.includes(value);
18
+ }
15
19
  export function parseSettings(raw) {
16
20
  try {
17
21
  const parsed = JSON.parse(raw);
@@ -19,6 +23,9 @@ export function parseSettings(raw) {
19
23
  return DEFAULT_SETTINGS;
20
24
  const candidate = parsed;
21
25
  return {
26
+ provider: isProvider(candidate.provider)
27
+ ? candidate.provider
28
+ : DEFAULT_SETTINGS.provider,
22
29
  mode: isMode(candidate.mode) ? candidate.mode : DEFAULT_SETTINGS.mode,
23
30
  thinking: isThinking(candidate.thinking)
24
31
  ? candidate.thinking
@@ -1 +1 @@
1
- {"version":3,"file":"settings-store.js","sourceRoot":"","sources":["../../src/state/settings-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-store.js","sourceRoot":"","sources":["../../src/state/settings-store.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ProviderName } from "./types.js";
1
2
  export declare const CHATBOX_MODES: readonly ["normal", "acceptEdits", "plan", "auto"];
2
3
  export type ChatboxMode = (typeof CHATBOX_MODES)[number];
3
4
  export declare const THINKING_LEVELS: readonly ["off", "low", "medium", "high"];
@@ -5,6 +6,7 @@ export type ThinkingLevel = (typeof THINKING_LEVELS)[number];
5
6
  export declare const GENERATION_MODES: readonly ["safe", "vibe"];
6
7
  export type GenerationMode = (typeof GENERATION_MODES)[number];
7
8
  export interface AppSettings {
9
+ provider: ProviderName;
8
10
  mode: ChatboxMode;
9
11
  thinking: ThinkingLevel;
10
12
  generationMode: GenerationMode;
@@ -1 +1 @@
1
- {"version":3,"file":"settings-types.js","sourceRoot":"","sources":["../../src/state/settings-types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAGhF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAMzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC"}
1
+ {"version":3,"file":"settings-types.js","sourceRoot":"","sources":["../../src/state/settings-types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAGhF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAMzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC"}
@@ -19,10 +19,21 @@ export interface StoredMessage {
19
19
  attachments?: StoredAttachmentMeta[];
20
20
  timestampMs: number;
21
21
  }
22
+ export declare const PROVIDER_NAMES: readonly ["claude", "codex"];
23
+ export type ProviderName = (typeof PROVIDER_NAMES)[number];
24
+ export declare const DEFAULT_PROVIDER_NAME: ProviderName;
25
+ export interface TokenUsage {
26
+ inputTokens: number;
27
+ outputTokens: number;
28
+ totalTokens: number;
29
+ }
30
+ export declare const EMPTY_TOKEN_USAGE: TokenUsage;
22
31
  export interface StoredConversation {
23
32
  messages: StoredMessage[];
24
33
  createdAtMs: number;
25
34
  updatedAtMs: number;
35
+ provider?: ProviderName;
36
+ tokenUsage?: TokenUsage;
26
37
  }
27
38
  export interface StoredState {
28
39
  conversations: Record<string, StoredConversation>;
@@ -7,4 +7,11 @@ export const STORED_MESSAGE_ROLES = [
7
7
  ];
8
8
  export const STORED_MESSAGE_STATUSES = ["success", "error"];
9
9
  export const STORED_PERMISSION_DECISIONS = ["approved", "denied"];
10
+ export const PROVIDER_NAMES = ["claude", "codex"];
11
+ export const DEFAULT_PROVIDER_NAME = PROVIDER_NAMES[0];
12
+ export const EMPTY_TOKEN_USAGE = {
13
+ inputTokens: 0,
14
+ outputTokens: 0,
15
+ totalTokens: 0,
16
+ };
10
17
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM;IACN,WAAW;IACX,UAAU;IACV,aAAa;IAIb,YAAY;CACJ,CAAC;AAIX,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,OAAO,CAAU,CAAC;AAMrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAU,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/state/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,MAAM;IACN,WAAW;IACX,UAAU;IACV,aAAa;IAIb,YAAY;CACJ,CAAC;AAIX,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,SAAS,EAAE,OAAO,CAAU,CAAC;AAMrE,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAU,CAAC;AA0B3E,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC;AAG3D,MAAM,CAAC,MAAM,qBAAqB,GAAiB,cAAc,CAAC,CAAC,CAAC,CAAC;AAUrE,MAAM,CAAC,MAAM,iBAAiB,GAAe;IAC3C,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;IACf,WAAW,EAAE,CAAC;CACf,CAAC"}
@@ -16,6 +16,7 @@
16
16
  "lint": "oxlint && oxfmt --check . && cd chatbox && pnpm lint",
17
17
  "lint:fix": "oxlint --fix --max-warnings=1000000 && oxfmt . && cd chatbox && pnpm lint:fix",
18
18
  "test": "vitest run --passWithNoTests",
19
+ "generate:codex-types": "node scripts/generate-codex-types.mjs",
19
20
  "test:e2e": "echo 'no e2e yet' && exit 0",
20
21
  "format": "oxfmt .",
21
22
  "knip": "knip --dependencies",
@@ -24,11 +25,13 @@
24
25
  "dependencies": {
25
26
  "@anthropic-ai/claude-agent-sdk": "^0.2.131",
26
27
  "@anthropic-ai/claude-code": "^2.1.131",
28
+ "@modelcontextprotocol/sdk": "1.29.0",
27
29
  "ws": "^8.18.0",
28
30
  "zod": "^4.0.0"
29
31
  },
30
32
  "devDependencies": {
31
33
  "@antelopejs/tooling-configs": ">=0.0.6 <1.0.0",
34
+ "@openai/codex": "0.154.0",
32
35
  "@types/node": "^22.19.15",
33
36
  "@types/ws": "^8.5.12",
34
37
  "knip": "^6.34.0",