@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
@@ -0,0 +1,119 @@
1
+ type ResizeCallback = () => void;
2
+
3
+ const observers = new Set<FakeResizeObserver>();
4
+ const pendingScrollEvents = new Set<() => void>();
5
+ const layoutPasses = new Set<() => void>();
6
+
7
+ /**
8
+ * jsdom has no layout, so no resize ever happens by itself: a test reports
9
+ * one with `settleLayout`, as the browser does once per frame.
10
+ */
11
+ class FakeResizeObserver {
12
+ private readonly targets = new Set<Element>();
13
+
14
+ constructor(private readonly callback: ResizeCallback) {
15
+ observers.add(this);
16
+ }
17
+
18
+ observe(target: Element): void {
19
+ this.targets.add(target);
20
+ }
21
+
22
+ unobserve(target: Element): void {
23
+ this.targets.delete(target);
24
+ }
25
+
26
+ disconnect(): void {
27
+ this.targets.clear();
28
+ }
29
+
30
+ deliver(): void {
31
+ if (this.targets.size > 0) this.callback();
32
+ }
33
+ }
34
+
35
+ export function installResizeObserver(): void {
36
+ Reflect.set(globalThis, "ResizeObserver", FakeResizeObserver);
37
+ }
38
+
39
+ function dispatchPendingScrollEvents(): void {
40
+ for (const dispatch of [...pendingScrollEvents]) dispatch();
41
+ pendingScrollEvents.clear();
42
+ }
43
+
44
+ /**
45
+ * A frame: scroll events fire first, then layout runs and the browser clamps
46
+ * or anchors the scroll position, then resizes are reported, and the scroll
47
+ * events layout caused fire at the start of the next frame.
48
+ */
49
+ export function settleLayout(): void {
50
+ dispatchPendingScrollEvents();
51
+ for (const pass of layoutPasses) pass();
52
+ for (const observer of [...observers]) observer.deliver();
53
+ dispatchPendingScrollEvents();
54
+ }
55
+
56
+ export interface FakeScroller {
57
+ /** Height of what the list draws, beside one row height per message. */
58
+ extraContentPx: number;
59
+ viewportPx: number;
60
+ distanceFromBottom: () => number;
61
+ /** A scroll to `scrollTop` and the event it fires, from any source. */
62
+ scrollTo: (scrollTop: number) => void;
63
+ /**
64
+ * Content above the viewport shrinks by `px` at the next layout, and scroll
65
+ * anchoring moves the scroll position up by as much to keep the view still.
66
+ */
67
+ collapseAbove: (px: number) => void;
68
+ }
69
+
70
+ const ROW_PX = 100;
71
+
72
+ /** Gives a scroll container the geometry a browser would compute. */
73
+ export function fakeScroller(el: HTMLElement): FakeScroller {
74
+ let scrollTop = 0;
75
+ let reportedTop = 0;
76
+ let anchorShiftPx = 0;
77
+ const dispatchScroll = (): void => {
78
+ el.dispatchEvent(new Event("scroll"));
79
+ };
80
+ const scroller: FakeScroller = {
81
+ extraContentPx: 0,
82
+ viewportPx: 400,
83
+ distanceFromBottom: () => el.scrollHeight - el.scrollTop - el.clientHeight,
84
+ scrollTo: (target) => {
85
+ dispatchPendingScrollEvents();
86
+ el.scrollTop = target;
87
+ dispatchPendingScrollEvents();
88
+ },
89
+ collapseAbove: (px) => {
90
+ scroller.extraContentPx -= px;
91
+ anchorShiftPx -= px;
92
+ },
93
+ };
94
+ const maxTop = (): number =>
95
+ Math.max(0, el.scrollHeight - scroller.viewportPx);
96
+ layoutPasses.add(() => {
97
+ scrollTop = Math.min(Math.max(0, el.scrollTop + anchorShiftPx), maxTop());
98
+ anchorShiftPx = 0;
99
+ if (scrollTop === reportedTop) return;
100
+ reportedTop = scrollTop;
101
+ pendingScrollEvents.add(dispatchScroll);
102
+ });
103
+ Object.defineProperties(el, {
104
+ clientHeight: { get: () => scroller.viewportPx },
105
+ scrollHeight: {
106
+ get: () =>
107
+ el.querySelectorAll("li").length * ROW_PX + scroller.extraContentPx,
108
+ },
109
+ scrollTop: {
110
+ get: () => Math.min(scrollTop, maxTop()),
111
+ set: (value: number) => {
112
+ scrollTop = Math.min(Math.max(0, value), maxTop());
113
+ reportedTop = scrollTop;
114
+ pendingScrollEvents.add(dispatchScroll);
115
+ },
116
+ },
117
+ });
118
+ return scroller;
119
+ }
@@ -1,6 +1,14 @@
1
1
  import { flushPromises, mount, type VueWrapper } from "@vue/test-utils";
2
- import { vi } from "vitest";
3
- import { defineComponent, h, nextTick, readonly, ref, shallowRef } from "vue";
2
+ import { type Mock, vi } from "vitest";
3
+ import {
4
+ defineComponent,
5
+ h,
6
+ nextTick,
7
+ readonly,
8
+ ref,
9
+ type Ref,
10
+ shallowRef,
11
+ } from "vue";
4
12
  import ChatPanel from "../../app/components/ChatPanel.vue";
5
13
  import {
6
14
  ASSISTANT_SESSION_KEY,
@@ -26,11 +34,11 @@ export interface Harness {
26
34
  hub: ChatTransportHub;
27
35
  sent: Array<Record<string, unknown>>;
28
36
  reconnects: number;
29
- sidecarStatus: ReturnType<typeof ref<SidecarStatus>>;
37
+ sidecarStatus: Ref<SidecarStatus>;
30
38
  setChannelStatus: (status: ChannelStatus) => void;
31
- navigate: ReturnType<typeof vi.fn>;
32
- restart: ReturnType<typeof vi.fn>;
33
- lastError: ReturnType<typeof ref<string | null>>;
39
+ navigate: Mock<(path: string) => void>;
40
+ restart: Mock<() => Promise<void>>;
41
+ lastError: Ref<string | null>;
34
42
  api: AssistantSession["api"];
35
43
  /** How many holds keep the tab's stream open. */
36
44
  streamHolds: number;
@@ -0,0 +1,3 @@
1
+ import { installResizeObserver } from "./fake-layout";
2
+
3
+ installResizeObserver();
@@ -64,6 +64,7 @@ const UModal = defineComponent({
64
64
 
65
65
  interface MenuItem {
66
66
  label?: string;
67
+ description?: string;
67
68
  onSelect?: () => void;
68
69
  }
69
70
 
@@ -84,6 +85,7 @@ const UDropdownMenu = defineComponent({
84
85
  {
85
86
  class: "u-dropdown-item",
86
87
  type: "button",
88
+ "data-description": item.description,
87
89
  onClick: item.onSelect,
88
90
  },
89
91
  item.label,
@@ -20,5 +20,6 @@ export default defineConfig({
20
20
  // `// @vitest-environment jsdom` header.
21
21
  environment: "node",
22
22
  include: ["tests/**/*.test.ts"],
23
+ setupFiles: ["tests/support/setup-layout.ts"],
23
24
  },
24
25
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/dms-ai",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "description": "AI development assistant for the AntelopeJS DMS: a chat panel next to every page and a coding agent that edits the project in reviewable, undoable change sets.",
5
5
  "keywords": [
6
6
  "ai",
@@ -67,18 +67,17 @@
67
67
  "prepare": "if git rev-parse --is-inside-work-tree >/dev/null 2>&1 && command -v lefthook >/dev/null 2>&1; then lefthook install; fi",
68
68
  "checks": "antelopejs-checks",
69
69
  "size": "antelopejs-check-size",
70
- "ratchet": "antelopejs-ratchet",
71
70
  "sync": "antelopejs-sync",
72
- "ratchet:update": "antelopejs-ratchet --update",
73
71
  "sync:check": "antelopejs-sync --check",
74
72
  "format:check": "oxfmt --check .",
75
73
  "suppressions": "antelopejs-suppressions",
76
74
  "suppressions:update": "antelopejs-suppressions --update"
77
75
  },
78
76
  "dependencies": {
79
- "@antelopejs/interface-api": ">=0.0.15 <1.0.0",
80
- "@antelopejs/interface-core": ">=0.2.4 <1.0.0",
81
- "@antelopejs/interface-dms": ">=0.9.0 <1.0.0",
77
+ "@antelopejs/agent-skills": "^0.1.0",
78
+ "@antelopejs/interface-api": ">=0.3.0 <1.0.0",
79
+ "@antelopejs/interface-core": ">=0.4.0 <1.0.0",
80
+ "@antelopejs/interface-dms": ">=0.12.0 <1.0.0",
82
81
  "@anthropic-ai/claude-agent-sdk": "^0.3.316",
83
82
  "@anthropic-ai/claude-code": "^2.1.316",
84
83
  "@modelcontextprotocol/sdk": "1.29.0",
@@ -86,7 +85,11 @@
86
85
  "zod": "^4.0.0"
87
86
  },
88
87
  "devDependencies": {
89
- "@antelopejs/dms": ">=0.13.1 <1.0.0",
88
+ "@antelopejs/dms": ">=0.16.1 <1.0.0",
89
+ "@antelopejs/interface-api-util": ">=0.3.0 <1.0.0",
90
+ "@antelopejs/interface-data-api": ">=0.6.1 <1.0.0",
91
+ "@antelopejs/interface-database": ">=0.3.0 <1.0.0",
92
+ "@antelopejs/interface-database-decorators": ">=0.2.0 <1.0.0",
90
93
  "@antelopejs/tooling-configs": "^0.2.17",
91
94
  "@types/node": "^24.0.0",
92
95
  "@types/ws": "^8.5.12",
@@ -101,7 +104,7 @@
101
104
  "typescript": "^6.0.3"
102
105
  },
103
106
  "peerDependencies": {
104
- "@openai/codex": "0.154.0"
107
+ "@openai/codex": "0.166.0"
105
108
  },
106
109
  "peerDependenciesMeta": {
107
110
  "@openai/codex": {
@@ -110,7 +113,7 @@
110
113
  },
111
114
  "optionalDependencies": {
112
115
  "@antelopejs/interface-database-catalog": ">=0.0.1 <1.0.0",
113
- "@antelopejs/interface-dms-builder": ">=0.3.0 <1.0.0"
116
+ "@antelopejs/interface-dms-builder": ">=0.4.0 <1.0.0"
114
117
  },
115
118
  "packageManager": "pnpm@10.2.0",
116
119
  "antelopeJs": {
@@ -118,7 +121,10 @@
118
121
  "implements": [],
119
122
  "skills": [
120
123
  "./skills"
121
- ]
124
+ ],
125
+ "docs": {
126
+ "standard": true
127
+ }
122
128
  },
123
129
  "dmsFrontend": "dist/frontend-module.js"
124
130
  }
@@ -0,0 +1,2 @@
1
+ export declare function isGitHookFile(path: string): boolean;
2
+ export declare function isDependencyFile(path: string): boolean;
@@ -0,0 +1,34 @@
1
+ import { basename } from "node:path";
2
+ import { DEPENDENCY_FILE_NAMES, GIT_HOOK_PATHS, } from "../constants/permissions.js";
3
+ const ANY_TRAILING_SEGMENTS = "**";
4
+ const GIT_HOOK_PATTERNS = GIT_HOOK_PATHS.map((path) => path.split("/"));
5
+ function pathSegments(path) {
6
+ return path
7
+ .toLowerCase()
8
+ .split(/[\\/]/)
9
+ .filter((segment) => segment.length > 0);
10
+ }
11
+ function matchesAt(segments, parts, start) {
12
+ return parts.every((part, index) => segments[start + index] === part);
13
+ }
14
+ function isUnder(segments, parts) {
15
+ return segments.some((_segment, start) => start + parts.length < segments.length &&
16
+ matchesAt(segments, parts, start));
17
+ }
18
+ function endsWith(segments, parts) {
19
+ const start = segments.length - parts.length;
20
+ return start >= 0 && matchesAt(segments, parts, start);
21
+ }
22
+ function matchesPathEnding(segments, pattern) {
23
+ return pattern.at(-1) === ANY_TRAILING_SEGMENTS
24
+ ? isUnder(segments, pattern.slice(0, -1))
25
+ : endsWith(segments, pattern);
26
+ }
27
+ export function isGitHookFile(path) {
28
+ const segments = pathSegments(path);
29
+ return GIT_HOOK_PATTERNS.some((pattern) => matchesPathEnding(segments, pattern));
30
+ }
31
+ export function isDependencyFile(path) {
32
+ return DEPENDENCY_FILE_NAMES.has(basename(path).toLowerCase());
33
+ }
34
+ //# sourceMappingURL=always-ask-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"always-ask-files.js","sourceRoot":"","sources":["../../src/agent/always-ask-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,6BAA6B,CAAC;AAErC,MAAM,qBAAqB,GAAG,IAAI,CAAC;AAEnC,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAExE,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,KAAK,CAAC,OAAO,CAAC;SACd,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,SAAS,CAChB,QAA2B,EAC3B,KAAwB,EACxB,KAAa;IAEb,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,OAAO,CACd,QAA2B,EAC3B,KAAwB;IAExB,OAAO,QAAQ,CAAC,IAAI,CAClB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAClB,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM;QACtC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,QAA2B,EAC3B,KAAwB;IAExB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7C,OAAO,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,iBAAiB,CACxB,QAA2B,EAC3B,OAA0B;IAE1B,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,qBAAqB;QAC7C,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;AAClC,CAAC;AAMD,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACxC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,CACrC,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AACjE,CAAC"}
@@ -1,32 +1,23 @@
1
- import type { FullAutoDuration } from "../constants/audit.js";
2
1
  import type { ConversationModeType } from "../protocol/events.js";
3
2
  import type { ConversationStore } from "../state/conversations.js";
4
3
  import type { SettingsStore } from "../state/settings-store.js";
5
- import type { AppSettings, ChatMode, GenerationMode } from "../state/settings-types.js";
4
+ import { type AppSettings, type ChatMode, type GenerationMode, type TurnSettings } from "../state/settings-types.js";
6
5
  import { type ConversationModeState } from "./effective-mode.js";
7
6
  export interface ConversationModesPatch {
8
7
  mode?: ChatMode;
9
8
  generationMode?: GenerationMode;
10
- fullAuto?: FullAutoRequest | null;
11
- }
12
- interface FullAutoRequest {
13
- duration: FullAutoDuration;
14
9
  }
15
10
  export interface ConversationModesDeps {
16
11
  conversationStore: ConversationStore;
17
12
  settingsStore: SettingsStore;
18
- onChanged: (conversationId: string, hasFullAutoEnded: boolean) => void;
13
+ onChanged: (conversationId: string) => void;
19
14
  }
20
15
  export interface ConversationModes {
21
16
  state(conversationId: string): ConversationModeState;
22
17
  describe(conversationId: string): ConversationModeType;
23
18
  update(conversationId: string, patch: ConversationModesPatch): void;
24
19
  pinDefaults(conversationId: string): void;
25
- settingsFor(conversationId: string, settings: AppSettings): AppSettings;
26
- isFullAuto(conversationId: string): boolean;
27
- endTurn(conversationId: string): void;
28
- leave(conversationId: string): void;
20
+ settingsFor(conversationId: string, settings: AppSettings): TurnSettings;
29
21
  forget(conversationId: string): void;
30
22
  }
31
23
  export declare function createConversationModes(deps: ConversationModesDeps): ConversationModes;
32
- export {};
@@ -1,61 +1,24 @@
1
1
  import { effectiveGenerationMode } from "../builder/capability.js";
2
- import { MS_PER_MINUTE } from "../constants/settings.js";
3
- import { conversationSettings, isFullAutoInForce, } from "./effective-mode.js";
4
- const FULL_AUTO_TIMED_MINUTES = 30;
5
- const FULL_AUTO_CLOCK_MS = {
6
- "30m": FULL_AUTO_TIMED_MINUTES * MS_PER_MINUTE,
7
- };
8
- function readState(state, conversationId) {
2
+ import { modeForProvider, } from "../state/settings-types.js";
3
+ import { conversationSettings, } from "./effective-mode.js";
4
+ function readChosen(state, conversationId) {
9
5
  const stored = state.conversationStore.get(conversationId);
10
6
  const draft = state.drafts.get(conversationId);
11
7
  const defaults = state.settingsStore.get();
12
8
  return {
13
- mode: stored?.mode ?? draft?.mode ?? defaults.mode,
9
+ mode: stored?.mode ?? draft?.mode ?? defaults.defaultModes[defaults.provider],
14
10
  generationMode: stored?.generationMode ??
15
11
  draft?.generationMode ??
16
12
  defaults.generationMode,
17
- fullAuto: state.fullAuto.get(conversationId)?.state ?? null,
18
13
  };
19
14
  }
20
- function clearFullAuto(state, conversationId) {
21
- const entry = state.fullAuto.get(conversationId);
22
- if (entry === undefined)
23
- return false;
24
- clearTimeout(entry.timer);
25
- state.fullAuto.delete(conversationId);
26
- return true;
27
- }
28
- function endFullAuto(state, conversationId, duration) {
29
- const entry = state.fullAuto.get(conversationId);
30
- if (entry?.state.duration !== duration)
31
- return;
32
- clearFullAuto(state, conversationId);
33
- state.onChanged(conversationId, true);
34
- }
35
- function startFullAuto(state, conversationId, request) {
36
- clearFullAuto(state, conversationId);
37
- const clockMs = FULL_AUTO_CLOCK_MS[request.duration];
38
- if (clockMs === undefined) {
39
- state.fullAuto.set(conversationId, {
40
- state: { duration: request.duration },
41
- });
42
- return;
43
- }
44
- const timer = setTimeout(() => endFullAuto(state, conversationId, request.duration), clockMs);
45
- timer.unref();
46
- state.fullAuto.set(conversationId, {
47
- state: { duration: request.duration, untilMs: Date.now() + clockMs },
48
- timer,
49
- });
50
- }
51
- function applyFullAuto(state, conversationId, request) {
52
- if (request === undefined)
53
- return;
54
- if (request === null) {
55
- clearFullAuto(state, conversationId);
56
- return;
57
- }
58
- startFullAuto(state, conversationId, request);
15
+ function readState(state, conversationId) {
16
+ const chosen = readChosen(state, conversationId);
17
+ const { provider } = state.settingsStore.get();
18
+ return {
19
+ mode: modeForProvider(provider, chosen.mode),
20
+ generationMode: chosen.generationMode,
21
+ };
59
22
  }
60
23
  function storeModes(state, conversationId, patch) {
61
24
  if (state.conversationStore.get(conversationId) === null) {
@@ -70,12 +33,8 @@ function storeModes(state, conversationId, patch) {
70
33
  }
71
34
  function update(state, conversationId, patch) {
72
35
  pinDefaults(state, conversationId);
73
- storeModes(state, conversationId, {
74
- mode: patch.mode,
75
- generationMode: patch.generationMode,
76
- });
77
- applyFullAuto(state, conversationId, patch.fullAuto);
78
- state.onChanged(conversationId, false);
36
+ storeModes(state, conversationId, patch);
37
+ state.onChanged(conversationId);
79
38
  }
80
39
  function pinDefaults(state, conversationId) {
81
40
  const stored = state.conversationStore.get(conversationId);
@@ -83,19 +42,12 @@ function pinDefaults(state, conversationId) {
83
42
  return;
84
43
  if (stored.mode !== undefined && stored.generationMode !== undefined)
85
44
  return;
86
- const current = readState(state, conversationId);
45
+ const chosen = readChosen(state, conversationId);
87
46
  state.drafts.delete(conversationId);
88
- state.conversationStore.setModes(conversationId, {
89
- mode: current.mode,
90
- generationMode: current.generationMode,
91
- });
47
+ state.conversationStore.setModes(conversationId, chosen);
92
48
  }
93
49
  export function createConversationModes(deps) {
94
- const state = {
95
- ...deps,
96
- fullAuto: new Map(),
97
- drafts: new Map(),
98
- };
50
+ const state = { ...deps, drafts: new Map() };
99
51
  return {
100
52
  state: (conversationId) => readState(state, conversationId),
101
53
  describe(conversationId) {
@@ -104,17 +56,12 @@ export function createConversationModes(deps) {
104
56
  conversationId,
105
57
  mode: current.mode,
106
58
  generationMode: effectiveGenerationMode(current.generationMode),
107
- fullAuto: current.fullAuto,
108
59
  };
109
60
  },
110
61
  update: (conversationId, patch) => update(state, conversationId, patch),
111
62
  pinDefaults: (conversationId) => pinDefaults(state, conversationId),
112
63
  settingsFor: (conversationId, settings) => conversationSettings(settings, readState(state, conversationId)),
113
- isFullAuto: (conversationId) => isFullAutoInForce(readState(state, conversationId)),
114
- endTurn: (conversationId) => endFullAuto(state, conversationId, "turn"),
115
- leave: (conversationId) => endFullAuto(state, conversationId, "chat"),
116
64
  forget: (conversationId) => {
117
- clearFullAuto(state, conversationId);
118
65
  state.drafts.delete(conversationId);
119
66
  },
120
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-modes.js","sourceRoot":"","sources":["../../src/agent/conversation-modes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-modes.js","sourceRoot":"","sources":["../../src/agent/conversation-modes.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
- import type { AppSettings, ChatMode, GenerationMode } from "../state/settings-types.js";
2
- import type { FullAutoState } from "../state/types.js";
1
+ import type { AppSettings, ChatMode, GenerationMode, TurnSettings } from "../state/settings-types.js";
3
2
  export interface ConversationModeState {
4
3
  mode: ChatMode;
5
4
  generationMode: GenerationMode;
6
- fullAuto: FullAutoState | null;
7
5
  }
8
- export declare function isFullAutoInForce(state: ConversationModeState): boolean;
9
- export declare function conversationSettings(settings: AppSettings, state: ConversationModeState): AppSettings;
6
+ export declare function conversationSettings(settings: AppSettings, state: ConversationModeState): TurnSettings;
@@ -1,18 +1,4 @@
1
- import { effectiveGenerationMode } from "../builder/capability.js";
2
- const FULL_AUTO_PROVIDER_MODE = {
3
- safe: "acceptEdits",
4
- vibe: "normal",
5
- };
6
- export function isFullAutoInForce(state) {
7
- if (state.fullAuto === null)
8
- return false;
9
- return effectiveGenerationMode(state.generationMode) === "vibe";
10
- }
11
1
  export function conversationSettings(settings, state) {
12
- const generationMode = effectiveGenerationMode(state.generationMode);
13
- const mode = state.fullAuto === null
14
- ? state.mode
15
- : FULL_AUTO_PROVIDER_MODE[generationMode];
16
- return { ...settings, mode, generationMode: state.generationMode };
2
+ return { ...settings, ...state };
17
3
  }
18
4
  //# sourceMappingURL=effective-mode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"effective-mode.js","sourceRoot":"","sources":["../../src/agent/effective-mode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAenE,MAAM,uBAAuB,GAAqC;IAChE,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,QAAQ;CACf,CAAC;AAUF,MAAM,UAAU,iBAAiB,CAAC,KAA4B;IAC5D,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;AAClE,CAAC;AAQD,MAAM,UAAU,oBAAoB,CAClC,QAAqB,EACrB,KAA4B;IAE5B,MAAM,cAAc,GAAG,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACrE,MAAM,IAAI,GACR,KAAK,CAAC,QAAQ,KAAK,IAAI;QACrB,CAAC,CAAC,KAAK,CAAC,IAAI;QACZ,CAAC,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;IAC9C,OAAO,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"effective-mode.js","sourceRoot":"","sources":["../../src/agent/effective-mode.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,oBAAoB,CAClC,QAAqB,EACrB,KAA4B;IAE5B,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AACnC,CAAC"}
@@ -20,7 +20,6 @@ export type PendingRequest = Omit<PermissionRequestEventType, "type">;
20
20
  type PermissionSettlementKind = PermissionDecisionValue | (typeof PERMISSION_SETTLEMENTS)[keyof typeof PERMISSION_SETTLEMENTS];
21
21
  export interface PermissionPolicy {
22
22
  hostProjectRoot: string;
23
- isFullAuto: boolean;
24
23
  timeoutMs: number;
25
24
  alwaysAskDependencies: boolean;
26
25
  alwaysAskBlockRemoval: boolean;
@@ -47,7 +46,7 @@ export interface PermissionAnswer {
47
46
  actor?: string;
48
47
  }
49
48
  export interface BusOptions {
50
- getPolicy: (conversationId: string) => PermissionPolicy;
49
+ getPolicy: () => PermissionPolicy;
51
50
  onPromptChat: (event: PendingRequest) => void;
52
51
  onDecided?: (record: PermissionDecisionRecord) => void;
53
52
  onRulesChanged?: (conversationId: string, rules: ActiveRuleType[]) => void;
@@ -98,12 +98,10 @@ function decideWithoutAsking(state, req, request, policy) {
98
98
  if (state.rules.matches(req.conversationId, subject)) {
99
99
  return { isAllowed: true, allowedBy: "rule" };
100
100
  }
101
- if (policy.isFullAuto)
102
- return { isAllowed: true, allowedBy: "full_auto" };
103
101
  return null;
104
102
  }
105
103
  async function startRequest(state, req) {
106
- const policy = state.getPolicy(req.conversationId);
104
+ const policy = state.getPolicy();
107
105
  const timeoutMs = state.timeoutMs ?? policy.timeoutMs;
108
106
  const request = await buildPending(req, policy, timeoutMs);
109
107
  const automatic = decideWithoutAsking(state, req, request, policy);
@@ -1 +1 @@
1
- {"version":3,"file":"permission-bus.js","sourceRoot":"","sources":["../../src/agent/permission-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,iCAAiC,GAClC,MAAM,6BAA6B,CAAC;AASrC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EACL,yBAAyB,EACzB,UAAU,GAEX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAqGrD,MAAM,MAAM,GAAsB,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAG5E,MAAM,UAAU,aAAa,CAAC,OAA0B;IACtD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,0BAA0B,CAAC;IACvE,IAAI,OAAO,CAAC,eAAe,KAAK,IAAI;QAAE,OAAO,2BAA2B,CAAC;IACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC1C,IAAI,QAAQ;QAAE,OAAO,GAAG,0BAA0B,GAAG,QAAQ,EAAE,CAAC;IAChE,OAAO,yBAAyB,CAAC;AACnC,CAAC;AAED,SAAS,MAAM,CACb,KAAe,EACf,OAAqB,EACrB,OAA0B,EAC1B,MAAyD;IAEzD,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,KAAK,CAAC,SAAS,EAAE,CAAC;QAChB,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO;QACP,MAAM,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE;KACxD,CAAC,CAAC;IACH,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,OAAO,CACd,KAAe,EACf,OAAqB,EACrB,IAAoC;IAEpC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;IAC5C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAAE,OAAO;IAC5E,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3C,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACtC,KAAK,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,SAAS,CAAC,KAAe,EAAE,cAAsB;IACxD,OAAO,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,KAAK,cAAc,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CACd,KAAe,EACf,OAAqB,EACrB,MAAwB;IAExB,MAAM,OAAO,GAAsB,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;IACxE,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3C,KAAK,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,SAAS;QAC1D,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;YAC5B,SAAS,EAAE,oBAAoB,CAAC,QAAQ;YACxC,SAAS,EAAE,MAAM,CAAC,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,CAAC;AACpC,CAAC;AAQD,MAAM,eAAe,GAAmD;IACtE,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CACrC,MAAM,CACJ,KAAK,EACL,OAAO,EACP,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EACrE,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CACxD;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,CACJ,KAAK,EACL,OAAO,EACP,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAC1C,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CACxD,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAC/B,MAAM,CACJ,KAAK,EACL,OAAO,EACP,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EACxC,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,CACxD;IACH,QAAQ,EAAE,OAAO;CAClB,CAAC;AAEF,SAAS,eAAe,CACtB,KAAe,EACf,SAAiB,EACjB,SAAiB;IAEjB,OAAO,UAAU,CAAC,GAAG,EAAE;QACrB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO;QAClC,OAAO,CAAC,IAAI,CACV,GAAG,qBAAqB,IAAI,yBAAyB,eAAe,SAAS,GAAG,CACjF,CAAC;QACF,MAAM,CACJ,KAAK,EACL,OAAO,EACP,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAC1C,EAAE,SAAS,EAAE,sBAAsB,CAAC,OAAO,EAAE,CAC9C,CAAC;IACJ,CAAC,EAAE,SAAS,CAAC,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,GAAsB,EACtB,MAAwB,EACxB,SAAiB;IAEjB,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC;QACxC,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;QACnD,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;KACpD,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO;QACL,cAAc,EAAE,GAAG,CAAC,cAAc;QAClC,SAAS,EAAE,UAAU,EAAE;QACvB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvE,GAAG,WAAW;QACd,WAAW;QACX,WAAW,EAAE,WAAW,GAAG,SAAS;KACrC,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAe,EACf,GAAsB,EACtB,OAAuB,EACvB,MAAwB;IAExB,IAAI,OAAO,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACnC,MAAM,OAAO,GAAG,EAAE,GAAG,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;IACpE,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC;QACrD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IACD,IAAI,MAAM,CAAC,UAAU;QAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,KAAe,EACf,GAAsB;IAEtB,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACnE,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,EAAE;QAChD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACnE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAe,EAAE,MAAwB;IAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CACV,GAAG,qBAAqB,IAAI,iCAAiC,eAAe,MAAM,CAAC,SAAS,GAAG,CAChG,CAAC;QACF,OAAO;IACT,CAAC;IACD,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,aAAa,CAAC,KAAe,EAAE,OAAuB;IAC7D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAe,EAAE,cAAsB;IACjE,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,UAAU,CACjB,KAAe,EACf,cAAsB,EACtB,MAAc;IAEd,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,MAAM,CACpD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CACnC,CAAC;IACF,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAgB;IAClD,MAAM,KAAK,GAAa;QACtB,GAAG,IAAI;QACP,OAAO,EAAE,IAAI,GAAG,EAAE;QAClB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,yBAAyB,EAAE;KACjD,CAAC;IACF,OAAO;QACL,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC;QACpD,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;QAC1D,yBAAyB,EAAE,CAAC,cAAc,EAAE,EAAE,CAC5C,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACxD,YAAY,EAAE,CAAC,cAAc,EAAE,EAAE,CAC/B,cAAc,KAAK,SAAS;YAC1B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;YACpB,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,MAAM;QAC7C,kBAAkB,EAAE,CAAC,cAAc,EAAE,EAAE,CACrC,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC;QAC3C,UAAU,EAAE,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,CACrC,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC;QAC3C,kBAAkB,CAAC,cAAc;YAC/B,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC1C,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;QACD,SAAS,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;QAC/D,UAAU,CAAC,cAAc,EAAE,MAAM;YAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;YAC7D,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,cAAc,EAAE,CACpB,cAAc,EACd,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CACjC,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"permission-bus.js","sourceRoot":"","sources":["../../src/agent/permission-bus.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { PermissionKind } from "../constants/audit.js";
2
2
  import type { PermissionPreviewType } from "../protocol/events.js";
3
3
  import type { PermissionRuleType } from "../protocol/messages.js";
4
+ import { type ToolArgs } from "./edit-targets.js";
4
5
  export declare const CODEX_CHANGE_KIND_ARG = "change_kind";
5
6
  export declare const CODEX_CHANGE_DIFF_ARG = "diff";
6
7
  export interface RequestDescription {
@@ -16,5 +17,10 @@ export interface DescribeOptions {
16
17
  alwaysAskDependencies: boolean;
17
18
  alwaysAskBlockRemoval: boolean;
18
19
  }
20
+ interface ParsedOptions extends Omit<DescribeOptions, "args"> {
21
+ args: ToolArgs;
22
+ }
19
23
  export declare function hostOf(url: string): string | null;
24
+ export declare function isAlwaysAsk(options: ParsedOptions): boolean;
20
25
  export declare function describeRequest(described: DescribeOptions): Promise<RequestDescription>;
26
+ export {};