@antelopejs/dms-ai 0.1.5 → 0.2.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.
- package/README.md +54 -11
- package/dist/channels/bridge.d.ts +6 -1
- package/dist/channels/bridge.js +29 -1
- package/dist/channels/bridge.js.map +1 -1
- package/dist/channels/channel-service.d.ts +2 -1
- package/dist/channels/channel-service.js +3 -2
- package/dist/channels/channel-service.js.map +1 -1
- package/dist/channels/sse-stream.d.ts +3 -2
- package/dist/config.d.ts +0 -2
- package/dist/config.js +0 -7
- package/dist/config.js.map +1 -1
- package/dist/constants/http.d.ts +9 -0
- package/dist/constants/http.js +14 -0
- package/dist/constants/http.js.map +1 -0
- package/dist/constants/i18n.d.ts +11 -0
- package/dist/constants/i18n.js +15 -0
- package/dist/constants/i18n.js.map +1 -0
- package/dist/constants/pages.d.ts +50 -0
- package/dist/constants/pages.js +58 -0
- package/dist/constants/pages.js.map +1 -0
- package/dist/constants/sidecar.d.ts +3 -1
- package/dist/constants/sidecar.js +4 -2
- package/dist/constants/sidecar.js.map +1 -1
- package/dist/index.js +0 -8
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/sidecar-owner.d.ts +14 -0
- package/dist/lifecycle/sidecar-owner.js +102 -0
- package/dist/lifecycle/sidecar-owner.js.map +1 -0
- package/dist/lifecycle/spawn-sidecar.d.ts +1 -0
- package/dist/lifecycle/spawn-sidecar.js +59 -145
- package/dist/lifecycle/spawn-sidecar.js.map +1 -1
- package/dist/lifecycle/terminate-process.d.ts +1 -0
- package/dist/lifecycle/terminate-process.js +34 -0
- package/dist/lifecycle/terminate-process.js.map +1 -0
- package/dist/logging/log-buffer.d.ts +0 -6
- package/dist/logging/log-buffer.js +0 -1
- package/dist/logging/log-buffer.js.map +1 -1
- package/dist/pages/activity/columns.d.ts +2 -0
- package/dist/pages/activity/columns.js +103 -0
- package/dist/pages/activity/columns.js.map +1 -0
- package/dist/pages/activity/page.d.ts +1 -2
- package/dist/pages/activity/page.js +79 -44
- package/dist/pages/activity/page.js.map +1 -1
- package/dist/pages/all.d.ts +1 -0
- package/dist/pages/all.js +1 -0
- package/dist/pages/all.js.map +1 -1
- package/dist/pages/changes/page.d.ts +9 -0
- package/dist/pages/changes/page.js +22 -0
- package/dist/pages/changes/page.js.map +1 -0
- package/dist/pages/meta.d.ts +9 -0
- package/dist/pages/meta.js +31 -0
- package/dist/pages/meta.js.map +1 -0
- package/dist/pages/module.js +9 -5
- package/dist/pages/module.js.map +1 -1
- package/dist/pages/overview/insights.d.ts +3 -0
- package/dist/pages/overview/insights.js +77 -0
- package/dist/pages/overview/insights.js.map +1 -0
- package/dist/pages/overview/kpis.d.ts +2 -0
- package/dist/pages/overview/kpis.js +39 -0
- package/dist/pages/overview/kpis.js.map +1 -0
- package/dist/pages/overview/page.d.ts +6 -3
- package/dist/pages/overview/page.js +19 -62
- package/dist/pages/overview/page.js.map +1 -1
- package/dist/pages/overview/recent-changes.d.ts +2 -0
- package/dist/pages/overview/recent-changes.js +144 -0
- package/dist/pages/overview/recent-changes.js.map +1 -0
- package/dist/pages/overview/status.d.ts +3 -0
- package/dist/pages/overview/status.js +36 -0
- package/dist/pages/overview/status.js.map +1 -0
- package/dist/pages/settings/availability.d.ts +2 -0
- package/dist/pages/settings/availability.js +46 -0
- package/dist/pages/settings/availability.js.map +1 -0
- package/dist/pages/settings/options.d.ts +10 -0
- package/dist/pages/settings/options.js +58 -0
- package/dist/pages/settings/options.js.map +1 -0
- package/dist/pages/settings/page.d.ts +2 -1
- package/dist/pages/settings/page.js +39 -13
- package/dist/pages/settings/page.js.map +1 -1
- package/dist/pages/settings/sections.d.ts +2 -0
- package/dist/pages/settings/sections.js +164 -0
- package/dist/pages/settings/sections.js.map +1 -0
- package/dist/pages/skills/page.d.ts +2 -1
- package/dist/pages/skills/page.js +122 -12
- package/dist/pages/skills/page.js.map +1 -1
- package/dist/routes/activity-csv.d.ts +2 -0
- package/dist/routes/activity-csv.js +42 -0
- package/dist/routes/activity-csv.js.map +1 -0
- package/dist/routes/activity.d.ts +8 -0
- package/dist/routes/activity.js +105 -0
- package/dist/routes/activity.js.map +1 -0
- package/dist/routes/actor.d.ts +2 -0
- package/dist/routes/actor.js +8 -0
- package/dist/routes/actor.js.map +1 -0
- package/dist/routes/banner.d.ts +3 -0
- package/dist/routes/banner.js +9 -0
- package/dist/routes/banner.js.map +1 -0
- package/dist/routes/builder.js +1 -5
- package/dist/routes/builder.js.map +1 -1
- package/dist/routes/changes.d.ts +17 -0
- package/dist/routes/changes.js +152 -0
- package/dist/routes/changes.js.map +1 -0
- package/dist/routes/channels.js +2 -1
- package/dist/routes/channels.js.map +1 -1
- package/dist/routes/index.d.ts +3 -0
- package/dist/routes/index.js +3 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/list-query.d.ts +9 -0
- package/dist/routes/list-query.js +34 -0
- package/dist/routes/list-query.js.map +1 -0
- package/dist/routes/metric-shapes.d.ts +8 -0
- package/dist/routes/metric-shapes.js +107 -0
- package/dist/routes/metric-shapes.js.map +1 -0
- package/dist/routes/metrics.d.ts +5 -48
- package/dist/routes/metrics.js +52 -42
- package/dist/routes/metrics.js.map +1 -1
- package/dist/routes/settings.d.ts +3 -16
- package/dist/routes/settings.js +40 -14
- package/dist/routes/settings.js.map +1 -1
- package/dist/routes/sidecar-results.d.ts +6 -0
- package/dist/routes/sidecar-results.js +44 -0
- package/dist/routes/sidecar-results.js.map +1 -0
- package/dist/routes/skills.d.ts +4 -14
- package/dist/routes/skills.js +91 -6
- package/dist/routes/skills.js.map +1 -1
- package/dist/routes/status-shapes.d.ts +5 -0
- package/dist/routes/status-shapes.js +176 -0
- package/dist/routes/status-shapes.js.map +1 -0
- package/dist/routes/status.d.ts +9 -0
- package/dist/routes/status.js +92 -0
- package/dist/routes/status.js.map +1 -0
- package/dist/routes/undo-confirm.d.ts +3 -0
- package/dist/routes/undo-confirm.js +51 -0
- package/dist/routes/undo-confirm.js.map +1 -0
- package/dist/sidecar/http-client.d.ts +11 -0
- package/dist/sidecar/http-client.js +59 -0
- package/dist/sidecar/http-client.js.map +1 -0
- package/dist/sidecar/index.d.ts +2 -0
- package/dist/sidecar/index.js +19 -0
- package/dist/sidecar/index.js.map +1 -0
- package/dist/sidecar/query.d.ts +3 -0
- package/dist/sidecar/query.js +25 -0
- package/dist/sidecar/query.js.map +1 -0
- package/dist/types/activity.d.ts +31 -0
- package/dist/types/activity.js +3 -0
- package/dist/types/activity.js.map +1 -0
- package/dist/types/changes.d.ts +45 -0
- package/dist/types/changes.js +3 -0
- package/dist/types/changes.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/metrics.d.ts +76 -0
- package/dist/types/metrics.js +3 -0
- package/dist/types/metrics.js.map +1 -0
- package/dist/types/skills.d.ts +51 -0
- package/dist/types/skills.js +3 -0
- package/dist/types/skills.js.map +1 -0
- package/dist/types/status.d.ts +16 -0
- package/dist/types/status.js +3 -0
- package/dist/types/status.js.map +1 -0
- package/dist/vocabulary/enumerations.d.ts +9 -0
- package/dist/vocabulary/enumerations.js +52 -0
- package/dist/vocabulary/enumerations.js.map +1 -0
- package/dist/vocabulary/index.d.ts +5 -0
- package/dist/vocabulary/index.js +22 -0
- package/dist/vocabulary/index.js.map +1 -0
- package/dist/vocabulary/keys.d.ts +1 -0
- package/dist/vocabulary/keys.js +8 -0
- package/dist/vocabulary/keys.js.map +1 -0
- package/dist/vocabulary/options.d.ts +7 -0
- package/dist/vocabulary/options.js +33 -0
- package/dist/vocabulary/options.js.map +1 -0
- package/dist/vocabulary/tools.d.ts +7 -0
- package/dist/vocabulary/tools.js +99 -0
- package/dist/vocabulary/tools.js.map +1 -0
- package/dist/vocabulary/types.d.ts +20 -0
- package/dist/vocabulary/types.js +3 -0
- package/dist/vocabulary/types.js.map +1 -0
- package/frontend-vue/app/chat/components/AnswerRecord.vue +95 -0
- package/frontend-vue/app/chat/components/ApprovalDock.vue +371 -0
- package/frontend-vue/app/chat/components/ChangeSetCard.vue +297 -0
- package/frontend-vue/app/chat/components/ChatEmpty.vue +142 -0
- package/frontend-vue/app/chat/components/ChatView.vue +664 -406
- package/frontend-vue/app/chat/components/Composer.vue +589 -0
- package/frontend-vue/app/chat/components/ConnectionBanner.vue +41 -65
- package/frontend-vue/app/chat/components/ConversationDrawer.vue +387 -177
- package/frontend-vue/app/chat/components/DiffView.vue +131 -0
- package/frontend-vue/app/chat/components/FullAutoBanner.vue +76 -0
- package/frontend-vue/app/chat/components/FullAutoDialog.vue +103 -0
- package/frontend-vue/app/chat/components/MarkdownContent.vue +15 -15
- package/frontend-vue/app/chat/components/MessageList.vue +389 -295
- package/frontend-vue/app/chat/components/NoticeCard.vue +193 -0
- package/frontend-vue/app/chat/components/PanelHeader.vue +242 -0
- package/frontend-vue/app/chat/components/PermissionCard.vue +470 -0
- package/frontend-vue/app/chat/components/PlanCard.vue +115 -0
- package/frontend-vue/app/chat/components/QuestionDock.vue +407 -0
- package/frontend-vue/app/chat/components/QueueDock.vue +310 -0
- package/frontend-vue/app/chat/components/RulesList.vue +97 -0
- package/frontend-vue/app/chat/components/StepsDock.vue +181 -0
- package/frontend-vue/app/chat/components/ToolCluster.vue +186 -178
- package/frontend-vue/app/chat/components/ToolRow.vue +251 -0
- package/frontend-vue/app/chat/components/TurnErrorCard.vue +135 -0
- package/frontend-vue/app/chat/composables/conversation-events.ts +404 -0
- package/frontend-vue/app/chat/composables/useChangeSetActions.ts +135 -0
- package/frontend-vue/app/chat/composables/useChatChannel.ts +11 -3
- package/frontend-vue/app/chat/composables/useChatI18n.ts +35 -0
- package/frontend-vue/app/chat/composables/useComposerAttachments.ts +111 -0
- package/frontend-vue/app/chat/composables/useConversation.ts +149 -651
- package/frontend-vue/app/chat/composables/useConversationId.ts +2 -10
- package/frontend-vue/app/chat/composables/useConversationList.ts +77 -21
- package/frontend-vue/app/chat/composables/useConversationMode.ts +73 -0
- package/frontend-vue/app/chat/composables/usePaletteTurn.ts +124 -0
- package/frontend-vue/app/chat/composables/usePermissionQueue.ts +211 -34
- package/frontend-vue/app/chat/composables/useQuestionQueue.ts +103 -21
- package/frontend-vue/app/chat/composables/useQueueActions.ts +55 -0
- package/frontend-vue/app/chat/composables/useSettings.ts +17 -34
- package/frontend-vue/app/chat/constants/attachments.ts +2 -1
- package/frontend-vue/app/chat/constants/conversation.ts +18 -32
- package/frontend-vue/app/chat/constants/protocol.ts +25 -2
- package/frontend-vue/app/chat/constants/run-status.ts +8 -14
- package/frontend-vue/app/chat/constants/settings.ts +5 -47
- package/frontend-vue/app/chat/types/conversation.ts +72 -2
- package/frontend-vue/app/chat/types/permission.ts +31 -0
- package/frontend-vue/app/chat/types/protocol.ts +226 -0
- package/frontend-vue/app/chat/types/question.ts +10 -1
- package/frontend-vue/app/chat/types/settings.ts +9 -5
- package/frontend-vue/app/chat/utils/approval-keyboard.ts +49 -0
- package/frontend-vue/app/chat/utils/arrays.ts +10 -0
- package/frontend-vue/app/chat/utils/conversation-groups.ts +96 -0
- package/frontend-vue/app/chat/utils/conversation-messages.ts +251 -0
- package/frontend-vue/app/chat/utils/diff.ts +78 -0
- package/frontend-vue/app/chat/utils/format.ts +43 -0
- package/frontend-vue/app/chat/utils/markdown.ts +1 -1
- package/frontend-vue/app/chat/utils/permission-view.ts +159 -0
- package/frontend-vue/app/chat/utils/platform.ts +34 -0
- package/frontend-vue/app/chat/utils/queue.ts +18 -0
- package/frontend-vue/app/chat/utils/render-items.ts +164 -0
- package/frontend-vue/app/chat/utils/run-status.ts +19 -23
- package/frontend-vue/app/chat/utils/suggestions.ts +101 -0
- package/frontend-vue/app/chat/utils/todos.ts +2 -2
- package/frontend-vue/app/chat/utils/tool-lexicon.ts +540 -0
- package/frontend-vue/app/chat/utils/tool-state.ts +60 -0
- package/frontend-vue/app/components/ActivityDetail.vue +235 -0
- package/frontend-vue/app/components/ChangesView.vue +249 -0
- package/frontend-vue/app/components/ChatPanel.vue +141 -196
- package/frontend-vue/app/components/PaletteAnswer.vue +185 -0
- package/frontend-vue/app/components/SkillCard.vue +77 -0
- package/frontend-vue/app/components/SkillDetail.vue +188 -0
- package/frontend-vue/app/plugins/ai.client.ts +349 -57
- package/frontend-vue/app/plugins/side-panel.ts +13 -0
- package/frontend-vue/app/runtime/assistant-activity.ts +105 -0
- package/frontend-vue/app/runtime/assistant-commands.ts +210 -0
- package/frontend-vue/app/runtime/assistant-notifications.ts +181 -0
- package/frontend-vue/app/runtime/assistant-session.ts +49 -6
- package/frontend-vue/app/runtime/channel-client.ts +3 -6
- package/frontend-vue/app/runtime/constants.ts +29 -35
- package/frontend-vue/app/runtime/host-commands.ts +4 -4
- package/frontend-vue/app/runtime/listeners.ts +1 -1
- package/frontend-vue/app/runtime/navigation-complete.ts +1 -1
- package/frontend-vue/app/runtime/panel-intents.ts +55 -0
- package/frontend-vue/app/runtime/shortcuts.ts +3 -1
- package/frontend-vue/app/runtime/sidecar-status.ts +9 -1
- package/frontend-vue/app/runtime/stream-holds.ts +24 -0
- package/frontend-vue/app/views/ChangeSetPanel.vue +222 -0
- package/frontend-vue/app/views/DecisionLabel.vue +30 -0
- package/frontend-vue/app/views/DiffView.vue +215 -0
- package/frontend-vue/app/views/ResultPill.vue +32 -0
- package/frontend-vue/app/views/RowStepper.vue +48 -0
- package/frontend-vue/app/views/UnavailableState.vue +66 -0
- package/frontend-vue/app/views/composables/useAiRequest.ts +89 -0
- package/frontend-vue/app/views/composables/useAssistant.ts +33 -0
- package/frontend-vue/app/views/composables/useChangeSetActions.ts +102 -0
- package/frontend-vue/app/views/composables/useViewFormat.ts +55 -0
- package/frontend-vue/app/views/constants.ts +43 -0
- package/frontend-vue/app/views/types.ts +189 -0
- package/frontend-vue/app/views/utils/activity.ts +77 -0
- package/frontend-vue/app/views/utils/change-sets.ts +44 -0
- package/frontend-vue/app/views/utils/diff.ts +98 -0
- package/frontend-vue/app/views/utils/moment.ts +92 -0
- package/frontend-vue/app/views/utils/skills.ts +27 -0
- package/frontend-vue/app/views/utils/tools.ts +73 -0
- package/frontend-vue/dms.frontend.ts +17 -5
- package/frontend-vue/i18n/locales/dms-ai-pages-en-GB.json +607 -0
- package/frontend-vue/i18n/locales/dms-ai-pages-fr-FR.json +607 -0
- package/frontend-vue/i18n/locales/dms-ai-panel-en-GB.json +425 -0
- package/frontend-vue/i18n/locales/dms-ai-panel-fr-FR.json +425 -0
- package/frontend-vue/i18n/locales/dms-ai-views-en-GB.json +142 -0
- package/frontend-vue/i18n/locales/dms-ai-views-fr-FR.json +142 -0
- package/frontend-vue/package.json +1 -1
- package/frontend-vue/tests/chat/conversation-events.test.ts +590 -0
- package/frontend-vue/tests/chat/diff-and-keys.test.ts +178 -0
- package/frontend-vue/tests/chat/tool-lexicon.test.ts +188 -0
- package/frontend-vue/tests/chat/useConversation.test.ts +36 -33
- package/frontend-vue/tests/chat-panel.test.ts +78 -131
- package/frontend-vue/tests/i18n-panel.test.ts +118 -0
- package/frontend-vue/tests/palette-assistant.test.ts +220 -0
- package/frontend-vue/tests/panel-states.test.ts +806 -0
- package/frontend-vue/tests/sidecar-guest.test.ts +35 -3
- package/frontend-vue/tests/support/i18n.ts +49 -0
- package/frontend-vue/tests/support/panel-harness.ts +198 -0
- package/frontend-vue/tests/support/stubs.ts +201 -0
- package/frontend-vue/tests/views/diff-view.test.ts +149 -0
- package/frontend-vue/tests/views/view-format.test.ts +59 -0
- package/package.json +5 -3
- package/sidecar/dist/agent/attachment-files.d.ts +0 -1
- package/sidecar/dist/agent/attachment-files.js +1 -1
- package/sidecar/dist/agent/attachment-files.js.map +1 -1
- package/sidecar/dist/agent/call-ledger.d.ts +6 -0
- package/sidecar/dist/agent/call-ledger.js +41 -0
- package/sidecar/dist/agent/call-ledger.js.map +1 -0
- package/sidecar/dist/agent/command-analysis.d.ts +9 -0
- package/sidecar/dist/agent/command-analysis.js +104 -0
- package/sidecar/dist/agent/command-analysis.js.map +1 -0
- package/sidecar/dist/agent/conversation-modes.d.ts +32 -0
- package/sidecar/dist/agent/conversation-modes.js +122 -0
- package/sidecar/dist/agent/conversation-modes.js.map +1 -0
- package/sidecar/dist/agent/edit-targets.d.ts +5 -0
- package/sidecar/dist/agent/edit-targets.js +41 -0
- package/sidecar/dist/agent/edit-targets.js.map +1 -0
- package/sidecar/dist/agent/effective-mode.d.ts +9 -2
- package/sidecar/dist/agent/effective-mode.js +14 -16
- package/sidecar/dist/agent/effective-mode.js.map +1 -1
- package/sidecar/dist/agent/host-context.js +2 -2
- package/sidecar/dist/agent/host-context.js.map +1 -1
- package/sidecar/dist/agent/line-diff.d.ts +8 -0
- package/sidecar/dist/agent/line-diff.js +204 -0
- package/sidecar/dist/agent/line-diff.js.map +1 -0
- package/sidecar/dist/agent/permission-bus.d.ts +55 -10
- package/sidecar/dist/agent/permission-bus.js +130 -100
- package/sidecar/dist/agent/permission-bus.js.map +1 -1
- package/sidecar/dist/agent/permission-preview.d.ts +20 -0
- package/sidecar/dist/agent/permission-preview.js +203 -0
- package/sidecar/dist/agent/permission-preview.js.map +1 -0
- package/sidecar/dist/agent/permission-rules.d.ts +17 -0
- package/sidecar/dist/agent/permission-rules.js +95 -0
- package/sidecar/dist/agent/permission-rules.js.map +1 -0
- package/sidecar/dist/agent/provider.d.ts +12 -4
- package/sidecar/dist/agent/question-bus.d.ts +14 -2
- package/sidecar/dist/agent/question-bus.js +30 -11
- package/sidecar/dist/agent/question-bus.js.map +1 -1
- package/sidecar/dist/agent/runner-events.d.ts +3 -1
- package/sidecar/dist/agent/runner.d.ts +6 -4
- package/sidecar/dist/agent/runner.js +24 -7
- package/sidecar/dist/agent/runner.js.map +1 -1
- package/sidecar/dist/agent/switching-runner.js +1 -0
- package/sidecar/dist/agent/switching-runner.js.map +1 -1
- package/sidecar/dist/agent/tool-kinds.d.ts +12 -0
- package/sidecar/dist/agent/tool-kinds.js +50 -0
- package/sidecar/dist/agent/tool-kinds.js.map +1 -0
- package/sidecar/dist/agent/typecheck.d.ts +2 -6
- package/sidecar/dist/audit/activity-query.d.ts +37 -0
- package/sidecar/dist/audit/activity-query.js +111 -0
- package/sidecar/dist/audit/activity-query.js.map +1 -0
- package/sidecar/dist/audit/activity-target.d.ts +2 -0
- package/sidecar/dist/audit/activity-target.js +46 -0
- package/sidecar/dist/audit/activity-target.js.map +1 -0
- package/sidecar/dist/audit/activity.d.ts +45 -0
- package/sidecar/dist/audit/activity.js +255 -0
- package/sidecar/dist/audit/activity.js.map +1 -0
- package/sidecar/dist/audit/call-audit.d.ts +11 -0
- package/sidecar/dist/audit/call-audit.js +23 -0
- package/sidecar/dist/audit/call-audit.js.map +1 -0
- package/sidecar/dist/checkpoints/checkpoints.d.ts +69 -0
- package/sidecar/dist/checkpoints/checkpoints.js +244 -0
- package/sidecar/dist/checkpoints/checkpoints.js.map +1 -0
- package/sidecar/dist/checkpoints/shadow-git.d.ts +23 -0
- package/sidecar/dist/checkpoints/shadow-git.js +173 -0
- package/sidecar/dist/checkpoints/shadow-git.js.map +1 -0
- package/sidecar/dist/constants/agent.d.ts +2 -0
- package/sidecar/dist/constants/agent.js +4 -0
- package/sidecar/dist/constants/agent.js.map +1 -1
- package/sidecar/dist/constants/audit.d.ts +22 -0
- package/sidecar/dist/constants/audit.js +49 -0
- package/sidecar/dist/constants/audit.js.map +1 -0
- package/sidecar/dist/constants/builder.d.ts +3 -0
- package/sidecar/dist/constants/builder.js +2 -0
- package/sidecar/dist/constants/builder.js.map +1 -1
- package/sidecar/dist/constants/checkpoints.d.ts +15 -0
- package/sidecar/dist/constants/checkpoints.js +26 -0
- package/sidecar/dist/constants/checkpoints.js.map +1 -0
- package/sidecar/dist/constants/claude.d.ts +1 -0
- package/sidecar/dist/constants/claude.js +1 -0
- package/sidecar/dist/constants/claude.js.map +1 -1
- package/sidecar/dist/constants/codex.d.ts +2 -4
- package/sidecar/dist/constants/codex.js +2 -4
- package/sidecar/dist/constants/codex.js.map +1 -1
- package/sidecar/dist/constants/http.d.ts +1 -0
- package/sidecar/dist/constants/http.js +1 -0
- package/sidecar/dist/constants/http.js.map +1 -1
- package/sidecar/dist/constants/mcp.d.ts +3 -0
- package/sidecar/dist/constants/mcp.js +9 -0
- package/sidecar/dist/constants/mcp.js.map +1 -1
- package/sidecar/dist/constants/permissions.d.ts +9 -3
- package/sidecar/dist/constants/permissions.js +9 -2
- package/sidecar/dist/constants/permissions.js.map +1 -1
- package/sidecar/dist/constants/settings.d.ts +2 -1
- package/sidecar/dist/constants/settings.js +7 -1
- package/sidecar/dist/constants/settings.js.map +1 -1
- package/sidecar/dist/constants/tool-kinds.d.ts +14 -0
- package/sidecar/dist/constants/tool-kinds.js +65 -0
- package/sidecar/dist/constants/tool-kinds.js.map +1 -0
- package/sidecar/dist/index.d.ts +4 -0
- package/sidecar/dist/index.js +35 -5
- package/sidecar/dist/index.js.map +1 -1
- package/sidecar/dist/mcp/define-tool.d.ts +3 -2
- package/sidecar/dist/mcp/tool-definitions.js +4 -1
- package/sidecar/dist/mcp/tool-definitions.js.map +1 -1
- package/sidecar/dist/mcp/tools/ask-user.d.ts +2 -2
- package/sidecar/dist/mcp/tools/ask-user.js +7 -4
- package/sidecar/dist/mcp/tools/ask-user.js.map +1 -1
- package/sidecar/dist/mcp/tools/builder-catalog.d.ts +3 -0
- package/sidecar/dist/mcp/tools/builder-catalog.js +86 -0
- package/sidecar/dist/mcp/tools/builder-catalog.js.map +1 -0
- package/sidecar/dist/mcp/tools/builder-gate.d.ts +8 -0
- package/sidecar/dist/mcp/tools/builder-gate.js +22 -0
- package/sidecar/dist/mcp/tools/builder-gate.js.map +1 -0
- package/sidecar/dist/mcp/tools/builder.d.ts +7 -2
- package/sidecar/dist/mcp/tools/builder.js +48 -7
- package/sidecar/dist/mcp/tools/builder.js.map +1 -1
- package/sidecar/dist/mcp/types.d.ts +2 -0
- package/sidecar/dist/metrics/aggregate.d.ts +13 -10
- package/sidecar/dist/metrics/aggregate.js +140 -143
- package/sidecar/dist/metrics/aggregate.js.map +1 -1
- package/sidecar/dist/metrics/types.d.ts +36 -23
- package/sidecar/dist/metrics/types.js +3 -1
- package/sidecar/dist/metrics/types.js.map +1 -1
- package/sidecar/dist/pages/imports-scanner.d.ts +1 -1
- package/sidecar/dist/pages/imports-scanner.js +2 -5
- package/sidecar/dist/pages/imports-scanner.js.map +1 -1
- package/sidecar/dist/prompts/agent.d.ts +1 -3
- package/sidecar/dist/prompts/agent.js +4 -4
- package/sidecar/dist/prompts/agent.js.map +1 -1
- package/sidecar/dist/prompts/builder.d.ts +2 -2
- package/sidecar/dist/prompts/builder.js +2 -2
- package/sidecar/dist/protocol/events.d.ts +1084 -18
- package/sidecar/dist/protocol/events.js +239 -5
- package/sidecar/dist/protocol/events.js.map +1 -1
- package/sidecar/dist/protocol/messages.d.ts +273 -19
- package/sidecar/dist/protocol/messages.js +107 -7
- package/sidecar/dist/protocol/messages.js.map +1 -1
- package/sidecar/dist/providers/claude/config.d.ts +3 -2
- package/sidecar/dist/providers/claude/config.js +10 -4
- package/sidecar/dist/providers/claude/config.js.map +1 -1
- package/sidecar/dist/providers/claude/provider.d.ts +2 -8
- package/sidecar/dist/providers/claude/provider.js +37 -35
- package/sidecar/dist/providers/claude/provider.js.map +1 -1
- package/sidecar/dist/providers/claude/safe-mode.d.ts +6 -1
- package/sidecar/dist/providers/claude/safe-mode.js +13 -5
- package/sidecar/dist/providers/claude/safe-mode.js.map +1 -1
- package/sidecar/dist/providers/codex/adapter.d.ts +6 -0
- package/sidecar/dist/providers/codex/adapter.js +14 -4
- package/sidecar/dist/providers/codex/adapter.js.map +1 -1
- package/sidecar/dist/providers/codex/client.d.ts +0 -11
- package/sidecar/dist/providers/codex/config.d.ts +1 -3
- package/sidecar/dist/providers/codex/config.js +5 -11
- package/sidecar/dist/providers/codex/config.js.map +1 -1
- package/sidecar/dist/providers/codex/permissions.d.ts +7 -4
- package/sidecar/dist/providers/codex/permissions.js +32 -16
- package/sidecar/dist/providers/codex/permissions.js.map +1 -1
- package/sidecar/dist/providers/codex/process.js +1 -5
- package/sidecar/dist/providers/codex/process.js.map +1 -1
- package/sidecar/dist/providers/codex/provider.js +14 -3
- package/sidecar/dist/providers/codex/provider.js.map +1 -1
- package/sidecar/dist/providers/codex/skills.d.ts +0 -1
- package/sidecar/dist/providers/codex/skills.js +1 -1
- package/sidecar/dist/providers/codex/skills.js.map +1 -1
- package/sidecar/dist/providers/codex/stop.js +1 -10
- package/sidecar/dist/providers/codex/stop.js.map +1 -1
- package/sidecar/dist/server/change-set-actions.d.ts +10 -0
- package/sidecar/dist/server/change-set-actions.js +14 -0
- package/sidecar/dist/server/change-set-actions.js.map +1 -0
- package/sidecar/dist/server/chat-events.d.ts +15 -0
- package/sidecar/dist/server/chat-events.js +115 -0
- package/sidecar/dist/server/chat-events.js.map +1 -0
- package/sidecar/dist/server/chat-socket-registry.d.ts +2 -0
- package/sidecar/dist/server/chat-socket-registry.js +48 -37
- package/sidecar/dist/server/chat-socket-registry.js.map +1 -1
- package/sidecar/dist/server/conversation-runs.d.ts +13 -0
- package/sidecar/dist/server/conversation-runs.js +114 -0
- package/sidecar/dist/server/conversation-runs.js.map +1 -0
- package/sidecar/dist/server/http-io.d.ts +4 -0
- package/sidecar/dist/server/http-io.js +31 -0
- package/sidecar/dist/server/http-io.js.map +1 -0
- package/sidecar/dist/server/http-params.d.ts +9 -0
- package/sidecar/dist/server/http-params.js +79 -0
- package/sidecar/dist/server/http-params.js.map +1 -0
- package/sidecar/dist/server/http-routes.d.ts +27 -0
- package/sidecar/dist/server/http-routes.js +281 -0
- package/sidecar/dist/server/http-routes.js.map +1 -0
- package/sidecar/dist/server/http.d.ts +6 -1
- package/sidecar/dist/server/http.js +76 -164
- package/sidecar/dist/server/http.js.map +1 -1
- package/sidecar/dist/server/pending-queue.d.ts +2 -0
- package/sidecar/dist/server/pending-queue.js +16 -0
- package/sidecar/dist/server/pending-queue.js.map +1 -1
- package/sidecar/dist/server/permission-events.d.ts +15 -0
- package/sidecar/dist/server/permission-events.js +163 -0
- package/sidecar/dist/server/permission-events.js.map +1 -0
- package/sidecar/dist/server/routing.d.ts +4 -52
- package/sidecar/dist/server/routing.js +190 -501
- package/sidecar/dist/server/routing.js.map +1 -1
- package/sidecar/dist/server/safety-net.d.ts +7 -0
- package/sidecar/dist/server/safety-net.js +34 -6
- package/sidecar/dist/server/safety-net.js.map +1 -1
- package/sidecar/dist/server/services.d.ts +55 -0
- package/sidecar/dist/server/services.js +2 -0
- package/sidecar/dist/server/services.js.map +1 -0
- package/sidecar/dist/server/tool-calls.d.ts +6 -0
- package/sidecar/dist/server/tool-calls.js +134 -0
- package/sidecar/dist/server/tool-calls.js.map +1 -0
- package/sidecar/dist/server/turn-registry.d.ts +44 -0
- package/sidecar/dist/server/turn-registry.js +40 -0
- package/sidecar/dist/server/turn-registry.js.map +1 -0
- package/sidecar/dist/server/turns.d.ts +17 -0
- package/sidecar/dist/server/turns.js +335 -0
- package/sidecar/dist/server/turns.js.map +1 -0
- package/sidecar/dist/server/ws.d.ts +4 -1
- package/sidecar/dist/server/ws.js +102 -62
- package/sidecar/dist/server/ws.js.map +1 -1
- package/sidecar/dist/skills/build-catalog.d.ts +1 -0
- package/sidecar/dist/skills/build-catalog.js +14 -1
- package/sidecar/dist/skills/build-catalog.js.map +1 -1
- package/sidecar/dist/skills/skill-usage.d.ts +22 -0
- package/sidecar/dist/skills/skill-usage.js +97 -0
- package/sidecar/dist/skills/skill-usage.js.map +1 -0
- package/sidecar/dist/state/change-sets.d.ts +12 -0
- package/sidecar/dist/state/change-sets.js +77 -0
- package/sidecar/dist/state/change-sets.js.map +1 -0
- package/sidecar/dist/state/conversations.d.ts +19 -7
- package/sidecar/dist/state/conversations.js +61 -20
- package/sidecar/dist/state/conversations.js.map +1 -1
- package/sidecar/dist/state/host-state.d.ts +2 -1
- package/sidecar/dist/state/settings-store.d.ts +1 -0
- package/sidecar/dist/state/settings-store.js +27 -26
- package/sidecar/dist/state/settings-store.js.map +1 -1
- package/sidecar/dist/state/settings-types.d.ts +11 -1
- package/sidecar/dist/state/settings-types.js +3 -1
- package/sidecar/dist/state/settings-types.js.map +1 -1
- package/sidecar/dist/state/types.d.ts +114 -8
- package/sidecar/dist/state/types.js +6 -3
- package/sidecar/dist/state/types.js.map +1 -1
- package/skills/dms-builder-safe/REFERENCE.md +1 -1
- package/skills/dms-builder-safe/SKILL.md +12 -7
- package/dist/routes/proxy.d.ts +0 -4
- package/dist/routes/proxy.js +0 -55
- package/dist/routes/proxy.js.map +0 -1
- package/frontend-vue/app/chat/components/ComposerInput.vue +0 -742
- package/frontend-vue/app/chat/components/PermissionRequests.vue +0 -323
- package/frontend-vue/app/chat/components/QuestionPrompt.vue +0 -275
- package/frontend-vue/app/chat/components/QueuedMessages.vue +0 -109
- package/frontend-vue/app/chat/components/TodoList.vue +0 -291
- package/frontend-vue/app/chat/components/ToolCallEntry.vue +0 -218
- package/frontend-vue/app/chat/constants/connection-banner.ts +0 -7
- package/frontend-vue/app/chat/constants/conversation-drawer.ts +0 -13
- package/frontend-vue/app/chat/constants/permissions.ts +0 -50
- package/frontend-vue/app/chat/utils/tool-summary.ts +0 -53
- package/frontend-vue/app/components/ActivityView.vue +0 -94
- package/frontend-vue/app/components/SettingsView.vue +0 -387
- package/frontend-vue/app/components/SkillsView.vue +0 -230
- package/frontend-vue/app/runtime/header-action.ts +0 -64
- package/frontend-vue/app/runtime/overlay-prefs.ts +0 -89
- package/frontend-vue/app/runtime/panel-state.ts +0 -88
- package/frontend-vue/tests/overlay-prefs.test.ts +0 -91
- package/frontend-vue/tests/panel-state.test.ts +0 -58
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import { effectiveGenerationMode } from "../builder/capability.js";
|
|
2
|
-
import { RUNNER_CLOSED_MESSAGE } from "../constants/agent.js";
|
|
2
|
+
import { HOST_CONTEXT_UNKNOWN_VALUE, RUNNER_CLOSED_MESSAGE, } from "../constants/agent.js";
|
|
3
3
|
import { DEFAULT_SETTINGS } from "../constants/settings.js";
|
|
4
4
|
import { createDisposalTracker } from "./disposals.js";
|
|
5
5
|
import { prependHostContext } from "./host-context.js";
|
|
6
|
+
const WITHOUT_PAGE = { path: HOST_CONTEXT_UNKNOWN_VALUE };
|
|
7
|
+
function settingsOf(manager, conversationId) {
|
|
8
|
+
return manager.resolveSettings(conversationId, manager.settings);
|
|
9
|
+
}
|
|
10
|
+
function keepGlobalSettings(_conversationId, settings) {
|
|
11
|
+
return settings;
|
|
12
|
+
}
|
|
6
13
|
function createSession(manager, ctx) {
|
|
7
14
|
return manager.provider.createSession({
|
|
8
15
|
conversationId: ctx.conversationId,
|
|
9
16
|
hostProjectRoot: ctx.hostProjectRoot,
|
|
10
17
|
getCurrentPage: ctx.getCurrentPage,
|
|
11
|
-
settings: manager.
|
|
18
|
+
settings: settingsOf(manager, ctx.conversationId),
|
|
12
19
|
permissionBus: ctx.permissionBus,
|
|
13
20
|
mcpServer: ctx.createMcpServer?.(),
|
|
14
|
-
|
|
21
|
+
onToolDecision: ctx.onToolDecision,
|
|
22
|
+
onToolAnnounced: ctx.onToolAnnounced,
|
|
23
|
+
beforeMutation: ctx.beforeMutation,
|
|
15
24
|
onTokenUsage: ctx.onTokenUsage,
|
|
16
25
|
onDisposed: (disposal) => {
|
|
17
26
|
manager.sessions.delete(ctx.conversationId);
|
|
@@ -41,8 +50,9 @@ function getOrCreateSession(manager, ctx) {
|
|
|
41
50
|
}
|
|
42
51
|
async function* startTurn(manager, message, ctx) {
|
|
43
52
|
const session = await getOrCreateSession(manager, ctx);
|
|
44
|
-
const
|
|
45
|
-
|
|
53
|
+
const settings = settingsOf(manager, ctx.conversationId);
|
|
54
|
+
const grounded = prependHostContext(message, ctx.includePageContext === false ? WITHOUT_PAGE : ctx.getCurrentPage(), effectiveGenerationMode(settings.generationMode));
|
|
55
|
+
yield* session.runTurn({ text: grounded, attachments: ctx.attachments ?? [] }, settings);
|
|
46
56
|
}
|
|
47
57
|
function interruptSession(manager, conversationId) {
|
|
48
58
|
const session = manager.sessions.get(conversationId);
|
|
@@ -70,15 +80,21 @@ async function disposeAll(manager, reason) {
|
|
|
70
80
|
}
|
|
71
81
|
function applySettings(manager, settings) {
|
|
72
82
|
manager.settings = settings;
|
|
73
|
-
for (const session of manager.sessions
|
|
74
|
-
session.applySettings?.(
|
|
83
|
+
for (const [conversationId, session] of manager.sessions) {
|
|
84
|
+
session.applySettings?.(settingsOf(manager, conversationId));
|
|
75
85
|
}
|
|
76
86
|
}
|
|
87
|
+
function refreshSession(manager, conversationId) {
|
|
88
|
+
manager.sessions
|
|
89
|
+
.get(conversationId)
|
|
90
|
+
?.applySettings?.(settingsOf(manager, conversationId));
|
|
91
|
+
}
|
|
77
92
|
export function createAgentRunner(provider, options) {
|
|
78
93
|
const manager = {
|
|
79
94
|
provider,
|
|
80
95
|
sessions: new Map(),
|
|
81
96
|
settings: options?.settings ?? DEFAULT_SETTINGS,
|
|
97
|
+
resolveSettings: options?.resolveSettings ?? keepGlobalSettings,
|
|
82
98
|
disposals: createDisposalTracker(),
|
|
83
99
|
isClosed: false,
|
|
84
100
|
};
|
|
@@ -87,6 +103,7 @@ export function createAgentRunner(provider, options) {
|
|
|
87
103
|
interruptSession: (conversationId) => interruptSession(manager, conversationId),
|
|
88
104
|
disposeSession: (conversationId) => disposeSession(manager, conversationId),
|
|
89
105
|
applySettings: (settings) => applySettings(manager, settings),
|
|
106
|
+
refreshSession: (conversationId) => refreshSession(manager, conversationId),
|
|
90
107
|
dispose: (reason) => disposeAll(manager, reason),
|
|
91
108
|
};
|
|
92
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,6 +59,7 @@ export function createSwitchingRunner(build, settings, unavailableReason = provi
|
|
|
59
59
|
interruptSession: (conversationId) => state.active?.runner.interruptSession(conversationId),
|
|
60
60
|
disposeSession: (conversationId) => state.active?.runner.disposeSession(conversationId) ?? Promise.resolve(),
|
|
61
61
|
applySettings: (next) => applySettings(state, next),
|
|
62
|
+
refreshSession: (conversationId) => state.active?.runner.refreshSession(conversationId),
|
|
62
63
|
dispose: (reason) => retireActive(state, reason),
|
|
63
64
|
};
|
|
64
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switching-runner.js","sourceRoot":"","sources":["../../src/agent/switching-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"switching-runner.js","sourceRoot":"","sources":["../../src/agent/switching-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PermissionKind, ToolSource } from "../constants/audit.js";
|
|
2
|
+
export declare function bareToolName(toolName: string): string;
|
|
3
|
+
export declare const isEditTool: (toolName: string) => boolean;
|
|
4
|
+
export declare const isCommandTool: (toolName: string) => boolean;
|
|
5
|
+
export declare const isWebTool: (toolName: string) => boolean;
|
|
6
|
+
export declare const isDestructiveBuilderTool: (toolName: string) => boolean;
|
|
7
|
+
export declare const isBlockRemovalTool: (toolName: string) => boolean;
|
|
8
|
+
export declare const isMutatingBuilderTool: (toolName: string) => boolean;
|
|
9
|
+
export declare const isReadOnlyTool: (toolName: string) => boolean;
|
|
10
|
+
export declare function isMutatingTool(toolName: string): boolean;
|
|
11
|
+
export declare function permissionKindOf(toolName: string): PermissionKind;
|
|
12
|
+
export declare function toolSourceOf(toolName: string): ToolSource;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { BUILDER_TOOL_NAMES } from "../constants/builder.js";
|
|
2
|
+
import { MCP_TOOL_NAME_PREFIX } from "../constants/mcp.js";
|
|
3
|
+
import { ASSISTANT_TOOL_NAMES, BUILDER_BLOCK_REMOVAL_TOOL_NAMES, BUILDER_DESTRUCTIVE_TOOL_NAMES, BUILDER_MUTATING_TOOL_NAMES, BUILDER_READ_TOOL_NAMES, BUILTIN_READ_TOOL_NAMES, COMMAND_TOOL_NAMES, EDIT_TOOL_NAMES, PROJECT_READ_TOOL_NAMES, WEB_TOOL_NAMES, } from "../constants/tool-kinds.js";
|
|
4
|
+
export function bareToolName(toolName) {
|
|
5
|
+
return toolName.startsWith(MCP_TOOL_NAME_PREFIX)
|
|
6
|
+
? toolName.slice(MCP_TOOL_NAME_PREFIX.length)
|
|
7
|
+
: toolName;
|
|
8
|
+
}
|
|
9
|
+
function isIn(names) {
|
|
10
|
+
return (toolName) => names.includes(bareToolName(toolName));
|
|
11
|
+
}
|
|
12
|
+
export const isEditTool = isIn(EDIT_TOOL_NAMES);
|
|
13
|
+
export const isCommandTool = isIn(COMMAND_TOOL_NAMES);
|
|
14
|
+
export const isWebTool = isIn(WEB_TOOL_NAMES);
|
|
15
|
+
const isBuilderTool = isIn(BUILDER_TOOL_NAMES);
|
|
16
|
+
export const isDestructiveBuilderTool = isIn(BUILDER_DESTRUCTIVE_TOOL_NAMES);
|
|
17
|
+
export const isBlockRemovalTool = isIn(BUILDER_BLOCK_REMOVAL_TOOL_NAMES);
|
|
18
|
+
export const isMutatingBuilderTool = isIn(BUILDER_MUTATING_TOOL_NAMES);
|
|
19
|
+
const READ_ONLY_TOOL_NAMES = [
|
|
20
|
+
...BUILTIN_READ_TOOL_NAMES,
|
|
21
|
+
...BUILDER_READ_TOOL_NAMES,
|
|
22
|
+
...PROJECT_READ_TOOL_NAMES,
|
|
23
|
+
...ASSISTANT_TOOL_NAMES,
|
|
24
|
+
];
|
|
25
|
+
export const isReadOnlyTool = isIn(READ_ONLY_TOOL_NAMES);
|
|
26
|
+
export function isMutatingTool(toolName) {
|
|
27
|
+
return (isEditTool(toolName) ||
|
|
28
|
+
isCommandTool(toolName) ||
|
|
29
|
+
isMutatingBuilderTool(toolName));
|
|
30
|
+
}
|
|
31
|
+
const KIND_MATCHERS = [
|
|
32
|
+
{ kind: "edit", matches: isEditTool },
|
|
33
|
+
{ kind: "command", matches: isCommandTool },
|
|
34
|
+
{ kind: "web", matches: isWebTool },
|
|
35
|
+
{ kind: "destructive", matches: isDestructiveBuilderTool },
|
|
36
|
+
{ kind: "builder", matches: isBuilderTool },
|
|
37
|
+
];
|
|
38
|
+
export function permissionKindOf(toolName) {
|
|
39
|
+
return KIND_MATCHERS.find((m) => m.matches(toolName))?.kind ?? "other";
|
|
40
|
+
}
|
|
41
|
+
const SOURCE_MATCHERS = [
|
|
42
|
+
{ source: "builder", matches: isBuilderTool },
|
|
43
|
+
{ source: "project", matches: isIn(PROJECT_READ_TOOL_NAMES) },
|
|
44
|
+
{ source: "web", matches: isWebTool },
|
|
45
|
+
{ source: "assistant", matches: isIn(ASSISTANT_TOOL_NAMES) },
|
|
46
|
+
];
|
|
47
|
+
export function toolSourceOf(toolName) {
|
|
48
|
+
return SOURCE_MATCHERS.find((m) => m.matches(toolName))?.source ?? "code";
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=tool-kinds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-kinds.js","sourceRoot":"","sources":["../../src/agent/tool-kinds.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
stdout?: string | Buffer;
|
|
3
|
-
stderr?: string | Buffer;
|
|
4
|
-
code?: number | string;
|
|
5
|
-
}
|
|
6
|
-
export type ExecFn = (command: string, args: readonly string[], options: {
|
|
1
|
+
type ExecFn = (command: string, args: readonly string[], options: {
|
|
7
2
|
cwd: string;
|
|
8
3
|
timeout: number;
|
|
9
4
|
maxBuffer: number;
|
|
@@ -34,3 +29,4 @@ export interface TargetResolution {
|
|
|
34
29
|
knownTargets: string[];
|
|
35
30
|
}
|
|
36
31
|
export declare function resolveTypecheckTarget(target: string | undefined, knownRoots: readonly string[], lastEditedFile: string | undefined, hostProjectRoot: string): TargetResolution;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ActivityCategory } from "../constants/audit.js";
|
|
2
|
+
import type { DiffHunkType } from "../protocol/events.js";
|
|
3
|
+
import type { ActivityRecord, ActivityRow } from "./activity.js";
|
|
4
|
+
export interface ActivityQuery {
|
|
5
|
+
offset: number;
|
|
6
|
+
limit: number;
|
|
7
|
+
search?: string;
|
|
8
|
+
category?: ActivityCategory;
|
|
9
|
+
tool?: string;
|
|
10
|
+
agent?: string;
|
|
11
|
+
conversationId?: string;
|
|
12
|
+
hideReadOnly: boolean;
|
|
13
|
+
fromMs?: number;
|
|
14
|
+
toMs?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface ActivityPage {
|
|
17
|
+
results: ActivityRow[];
|
|
18
|
+
total: number;
|
|
19
|
+
}
|
|
20
|
+
export interface DecisionStep {
|
|
21
|
+
atMs: number;
|
|
22
|
+
label: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ActivityFileDiff {
|
|
25
|
+
path: string;
|
|
26
|
+
hunks: DiffHunkType[];
|
|
27
|
+
}
|
|
28
|
+
export interface ActivityDetail extends ActivityRow {
|
|
29
|
+
args: unknown;
|
|
30
|
+
output?: string;
|
|
31
|
+
diff?: ActivityFileDiff[];
|
|
32
|
+
decisionTrail: DecisionStep[];
|
|
33
|
+
}
|
|
34
|
+
export declare function queryActivity(records: readonly ActivityRecord[], query: ActivityQuery): ActivityPage;
|
|
35
|
+
export declare function decisionTrail(record: ActivityRecord): DecisionStep[];
|
|
36
|
+
export declare function diffFromArgs(record: ActivityRecord): ActivityFileDiff[] | undefined;
|
|
37
|
+
export declare function buildActivityDetail(record: ActivityRecord, diff: ActivityFileDiff[] | undefined): ActivityDetail;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { diffTexts } from "../agent/line-diff.js";
|
|
2
|
+
import { isEditTool } from "../agent/tool-kinds.js";
|
|
3
|
+
import { toActivityRow } from "./activity.js";
|
|
4
|
+
const MAX_ACTIVITY_OUTPUT_CHARS = 20_000;
|
|
5
|
+
const TRUNCATION_MARKER = "\n…";
|
|
6
|
+
function includesText(record, search) {
|
|
7
|
+
const needle = search.toLowerCase();
|
|
8
|
+
return [record.tool, record.target, record.conversationTitle].some((text) => text.toLowerCase().includes(needle));
|
|
9
|
+
}
|
|
10
|
+
const FILTERS = [
|
|
11
|
+
(r, q) => q.search === undefined || q.search === "" || includesText(r, q.search),
|
|
12
|
+
(r, q) => q.category === undefined || r.category.includes(q.category),
|
|
13
|
+
(r, q) => q.tool === undefined || r.tool === q.tool,
|
|
14
|
+
(r, q) => q.agent === undefined || r.agent === q.agent,
|
|
15
|
+
(r, q) => q.conversationId === undefined || r.conversationId === q.conversationId,
|
|
16
|
+
(r, q) => !q.hideReadOnly || !r.isReadOnly,
|
|
17
|
+
(r, q) => q.fromMs === undefined || r.timestampMs >= q.fromMs,
|
|
18
|
+
(r, q) => q.toMs === undefined || r.timestampMs <= q.toMs,
|
|
19
|
+
];
|
|
20
|
+
export function queryActivity(records, query) {
|
|
21
|
+
const matching = records.filter((record) => FILTERS.every((filter) => filter(record, query)));
|
|
22
|
+
return {
|
|
23
|
+
results: matching
|
|
24
|
+
.slice(query.offset, query.offset + query.limit)
|
|
25
|
+
.map(toActivityRow),
|
|
26
|
+
total: matching.length,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const ALLOWED_LABELS = {
|
|
30
|
+
read_auto: "Allowed automatically (read-only)",
|
|
31
|
+
builder_auto: "Allowed automatically (Builder)",
|
|
32
|
+
approved: "Allowed by you",
|
|
33
|
+
rule: "Allowed by a rule",
|
|
34
|
+
full_auto: "Allowed by Full auto",
|
|
35
|
+
blocked: "Blocked by safe mode",
|
|
36
|
+
denied: "Denied",
|
|
37
|
+
expired: "Request expired",
|
|
38
|
+
};
|
|
39
|
+
const RESULT_LABELS = {
|
|
40
|
+
done: "Done",
|
|
41
|
+
failed: "Failed",
|
|
42
|
+
stopped: "Stopped",
|
|
43
|
+
};
|
|
44
|
+
function permissionSteps(record) {
|
|
45
|
+
const permission = record.permission;
|
|
46
|
+
if (permission === undefined)
|
|
47
|
+
return [];
|
|
48
|
+
const decidedBy = permission.decidedBy === undefined ? "" : ` (${permission.decidedBy})`;
|
|
49
|
+
return [
|
|
50
|
+
{
|
|
51
|
+
atMs: permission.requestedAtMs ?? record.timestampMs,
|
|
52
|
+
label: "Asked you",
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
atMs: permission.timestampMs,
|
|
56
|
+
label: `${ALLOWED_LABELS[record.allowedBy] ?? record.allowedBy}${decidedBy}`,
|
|
57
|
+
},
|
|
58
|
+
];
|
|
59
|
+
}
|
|
60
|
+
export function decisionTrail(record) {
|
|
61
|
+
const steps = [
|
|
62
|
+
{ atMs: record.timestampMs, label: "Requested" },
|
|
63
|
+
];
|
|
64
|
+
const asked = permissionSteps(record);
|
|
65
|
+
if (asked.length > 0) {
|
|
66
|
+
steps.push(...asked);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
steps.push({
|
|
70
|
+
atMs: record.timestampMs,
|
|
71
|
+
label: ALLOWED_LABELS[record.allowedBy] ?? record.allowedBy,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
const resultLabel = RESULT_LABELS[record.result];
|
|
75
|
+
if (resultLabel !== undefined && record.endedAtMs !== undefined) {
|
|
76
|
+
steps.push({ atMs: record.endedAtMs, label: resultLabel });
|
|
77
|
+
}
|
|
78
|
+
return steps;
|
|
79
|
+
}
|
|
80
|
+
function truncate(text) {
|
|
81
|
+
if (text === undefined || text.length <= MAX_ACTIVITY_OUTPUT_CHARS)
|
|
82
|
+
return text;
|
|
83
|
+
return `${text.slice(0, MAX_ACTIVITY_OUTPUT_CHARS)}${TRUNCATION_MARKER}`;
|
|
84
|
+
}
|
|
85
|
+
function readString(args, key) {
|
|
86
|
+
if (args === null || typeof args !== "object")
|
|
87
|
+
return "";
|
|
88
|
+
const value = args[key];
|
|
89
|
+
return typeof value === "string" ? value : "";
|
|
90
|
+
}
|
|
91
|
+
export function diffFromArgs(record) {
|
|
92
|
+
if (!isEditTool(record.tool))
|
|
93
|
+
return undefined;
|
|
94
|
+
const content = readString(record.args, "content");
|
|
95
|
+
const stats = content !== ""
|
|
96
|
+
? diffTexts("", content)
|
|
97
|
+
: diffTexts(readString(record.args, "old_string"), readString(record.args, "new_string"));
|
|
98
|
+
if (stats.hunks.length === 0)
|
|
99
|
+
return undefined;
|
|
100
|
+
return [{ path: record.target, hunks: stats.hunks }];
|
|
101
|
+
}
|
|
102
|
+
export function buildActivityDetail(record, diff) {
|
|
103
|
+
return {
|
|
104
|
+
...toActivityRow(record),
|
|
105
|
+
args: record.args,
|
|
106
|
+
output: truncate(record.resultText),
|
|
107
|
+
diff,
|
|
108
|
+
decisionTrail: decisionTrail(record),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=activity-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-query.js","sourceRoot":"","sources":["../../src/audit/activity-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { isAbsolute } from "node:path";
|
|
2
|
+
import { projectRelative } from "../agent/edit-targets.js";
|
|
3
|
+
const TARGET_KEYS = [
|
|
4
|
+
"file_path",
|
|
5
|
+
"notebook_path",
|
|
6
|
+
"command",
|
|
7
|
+
"url",
|
|
8
|
+
"pageRef",
|
|
9
|
+
"ref",
|
|
10
|
+
"path",
|
|
11
|
+
"query",
|
|
12
|
+
"page",
|
|
13
|
+
"pattern",
|
|
14
|
+
"name",
|
|
15
|
+
"skill",
|
|
16
|
+
"target",
|
|
17
|
+
];
|
|
18
|
+
const MAX_TARGET_CHARS = 200;
|
|
19
|
+
const ELLIPSIS = "…";
|
|
20
|
+
export function parseArgs(content) {
|
|
21
|
+
try {
|
|
22
|
+
return JSON.parse(content);
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return content;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function shorten(text) {
|
|
29
|
+
const oneLine = text.replaceAll(/\s+/g, " ").trim();
|
|
30
|
+
if (oneLine.length <= MAX_TARGET_CHARS)
|
|
31
|
+
return oneLine;
|
|
32
|
+
return `${oneLine.slice(0, MAX_TARGET_CHARS - 1)}${ELLIPSIS}`;
|
|
33
|
+
}
|
|
34
|
+
function displayPath(value, root) {
|
|
35
|
+
return isAbsolute(value) ? projectRelative(root, value) : value;
|
|
36
|
+
}
|
|
37
|
+
export function activityTarget(_toolName, args, root) {
|
|
38
|
+
if (args === null || typeof args !== "object")
|
|
39
|
+
return "";
|
|
40
|
+
const record = args;
|
|
41
|
+
const key = TARGET_KEYS.find((k) => typeof record[k] === "string" && record[k] !== "");
|
|
42
|
+
if (key === undefined)
|
|
43
|
+
return "";
|
|
44
|
+
return shorten(displayPath(record[key], root));
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=activity-target.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-target.js","sourceRoot":"","sources":["../../src/audit/activity-target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,MAAM,WAAW,GAAsB;IACrC,WAAW;IACX,eAAe;IACf,SAAS;IACT,KAAK;IACL,SAAS;IACT,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,SAAS;IACT,MAAM;IACN,OAAO;IACP,QAAQ;CACT,CAAC;AACF,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,QAAQ,GAAG,GAAG,CAAC;AAErB,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,OAAO,CAAC,MAAM,IAAI,gBAAgB;QAAE,OAAO,OAAO,CAAC;IACvD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,IAAY;IAC9C,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAClE,CAAC;AAGD,MAAM,UAAU,cAAc,CAC5B,SAAiB,EACjB,IAAa,EACb,IAAY;IAEZ,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzD,MAAM,MAAM,GAAG,IAA+B,CAAC;IAC/C,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CACzD,CAAC;IACF,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACjC,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAW,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { PendingRequest } from "../agent/permission-bus.js";
|
|
2
|
+
import type { ActivityCategory, ActivityResult, AllowedBy, PermissionKind } from "../constants/audit.js";
|
|
3
|
+
import type { ConversationEntry } from "../state/conversations.js";
|
|
4
|
+
import { type ChangeSetRecord, type ProviderName, type StoredMessage } from "../state/types.js";
|
|
5
|
+
export declare const UNDO_TOOL_NAME = "UndoChangeSet";
|
|
6
|
+
export declare const REDO_TOOL_NAME = "RedoChangeSet";
|
|
7
|
+
export interface ActivityRow {
|
|
8
|
+
id: string;
|
|
9
|
+
timestampMs: number;
|
|
10
|
+
tool: string;
|
|
11
|
+
target: string;
|
|
12
|
+
agent: ProviderName;
|
|
13
|
+
allowedBy: AllowedBy;
|
|
14
|
+
result: ActivityResult;
|
|
15
|
+
resultDetail?: string;
|
|
16
|
+
changeSetId?: string;
|
|
17
|
+
changeSetNumber?: number;
|
|
18
|
+
conversationId: string;
|
|
19
|
+
conversationTitle: string;
|
|
20
|
+
durationMs?: number;
|
|
21
|
+
isReadOnly: boolean;
|
|
22
|
+
isAutoFix: boolean;
|
|
23
|
+
category: ActivityCategory[];
|
|
24
|
+
added?: number;
|
|
25
|
+
removed?: number;
|
|
26
|
+
expiresAtMs?: number;
|
|
27
|
+
}
|
|
28
|
+
export interface ActivityRecord extends ActivityRow {
|
|
29
|
+
kind: PermissionKind;
|
|
30
|
+
isAsked: boolean;
|
|
31
|
+
isAlwaysAsk: boolean;
|
|
32
|
+
args: unknown;
|
|
33
|
+
resultText?: string;
|
|
34
|
+
permission?: StoredMessage;
|
|
35
|
+
endedAtMs?: number;
|
|
36
|
+
}
|
|
37
|
+
export interface ActivitySources {
|
|
38
|
+
entries: readonly ConversationEntry[];
|
|
39
|
+
changeSets: readonly ChangeSetRecord[];
|
|
40
|
+
pending: readonly PendingRequest[];
|
|
41
|
+
running: ReadonlySet<string>;
|
|
42
|
+
hostProjectRoot: string;
|
|
43
|
+
}
|
|
44
|
+
export declare function buildActivityRecords(sources: ActivitySources): ActivityRecord[];
|
|
45
|
+
export declare function toActivityRow(record: ActivityRecord): ActivityRow;
|