@antelopejs/dms-ai 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/dist/builder/presence.js.map +1 -1
  2. package/dist/channels/bridge.js +4 -2
  3. package/dist/channels/bridge.js.map +1 -1
  4. package/dist/channels/sse-stream.d.ts +1 -1
  5. package/dist/config.d.ts +6 -1
  6. package/dist/config.js +9 -21
  7. package/dist/config.js.map +1 -1
  8. package/dist/constants/channels.d.ts +5 -1
  9. package/dist/constants/channels.js.map +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/lifecycle/build-id.js +1 -1
  13. package/dist/lifecycle/build-id.js.map +1 -1
  14. package/dist/lifecycle/module-roots.js +12 -14
  15. package/dist/lifecycle/module-roots.js.map +1 -1
  16. package/dist/lifecycle/sidecar-owner.js.map +1 -1
  17. package/dist/lifecycle/skill-sources.js +35 -22
  18. package/dist/lifecycle/skill-sources.js.map +1 -1
  19. package/dist/lifecycle/spawn-sidecar.js +11 -6
  20. package/dist/lifecycle/spawn-sidecar.js.map +1 -1
  21. package/dist/logging/log-buffer.js +6 -2
  22. package/dist/logging/log-buffer.js.map +1 -1
  23. package/dist/pages/activity/columns.d.ts +66 -2
  24. package/dist/pages/activity/columns.js.map +1 -1
  25. package/dist/pages/activity/page.js.map +1 -1
  26. package/dist/pages/index.js.map +1 -1
  27. package/dist/pages/overview/page.js.map +1 -1
  28. package/dist/pages/overview/recent-changes.js.map +1 -1
  29. package/dist/pages/settings/availability.js.map +1 -1
  30. package/dist/pages/skills/page.js.map +1 -1
  31. package/dist/pages-registry.js +9 -10
  32. package/dist/pages-registry.js.map +1 -1
  33. package/dist/routes/activity.d.ts +5 -4
  34. package/dist/routes/activity.js.map +1 -1
  35. package/dist/routes/changes.d.ts +6 -4
  36. package/dist/routes/changes.js.map +1 -1
  37. package/dist/routes/codex-account.d.ts +5 -1
  38. package/dist/routes/codex-account.js +2 -2
  39. package/dist/routes/codex-account.js.map +1 -1
  40. package/dist/routes/database.d.ts +21 -4
  41. package/dist/routes/database.js.map +1 -1
  42. package/dist/routes/metric-shapes.js +8 -5
  43. package/dist/routes/metric-shapes.js.map +1 -1
  44. package/dist/routes/metrics.d.ts +4 -2
  45. package/dist/routes/metrics.js +2 -2
  46. package/dist/routes/metrics.js.map +1 -1
  47. package/dist/routes/pages-registry.js.map +1 -1
  48. package/dist/routes/settings.d.ts +3 -2
  49. package/dist/routes/settings.js.map +1 -1
  50. package/dist/routes/sidecar-info.js.map +1 -1
  51. package/dist/routes/sidecar-results.d.ts +2 -2
  52. package/dist/routes/sidecar-results.js +10 -10
  53. package/dist/routes/sidecar-results.js.map +1 -1
  54. package/dist/routes/skills.d.ts +2 -1
  55. package/dist/routes/skills.js +6 -4
  56. package/dist/routes/skills.js.map +1 -1
  57. package/dist/routes/status-shapes.js +12 -12
  58. package/dist/routes/status-shapes.js.map +1 -1
  59. package/dist/routes/undo-confirm.js.map +1 -1
  60. package/dist/sidecar/http-client.js.map +1 -1
  61. package/dist/vocabulary/tools.js.map +1 -1
  62. package/frontend-vue/app/chat/components/ChatView.vue +33 -133
  63. package/frontend-vue/app/chat/components/ProviderNotice.vue +77 -0
  64. package/frontend-vue/app/chat/components/UndoConflictModal.vue +98 -0
  65. package/frontend-vue/app/chat/composables/useChangeSetActions.ts +1 -1
  66. package/frontend-vue/app/plugins/ai.client.ts +10 -2
  67. package/frontend-vue/app/runtime/assistant-actions.ts +41 -0
  68. package/frontend-vue/app/runtime/assistant-session.ts +8 -2
  69. package/frontend-vue/app/runtime/panel-intents.ts +3 -1
  70. package/frontend-vue/build/backend-boundary.ts +89 -0
  71. package/frontend-vue/dms.frontend.build.ts +6 -0
  72. package/frontend-vue/package.json +2 -1
  73. package/frontend-vue/pnpm-lock.yaml +3 -0
  74. package/frontend-vue/tests/assistant-actions.test.ts +72 -0
  75. package/frontend-vue/tests/backend-boundary.test.ts +130 -0
  76. package/frontend-vue/tests/panel-approvals.test.ts +190 -0
  77. package/frontend-vue/tests/panel-questions.test.ts +169 -0
  78. package/frontend-vue/tests/panel-states.test.ts +1 -556
  79. package/frontend-vue/tests/panel-tools.test.ts +165 -0
  80. package/frontend-vue/tests/sidecar-guest.test.ts +39 -71
  81. package/frontend-vue/tests/support/panel-fixtures.ts +110 -0
  82. package/frontend-vue/tests/support/panel-harness.ts +2 -2
  83. package/frontend-vue/vitest.config.ts +2 -1
  84. package/package.json +20 -9
  85. package/sidecar/dist/agent/attachment-files.js.map +1 -1
  86. package/sidecar/dist/agent/call-ledger.d.ts +3 -2
  87. package/sidecar/dist/agent/call-ledger.js +1 -1
  88. package/sidecar/dist/agent/call-ledger.js.map +1 -1
  89. package/sidecar/dist/agent/command-analysis.js +13 -14
  90. package/sidecar/dist/agent/command-analysis.js.map +1 -1
  91. package/sidecar/dist/agent/conversation-modes.js.map +1 -1
  92. package/sidecar/dist/agent/edit-targets.d.ts +5 -1
  93. package/sidecar/dist/agent/edit-targets.js +8 -6
  94. package/sidecar/dist/agent/edit-targets.js.map +1 -1
  95. package/sidecar/dist/agent/edit-tracker.d.ts +2 -1
  96. package/sidecar/dist/agent/edit-tracker.js +3 -4
  97. package/sidecar/dist/agent/edit-tracker.js.map +1 -1
  98. package/sidecar/dist/agent/effective-mode.js.map +1 -1
  99. package/sidecar/dist/agent/line-diff.js +10 -8
  100. package/sidecar/dist/agent/line-diff.js.map +1 -1
  101. package/sidecar/dist/agent/permission-bus.js +2 -1
  102. package/sidecar/dist/agent/permission-bus.js.map +1 -1
  103. package/sidecar/dist/agent/permission-preview.d.ts +1 -1
  104. package/sidecar/dist/agent/permission-preview.js +54 -37
  105. package/sidecar/dist/agent/permission-preview.js.map +1 -1
  106. package/sidecar/dist/agent/permission-rules.js +4 -6
  107. package/sidecar/dist/agent/permission-rules.js.map +1 -1
  108. package/sidecar/dist/agent/provider.d.ts +2 -1
  109. package/sidecar/dist/agent/question-bus.js.map +1 -1
  110. package/sidecar/dist/agent/read-access.d.ts +2 -1
  111. package/sidecar/dist/agent/read-access.js +4 -7
  112. package/sidecar/dist/agent/read-access.js.map +1 -1
  113. package/sidecar/dist/agent/runner.js.map +1 -1
  114. package/sidecar/dist/agent/session.js +2 -6
  115. package/sidecar/dist/agent/session.js.map +1 -1
  116. package/sidecar/dist/agent/switching-runner.js.map +1 -1
  117. package/sidecar/dist/agent/system-prompt.js.map +1 -1
  118. package/sidecar/dist/agent/tool-summary.d.ts +2 -1
  119. package/sidecar/dist/agent/tool-summary.js +26 -13
  120. package/sidecar/dist/agent/tool-summary.js.map +1 -1
  121. package/sidecar/dist/agent/typecheck.d.ts +1 -4
  122. package/sidecar/dist/agent/typecheck.js +3 -2
  123. package/sidecar/dist/agent/typecheck.js.map +1 -1
  124. package/sidecar/dist/audit/activity-query.js +4 -8
  125. package/sidecar/dist/audit/activity-query.js.map +1 -1
  126. package/sidecar/dist/audit/activity-target.d.ts +4 -2
  127. package/sidecar/dist/audit/activity-target.js +10 -9
  128. package/sidecar/dist/audit/activity-target.js.map +1 -1
  129. package/sidecar/dist/audit/activity.js +4 -3
  130. package/sidecar/dist/audit/activity.js.map +1 -1
  131. package/sidecar/dist/audit/call-audit.js.map +1 -1
  132. package/sidecar/dist/builder/builder-client.d.ts +2 -1
  133. package/sidecar/dist/builder/builder-client.js +6 -8
  134. package/sidecar/dist/builder/builder-client.js.map +1 -1
  135. package/sidecar/dist/builder/capability.js.map +1 -1
  136. package/sidecar/dist/checkpoints/checkpoints.js.map +1 -1
  137. package/sidecar/dist/checkpoints/shadow-git.js +6 -2
  138. package/sidecar/dist/checkpoints/shadow-git.js.map +1 -1
  139. package/sidecar/dist/constants/agent.js.map +1 -1
  140. package/sidecar/dist/constants/attachments.js.map +1 -1
  141. package/sidecar/dist/constants/builder.js.map +1 -1
  142. package/sidecar/dist/constants/chatgpt.js.map +1 -1
  143. package/sidecar/dist/constants/checkpoints.d.ts +1 -1
  144. package/sidecar/dist/constants/checkpoints.js +6 -6
  145. package/sidecar/dist/constants/checkpoints.js.map +1 -1
  146. package/sidecar/dist/constants/claude.d.ts +3 -4
  147. package/sidecar/dist/constants/claude.js +16 -16
  148. package/sidecar/dist/constants/claude.js.map +1 -1
  149. package/sidecar/dist/constants/cli.js.map +1 -1
  150. package/sidecar/dist/constants/codex.d.ts +4 -5
  151. package/sidecar/dist/constants/codex.js +25 -25
  152. package/sidecar/dist/constants/codex.js.map +1 -1
  153. package/sidecar/dist/constants/database.js.map +1 -1
  154. package/sidecar/dist/constants/mcp.js.map +1 -1
  155. package/sidecar/dist/constants/paths.js.map +1 -1
  156. package/sidecar/dist/constants/project.d.ts +1 -1
  157. package/sidecar/dist/constants/project.js.map +1 -1
  158. package/sidecar/dist/constants/providers.js.map +1 -1
  159. package/sidecar/dist/constants/questions.js.map +1 -1
  160. package/sidecar/dist/constants/read-access.d.ts +1 -1
  161. package/sidecar/dist/constants/read-access.js +7 -7
  162. package/sidecar/dist/constants/read-access.js.map +1 -1
  163. package/sidecar/dist/constants/timing.js.map +1 -1
  164. package/sidecar/dist/database/database-client.d.ts +3 -2
  165. package/sidecar/dist/database/database-client.js +13 -9
  166. package/sidecar/dist/database/database-client.js.map +1 -1
  167. package/sidecar/dist/host/project-info.js +13 -7
  168. package/sidecar/dist/host/project-info.js.map +1 -1
  169. package/sidecar/dist/index.d.ts +1 -1
  170. package/sidecar/dist/index.js +60 -34
  171. package/sidecar/dist/index.js.map +1 -1
  172. package/sidecar/dist/logs/logs-client.js +12 -2
  173. package/sidecar/dist/logs/logs-client.js.map +1 -1
  174. package/sidecar/dist/mcp/define-tool.d.ts +9 -8
  175. package/sidecar/dist/mcp/define-tool.js.map +1 -1
  176. package/sidecar/dist/mcp/http-binding.js.map +1 -1
  177. package/sidecar/dist/mcp/tools/ask-user.js.map +1 -1
  178. package/sidecar/dist/mcp/tools/builder-catalog.d.ts +6 -1
  179. package/sidecar/dist/mcp/tools/builder-catalog.js +32 -24
  180. package/sidecar/dist/mcp/tools/builder-catalog.js.map +1 -1
  181. package/sidecar/dist/mcp/tools/builder-gate.js.map +1 -1
  182. package/sidecar/dist/mcp/tools/builder-project.d.ts +2 -1
  183. package/sidecar/dist/mcp/tools/builder-project.js +60 -43
  184. package/sidecar/dist/mcp/tools/builder-project.js.map +1 -1
  185. package/sidecar/dist/mcp/tools/builder.js +8 -9
  186. package/sidecar/dist/mcp/tools/builder.js.map +1 -1
  187. package/sidecar/dist/mcp/tools/database.js +5 -9
  188. package/sidecar/dist/mcp/tools/database.js.map +1 -1
  189. package/sidecar/dist/mcp/tools/find-pages-using.js.map +1 -1
  190. package/sidecar/dist/mcp/tools/get-current-page.js.map +1 -1
  191. package/sidecar/dist/mcp/tools/list-pages.js.map +1 -1
  192. package/sidecar/dist/mcp/tools/navigate-to-page.js +6 -6
  193. package/sidecar/dist/mcp/tools/navigate-to-page.js.map +1 -1
  194. package/sidecar/dist/mcp/tools/preview-blocks.js +15 -11
  195. package/sidecar/dist/mcp/tools/preview-blocks.js.map +1 -1
  196. package/sidecar/dist/mcp/tools/query-logs.js.map +1 -1
  197. package/sidecar/dist/mcp/tools/typecheck.js.map +1 -1
  198. package/sidecar/dist/metrics/aggregate.js.map +1 -1
  199. package/sidecar/dist/metrics/types.js.map +1 -1
  200. package/sidecar/dist/pages/registry-client.js +14 -5
  201. package/sidecar/dist/pages/registry-client.js.map +1 -1
  202. package/sidecar/dist/pages/route-match.js.map +1 -1
  203. package/sidecar/dist/protocol/events.d.ts +7 -7
  204. package/sidecar/dist/protocol/events.js.map +1 -1
  205. package/sidecar/dist/protocol/json.d.ts +5 -0
  206. package/sidecar/dist/protocol/json.js +3 -0
  207. package/sidecar/dist/protocol/json.js.map +1 -0
  208. package/sidecar/dist/protocol/messages.d.ts +4 -4
  209. package/sidecar/dist/protocol/messages.js +3 -3
  210. package/sidecar/dist/protocol/messages.js.map +1 -1
  211. package/sidecar/dist/providers/claude/activity.d.ts +4 -2
  212. package/sidecar/dist/providers/claude/activity.js +29 -38
  213. package/sidecar/dist/providers/claude/activity.js.map +1 -1
  214. package/sidecar/dist/providers/claude/adapter.js +62 -91
  215. package/sidecar/dist/providers/claude/adapter.js.map +1 -1
  216. package/sidecar/dist/providers/claude/attachments.js +4 -4
  217. package/sidecar/dist/providers/claude/attachments.js.map +1 -1
  218. package/sidecar/dist/providers/claude/config.js.map +1 -1
  219. package/sidecar/dist/providers/claude/module.js.map +1 -1
  220. package/sidecar/dist/providers/claude/provider.d.ts +4 -2
  221. package/sidecar/dist/providers/claude/provider.js.map +1 -1
  222. package/sidecar/dist/providers/claude/resolve-binary.js +6 -4
  223. package/sidecar/dist/providers/claude/resolve-binary.js.map +1 -1
  224. package/sidecar/dist/providers/claude/safe-mode.js +14 -3
  225. package/sidecar/dist/providers/claude/safe-mode.js.map +1 -1
  226. package/sidecar/dist/providers/codex/adapter.js +124 -46
  227. package/sidecar/dist/providers/codex/adapter.js.map +1 -1
  228. package/sidecar/dist/providers/codex/attachments.js +1 -1
  229. package/sidecar/dist/providers/codex/attachments.js.map +1 -1
  230. package/sidecar/dist/providers/codex/chatgpt/credentials.js.map +1 -1
  231. package/sidecar/dist/providers/codex/chatgpt/http.js +8 -5
  232. package/sidecar/dist/providers/codex/chatgpt/http.js.map +1 -1
  233. package/sidecar/dist/providers/codex/chatgpt/lock.js +3 -3
  234. package/sidecar/dist/providers/codex/chatgpt/lock.js.map +1 -1
  235. package/sidecar/dist/providers/codex/chatgpt/login.js.map +1 -1
  236. package/sidecar/dist/providers/codex/chatgpt/oauth.js +51 -8
  237. package/sidecar/dist/providers/codex/chatgpt/oauth.js.map +1 -1
  238. package/sidecar/dist/providers/codex/chatgpt/store.js +23 -23
  239. package/sidecar/dist/providers/codex/chatgpt/store.js.map +1 -1
  240. package/sidecar/dist/providers/codex/client.d.ts +4 -3
  241. package/sidecar/dist/providers/codex/client.js +10 -3
  242. package/sidecar/dist/providers/codex/client.js.map +1 -1
  243. package/sidecar/dist/providers/codex/config.js.map +1 -1
  244. package/sidecar/dist/providers/codex/module.js.map +1 -1
  245. package/sidecar/dist/providers/codex/permissions.d.ts +2 -2
  246. package/sidecar/dist/providers/codex/permissions.js +20 -6
  247. package/sidecar/dist/providers/codex/permissions.js.map +1 -1
  248. package/sidecar/dist/providers/codex/process.d.ts +3 -1
  249. package/sidecar/dist/providers/codex/process.js +35 -36
  250. package/sidecar/dist/providers/codex/process.js.map +1 -1
  251. package/sidecar/dist/providers/codex/provider.d.ts +2 -0
  252. package/sidecar/dist/providers/codex/provider.js +23 -7
  253. package/sidecar/dist/providers/codex/provider.js.map +1 -1
  254. package/sidecar/dist/providers/codex/resolve-binary.js +2 -2
  255. package/sidecar/dist/providers/codex/resolve-binary.js.map +1 -1
  256. package/sidecar/dist/providers/codex/stop.d.ts +6 -1
  257. package/sidecar/dist/providers/codex/stop.js +29 -22
  258. package/sidecar/dist/providers/codex/stop.js.map +1 -1
  259. package/sidecar/dist/providers/registry.js +4 -5
  260. package/sidecar/dist/providers/registry.js.map +1 -1
  261. package/sidecar/dist/server/chat-socket-registry.d.ts +6 -6
  262. package/sidecar/dist/server/chat-socket-registry.js.map +1 -1
  263. package/sidecar/dist/server/conversation-runs.d.ts +1 -1
  264. package/sidecar/dist/server/conversation-runs.js +4 -5
  265. package/sidecar/dist/server/conversation-runs.js.map +1 -1
  266. package/sidecar/dist/server/host-socket-registry.d.ts +4 -3
  267. package/sidecar/dist/server/host-socket-registry.js.map +1 -1
  268. package/sidecar/dist/server/http-io.d.ts +1 -1
  269. package/sidecar/dist/server/http-io.js +2 -3
  270. package/sidecar/dist/server/http-io.js.map +1 -1
  271. package/sidecar/dist/server/http-params.js.map +1 -1
  272. package/sidecar/dist/server/http-routes.d.ts +9 -2
  273. package/sidecar/dist/server/http-routes.js +15 -8
  274. package/sidecar/dist/server/http-routes.js.map +1 -1
  275. package/sidecar/dist/server/http.js +19 -10
  276. package/sidecar/dist/server/http.js.map +1 -1
  277. package/sidecar/dist/server/pending-queue.js +4 -1
  278. package/sidecar/dist/server/pending-queue.js.map +1 -1
  279. package/sidecar/dist/server/raw-data.js +2 -1
  280. package/sidecar/dist/server/raw-data.js.map +1 -1
  281. package/sidecar/dist/server/routing.js +1 -1
  282. package/sidecar/dist/server/routing.js.map +1 -1
  283. package/sidecar/dist/server/safety-net.js +20 -9
  284. package/sidecar/dist/server/safety-net.js.map +1 -1
  285. package/sidecar/dist/server/tool-calls.js +7 -5
  286. package/sidecar/dist/server/tool-calls.js.map +1 -1
  287. package/sidecar/dist/server/turns.js +2 -1
  288. package/sidecar/dist/server/turns.js.map +1 -1
  289. package/sidecar/dist/server/ws.js +2 -6
  290. package/sidecar/dist/server/ws.js.map +1 -1
  291. package/sidecar/dist/skills/build-catalog.js.map +1 -1
  292. package/sidecar/dist/skills/frontmatter.js.map +1 -1
  293. package/sidecar/dist/skills/plugin-wrapper.js.map +1 -1
  294. package/sidecar/dist/skills/resolve-sources.js.map +1 -1
  295. package/sidecar/dist/skills/skill-usage.js +18 -12
  296. package/sidecar/dist/skills/skill-usage.js.map +1 -1
  297. package/sidecar/dist/state/conversations.js.map +1 -1
  298. package/sidecar/dist/state/lock.js +6 -2
  299. package/sidecar/dist/state/lock.js.map +1 -1
  300. package/sidecar/dist/state/settings-store.d.ts +31 -1
  301. package/sidecar/dist/state/settings-store.js +23 -24
  302. package/sidecar/dist/state/settings-store.js.map +1 -1
  303. package/sidecar/dist/state/settings-types.js.map +1 -1
  304. package/sidecar/dist/state/sidecar-version.js +3 -1
  305. package/sidecar/dist/state/sidecar-version.js.map +1 -1
  306. package/sidecar/dist/state/store.js +1 -1
  307. package/sidecar/dist/state/store.js.map +1 -1
  308. package/sidecar/dist/state/types.js.map +1 -1
  309. package/sidecar/package.json +1 -7
  310. package/skills/dms-ai/cases.json +47 -0
  311. package/skills/dms-ai-code-mode/cases.json +38 -0
  312. package/skills/dms-builder-safe/cases.json +67 -0
  313. package/skills/dms-external-database/REFERENCE.md +34 -9
  314. package/skills/dms-external-database/SKILL.md +24 -11
  315. package/skills/dms-external-database/cases.json +47 -0
  316. package/frontend-vue/tests/i18n-panel.test.ts +0 -118
  317. package/frontend-vue/tests/i18n-views.test.ts +0 -63
  318. package/frontend-vue/tests/panel-header-height.test.ts +0 -40
@@ -8,16 +8,16 @@ const pages_1 = require("../constants/pages");
8
8
  const vocabulary_1 = require("../vocabulary");
9
9
  exports.OFFLINE_STATUS = "offline";
10
10
  const SIDECAR_HOST = "localhost";
11
- const STATE_TONES = {
12
- ready: "success",
13
- working: "info",
14
- waiting: "warning",
15
- [exports.OFFLINE_STATUS]: "error",
16
- };
17
- const SCOPE_TONES = {
18
- safe: "success",
19
- vibe: "warning",
20
- };
11
+ const STATE_TONES = new Map([
12
+ ["ready", "success"],
13
+ ["working", "info"],
14
+ ["waiting", "warning"],
15
+ [exports.OFFLINE_STATUS, "error"],
16
+ ]);
17
+ const SCOPE_TONES = new Map([
18
+ ["safe", "success"],
19
+ ["vibe", "warning"],
20
+ ]);
21
21
  function text(...segments) {
22
22
  return (0, vocabulary_1.i18nKey)(i18n_1.I18N_SECTIONS.STATUS, ...segments);
23
23
  }
@@ -45,7 +45,7 @@ function stateFact(status) {
45
45
  label: text("facts", "state"),
46
46
  value: text("state", status.status),
47
47
  type: "status",
48
- tone: STATE_TONES[status.status] ?? "neutral",
48
+ tone: STATE_TONES.get(status.status) ?? "neutral",
49
49
  detail: activityDetail(status),
50
50
  };
51
51
  }
@@ -87,7 +87,7 @@ function settingsFacts(status) {
87
87
  label: text("facts", "default_scope"),
88
88
  value: text("scope", scope),
89
89
  type: "status",
90
- tone: SCOPE_TONES[scope] ?? "neutral",
90
+ tone: SCOPE_TONES.get(scope) ?? "neutral",
91
91
  detail: isSafeWithoutBuilder
92
92
  ? text("facts", "scope_safe_needs_builder")
93
93
  : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"status-shapes.js","sourceRoot":"","sources":["../../src/routes/status-shapes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status-shapes.js","sourceRoot":"","sources":["../../src/routes/status-shapes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"undo-confirm.js","sourceRoot":"","sources":["../../src/routes/undo-confirm.ts"],"names":[],"mappings":";;;AA4CA,8CAgBC;AA5DD,kFAAuF;AACvF,0EAA6E;AAE7E,4CAAkD;AAElD,8CAAwC;AAG3B,QAAA,mBAAmB,GAAG,cAAc,CAAC;AAClD,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,IAAA,oBAAO,EAAC,oBAAa,CAAC,aAAa,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACvC,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IAC1C,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB,CAAC;AAC5E,CAAC;AAED,SAAS,cAAc,CAAC,QAAsB;IAC5C,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,KAAK,EAAE;QAChD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,EAAE,EAAE,2BAAmB;QACvB,IAAI,EAAE,IAAI,6BAAgB,CAAC,WAAW,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;YAC5B,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC;SACxC,CAAC;QACF,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AAOD,SAAgB,iBAAiB,CAAC,OAAoB;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;IAC3C,MAAM,YAAY,GAAG,SAAS,GAAG,CAAC,CAAC;IACnC,MAAM,MAAM,GAAkB;QAC5B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAG5C,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE;QAClD,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;QAC7B,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;QAC7C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KACzD,CAAC;IACF,OAAO,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"undo-confirm.js","sourceRoot":"","sources":["../../src/routes/undo-confirm.ts"],"names":[],"mappings":";;;AA8CA,8CAcC;AA5DD,kFAAuF;AACvF,0EAA6E;AAE7E,4CAAkD;AAElD,8CAAwC;AAG3B,QAAA,mBAAmB,GAAG,cAAc,CAAC;AAClD,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,SAAS,IAAI,CAAC,GAAW;IACvB,OAAO,IAAA,oBAAO,EAAC,oBAAa,CAAC,aAAa,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACvC,IAAI,SAAS,KAAK,CAAC;QAAE,OAAO,aAAa,CAAC;IAC1C,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,uBAAuB,CAAC;AAC5E,CAAC;AAED,SAAS,cAAc,CAAC,QAAsB;IAC5C,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,MAAM,QAAQ,CAAC,KAAK,EAAE;QAChD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO;QACL,EAAE,EAAE,2BAAmB;QACvB,IAAI,EAAE,IAAI,6BAAgB,CAAC,WAAW,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC;YAC5B,WAAW,EAAE,IAAI,CAAC,oBAAoB,CAAC;SACxC,CAAC;QACF,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AASD,SAAgB,iBAAiB,CAAC,OAAoB;IACpD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;IAC3C,MAAM,YAAY,GAAG,SAAS,GAAG,CAAC,CAAC;IACnC,MAAM,MAAM,GAAkB;QAC5B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE;QAClD,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;QAC7B,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;QAC7C,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KACzD,CAAC;IACF,OAAO,IAAA,uCAAsB,EAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/sidecar/http-client.ts"],"names":[],"mappings":";;AAiDA,wCAsBC;AAMD,kCAOC;AApFD,kDAA6D;AAC7D,8DAIoC;AACpC,sFAAiF;AAEjF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAe7C,KAAK,UAAU,QAAQ,CAAC,QAAkB;IACxC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,OAAuB;IACzD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;KACnC,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,UAA0B,EAAE;IAE5B,MAAM,IAAA,oCAAoB,GAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAA,qCAAqB,GAAE,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,mDAAuB,EAAE,CAAC;IACjE,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CACpB,UAAU,+BAAqB,IAAI,IAAI,GAAG,IAAI,EAAE,EAChD,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAC5B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,mDAAuB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,EAAE;KAClB,CAAC;AACJ,CAAC;AAMM,KAAK,UAAU,WAAW,CAAI,IAAY,EAAE,QAAW;IAC5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,QAAQ,CAAC,IAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/sidecar/http-client.ts"],"names":[],"mappings":";;AAiDA,wCAsBC;AAMD,kCAOC;AApFD,kDAA6D;AAC7D,8DAIoC;AACpC,sFAAiF;AAEjF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAe7C,KAAK,UAAU,QAAQ,CAAC,QAAkB;IACxC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,OAAuB;IACzD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC/C,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;KACnC,CAAC;AACJ,CAAC;AAOM,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,UAA0B,EAAE;IAE5B,MAAM,IAAA,oCAAoB,GAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAA,8BAAc,GAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAA,qCAAqB,GAAE,CAAC;IACtC,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,mDAAuB,EAAE,CAAC;IACjE,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CACpB,UAAU,+BAAqB,IAAI,IAAI,GAAG,IAAI,EAAE,EAChD,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAC5B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,mDAAuB,EAAE,CAAC;IACtC,CAAC;IACD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC;QAC9B,IAAI,EAAE,QAAQ,CAAC,EAAE;KAClB,CAAC;AACJ,CAAC;AAMM,KAAK,UAAU,WAAW,CAAI,IAAY,EAAE,QAAW;IAC5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAE,QAAQ,CAAC,IAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/vocabulary/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/vocabulary/tools.ts"],"names":[],"mappings":";;;AAsGA,oCAIC;AAGD,wCAEC;AA5GD,MAAM,eAAe,GAAG,eAAe,CAAC;AAGxC,MAAM,aAAa,GAAG;IACpB,IAAI,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;IAChD,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE;IACjD,IAAI,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,EAAE;IACzD,SAAS,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,MAAM,EAAE,MAAM,EAAE;IAC9D,YAAY,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE;IACvD,IAAI,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,EAAE;IACtD,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE;IAC5C,IAAI,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,EAAE;IACvD,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE;IAChD,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE;IAC/C,SAAS,EAAE,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,KAAK,EAAE;IAChE,SAAS,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE;IAC5D,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE;IACvD,YAAY,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE;IAC/D,UAAU,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE;IACxD,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;IAClD,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE;IAC/D,aAAa,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,WAAW,EAAE;IAC5E,aAAa,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,WAAW,EAAE;CACvB,CAAC;AAGhD,MAAM,YAAY,GAAG;IACnB,cAAc,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE;IAC3D,cAAc,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,SAAS,EAAE;IACpE,cAAc,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,SAAS,EAAE;IACpE,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE;IACnD,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE;IACvD,SAAS,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE;IAC3D,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE;IACrD,cAAc,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE;IACzD,gBAAgB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE;IAC1D,oBAAoB,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE;IACxE,iBAAiB,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE;IAChE,oBAAoB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE;IACjE,iBAAiB,EAAE;QACjB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;KACpB;IACD,eAAe,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE;IACjE,qBAAqB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE;IAClE,gBAAgB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE;IACzE,kBAAkB,EAAE;QAClB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;KACpB;IACD,qBAAqB,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE;IACtE,wBAAwB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE;IACrE,qBAAqB,EAAE;QACrB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;KACpB;IACD,cAAc,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,SAAS,EAAE;IACpE,qBAAqB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE;IAChE,qBAAqB,EAAE;QACrB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;KACpB;IACD,oBAAoB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE;IAC9D,wBAAwB,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAE;IAC5E,eAAe,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,SAAS,EAAE;IAChE,qBAAqB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE;IAClE,kBAAkB,EAAE;QAClB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;KACpB;IACD,qBAAqB,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE;IAChE,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE;IAC7D,qBAAqB,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE;IACnE,kBAAkB,EAAE;QAClB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,SAAS;QACjB,aAAa,EAAE,IAAI;KACpB;CAC4C,CAAC;AAQnC,QAAA,YAAY,GAA0B,MAAM,CAAC,OAAO,CAAC;IAChE,GAAG,aAAa;IAChB,GAAG,YAAY;CAChB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAEhD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,oBAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAG7E,SAAgB,YAAY,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;QACtC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,KAAK,CAAC;AACZ,CAAC;AAGD,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAChD,CAAC"}
@@ -8,6 +8,7 @@ import {
8
8
  watch,
9
9
  } from "vue";
10
10
  import type { ChatTransport } from "../../runtime/chat-transport";
11
+ import type { ConversationStartMode } from "../../runtime/assistant-session";
11
12
  import type { PanelIntent, PanelIntents } from "../../runtime/panel-intents";
12
13
  import {
13
14
  useChangeSetActions,
@@ -55,7 +56,9 @@ import MessageList from "./MessageList.vue";
55
56
  import PanelHeader, { type PanelStatusKind } from "./PanelHeader.vue";
56
57
  import QuestionDock from "./QuestionDock.vue";
57
58
  import QueueDock from "./QueueDock.vue";
59
+ import ProviderNotice from "./ProviderNotice.vue";
58
60
  import StepsDock from "./StepsDock.vue";
61
+ import UndoConflictModal from "./UndoConflictModal.vue";
59
62
 
60
63
  interface Props {
61
64
  /** The chat's side of the tab's stream, which the dashboard owns. */
@@ -318,14 +321,27 @@ function runPlan(): void {
318
321
  conversation.sendUserMessage(t("dms_ai.panel.plan.go_ahead"));
319
322
  }
320
323
 
321
- function onConflictOpenChange(isOpen: boolean): void {
322
- if (!isOpen) changeSetActions.cancelUndo();
323
- }
324
-
325
324
  function setDraft(text: string): void {
326
325
  composerRef.value?.setDraft(text);
327
326
  }
328
327
 
328
+ /** Sets the new conversation's mode as soon as the stream can carry it, unless the chat moved on. */
329
+ function setModeWhenConnected(next: ConversationStartMode): void {
330
+ const conversationId = activeId.value;
331
+ const apply = (): void => {
332
+ if (activeId.value === conversationId) mode.setMode(next);
333
+ };
334
+ if (isConnected.value) {
335
+ apply();
336
+ return;
337
+ }
338
+ const stop = watch(isConnected, (connected) => {
339
+ if (!connected) return;
340
+ stop();
341
+ apply();
342
+ });
343
+ }
344
+
329
345
  const INTENT_HANDLERS: Record<
330
346
  PanelIntent["kind"],
331
347
  (intent: PanelIntent) => void
@@ -335,6 +351,8 @@ const INTENT_HANDLERS: Record<
335
351
  },
336
352
  start: (intent) => {
337
353
  newConversation();
354
+ if (intent.kind === "start" && intent.mode)
355
+ setModeWhenConnected(intent.mode);
338
356
  if (intent.kind === "start" && intent.prompt)
339
357
  void nextTick(() => setDraft(intent.prompt ?? ""));
340
358
  else void nextTick(() => composerRef.value?.focus());
@@ -488,30 +506,12 @@ onBeforeUnmount(() => {
488
506
  @run-plan="runPlan"
489
507
  @edit-plan="setDraft(t('dms_ai.panel.plan.edit_prefix'))"
490
508
  />
491
- <div v-if="providerProblem" class="chat-view-provider">
492
- <div class="cb-provider" role="alert">
493
- <UIcon name="i-ph-key" class="cb-provider__icon" />
494
- <div>
495
- <b>
496
- {{
497
- t("dms_ai.panel.errors.agent_cant_run", { agent: agentName })
498
- }}
499
- </b>
500
- {{ settings.providers[settings.provider]?.reason ?? "" }}
501
- {{ t("dms_ai.panel.errors.agent_no_fallback") }}
502
- <div class="cb-provider__row">
503
- <UButton
504
- size="xs"
505
- color="neutral"
506
- variant="outline"
507
- icon="i-ph-gear-six"
508
- :label="t('dms_ai.panel.errors.open_settings')"
509
- @click="navigate(SETTINGS_PAGE_PATH)"
510
- />
511
- </div>
512
- </div>
513
- </div>
514
- </div>
509
+ <ProviderNotice
510
+ v-if="providerProblem"
511
+ :agent-name="agentName"
512
+ :reason="settings.providers[settings.provider]?.reason ?? ''"
513
+ @open-settings="navigate(SETTINGS_PAGE_PATH)"
514
+ />
515
515
  </section>
516
516
 
517
517
  <div class="cb__dock">
@@ -594,47 +594,11 @@ onBeforeUnmount(() => {
594
594
  />
595
595
  </div>
596
596
 
597
- <UModal
598
- :open="changeSetActions.pendingUndo.value !== null"
599
- :title="t('dms_ai.panel.change.conflict_title')"
600
- @update:open="onConflictOpenChange"
601
- >
602
- <template #body>
603
- <p class="chat-view-conflict">
604
- {{
605
- t("dms_ai.panel.change.conflict_text", {
606
- number: changeSetActions.pendingUndo.value?.number ?? 0,
607
- })
608
- }}
609
- </p>
610
- <ul class="chat-view-conflicts">
611
- <li
612
- v-for="conflict in changeSetActions.pendingUndo.value?.conflicts ??
613
- []"
614
- :key="conflict.changeSetId"
615
- >
616
- <b>#{{ conflict.number }}</b>
617
- {{ conflict.title }}
618
- <span>{{ conflict.files.join(", ") }}</span>
619
- </li>
620
- </ul>
621
- </template>
622
- <template #footer>
623
- <div class="chat-view-conflict-foot">
624
- <UButton
625
- color="neutral"
626
- variant="ghost"
627
- :label="t('dms_ai.panel.change.undo_only')"
628
- @click="changeSetActions.confirmUndo(false)"
629
- />
630
- <UButton
631
- color="secondary"
632
- :label="t('dms_ai.panel.change.undo_together')"
633
- @click="changeSetActions.confirmUndo(true)"
634
- />
635
- </div>
636
- </template>
637
- </UModal>
597
+ <UndoConflictModal
598
+ :pending="changeSetActions.pendingUndo.value"
599
+ @confirm="changeSetActions.confirmUndo"
600
+ @cancel="changeSetActions.cancelUndo"
601
+ />
638
602
  </main>
639
603
  </template>
640
604
 
@@ -659,39 +623,6 @@ onBeforeUnmount(() => {
659
623
  background: var(--dms-bg-sidebar);
660
624
  }
661
625
 
662
- .chat-view-provider {
663
- padding: 0 14px 16px;
664
- }
665
-
666
- .cb-provider {
667
- display: flex;
668
- gap: 10px;
669
- padding: 10px 12px;
670
- border: 1px solid var(--dms-error-line);
671
- border-radius: var(--ai-radius-md);
672
- background: var(--dms-error-tint);
673
- font-size: 12.5px;
674
- line-height: 1.5;
675
- color: var(--ui-text-toned);
676
- }
677
-
678
- .cb-provider__icon {
679
- width: 16px;
680
- height: 16px;
681
- flex: none;
682
- margin-top: 1px;
683
- color: var(--ui-error);
684
- }
685
-
686
- .cb-provider b {
687
- font-weight: 600;
688
- color: var(--ui-text-highlighted);
689
- }
690
-
691
- .cb-provider__row {
692
- margin-top: 8px;
693
- }
694
-
695
626
  .cb-toast {
696
627
  position: absolute;
697
628
  right: 12px;
@@ -720,37 +651,6 @@ onBeforeUnmount(() => {
720
651
  flex: 1;
721
652
  min-width: 0;
722
653
  }
723
-
724
- .chat-view-conflict {
725
- margin: 0 0 10px;
726
- font-size: 13px;
727
- line-height: 1.5;
728
- color: var(--ui-text-muted);
729
- }
730
-
731
- .chat-view-conflicts {
732
- display: grid;
733
- gap: 6px;
734
- margin: 0;
735
- padding: 0;
736
- list-style: none;
737
- font-size: 12.5px;
738
- }
739
-
740
- .chat-view-conflicts span {
741
- display: block;
742
- font-family: var(--ai-font-mono, ui-monospace, monospace);
743
- font-size: 11px;
744
- color: var(--ui-text-muted);
745
- overflow-wrap: anywhere;
746
- }
747
-
748
- .chat-view-conflict-foot {
749
- display: flex;
750
- justify-content: flex-end;
751
- gap: 8px;
752
- width: 100%;
753
- }
754
654
  </style>
755
655
 
756
656
  <style>
@@ -0,0 +1,77 @@
1
+ <script setup lang="ts">
2
+ import { useChatI18n } from "../composables/useChatI18n";
3
+
4
+ interface Props {
5
+ agentName: string;
6
+ /** Why the provider cannot run, as the sidecar reported it. */
7
+ reason: string;
8
+ }
9
+
10
+ interface Emits {
11
+ openSettings: [];
12
+ }
13
+
14
+ defineProps<Props>();
15
+ const emit = defineEmits<Emits>();
16
+ const { t } = useChatI18n();
17
+ </script>
18
+
19
+ <template>
20
+ <div class="chat-view-provider">
21
+ <div class="cb-provider" role="alert">
22
+ <UIcon name="i-ph-key" class="cb-provider__icon" />
23
+ <div>
24
+ <b>
25
+ {{ t("dms_ai.panel.errors.agent_cant_run", { agent: agentName }) }}
26
+ </b>
27
+ {{ reason }}
28
+ {{ t("dms_ai.panel.errors.agent_no_fallback") }}
29
+ <div class="cb-provider__row">
30
+ <UButton
31
+ size="xs"
32
+ color="neutral"
33
+ variant="outline"
34
+ icon="i-ph-gear-six"
35
+ :label="t('dms_ai.panel.errors.open_settings')"
36
+ @click="emit('openSettings')"
37
+ />
38
+ </div>
39
+ </div>
40
+ </div>
41
+ </div>
42
+ </template>
43
+
44
+ <style scoped>
45
+ .chat-view-provider {
46
+ padding: 0 14px 16px;
47
+ }
48
+
49
+ .cb-provider {
50
+ display: flex;
51
+ gap: 10px;
52
+ padding: 10px 12px;
53
+ border: 1px solid var(--dms-error-line);
54
+ border-radius: var(--ai-radius-md);
55
+ background: var(--dms-error-tint);
56
+ font-size: 12.5px;
57
+ line-height: 1.5;
58
+ color: var(--ui-text-toned);
59
+ }
60
+
61
+ .cb-provider__icon {
62
+ width: 16px;
63
+ height: 16px;
64
+ flex: none;
65
+ margin-top: 1px;
66
+ color: var(--ui-error);
67
+ }
68
+
69
+ .cb-provider b {
70
+ font-weight: 600;
71
+ color: var(--ui-text-highlighted);
72
+ }
73
+
74
+ .cb-provider__row {
75
+ margin-top: 8px;
76
+ }
77
+ </style>
@@ -0,0 +1,98 @@
1
+ <script setup lang="ts">
2
+ import type { PendingUndo } from "../composables/useChangeSetActions";
3
+ import { useChatI18n } from "../composables/useChatI18n";
4
+
5
+ interface Props {
6
+ /** The undo waiting on the user; the modal is open while there is one. */
7
+ pending: PendingUndo | null;
8
+ }
9
+
10
+ interface Emits {
11
+ confirm: [includeLater: boolean];
12
+ cancel: [];
13
+ }
14
+
15
+ defineProps<Props>();
16
+ const emit = defineEmits<Emits>();
17
+ const { t } = useChatI18n();
18
+
19
+ function onOpenChange(isOpen: boolean): void {
20
+ if (!isOpen) emit("cancel");
21
+ }
22
+ </script>
23
+
24
+ <template>
25
+ <UModal
26
+ :open="pending !== null"
27
+ :title="t('dms_ai.panel.change.conflict_title')"
28
+ @update:open="onOpenChange"
29
+ >
30
+ <template #body>
31
+ <p class="chat-view-conflict">
32
+ {{
33
+ t("dms_ai.panel.change.conflict_text", {
34
+ number: pending?.number ?? 0,
35
+ })
36
+ }}
37
+ </p>
38
+ <ul class="chat-view-conflicts">
39
+ <li
40
+ v-for="conflict in pending?.conflicts ?? []"
41
+ :key="conflict.changeSetId"
42
+ >
43
+ <b>#{{ conflict.number }}</b>
44
+ {{ conflict.title }}
45
+ <span>{{ conflict.files.join(", ") }}</span>
46
+ </li>
47
+ </ul>
48
+ </template>
49
+ <template #footer>
50
+ <div class="chat-view-conflict-foot">
51
+ <UButton
52
+ color="neutral"
53
+ variant="ghost"
54
+ :label="t('dms_ai.panel.change.undo_only')"
55
+ @click="emit('confirm', false)"
56
+ />
57
+ <UButton
58
+ color="secondary"
59
+ :label="t('dms_ai.panel.change.undo_together')"
60
+ @click="emit('confirm', true)"
61
+ />
62
+ </div>
63
+ </template>
64
+ </UModal>
65
+ </template>
66
+
67
+ <style scoped>
68
+ .chat-view-conflict {
69
+ margin: 0 0 10px;
70
+ font-size: 13px;
71
+ line-height: 1.5;
72
+ color: var(--ui-text-muted);
73
+ }
74
+
75
+ .chat-view-conflicts {
76
+ display: grid;
77
+ gap: 6px;
78
+ margin: 0;
79
+ padding: 0;
80
+ list-style: none;
81
+ font-size: 12.5px;
82
+ }
83
+
84
+ .chat-view-conflicts span {
85
+ display: block;
86
+ font-family: var(--ai-font-mono, ui-monospace, monospace);
87
+ font-size: 11px;
88
+ color: var(--ui-text-muted);
89
+ overflow-wrap: anywhere;
90
+ }
91
+
92
+ .chat-view-conflict-foot {
93
+ display: flex;
94
+ justify-content: flex-end;
95
+ gap: 8px;
96
+ width: 100%;
97
+ }
98
+ </style>
@@ -20,7 +20,7 @@ interface UndoPreview {
20
20
  }
21
21
 
22
22
  /** An undo waiting on the user: later sets touch the same files. */
23
- interface PendingUndo {
23
+ export interface PendingUndo {
24
24
  changeSetId: string;
25
25
  number: number;
26
26
  conflicts: UndoConflict[];
@@ -26,6 +26,10 @@ import {
26
26
  paletteAssistant,
27
27
  paletteSource,
28
28
  } from "../runtime/assistant-commands";
29
+ import {
30
+ ASSISTANT_ACTIONS_KEY,
31
+ publicAssistantActions,
32
+ } from "../runtime/assistant-actions";
29
33
  import { installAssistantNotifications } from "../runtime/assistant-notifications";
30
34
  import {
31
35
  ASSISTANT_SESSION_KEY,
@@ -264,8 +268,8 @@ function createSession(parts: SessionParts): AssistantSession {
264
268
  intents.push({ kind: "open", conversationId });
265
269
  panel.open();
266
270
  },
267
- startConversation: (prompt) => {
268
- intents.push({ kind: "start", prompt });
271
+ startConversation: (prompt, mode) => {
272
+ intents.push({ kind: "start", prompt, mode });
269
273
  panel.open();
270
274
  },
271
275
  holdStream: parts.holds.hold,
@@ -502,6 +506,10 @@ export default defineDmsPlugin((context) => {
502
506
  i18n: createChatI18n(context.$i18n),
503
507
  };
504
508
  context.vueApp.provide(ASSISTANT_SESSION_KEY, provided.session);
509
+ context.vueApp.provide(
510
+ ASSISTANT_ACTIONS_KEY,
511
+ publicAssistantActions(provided.session),
512
+ );
505
513
  context.vueApp.provide(CHAT_I18N_KEY, provided.i18n);
506
514
  const appMounted = new Promise<void>((resolve) =>
507
515
  context.hook("app:mounted", resolve),
@@ -0,0 +1,41 @@
1
+ import type {
2
+ AssistantSessionRef,
3
+ ConversationStartMode,
4
+ } from "./assistant-session";
5
+
6
+ /**
7
+ * The assistant as another module's layer may use it, without depending on dms-ai: injected under
8
+ * {@link ASSISTANT_ACTIONS_KEY} with a `null` default, which is what a project without dms-ai, or
9
+ * outside development, answers.
10
+ */
11
+ export interface PublicAssistantActions {
12
+ /** The assistant runs in this tab, so a button that starts a conversation can be offered. Reactive. */
13
+ readonly isAvailable: boolean;
14
+ /**
15
+ * Opens the assistant panel on a new conversation with `prompt` in the composer, unsent. With
16
+ * `mode`, the conversation is set to it first: `plan` makes the agent end with a plan to approve.
17
+ */
18
+ startConversation: (
19
+ prompt: string,
20
+ options?: { mode?: ConversationStartMode },
21
+ ) => void;
22
+ }
23
+
24
+ /**
25
+ * The global key of {@link PublicAssistantActions}: `Symbol.for` resolves to the same symbol in
26
+ * every layer, so another module's layer injects it without importing dms-ai.
27
+ */
28
+ export const ASSISTANT_ACTIONS_KEY = Symbol.for("dms-ai:assistant-actions");
29
+
30
+ /** The public actions over the tab's assistant session, which may not run yet, or ever. */
31
+ export function publicAssistantActions(
32
+ session: AssistantSessionRef,
33
+ ): PublicAssistantActions {
34
+ return {
35
+ get isAvailable() {
36
+ return session.value !== null;
37
+ },
38
+ startConversation: (prompt, options) =>
39
+ session.value?.startConversation(prompt, options?.mode),
40
+ };
41
+ }
@@ -17,6 +17,9 @@ export interface ChatPanelState {
17
17
  toggle: () => void;
18
18
  }
19
19
 
20
+ /** The approval modes a conversation can be started in from outside the panel. */
21
+ export type ConversationStartMode = "plan" | "normal";
22
+
20
23
  /**
21
24
  * The tab's assistant, as the plugin that owns it hands it to the panel, the
22
25
  * command palette's answer and the workspace pages: the sidecar's
@@ -31,8 +34,11 @@ export interface AssistantSession {
31
34
  navigate: (path: string) => void;
32
35
  /** Opens the panel on that conversation. */
33
36
  openConversation: (conversationId: string) => void;
34
- /** Opens the panel on a new conversation, the composer optionally prefilled. */
35
- startConversation: (prompt?: string) => void;
37
+ /**
38
+ * Opens the panel on a new conversation, the composer optionally prefilled, and the
39
+ * conversation set to `mode` first when one is given.
40
+ */
41
+ startConversation: (prompt?: string, mode?: ConversationStartMode) => void;
36
42
  /**
37
43
  * Keeps the tab's stream open while the panel is closed, until the returned
38
44
  * function releases it: the command palette's answer streams through it.
@@ -1,4 +1,5 @@
1
1
  import { type Ref, ref } from "vue";
2
+ import type { ConversationStartMode } from "./assistant-session";
2
3
 
3
4
  /** Opens the panel on a stored conversation. */
4
5
  interface OpenConversationIntent {
@@ -6,10 +7,11 @@ interface OpenConversationIntent {
6
7
  conversationId: string;
7
8
  }
8
9
 
9
- /** Opens the panel on a new conversation, the composer optionally prefilled. */
10
+ /** Opens the panel on a new conversation, the composer optionally prefilled, in `mode` when given. */
10
11
  interface StartConversationIntent {
11
12
  kind: "start";
12
13
  prompt?: string;
14
+ mode?: ConversationStartMode;
13
15
  }
14
16
 
15
17
  /** Puts the caret in the composer of the current conversation. */