@antelopejs/dms-ai 0.1.6 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +50 -12
- 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 +0 -1
- package/dist/constants/sidecar.js +1 -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 +1 -0
- package/dist/lifecycle/sidecar-owner.js +13 -0
- package/dist/lifecycle/sidecar-owner.js.map +1 -1
- package/dist/lifecycle/spawn-sidecar.d.ts +1 -0
- package/dist/lifecycle/spawn-sidecar.js +10 -10
- package/dist/lifecycle/spawn-sidecar.js.map +1 -1
- 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 +120 -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/markdown.test.ts +1 -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 +79 -131
- package/frontend-vue/tests/host-commands.test.ts +1 -0
- package/frontend-vue/tests/i18n-panel.test.ts +118 -0
- package/frontend-vue/tests/navigation.test.ts +1 -0
- package/frontend-vue/tests/palette-assistant.test.ts +221 -0
- package/frontend-vue/tests/panel-states.test.ts +811 -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 +150 -0
- package/frontend-vue/tests/views/view-format.test.ts +59 -0
- package/frontend-vue/vitest.config.ts +4 -1
- package/package.json +5 -4
- 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.js +28 -2
- 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/sidecar/package.json +2 -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
package/README.md
CHANGED
|
@@ -8,10 +8,12 @@
|
|
|
8
8
|
|
|
9
9
|
An AntelopeJS DMS development assistant. It adds an owner-only AI workspace to the dashboard and
|
|
10
10
|
runs a coding agent in a local sidecar that can inspect the loaded modules and their declared skills,
|
|
11
|
-
edit the host project, and stream activity back to the dashboard. The chat is a panel
|
|
12
|
-
|
|
13
|
-
from the header or with Ctrl+Shift+K (⌘⇧K on macOS).
|
|
14
|
-
|
|
11
|
+
edit the host project, and stream activity back to the dashboard. The chat is a panel docked next to
|
|
12
|
+
the page, which shrinks to make room: it stays open across page navigations and reloads, follows the
|
|
13
|
+
dashboard's theme, and is toggled from the header or with Ctrl+Shift+K (⌘⇧K on macOS). In the
|
|
14
|
+
command palette (Ctrl+K, ⌘K on macOS), Tab switches to the assistant, which answers a question
|
|
15
|
+
read-only and hands the conversation over to the panel. Claude Code drives it by default; OpenAI's
|
|
16
|
+
Codex is selectable once its CLI is installed.
|
|
15
17
|
|
|
16
18
|
## Installation
|
|
17
19
|
|
|
@@ -49,13 +51,44 @@ the server.
|
|
|
49
51
|
| `POST /ai/channel/:connectionId/messages` | One client message, relayed to that stream's sidecar socket. |
|
|
50
52
|
|
|
51
53
|
Each stream is bridged to a single sidecar socket, which the dashboard identifies as the host (the
|
|
52
|
-
current page, the agent's navigation requests) and as the chat.
|
|
54
|
+
current page, the agent's navigation requests) and as the chat. The backend opens each socket with
|
|
55
|
+
an `actor` frame naming the signed-in user, which the sidecar records on change sets and undos; a
|
|
56
|
+
browser cannot send that frame, the backend drops it. Browsers keep at most six HTTP/1.1
|
|
53
57
|
connections per origin, and every dashboard tab already holds two long-lived ones for the DMS. The
|
|
54
58
|
assistant adds its stream only in the visible tab whose panel is open, which leaves two dashboard tabs
|
|
55
59
|
usable side by side; over HTTPS with HTTP/2 the limit goes away. Over plain HTTP on an address other
|
|
56
60
|
than `localhost`, start the frontend server with `DMS_COOKIE_SECURE=false`, or the browser drops the
|
|
57
61
|
`Secure` session cookie.
|
|
58
62
|
|
|
63
|
+
## Pages
|
|
64
|
+
|
|
65
|
+
The module adds an **Assistant** module to the dashboard (`/modules/ai`), owner-only, with five
|
|
66
|
+
pages. They are built from DMS blocks; a custom component is used only where no block draws the
|
|
67
|
+
screen. Every page, block and child carries `$dms_ai.*` metadata, so the role editor lists them with
|
|
68
|
+
translated names (English and French, in `frontend-vue/i18n/locales/dms-ai-pages-*.json`).
|
|
69
|
+
|
|
70
|
+
| Page | What it shows |
|
|
71
|
+
| -------- | --------------------------------------------------------------------------------------------------------------- |
|
|
72
|
+
| Overview | Period selector, a banner when the assistant needs you (offline with Restart, a failed turn, requests waiting), its status rows, four KPIs, the activity chart, how actions were allowed, the latest change sets with Undo / Redo, and the top tools. |
|
|
73
|
+
| Changes | Every turn that touched the project as a change set: its diff, Undo with a conflict preview, Redo. `?set=<id>` opens one. |
|
|
74
|
+
| Activity | The audit log: tabs (changed files, asked you, denied or blocked, failed), quick filters, a detail drawer per call (`?record=<id>`), and a CSV export. |
|
|
75
|
+
| Skills | The skills loaded into the agent as cards, a detail drawer per skill, and a warning when two skills share a name. |
|
|
76
|
+
| Settings | The defaults of new conversations, saved as you change them: agent, thinking, approval mode, what always asks, request timeout, scope, local skills, checkpoint retention; then the tokens used over 14 days. |
|
|
77
|
+
|
|
78
|
+
Every route below is owner-only. Lists and settings answer `503 { message }` while the sidecar is
|
|
79
|
+
down, so tables show their error state and a setting says "Not saved"; charts answer empty.
|
|
80
|
+
|
|
81
|
+
| Route | Purpose |
|
|
82
|
+
| ------------------------------------------------------ | -------------------------------------------------------------- |
|
|
83
|
+
| `GET /ai/status`, `POST /ai/sidecar/restart` | The assistant's live status (`offline` when it does not answer), and a restart. |
|
|
84
|
+
| `GET /ai/status/facts`, `/ai/status/banner` | The Overview's status rows (a `KeyValueList`) and its banner (`BannerContent`, or 204 when all is well). |
|
|
85
|
+
| `GET /ai/metrics/kpi/:metric`, `series`, `allowed`, `top-tools`, `usage`, `usage/summary` | The Overview's and Settings › Usage figures. |
|
|
86
|
+
| `GET /ai/activity`, `/ai/activity/:id`, `/ai/activity/export.csv` | The audit log as a source table, one call's detail, the CSV export. |
|
|
87
|
+
| `GET /ai/changes`, `/ai/changes/:id`, `/ai/changes/:id/undo-preview`, `/ai/changes/:id/undo-confirm` | Change sets, a set's diff, what Undo restores, and the dialog it asks in. |
|
|
88
|
+
| `POST /ai/changes/:id/undo`, `/ai/changes/:id/redo` | Undo (`{ includeLater? }`) and Redo, recorded with the signed-in user's name. |
|
|
89
|
+
| `GET /ai/skills/catalog`, `/ai/skills/conflicts` | The skills as table rows, and the banner about names several skills share (204 when none). |
|
|
90
|
+
| `GET` / `PUT /ai/settings` | The settings form; `PUT` takes the one field an instant save sends. |
|
|
91
|
+
|
|
59
92
|
## Model output in the dashboard
|
|
60
93
|
|
|
61
94
|
The chat renders model output inside the dashboard, next to the owner's session, and that output can
|
|
@@ -106,7 +139,7 @@ export default defineConfig({
|
|
|
106
139
|
|
|
107
140
|
## Agent providers
|
|
108
141
|
|
|
109
|
-
The assistant runs on either Claude Code or Codex, picked
|
|
142
|
+
The assistant runs on either Claude Code or Codex, picked on the Assistant's Settings page. Both go through
|
|
110
143
|
the same seam, so the chat, the tool calls, the permission prompts and the file-change animation
|
|
111
144
|
behave the same either way. `GET /settings` reports which ones this install can actually drive:
|
|
112
145
|
|
|
@@ -165,7 +198,7 @@ turn on Codex, without discarding the conversation.
|
|
|
165
198
|
filesystem, so the file is only as private as the directory it sits in. ChatGPT login is not
|
|
166
199
|
supported here — it shares a token refresh with the user's own `codex` install.
|
|
167
200
|
|
|
168
|
-
3. **Restart the sidecar**, then pick *
|
|
201
|
+
3. **Restart the sidecar**, then pick *Codex* on the Assistant's Settings page.
|
|
169
202
|
|
|
170
203
|
Linux, macOS and Windows are all supported. One app-server process runs per conversation, and the
|
|
171
204
|
sidecar records its pid so a previous run's orphans are killed at startup — through procfs on
|
|
@@ -175,9 +208,11 @@ of the app-server with it.
|
|
|
175
208
|
## Vue frontend
|
|
176
209
|
|
|
177
210
|
The module registers `frontend-vue` through `AddFrontendModule` with the Vue 3 renderer. The host DMS
|
|
178
|
-
supplies authentication, shared state, Nuxt UI and the icons. The chat panel, `DmsAiChatPanel`, is
|
|
179
|
-
|
|
180
|
-
|
|
211
|
+
supplies authentication, shared state, Nuxt UI and the icons. The chat panel, `DmsAiChatPanel`, is a
|
|
212
|
+
docked side panel of the dashboard (`registerSidePanel`): the DMS renders it once for the whole app,
|
|
213
|
+
so it lives through Inertia navigations, and keeps its open state and width in a cookie. The command
|
|
214
|
+
palette's assistant mode answers with `DmsAiPaletteAnswer` (`registerCommandPaletteAssistant`). The
|
|
215
|
+
chat's code is under `frontend-vue/app/chat`. The renderer bundles the icons it finds in
|
|
181
216
|
`.vue` files, so an icon name belongs in the component that shows it.
|
|
182
217
|
|
|
183
218
|
## Development
|
|
@@ -199,5 +234,8 @@ pnpm --dir frontend-vue build
|
|
|
199
234
|
pnpm --dir frontend-vue typecheck
|
|
200
235
|
```
|
|
201
236
|
|
|
202
|
-
`pnpm test:
|
|
203
|
-
|
|
237
|
+
`pnpm test:node` runs every backend suite below in one go, after a single build (`DMS_PREBUILT=1` skips the build when `dist/` is already fresh, as in CI). The sidecar's opt-in Codex acceptance suite runs on its own with `CODEX_ACCEPTANCE=1 pnpm --dir sidecar test:acceptance`.
|
|
238
|
+
|
|
239
|
+
`pnpm test:frontend-registration` checks backend registration and sidecar inputs with the sidecar launcher mocked, and that every page, block and child of the Assistant module is titled with `$dms_ai` keys present in both locales.
|
|
240
|
+
`pnpm test:routes` drives the `/ai/*` routes against a stand-in sidecar: query translation, `503` while it is down, settings conversions, Undo stamping and the CSV export.
|
|
241
|
+
`pnpm test:sidecar-lifecycle` starts a stand-in sidecar to check that a hot reload keeps it, a restart replaces it, a sidecar left by an earlier run is stopped, and Ctrl+C on the backend stops it.
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import WebSocket from "ws";
|
|
2
2
|
import type { SseStream } from "./sse-stream";
|
|
3
|
+
export interface ChannelActor {
|
|
4
|
+
userId: string;
|
|
5
|
+
name: string;
|
|
6
|
+
}
|
|
3
7
|
export interface ChannelBridge {
|
|
4
8
|
id: string;
|
|
5
9
|
userId: string;
|
|
@@ -7,10 +11,11 @@ export interface ChannelBridge {
|
|
|
7
11
|
close: () => void;
|
|
8
12
|
}
|
|
9
13
|
export interface BridgeOptions {
|
|
10
|
-
|
|
14
|
+
actor: ChannelActor;
|
|
11
15
|
socket: WebSocket;
|
|
12
16
|
stream: SseStream;
|
|
13
17
|
onOpened: (bridge: ChannelBridge) => void;
|
|
14
18
|
onClosed: (bridge: ChannelBridge) => void;
|
|
15
19
|
}
|
|
20
|
+
export declare function isActorFrame(message: Buffer): boolean;
|
|
16
21
|
export declare function openBridge(options: BridgeOptions): ChannelBridge;
|
package/dist/channels/bridge.js
CHANGED
|
@@ -3,11 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.isActorFrame = isActorFrame;
|
|
6
7
|
exports.openBridge = openBridge;
|
|
7
8
|
const node_crypto_1 = require("node:crypto");
|
|
8
9
|
const ws_1 = __importDefault(require("ws"));
|
|
9
10
|
const channels_1 = require("../constants/channels");
|
|
10
11
|
const EMPTY_PAYLOAD = "{}";
|
|
12
|
+
const ACTOR_FRAME_TYPE = "actor";
|
|
13
|
+
const ACTOR_SPELLING = Buffer.from(ACTOR_FRAME_TYPE);
|
|
14
|
+
const UNICODE_ESCAPE = Buffer.from("\\u");
|
|
11
15
|
function rawDataToText(data) {
|
|
12
16
|
if (Array.isArray(data))
|
|
13
17
|
return Buffer.concat(data).toString("utf8");
|
|
@@ -15,9 +19,32 @@ function rawDataToText(data) {
|
|
|
15
19
|
return data.toString("utf8");
|
|
16
20
|
return Buffer.from(new Uint8Array(data)).toString("utf8");
|
|
17
21
|
}
|
|
22
|
+
function mayBeActorFrame(message) {
|
|
23
|
+
return message.includes(ACTOR_SPELLING) || message.includes(UNICODE_ESCAPE);
|
|
24
|
+
}
|
|
25
|
+
function isActorFrame(message) {
|
|
26
|
+
if (!mayBeActorFrame(message))
|
|
27
|
+
return false;
|
|
28
|
+
try {
|
|
29
|
+
const frame = JSON.parse(message.toString("utf8"));
|
|
30
|
+
return frame?.type === ACTOR_FRAME_TYPE;
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function actorFrame(actor) {
|
|
37
|
+
return JSON.stringify({
|
|
38
|
+
type: ACTOR_FRAME_TYPE,
|
|
39
|
+
userId: actor.userId,
|
|
40
|
+
name: actor.name,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
18
43
|
function forwardTo(socket, message) {
|
|
19
44
|
if (socket.readyState !== ws_1.default.OPEN)
|
|
20
45
|
return Promise.resolve(false);
|
|
46
|
+
if (isActorFrame(message))
|
|
47
|
+
return Promise.resolve(true);
|
|
21
48
|
return new Promise((resolve) => {
|
|
22
49
|
socket.send(message, { binary: false }, (error) => resolve(!error));
|
|
23
50
|
});
|
|
@@ -50,7 +77,7 @@ function openBridge(options) {
|
|
|
50
77
|
}
|
|
51
78
|
const bridge = {
|
|
52
79
|
id: (0, node_crypto_1.randomUUID)(),
|
|
53
|
-
userId: options.userId,
|
|
80
|
+
userId: options.actor.userId,
|
|
54
81
|
forward: (message) => forwardTo(socket, message),
|
|
55
82
|
close: teardown,
|
|
56
83
|
};
|
|
@@ -64,6 +91,7 @@ function openBridge(options) {
|
|
|
64
91
|
});
|
|
65
92
|
stream.onClose(teardown);
|
|
66
93
|
relayFrames(socket, stream);
|
|
94
|
+
socket.send(actorFrame(options.actor));
|
|
67
95
|
stream.send(channels_1.CHANNEL_EVENTS.READY, JSON.stringify({ connectionId: bridge.id }));
|
|
68
96
|
socket.resume();
|
|
69
97
|
return bridge;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/channels/bridge.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/channels/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { HTTPResult, type RequestContext } from "@antelopejs/interface-api";
|
|
2
2
|
import type WebSocket from "ws";
|
|
3
|
+
import { type ChannelActor } from "./bridge";
|
|
3
4
|
export type SidecarConnector = () => Promise<WebSocket>;
|
|
4
|
-
export declare function openChannel(ctx: RequestContext,
|
|
5
|
+
export declare function openChannel(ctx: RequestContext, actor: ChannelActor, connect?: SidecarConnector): Promise<HTTPResult | undefined>;
|
|
5
6
|
export declare function postChannelMessage(connectionId: string, userId: string, message: Buffer): Promise<HTTPResult>;
|
|
@@ -19,7 +19,8 @@ async function tryConnect(connect) {
|
|
|
19
19
|
return null;
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
async function openChannel(ctx,
|
|
22
|
+
async function openChannel(ctx, actor, connect = sidecar_socket_1.connectSidecarSocket) {
|
|
23
|
+
const { userId } = actor;
|
|
23
24
|
if (!(0, registry_1.reserveSocket)(userId, channels_1.CHANNEL_MAX_SOCKETS_PER_USER)) {
|
|
24
25
|
return new interface_api_1.HTTPResult(channels_1.CHANNEL_STATUS.TOO_MANY_REQUESTS, TOO_MANY_STREAMS);
|
|
25
26
|
}
|
|
@@ -28,7 +29,7 @@ async function openChannel(ctx, userId, connect = sidecar_socket_1.connectSideca
|
|
|
28
29
|
return new interface_api_1.HTTPResult(channels_1.CHANNEL_STATUS.SERVICE_UNAVAILABLE, sidecar_1.SIDECAR_UNAVAILABLE_BODY);
|
|
29
30
|
}
|
|
30
31
|
(0, bridge_1.openBridge)({
|
|
31
|
-
|
|
32
|
+
actor,
|
|
32
33
|
socket,
|
|
33
34
|
stream: (0, sse_stream_1.openSseStream)(ctx),
|
|
34
35
|
onOpened: registry_1.trackBridge,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel-service.js","sourceRoot":"","sources":["../../src/channels/channel-service.ts"],"names":[],"mappings":";;AAwCA,
|
|
1
|
+
{"version":3,"file":"channel-service.js","sourceRoot":"","sources":["../../src/channels/channel-service.ts"],"names":[],"mappings":";;AAwCA,kCAwBC;AAOD,gDAgBC;AAvFD,6DAA4E;AAE5E,oDAG+B;AAC/B,kDAAgE;AAChE,gEAAmE;AACnE,qCAAyD;AACzD,yCAMoB;AACpB,6CAA6C;AAK7C,MAAM,kBAAkB,GAAG,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC;AAC3D,MAAM,gBAAgB,GAAG,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;AAEvD,KAAK,UAAU,UAAU,CACvB,OAAyB;IAEzB,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,EAAE,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAQM,KAAK,UAAU,WAAW,CAC/B,GAAmB,EACnB,KAAmB,EACnB,UAA4B,qCAAoB;IAEhD,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,IAAA,wBAAa,EAAC,MAAM,EAAE,uCAA4B,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,0BAAU,CAAC,yBAAc,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAa,EAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,0BAAU,CACnB,yBAAc,CAAC,mBAAmB,EAClC,kCAAwB,CACzB,CAAC;IACJ,CAAC;IACD,IAAA,mBAAU,EAAC;QACT,KAAK;QACL,MAAM;QACN,MAAM,EAAE,IAAA,0BAAa,EAAC,GAAG,CAAC;QAC1B,QAAQ,EAAE,sBAAW;QACrB,QAAQ,EAAE,uBAAY;KACvB,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAOM,KAAK,UAAU,kBAAkB,CACtC,YAAoB,EACpB,MAAc,EACd,OAAe;IAEf,MAAM,MAAM,GAAG,IAAA,0BAAe,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACrD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,0BAAU,CAAC,yBAAc,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,0BAAU,CACnB,yBAAc,CAAC,mBAAmB,EAClC,kCAAwB,CACzB,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,0BAAU,CAAC,yBAAc,CAAC,QAAQ,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { RequestContext } from "@antelopejs/interface-api";
|
|
2
|
-
|
|
2
|
+
interface SseSink {
|
|
3
3
|
write(chunk: string): boolean;
|
|
4
4
|
end(): void;
|
|
5
5
|
once(event: "drain", listener: () => void): unknown;
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
interface SseSource {
|
|
8
8
|
sink: SseSink;
|
|
9
9
|
onClientGone: (listener: () => void) => void;
|
|
10
10
|
}
|
|
@@ -17,3 +17,4 @@ export interface SseStream {
|
|
|
17
17
|
}
|
|
18
18
|
export declare function createSseStream(source: SseSource): SseStream;
|
|
19
19
|
export declare function openSseStream(ctx: RequestContext): SseStream;
|
|
20
|
+
export {};
|
package/dist/config.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export interface AIConfig {
|
|
2
2
|
backendUrl?: string;
|
|
3
|
-
hostOrigin?: string;
|
|
4
3
|
}
|
|
5
4
|
export declare function parseConfig(raw: unknown): AIConfig;
|
|
6
|
-
export declare function hasDeprecatedHostOrigin(raw: unknown): boolean;
|
|
7
5
|
export declare function setConfig(config: AIConfig): void;
|
|
8
6
|
export declare function getConfig(): AIConfig;
|
package/dist/config.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.parseConfig = parseConfig;
|
|
4
|
-
exports.hasDeprecatedHostOrigin = hasDeprecatedHostOrigin;
|
|
5
4
|
exports.setConfig = setConfig;
|
|
6
5
|
exports.getConfig = getConfig;
|
|
7
6
|
const CONFIG_KEYS = ["backendUrl"];
|
|
8
|
-
const DEPRECATED_HOST_ORIGIN_KEY = "hostOrigin";
|
|
9
7
|
let current = {};
|
|
10
8
|
function readOrigin(raw, key) {
|
|
11
9
|
const value = raw[key];
|
|
@@ -26,11 +24,6 @@ function parseConfig(raw) {
|
|
|
26
24
|
}
|
|
27
25
|
return parsed;
|
|
28
26
|
}
|
|
29
|
-
function hasDeprecatedHostOrigin(raw) {
|
|
30
|
-
if (raw === null || typeof raw !== "object")
|
|
31
|
-
return false;
|
|
32
|
-
return (raw[DEPRECATED_HOST_ORIGIN_KEY] !== undefined);
|
|
33
|
-
}
|
|
34
27
|
function setConfig(config) {
|
|
35
28
|
current = config;
|
|
36
29
|
}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;AAwBA,kCASC;AAED,8BAEC;AAED,8BAEC;AAnCD,MAAM,WAAW,GAAG,CAAC,YAAY,CAAU,CAAC;AAE5C,IAAI,OAAO,GAAa,EAAE,CAAC;AAE3B,SAAS,UAAU,CACjB,GAA4B,EAC5B,GAAW;IAEX,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAMD,SAAgB,WAAW,CAAC,GAAY;IACtC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACvD,MAAM,MAAM,GAAG,GAA8B,CAAC;IAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,SAAS,CAAC,MAAgB;IACxC,OAAO,GAAG,MAAM,CAAC;AACnB,CAAC;AAED,SAAgB,SAAS;IACvB,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const HTTP_STATUS: {
|
|
2
|
+
readonly OK: 200;
|
|
3
|
+
readonly NO_CONTENT: 204;
|
|
4
|
+
readonly BAD_REQUEST: 400;
|
|
5
|
+
readonly UNAVAILABLE: 503;
|
|
6
|
+
};
|
|
7
|
+
export declare const ASSISTANT_UNAVAILABLE_MESSAGE = "The assistant isn't running.";
|
|
8
|
+
export declare const ASSISTANT_REFUSED_MESSAGE = "The assistant refused the request.";
|
|
9
|
+
export declare const CSV_CONTENT_TYPE = "text/csv; charset=utf-8";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CSV_CONTENT_TYPE = exports.ASSISTANT_REFUSED_MESSAGE = exports.ASSISTANT_UNAVAILABLE_MESSAGE = exports.HTTP_STATUS = void 0;
|
|
4
|
+
const sidecar_1 = require("./sidecar");
|
|
5
|
+
exports.HTTP_STATUS = {
|
|
6
|
+
OK: 200,
|
|
7
|
+
NO_CONTENT: 204,
|
|
8
|
+
BAD_REQUEST: 400,
|
|
9
|
+
UNAVAILABLE: sidecar_1.SIDECAR_UNAVAILABLE_STATUS,
|
|
10
|
+
};
|
|
11
|
+
exports.ASSISTANT_UNAVAILABLE_MESSAGE = "The assistant isn't running.";
|
|
12
|
+
exports.ASSISTANT_REFUSED_MESSAGE = "The assistant refused the request.";
|
|
13
|
+
exports.CSV_CONTENT_TYPE = "text/csv; charset=utf-8";
|
|
14
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/constants/http.ts"],"names":[],"mappings":";;;AAAA,uCAAuD;AAE1C,QAAA,WAAW,GAAG;IACzB,EAAE,EAAE,GAAG;IACP,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,oCAA0B;CAC/B,CAAC;AAGE,QAAA,6BAA6B,GAAG,8BAA8B,CAAC;AAE/D,QAAA,yBAAyB,GAAG,oCAAoC,CAAC;AAEjE,QAAA,gBAAgB,GAAG,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const I18N_PREFIX = "$dms_ai";
|
|
2
|
+
export declare const I18N_SECTIONS: {
|
|
3
|
+
readonly MODULE: "module";
|
|
4
|
+
readonly PAGES: "pages";
|
|
5
|
+
readonly BLOCKS: "blocks";
|
|
6
|
+
readonly ACTIVITY: "activity";
|
|
7
|
+
readonly SETTINGS: "settings";
|
|
8
|
+
readonly SKILLS: "skills";
|
|
9
|
+
readonly STATUS: "status";
|
|
10
|
+
readonly CHANGES_TABLE: "changes_table";
|
|
11
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.I18N_SECTIONS = exports.I18N_PREFIX = void 0;
|
|
4
|
+
exports.I18N_PREFIX = "$dms_ai";
|
|
5
|
+
exports.I18N_SECTIONS = {
|
|
6
|
+
MODULE: "module",
|
|
7
|
+
PAGES: "pages",
|
|
8
|
+
BLOCKS: "blocks",
|
|
9
|
+
ACTIVITY: "activity",
|
|
10
|
+
SETTINGS: "settings",
|
|
11
|
+
SKILLS: "skills",
|
|
12
|
+
STATUS: "status",
|
|
13
|
+
CHANGES_TABLE: "changes_table",
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/constants/i18n.ts"],"names":[],"mappings":";;;AACa,QAAA,WAAW,GAAG,SAAS,CAAC;AAExB,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,aAAa,EAAE,eAAe;CACtB,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const AI_MODULE_ICON = "i-ph-sparkle";
|
|
2
|
+
export declare const AI_MODULE_LANDING_PAGE = "overview";
|
|
3
|
+
export declare const PAGE_IDS: {
|
|
4
|
+
readonly OVERVIEW: "overview";
|
|
5
|
+
readonly CHANGES: "changes";
|
|
6
|
+
readonly ACTIVITY: "activity";
|
|
7
|
+
readonly SKILLS: "skills";
|
|
8
|
+
readonly SETTINGS: "settings";
|
|
9
|
+
};
|
|
10
|
+
export declare const PAGE_ORDER: {
|
|
11
|
+
readonly OVERVIEW: 0;
|
|
12
|
+
readonly CHANGES: 1;
|
|
13
|
+
readonly ACTIVITY: 2;
|
|
14
|
+
readonly SKILLS: 3;
|
|
15
|
+
readonly SETTINGS: 4;
|
|
16
|
+
};
|
|
17
|
+
export declare const OVERVIEW_PERIOD_SCOPE = "ai-overview";
|
|
18
|
+
export declare const RECENT_CHANGE_SETS = 4;
|
|
19
|
+
export declare const TOP_TOOLS_LIMIT = 5;
|
|
20
|
+
export declare const ACTIVITY_PAGE_SIZE = 25;
|
|
21
|
+
export declare const SETTINGS_SKILLS_SECTION = "skills";
|
|
22
|
+
export declare const PAGE_ROUTES: {
|
|
23
|
+
readonly STATUS: "/ai/status";
|
|
24
|
+
readonly STATUS_FACTS: "/ai/status/facts";
|
|
25
|
+
readonly STATUS_BANNER: "/ai/status/banner";
|
|
26
|
+
readonly SIDECAR_RESTART: "/ai/sidecar/restart";
|
|
27
|
+
readonly KPI: "/ai/metrics/kpi";
|
|
28
|
+
readonly SERIES: "/ai/metrics/series";
|
|
29
|
+
readonly ALLOWED: "/ai/metrics/allowed";
|
|
30
|
+
readonly TOP_TOOLS: "/ai/metrics/top-tools?limit=5";
|
|
31
|
+
readonly USAGE: "/ai/metrics/usage?days=14";
|
|
32
|
+
readonly USAGE_SUMMARY: "/ai/metrics/usage/summary?days=14";
|
|
33
|
+
readonly CHANGES: "/ai/changes";
|
|
34
|
+
readonly RECENT_CHANGES: "/ai/recent-changes";
|
|
35
|
+
readonly CHANGE_UNDO: "/ai/changes/{{row._id}}/undo";
|
|
36
|
+
readonly CHANGE_UNDO_CONFIRM: "/ai/changes/{{row._id}}/undo-confirm";
|
|
37
|
+
readonly CHANGE_REDO: "/ai/changes/{{row._id}}/redo";
|
|
38
|
+
readonly ACTIVITY: "/ai/activity";
|
|
39
|
+
readonly ACTIVITY_EXPORT: "/ai/activity/export.csv";
|
|
40
|
+
readonly SKILLS_CATALOG: "/ai/skills/catalog";
|
|
41
|
+
readonly SKILL_CONFLICTS: "/ai/skills/conflicts";
|
|
42
|
+
readonly SETTINGS: "/ai/settings";
|
|
43
|
+
};
|
|
44
|
+
export declare const PAGE_LINKS: {
|
|
45
|
+
readonly CHANGES: "/modules/ai/changes";
|
|
46
|
+
readonly CHANGE_SET: "/modules/ai/changes?set={{row._id}}";
|
|
47
|
+
readonly ACTIVITY: "/modules/ai/activity";
|
|
48
|
+
readonly SETTINGS: "/modules/ai/settings";
|
|
49
|
+
readonly SKILL_SETTINGS: "/modules/ai/settings#dms-form-settings-section-skills";
|
|
50
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PAGE_LINKS = exports.PAGE_ROUTES = exports.SETTINGS_SKILLS_SECTION = exports.ACTIVITY_PAGE_SIZE = exports.TOP_TOOLS_LIMIT = exports.RECENT_CHANGE_SETS = exports.OVERVIEW_PERIOD_SCOPE = exports.PAGE_ORDER = exports.PAGE_IDS = exports.AI_MODULE_LANDING_PAGE = exports.AI_MODULE_ICON = void 0;
|
|
4
|
+
const module_1 = require("./module");
|
|
5
|
+
exports.AI_MODULE_ICON = "i-ph-sparkle";
|
|
6
|
+
exports.AI_MODULE_LANDING_PAGE = "overview";
|
|
7
|
+
const MODULE_PAGES_PATH = "/modules/ai";
|
|
8
|
+
exports.PAGE_IDS = {
|
|
9
|
+
OVERVIEW: "overview",
|
|
10
|
+
CHANGES: "changes",
|
|
11
|
+
ACTIVITY: "activity",
|
|
12
|
+
SKILLS: "skills",
|
|
13
|
+
SETTINGS: "settings",
|
|
14
|
+
};
|
|
15
|
+
exports.PAGE_ORDER = {
|
|
16
|
+
OVERVIEW: 0,
|
|
17
|
+
CHANGES: 1,
|
|
18
|
+
ACTIVITY: 2,
|
|
19
|
+
SKILLS: 3,
|
|
20
|
+
SETTINGS: 4,
|
|
21
|
+
};
|
|
22
|
+
exports.OVERVIEW_PERIOD_SCOPE = "ai-overview";
|
|
23
|
+
exports.RECENT_CHANGE_SETS = 4;
|
|
24
|
+
exports.TOP_TOOLS_LIMIT = 5;
|
|
25
|
+
exports.ACTIVITY_PAGE_SIZE = 25;
|
|
26
|
+
const USAGE_DAYS = 14;
|
|
27
|
+
const SETTINGS_FORM_KEY = "settings";
|
|
28
|
+
exports.SETTINGS_SKILLS_SECTION = "skills";
|
|
29
|
+
exports.PAGE_ROUTES = {
|
|
30
|
+
STATUS: `${module_1.ROUTE_PREFIX}/status`,
|
|
31
|
+
STATUS_FACTS: `${module_1.ROUTE_PREFIX}/status/facts`,
|
|
32
|
+
STATUS_BANNER: `${module_1.ROUTE_PREFIX}/status/banner`,
|
|
33
|
+
SIDECAR_RESTART: `${module_1.ROUTE_PREFIX}/sidecar/restart`,
|
|
34
|
+
KPI: `${module_1.ROUTE_PREFIX}/metrics/kpi`,
|
|
35
|
+
SERIES: `${module_1.ROUTE_PREFIX}/metrics/series`,
|
|
36
|
+
ALLOWED: `${module_1.ROUTE_PREFIX}/metrics/allowed`,
|
|
37
|
+
TOP_TOOLS: `${module_1.ROUTE_PREFIX}/metrics/top-tools?limit=${exports.TOP_TOOLS_LIMIT}`,
|
|
38
|
+
USAGE: `${module_1.ROUTE_PREFIX}/metrics/usage?days=${USAGE_DAYS}`,
|
|
39
|
+
USAGE_SUMMARY: `${module_1.ROUTE_PREFIX}/metrics/usage/summary?days=${USAGE_DAYS}`,
|
|
40
|
+
CHANGES: `${module_1.ROUTE_PREFIX}/changes`,
|
|
41
|
+
RECENT_CHANGES: `${module_1.ROUTE_PREFIX}/recent-changes`,
|
|
42
|
+
CHANGE_UNDO: `${module_1.ROUTE_PREFIX}/changes/{{row._id}}/undo`,
|
|
43
|
+
CHANGE_UNDO_CONFIRM: `${module_1.ROUTE_PREFIX}/changes/{{row._id}}/undo-confirm`,
|
|
44
|
+
CHANGE_REDO: `${module_1.ROUTE_PREFIX}/changes/{{row._id}}/redo`,
|
|
45
|
+
ACTIVITY: `${module_1.ROUTE_PREFIX}/activity`,
|
|
46
|
+
ACTIVITY_EXPORT: `${module_1.ROUTE_PREFIX}/activity/export.csv`,
|
|
47
|
+
SKILLS_CATALOG: `${module_1.ROUTE_PREFIX}/skills/catalog`,
|
|
48
|
+
SKILL_CONFLICTS: `${module_1.ROUTE_PREFIX}/skills/conflicts`,
|
|
49
|
+
SETTINGS: `${module_1.ROUTE_PREFIX}/settings`,
|
|
50
|
+
};
|
|
51
|
+
exports.PAGE_LINKS = {
|
|
52
|
+
CHANGES: `${MODULE_PAGES_PATH}/${exports.PAGE_IDS.CHANGES}`,
|
|
53
|
+
CHANGE_SET: `${MODULE_PAGES_PATH}/${exports.PAGE_IDS.CHANGES}?set={{row._id}}`,
|
|
54
|
+
ACTIVITY: `${MODULE_PAGES_PATH}/${exports.PAGE_IDS.ACTIVITY}`,
|
|
55
|
+
SETTINGS: `${MODULE_PAGES_PATH}/${exports.PAGE_IDS.SETTINGS}`,
|
|
56
|
+
SKILL_SETTINGS: `${MODULE_PAGES_PATH}/${exports.PAGE_IDS.SETTINGS}#dms-form-${SETTINGS_FORM_KEY}-section-${exports.SETTINGS_SKILLS_SECTION}`,
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=pages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/constants/pages.ts"],"names":[],"mappings":";;;AAAA,qCAAwC;AAE3B,QAAA,cAAc,GAAG,cAAc,CAAC;AAChC,QAAA,sBAAsB,GAAG,UAAU,CAAC;AAGjD,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAE3B,QAAA,QAAQ,GAAG;IACtB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEE,QAAA,UAAU,GAAG;IACxB,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,QAAQ,EAAE,CAAC;IACX,MAAM,EAAE,CAAC;IACT,QAAQ,EAAE,CAAC;CACH,CAAC;AAGE,QAAA,qBAAqB,GAAG,aAAa,CAAC;AAGtC,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEvB,QAAA,eAAe,GAAG,CAAC,CAAC;AAEpB,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAErC,MAAM,UAAU,GAAG,EAAE,CAAC;AAGtB,MAAM,iBAAiB,GAAG,UAAU,CAAC;AACxB,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AAGnC,QAAA,WAAW,GAAG;IACzB,MAAM,EAAE,GAAG,qBAAY,SAAS;IAChC,YAAY,EAAE,GAAG,qBAAY,eAAe;IAC5C,aAAa,EAAE,GAAG,qBAAY,gBAAgB;IAC9C,eAAe,EAAE,GAAG,qBAAY,kBAAkB;IAClD,GAAG,EAAE,GAAG,qBAAY,cAAc;IAClC,MAAM,EAAE,GAAG,qBAAY,iBAAiB;IACxC,OAAO,EAAE,GAAG,qBAAY,kBAAkB;IAC1C,SAAS,EAAE,GAAG,qBAAY,4BAA4B,uBAAe,EAAE;IACvE,KAAK,EAAE,GAAG,qBAAY,uBAAuB,UAAU,EAAE;IACzD,aAAa,EAAE,GAAG,qBAAY,+BAA+B,UAAU,EAAE;IACzE,OAAO,EAAE,GAAG,qBAAY,UAAU;IAClC,cAAc,EAAE,GAAG,qBAAY,iBAAiB;IAChD,WAAW,EAAE,GAAG,qBAAY,2BAA2B;IACvD,mBAAmB,EAAE,GAAG,qBAAY,mCAAmC;IACvE,WAAW,EAAE,GAAG,qBAAY,2BAA2B;IACvD,QAAQ,EAAE,GAAG,qBAAY,WAAW;IACpC,eAAe,EAAE,GAAG,qBAAY,sBAAsB;IACtD,cAAc,EAAE,GAAG,qBAAY,iBAAiB;IAChD,eAAe,EAAE,GAAG,qBAAY,mBAAmB;IACnD,QAAQ,EAAE,GAAG,qBAAY,WAAW;CAC5B,CAAC;AAGE,QAAA,UAAU,GAAG;IACxB,OAAO,EAAE,GAAG,iBAAiB,IAAI,gBAAQ,CAAC,OAAO,EAAE;IACnD,UAAU,EAAE,GAAG,iBAAiB,IAAI,gBAAQ,CAAC,OAAO,kBAAkB;IACtE,QAAQ,EAAE,GAAG,iBAAiB,IAAI,gBAAQ,CAAC,QAAQ,EAAE;IACrD,QAAQ,EAAE,GAAG,iBAAiB,IAAI,gBAAQ,CAAC,QAAQ,EAAE;IACrD,cAAc,EAAE,GAAG,iBAAiB,IAAI,gBAAQ,CAAC,QAAQ,aAAa,iBAAiB,YAAY,+BAAuB,EAAE;CACpH,CAAC"}
|
|
@@ -31,4 +31,3 @@ export declare const SIDECAR_UNAVAILABLE_STATUS = 503;
|
|
|
31
31
|
export declare const SIDECAR_UNAVAILABLE_BODY: {
|
|
32
32
|
error: string;
|
|
33
33
|
};
|
|
34
|
-
export declare const HOST_ORIGIN_DEPRECATION_WARNING = "[dms-ai] the \"hostOrigin\" config option is deprecated and ignored: remove it from the module config.";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SIDECAR_UNAVAILABLE_BODY = exports.SIDECAR_UNAVAILABLE_STATUS = exports.SIDECAR_AUTH_HEADER = exports.SIDECAR_LOOPBACK_HOST = exports.SIDECAR_BUILD_ID_HASH_ALGORITHM = exports.SIDECAR_DIST_EXTENSION = exports.MODULE_ROOTS_TIMEOUT_MS = exports.SIDECAR_BACKEND_URL_FLAG = exports.SIDECAR_BUILDER_FLAG = exports.SIDECAR_SKILL_DIRS_FLAG = exports.SIDECAR_MODULE_ROOTS_FLAG = exports.SIDECAR_BUILD_ID_FLAG = exports.SIDECAR_OWNER_KEY = exports.SIDECAR_EXIT_POLL_INTERVAL_MS = exports.SIDECAR_STOP_TIMEOUT_MS = exports.SIDECAR_LOCK_POLL_INTERVAL_MS = exports.SIDECAR_HEALTH_TIMEOUT_MS = exports.SIDECAR_HEALTH_PATH = exports.SIDECAR_LOG_FILE_NAME = exports.SIDECAR_LOCK_FILE_NAME = exports.SIDECAR_CACHE_DIR_SEGMENTS = exports.SIDECAR_SUCCESS_EXIT_CODE = exports.SIDECAR_DIST_REL = exports.SIDECAR_ENV_DISABLE_KEY = exports.SIDECAR_DISABLED_FLAG = exports.SIDECAR_LOG_PREFIX = exports.SIDECAR_RESPAWN_DELAY_MS = exports.SIDECAR_RESPAWN_WINDOW_MS = exports.SIDECAR_RESPAWN_MAX = exports.SIDECAR_SPAWN_TIMEOUT_MS = exports.SIDECAR_BIN_NAME = void 0;
|
|
4
4
|
exports.SIDECAR_BIN_NAME = "dms-ai-sidecar";
|
|
5
5
|
exports.SIDECAR_SPAWN_TIMEOUT_MS = 10_000;
|
|
6
6
|
exports.SIDECAR_RESPAWN_MAX = 3;
|
|
@@ -36,5 +36,4 @@ exports.SIDECAR_LOOPBACK_HOST = "127.0.0.1";
|
|
|
36
36
|
exports.SIDECAR_AUTH_HEADER = "x-dms-ai-token";
|
|
37
37
|
exports.SIDECAR_UNAVAILABLE_STATUS = 503;
|
|
38
38
|
exports.SIDECAR_UNAVAILABLE_BODY = { error: "sidecar_unavailable" };
|
|
39
|
-
exports.HOST_ORIGIN_DEPRECATION_WARNING = `${exports.SIDECAR_LOG_PREFIX} the "hostOrigin" config option is deprecated and ignored: remove it from the module config.`;
|
|
40
39
|
//# sourceMappingURL=sidecar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/constants/sidecar.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,gBAAgB,CAAC;AACpC,QAAA,wBAAwB,GAAG,MAAM,CAAC;AAClC,QAAA,mBAAmB,GAAG,CAAC,CAAC;AACxB,QAAA,yBAAyB,GAAG,MAAM,CAAC;AACnC,QAAA,wBAAwB,GAAG,GAAG,CAAC;AAC/B,QAAA,kBAAkB,GAAG,UAAU,CAAC;AAChC,QAAA,qBAAqB,GAAG,GAAG,CAAC;AAC5B,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,gBAAgB,GAAG,6BAA6B,CAAC;AACjD,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAC9B,QAAA,0BAA0B,GAAG;IACxC,cAAc;IACd,QAAQ;IACR,QAAQ;CACA,CAAC;AACE,QAAA,sBAAsB,GAAG,cAAc,CAAC;AACxC,QAAA,qBAAqB,GAAG,aAAa,CAAC;AACtC,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,yBAAyB,GAAG,IAAI,CAAC;AACjC,QAAA,6BAA6B,GAAG,GAAG,CAAC;AACpC,QAAA,uBAAuB,GAAG,KAAK,CAAC;AAChC,QAAA,6BAA6B,GAAG,GAAG,CAAC;AACpC,QAAA,iBAAiB,GAAG,kCAAkC,CAAC;AACvD,QAAA,qBAAqB,GAAG,YAAY,CAAC;AACrC,QAAA,yBAAyB,GAAG,gBAAgB,CAAC;AAC7C,QAAA,uBAAuB,GAAG,cAAc,CAAC;AACzC,QAAA,oBAAoB,GAAG,mBAAmB,CAAC;AAC3C,QAAA,wBAAwB,GAAG,eAAe,CAAC;AAC3C,QAAA,uBAAuB,GAAG,KAAK,CAAC;AAChC,QAAA,sBAAsB,GAAG,KAAK,CAAC;AAC/B,QAAA,+BAA+B,GAAG,QAAQ,CAAC;AAC3C,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,mBAAmB,GAAG,gBAAgB,CAAC;AAGvC,QAAA,0BAA0B,GAAG,GAAG,CAAC;AACjC,QAAA,wBAAwB,GAAG,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"sidecar.js","sourceRoot":"","sources":["../../src/constants/sidecar.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,gBAAgB,CAAC;AACpC,QAAA,wBAAwB,GAAG,MAAM,CAAC;AAClC,QAAA,mBAAmB,GAAG,CAAC,CAAC;AACxB,QAAA,yBAAyB,GAAG,MAAM,CAAC;AACnC,QAAA,wBAAwB,GAAG,GAAG,CAAC;AAC/B,QAAA,kBAAkB,GAAG,UAAU,CAAC;AAChC,QAAA,qBAAqB,GAAG,GAAG,CAAC;AAC5B,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,gBAAgB,GAAG,6BAA6B,CAAC;AACjD,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAC9B,QAAA,0BAA0B,GAAG;IACxC,cAAc;IACd,QAAQ;IACR,QAAQ;CACA,CAAC;AACE,QAAA,sBAAsB,GAAG,cAAc,CAAC;AACxC,QAAA,qBAAqB,GAAG,aAAa,CAAC;AACtC,QAAA,mBAAmB,GAAG,SAAS,CAAC;AAChC,QAAA,yBAAyB,GAAG,IAAI,CAAC;AACjC,QAAA,6BAA6B,GAAG,GAAG,CAAC;AACpC,QAAA,uBAAuB,GAAG,KAAK,CAAC;AAChC,QAAA,6BAA6B,GAAG,GAAG,CAAC;AACpC,QAAA,iBAAiB,GAAG,kCAAkC,CAAC;AACvD,QAAA,qBAAqB,GAAG,YAAY,CAAC;AACrC,QAAA,yBAAyB,GAAG,gBAAgB,CAAC;AAC7C,QAAA,uBAAuB,GAAG,cAAc,CAAC;AACzC,QAAA,oBAAoB,GAAG,mBAAmB,CAAC;AAC3C,QAAA,wBAAwB,GAAG,eAAe,CAAC;AAC3C,QAAA,uBAAuB,GAAG,KAAK,CAAC;AAChC,QAAA,sBAAsB,GAAG,KAAK,CAAC;AAC/B,QAAA,+BAA+B,GAAG,QAAQ,CAAC;AAC3C,QAAA,qBAAqB,GAAG,WAAW,CAAC;AACpC,QAAA,mBAAmB,GAAG,gBAAgB,CAAC;AAGvC,QAAA,0BAA0B,GAAG,GAAG,CAAC;AACjC,QAAA,wBAAwB,GAAG,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -20,15 +20,7 @@ const spawn_sidecar_1 = require("./lifecycle/spawn-sidecar");
|
|
|
20
20
|
const log_buffer_1 = require("./logging/log-buffer");
|
|
21
21
|
require("./pages");
|
|
22
22
|
require("./routes");
|
|
23
|
-
let hasWarnedHostOrigin = false;
|
|
24
|
-
function warnDeprecatedHostOrigin(config) {
|
|
25
|
-
if (hasWarnedHostOrigin || !(0, config_1.hasDeprecatedHostOrigin)(config))
|
|
26
|
-
return;
|
|
27
|
-
hasWarnedHostOrigin = true;
|
|
28
|
-
logging_1.Logging.Warn(sidecar_1.HOST_ORIGIN_DEPRECATION_WARNING);
|
|
29
|
-
}
|
|
30
23
|
function construct(config) {
|
|
31
|
-
warnDeprecatedHostOrigin(config);
|
|
32
24
|
(0, config_1.setConfig)((0, config_1.parseConfig)(config));
|
|
33
25
|
}
|
|
34
26
|
async function start() {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAmBA,8BAEC;AAED,sBAyBC;AAOD,0BAEC;AAzDD,0DAA6B;AAC7B,gEAA6D;AAC7D,yDAAmE;AACnE,iDAAwD;AACxD,kDAAsD;AACtD,qCAA6D;AAC7D,iEAIqC;AACrC,iDAAyD;AACzD,2DAA8D;AAC9D,6DAAgE;AAChE,6DAAyD;AACzD,qDAAuD;AACvD,mBAAiB;AACjB,oBAAkB;AAElB,SAAgB,SAAS,CAAC,MAAe;IACvC,IAAA,kBAAS,EAAC,IAAA,oBAAW,EAAC,MAAM,CAAC,CAAC,CAAC;AACjC,CAAC;AAEM,KAAK,UAAU,KAAK;IACzB,IAAA,4BAAe,GAAE,CAAC;IAClB,MAAM,IAAA,wBAAiB,EAAC;QACtB,IAAI,EAAE,sCAAoB;QAC1B,UAAU,EAAE,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,qCAAmB,CAAC;QACrD,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;QACvC,QAAQ,EAAE,0CAAwB;KACnC,CAAC,CAAC;IAIH,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjE,IAAA,iCAAkB,GAAE;QACpB,IAAA,mCAAmB,GAAE;QACrB,IAAA,6BAAkB,GAAE;KACrB,CAAC,CAAC;IACH,KAAK,IAAA,4BAAY,EAAC;QAChB,eAAe,EAAE,OAAO,CAAC,GAAG,EAAE;QAC9B,GAAG,IAAA,kBAAS,GAAE;QACd,WAAW;QACX,SAAS;QACT,cAAc;KACf,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,iBAAO,CAAC,KAAK,CAAC,GAAG,4BAAkB,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAOD,SAAgB,OAAO;IACrB,IAAA,0BAAe,GAAE,CAAC;AACpB,CAAC"}
|
|
@@ -22,6 +22,7 @@ function createSidecarOwner() {
|
|
|
22
22
|
return {
|
|
23
23
|
attach: (launch) => attach(state, launch),
|
|
24
24
|
revive: () => ensureRunning(state),
|
|
25
|
+
restart: () => restart(state),
|
|
25
26
|
getPort: () => state.current?.port ?? null,
|
|
26
27
|
hasGivenUp: () => state.hasGivenUp,
|
|
27
28
|
};
|
|
@@ -44,6 +45,18 @@ function ensureRunning(state) {
|
|
|
44
45
|
});
|
|
45
46
|
return state.inFlight;
|
|
46
47
|
}
|
|
48
|
+
async function restart(state) {
|
|
49
|
+
const launch = state.launch;
|
|
50
|
+
if (launch === null)
|
|
51
|
+
return;
|
|
52
|
+
await state.inFlight;
|
|
53
|
+
state.hasGivenUp = false;
|
|
54
|
+
state.respawnTracker = (0, respawn_tracker_1.createRespawnTracker)();
|
|
55
|
+
state.inFlight = replaceSidecar(state, launch).finally(() => {
|
|
56
|
+
state.inFlight = null;
|
|
57
|
+
});
|
|
58
|
+
await state.inFlight;
|
|
59
|
+
}
|
|
47
60
|
async function replaceSidecar(state, launch) {
|
|
48
61
|
await retireCurrent(state);
|
|
49
62
|
const child = await launch.spawn();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidecar-owner.js","sourceRoot":"","sources":["../../src/lifecycle/sidecar-owner.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sidecar-owner.js","sourceRoot":"","sources":["../../src/lifecycle/sidecar-owner.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,4 +14,5 @@ export declare function hasSidecarGivenUp(): boolean;
|
|
|
14
14
|
export declare function isSidecarDisabled(): boolean;
|
|
15
15
|
export declare function spawnSidecar(opts: SpawnOptions): Promise<void>;
|
|
16
16
|
export declare function ensureSidecarRunning(): Promise<void>;
|
|
17
|
+
export declare function restartSidecar(): Promise<void>;
|
|
17
18
|
export {};
|