@antelopejs/dms-ai 0.9.0 → 0.9.2

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 (293) hide show
  1. package/README.md +32 -34
  2. package/dist/constants/http.d.ts +1 -0
  3. package/dist/constants/http.js +1 -0
  4. package/dist/constants/http.js.map +1 -1
  5. package/dist/database/catalog.js +21 -3
  6. package/dist/database/catalog.js.map +1 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/lifecycle/sidecar-owner.js.map +1 -1
  9. package/dist/lifecycle/skill-sources.js +19 -146
  10. package/dist/lifecycle/skill-sources.js.map +1 -1
  11. package/dist/lifecycle/spawn-sidecar.js +2 -2
  12. package/dist/lifecycle/spawn-sidecar.js.map +1 -1
  13. package/dist/lifecycle/terminate-process.d.ts +1 -0
  14. package/dist/lifecycle/terminate-process.js +8 -4
  15. package/dist/lifecycle/terminate-process.js.map +1 -1
  16. package/dist/logging/log-buffer.js +22 -14
  17. package/dist/logging/log-buffer.js.map +1 -1
  18. package/dist/pages/settings/availability.js +41 -5
  19. package/dist/pages/settings/availability.js.map +1 -1
  20. package/dist/pages/settings/options.d.ts +2 -1
  21. package/dist/pages/settings/options.js +29 -8
  22. package/dist/pages/settings/options.js.map +1 -1
  23. package/dist/pages/settings/sections.js +15 -4
  24. package/dist/pages/settings/sections.js.map +1 -1
  25. package/dist/pages-registry.js +2 -6
  26. package/dist/pages-registry.js.map +1 -1
  27. package/dist/routes/activity.js +4 -3
  28. package/dist/routes/activity.js.map +1 -1
  29. package/dist/routes/banner.d.ts +2 -1
  30. package/dist/routes/banner.js +4 -1
  31. package/dist/routes/banner.js.map +1 -1
  32. package/dist/routes/builder.d.ts +5 -5
  33. package/dist/routes/builder.js +62 -44
  34. package/dist/routes/builder.js.map +1 -1
  35. package/dist/routes/changes.js +8 -7
  36. package/dist/routes/changes.js.map +1 -1
  37. package/dist/routes/codex-account.js +11 -5
  38. package/dist/routes/codex-account.js.map +1 -1
  39. package/dist/routes/content-json.d.ts +6 -0
  40. package/dist/routes/content-json.js +12 -0
  41. package/dist/routes/content-json.js.map +1 -0
  42. package/dist/routes/metrics.js +8 -8
  43. package/dist/routes/metrics.js.map +1 -1
  44. package/dist/routes/settings.js +4 -3
  45. package/dist/routes/settings.js.map +1 -1
  46. package/dist/routes/sidecar-answers.d.ts +10 -0
  47. package/dist/routes/sidecar-answers.js +90 -0
  48. package/dist/routes/sidecar-answers.js.map +1 -0
  49. package/dist/routes/sidecar-results.d.ts +2 -1
  50. package/dist/routes/sidecar-results.js +8 -2
  51. package/dist/routes/sidecar-results.js.map +1 -1
  52. package/dist/routes/skills.d.ts +2 -2
  53. package/dist/routes/skills.js +3 -2
  54. package/dist/routes/skills.js.map +1 -1
  55. package/dist/routes/status.js +23 -4
  56. package/dist/routes/status.js.map +1 -1
  57. package/dist/sidecar/answer-schemas.d.ts +8 -0
  58. package/dist/sidecar/answer-schemas.js +60 -0
  59. package/dist/sidecar/answer-schemas.js.map +1 -0
  60. package/dist/sidecar/http-client.d.ts +4 -2
  61. package/dist/sidecar/http-client.js +5 -2
  62. package/dist/sidecar/http-client.js.map +1 -1
  63. package/dist/sidecar/index.d.ts +1 -0
  64. package/dist/sidecar/index.js +1 -0
  65. package/dist/sidecar/index.js.map +1 -1
  66. package/dist/sidecar/settings-values.d.ts +3 -0
  67. package/dist/sidecar/settings-values.js +33 -1
  68. package/dist/sidecar/settings-values.js.map +1 -1
  69. package/dist/types/status.d.ts +2 -2
  70. package/dist/vocabulary/enumerations.js +2 -0
  71. package/dist/vocabulary/enumerations.js.map +1 -1
  72. package/frontend-vue/app/chat/components/ChatView.vue +16 -49
  73. package/frontend-vue/app/chat/components/Composer.vue +23 -39
  74. package/frontend-vue/app/chat/components/NoticeCard.vue +9 -0
  75. package/frontend-vue/app/chat/components/ProviderNotice.vue +14 -3
  76. package/frontend-vue/app/chat/composables/conversation-events.ts +0 -3
  77. package/frontend-vue/app/chat/composables/useConversationMode.ts +8 -11
  78. package/frontend-vue/app/chat/composables/useFollowScroll.ts +77 -0
  79. package/frontend-vue/app/chat/constants/modes.ts +15 -0
  80. package/frontend-vue/app/chat/constants/protocol.ts +0 -1
  81. package/frontend-vue/app/chat/constants/settings.ts +1 -1
  82. package/frontend-vue/app/chat/types/protocol.ts +11 -9
  83. package/frontend-vue/app/chat/types/settings.ts +7 -2
  84. package/frontend-vue/app/chat/utils/permission-view.ts +1 -0
  85. package/frontend-vue/app/views/constants.ts +2 -0
  86. package/frontend-vue/app/views/types.ts +3 -1
  87. package/frontend-vue/i18n/locales/dms-ai-pages-en-GB.json +21 -11
  88. package/frontend-vue/i18n/locales/dms-ai-pages-fr-FR.json +21 -11
  89. package/frontend-vue/i18n/locales/dms-ai-panel-en-GB.json +11 -21
  90. package/frontend-vue/i18n/locales/dms-ai-panel-fr-FR.json +11 -21
  91. package/frontend-vue/i18n/locales/dms-ai-views-en-GB.json +2 -0
  92. package/frontend-vue/i18n/locales/dms-ai-views-fr-FR.json +2 -0
  93. package/frontend-vue/package.json +1 -1
  94. package/frontend-vue/tests/chat/chat-scroll.test.ts +251 -0
  95. package/frontend-vue/tests/chat/conversation-events.test.ts +1 -3
  96. package/frontend-vue/tests/chat/provider-notice.test.ts +33 -0
  97. package/frontend-vue/tests/chat-panel.test.ts +2 -4
  98. package/frontend-vue/tests/panel-modes.test.ts +146 -0
  99. package/frontend-vue/tests/panel-questions.test.ts +1 -19
  100. package/frontend-vue/tests/panel-states.test.ts +12 -16
  101. package/frontend-vue/tests/support/fake-layout.ts +119 -0
  102. package/frontend-vue/tests/support/panel-harness.ts +14 -6
  103. package/frontend-vue/tests/support/setup-layout.ts +3 -0
  104. package/frontend-vue/tests/support/stubs.ts +2 -0
  105. package/frontend-vue/vitest.config.ts +1 -0
  106. package/package.json +16 -10
  107. package/sidecar/dist/agent/always-ask-files.d.ts +2 -0
  108. package/sidecar/dist/agent/always-ask-files.js +34 -0
  109. package/sidecar/dist/agent/always-ask-files.js.map +1 -0
  110. package/sidecar/dist/agent/conversation-modes.d.ts +3 -12
  111. package/sidecar/dist/agent/conversation-modes.js +16 -69
  112. package/sidecar/dist/agent/conversation-modes.js.map +1 -1
  113. package/sidecar/dist/agent/effective-mode.d.ts +2 -5
  114. package/sidecar/dist/agent/effective-mode.js +1 -15
  115. package/sidecar/dist/agent/effective-mode.js.map +1 -1
  116. package/sidecar/dist/agent/permission-bus.d.ts +1 -2
  117. package/sidecar/dist/agent/permission-bus.js +1 -3
  118. package/sidecar/dist/agent/permission-bus.js.map +1 -1
  119. package/sidecar/dist/agent/permission-preview.d.ts +6 -0
  120. package/sidecar/dist/agent/permission-preview.js +35 -10
  121. package/sidecar/dist/agent/permission-preview.js.map +1 -1
  122. package/sidecar/dist/agent/permission-rules.js +2 -2
  123. package/sidecar/dist/agent/permission-rules.js.map +1 -1
  124. package/sidecar/dist/agent/project-secrets.d.ts +7 -0
  125. package/sidecar/dist/agent/project-secrets.js +61 -0
  126. package/sidecar/dist/agent/project-secrets.js.map +1 -0
  127. package/sidecar/dist/agent/provider.d.ts +5 -4
  128. package/sidecar/dist/agent/runner.d.ts +3 -2
  129. package/sidecar/dist/agent/runner.js +9 -3
  130. package/sidecar/dist/agent/runner.js.map +1 -1
  131. package/sidecar/dist/agent/session.d.ts +3 -3
  132. package/sidecar/dist/agent/session.js.map +1 -1
  133. package/sidecar/dist/agent/tool-kinds.d.ts +7 -1
  134. package/sidecar/dist/agent/tool-kinds.js +24 -5
  135. package/sidecar/dist/agent/tool-kinds.js.map +1 -1
  136. package/sidecar/dist/agent/typecheck.js +14 -1
  137. package/sidecar/dist/agent/typecheck.js.map +1 -1
  138. package/sidecar/dist/audit/activity-query.js +2 -0
  139. package/sidecar/dist/audit/activity-query.js.map +1 -1
  140. package/sidecar/dist/audit/activity.js +1 -0
  141. package/sidecar/dist/audit/activity.js.map +1 -1
  142. package/sidecar/dist/audit/call-audit.js.map +1 -1
  143. package/sidecar/dist/builder/builder-client.d.ts +3 -1
  144. package/sidecar/dist/builder/builder-client.js +13 -1
  145. package/sidecar/dist/builder/builder-client.js.map +1 -1
  146. package/sidecar/dist/constants/audit.d.ts +1 -3
  147. package/sidecar/dist/constants/audit.js +2 -1
  148. package/sidecar/dist/constants/audit.js.map +1 -1
  149. package/sidecar/dist/constants/builder.d.ts +3 -0
  150. package/sidecar/dist/constants/builder.js +3 -0
  151. package/sidecar/dist/constants/builder.js.map +1 -1
  152. package/sidecar/dist/constants/claude.d.ts +6 -0
  153. package/sidecar/dist/constants/claude.js +6 -0
  154. package/sidecar/dist/constants/claude.js.map +1 -1
  155. package/sidecar/dist/constants/codex.d.ts +4 -0
  156. package/sidecar/dist/constants/codex.js +4 -0
  157. package/sidecar/dist/constants/codex.js.map +1 -1
  158. package/sidecar/dist/constants/permissions.d.ts +2 -0
  159. package/sidecar/dist/constants/permissions.js +23 -0
  160. package/sidecar/dist/constants/permissions.js.map +1 -1
  161. package/sidecar/dist/constants/project-secrets.d.ts +5 -0
  162. package/sidecar/dist/constants/project-secrets.js +20 -0
  163. package/sidecar/dist/constants/project-secrets.js.map +1 -0
  164. package/sidecar/dist/constants/providers.d.ts +2 -0
  165. package/sidecar/dist/constants/providers.js +1 -0
  166. package/sidecar/dist/constants/providers.js.map +1 -1
  167. package/sidecar/dist/constants/settings.d.ts +1 -2
  168. package/sidecar/dist/constants/settings.js +2 -9
  169. package/sidecar/dist/constants/settings.js.map +1 -1
  170. package/sidecar/dist/constants/tool-kinds.d.ts +67 -2
  171. package/sidecar/dist/constants/tool-kinds.js +111 -34
  172. package/sidecar/dist/constants/tool-kinds.js.map +1 -1
  173. package/sidecar/dist/index.js.map +1 -1
  174. package/sidecar/dist/mcp/http-binding.js +1 -1
  175. package/sidecar/dist/mcp/http-binding.js.map +1 -1
  176. package/sidecar/dist/mcp/tools/builder-compose.d.ts +4 -4
  177. package/sidecar/dist/mcp/tools/builder-compose.js +4 -3
  178. package/sidecar/dist/mcp/tools/builder-compose.js.map +1 -1
  179. package/sidecar/dist/mcp/tools/builder-expr.d.ts +5 -2
  180. package/sidecar/dist/mcp/tools/builder-expr.js +8 -11
  181. package/sidecar/dist/mcp/tools/builder-expr.js.map +1 -1
  182. package/sidecar/dist/mcp/tools/builder-gate.js +3 -1
  183. package/sidecar/dist/mcp/tools/builder-gate.js.map +1 -1
  184. package/sidecar/dist/mcp/tools/builder-project.d.ts +2 -1
  185. package/sidecar/dist/mcp/tools/builder-project.js +94 -16
  186. package/sidecar/dist/mcp/tools/builder-project.js.map +1 -1
  187. package/sidecar/dist/mcp/tools/builder-queries.d.ts +6 -6
  188. package/sidecar/dist/mcp/tools/builder-queries.js +9 -10
  189. package/sidecar/dist/mcp/tools/builder-queries.js.map +1 -1
  190. package/sidecar/dist/mcp/tools/builder-table-view.js +10 -8
  191. package/sidecar/dist/mcp/tools/builder-table-view.js.map +1 -1
  192. package/sidecar/dist/mcp/tools/builder.d.ts +14 -14
  193. package/sidecar/dist/mcp/tools/builder.js +17 -12
  194. package/sidecar/dist/mcp/tools/builder.js.map +1 -1
  195. package/sidecar/dist/protocol/events.d.ts +97 -63
  196. package/sidecar/dist/protocol/events.js +14 -8
  197. package/sidecar/dist/protocol/events.js.map +1 -1
  198. package/sidecar/dist/protocol/messages.d.ts +54 -49
  199. package/sidecar/dist/protocol/messages.js +8 -13
  200. package/sidecar/dist/protocol/messages.js.map +1 -1
  201. package/sidecar/dist/providers/claude/config.d.ts +3 -3
  202. package/sidecar/dist/providers/claude/config.js +4 -2
  203. package/sidecar/dist/providers/claude/config.js.map +1 -1
  204. package/sidecar/dist/providers/claude/provider.js +20 -26
  205. package/sidecar/dist/providers/claude/provider.js.map +1 -1
  206. package/sidecar/dist/providers/claude/safe-mode.d.ts +5 -5
  207. package/sidecar/dist/providers/claude/safe-mode.js +49 -30
  208. package/sidecar/dist/providers/claude/safe-mode.js.map +1 -1
  209. package/sidecar/dist/providers/claude/sdk-loader.js +2 -5
  210. package/sidecar/dist/providers/claude/sdk-loader.js.map +1 -1
  211. package/sidecar/dist/providers/claude/secret-files.d.ts +2 -0
  212. package/sidecar/dist/providers/claude/secret-files.js +50 -0
  213. package/sidecar/dist/providers/claude/secret-files.js.map +1 -0
  214. package/sidecar/dist/providers/claude/session-stream.d.ts +4 -9
  215. package/sidecar/dist/providers/claude/session-stream.js +22 -0
  216. package/sidecar/dist/providers/claude/session-stream.js.map +1 -1
  217. package/sidecar/dist/providers/claude/tool-guard.d.ts +14 -0
  218. package/sidecar/dist/providers/claude/tool-guard.js +112 -0
  219. package/sidecar/dist/providers/claude/tool-guard.js.map +1 -0
  220. package/sidecar/dist/providers/codex/adapter.d.ts +10 -0
  221. package/sidecar/dist/providers/codex/adapter.js +20 -5
  222. package/sidecar/dist/providers/codex/adapter.js.map +1 -1
  223. package/sidecar/dist/providers/codex/client.d.ts +3 -1
  224. package/sidecar/dist/providers/codex/client.js +26 -14
  225. package/sidecar/dist/providers/codex/client.js.map +1 -1
  226. package/sidecar/dist/providers/codex/config.d.ts +6 -17
  227. package/sidecar/dist/providers/codex/config.js +9 -56
  228. package/sidecar/dist/providers/codex/config.js.map +1 -1
  229. package/sidecar/dist/providers/codex/mcp-elicitation.d.ts +21 -0
  230. package/sidecar/dist/providers/codex/mcp-elicitation.js +66 -0
  231. package/sidecar/dist/providers/codex/mcp-elicitation.js.map +1 -0
  232. package/sidecar/dist/providers/codex/module.js +1 -1
  233. package/sidecar/dist/providers/codex/module.js.map +1 -1
  234. package/sidecar/dist/providers/codex/patch-directories.d.ts +6 -0
  235. package/sidecar/dist/providers/codex/patch-directories.js +53 -0
  236. package/sidecar/dist/providers/codex/patch-directories.js.map +1 -0
  237. package/sidecar/dist/providers/codex/permission-profiles.d.ts +11 -0
  238. package/sidecar/dist/providers/codex/permission-profiles.js +37 -0
  239. package/sidecar/dist/providers/codex/permission-profiles.js.map +1 -0
  240. package/sidecar/dist/providers/codex/permissions.d.ts +13 -4
  241. package/sidecar/dist/providers/codex/permissions.js +28 -2
  242. package/sidecar/dist/providers/codex/permissions.js.map +1 -1
  243. package/sidecar/dist/providers/codex/process.d.ts +1 -0
  244. package/sidecar/dist/providers/codex/process.js +3 -1
  245. package/sidecar/dist/providers/codex/process.js.map +1 -1
  246. package/sidecar/dist/providers/codex/protocol/common.d.ts +16 -4
  247. package/sidecar/dist/providers/codex/protocol/index.d.ts +2 -2
  248. package/sidecar/dist/providers/codex/protocol/index.js +1 -1
  249. package/sidecar/dist/providers/codex/protocol/index.js.map +1 -1
  250. package/sidecar/dist/providers/codex/protocol/v2.d.ts +23 -32
  251. package/sidecar/dist/providers/codex/provider.js +16 -15
  252. package/sidecar/dist/providers/codex/provider.js.map +1 -1
  253. package/sidecar/dist/providers/codex/secret-file-globs.d.ts +2 -0
  254. package/sidecar/dist/providers/codex/secret-file-globs.js +45 -0
  255. package/sidecar/dist/providers/codex/secret-file-globs.js.map +1 -0
  256. package/sidecar/dist/providers/codex/skills.d.ts +36 -3
  257. package/sidecar/dist/providers/codex/skills.js +16 -0
  258. package/sidecar/dist/providers/codex/skills.js.map +1 -1
  259. package/sidecar/dist/providers/types.d.ts +3 -1
  260. package/sidecar/dist/providers/types.js +2 -2
  261. package/sidecar/dist/providers/types.js.map +1 -1
  262. package/sidecar/dist/server/http-routes.js +1 -1
  263. package/sidecar/dist/server/http-routes.js.map +1 -1
  264. package/sidecar/dist/server/permission-events.d.ts +1 -1
  265. package/sidecar/dist/server/permission-events.js +5 -8
  266. package/sidecar/dist/server/permission-events.js.map +1 -1
  267. package/sidecar/dist/server/routing.js +0 -5
  268. package/sidecar/dist/server/routing.js.map +1 -1
  269. package/sidecar/dist/server/tool-calls.d.ts +0 -2
  270. package/sidecar/dist/server/tool-calls.js +20 -20
  271. package/sidecar/dist/server/tool-calls.js.map +1 -1
  272. package/sidecar/dist/server/turns.js +9 -1
  273. package/sidecar/dist/server/turns.js.map +1 -1
  274. package/sidecar/dist/server/ws.js +4 -15
  275. package/sidecar/dist/server/ws.js.map +1 -1
  276. package/sidecar/dist/skills/skill-usage.js +2 -2
  277. package/sidecar/dist/skills/skill-usage.js.map +1 -1
  278. package/sidecar/dist/state/change-sets.js.map +1 -1
  279. package/sidecar/dist/state/settings-store.d.ts +13 -5
  280. package/sidecar/dist/state/settings-store.js +33 -8
  281. package/sidecar/dist/state/settings-store.js.map +1 -1
  282. package/sidecar/dist/state/settings-types.d.ts +15 -2
  283. package/sidecar/dist/state/settings-types.js +14 -1
  284. package/sidecar/dist/state/settings-types.js.map +1 -1
  285. package/sidecar/dist/state/store.js +1 -4
  286. package/sidecar/dist/state/store.js.map +1 -1
  287. package/sidecar/dist/state/types.d.ts +7 -6
  288. package/sidecar/dist/state/types.js.map +1 -1
  289. package/sidecar/package.json +2 -1
  290. package/skills/dms-ai/SKILL.md +2 -1
  291. package/skills/dms-external-database/SKILL.md +5 -2
  292. package/frontend-vue/app/chat/components/FullAutoBanner.vue +0 -76
  293. package/frontend-vue/app/chat/components/FullAutoDialog.vue +0 -103
@@ -2,15 +2,12 @@ import { MOCK_CLAUDE_FLAG_ENABLED, MOCK_CLAUDE_FLAG_ENV, MOCK_CLAUDE_SDK_RELATIV
2
2
  function isMockEnabled() {
3
3
  return process.env[MOCK_CLAUDE_FLAG_ENV] === MOCK_CLAUDE_FLAG_ENABLED;
4
4
  }
5
- async function importDynamic(specifier) {
6
- const opaque = specifier;
7
- return import(opaque);
8
- }
9
5
  export async function loadSdk() {
10
6
  const specifier = isMockEnabled()
11
7
  ? MOCK_CLAUDE_SDK_RELATIVE
12
8
  : REAL_SDK_PACKAGE;
13
- const mod = (await importDynamic(specifier));
9
+ const opaque = specifier;
10
+ const mod = await import(opaque);
14
11
  return { query: mod.query };
15
12
  }
16
13
  //# sourceMappingURL=sdk-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-loader.js","sourceRoot":"","sources":["../../../src/providers/claude/sdk-loader.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAMnC,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,wBAAwB,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAiB;IAC5C,MAAM,MAAM,GAAW,SAAS,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,MAAM,SAAS,GAAG,aAAa,EAAE;QAC/B,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,gBAAgB,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,MAAM,aAAa,CAAC,SAAS,CAAC,CAAc,CAAC;IAC1D,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"sdk-loader.js","sourceRoot":"","sources":["../../../src/providers/claude/sdk-loader.ts"],"names":[],"mappings":"AACA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAMnC,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,KAAK,wBAAwB,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,MAAM,SAAS,GAAG,aAAa,EAAE;QAC/B,CAAC,CAAC,wBAAwB;QAC1B,CAAC,CAAC,gBAAgB,CAAC;IACrB,MAAM,MAAM,GAAW,SAAS,CAAC;IACjC,MAAM,GAAG,GAAY,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,EAAE,KAAK,EAAG,GAAiB,CAAC,KAAK,EAAE,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { SdkHooks } from "./safe-mode.js";
2
+ export declare function withSecretFileGuard(hooks: SdkHooks): SdkHooks;
@@ -0,0 +1,50 @@
1
+ import { z } from "zod";
2
+ import { reachesSecretFile } from "../../agent/project-secrets.js";
3
+ import { PRE_TOOL_USE_HOOK_EVENT } from "../../constants/claude.js";
4
+ import { SDK_PERMISSION_BEHAVIOR } from "../../constants/permissions.js";
5
+ import { SECRET_FILE_DENIED_MESSAGE } from "../../constants/project-secrets.js";
6
+ const SECRET_FILE_DENIAL = {
7
+ hookSpecificOutput: {
8
+ hookEventName: PRE_TOOL_USE_HOOK_EVENT,
9
+ permissionDecision: SDK_PERMISSION_BEHAVIOR.DENY,
10
+ permissionDecisionReason: SECRET_FILE_DENIED_MESSAGE,
11
+ },
12
+ };
13
+ const NO_DECISION = { continue: true };
14
+ const optionalString = z.string().optional().catch(undefined);
15
+ const toolCallSchema = z.object({
16
+ cwd: optionalString,
17
+ tool_input: z
18
+ .looseObject({
19
+ file_path: optionalString,
20
+ path: optionalString,
21
+ notebook_path: optionalString,
22
+ })
23
+ .default({}),
24
+ });
25
+ async function reachesSecret({ cwd, tool_input }) {
26
+ const paths = [
27
+ tool_input.file_path,
28
+ tool_input.path,
29
+ tool_input.notebook_path,
30
+ ];
31
+ const checks = paths.map(async (path) => path !== undefined &&
32
+ (await reachesSecretFile(path, cwd ?? process.cwd())));
33
+ return (await Promise.all(checks)).some(Boolean);
34
+ }
35
+ export function withSecretFileGuard(hooks) {
36
+ const guard = async (input) => {
37
+ const parsed = toolCallSchema.safeParse(input);
38
+ return parsed.success && (await reachesSecret(parsed.data))
39
+ ? SECRET_FILE_DENIAL
40
+ : NO_DECISION;
41
+ };
42
+ return {
43
+ ...hooks,
44
+ [PRE_TOOL_USE_HOOK_EVENT]: [
45
+ ...(hooks[PRE_TOOL_USE_HOOK_EVENT] ?? []),
46
+ { hooks: [guard] },
47
+ ],
48
+ };
49
+ }
50
+ //# sourceMappingURL=secret-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-files.js","sourceRoot":"","sources":["../../../src/providers/claude/secret-files.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGhF,MAAM,kBAAkB,GAAuB;IAC7C,kBAAkB,EAAE;QAClB,aAAa,EAAE,uBAAuB;QACtC,kBAAkB,EAAE,uBAAuB,CAAC,IAAI;QAChD,wBAAwB,EAAE,0BAA0B;KACrD;CACF,CAAC;AAEF,MAAM,WAAW,GAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAE3D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAE9D,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,GAAG,EAAE,cAAc;IACnB,UAAU,EAAE,CAAC;SACV,WAAW,CAAC;QACX,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,cAAc;QACpB,aAAa,EAAE,cAAc;KAC9B,CAAC;SACD,OAAO,CAAC,EAAE,CAAC;CACf,CAAC,CAAC;AAIH,KAAK,UAAU,aAAa,CAAC,EAAE,GAAG,EAAE,UAAU,EAAY;IACxD,MAAM,KAAK,GAAG;QACZ,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,IAAI;QACf,UAAU,CAAC,aAAa;KACzB,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CACtB,KAAK,EAAE,IAAI,EAAE,EAAE,CACb,IAAI,KAAK,SAAS;QAClB,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CACxD,CAAC;IACF,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC;AAQD,MAAM,UAAU,mBAAmB,CAAC,KAAe;IACjD,MAAM,KAAK,GAAiB,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/C,OAAO,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzD,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,WAAW,CAAC;IAClB,CAAC,CAAC;IACF,OAAO;QACL,GAAG,KAAK;QACR,CAAC,uBAAuB,CAAC,EAAE;YACzB,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;YACzC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE;SACnB;KACF,CAAC;AACJ,CAAC"}
@@ -1,12 +1,11 @@
1
1
  import type { Query, SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";
2
2
  import type { ProviderSessionContext } from "../../agent/provider.js";
3
3
  import type { RunnerEvent } from "../../agent/runner-events.js";
4
- import type { AppSettings } from "../../state/settings-types.js";
5
- import type { TokenUsage } from "../../state/types.js";
4
+ import type { TurnSettings } from "../../state/settings-types.js";
6
5
  import type { InputQueue } from "./input-queue.js";
7
6
  import { type ModelTrack } from "./model-fallback.js";
8
7
  export interface LiveSettings {
9
- settings: AppSettings;
8
+ settings: TurnSettings;
10
9
  }
11
10
  export interface StreamBackend {
12
11
  output: Query;
@@ -15,9 +14,5 @@ export interface StreamBackend {
15
14
  lastTurn: SDKUserMessage | null;
16
15
  model: ModelTrack;
17
16
  }
18
- export interface ModelHooks {
19
- onModelUsed: ProviderSessionContext["onModelUsed"];
20
- onModelFallback: ProviderSessionContext["onModelFallback"];
21
- onTokenUsage: ((usage: TokenUsage) => void) | undefined;
22
- }
23
- export declare function toRunnerEvents(backend: StreamBackend, hooks: ModelHooks): AsyncGenerator<RunnerEvent, void>;
17
+ export type StreamHooks = Pick<ProviderSessionContext, "onModelUsed" | "onModelFallback" | "onTokenUsage" | "onAutoRefused" | "onToolDecision">;
18
+ export declare function toRunnerEvents(backend: StreamBackend, hooks: StreamHooks): AsyncGenerator<RunnerEvent, void>;
@@ -1,4 +1,6 @@
1
+ import { CLAUDE_AUTO_PERMISSION_MODE, CLAUDE_PERMISSION_SUBTYPES, } from "../../constants/claude.js";
1
2
  import { extractTokenUsage, messageToEvents } from "./adapter.js";
3
+ import { resolvePermissionMode } from "./config.js";
2
4
  import { isModelRefusal, repliedModel, } from "./model-fallback.js";
3
5
  async function retryOnDefaultModel(backend) {
4
6
  const { model, lastTurn, live } = backend;
@@ -28,6 +30,25 @@ function observeModel(track, message, hooks) {
28
30
  hooks.onModelFallback?.({ requested: track.announceFrom, used });
29
31
  track.announceFrom = null;
30
32
  }
33
+ function observePermissions(live, message, hooks) {
34
+ if (message.type !== "system")
35
+ return;
36
+ const isAutoAsked = resolvePermissionMode(live.settings) === CLAUDE_AUTO_PERMISSION_MODE;
37
+ if (message.subtype === CLAUDE_PERMISSION_SUBTYPES.INIT) {
38
+ if (isAutoAsked && message.permissionMode !== CLAUDE_AUTO_PERMISSION_MODE) {
39
+ hooks.onAutoRefused?.(message.model);
40
+ }
41
+ return;
42
+ }
43
+ if (!isAutoAsked || message.subtype !== CLAUDE_PERMISSION_SUBTYPES.DENIED) {
44
+ return;
45
+ }
46
+ hooks.onToolDecision?.({
47
+ callId: message.tool_use_id,
48
+ toolName: message.tool_name,
49
+ allowedBy: "auto_denied",
50
+ });
51
+ }
31
52
  export async function* toRunnerEvents(backend, hooks) {
32
53
  let held = [];
33
54
  while (true) {
@@ -38,6 +59,7 @@ export async function* toRunnerEvents(backend, hooks) {
38
59
  const usage = extractTokenUsage(message);
39
60
  if (usage !== null)
40
61
  hooks.onTokenUsage?.(usage);
62
+ observePermissions(backend.live, message, hooks);
41
63
  if (isModelRefusal(message)) {
42
64
  if (message.type === "assistant") {
43
65
  held.push(message);
@@ -1 +1 @@
1
- {"version":3,"file":"session-stream.js","sourceRoot":"","sources":["../../../src/providers/claude/session-stream.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EACL,cAAc,EAEd,YAAY,GACb,MAAM,qBAAqB,CAAC;AA+B7B,KAAK,UAAU,mBAAmB,CAAC,OAAsB;IACvD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC1C,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CACnB,KAAiB,EACjB,OAAmB,EACnB,KAAiB;IAEjB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI;QAAE,OAAO;IACxC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAC5B,CAAC;AAQD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,cAAc,CACnC,OAAsB,EACtB,KAAiB;IAEjB,IAAI,IAAI,GAAiB,EAAE,CAAC;IAC5B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,IAAI;YAAE,OAAO;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,IAAI;YAAE,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,MAAM,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,IAAI,GAAG,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;QACH,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI;YAAE,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,GAAG,EAAE,CAAC;QACV,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"session-stream.js","sourceRoot":"","sources":["../../../src/providers/claude/session-stream.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EACL,cAAc,EAEd,YAAY,GACb,MAAM,qBAAqB,CAAC;AAkC7B,KAAK,UAAU,mBAAmB,CAAC,OAAsB;IACvD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC1C,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC1C,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CACnB,KAAiB,EACjB,OAAmB,EACnB,KAAkB;IAElB,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI;QAAE,OAAO;IACxC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAkB,EAClB,OAAmB,EACnB,KAAkB;IAElB,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO;IACtC,MAAM,WAAW,GACf,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,2BAA2B,CAAC;IACvE,IAAI,OAAO,CAAC,OAAO,KAAK,0BAA0B,CAAC,IAAI,EAAE,CAAC;QACxD,IAAI,WAAW,IAAI,OAAO,CAAC,cAAc,KAAK,2BAA2B,EAAE,CAAC;YAC1E,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,0BAA0B,CAAC,MAAM,EAAE,CAAC;QAC1E,OAAO;IACT,CAAC;IACD,KAAK,CAAC,cAAc,EAAE,CAAC;QACrB,MAAM,EAAE,OAAO,CAAC,WAAW;QAC3B,QAAQ,EAAE,OAAO,CAAC,SAAS;QAC3B,SAAS,EAAE,aAAa;KACzB,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,cAAc,CACnC,OAAsB,EACtB,KAAkB;IAElB,IAAI,IAAI,GAAiB,EAAE,CAAC;IAC5B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,IAAI;YAAE,OAAO;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;QAC7B,MAAM,KAAK,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,IAAI;YAAE,KAAK,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;QAChD,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACjD,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,MAAM,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACvC,IAAI,GAAG,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;QACH,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI;YAAE,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,GAAG,EAAE,CAAC;QACV,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAC5C,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type ToolArgs } from "../../agent/edit-targets.js";
2
+ import type { TurnSettings } from "../../state/settings-types.js";
3
+ export interface GuardedCall {
4
+ toolName: string;
5
+ args: ToolArgs;
6
+ }
7
+ export interface GuardScope {
8
+ readRoots: string[];
9
+ hostProjectRoot: string;
10
+ settings: TurnSettings;
11
+ }
12
+ export declare function isFirstPartyMcpTool(toolName: string): boolean;
13
+ export declare function runsInSafeScope(call: GuardedCall, scope: GuardScope): boolean;
14
+ export declare function isHostDecided(call: GuardedCall, scope: GuardScope, permissionMode: string | undefined): boolean;
@@ -0,0 +1,112 @@
1
+ import { homedir } from "node:os";
2
+ import { isAbsolute, join, relative } from "node:path";
3
+ import { readStringArg } from "../../agent/edit-targets.js";
4
+ import { isAlwaysAsk } from "../../agent/permission-preview.js";
5
+ import { isAutoAllowedRead } from "../../agent/read-access.js";
6
+ import { toolReachOf } from "../../agent/tool-kinds.js";
7
+ import { effectiveGenerationMode } from "../../builder/capability.js";
8
+ import { FIRST_PARTY_AUTO_ALLOW_TOOL_NAMES } from "../../constants/mcp.js";
9
+ const PLANS_DIRECTORY = join(homedir(), ".claude", "plans");
10
+ const always = () => true;
11
+ const never = () => false;
12
+ const isPlanFile = (call) => {
13
+ const filePath = readStringArg(call.args, "file_path");
14
+ if (filePath === undefined || !isAbsolute(filePath))
15
+ return false;
16
+ const inside = relative(PLANS_DIRECTORY, filePath);
17
+ return inside.length > 0 && !inside.startsWith("..") && !isAbsolute(inside);
18
+ };
19
+ const isReadInsideRoots = (call, scope) => isAutoAllowedRead(call.toolName, call.args, scope.readRoots, scope.hostProjectRoot);
20
+ const isNotAlwaysAsk = (call, scope) => !isAlwaysAsk({
21
+ ...call,
22
+ hostProjectRoot: scope.hostProjectRoot,
23
+ alwaysAskDependencies: scope.settings.alwaysAskDependencies,
24
+ alwaysAskBlockRemoval: scope.settings.alwaysAskBlockRemoval,
25
+ });
26
+ const isCodeScope = (_call, scope) => effectiveGenerationMode(scope.settings.generationMode) === "vibe";
27
+ const runsInThisSession = (call) => call.args.isolation === undefined;
28
+ const POLICY_BY_REACH = {
29
+ readsPath: {
30
+ runsInSafeScope: always,
31
+ isLeftToClassifier: isReadInsideRoots,
32
+ isLeftToCli: always,
33
+ },
34
+ editsFile: {
35
+ runsInSafeScope: isPlanFile,
36
+ isLeftToClassifier: isNotAlwaysAsk,
37
+ isLeftToCli: isNotAlwaysAsk,
38
+ },
39
+ runsCommand: {
40
+ runsInSafeScope: never,
41
+ isLeftToClassifier: never,
42
+ isLeftToCli: never,
43
+ },
44
+ runsLater: {
45
+ runsInSafeScope: never,
46
+ isLeftToClassifier: never,
47
+ isLeftToCli: always,
48
+ },
49
+ fetchesWeb: {
50
+ runsInSafeScope: always,
51
+ isLeftToClassifier: isCodeScope,
52
+ isLeftToCli: always,
53
+ },
54
+ startsAgent: {
55
+ runsInSafeScope: runsInThisSession,
56
+ isLeftToClassifier: runsInThisSession,
57
+ isLeftToCli: always,
58
+ },
59
+ asksPerson: {
60
+ runsInSafeScope: always,
61
+ isLeftToClassifier: never,
62
+ isLeftToCli: always,
63
+ },
64
+ inert: {
65
+ runsInSafeScope: always,
66
+ isLeftToClassifier: always,
67
+ isLeftToCli: always,
68
+ },
69
+ reachesOutside: {
70
+ runsInSafeScope: never,
71
+ isLeftToClassifier: never,
72
+ isLeftToCli: always,
73
+ },
74
+ };
75
+ const STRICTEST_COLUMN = "isLeftToClassifier";
76
+ const COLUMN_BY_MODE = new Map(Object.entries({
77
+ default: "isLeftToCli",
78
+ acceptEdits: "isLeftToCli",
79
+ auto: "isLeftToClassifier",
80
+ dontAsk: STRICTEST_COLUMN,
81
+ bypassPermissions: STRICTEST_COLUMN,
82
+ plan: null,
83
+ }));
84
+ function cliSettlesIn(permissionMode) {
85
+ if (permissionMode === undefined)
86
+ return STRICTEST_COLUMN;
87
+ const column = COLUMN_BY_MODE.get(permissionMode);
88
+ return column === undefined ? STRICTEST_COLUMN : column;
89
+ }
90
+ export function isFirstPartyMcpTool(toolName) {
91
+ return FIRST_PARTY_AUTO_ALLOW_TOOL_NAMES.has(toolName);
92
+ }
93
+ export function runsInSafeScope(call, scope) {
94
+ if (isFirstPartyMcpTool(call.toolName))
95
+ return true;
96
+ const reach = toolReachOf(call.toolName);
97
+ if (reach === undefined)
98
+ return false;
99
+ return POLICY_BY_REACH[reach].runsInSafeScope(call, scope);
100
+ }
101
+ export function isHostDecided(call, scope, permissionMode) {
102
+ const column = cliSettlesIn(permissionMode);
103
+ if (column === null)
104
+ return false;
105
+ if (isFirstPartyMcpTool(call.toolName))
106
+ return true;
107
+ const reach = toolReachOf(call.toolName);
108
+ if (reach === undefined)
109
+ return true;
110
+ return !POLICY_BY_REACH[reach][column](call, scope);
111
+ }
112
+ //# sourceMappingURL=tool-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-guard.js","sourceRoot":"","sources":["../../../src/providers/claude/tool-guard.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,23 @@
1
1
  import type { RunnerEvent } from "../../agent/runner-events.js";
2
+ import { type JsonValue } from "../../protocol/json.js";
2
3
  import type { CodexNotification } from "./client.js";
4
+ export interface CodexMcpCall {
5
+ id: string;
6
+ server: string;
7
+ tool: string;
8
+ arguments: JsonValue;
9
+ }
10
+ export declare function mcpToolName(server: string, tool: string): string;
3
11
  export interface CodexFileChange {
4
12
  path: string;
5
13
  kind: string;
6
14
  diff: string;
15
+ movePath?: string;
7
16
  }
8
17
  export interface CodexAdapter {
9
18
  handle(notification: CodexNotification): RunnerEvent[];
10
19
  getChangedPaths(itemId: string): string[];
11
20
  getChanges(itemId: string): CodexFileChange[];
21
+ pendingMcpCalls(): CodexMcpCall[];
12
22
  }
13
23
  export declare function createCodexAdapter(): CodexAdapter;
@@ -1,6 +1,5 @@
1
1
  import { z } from "zod";
2
2
  import { CODEX_ACTIVITY_BY_METHOD, CODEX_TURN_FAILED_MESSAGE, } from "../../constants/codex.js";
3
- import { MCP_TOOL_NAME_PREFIX } from "../../constants/mcp.js";
4
3
  import { BASH_COMMAND_ARG, EDIT_FILE_PATH_ARG, TOOL_LEXICON, } from "../../constants/tool-lexicon.js";
5
4
  import { JsonValueSchema } from "../../protocol/json.js";
6
5
  const CALL_ID_INDEX_SEPARATOR = ":";
@@ -24,7 +23,10 @@ const fileChangeItemSchema = z.object({
24
23
  id: z.string(),
25
24
  changes: z.array(z.object({
26
25
  path: z.string(),
27
- kind: z.object({ type: z.string() }),
26
+ kind: z.object({
27
+ type: z.string(),
28
+ move_path: z.string().nullish(),
29
+ }),
28
30
  diff: z.string(),
29
31
  })),
30
32
  status: z.string(),
@@ -32,6 +34,7 @@ const fileChangeItemSchema = z.object({
32
34
  const mcpToolCallItemSchema = z.object({
33
35
  type: z.literal("mcpToolCall"),
34
36
  id: z.string(),
37
+ server: z.string(),
35
38
  tool: z.string(),
36
39
  status: z.string(),
37
40
  arguments: JsonValueSchema.optional(),
@@ -72,6 +75,9 @@ const turnCompletedParamsSchema = z.object({
72
75
  })
73
76
  .optional(),
74
77
  });
78
+ export function mcpToolName(server, tool) {
79
+ return `mcp__${server}__${tool}`;
80
+ }
75
81
  function toolUse(callId, toolName, args) {
76
82
  return { type: "tool_use", callId, toolName, args };
77
83
  }
@@ -81,6 +87,10 @@ function toolResult(callId, result, isError) {
81
87
  function isFailure(status) {
82
88
  return FAILED_ITEM_STATUSES.includes(status);
83
89
  }
90
+ function toMcpCall(item) {
91
+ const { id, server, tool } = item;
92
+ return { id, server, tool, arguments: item.arguments ?? null };
93
+ }
84
94
  function changeCallId(itemId, index) {
85
95
  return `${itemId}${CALL_ID_INDEX_SEPARATOR}${index}`;
86
96
  }
@@ -143,6 +153,7 @@ function createCallTracker() {
143
153
  export function createCodexAdapter() {
144
154
  const { openCallIds, open, close, closeMatching } = createCallTracker();
145
155
  const changesByItemId = new Map();
156
+ const mcpCallsById = new Map();
146
157
  function startCommand(item) {
147
158
  return [
148
159
  open(item.id, TOOL_LEXICON.BASH, {
@@ -155,15 +166,16 @@ export function createCodexAdapter() {
155
166
  path: change.path,
156
167
  kind: change.kind.type,
157
168
  diff: change.diff,
169
+ movePath: change.kind.move_path ?? undefined,
158
170
  })));
159
171
  return item.changes.map((change, index) => open(changeCallId(item.id, index), TOOL_LEXICON.EDIT, {
160
172
  [EDIT_FILE_PATH_ARG]: change.path,
161
173
  }));
162
174
  }
163
175
  function startMcpToolCall(item) {
164
- return [
165
- open(item.id, `${MCP_TOOL_NAME_PREFIX}${item.tool}`, item.arguments ?? null),
166
- ];
176
+ const call = toMcpCall(item);
177
+ mcpCallsById.set(call.id, call);
178
+ return [open(call.id, mcpToolName(call.server, call.tool), call.arguments)];
167
179
  }
168
180
  function completeCommand(item) {
169
181
  return close(item.id, { output: item.aggregatedOutput, exitCode: item.exitCode }, isFailure(item.status));
@@ -174,6 +186,7 @@ export function createCodexAdapter() {
174
186
  return [...paired, ...closeMatching(item.id, null, failed)];
175
187
  }
176
188
  function completeMcpToolCall(item) {
189
+ mcpCallsById.delete(item.id);
177
190
  const failed = item.error !== null || isFailure(item.status);
178
191
  return close(item.id, item.error ?? item.result, failed);
179
192
  }
@@ -202,6 +215,7 @@ export function createCodexAdapter() {
202
215
  function handleTurnCompleted(params) {
203
216
  const { turn } = params;
204
217
  const status = turn?.status ?? "completed";
218
+ mcpCallsById.clear();
205
219
  const orphans = [...openCallIds]
206
220
  .flatMap((callId) => close(callId, INTERRUPTED_RESULT, true))
207
221
  .map((event) => ({ ...event, isStopped: true }));
@@ -214,6 +228,7 @@ export function createCodexAdapter() {
214
228
  return {
215
229
  getChangedPaths: (itemId) => (changesByItemId.get(itemId) ?? []).map((change) => change.path),
216
230
  getChanges: (itemId) => changesByItemId.get(itemId) ?? [],
231
+ pendingMcpCalls: () => [...mcpCallsById.values()],
217
232
  handle(notification) {
218
233
  switch (notification.method) {
219
234
  case "item/started": {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/providers/codex/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAkB,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzE,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACpD,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAiB;IACzD,CAAC,SAAS,EAAE,SAAS,CAAC;IACtB,CAAC,YAAY,EAAE,aAAa,CAAC;IAC7B,CAAC,WAAW,EAAE,WAAW,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IAC7B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC,CACH;IACD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC9B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACjC,0BAA0B;QAC1B,oBAAoB;QACpB,qBAAqB;KACtB,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;QACjC,0BAA0B;QAC1B,oBAAoB;QACpB,qBAAqB;QACrB,sBAAsB;KACvB,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7E,CAAC,CAAC;AAEH,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE;KACnD,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AA6BH,SAAS,OAAO,CACd,MAAc,EACd,QAAgB,EAChB,IAAe;IAEf,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACtD,CAAC;AAED,SAAS,UAAU,CACjB,MAAc,EACd,MAA6B,EAC7B,OAAgB;IAEhB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,SAAS,CAAC,MAAc;IAC/B,OAAO,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,YAAY,CAAC,MAAc,EAAE,KAAa;IACjD,OAAO,GAAG,MAAM,GAAG,uBAAuB,GAAG,KAAK,EAAE,CAAC;AACvD,CAAC;AAQD,SAAS,iBAAiB,CACxB,MAA+C,EAC/C,GAAW;IAEX,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,IAAI,CAAC,IAAI;QAClB,UAAU,EAAE,IAAI,CAAC,IAAI;QACrB,MAAM,EAAE,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;KACnE,CAAC,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,GAAG,uBAAuB,GAAG,GAAG,EAAE,CAAC;IAC5E,OAAO;QACL,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC;QACnD,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAc;IACpC,MAAM,IAAI,GAAG,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,uBAAuB,CAC9B,MAAqD;IAErD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAsB;IAClD,IAAI,IAAI,CAAC,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACvD,CAAC;AAGD,SAAS,eAAe,CAAC,YAA+B;IACtD,IAAI,YAAY,CAAC,MAAM,KAAK,yBAAyB,EAAE,CAAC;QACtD,OAAO,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,MAAM,GAAG,6BAA6B,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,CAAC;AAQD,SAAS,iBAAiB;IACxB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,SAAS,IAAI,CACX,MAAc,EACd,QAAgB,EAChB,IAAe;QAEf,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxB,OAAO,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,KAAK,CACZ,MAAc,EACd,MAA6B,EAC7B,OAAgB;QAEhB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAC3C,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC;IAGD,SAAS,aAAa,CACpB,MAAc,EACd,MAA6B,EAC7B,OAAgB;QAEhB,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,uBAAuB,EAAE,CAAC;QACrD,OAAO,CAAC,GAAG,WAAW,CAAC;aACpB,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aAClE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACxE,MAAM,eAAe,GAAG,IAAI,GAAG,EAA6B,CAAC;IAE7D,SAAS,YAAY,CAAC,IAA0B;QAC9C,OAAO;YACL,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE;gBAC/B,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,OAAO;aACjC,CAAC;SACH,CAAC;IACJ,CAAC;IAMD,SAAS,eAAe,CAAC,IAAoB;QAC3C,eAAe,CAAC,GAAG,CACjB,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC5B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;YACtB,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC,CAAC,CACJ,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CACxC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,YAAY,CAAC,IAAI,EAAE;YACpD,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,IAAI;SAClC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,SAAS,gBAAgB,CAAC,IAAqB;QAC7C,OAAO;YACL,IAAI,CACF,IAAI,CAAC,EAAE,EACP,GAAG,oBAAoB,GAAG,IAAI,CAAC,IAAI,EAAE,EACrC,IAAI,CAAC,SAAS,IAAI,IAAI,CACvB;SACF,CAAC;IACJ,CAAC;IAED,SAAS,eAAe,CAAC,IAA0B;QACjD,OAAO,KAAK,CACV,IAAI,CAAC,EAAE,EACP,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAC1D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CACvB,CAAC;IACJ,CAAC;IAMD,SAAS,kBAAkB,CAAC,IAAoB;QAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CACpD,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CACnE,CAAC;QACF,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,SAAS,mBAAmB,CAAC,IAAqB;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAOD,SAAS,SAAS,CAAC,IAAiB;QAClC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,kBAAkB;gBACrB,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5B,KAAK,YAAY;gBACf,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,aAAa;gBAChB,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,SAAS,YAAY,CAAC,IAAmB;QACvC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,kBAAkB;gBACrB,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;YAC/B,KAAK,YAAY;gBACf,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAClC,KAAK,aAAa;gBAChB,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,cAAc;gBACjB,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAQD,SAAS,mBAAmB,CAC1B,MAAiD;QAEjD,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,EAAE,MAAM,IAAI,WAAW,CAAC;QAC3C,MAAM,OAAO,GAAG,CAAC,GAAG,WAAW,CAAC;aAC7B,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;aAC5D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,yBAAyB,CAAC;YAClE,OAAO,CAAC,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,CAAC,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAC1B,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAClE,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;QACzD,MAAM,CAAC,YAAY;YACjB,QAAQ,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC5B,KAAK,cAAc,CAAC,CAAC,CAAC;oBACpB,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAClE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,CAAC;gBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;oBACtB,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACpE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9D,CAAC;gBACD,KAAK,mBAAmB,CAAC,CAAC,CAAC;oBACzB,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBACtE,OAAO,MAAM,CAAC,OAAO;wBACnB,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;wBAClD,CAAC,CAAC,EAAE,CAAC;gBACT,CAAC;gBACD,KAAK,gBAAgB;oBACnB,OAAO,mBAAmB,CACxB,yBAAyB,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,EAAE,CACpE,CAAC;gBACJ;oBACE,OAAO,eAAe,CAAC,YAAY,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/providers/codex/adapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Readable, Writable } from "node:stream";
2
+ import { z } from "zod";
2
3
  import type { JsonValue } from "./protocol/serde_json.js";
3
4
  export interface CodexNotification {
4
5
  method: string;
@@ -18,7 +19,8 @@ export interface CodexRequestOptions {
18
19
  timeoutMs?: number;
19
20
  }
20
21
  export interface CodexClient {
21
- request<T>(method: string, params?: JsonValue, options?: CodexRequestOptions): Promise<T>;
22
+ request(method: string, params?: JsonValue, options?: CodexRequestOptions): Promise<void>;
23
+ requestDecoded<S extends z.ZodType>(schema: S, method: string, params?: JsonValue, options?: CodexRequestOptions): Promise<z.output<S>>;
22
24
  notify(method: string, params?: JsonValue): void;
23
25
  abort(reason: Error): void;
24
26
  }
@@ -13,6 +13,17 @@ function isServerRequest(frame) {
13
13
  function isResponse(frame) {
14
14
  return frame.id !== undefined && frame.method === undefined;
15
15
  }
16
+ function settleFrame(schema, frame, resolve, reject) {
17
+ if (frame.error !== undefined) {
18
+ reject(new Error(frame.error.message));
19
+ return;
20
+ }
21
+ const decoded = schema.safeParse(frame.result);
22
+ if (decoded.success)
23
+ resolve(decoded.data);
24
+ else
25
+ reject(decoded.error);
26
+ }
16
27
  function parseFrame(line) {
17
28
  try {
18
29
  return jsonRpcFrameSchema.parse(JSON.parse(line));
@@ -59,7 +70,8 @@ export function createCodexClient(stdin, stdout, handlers) {
59
70
  })
60
71
  .then((result) => write({ id, result }))
61
72
  .catch((error) => {
62
- write({ id, error: { code: -32603, message: error.message } });
73
+ const message = error instanceof Error ? error.message : String(error);
74
+ write({ id, error: { code: -32603, message } });
63
75
  });
64
76
  }
65
77
  function dispatch(frame) {
@@ -87,7 +99,7 @@ export function createCodexClient(stdin, stdout, handlers) {
87
99
  dispatch(frame);
88
100
  }
89
101
  }
90
- function trackRequest(id, options) {
102
+ function trackRequest(id, options, schema) {
91
103
  return new Promise((resolve, reject) => {
92
104
  const timer = options?.timeoutMs === undefined
93
105
  ? null
@@ -106,11 +118,7 @@ export function createCodexClient(stdin, stdout, handlers) {
106
118
  },
107
119
  settle: (frame) => {
108
120
  clear();
109
- if (frame.error !== undefined) {
110
- reject(new Error(frame.error.message));
111
- return;
112
- }
113
- resolve(frame.result);
121
+ settleFrame(schema, frame, resolve, reject);
114
122
  },
115
123
  });
116
124
  });
@@ -118,15 +126,19 @@ export function createCodexClient(stdin, stdout, handlers) {
118
126
  stdout.setEncoding("utf8");
119
127
  stdout.on("data", (chunk) => consume(chunk));
120
128
  stdout.on("close", () => abort(new Error(CODEX_TRANSPORT_CLOSED_MESSAGE)));
129
+ const requestDecoded = (schema, method, params, options) => {
130
+ if (aborted !== null)
131
+ return Promise.reject(aborted);
132
+ const id = nextId++;
133
+ const settled = trackRequest(id, options, schema);
134
+ write({ id, method, params: params ?? {} });
135
+ return settled;
136
+ };
121
137
  return {
122
- request(method, params, options) {
123
- if (aborted !== null)
124
- return Promise.reject(aborted);
125
- const id = nextId++;
126
- const settled = trackRequest(id, options);
127
- write({ id, method, params: params ?? {} });
128
- return settled;
138
+ async request(method, params, options) {
139
+ await requestDecoded(z.unknown(), method, params, options);
129
140
  },
141
+ requestDecoded,
130
142
  notify(method, params) {
131
143
  write({ method, params: params ?? {} });
132
144
  },
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/providers/codex/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/providers/codex/client.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,15 @@
1
- import type { AppSettings } from "../../state/settings-types.js";
1
+ import type { AppSettings, TurnSettings } from "../../state/settings-types.js";
2
+ import { CODEX_READ_ONLY_PROFILE, type CodexPermissionInput } from "./permission-profiles.js";
2
3
  import type { v2 } from "./protocol/index.js";
3
- export interface CodexModePolicy {
4
- approvalPolicy: v2.AskForApproval;
5
- sandbox: v2.SandboxMode;
6
- networkAccess: boolean;
7
- writable: boolean;
8
- autoDeclineEscalations: boolean;
9
- }
10
4
  export interface CodexTurnOverrides {
11
5
  approvalPolicy: v2.AskForApproval;
12
- sandboxPolicy: v2.SandboxPolicy;
6
+ permissions: typeof CODEX_READ_ONLY_PROFILE;
13
7
  effort: string;
14
8
  }
15
- export interface CodexWorkspace {
16
- hostProjectRoot: string;
17
- moduleRoots: readonly string[];
18
- }
19
- export declare function resolveModePolicy(settings: AppSettings): CodexModePolicy;
20
- export declare function buildTurnOverrides(settings: AppSettings, workspace: CodexWorkspace): CodexTurnOverrides;
21
- export interface CodexConfigInput {
9
+ export declare function declinesEscalations(settings: TurnSettings): boolean;
10
+ export declare function buildTurnOverrides(settings: TurnSettings): CodexTurnOverrides;
11
+ export interface CodexConfigInput extends CodexPermissionInput {
22
12
  mcpUrl: string;
23
- hostProjectRoot: string;
24
13
  nodePath: string;
25
14
  }
26
15
  export declare function buildConfigToml(input: CodexConfigInput): string;