@antelopejs/dms-ai 0.9.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 (208) 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 +15 -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 +7 -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/frontend-vue/app/chat/components/ChatView.vue +16 -49
  22. package/frontend-vue/app/chat/components/Composer.vue +23 -39
  23. package/frontend-vue/app/chat/components/NoticeCard.vue +9 -0
  24. package/frontend-vue/app/chat/components/ProviderNotice.vue +14 -3
  25. package/frontend-vue/app/chat/composables/conversation-events.ts +0 -3
  26. package/frontend-vue/app/chat/composables/useConversationMode.ts +8 -11
  27. package/frontend-vue/app/chat/composables/useFollowScroll.ts +77 -0
  28. package/frontend-vue/app/chat/constants/modes.ts +15 -0
  29. package/frontend-vue/app/chat/constants/protocol.ts +0 -1
  30. package/frontend-vue/app/chat/constants/settings.ts +1 -1
  31. package/frontend-vue/app/chat/types/protocol.ts +11 -9
  32. package/frontend-vue/app/chat/types/settings.ts +7 -2
  33. package/frontend-vue/app/chat/utils/permission-view.ts +1 -0
  34. package/frontend-vue/app/views/constants.ts +2 -0
  35. package/frontend-vue/app/views/types.ts +3 -1
  36. package/frontend-vue/i18n/locales/dms-ai-pages-en-GB.json +21 -11
  37. package/frontend-vue/i18n/locales/dms-ai-pages-fr-FR.json +21 -11
  38. package/frontend-vue/i18n/locales/dms-ai-panel-en-GB.json +11 -21
  39. package/frontend-vue/i18n/locales/dms-ai-panel-fr-FR.json +11 -21
  40. package/frontend-vue/i18n/locales/dms-ai-views-en-GB.json +2 -0
  41. package/frontend-vue/i18n/locales/dms-ai-views-fr-FR.json +2 -0
  42. package/frontend-vue/tests/chat/chat-scroll.test.ts +251 -0
  43. package/frontend-vue/tests/chat/conversation-events.test.ts +1 -3
  44. package/frontend-vue/tests/chat/provider-notice.test.ts +33 -0
  45. package/frontend-vue/tests/chat-panel.test.ts +2 -4
  46. package/frontend-vue/tests/panel-modes.test.ts +146 -0
  47. package/frontend-vue/tests/panel-questions.test.ts +1 -19
  48. package/frontend-vue/tests/panel-states.test.ts +3 -15
  49. package/frontend-vue/tests/support/fake-layout.ts +119 -0
  50. package/frontend-vue/tests/support/panel-harness.ts +14 -6
  51. package/frontend-vue/tests/support/setup-layout.ts +3 -0
  52. package/frontend-vue/tests/support/stubs.ts +2 -0
  53. package/frontend-vue/vitest.config.ts +1 -0
  54. package/package.json +4 -3
  55. package/sidecar/dist/agent/always-ask-files.d.ts +2 -0
  56. package/sidecar/dist/agent/always-ask-files.js +34 -0
  57. package/sidecar/dist/agent/always-ask-files.js.map +1 -0
  58. package/sidecar/dist/agent/conversation-modes.d.ts +3 -12
  59. package/sidecar/dist/agent/conversation-modes.js +16 -69
  60. package/sidecar/dist/agent/conversation-modes.js.map +1 -1
  61. package/sidecar/dist/agent/effective-mode.d.ts +2 -5
  62. package/sidecar/dist/agent/effective-mode.js +1 -15
  63. package/sidecar/dist/agent/effective-mode.js.map +1 -1
  64. package/sidecar/dist/agent/permission-bus.d.ts +1 -2
  65. package/sidecar/dist/agent/permission-bus.js +1 -3
  66. package/sidecar/dist/agent/permission-bus.js.map +1 -1
  67. package/sidecar/dist/agent/permission-preview.d.ts +6 -0
  68. package/sidecar/dist/agent/permission-preview.js +35 -10
  69. package/sidecar/dist/agent/permission-preview.js.map +1 -1
  70. package/sidecar/dist/agent/permission-rules.js +2 -2
  71. package/sidecar/dist/agent/permission-rules.js.map +1 -1
  72. package/sidecar/dist/agent/project-secrets.d.ts +7 -0
  73. package/sidecar/dist/agent/project-secrets.js +61 -0
  74. package/sidecar/dist/agent/project-secrets.js.map +1 -0
  75. package/sidecar/dist/agent/provider.d.ts +5 -4
  76. package/sidecar/dist/agent/runner.d.ts +3 -2
  77. package/sidecar/dist/agent/runner.js +9 -3
  78. package/sidecar/dist/agent/runner.js.map +1 -1
  79. package/sidecar/dist/agent/session.d.ts +3 -3
  80. package/sidecar/dist/agent/session.js.map +1 -1
  81. package/sidecar/dist/agent/tool-kinds.d.ts +7 -1
  82. package/sidecar/dist/agent/tool-kinds.js +24 -5
  83. package/sidecar/dist/agent/tool-kinds.js.map +1 -1
  84. package/sidecar/dist/audit/activity-query.js +2 -0
  85. package/sidecar/dist/audit/activity-query.js.map +1 -1
  86. package/sidecar/dist/audit/activity.js +1 -0
  87. package/sidecar/dist/audit/activity.js.map +1 -1
  88. package/sidecar/dist/builder/builder-client.js +13 -1
  89. package/sidecar/dist/builder/builder-client.js.map +1 -1
  90. package/sidecar/dist/constants/audit.d.ts +1 -3
  91. package/sidecar/dist/constants/audit.js +2 -1
  92. package/sidecar/dist/constants/audit.js.map +1 -1
  93. package/sidecar/dist/constants/builder.d.ts +3 -0
  94. package/sidecar/dist/constants/builder.js +3 -0
  95. package/sidecar/dist/constants/builder.js.map +1 -1
  96. package/sidecar/dist/constants/claude.d.ts +6 -0
  97. package/sidecar/dist/constants/claude.js +6 -0
  98. package/sidecar/dist/constants/claude.js.map +1 -1
  99. package/sidecar/dist/constants/codex.d.ts +4 -0
  100. package/sidecar/dist/constants/codex.js +4 -0
  101. package/sidecar/dist/constants/codex.js.map +1 -1
  102. package/sidecar/dist/constants/permissions.d.ts +2 -0
  103. package/sidecar/dist/constants/permissions.js +23 -0
  104. package/sidecar/dist/constants/permissions.js.map +1 -1
  105. package/sidecar/dist/constants/project-secrets.d.ts +5 -0
  106. package/sidecar/dist/constants/project-secrets.js +20 -0
  107. package/sidecar/dist/constants/project-secrets.js.map +1 -0
  108. package/sidecar/dist/constants/providers.d.ts +2 -0
  109. package/sidecar/dist/constants/providers.js +1 -0
  110. package/sidecar/dist/constants/providers.js.map +1 -1
  111. package/sidecar/dist/constants/settings.d.ts +1 -2
  112. package/sidecar/dist/constants/settings.js +2 -9
  113. package/sidecar/dist/constants/settings.js.map +1 -1
  114. package/sidecar/dist/constants/tool-kinds.d.ts +67 -2
  115. package/sidecar/dist/constants/tool-kinds.js +111 -34
  116. package/sidecar/dist/constants/tool-kinds.js.map +1 -1
  117. package/sidecar/dist/mcp/tools/builder-gate.js +3 -1
  118. package/sidecar/dist/mcp/tools/builder-gate.js.map +1 -1
  119. package/sidecar/dist/mcp/tools/builder-project.js +65 -3
  120. package/sidecar/dist/mcp/tools/builder-project.js.map +1 -1
  121. package/sidecar/dist/protocol/events.d.ts +97 -63
  122. package/sidecar/dist/protocol/events.js +14 -8
  123. package/sidecar/dist/protocol/events.js.map +1 -1
  124. package/sidecar/dist/protocol/messages.d.ts +54 -49
  125. package/sidecar/dist/protocol/messages.js +8 -13
  126. package/sidecar/dist/protocol/messages.js.map +1 -1
  127. package/sidecar/dist/providers/claude/config.d.ts +3 -3
  128. package/sidecar/dist/providers/claude/config.js +4 -2
  129. package/sidecar/dist/providers/claude/config.js.map +1 -1
  130. package/sidecar/dist/providers/claude/provider.js +20 -26
  131. package/sidecar/dist/providers/claude/provider.js.map +1 -1
  132. package/sidecar/dist/providers/claude/safe-mode.d.ts +5 -5
  133. package/sidecar/dist/providers/claude/safe-mode.js +49 -30
  134. package/sidecar/dist/providers/claude/safe-mode.js.map +1 -1
  135. package/sidecar/dist/providers/claude/secret-files.d.ts +2 -0
  136. package/sidecar/dist/providers/claude/secret-files.js +50 -0
  137. package/sidecar/dist/providers/claude/secret-files.js.map +1 -0
  138. package/sidecar/dist/providers/claude/session-stream.d.ts +4 -9
  139. package/sidecar/dist/providers/claude/session-stream.js +22 -0
  140. package/sidecar/dist/providers/claude/session-stream.js.map +1 -1
  141. package/sidecar/dist/providers/claude/tool-guard.d.ts +14 -0
  142. package/sidecar/dist/providers/claude/tool-guard.js +112 -0
  143. package/sidecar/dist/providers/claude/tool-guard.js.map +1 -0
  144. package/sidecar/dist/providers/codex/adapter.d.ts +10 -0
  145. package/sidecar/dist/providers/codex/adapter.js +20 -5
  146. package/sidecar/dist/providers/codex/adapter.js.map +1 -1
  147. package/sidecar/dist/providers/codex/config.d.ts +6 -17
  148. package/sidecar/dist/providers/codex/config.js +9 -56
  149. package/sidecar/dist/providers/codex/config.js.map +1 -1
  150. package/sidecar/dist/providers/codex/mcp-elicitation.d.ts +21 -0
  151. package/sidecar/dist/providers/codex/mcp-elicitation.js +66 -0
  152. package/sidecar/dist/providers/codex/mcp-elicitation.js.map +1 -0
  153. package/sidecar/dist/providers/codex/module.js +1 -1
  154. package/sidecar/dist/providers/codex/module.js.map +1 -1
  155. package/sidecar/dist/providers/codex/patch-directories.d.ts +6 -0
  156. package/sidecar/dist/providers/codex/patch-directories.js +53 -0
  157. package/sidecar/dist/providers/codex/patch-directories.js.map +1 -0
  158. package/sidecar/dist/providers/codex/permission-profiles.d.ts +11 -0
  159. package/sidecar/dist/providers/codex/permission-profiles.js +37 -0
  160. package/sidecar/dist/providers/codex/permission-profiles.js.map +1 -0
  161. package/sidecar/dist/providers/codex/permissions.d.ts +13 -4
  162. package/sidecar/dist/providers/codex/permissions.js +28 -2
  163. package/sidecar/dist/providers/codex/permissions.js.map +1 -1
  164. package/sidecar/dist/providers/codex/process.d.ts +1 -0
  165. package/sidecar/dist/providers/codex/process.js +3 -1
  166. package/sidecar/dist/providers/codex/process.js.map +1 -1
  167. package/sidecar/dist/providers/codex/protocol/common.d.ts +16 -4
  168. package/sidecar/dist/providers/codex/protocol/index.d.ts +2 -2
  169. package/sidecar/dist/providers/codex/protocol/index.js +1 -1
  170. package/sidecar/dist/providers/codex/protocol/index.js.map +1 -1
  171. package/sidecar/dist/providers/codex/protocol/v2.d.ts +23 -32
  172. package/sidecar/dist/providers/codex/provider.js +13 -12
  173. package/sidecar/dist/providers/codex/provider.js.map +1 -1
  174. package/sidecar/dist/providers/codex/secret-file-globs.d.ts +2 -0
  175. package/sidecar/dist/providers/codex/secret-file-globs.js +45 -0
  176. package/sidecar/dist/providers/codex/secret-file-globs.js.map +1 -0
  177. package/sidecar/dist/providers/types.d.ts +3 -1
  178. package/sidecar/dist/providers/types.js +2 -2
  179. package/sidecar/dist/providers/types.js.map +1 -1
  180. package/sidecar/dist/server/http-routes.js +1 -1
  181. package/sidecar/dist/server/http-routes.js.map +1 -1
  182. package/sidecar/dist/server/permission-events.d.ts +1 -1
  183. package/sidecar/dist/server/permission-events.js +5 -8
  184. package/sidecar/dist/server/permission-events.js.map +1 -1
  185. package/sidecar/dist/server/routing.js +0 -5
  186. package/sidecar/dist/server/routing.js.map +1 -1
  187. package/sidecar/dist/server/tool-calls.d.ts +0 -2
  188. package/sidecar/dist/server/tool-calls.js +7 -8
  189. package/sidecar/dist/server/tool-calls.js.map +1 -1
  190. package/sidecar/dist/server/turns.js +9 -1
  191. package/sidecar/dist/server/turns.js.map +1 -1
  192. package/sidecar/dist/server/ws.js +4 -15
  193. package/sidecar/dist/server/ws.js.map +1 -1
  194. package/sidecar/dist/skills/skill-usage.js +2 -2
  195. package/sidecar/dist/skills/skill-usage.js.map +1 -1
  196. package/sidecar/dist/state/settings-store.d.ts +13 -5
  197. package/sidecar/dist/state/settings-store.js +33 -8
  198. package/sidecar/dist/state/settings-store.js.map +1 -1
  199. package/sidecar/dist/state/settings-types.d.ts +15 -2
  200. package/sidecar/dist/state/settings-types.js +14 -1
  201. package/sidecar/dist/state/settings-types.js.map +1 -1
  202. package/sidecar/dist/state/types.d.ts +7 -6
  203. package/sidecar/dist/state/types.js.map +1 -1
  204. package/sidecar/package.json +1 -1
  205. package/skills/dms-ai/SKILL.md +2 -1
  206. package/skills/dms-external-database/SKILL.md +5 -2
  207. package/frontend-vue/app/chat/components/FullAutoBanner.vue +0 -76
  208. package/frontend-vue/app/chat/components/FullAutoDialog.vue +0 -103
@@ -1,12 +1,77 @@
1
+ export type ToolReach = "readsPath" | "editsFile" | "runsCommand" | "runsLater" | "fetchesWeb" | "startsAgent" | "asksPerson" | "inert" | "reachesOutside";
2
+ export declare const BUILTIN_TOOL_REACH: {
3
+ readonly Read: "readsPath";
4
+ readonly Glob: "readsPath";
5
+ readonly Grep: "readsPath";
6
+ readonly LS: "readsPath";
7
+ readonly NotebookRead: "readsPath";
8
+ readonly Write: "editsFile";
9
+ readonly Edit: "editsFile";
10
+ readonly MultiEdit: "editsFile";
11
+ readonly NotebookEdit: "editsFile";
12
+ readonly Bash: "runsCommand";
13
+ readonly PowerShell: "runsCommand";
14
+ readonly Monitor: "runsCommand";
15
+ readonly LSP: "runsCommand";
16
+ readonly CronCreate: "runsLater";
17
+ readonly CronDelete: "runsLater";
18
+ readonly ScheduleWakeup: "runsLater";
19
+ readonly RemoteTrigger: "runsLater";
20
+ readonly Workflow: "runsLater";
21
+ readonly ProposeGoal: "runsLater";
22
+ readonly WebFetch: "fetchesWeb";
23
+ readonly WebSearch: "fetchesWeb";
24
+ readonly Agent: "startsAgent";
25
+ readonly Task: "startsAgent";
26
+ readonly AskUserQuestion: "asksPerson";
27
+ readonly ToolSearch: "inert";
28
+ readonly TodoWrite: "inert";
29
+ readonly TaskCreate: "inert";
30
+ readonly TaskGet: "inert";
31
+ readonly TaskUpdate: "inert";
32
+ readonly TaskList: "inert";
33
+ readonly TaskStop: "inert";
34
+ readonly Skill: "inert";
35
+ readonly EnterPlanMode: "inert";
36
+ readonly ExitPlanMode: "inert";
37
+ readonly ListAgents: "inert";
38
+ readonly CronList: "inert";
39
+ readonly SubagentHandback: "inert";
40
+ readonly ReportFindings: "inert";
41
+ readonly EndConversation: "inert";
42
+ readonly WaitForMcpServers: "inert";
43
+ readonly ListMcpResourcesTool: "inert";
44
+ readonly ReadMcpResourceTool: "inert";
45
+ readonly ReadMcpResourceDirTool: "inert";
46
+ readonly SendMessage: "reachesOutside";
47
+ readonly EnterWorktree: "reachesOutside";
48
+ readonly ExitWorktree: "reachesOutside";
49
+ readonly PushNotification: "reachesOutside";
50
+ readonly Artifact: "reachesOutside";
51
+ readonly ClaudeDesign: "reachesOutside";
52
+ readonly DesignSync: "reachesOutside";
53
+ readonly Projects: "reachesOutside";
54
+ readonly SendToProject: "reachesOutside";
55
+ readonly SendToProjectContext: "reachesOutside";
56
+ readonly SendFeedback: "reachesOutside";
57
+ readonly SendUserFile: "reachesOutside";
58
+ readonly SendUserMessage: "reachesOutside";
59
+ readonly ShareOnboardingGuide: "reachesOutside";
60
+ readonly ShowOnboardingRolePicker: "reachesOutside";
61
+ readonly OfferChromeSetup: "reachesOutside";
62
+ readonly ReadNotifications: "reachesOutside";
63
+ readonly propose_skills: "reachesOutside";
64
+ };
1
65
  export declare const EDIT_TOOL_NAMES: readonly string[];
2
- export declare const COMMAND_TOOL_NAMES: readonly string[];
66
+ export declare const BASH_TOOL_NAMES: readonly string[];
3
67
  export declare const WEB_TOOL_NAMES: readonly string[];
4
68
  export declare const BUILTIN_READ_TOOL_NAMES: readonly string[];
5
69
  export declare const BUILDER_READ_TOOL_NAMES: readonly string[];
6
70
  export declare const BUILDER_DESTRUCTIVE_TOOL_NAMES: readonly string[];
7
71
  export declare const BUILDER_BLOCK_REMOVAL_TOOL_NAMES: readonly string[];
8
- export declare const BUILDER_DELETE_RESOURCE_TOOL_NAME = "BuilderDeleteResource";
9
72
  export declare const BUILDER_CONFIG_TOOL_NAMES: readonly string[];
73
+ export declare const BUILDER_PAGE_REMOVING_TOOL_NAMES: readonly string[];
74
+ export declare const BUILDER_DELETE_RESOURCE_TOOL_NAME = "BuilderDeleteResource";
10
75
  export declare const PROJECT_READ_TOOL_NAMES: readonly string[];
11
76
  export declare const ASSISTANT_TOOL_NAMES: readonly string[];
12
77
  export declare const BUILDER_MUTATING_TOOL_NAMES: readonly string[];
@@ -5,14 +5,75 @@ import { ASK_USER_TOOL_NAME, GET_CURRENT_PAGE_TOOL_NAME, NAVIGATE_TOOL_NAME, } f
5
5
  import { FIND_PAGES_TOOL_NAME, LIST_PAGES_TOOL_NAME } from "./pages.js";
6
6
  import { PREVIEW_BLOCKS_TOOL_NAME } from "./preview.js";
7
7
  import { TYPECHECK_TOOL_NAME } from "./typecheck.js";
8
- export const EDIT_TOOL_NAMES = [
9
- "Edit",
10
- "Write",
11
- "MultiEdit",
12
- "NotebookEdit",
13
- ];
14
- export const COMMAND_TOOL_NAMES = ["Bash"];
15
- export const WEB_TOOL_NAMES = ["WebFetch", "WebSearch"];
8
+ export const BUILTIN_TOOL_REACH = {
9
+ Read: "readsPath",
10
+ Glob: "readsPath",
11
+ Grep: "readsPath",
12
+ LS: "readsPath",
13
+ NotebookRead: "readsPath",
14
+ Write: "editsFile",
15
+ Edit: "editsFile",
16
+ MultiEdit: "editsFile",
17
+ NotebookEdit: "editsFile",
18
+ Bash: "runsCommand",
19
+ PowerShell: "runsCommand",
20
+ Monitor: "runsCommand",
21
+ LSP: "runsCommand",
22
+ CronCreate: "runsLater",
23
+ CronDelete: "runsLater",
24
+ ScheduleWakeup: "runsLater",
25
+ RemoteTrigger: "runsLater",
26
+ Workflow: "runsLater",
27
+ ProposeGoal: "runsLater",
28
+ WebFetch: "fetchesWeb",
29
+ WebSearch: "fetchesWeb",
30
+ Agent: "startsAgent",
31
+ Task: "startsAgent",
32
+ AskUserQuestion: "asksPerson",
33
+ ToolSearch: "inert",
34
+ TodoWrite: "inert",
35
+ TaskCreate: "inert",
36
+ TaskGet: "inert",
37
+ TaskUpdate: "inert",
38
+ TaskList: "inert",
39
+ TaskStop: "inert",
40
+ Skill: "inert",
41
+ EnterPlanMode: "inert",
42
+ ExitPlanMode: "inert",
43
+ ListAgents: "inert",
44
+ CronList: "inert",
45
+ SubagentHandback: "inert",
46
+ ReportFindings: "inert",
47
+ EndConversation: "inert",
48
+ WaitForMcpServers: "inert",
49
+ ListMcpResourcesTool: "inert",
50
+ ReadMcpResourceTool: "inert",
51
+ ReadMcpResourceDirTool: "inert",
52
+ SendMessage: "reachesOutside",
53
+ EnterWorktree: "reachesOutside",
54
+ ExitWorktree: "reachesOutside",
55
+ PushNotification: "reachesOutside",
56
+ Artifact: "reachesOutside",
57
+ ClaudeDesign: "reachesOutside",
58
+ DesignSync: "reachesOutside",
59
+ Projects: "reachesOutside",
60
+ SendToProject: "reachesOutside",
61
+ SendToProjectContext: "reachesOutside",
62
+ SendFeedback: "reachesOutside",
63
+ SendUserFile: "reachesOutside",
64
+ SendUserMessage: "reachesOutside",
65
+ ShareOnboardingGuide: "reachesOutside",
66
+ ShowOnboardingRolePicker: "reachesOutside",
67
+ OfferChromeSetup: "reachesOutside",
68
+ ReadNotifications: "reachesOutside",
69
+ propose_skills: "reachesOutside",
70
+ };
71
+ function builtinToolsThat(reach) {
72
+ return Object.entries(BUILTIN_TOOL_REACH).flatMap(([name, toolReach]) => toolReach === reach ? [name] : []);
73
+ }
74
+ export const EDIT_TOOL_NAMES = builtinToolsThat("editsFile");
75
+ export const BASH_TOOL_NAMES = ["Bash"];
76
+ export const WEB_TOOL_NAMES = builtinToolsThat("fetchesWeb");
16
77
  export const BUILTIN_READ_TOOL_NAMES = [
17
78
  "Read",
18
79
  "LS",
@@ -24,33 +85,49 @@ export const BUILTIN_READ_TOOL_NAMES = [
24
85
  "Task",
25
86
  "ExitPlanMode",
26
87
  ];
27
- export const BUILDER_READ_TOOL_NAMES = [
28
- "BuilderCatalog",
29
- "BuilderListPages",
30
- "BuilderPageStructure",
31
- "BuilderListResources",
32
- "BuilderResourceStructure",
33
- "BuilderQueryTemplates",
34
- "BuilderPreviewQuery",
35
- "BuilderRefresh",
36
- "BuilderAnalyseDatabase",
37
- "BuilderMapping",
38
- ];
39
- export const BUILDER_DESTRUCTIVE_TOOL_NAMES = [
40
- "BuilderDeletePage",
41
- "BuilderDeleteResource",
42
- "BuilderRemoveField",
43
- "BuilderDeleteCategory",
44
- "BuilderRemoveQuery",
45
- ];
46
- export const BUILDER_BLOCK_REMOVAL_TOOL_NAMES = [
47
- "BuilderRemoveBlock",
48
- "BuilderMoveBlock",
49
- ];
88
+ const BUILDER_TOOL_KINDS = {
89
+ BuilderCatalog: "read",
90
+ BuilderListPages: "read",
91
+ BuilderPageStructure: "read",
92
+ BuilderCreatePage: "change",
93
+ BuilderConfigurePage: "change",
94
+ BuilderDeletePage: "deletion",
95
+ BuilderAddBlock: "change",
96
+ BuilderComposePage: "change",
97
+ BuilderConfigureBlock: "change",
98
+ BuilderConfigureTableView: "change",
99
+ BuilderMoveBlock: "blockRemoval",
100
+ BuilderRemoveBlock: "blockRemoval",
101
+ BuilderCreateCategory: "change",
102
+ BuilderConfigureCategory: "change",
103
+ BuilderDeleteCategory: "deletion",
104
+ BuilderRefresh: "read",
105
+ BuilderCreateResource: "change",
106
+ BuilderDeleteResource: "deletion",
107
+ BuilderListResources: "read",
108
+ BuilderResourceStructure: "read",
109
+ BuilderAddField: "change",
110
+ BuilderConfigureField: "change",
111
+ BuilderRemoveField: "deletion",
112
+ BuilderQueryTemplates: "read",
113
+ BuilderAddQuery: "change",
114
+ BuilderPreviewQuery: "read",
115
+ BuilderConfigureQuery: "change",
116
+ BuilderRemoveQuery: "deletion",
117
+ BuilderConfigureProject: "asksAfterDryRun",
118
+ BuilderMapResources: "asksWhenRemovingPages",
119
+ BuilderAnalyseDatabase: "read",
120
+ BuilderMapping: "read",
121
+ };
122
+ function builderToolsOf(kind) {
123
+ return BUILDER_TOOL_NAMES.filter((name) => BUILDER_TOOL_KINDS[name] === kind);
124
+ }
125
+ export const BUILDER_READ_TOOL_NAMES = builderToolsOf("read");
126
+ export const BUILDER_DESTRUCTIVE_TOOL_NAMES = builderToolsOf("deletion");
127
+ export const BUILDER_BLOCK_REMOVAL_TOOL_NAMES = builderToolsOf("blockRemoval");
128
+ export const BUILDER_CONFIG_TOOL_NAMES = builderToolsOf("asksAfterDryRun");
129
+ export const BUILDER_PAGE_REMOVING_TOOL_NAMES = builderToolsOf("asksWhenRemovingPages");
50
130
  export const BUILDER_DELETE_RESOURCE_TOOL_NAME = "BuilderDeleteResource";
51
- export const BUILDER_CONFIG_TOOL_NAMES = [
52
- "BuilderConfigureProject",
53
- ];
54
131
  export const PROJECT_READ_TOOL_NAMES = [
55
132
  GET_CURRENT_PAGE_TOOL_NAME,
56
133
  NAVIGATE_TOOL_NAME,
@@ -1 +1 @@
1
- {"version":3,"file":"tool-kinds.js","sourceRoot":"","sources":["../../src/constants/tool-kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,MAAM;IACN,OAAO;IACP,WAAW;IACX,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAG3E,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,MAAM;IACN,IAAI;IACJ,MAAM;IACN,MAAM;IACN,cAAc;IACd,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;CACf,CAAC;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,sBAAsB;IACtB,0BAA0B;IAC1B,uBAAuB;IACvB,qBAAqB;IACrB,gBAAgB;IAChB,wBAAwB;IACxB,gBAAgB;CACjB,CAAC;AAGF,MAAM,CAAC,MAAM,8BAA8B,GAAsB;IAC/D,mBAAmB;IACnB,uBAAuB;IACvB,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;CACrB,CAAC;AAGF,MAAM,CAAC,MAAM,gCAAgC,GAAsB;IACjE,oBAAoB;IACpB,kBAAkB;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,uBAAuB,CAAC;AAMzE,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,yBAAyB;CAC1B,CAAC;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,0BAA0B;IAC1B,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,GAAG,mBAAmB;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,kBAAkB;IAClB,wBAAwB;IACxB,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GACtC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC"}
1
+ {"version":3,"file":"tool-kinds.js","sourceRoot":"","sources":["../../src/constants/tool-kinds.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { isConfigBuilderTool, isMutatingBuilderTool, } from "../../agent/tool-kinds.js";
1
+ import { isConfigBuilderTool, isMutatingBuilderTool, isPageRemovingBuilderTool, } from "../../agent/tool-kinds.js";
2
2
  function refusal(message) {
3
3
  return { content: [{ type: "text", text: message ?? "" }], isError: true };
4
4
  }
@@ -7,6 +7,8 @@ function withGate(definition, gate) {
7
7
  return definition;
8
8
  if (isConfigBuilderTool(definition.name))
9
9
  return definition;
10
+ if (isPageRemovingBuilderTool(definition.name))
11
+ return definition;
10
12
  return {
11
13
  ...definition,
12
14
  handler: async (args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"builder-gate.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAsBnC,SAAS,OAAO,CAAC,OAA2B;IAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,QAAQ,CACf,UAAgC,EAChC,IAAiB;IAEjB,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/D,IAAI,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC5D,OAAO;QACL,GAAG,UAAU;QACb,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,OAAO,GACX,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAC9B,KAA6B,EAC7B,IAAiB;IAEjB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"builder-gate.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAsBnC,SAAS,OAAO,CAAC,OAA2B;IAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7E,CAAC;AAED,SAAS,QAAQ,CACf,UAAgC,EAChC,IAAiB;IAEjB,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/D,IAAI,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAC5D,IAAI,yBAAyB,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,UAAU,CAAC;IAClE,OAAO;QACL,GAAG,UAAU;QACb,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,SAAS;gBAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,OAAO,GACX,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAClE,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;KACF,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAC9B,KAA6B,EAC7B,IAAiB;IAEjB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { BUILDER_ANALYSE_DATABASE_TOOL_NAME, BUILDER_ANALYSIS_POLL_MS, BUILDER_ANALYSIS_WAIT_MS, BUILDER_CONFIGURE_PROJECT_TOOL_NAME, BUILDER_MAP_RESOURCES_TOOL_NAME, BUILDER_MAPPING_TOOL_NAME, } from "../../constants/builder.js";
2
+ import { BUILDER_ANALYSE_DATABASE_TOOL_NAME, BUILDER_ANALYSIS_POLL_MS, BUILDER_ANALYSIS_WAIT_MS, BUILDER_CONFIGURE_PROJECT_TOOL_NAME, BUILDER_MAP_RESOURCES_TOOL_NAME, BUILDER_MAPPING_TOOL_NAME, BUILDER_PREVIEW_MAP_RESOURCES_OP, BUILDER_UNKNOWN_OP, PAGES_TO_REMOVE_ARG, } from "../../constants/builder.js";
3
3
  import { defineTool, } from "../define-tool.js";
4
4
  import { TABLE_VIEW_SETTINGS } from "./builder-table-view-schema.js";
5
5
  export const PLANNED_CHANGES_ARG = "plannedChanges";
@@ -174,7 +174,7 @@ const ANALYSE_DATABASE_INPUT = {
174
174
  .optional()
175
175
  .describe("A running analysis's `id`, to read on instead of starting one."),
176
176
  };
177
- const MAP_RESOURCES_DESCRIPTION = "Maps relations of a connected database into a project module bound to it (created with BuilderConfigureProject): table classes and models with the database's names verbatim, DataAPI controllers and one TableView page per relation that has a key. Only your choices are sent: the Builder reads the relations' descriptions from its own catalog connection and checks every choice against them. A relation mapped before is rewritten from the new choices, its page created, kept or removed. `excluded` records relations decided against, so the next analysis does not propose them. Answers what was written and `leftOut`: columns a TableView cannot show, with why.";
177
+ const MAP_RESOURCES_DESCRIPTION = "Maps relations of a connected database into a project module bound to it (created with BuilderConfigureProject): table classes and models with the database's names verbatim, DataAPI controllers and one TableView page per relation that has a key. Only your choices are sent: the Builder reads the relations' descriptions from its own catalog connection and checks every choice against them. A relation mapped before is rewritten from the new choices, its page created, kept or removed; a mapping that would remove a page asks the person first, listing it, and a denial writes nothing, and a page that appeared after the person approved is never removed: that write is refused, so call again to ask. `excluded` records relations decided against, so the next analysis does not propose them. Answers what was written and `leftOut`: columns a TableView cannot show, with why.";
178
178
  const ANALYSE_DATABASE_DESCRIPTION = "Runs the Builder's analysis of a connected database: it reads the catalog and the profiles and proposes a mapping by fixed rules, writing nothing. Answers the proposal: resources in the shape BuilderMapResources takes, each choice with its rule and `kind` (`fact` from the catalog, or `default`, a judgement to check), the relations excluded and why, and `open`: what the rules could not decide, each with its options. Profiling is slow: when the analysis is still running after a minute this answers its progress and `job`; call again with that `job` to read on.";
179
179
  const MAPPING_DESCRIPTION = "The relations a module maps for a connection, read back from its code as their current choices, in the proposal's shape (every rule `mapped`), with `included`: the columns the module declares. Read it before mapping a relation again with BuilderMapResources, so you send its current choices with only what you change.";
180
180
  const ANALYSIS_ANSWER = z.object({
@@ -233,10 +233,72 @@ async function confirmedRun(client, gate, args) {
233
233
  }
234
234
  return opResult(await client.call("ConfigureProject", [steps]));
235
235
  }
236
+ const PREVIEW_ANSWER = z.object({
237
+ ok: z.literal(true),
238
+ data: z.object({ pagesToRemove: z.array(z.string()) }),
239
+ });
240
+ const ERROR_CODE = z.object({ error: z.object({ code: z.string() }) });
241
+ function isUnknownOp(answer) {
242
+ return ERROR_CODE.safeParse(answer).data?.error.code === BUILDER_UNKNOWN_OP;
243
+ }
244
+ const UNREADABLE_PREVIEW = {
245
+ ok: false,
246
+ error: {
247
+ code: "request_failed",
248
+ detail: `${BUILDER_PREVIEW_MAP_RESOURCES_OP} answered no pagesToRemove`,
249
+ },
250
+ };
251
+ const PREVIEW_UNSUPPORTED = {
252
+ ok: false,
253
+ error: {
254
+ code: "preview_unsupported",
255
+ detail: "this Builder version cannot preview page removals; update @antelopejs/dms-builder",
256
+ },
257
+ };
258
+ const UNAPPROVED_PAGES_PREFIX = "pages not approved for removal";
259
+ const REFUSAL = z.object({
260
+ ok: z.literal(false),
261
+ error: z.object({
262
+ issues: z.array(z.object({ message: z.string() })).optional(),
263
+ }),
264
+ });
265
+ function unapprovedPagesRefusal(answer) {
266
+ const message = REFUSAL.safeParse(answer).data?.error.issues?.find((issue) => issue.message.startsWith(UNAPPROVED_PAGES_PREFIX))?.message;
267
+ return message === undefined
268
+ ? undefined
269
+ : { content: [{ type: "text", text: message }], isError: true };
270
+ }
271
+ async function confirmedMapping(client, gate, input) {
272
+ const answer = await client.call(BUILDER_PREVIEW_MAP_RESOURCES_OP, [input]);
273
+ if (isUnknownOp(answer)) {
274
+ return opResult(PREVIEW_UNSUPPORTED);
275
+ }
276
+ const preview = PREVIEW_ANSWER.safeParse(answer);
277
+ if (!preview.success) {
278
+ const failed = OP_ANSWER.safeParse(answer).data?.ok === false;
279
+ return opResult(failed ? answer : UNREADABLE_PREVIEW);
280
+ }
281
+ if (gate) {
282
+ const decision = await gate(BUILDER_MAP_RESOURCES_TOOL_NAME, {
283
+ ...input,
284
+ [PAGES_TO_REMOVE_ARG]: preview.data.data.pagesToRemove,
285
+ });
286
+ if (!decision.isAllowed) {
287
+ return {
288
+ content: [{ type: "text", text: decision.message ?? "" }],
289
+ isError: true,
290
+ };
291
+ }
292
+ }
293
+ const written = await client.call("MapResources", [
294
+ { ...input, approvedPageRemovals: preview.data.data.pagesToRemove },
295
+ ]);
296
+ return unapprovedPagesRefusal(written) ?? opResult(written);
297
+ }
236
298
  export function buildProjectTools(client, gate) {
237
299
  return [
238
300
  defineTool(BUILDER_CONFIGURE_PROJECT_TOOL_NAME, CONFIGURE_PROJECT_DESCRIPTION, CONFIGURE_PROJECT_INPUT, (args) => confirmedRun(client, gate, args)),
239
- defineTool(BUILDER_MAP_RESOURCES_TOOL_NAME, MAP_RESOURCES_DESCRIPTION, MAP_RESOURCES_INPUT, async (input) => opResult(await client.call("MapResources", [input]))),
301
+ defineTool(BUILDER_MAP_RESOURCES_TOOL_NAME, MAP_RESOURCES_DESCRIPTION, MAP_RESOURCES_INPUT, (input) => confirmedMapping(client, gate, input)),
240
302
  defineTool(BUILDER_ANALYSE_DATABASE_TOOL_NAME, ANALYSE_DATABASE_DESCRIPTION, ANALYSE_DATABASE_INPUT, (args) => analysis(client, args)),
241
303
  defineTool(BUILDER_MAPPING_TOOL_NAME, MAPPING_DESCRIPTION, {
242
304
  connection: z
@@ -1 +1 @@
1
- {"version":3,"file":"builder-project.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder-project.js","sourceRoot":"","sources":["../../../src/mcp/tools/builder-project.ts"],"names":[],"mappings":"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"}