@antelopejs/dms-ai 0.8.0 → 0.9.1

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 (275) hide show
  1. package/README.md +2 -1
  2. package/dist/lifecycle/skill-sources.js +19 -146
  3. package/dist/lifecycle/skill-sources.js.map +1 -1
  4. package/dist/pages/settings/availability.js +8 -1
  5. package/dist/pages/settings/availability.js.map +1 -1
  6. package/dist/pages/settings/options.d.ts +2 -1
  7. package/dist/pages/settings/options.js +29 -8
  8. package/dist/pages/settings/options.js.map +1 -1
  9. package/dist/pages/settings/sections.js +25 -4
  10. package/dist/pages/settings/sections.js.map +1 -1
  11. package/dist/routes/builder.d.ts +3 -3
  12. package/dist/routes/builder.js +10 -2
  13. package/dist/routes/builder.js.map +1 -1
  14. package/dist/routes/settings.js +1 -1
  15. package/dist/routes/settings.js.map +1 -1
  16. package/dist/sidecar/settings-values.d.ts +3 -0
  17. package/dist/sidecar/settings-values.js +33 -1
  18. package/dist/sidecar/settings-values.js.map +1 -1
  19. package/dist/vocabulary/enumerations.js +2 -0
  20. package/dist/vocabulary/enumerations.js.map +1 -1
  21. package/dist/vocabulary/tools.js +3 -0
  22. package/dist/vocabulary/tools.js.map +1 -1
  23. package/frontend-vue/app/chat/components/ChatView.vue +53 -85
  24. package/frontend-vue/app/chat/components/Composer.vue +23 -39
  25. package/frontend-vue/app/chat/components/NoticeCard.vue +25 -0
  26. package/frontend-vue/app/chat/components/PanelHeader.vue +2 -6
  27. package/frontend-vue/app/chat/components/ProviderNotice.vue +14 -3
  28. package/frontend-vue/app/chat/composables/conversation-events.ts +4 -3
  29. package/frontend-vue/app/chat/composables/useConversation.ts +6 -0
  30. package/frontend-vue/app/chat/composables/useConversationMode.ts +8 -11
  31. package/frontend-vue/app/chat/composables/useFollowScroll.ts +77 -0
  32. package/frontend-vue/app/chat/constants/modes.ts +15 -0
  33. package/frontend-vue/app/chat/constants/protocol.ts +0 -1
  34. package/frontend-vue/app/chat/constants/settings.ts +1 -1
  35. package/frontend-vue/app/chat/types/protocol.ts +19 -9
  36. package/frontend-vue/app/chat/types/settings.ts +7 -2
  37. package/frontend-vue/app/chat/utils/permission-view.ts +1 -0
  38. package/frontend-vue/app/chat/utils/status-label.ts +50 -0
  39. package/frontend-vue/app/chat/utils/tool-lexicon.ts +16 -0
  40. package/frontend-vue/app/plugins/ai.client.ts +2 -2
  41. package/frontend-vue/app/runtime/assistant-actions.ts +4 -2
  42. package/frontend-vue/app/runtime/assistant-session.ts +5 -1
  43. package/frontend-vue/app/runtime/block-health.ts +135 -0
  44. package/frontend-vue/app/runtime/constants.ts +1 -0
  45. package/frontend-vue/app/runtime/navigation-complete.ts +47 -6
  46. package/frontend-vue/app/runtime/panel-intents.ts +6 -2
  47. package/frontend-vue/app/views/constants.ts +2 -0
  48. package/frontend-vue/app/views/types.ts +3 -1
  49. package/frontend-vue/i18n/locales/dms-ai-pages-en-GB.json +28 -11
  50. package/frontend-vue/i18n/locales/dms-ai-pages-fr-FR.json +28 -11
  51. package/frontend-vue/i18n/locales/dms-ai-panel-en-GB.json +17 -22
  52. package/frontend-vue/i18n/locales/dms-ai-panel-fr-FR.json +17 -22
  53. package/frontend-vue/i18n/locales/dms-ai-views-en-GB.json +2 -0
  54. package/frontend-vue/i18n/locales/dms-ai-views-fr-FR.json +2 -0
  55. package/frontend-vue/tests/assistant-actions.test.ts +37 -0
  56. package/frontend-vue/tests/block-health.test.ts +142 -0
  57. package/frontend-vue/tests/chat/chat-scroll.test.ts +251 -0
  58. package/frontend-vue/tests/chat/conversation-events.test.ts +35 -3
  59. package/frontend-vue/tests/chat/provider-notice.test.ts +33 -0
  60. package/frontend-vue/tests/chat/tool-lexicon.test.ts +1 -0
  61. package/frontend-vue/tests/chat-panel.test.ts +2 -4
  62. package/frontend-vue/tests/navigation.test.ts +67 -2
  63. package/frontend-vue/tests/panel-modes.test.ts +146 -0
  64. package/frontend-vue/tests/panel-questions.test.ts +1 -19
  65. package/frontend-vue/tests/panel-states.test.ts +3 -15
  66. package/frontend-vue/tests/support/fake-layout.ts +119 -0
  67. package/frontend-vue/tests/support/panel-harness.ts +16 -8
  68. package/frontend-vue/tests/support/setup-layout.ts +3 -0
  69. package/frontend-vue/tests/support/stubs.ts +2 -0
  70. package/frontend-vue/vitest.config.ts +1 -0
  71. package/package.json +6 -5
  72. package/sidecar/dist/agent/always-ask-files.d.ts +2 -0
  73. package/sidecar/dist/agent/always-ask-files.js +34 -0
  74. package/sidecar/dist/agent/always-ask-files.js.map +1 -0
  75. package/sidecar/dist/agent/conversation-modes.d.ts +3 -12
  76. package/sidecar/dist/agent/conversation-modes.js +16 -69
  77. package/sidecar/dist/agent/conversation-modes.js.map +1 -1
  78. package/sidecar/dist/agent/effective-mode.d.ts +2 -5
  79. package/sidecar/dist/agent/effective-mode.js +1 -15
  80. package/sidecar/dist/agent/effective-mode.js.map +1 -1
  81. package/sidecar/dist/agent/permission-bus.d.ts +1 -2
  82. package/sidecar/dist/agent/permission-bus.js +1 -3
  83. package/sidecar/dist/agent/permission-bus.js.map +1 -1
  84. package/sidecar/dist/agent/permission-preview.d.ts +6 -0
  85. package/sidecar/dist/agent/permission-preview.js +35 -10
  86. package/sidecar/dist/agent/permission-preview.js.map +1 -1
  87. package/sidecar/dist/agent/permission-rules.js +2 -2
  88. package/sidecar/dist/agent/permission-rules.js.map +1 -1
  89. package/sidecar/dist/agent/project-secrets.d.ts +7 -0
  90. package/sidecar/dist/agent/project-secrets.js +61 -0
  91. package/sidecar/dist/agent/project-secrets.js.map +1 -0
  92. package/sidecar/dist/agent/provider.d.ts +10 -4
  93. package/sidecar/dist/agent/runner.d.ts +8 -2
  94. package/sidecar/dist/agent/runner.js +11 -3
  95. package/sidecar/dist/agent/runner.js.map +1 -1
  96. package/sidecar/dist/agent/session.d.ts +3 -3
  97. package/sidecar/dist/agent/session.js.map +1 -1
  98. package/sidecar/dist/agent/tool-kinds.d.ts +7 -1
  99. package/sidecar/dist/agent/tool-kinds.js +24 -5
  100. package/sidecar/dist/agent/tool-kinds.js.map +1 -1
  101. package/sidecar/dist/audit/activity-query.js +2 -0
  102. package/sidecar/dist/audit/activity-query.js.map +1 -1
  103. package/sidecar/dist/audit/activity.js +1 -0
  104. package/sidecar/dist/audit/activity.js.map +1 -1
  105. package/sidecar/dist/builder/builder-client.js +14 -2
  106. package/sidecar/dist/builder/builder-client.js.map +1 -1
  107. package/sidecar/dist/constants/audit.d.ts +1 -3
  108. package/sidecar/dist/constants/audit.js +2 -1
  109. package/sidecar/dist/constants/audit.js.map +1 -1
  110. package/sidecar/dist/constants/builder.d.ts +5 -1
  111. package/sidecar/dist/constants/builder.js +15 -0
  112. package/sidecar/dist/constants/builder.js.map +1 -1
  113. package/sidecar/dist/constants/claude.d.ts +8 -0
  114. package/sidecar/dist/constants/claude.js +8 -0
  115. package/sidecar/dist/constants/claude.js.map +1 -1
  116. package/sidecar/dist/constants/codex.d.ts +4 -0
  117. package/sidecar/dist/constants/codex.js +4 -0
  118. package/sidecar/dist/constants/codex.js.map +1 -1
  119. package/sidecar/dist/constants/mcp.d.ts +1 -1
  120. package/sidecar/dist/constants/mcp.js +1 -1
  121. package/sidecar/dist/constants/mcp.js.map +1 -1
  122. package/sidecar/dist/constants/native-binary.d.ts +5 -2
  123. package/sidecar/dist/constants/native-binary.js +5 -2
  124. package/sidecar/dist/constants/native-binary.js.map +1 -1
  125. package/sidecar/dist/constants/permissions.d.ts +2 -0
  126. package/sidecar/dist/constants/permissions.js +23 -0
  127. package/sidecar/dist/constants/permissions.js.map +1 -1
  128. package/sidecar/dist/constants/project-secrets.d.ts +5 -0
  129. package/sidecar/dist/constants/project-secrets.js +20 -0
  130. package/sidecar/dist/constants/project-secrets.js.map +1 -0
  131. package/sidecar/dist/constants/providers.d.ts +2 -0
  132. package/sidecar/dist/constants/providers.js +1 -0
  133. package/sidecar/dist/constants/providers.js.map +1 -1
  134. package/sidecar/dist/constants/settings.d.ts +2 -2
  135. package/sidecar/dist/constants/settings.js +4 -9
  136. package/sidecar/dist/constants/settings.js.map +1 -1
  137. package/sidecar/dist/constants/timing.d.ts +1 -0
  138. package/sidecar/dist/constants/timing.js +1 -0
  139. package/sidecar/dist/constants/timing.js.map +1 -1
  140. package/sidecar/dist/constants/tool-kinds.d.ts +67 -2
  141. package/sidecar/dist/constants/tool-kinds.js +111 -33
  142. package/sidecar/dist/constants/tool-kinds.js.map +1 -1
  143. package/sidecar/dist/mcp/tools/builder-compose.d.ts +51 -0
  144. package/sidecar/dist/mcp/tools/builder-compose.js +96 -0
  145. package/sidecar/dist/mcp/tools/builder-compose.js.map +1 -0
  146. package/sidecar/dist/mcp/tools/builder-gate.js +3 -1
  147. package/sidecar/dist/mcp/tools/builder-gate.js.map +1 -1
  148. package/sidecar/dist/mcp/tools/builder-project.js +119 -4
  149. package/sidecar/dist/mcp/tools/builder-project.js.map +1 -1
  150. package/sidecar/dist/mcp/tools/builder-queries.d.ts +31 -0
  151. package/sidecar/dist/mcp/tools/builder-queries.js +30 -13
  152. package/sidecar/dist/mcp/tools/builder-queries.js.map +1 -1
  153. package/sidecar/dist/mcp/tools/builder-table-view-schema.d.ts +99 -0
  154. package/sidecar/dist/mcp/tools/builder-table-view-schema.js +118 -0
  155. package/sidecar/dist/mcp/tools/builder-table-view-schema.js.map +1 -0
  156. package/sidecar/dist/mcp/tools/builder-table-view.d.ts +102 -0
  157. package/sidecar/dist/mcp/tools/builder-table-view.js +24 -0
  158. package/sidecar/dist/mcp/tools/builder-table-view.js.map +1 -0
  159. package/sidecar/dist/mcp/tools/builder.d.ts +135 -1
  160. package/sidecar/dist/mcp/tools/builder.js +17 -4
  161. package/sidecar/dist/mcp/tools/builder.js.map +1 -1
  162. package/sidecar/dist/mcp/tools/navigate-to-page.js +12 -4
  163. package/sidecar/dist/mcp/tools/navigate-to-page.js.map +1 -1
  164. package/sidecar/dist/pages/block-health.d.ts +14 -0
  165. package/sidecar/dist/pages/block-health.js +60 -0
  166. package/sidecar/dist/pages/block-health.js.map +1 -0
  167. package/sidecar/dist/prompts/agent.d.ts +1 -1
  168. package/sidecar/dist/prompts/agent.js +4 -3
  169. package/sidecar/dist/prompts/agent.js.map +1 -1
  170. package/sidecar/dist/protocol/events.d.ts +140 -63
  171. package/sidecar/dist/protocol/events.js +24 -8
  172. package/sidecar/dist/protocol/events.js.map +1 -1
  173. package/sidecar/dist/protocol/messages.d.ts +111 -49
  174. package/sidecar/dist/protocol/messages.js +30 -13
  175. package/sidecar/dist/protocol/messages.js.map +1 -1
  176. package/sidecar/dist/providers/claude/config.d.ts +19 -5
  177. package/sidecar/dist/providers/claude/config.js +21 -7
  178. package/sidecar/dist/providers/claude/config.js.map +1 -1
  179. package/sidecar/dist/providers/claude/model-fallback.d.ts +9 -0
  180. package/sidecar/dist/providers/claude/model-fallback.js +37 -0
  181. package/sidecar/dist/providers/claude/model-fallback.js.map +1 -0
  182. package/sidecar/dist/providers/claude/provider.js +35 -40
  183. package/sidecar/dist/providers/claude/provider.js.map +1 -1
  184. package/sidecar/dist/providers/claude/resolve-binary.js +18 -13
  185. package/sidecar/dist/providers/claude/resolve-binary.js.map +1 -1
  186. package/sidecar/dist/providers/claude/safe-mode.d.ts +5 -5
  187. package/sidecar/dist/providers/claude/safe-mode.js +49 -30
  188. package/sidecar/dist/providers/claude/safe-mode.js.map +1 -1
  189. package/sidecar/dist/providers/claude/secret-files.d.ts +2 -0
  190. package/sidecar/dist/providers/claude/secret-files.js +50 -0
  191. package/sidecar/dist/providers/claude/secret-files.js.map +1 -0
  192. package/sidecar/dist/providers/claude/session-stream.d.ts +18 -0
  193. package/sidecar/dist/providers/claude/session-stream.js +80 -0
  194. package/sidecar/dist/providers/claude/session-stream.js.map +1 -0
  195. package/sidecar/dist/providers/claude/tool-guard.d.ts +14 -0
  196. package/sidecar/dist/providers/claude/tool-guard.js +112 -0
  197. package/sidecar/dist/providers/claude/tool-guard.js.map +1 -0
  198. package/sidecar/dist/providers/codex/adapter.d.ts +10 -0
  199. package/sidecar/dist/providers/codex/adapter.js +20 -5
  200. package/sidecar/dist/providers/codex/adapter.js.map +1 -1
  201. package/sidecar/dist/providers/codex/config.d.ts +6 -17
  202. package/sidecar/dist/providers/codex/config.js +9 -56
  203. package/sidecar/dist/providers/codex/config.js.map +1 -1
  204. package/sidecar/dist/providers/codex/mcp-elicitation.d.ts +21 -0
  205. package/sidecar/dist/providers/codex/mcp-elicitation.js +66 -0
  206. package/sidecar/dist/providers/codex/mcp-elicitation.js.map +1 -0
  207. package/sidecar/dist/providers/codex/module.js +1 -1
  208. package/sidecar/dist/providers/codex/module.js.map +1 -1
  209. package/sidecar/dist/providers/codex/patch-directories.d.ts +6 -0
  210. package/sidecar/dist/providers/codex/patch-directories.js +53 -0
  211. package/sidecar/dist/providers/codex/patch-directories.js.map +1 -0
  212. package/sidecar/dist/providers/codex/permission-profiles.d.ts +11 -0
  213. package/sidecar/dist/providers/codex/permission-profiles.js +37 -0
  214. package/sidecar/dist/providers/codex/permission-profiles.js.map +1 -0
  215. package/sidecar/dist/providers/codex/permissions.d.ts +13 -4
  216. package/sidecar/dist/providers/codex/permissions.js +28 -2
  217. package/sidecar/dist/providers/codex/permissions.js.map +1 -1
  218. package/sidecar/dist/providers/codex/process.d.ts +1 -0
  219. package/sidecar/dist/providers/codex/process.js +3 -1
  220. package/sidecar/dist/providers/codex/process.js.map +1 -1
  221. package/sidecar/dist/providers/codex/protocol/common.d.ts +16 -4
  222. package/sidecar/dist/providers/codex/protocol/index.d.ts +2 -2
  223. package/sidecar/dist/providers/codex/protocol/index.js +1 -1
  224. package/sidecar/dist/providers/codex/protocol/index.js.map +1 -1
  225. package/sidecar/dist/providers/codex/protocol/v2.d.ts +23 -32
  226. package/sidecar/dist/providers/codex/provider.js +13 -12
  227. package/sidecar/dist/providers/codex/provider.js.map +1 -1
  228. package/sidecar/dist/providers/codex/secret-file-globs.d.ts +2 -0
  229. package/sidecar/dist/providers/codex/secret-file-globs.js +45 -0
  230. package/sidecar/dist/providers/codex/secret-file-globs.js.map +1 -0
  231. package/sidecar/dist/providers/types.d.ts +3 -1
  232. package/sidecar/dist/providers/types.js +2 -2
  233. package/sidecar/dist/providers/types.js.map +1 -1
  234. package/sidecar/dist/server/chat-events.js +1 -0
  235. package/sidecar/dist/server/chat-events.js.map +1 -1
  236. package/sidecar/dist/server/http-routes.js +1 -1
  237. package/sidecar/dist/server/http-routes.js.map +1 -1
  238. package/sidecar/dist/server/navigation-completer.d.ts +15 -2
  239. package/sidecar/dist/server/navigation-completer.js +42 -41
  240. package/sidecar/dist/server/navigation-completer.js.map +1 -1
  241. package/sidecar/dist/server/permission-events.d.ts +1 -1
  242. package/sidecar/dist/server/permission-events.js +5 -8
  243. package/sidecar/dist/server/permission-events.js.map +1 -1
  244. package/sidecar/dist/server/routing.js +11 -6
  245. package/sidecar/dist/server/routing.js.map +1 -1
  246. package/sidecar/dist/server/tool-calls.d.ts +0 -2
  247. package/sidecar/dist/server/tool-calls.js +7 -8
  248. package/sidecar/dist/server/tool-calls.js.map +1 -1
  249. package/sidecar/dist/server/turns.js +17 -1
  250. package/sidecar/dist/server/turns.js.map +1 -1
  251. package/sidecar/dist/server/ws.js +4 -15
  252. package/sidecar/dist/server/ws.js.map +1 -1
  253. package/sidecar/dist/skills/skill-usage.js +2 -2
  254. package/sidecar/dist/skills/skill-usage.js.map +1 -1
  255. package/sidecar/dist/state/conversations.d.ts +1 -0
  256. package/sidecar/dist/state/conversations.js +8 -0
  257. package/sidecar/dist/state/conversations.js.map +1 -1
  258. package/sidecar/dist/state/settings-store.d.ts +14 -5
  259. package/sidecar/dist/state/settings-store.js +34 -8
  260. package/sidecar/dist/state/settings-store.js.map +1 -1
  261. package/sidecar/dist/state/settings-types.d.ts +16 -2
  262. package/sidecar/dist/state/settings-types.js +14 -1
  263. package/sidecar/dist/state/settings-types.js.map +1 -1
  264. package/sidecar/dist/state/types.d.ts +14 -6
  265. package/sidecar/dist/state/types.js.map +1 -1
  266. package/sidecar/package.json +3 -3
  267. package/skills/dms-ai/SKILL.md +2 -1
  268. package/skills/dms-builder-safe/REFERENCE.md +5 -6
  269. package/skills/dms-builder-safe/SKILL.md +12 -10
  270. package/skills/dms-external-database/REFERENCE.md +20 -8
  271. package/skills/dms-external-database/SKILL.md +69 -20
  272. package/skills/dms-page-design/SKILL.md +192 -0
  273. package/skills/dms-page-design/cases.json +57 -0
  274. package/frontend-vue/app/chat/components/FullAutoBanner.vue +0 -76
  275. package/frontend-vue/app/chat/components/FullAutoDialog.vue +0 -103
@@ -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":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/providers/codex/adapter.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;
@@ -4,70 +4,21 @@ import { CHATGPT_TOKEN_SECRET_ENV, CHATGPT_TOKEN_URL_ENV, CODEX_AUTH_COMMAND_TIM
4
4
  import { CODEX_DENIAL_REMINDER_COUNT_TOKEN, CODEX_DENIAL_REMINDER_TEMPLATE, CODEX_DENIAL_REMINDER_THRESHOLD, CODEX_MCP_SERVER_ID, CODEX_MCP_TOKEN_ENV_VAR, CODEX_MODEL_PROVIDER_BASE_URL, CODEX_MODEL_PROVIDER_ID, CODEX_MODEL_PROVIDER_NAME, CODEX_MODEL_PROVIDER_WIRE_API, } from "../../constants/codex.js";
5
5
  import { MCP_TOOL_TIMEOUT_SEC } from "../../constants/mcp.js";
6
6
  import { SAFE_MODE_DENIED_MESSAGE } from "../../constants/settings.js";
7
- const CODEX_MODE_POLICIES = {
8
- normal: {
9
- approvalPolicy: "on-request",
10
- sandbox: "read-only",
11
- networkAccess: false,
12
- writable: false,
13
- autoDeclineEscalations: false,
14
- },
15
- acceptEdits: {
16
- approvalPolicy: "on-request",
17
- sandbox: "workspace-write",
18
- networkAccess: false,
19
- writable: true,
20
- autoDeclineEscalations: false,
21
- },
22
- plan: {
23
- approvalPolicy: "on-request",
24
- sandbox: "read-only",
25
- networkAccess: false,
26
- writable: false,
27
- autoDeclineEscalations: true,
28
- },
29
- };
7
+ import { buildPermissionProfileToml, CODEX_READ_ONLY_PROFILE, } from "./permission-profiles.js";
8
+ const CODEX_APPROVAL_POLICY = "on-request";
30
9
  const CODEX_EFFORT_BY_THINKING = {
31
10
  off: "low",
32
11
  low: "low",
33
12
  medium: "medium",
34
13
  high: "high",
35
14
  };
36
- function writableRoots(workspace) {
37
- const roots = [workspace.hostProjectRoot, ...workspace.moduleRoots];
38
- return [...new Set(roots.map((root) => path.resolve(root)))];
39
- }
40
- function buildSandboxPolicy(policy, workspace) {
41
- if (policy.sandbox === "danger-full-access")
42
- return { type: "dangerFullAccess" };
43
- if (!policy.writable) {
44
- return { type: "readOnly", networkAccess: policy.networkAccess };
45
- }
46
- return {
47
- type: "workspaceWrite",
48
- writableRoots: writableRoots(workspace),
49
- networkAccess: policy.networkAccess,
50
- excludeTmpdirEnvVar: false,
51
- excludeSlashTmp: false,
52
- };
53
- }
54
- export function resolveModePolicy(settings) {
55
- const base = CODEX_MODE_POLICIES[settings.mode];
56
- if (effectiveGenerationMode(settings.generationMode) !== "safe")
57
- return base;
58
- return {
59
- ...base,
60
- sandbox: "read-only",
61
- writable: false,
62
- networkAccess: false,
63
- autoDeclineEscalations: true,
64
- };
15
+ export function declinesEscalations(settings) {
16
+ return settings.mode === "plan" || isSafeMode(settings);
65
17
  }
66
- export function buildTurnOverrides(settings, workspace) {
67
- const policy = resolveModePolicy(settings);
18
+ export function buildTurnOverrides(settings) {
68
19
  return {
69
- approvalPolicy: policy.approvalPolicy,
70
- sandboxPolicy: buildSandboxPolicy(policy, workspace),
20
+ approvalPolicy: CODEX_APPROVAL_POLICY,
21
+ permissions: CODEX_READ_ONLY_PROFILE,
71
22
  effort: CODEX_EFFORT_BY_THINKING[settings.thinking],
72
23
  };
73
24
  }
@@ -89,6 +40,7 @@ export function buildConfigToml(input) {
89
40
  return [
90
41
  "project_doc_max_bytes = 0",
91
42
  `model_provider = ${tomlString(CODEX_MODEL_PROVIDER_ID)}`,
43
+ `default_permissions = ${tomlString(CODEX_READ_ONLY_PROFILE)}`,
92
44
  "",
93
45
  `[model_providers.${CODEX_MODEL_PROVIDER_ID}]`,
94
46
  `name = ${tomlString(CODEX_MODEL_PROVIDER_NAME)}`,
@@ -111,6 +63,7 @@ export function buildConfigToml(input) {
111
63
  `[projects.${tomlString(path.resolve(input.hostProjectRoot))}]`,
112
64
  'trust_level = "untrusted"',
113
65
  "",
66
+ ...buildPermissionProfileToml(input),
114
67
  ].join("\n");
115
68
  }
116
69
  export function isSafeMode(settings) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/providers/codex/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,EAC/B,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AA2BvE,MAAM,mBAAmB,GAAsC;IAC7D,MAAM,EAAE;QACN,cAAc,EAAE,YAAY;QAC5B,OAAO,EAAE,WAAW;QACpB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;QACf,sBAAsB,EAAE,KAAK;KAC9B;IAMD,WAAW,EAAE;QACX,cAAc,EAAE,YAAY;QAC5B,OAAO,EAAE,iBAAiB;QAC1B,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,IAAI;QACd,sBAAsB,EAAE,KAAK;KAC9B;IACD,IAAI,EAAE;QACJ,cAAc,EAAE,YAAY;QAC5B,OAAO,EAAE,WAAW;QACpB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,KAAK;QACf,sBAAsB,EAAE,IAAI;KAC7B;CACF,CAAC;AAOF,MAAM,wBAAwB,GAAkC;IAC9D,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAaF,SAAS,aAAa,CAAC,SAAyB;IAC9C,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAuB,EACvB,SAAyB;IAEzB,IAAI,MAAM,CAAC,OAAO,KAAK,oBAAoB;QACzC,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAAC;IACnE,CAAC;IACD,OAAO;QACL,IAAI,EAAE,gBAAgB;QACtB,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC;QACvC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,mBAAmB,EAAE,KAAK;QAC1B,eAAe,EAAE,KAAK;KACvB,CAAC;AACJ,CAAC;AAWD,MAAM,UAAU,iBAAiB,CAAC,QAAqB;IACrD,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,uBAAuB,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC7E,OAAO;QACL,GAAG,IAAI;QACP,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,KAAK;QACpB,sBAAsB,EAAE,IAAI;KAC7B,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,kBAAkB,CAChC,QAAqB,EACrB,SAAyB;IAEzB,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,aAAa,EAAE,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC;QACpD,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAeD,MAAM,mBAAmB,GAAG;IAC1B,4CAA4C,qBAAqB,KAAK;IACtE,uDAAuD,wBAAwB,KAAK;IACpF,KAAK;IACL,qCAAqC;IACrC,oEAAoE;IACpE,6BAA6B;CAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,SAAS,CAAC,MAAyB;IAC1C,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAClD,CAAC;AAqBD,MAAM,UAAU,eAAe,CAAC,KAAuB;IACrD,OAAO;QACL,2BAA2B;QAC3B,oBAAoB,UAAU,CAAC,uBAAuB,CAAC,EAAE;QACzD,EAAE;QACF,oBAAoB,uBAAuB,GAAG;QAC9C,UAAU,UAAU,CAAC,yBAAyB,CAAC,EAAE;QACjD,cAAc,UAAU,CAAC,6BAA6B,CAAC,EAAE;QACzD,cAAc,UAAU,CAAC,6BAA6B,CAAC,EAAE;QACzD,8BAA8B;QAC9B,6BAA6B;QAC7B,EAAE;QACF,oBAAoB,uBAAuB,QAAQ;QACnD,aAAa,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QACzC,UAAU,SAAS,CAAC,CAAC,qBAAqB,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE;QACzE,gBAAgB,6BAA6B,EAAE;QAC/C,yBAAyB,8BAA8B,EAAE;QACzD,EAAE;QACF,gBAAgB,mBAAmB,GAAG;QACtC,SAAS,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACnC,0BAA0B,UAAU,CAAC,uBAAuB,CAAC,EAAE;QAC/D,sBAAsB,oBAAoB,EAAE;QAC5C,EAAE;QACF,aAAa,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG;QAC/D,2BAA2B;QAC3B,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAGD,MAAM,UAAU,UAAU,CAAC,QAAqB;IAC9C,OAAO,uBAAuB,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;AACrE,CAAC;AASD,MAAM,UAAU,0BAA0B,CACxC,QAAqB;IAErB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAUD,MAAM,UAAU,mBAAmB,CACjC,QAAqB,EACrB,kBAA0B;IAE1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,kBAAkB,GAAG,+BAA+B;QAAE,OAAO,SAAS,CAAC;IAC3E,OAAO,8BAA8B,CAAC,OAAO,CAC3C,iCAAiC,EACjC,MAAM,CAAC,kBAAkB,CAAC,CAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/providers/codex/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,+BAA+B,EAC/B,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,uBAAuB,EACvB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAMvE,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,GAExB,MAAM,0BAA0B,CAAC;AAUlC,MAAM,qBAAqB,GAAsB,YAAY,CAAC;AAO9D,MAAM,wBAAwB,GAAkC;IAC9D,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAC;AAcF,MAAM,UAAU,mBAAmB,CAAC,QAAsB;IACxD,OAAO,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAMD,MAAM,UAAU,kBAAkB,CAAC,QAAsB;IACvD,OAAO;QACL,cAAc,EAAE,qBAAqB;QACrC,WAAW,EAAE,uBAAuB;QACpC,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAcD,MAAM,mBAAmB,GAAG;IAC1B,4CAA4C,qBAAqB,KAAK;IACtE,uDAAuD,wBAAwB,KAAK;IACpF,KAAK;IACL,qCAAqC;IACrC,oEAAoE;IACpE,6BAA6B;CAC9B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,SAAS,CAAC,MAAyB;IAC1C,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAClD,CAAC;AAqBD,MAAM,UAAU,eAAe,CAAC,KAAuB;IACrD,OAAO;QACL,2BAA2B;QAC3B,oBAAoB,UAAU,CAAC,uBAAuB,CAAC,EAAE;QACzD,yBAAyB,UAAU,CAAC,uBAAuB,CAAC,EAAE;QAC9D,EAAE;QACF,oBAAoB,uBAAuB,GAAG;QAC9C,UAAU,UAAU,CAAC,yBAAyB,CAAC,EAAE;QACjD,cAAc,UAAU,CAAC,6BAA6B,CAAC,EAAE;QACzD,cAAc,UAAU,CAAC,6BAA6B,CAAC,EAAE;QACzD,8BAA8B;QAC9B,6BAA6B;QAC7B,EAAE;QACF,oBAAoB,uBAAuB,QAAQ;QACnD,aAAa,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QACzC,UAAU,SAAS,CAAC,CAAC,qBAAqB,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE;QACzE,gBAAgB,6BAA6B,EAAE;QAC/C,yBAAyB,8BAA8B,EAAE;QACzD,EAAE;QACF,gBAAgB,mBAAmB,GAAG;QACtC,SAAS,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACnC,0BAA0B,UAAU,CAAC,uBAAuB,CAAC,EAAE;QAC/D,sBAAsB,oBAAoB,EAAE;QAC5C,EAAE;QACF,aAAa,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,GAAG;QAC/D,2BAA2B;QAC3B,EAAE;QACF,GAAG,0BAA0B,CAAC,KAAK,CAAC;KACrC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAOD,MAAM,UAAU,UAAU,CAAC,QAAqB;IAC9C,OAAO,uBAAuB,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;AACrE,CAAC;AASD,MAAM,UAAU,0BAA0B,CACxC,QAAqB;IAErB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAUD,MAAM,UAAU,mBAAmB,CACjC,QAAqB,EACrB,kBAA0B;IAE1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,kBAAkB,GAAG,+BAA+B;QAAE,OAAO,SAAS,CAAC;IAC3E,OAAO,8BAA8B,CAAC,OAAO,CAC3C,iCAAiC,EACjC,MAAM,CAAC,kBAAkB,CAAC,CAC3B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { z } from "zod";
2
+ import type { ToolDecision } from "../../agent/provider.js";
3
+ import { type CodexMcpCall } from "./adapter.js";
4
+ export declare const CODEX_MCP_ELICITATION_METHOD = "mcpServer/elicitation/request";
5
+ export declare const mcpElicitationParamsSchema: z.ZodObject<{
6
+ serverName: z.ZodString;
7
+ mode: z.ZodString;
8
+ _meta: z.ZodOptional<z.ZodNullable<z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>>;
9
+ requestedSchema: z.ZodOptional<z.ZodType<import("../../protocol/json.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../../protocol/json.js").JsonValue, unknown>>>;
10
+ }, z.core.$strip>;
11
+ type McpElicitationParams = z.infer<typeof mcpElicitationParamsSchema>;
12
+ export type ElicitationVerdict = {
13
+ action: "accept";
14
+ decision: ToolDecision;
15
+ } | {
16
+ action: "decline";
17
+ reason: string;
18
+ decision?: ToolDecision;
19
+ };
20
+ export declare function decideElicitation(params: McpElicitationParams | undefined, pending: readonly CodexMcpCall[]): ElicitationVerdict;
21
+ export {};
@@ -0,0 +1,66 @@
1
+ import { isDeepStrictEqual } from "node:util";
2
+ import { z } from "zod";
3
+ import { isMutatingBuilderTool } from "../../agent/tool-kinds.js";
4
+ import { FIRST_PARTY_AUTO_ALLOW_TOOL_NAMES } from "../../constants/mcp.js";
5
+ import { JsonValueSchema } from "../../protocol/json.js";
6
+ import { mcpToolName } from "./adapter.js";
7
+ export const CODEX_MCP_ELICITATION_METHOD = "mcpServer/elicitation/request";
8
+ const MCP_TOOL_CALL_APPROVAL_KIND = "mcp_tool_call";
9
+ const toolCallConsentSchema = z.object({
10
+ serverName: z.string(),
11
+ mode: z.literal("form"),
12
+ _meta: z.object({
13
+ codex_approval_kind: z.literal(MCP_TOOL_CALL_APPROVAL_KIND),
14
+ tool_params: JsonValueSchema.optional(),
15
+ }),
16
+ requestedSchema: z.object({ properties: z.object({}).strict() }),
17
+ });
18
+ export const mcpElicitationParamsSchema = z.object({
19
+ serverName: z.string(),
20
+ mode: z.string(),
21
+ _meta: JsonValueSchema.nullish(),
22
+ requestedSchema: JsonValueSchema.optional(),
23
+ });
24
+ function findCall(consent, pending) {
25
+ const onServer = pending.filter((call) => call.server === consent.serverName);
26
+ const params = consent._meta.tool_params;
27
+ if (params === undefined)
28
+ return onServer.at(-1);
29
+ return onServer.find((call) => isDeepStrictEqual(call.arguments, params));
30
+ }
31
+ export function decideElicitation(params, pending) {
32
+ if (params === undefined) {
33
+ return { action: "decline", reason: "declined a malformed elicitation" };
34
+ }
35
+ const consent = toolCallConsentSchema.safeParse(params);
36
+ if (!consent.success) {
37
+ return {
38
+ action: "decline",
39
+ reason: `declined a ${params.mode} elicitation from MCP server ${params.serverName}: it asks for user input`,
40
+ };
41
+ }
42
+ const call = findCall(consent.data, pending);
43
+ if (call === undefined) {
44
+ return {
45
+ action: "decline",
46
+ reason: `declined a tool call from MCP server ${consent.data.serverName}: no call in flight matches it`,
47
+ };
48
+ }
49
+ const toolName = mcpToolName(call.server, call.tool);
50
+ if (!FIRST_PARTY_AUTO_ALLOW_TOOL_NAMES.has(toolName)) {
51
+ return {
52
+ action: "decline",
53
+ reason: `declined ${toolName}: not a dms-ai tool`,
54
+ decision: { callId: call.id, toolName, allowedBy: "blocked" },
55
+ };
56
+ }
57
+ return {
58
+ action: "accept",
59
+ decision: {
60
+ callId: call.id,
61
+ toolName,
62
+ allowedBy: isMutatingBuilderTool(toolName) ? "builder_auto" : "read_auto",
63
+ },
64
+ };
65
+ }
66
+ //# sourceMappingURL=mcp-elicitation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-elicitation.js","sourceRoot":"","sources":["../../../src/providers/codex/mcp-elicitation.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ function checkAvailability() {
34
34
  if (!installed.available)
35
35
  return installed;
36
36
  if (!readAccountStatus().isSignedIn) {
37
- return unavailable(PROVIDER_UNAVAILABLE_REASONS.CODEX_NOT_SIGNED_IN);
37
+ return unavailable(PROVIDER_UNAVAILABLE_REASONS.CODEX_NOT_SIGNED_IN, "codex_not_signed_in");
38
38
  }
39
39
  return AVAILABLE;
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/providers/codex/module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EACL,SAAS,EAGT,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAQ7B,IAAI,cAAc,GAAgC,IAAI,CAAC;AAOvD,SAAS,qBAAqB;IAC5B,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;IAChD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,OAAO,WAAW,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,mBAAmB,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,IAAI,uBAAuB,CAAC,YAAY,CAAC,EAAE,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,uBAAuB,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,WAAW,EAAE;QAAE,OAAO,qBAAqB,EAAE,CAAC;IAClD,cAAc,KAAK,qBAAqB,EAAE,CAAC;IAC3C,OAAO,cAAc,CAAC;AACxB,CAAC;AAOD,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,IAAI,CAAC,SAAS,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,WAAW,CAAC,4BAA4B,CAAC,mBAAmB,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAMD,SAAS,eAAe;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,SAAS;QAAE,OAAO;IAC9D,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,IAAI,8BAA8B,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAC3B,mBAAmB,CAAC;QAClB,GAAG,OAAO;QACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IACJ,iBAAiB;IAKjB,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC9B,eAAe,EAAE,CAAC;QAClB,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/providers/codex/module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EACL,SAAS,EAGT,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAQ7B,IAAI,cAAc,GAAgC,IAAI,CAAC;AAOvD,SAAS,qBAAqB;IAC5B,MAAM,YAAY,GAAG,wBAAwB,EAAE,CAAC;IAChD,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,4BAA4B,CAAC,iBAAiB,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7C,OAAO,WAAW,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,mBAAmB,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CACV,GAAG,gBAAgB,IAAI,uBAAuB,CAAC,YAAY,CAAC,EAAE,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,uBAAuB,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB;IACzB,IAAI,WAAW,EAAE;QAAE,OAAO,qBAAqB,EAAE,CAAC;IAClD,cAAc,KAAK,qBAAqB,EAAE,CAAC;IAC3C,OAAO,cAAc,CAAC;AACxB,CAAC;AAOD,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,IAAI,CAAC,SAAS,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,WAAW,CAChB,4BAA4B,CAAC,mBAAmB,EAChD,qBAAqB,CACtB,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAMD,SAAS,eAAe;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,SAAS;QAAE,OAAO;IAC9D,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,IAAI,8BAA8B,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAC3B,mBAAmB,CAAC;QAClB,GAAG,OAAO;QACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC;IACJ,iBAAiB;IAKjB,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC9B,eAAe,EAAE,CAAC;QAClB,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CodexFileChange } from "./adapter.js";
2
+ export interface PatchRoots {
3
+ hostProjectRoot: string;
4
+ roots: readonly string[];
5
+ }
6
+ export declare function createPatchDirectories(changes: readonly CodexFileChange[], { hostProjectRoot, roots }: PatchRoots): Promise<void>;
@@ -0,0 +1,53 @@
1
+ import { lstat, mkdir } from "node:fs/promises";
2
+ import { dirname, join, relative, sep } from "node:path";
3
+ import { isWithinDirectory, resolveInProject, } from "../../agent/edit-targets.js";
4
+ import { isSecretFileName } from "./secret-file-globs.js";
5
+ const ADD_KIND = "add";
6
+ function createdFiles(changes) {
7
+ return changes.flatMap((change) => {
8
+ if (change.kind === ADD_KIND)
9
+ return [change.path];
10
+ return change.movePath === undefined ? [] : [change.movePath];
11
+ });
12
+ }
13
+ async function makeDirectory(directory) {
14
+ try {
15
+ await mkdir(directory);
16
+ return true;
17
+ }
18
+ catch {
19
+ return false;
20
+ }
21
+ }
22
+ async function isRealDirectory(target) {
23
+ try {
24
+ return (await lstat(target)).isDirectory();
25
+ }
26
+ catch {
27
+ return undefined;
28
+ }
29
+ }
30
+ async function createParents(root, file) {
31
+ const segments = relative(root, file).split(sep);
32
+ if (segments.some(isSecretFileName))
33
+ return;
34
+ let current = root;
35
+ for (const segment of segments.slice(0, -1)) {
36
+ current = join(current, segment);
37
+ const existing = await isRealDirectory(current);
38
+ if (existing === false)
39
+ return;
40
+ if (existing === undefined && !(await makeDirectory(current)))
41
+ return;
42
+ }
43
+ }
44
+ export async function createPatchDirectories(changes, { hostProjectRoot, roots }) {
45
+ const deepestFirst = [...roots].sort((a, b) => b.length - a.length);
46
+ for (const created of createdFiles(changes)) {
47
+ const file = resolveInProject(hostProjectRoot, created);
48
+ const root = deepestFirst.find((candidate) => isWithinDirectory(candidate, dirname(file)));
49
+ if (root !== undefined)
50
+ await createParents(root, file);
51
+ }
52
+ }
53
+ //# sourceMappingURL=patch-directories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch-directories.js","sourceRoot":"","sources":["../../../src/providers/codex/patch-directories.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAQ1D,MAAM,QAAQ,GAAG,KAAK,CAAC;AAEvB,SAAS,YAAY,CAAC,OAAmC;IACvD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAChC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAiB;IAC5C,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,MAAc;IAC3C,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,IAAY;IACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAAE,OAAO;IAC5C,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,QAAQ,KAAK,KAAK;YAAE,OAAO;QAC/B,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;YAAE,OAAO;IACxE,CAAC;AACH,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAmC,EACnC,EAAE,eAAe,EAAE,KAAK,EAAc;IAEtC,MAAM,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IACpE,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC3C,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAC5C,CAAC;QACF,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const CODEX_READ_ONLY_PROFILE = "dms-ai-read-only";
2
+ export interface CodexPermissionProfile {
3
+ extraWorkspaceRoots: readonly string[];
4
+ unreadableGlobs: readonly string[];
5
+ }
6
+ export interface CodexPermissionInput {
7
+ hostProjectRoot: string;
8
+ moduleRoots: readonly string[];
9
+ }
10
+ export declare function buildPermissionProfile(input: CodexPermissionInput): CodexPermissionProfile;
11
+ export declare function buildPermissionProfileToml(input: CodexPermissionInput): string[];