@antelopejs/dms-ai 0.1.4 → 0.1.6
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 +55 -29
- package/dist/channels/bridge.d.ts +2 -8
- package/dist/channels/bridge.js +26 -42
- package/dist/channels/bridge.js.map +1 -1
- package/dist/channels/channel-service.d.ts +2 -2
- package/dist/channels/channel-service.js +12 -31
- package/dist/channels/channel-service.js.map +1 -1
- package/dist/channels/registry.d.ts +2 -2
- package/dist/channels/registry.js +7 -7
- package/dist/channels/registry.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +8 -1
- package/dist/config.js.map +1 -1
- package/dist/constants/channels.d.ts +5 -10
- package/dist/constants/channels.js +6 -10
- package/dist/constants/channels.js.map +1 -1
- package/dist/constants/sidecar.d.ts +5 -1
- package/dist/constants/sidecar.js +6 -2
- package/dist/constants/sidecar.js.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/build-id.d.ts +1 -0
- package/dist/lifecycle/build-id.js +32 -0
- package/dist/lifecycle/build-id.js.map +1 -0
- package/dist/lifecycle/sidecar-owner.d.ts +13 -0
- package/dist/lifecycle/sidecar-owner.js +89 -0
- package/dist/lifecycle/sidecar-owner.js.map +1 -0
- package/dist/lifecycle/sidecar-socket.d.ts +1 -1
- package/dist/lifecycle/sidecar-socket.js +2 -2
- package/dist/lifecycle/sidecar-socket.js.map +1 -1
- package/dist/lifecycle/spawn-sidecar.d.ts +0 -1
- package/dist/lifecycle/spawn-sidecar.js +51 -159
- 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/routes/channels.d.ts +3 -3
- package/dist/routes/channels.js +11 -12
- package/dist/routes/channels.js.map +1 -1
- package/dist/routes/index.d.ts +0 -1
- package/dist/routes/index.js +0 -1
- package/dist/routes/index.js.map +1 -1
- package/frontend-vue/.prettierignore +3 -0
- package/frontend-vue/.prettierrc +10 -0
- package/frontend-vue/app/chat/components/ChatView.vue +582 -0
- package/frontend-vue/app/chat/components/ComposerInput.vue +742 -0
- package/frontend-vue/app/chat/components/ConnectionBanner.vue +105 -0
- package/frontend-vue/app/chat/components/ConversationDrawer.vue +266 -0
- package/frontend-vue/app/chat/components/MarkdownContent.vue +196 -0
- package/frontend-vue/app/chat/components/MessageList.vue +474 -0
- package/frontend-vue/app/chat/components/PermissionRequests.vue +323 -0
- package/frontend-vue/app/chat/components/QuestionPrompt.vue +275 -0
- package/frontend-vue/app/chat/components/QueuedMessages.vue +109 -0
- package/frontend-vue/app/chat/components/TodoList.vue +291 -0
- package/frontend-vue/app/chat/components/ToolCallEntry.vue +218 -0
- package/frontend-vue/app/chat/components/ToolCluster.vue +282 -0
- package/frontend-vue/app/chat/composables/useChatChannel.ts +116 -0
- package/frontend-vue/app/chat/composables/useConversation.ts +838 -0
- package/frontend-vue/app/chat/composables/useConversationId.ts +34 -0
- package/frontend-vue/app/chat/composables/useConversationList.ts +56 -0
- package/frontend-vue/app/chat/composables/usePermissionQueue.ts +59 -0
- package/frontend-vue/app/chat/composables/useQuestionQueue.ts +50 -0
- package/frontend-vue/app/chat/composables/useRunClock.ts +28 -0
- package/frontend-vue/app/chat/composables/useSettings.ts +67 -0
- package/frontend-vue/app/chat/constants/attachments.ts +16 -0
- package/frontend-vue/app/chat/constants/connection-banner.ts +7 -0
- package/frontend-vue/app/chat/constants/conversation-drawer.ts +13 -0
- package/frontend-vue/app/chat/constants/conversation.ts +75 -0
- package/frontend-vue/app/chat/constants/permissions.ts +50 -0
- package/frontend-vue/app/chat/constants/protocol.ts +48 -0
- package/frontend-vue/app/chat/constants/run-status.ts +50 -0
- package/frontend-vue/app/chat/constants/settings.ts +60 -0
- package/frontend-vue/app/chat/types/conversation.ts +87 -0
- package/frontend-vue/app/chat/types/permission.ts +7 -0
- package/frontend-vue/app/chat/types/question.ts +17 -0
- package/frontend-vue/app/chat/types/settings.ts +27 -0
- package/frontend-vue/app/chat/utils/attachments.ts +62 -0
- package/frontend-vue/app/chat/utils/format.ts +14 -0
- package/frontend-vue/app/chat/utils/ids.ts +34 -0
- package/frontend-vue/app/chat/utils/markdown.ts +188 -0
- package/frontend-vue/app/chat/utils/run-status.ts +90 -0
- package/frontend-vue/app/chat/utils/todos.ts +64 -0
- package/frontend-vue/app/chat/utils/tool-summary.ts +53 -0
- package/frontend-vue/app/components/ActivityView.vue +34 -34
- package/frontend-vue/app/components/ChatPanel.vue +276 -0
- package/frontend-vue/app/components/SettingsView.vue +120 -112
- package/frontend-vue/app/components/SkillsView.vue +55 -53
- package/frontend-vue/app/plugins/ai.client.ts +145 -129
- package/frontend-vue/app/runtime/assistant-session.ts +21 -0
- package/frontend-vue/app/runtime/backoff.ts +11 -14
- package/frontend-vue/app/runtime/channel-client.ts +130 -141
- package/frontend-vue/app/runtime/chat-transport.ts +25 -55
- package/frontend-vue/app/runtime/constants.ts +69 -59
- package/frontend-vue/app/runtime/current-page.ts +49 -15
- package/frontend-vue/app/runtime/event-stream.ts +35 -35
- package/frontend-vue/app/runtime/frame-router.ts +30 -0
- package/frontend-vue/app/runtime/header-action.ts +18 -18
- package/frontend-vue/app/runtime/host-commands.ts +57 -56
- package/frontend-vue/app/runtime/listeners.ts +31 -0
- package/frontend-vue/app/runtime/navigation-complete.ts +7 -7
- package/frontend-vue/app/runtime/overlay-prefs.ts +36 -36
- package/frontend-vue/app/runtime/panel-state.ts +88 -0
- package/frontend-vue/app/runtime/session-gate.ts +8 -8
- package/frontend-vue/app/runtime/shortcuts.ts +12 -12
- package/frontend-vue/app/runtime/sidecar-status.ts +61 -61
- package/frontend-vue/app/runtime/typed-message.ts +11 -0
- package/frontend-vue/dms.frontend.ts +12 -12
- package/frontend-vue/eslint.config.mjs +13 -13
- package/frontend-vue/package.json +11 -4
- package/frontend-vue/pnpm-lock.yaml +298 -96
- package/frontend-vue/tests/backoff.test.ts +26 -30
- package/frontend-vue/tests/channel-client.test.ts +187 -188
- package/frontend-vue/tests/chat/markdown.test.ts +271 -0
- package/frontend-vue/tests/chat/useChatChannel.test.ts +124 -0
- package/frontend-vue/tests/chat/useConversation.test.ts +283 -0
- package/frontend-vue/tests/chat-panel.test.ts +354 -0
- package/frontend-vue/tests/chat-transport.test.ts +84 -57
- package/frontend-vue/tests/host-commands.test.ts +126 -87
- package/frontend-vue/tests/navigation.test.ts +65 -34
- package/frontend-vue/tests/overlay-prefs.test.ts +49 -49
- package/frontend-vue/tests/panel-state.test.ts +58 -0
- package/frontend-vue/tests/session-gate.test.ts +33 -33
- package/frontend-vue/tests/sidecar-guest.test.ts +46 -46
- package/frontend-vue/tests/sidecar-status.test.ts +29 -29
- package/frontend-vue/tsconfig.chat.json +16 -0
- package/frontend-vue/vitest.config.ts +6 -4
- package/package.json +6 -5
- package/sidecar/dist/agent/effective-mode.d.ts +2 -2
- package/sidecar/dist/agent/effective-mode.js +1 -1
- package/sidecar/dist/agent/effective-mode.js.map +1 -1
- package/sidecar/dist/agent/host-context.js +7 -9
- package/sidecar/dist/agent/host-context.js.map +1 -1
- package/sidecar/dist/agent/permission-bus.d.ts +1 -1
- package/sidecar/dist/agent/permission-bus.js +2 -2
- package/sidecar/dist/agent/permission-bus.js.map +1 -1
- package/sidecar/dist/agent/provider.d.ts +2 -2
- package/sidecar/dist/agent/question-bus.d.ts +1 -1
- package/sidecar/dist/agent/question-bus.js +2 -2
- package/sidecar/dist/agent/question-bus.js.map +1 -1
- package/sidecar/dist/agent/runner.d.ts +2 -2
- package/sidecar/dist/agent/runner.js +24 -8
- package/sidecar/dist/agent/runner.js.map +1 -1
- package/sidecar/dist/agent/session.d.ts +2 -2
- package/sidecar/dist/agent/session.js +49 -9
- package/sidecar/dist/agent/session.js.map +1 -1
- package/sidecar/dist/agent/switching-runner.js +10 -5
- package/sidecar/dist/agent/switching-runner.js.map +1 -1
- package/sidecar/dist/agent/turn-end-reasons.d.ts +2 -0
- package/sidecar/dist/agent/turn-end-reasons.js +6 -1
- package/sidecar/dist/agent/turn-end-reasons.js.map +1 -1
- package/sidecar/dist/constants/agent.d.ts +4 -1
- package/sidecar/dist/constants/agent.js +4 -1
- package/sidecar/dist/constants/agent.js.map +1 -1
- package/sidecar/dist/constants/cli.d.ts +0 -1
- package/sidecar/dist/constants/cli.js +0 -1
- package/sidecar/dist/constants/cli.js.map +1 -1
- package/sidecar/dist/constants/codex.d.ts +5 -2
- package/sidecar/dist/constants/codex.js +5 -2
- package/sidecar/dist/constants/codex.js.map +1 -1
- package/sidecar/dist/constants/http.d.ts +0 -9
- package/sidecar/dist/constants/http.js +0 -19
- package/sidecar/dist/constants/http.js.map +1 -1
- package/sidecar/dist/constants/mcp.d.ts +1 -1
- package/sidecar/dist/constants/mcp.js +1 -1
- package/sidecar/dist/constants/mcp.js.map +1 -1
- package/sidecar/dist/constants/paths.d.ts +0 -1
- package/sidecar/dist/constants/paths.js +0 -1
- package/sidecar/dist/constants/paths.js.map +1 -1
- package/sidecar/dist/constants/ws.d.ts +3 -4
- package/sidecar/dist/constants/ws.js +3 -4
- package/sidecar/dist/constants/ws.js.map +1 -1
- package/sidecar/dist/index.d.ts +4 -1
- package/sidecar/dist/index.js +13 -13
- package/sidecar/dist/index.js.map +1 -1
- package/sidecar/dist/mcp/tools/find-pages-using.js +5 -10
- package/sidecar/dist/mcp/tools/find-pages-using.js.map +1 -1
- package/sidecar/dist/mcp/types.d.ts +1 -1
- package/sidecar/dist/pages/page-filepath.d.ts +4 -0
- package/sidecar/dist/pages/page-filepath.js +28 -0
- package/sidecar/dist/pages/page-filepath.js.map +1 -0
- package/sidecar/dist/prompts/agent.d.ts +1 -1
- package/sidecar/dist/prompts/agent.js +1 -1
- package/sidecar/dist/prompts/agent.js.map +1 -1
- package/sidecar/dist/protocol/events.js +2 -2
- package/sidecar/dist/protocol/events.js.map +1 -1
- package/sidecar/dist/protocol/messages.d.ts +4 -15
- package/sidecar/dist/protocol/messages.js +4 -11
- package/sidecar/dist/protocol/messages.js.map +1 -1
- package/sidecar/dist/providers/claude/config.d.ts +2 -2
- package/sidecar/dist/providers/claude/config.js +2 -2
- package/sidecar/dist/providers/claude/config.js.map +1 -1
- package/sidecar/dist/providers/claude/provider.js +1 -1
- package/sidecar/dist/providers/claude/provider.js.map +1 -1
- package/sidecar/dist/providers/codex/config.d.ts +3 -2
- package/sidecar/dist/providers/codex/config.js +3 -3
- package/sidecar/dist/providers/codex/config.js.map +1 -1
- package/sidecar/dist/providers/codex/process.js +107 -74
- package/sidecar/dist/providers/codex/process.js.map +1 -1
- package/sidecar/dist/providers/codex/provider.js +68 -31
- package/sidecar/dist/providers/codex/provider.js.map +1 -1
- package/sidecar/dist/providers/codex/skills.d.ts +1 -0
- package/sidecar/dist/providers/codex/skills.js +4 -1
- package/sidecar/dist/providers/codex/skills.js.map +1 -1
- package/sidecar/dist/providers/codex/stop.d.ts +4 -0
- package/sidecar/dist/providers/codex/stop.js +71 -0
- package/sidecar/dist/providers/codex/stop.js.map +1 -0
- package/sidecar/dist/server/{iframe-socket-registry.d.ts → chat-socket-registry.d.ts} +3 -2
- package/sidecar/dist/server/{iframe-socket-registry.js → chat-socket-registry.js} +4 -3
- package/sidecar/dist/server/chat-socket-registry.js.map +1 -0
- package/sidecar/dist/server/client-auth.js +2 -14
- package/sidecar/dist/server/client-auth.js.map +1 -1
- package/sidecar/dist/server/host-command-router.d.ts +5 -0
- package/sidecar/dist/server/host-command-router.js +4 -0
- package/sidecar/dist/server/host-command-router.js.map +1 -0
- package/sidecar/dist/server/host-socket-registry.d.ts +1 -1
- package/sidecar/dist/server/host-socket-registry.js +16 -13
- package/sidecar/dist/server/host-socket-registry.js.map +1 -1
- package/sidecar/dist/server/http.d.ts +0 -1
- package/sidecar/dist/server/http.js +1 -44
- package/sidecar/dist/server/http.js.map +1 -1
- package/sidecar/dist/server/routing.d.ts +5 -6
- package/sidecar/dist/server/routing.js +18 -28
- package/sidecar/dist/server/routing.js.map +1 -1
- package/sidecar/dist/server/ws.d.ts +2 -2
- package/sidecar/dist/server/ws.js +41 -39
- package/sidecar/dist/server/ws.js.map +1 -1
- package/sidecar/dist/state/host-state.d.ts +10 -2
- package/sidecar/dist/state/host-state.js +13 -3
- package/sidecar/dist/state/host-state.js.map +1 -1
- package/sidecar/dist/state/settings-store.js +2 -2
- package/sidecar/dist/state/settings-store.js.map +1 -1
- package/sidecar/dist/state/settings-types.d.ts +3 -3
- package/sidecar/dist/state/settings-types.js +1 -1
- package/sidecar/dist/state/settings-types.js.map +1 -1
- package/sidecar/package.json +3 -5
- package/dist/chatbox/passthrough.d.ts +0 -3
- package/dist/chatbox/passthrough.js +0 -53
- package/dist/chatbox/passthrough.js.map +0 -1
- package/dist/constants/chatbox.d.ts +0 -10
- package/dist/constants/chatbox.js +0 -35
- package/dist/constants/chatbox.js.map +0 -1
- package/dist/routes/chatbox.d.ts +0 -7
- package/dist/routes/chatbox.js +0 -47
- package/dist/routes/chatbox.js.map +0 -1
- package/frontend-vue/app/runtime/overlay.ts +0 -400
- package/frontend-vue/app/runtime/theme-bridge.ts +0 -189
- package/sidecar/chatbox/dist/assets/index-C8u7mkHn.css +0 -1
- package/sidecar/chatbox/dist/assets/index-tdZvY7ee.js +0 -52
- package/sidecar/chatbox/dist/index.html +0 -13
- package/sidecar/dist/server/iframe-socket-registry.js.map +0 -1
|
@@ -5,21 +5,41 @@ function isDisposed(state) {
|
|
|
5
5
|
return state.disposal !== null;
|
|
6
6
|
}
|
|
7
7
|
const STOPPED_OUTCOME = { type: "done" };
|
|
8
|
+
const SESSION_CLOSED_OUTCOME = {
|
|
9
|
+
type: "error",
|
|
10
|
+
message: TURN_SESSION_CLOSED_MESSAGE,
|
|
11
|
+
};
|
|
8
12
|
function errorOutcome(message) {
|
|
9
13
|
return { type: "error", message };
|
|
10
14
|
}
|
|
15
|
+
function rejectOnAbort(signal) {
|
|
16
|
+
const aborted = new Promise((_resolve, reject) => {
|
|
17
|
+
const rejectWithReason = () => reject(signal.reason);
|
|
18
|
+
if (signal.aborted)
|
|
19
|
+
rejectWithReason();
|
|
20
|
+
signal.addEventListener("abort", rejectWithReason, { once: true });
|
|
21
|
+
});
|
|
22
|
+
aborted.catch(() => undefined);
|
|
23
|
+
return aborted;
|
|
24
|
+
}
|
|
25
|
+
function whenTurnsSettled(state) {
|
|
26
|
+
if (state.activeTurns === 0)
|
|
27
|
+
return Promise.resolve();
|
|
28
|
+
return new Promise((resolve) => state.turnsSettledWaiters.push(resolve));
|
|
29
|
+
}
|
|
11
30
|
function abortWith(state, outcome) {
|
|
12
31
|
if (state.abortOutcome === null)
|
|
13
32
|
state.abortOutcome = outcome;
|
|
14
33
|
state.abortController.abort();
|
|
15
34
|
}
|
|
16
|
-
function disposeSession(state) {
|
|
35
|
+
function disposeSession(state, reason = SESSION_CLOSED_OUTCOME) {
|
|
17
36
|
if (state.disposal !== null)
|
|
18
37
|
return state.disposal;
|
|
19
38
|
clearInterruptFallback(state);
|
|
20
|
-
const
|
|
39
|
+
const released = state.controls.close();
|
|
40
|
+
const disposal = Promise.all([released, whenTurnsSettled(state)]).then(() => undefined);
|
|
21
41
|
state.disposal = disposal;
|
|
22
|
-
abortWith(state,
|
|
42
|
+
abortWith(state, reason);
|
|
23
43
|
state.onDisposed(disposal);
|
|
24
44
|
return disposal;
|
|
25
45
|
}
|
|
@@ -92,12 +112,17 @@ function rearmAfter(timeout, event, outstandingTools) {
|
|
|
92
112
|
if (event.type !== "activity")
|
|
93
113
|
timeout.suspend();
|
|
94
114
|
}
|
|
115
|
+
function nextUnlessAborted(state) {
|
|
116
|
+
const next = state.events.next();
|
|
117
|
+
next.catch(() => undefined);
|
|
118
|
+
return Promise.race([next, state.aborted]);
|
|
119
|
+
}
|
|
95
120
|
async function* readTurn(state, timeout) {
|
|
96
121
|
let outstandingTools = 0;
|
|
97
122
|
while (true) {
|
|
98
123
|
let result;
|
|
99
124
|
try {
|
|
100
|
-
result = await state
|
|
125
|
+
result = await nextUnlessAborted(state);
|
|
101
126
|
}
|
|
102
127
|
catch (err) {
|
|
103
128
|
yield buildErrorEvent(state, err);
|
|
@@ -117,18 +142,31 @@ async function* readTurn(state, timeout) {
|
|
|
117
142
|
return;
|
|
118
143
|
}
|
|
119
144
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
state.
|
|
145
|
+
function settleTurns(state) {
|
|
146
|
+
clearInterruptFallback(state);
|
|
147
|
+
const waiters = state.turnsSettledWaiters.splice(0);
|
|
148
|
+
for (const resolve of waiters)
|
|
149
|
+
resolve();
|
|
150
|
+
}
|
|
151
|
+
async function* readArmedTurn(state, timeoutMs) {
|
|
123
152
|
const timeout = armTurnTimeout(state, timeoutMs);
|
|
124
153
|
try {
|
|
125
154
|
yield* readTurn(state, timeout);
|
|
126
155
|
}
|
|
127
156
|
finally {
|
|
128
157
|
timeout.clear();
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
async function* runTurn(state, input, timeoutMs) {
|
|
161
|
+
state.activeTurns += 1;
|
|
162
|
+
try {
|
|
163
|
+
await state.controls.submitTurn(input);
|
|
164
|
+
yield* readArmedTurn(state, timeoutMs);
|
|
165
|
+
}
|
|
166
|
+
finally {
|
|
129
167
|
state.activeTurns -= 1;
|
|
130
168
|
if (state.activeTurns === 0)
|
|
131
|
-
|
|
169
|
+
settleTurns(state);
|
|
132
170
|
}
|
|
133
171
|
}
|
|
134
172
|
async function* chainTurn(state, input, timeoutMs, previous, release) {
|
|
@@ -156,12 +194,14 @@ export function createAgentSession(deps) {
|
|
|
156
194
|
activeTurns: 0,
|
|
157
195
|
interruptTimer: null,
|
|
158
196
|
abortOutcome: null,
|
|
197
|
+
aborted: rejectOnAbort(deps.abortController.signal),
|
|
198
|
+
turnsSettledWaiters: [],
|
|
159
199
|
};
|
|
160
200
|
return {
|
|
161
201
|
sendTurn: (input, timeoutMs) => sendTurn(state, input, timeoutMs),
|
|
162
202
|
applySettings: (settings) => applySettings(state, settings),
|
|
163
203
|
interrupt: () => interrupt(state),
|
|
164
|
-
dispose: () => disposeSession(state),
|
|
204
|
+
dispose: (reason) => disposeSession(state, reason),
|
|
165
205
|
};
|
|
166
206
|
}
|
|
167
207
|
//# sourceMappingURL=session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAI/D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RUNNER_CLOSED_MESSAGE } from "../constants/agent.js";
|
|
1
2
|
import { PROVIDER_LABEL_TOKEN, PROVIDER_LABELS, PROVIDER_SWITCH_LOG, PROVIDER_UNAVAILABLE_ERROR, } from "../constants/providers.js";
|
|
2
3
|
import { providerUnavailableReason } from "../providers/registry.js";
|
|
3
4
|
import { createDisposalTracker } from "./disposals.js";
|
|
@@ -6,6 +7,8 @@ function unavailableError(name, reason) {
|
|
|
6
7
|
return new Error(`${prefix} ${reason}`);
|
|
7
8
|
}
|
|
8
9
|
function activate(state) {
|
|
10
|
+
if (state.isClosed)
|
|
11
|
+
throw new Error(RUNNER_CLOSED_MESSAGE);
|
|
9
12
|
if (state.active !== null)
|
|
10
13
|
return state.active.runner;
|
|
11
14
|
const name = state.settings.provider;
|
|
@@ -16,11 +19,11 @@ function activate(state) {
|
|
|
16
19
|
state.active = { name, runner };
|
|
17
20
|
return runner;
|
|
18
21
|
}
|
|
19
|
-
function retire(state) {
|
|
22
|
+
function retire(state, reason) {
|
|
20
23
|
const previous = state.active;
|
|
21
24
|
state.active = null;
|
|
22
25
|
if (previous !== null)
|
|
23
|
-
state.retiring.track(previous.runner.dispose());
|
|
26
|
+
state.retiring.track(previous.runner.dispose(reason));
|
|
24
27
|
return previous;
|
|
25
28
|
}
|
|
26
29
|
function switchProvider(state, next) {
|
|
@@ -29,8 +32,9 @@ function switchProvider(state, next) {
|
|
|
29
32
|
return;
|
|
30
33
|
console.log(`${PROVIDER_SWITCH_LOG} ${previous.name} -> ${next}`);
|
|
31
34
|
}
|
|
32
|
-
function retireActive(state) {
|
|
33
|
-
|
|
35
|
+
function retireActive(state, reason) {
|
|
36
|
+
state.isClosed = true;
|
|
37
|
+
retire(state, reason);
|
|
34
38
|
return state.retiring.settle();
|
|
35
39
|
}
|
|
36
40
|
function applySettings(state, settings) {
|
|
@@ -48,13 +52,14 @@ export function createSwitchingRunner(build, settings, unavailableReason = provi
|
|
|
48
52
|
settings,
|
|
49
53
|
active: null,
|
|
50
54
|
retiring: createDisposalTracker(),
|
|
55
|
+
isClosed: false,
|
|
51
56
|
};
|
|
52
57
|
return {
|
|
53
58
|
start: (message, ctx) => activate(state).start(message, ctx),
|
|
54
59
|
interruptSession: (conversationId) => state.active?.runner.interruptSession(conversationId),
|
|
55
60
|
disposeSession: (conversationId) => state.active?.runner.disposeSession(conversationId) ?? Promise.resolve(),
|
|
56
61
|
applySettings: (next) => applySettings(state, next),
|
|
57
|
-
dispose: () => retireActive(state),
|
|
62
|
+
dispose: (reason) => retireActive(state, reason),
|
|
58
63
|
};
|
|
59
64
|
}
|
|
60
65
|
//# sourceMappingURL=switching-runner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switching-runner.js","sourceRoot":"","sources":["../../src/agent/switching-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,0BAA0B,GAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAGrE,OAAO,EAAE,qBAAqB,EAAwB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"switching-runner.js","sourceRoot":"","sources":["../../src/agent/switching-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { RunnerError } from "./runner-events.js";
|
|
1
2
|
export declare function formatDuration(ms: number): string;
|
|
3
|
+
export declare const TURN_RESTARTED_REASON: RunnerError;
|
|
2
4
|
export declare function idleTimeoutReason(windowMs: number): string;
|
|
3
5
|
export declare function toolCapReason(windowMs: number): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DURATION_TOKEN, TURN_IDLE_TIMEOUT_MESSAGE, TURN_TOOL_CAP_MESSAGE, } from "../constants/agent.js";
|
|
1
|
+
import { DURATION_TOKEN, TURN_IDLE_TIMEOUT_MESSAGE, TURN_RESTARTED_MESSAGE, TURN_TOOL_CAP_MESSAGE, } from "../constants/agent.js";
|
|
2
2
|
const MS_PER_SECOND = 1_000;
|
|
3
3
|
const SECONDS_PER_MINUTE = 60;
|
|
4
4
|
const MIN_WHOLE_SECONDS = 1;
|
|
@@ -15,6 +15,11 @@ export function formatDuration(ms) {
|
|
|
15
15
|
const minutes = Math.round(seconds / SECONDS_PER_MINUTE);
|
|
16
16
|
return countOf(minutes, DURATION_UNITS.MINUTE);
|
|
17
17
|
}
|
|
18
|
+
export const TURN_RESTARTED_REASON = {
|
|
19
|
+
type: "error",
|
|
20
|
+
message: TURN_RESTARTED_MESSAGE,
|
|
21
|
+
isRetryable: true,
|
|
22
|
+
};
|
|
18
23
|
export function idleTimeoutReason(windowMs) {
|
|
19
24
|
return TURN_IDLE_TIMEOUT_MESSAGE.replace(DURATION_TOKEN, formatDuration(windowMs));
|
|
20
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-end-reasons.js","sourceRoot":"","sources":["../../src/agent/turn-end-reasons.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"turn-end-reasons.js","sourceRoot":"","sources":["../../src/agent/turn-end-reasons.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,cAAc,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAW,CAAC;AACvE,MAAM,aAAa,GAAG,GAAG,CAAC;AAE1B,SAAS,OAAO,CAAC,KAAa,EAAE,IAAY;IAC1C,OAAO,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;AAC/D,CAAC;AAGD,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;IAC5E,IAAI,OAAO,GAAG,kBAAkB,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;AACjD,CAAC;AAMD,MAAM,CAAC,MAAM,qBAAqB,GAAgB;IAChD,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,IAAI;CAClB,CAAC;AAGF,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,OAAO,yBAAyB,CAAC,OAAO,CACtC,cAAc,EACd,cAAc,CAAC,QAAQ,CAAC,CACzB,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,aAAa,CAAC,QAAgB;IAC5C,OAAO,qBAAqB,CAAC,OAAO,CAClC,cAAc,EACd,cAAc,CAAC,QAAQ,CAAC,CACzB,CAAC;AACJ,CAAC"}
|
|
@@ -3,7 +3,9 @@ export declare const DURATION_TOKEN = "{{duration}}";
|
|
|
3
3
|
export declare const TURN_IDLE_TIMEOUT_MESSAGE = "The agent reported no activity for {{duration}}, so the run was stopped.";
|
|
4
4
|
export declare const TURN_TOOL_CAP_MESSAGE = "A tool was still running after {{duration}}, so the run was stopped.";
|
|
5
5
|
export declare const TURN_STREAM_ENDED_MESSAGE = "The agent stopped before finishing its answer: its process ended unexpectedly.";
|
|
6
|
-
export declare const TURN_SESSION_CLOSED_MESSAGE = "The run was stopped because the assistant session was closed (
|
|
6
|
+
export declare const TURN_SESSION_CLOSED_MESSAGE = "The run was stopped because the assistant session was closed (provider switch or deleted conversation).";
|
|
7
|
+
export declare const TURN_RESTARTED_MESSAGE = "The assistant restarted before finishing.";
|
|
8
|
+
export declare const RUNNER_CLOSED_MESSAGE = "The assistant is shutting down: send the message again once it is back.";
|
|
7
9
|
export declare const ACTIVITY_KINDS: readonly ["thinking", "responding", "writing", "tool", "compacting", "retrying"];
|
|
8
10
|
export declare const INTERRUPT_FALLBACK_MS = 4000;
|
|
9
11
|
export declare const SYSTEM_PROMPT_PLACEHOLDER_UNKNOWN = "unknown";
|
|
@@ -18,3 +20,4 @@ export declare const HOST_CONTEXT_PAGE_LABEL = "page: ";
|
|
|
18
20
|
export declare const HOST_CONTEXT_FILE_LABEL = "file: ";
|
|
19
21
|
export declare const HOST_CONTEXT_TITLE_LABEL = "title: ";
|
|
20
22
|
export declare const HOST_CONTEXT_MODE_LABEL = "mode: ";
|
|
23
|
+
export declare const HOST_CONTEXT_UNKNOWN_VALUE = "unknown";
|
|
@@ -3,7 +3,9 @@ export const DURATION_TOKEN = "{{duration}}";
|
|
|
3
3
|
export const TURN_IDLE_TIMEOUT_MESSAGE = `The agent reported no activity for ${DURATION_TOKEN}, so the run was stopped.`;
|
|
4
4
|
export const TURN_TOOL_CAP_MESSAGE = `A tool was still running after ${DURATION_TOKEN}, so the run was stopped.`;
|
|
5
5
|
export const TURN_STREAM_ENDED_MESSAGE = "The agent stopped before finishing its answer: its process ended unexpectedly.";
|
|
6
|
-
export const TURN_SESSION_CLOSED_MESSAGE = "The run was stopped because the assistant session was closed (
|
|
6
|
+
export const TURN_SESSION_CLOSED_MESSAGE = "The run was stopped because the assistant session was closed (provider switch or deleted conversation).";
|
|
7
|
+
export const TURN_RESTARTED_MESSAGE = "The assistant restarted before finishing.";
|
|
8
|
+
export const RUNNER_CLOSED_MESSAGE = "The assistant is shutting down: send the message again once it is back.";
|
|
7
9
|
export const ACTIVITY_KINDS = [
|
|
8
10
|
"thinking",
|
|
9
11
|
"responding",
|
|
@@ -25,4 +27,5 @@ export const HOST_CONTEXT_PAGE_LABEL = "page: ";
|
|
|
25
27
|
export const HOST_CONTEXT_FILE_LABEL = "file: ";
|
|
26
28
|
export const HOST_CONTEXT_TITLE_LABEL = "title: ";
|
|
27
29
|
export const HOST_CONTEXT_MODE_LABEL = "mode: ";
|
|
30
|
+
export const HOST_CONTEXT_UNKNOWN_VALUE = "unknown";
|
|
28
31
|
//# sourceMappingURL=agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/constants/agent.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,MAAM,CAAC;AAG/C,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC;AAG7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,sCAAsC,cAAc,2BAA2B,CAAC;AAGzH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kCAAkC,cAAc,2BAA2B,CAAC;AAGjH,MAAM,CAAC,MAAM,yBAAyB,GACpC,gFAAgF,CAAC;AAGnF,MAAM,CAAC,MAAM,2BAA2B,GACtC,
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/constants/agent.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAG,MAAM,CAAC;AAG/C,MAAM,CAAC,MAAM,cAAc,GAAG,cAAc,CAAC;AAG7C,MAAM,CAAC,MAAM,yBAAyB,GAAG,sCAAsC,cAAc,2BAA2B,CAAC;AAGzH,MAAM,CAAC,MAAM,qBAAqB,GAAG,kCAAkC,cAAc,2BAA2B,CAAC;AAGjH,MAAM,CAAC,MAAM,yBAAyB,GACpC,gFAAgF,CAAC;AAGnF,MAAM,CAAC,MAAM,2BAA2B,GACtC,yGAAyG,CAAC;AAG5G,MAAM,CAAC,MAAM,sBAAsB,GACjC,2CAA2C,CAAC;AAG9C,MAAM,CAAC,MAAM,qBAAqB,GAChC,yEAAyE,CAAC;AAO5E,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU;IACV,YAAY;IACZ,SAAS;IACT,MAAM;IACN,YAAY;IACZ,UAAU;CACF,CAAC;AAIX,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C,MAAM,CAAC,MAAM,iCAAiC,GAAG,SAAS,CAAC;AAC3D,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC;AACjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AACpD,MAAM,CAAC,MAAM,wBAAwB,GAAG,UAAU,CAAC;AACnD,MAAM,CAAC,MAAM,6BAA6B,GAAG,qBAAqB,CAAC;AACnE,MAAM,CAAC,MAAM,2BAA2B,GAAG,qBAAqB,CAAC;AAOjE,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAChD,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAChD,MAAM,CAAC,MAAM,0BAA0B,GAAG,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/constants/cli.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/constants/cli.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ActivityKind } from "../agent/runner-events.js";
|
|
2
|
-
export declare const SAFE_MODE_SKILL_NAME = "
|
|
2
|
+
export declare const SAFE_MODE_SKILL_NAME = "dms-builder-safe";
|
|
3
|
+
export declare const SAFE_MODE_SKILL_MISSING_WARNING = "the dms-builder-safe skill is missing from the Codex skill index; safe-mode turns will fail on this session";
|
|
4
|
+
export declare const SAFE_MODE_SKILL_MISSING_MESSAGE = "[dms-ai] safe mode needs the dms-builder-safe skill, which is missing from the Codex skill index. Switch to Vibe mode, or check that dms-builder ships its skills.";
|
|
3
5
|
export declare const CODEX_OWNED_SKILL_SCOPES: string[];
|
|
4
6
|
export declare const CODEX_CLI_PACKAGE = "@openai/codex";
|
|
5
7
|
export declare const CODEX_VENDOR_DIR = "vendor";
|
|
@@ -21,7 +23,7 @@ export declare const CODEX_CONFIG_FILE_NAME = "config.toml";
|
|
|
21
23
|
export declare const CODEX_AUTH_MODE_API_KEY = "apikey";
|
|
22
24
|
export declare const CODEX_AUTH_FILE_MODE = 384;
|
|
23
25
|
export declare const OPENAI_API_KEY_ENV_VAR = "OPENAI_API_KEY";
|
|
24
|
-
export declare const CODEX_CLIENT_NAME = "
|
|
26
|
+
export declare const CODEX_CLIENT_NAME = "antelopejs_dms_ai";
|
|
25
27
|
export declare const CODEX_STRICT_CONFIG_FLAG = "--strict-config";
|
|
26
28
|
export declare const CODEX_APP_SERVER_COMMAND = "app-server";
|
|
27
29
|
export declare const JSONRPC_VERSION = "2.0";
|
|
@@ -37,6 +39,7 @@ export declare const CODEX_STDERR_TAIL_BYTES = 2000;
|
|
|
37
39
|
export declare const CODEX_PID_REGISTRY_FILE = "codex-pids.json";
|
|
38
40
|
export declare const CODEX_TERMINATE_GRACE_MS = 2000;
|
|
39
41
|
export declare const CODEX_KILL_GRACE_MS = 2000;
|
|
42
|
+
export declare const CODEX_ORPHAN_POLL_MS = 50;
|
|
40
43
|
export declare const CODEX_SURVIVED_STOP_MESSAGE = "app-server outlived its termination, left for the next start to reap:";
|
|
41
44
|
export declare const CODEX_PID_RELEASE_FAILED_MESSAGE = "could not unregister pid";
|
|
42
45
|
export declare const CODEX_HOME_REMOVAL_FAILED_MESSAGE = "could not remove the app-server's home";
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { MCP_SERVER_KEY } from "./mcp.js";
|
|
2
|
-
export const SAFE_MODE_SKILL_NAME = "
|
|
2
|
+
export const SAFE_MODE_SKILL_NAME = "dms-builder-safe";
|
|
3
|
+
export const SAFE_MODE_SKILL_MISSING_WARNING = `the ${SAFE_MODE_SKILL_NAME} skill is missing from the Codex skill index; safe-mode turns will fail on this session`;
|
|
4
|
+
export const SAFE_MODE_SKILL_MISSING_MESSAGE = `[dms-ai] safe mode needs the ${SAFE_MODE_SKILL_NAME} skill, which is missing from the Codex skill index. Switch to Vibe mode, or check that dms-builder ships its skills.`;
|
|
3
5
|
export const CODEX_OWNED_SKILL_SCOPES = ["system", "admin"];
|
|
4
6
|
export const CODEX_CLI_PACKAGE = "@openai/codex";
|
|
5
7
|
export const CODEX_VENDOR_DIR = "vendor";
|
|
@@ -35,7 +37,7 @@ export const CODEX_CONFIG_FILE_NAME = "config.toml";
|
|
|
35
37
|
export const CODEX_AUTH_MODE_API_KEY = "apikey";
|
|
36
38
|
export const CODEX_AUTH_FILE_MODE = 0o600;
|
|
37
39
|
export const OPENAI_API_KEY_ENV_VAR = "OPENAI_API_KEY";
|
|
38
|
-
export const CODEX_CLIENT_NAME = "
|
|
40
|
+
export const CODEX_CLIENT_NAME = "antelopejs_dms_ai";
|
|
39
41
|
export const CODEX_STRICT_CONFIG_FLAG = "--strict-config";
|
|
40
42
|
export const CODEX_APP_SERVER_COMMAND = "app-server";
|
|
41
43
|
export const JSONRPC_VERSION = "2.0";
|
|
@@ -51,6 +53,7 @@ export const CODEX_STDERR_TAIL_BYTES = 2000;
|
|
|
51
53
|
export const CODEX_PID_REGISTRY_FILE = "codex-pids.json";
|
|
52
54
|
export const CODEX_TERMINATE_GRACE_MS = 2000;
|
|
53
55
|
export const CODEX_KILL_GRACE_MS = 2000;
|
|
56
|
+
export const CODEX_ORPHAN_POLL_MS = 50;
|
|
54
57
|
export const CODEX_SURVIVED_STOP_MESSAGE = "app-server outlived its termination, left for the next start to reap:";
|
|
55
58
|
export const CODEX_PID_RELEASE_FAILED_MESSAGE = "could not unregister pid";
|
|
56
59
|
export const CODEX_HOME_REMOVAL_FAILED_MESSAGE = "could not remove the app-server's home";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/constants/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/constants/codex.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,13 +9,4 @@ export declare const HTTP_STATUS: {
|
|
|
9
9
|
export declare const CONTENT_TYPE: {
|
|
10
10
|
readonly JSON: "application/json; charset=utf-8";
|
|
11
11
|
readonly TEXT: "text/plain; charset=utf-8";
|
|
12
|
-
readonly HTML: "text/html; charset=utf-8";
|
|
13
|
-
readonly CSS: "text/css; charset=utf-8";
|
|
14
|
-
readonly JS: "application/javascript; charset=utf-8";
|
|
15
|
-
readonly SVG: "image/svg+xml";
|
|
16
|
-
readonly PNG: "image/png";
|
|
17
|
-
readonly ICO: "image/x-icon";
|
|
18
|
-
readonly WOFF2: "font/woff2";
|
|
19
|
-
readonly OCTET: "application/octet-stream";
|
|
20
12
|
};
|
|
21
|
-
export declare const MIME_BY_EXT: Record<string, string>;
|
|
@@ -9,24 +9,5 @@ export const HTTP_STATUS = {
|
|
|
9
9
|
export const CONTENT_TYPE = {
|
|
10
10
|
JSON: "application/json; charset=utf-8",
|
|
11
11
|
TEXT: "text/plain; charset=utf-8",
|
|
12
|
-
HTML: "text/html; charset=utf-8",
|
|
13
|
-
CSS: "text/css; charset=utf-8",
|
|
14
|
-
JS: "application/javascript; charset=utf-8",
|
|
15
|
-
SVG: "image/svg+xml",
|
|
16
|
-
PNG: "image/png",
|
|
17
|
-
ICO: "image/x-icon",
|
|
18
|
-
WOFF2: "font/woff2",
|
|
19
|
-
OCTET: "application/octet-stream",
|
|
20
|
-
};
|
|
21
|
-
export const MIME_BY_EXT = {
|
|
22
|
-
".html": CONTENT_TYPE.HTML,
|
|
23
|
-
".js": CONTENT_TYPE.JS,
|
|
24
|
-
".mjs": CONTENT_TYPE.JS,
|
|
25
|
-
".css": CONTENT_TYPE.CSS,
|
|
26
|
-
".json": CONTENT_TYPE.JSON,
|
|
27
|
-
".svg": CONTENT_TYPE.SVG,
|
|
28
|
-
".png": CONTENT_TYPE.PNG,
|
|
29
|
-
".ico": CONTENT_TYPE.ICO,
|
|
30
|
-
".woff2": CONTENT_TYPE.WOFF2,
|
|
31
12
|
};
|
|
32
13
|
//# sourceMappingURL=http.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/constants/http.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,GAAG;IACP,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,YAAY,EAAE,GAAG;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,iCAAiC;IACvC,IAAI,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/constants/http.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,EAAE,EAAE,GAAG;IACP,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,YAAY,EAAE,GAAG;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,iCAAiC;IACvC,IAAI,EAAE,2BAA2B;CACzB,CAAC"}
|
|
@@ -4,7 +4,7 @@ export declare const MCP_SERVER_KEY = "dms-ai";
|
|
|
4
4
|
export declare const MCP_SERVER_TYPE_SDK: "sdk";
|
|
5
5
|
export declare const MCP_TOOL_NAME_PREFIX = "mcp__dms-ai__";
|
|
6
6
|
export declare const GET_CURRENT_PAGE_TOOL_NAME = "GetCurrentPage";
|
|
7
|
-
export declare const GET_CURRENT_PAGE_TOOL_DESCRIPTION = "Returns the
|
|
7
|
+
export declare const GET_CURRENT_PAGE_TOOL_DESCRIPTION = "Returns the route and, when known, the title and source file of the page currently displayed in the host browser.";
|
|
8
8
|
export declare const NAVIGATE_TOOL_NAME = "NavigateToPage";
|
|
9
9
|
export declare const NAVIGATE_TOOL_DESCRIPTION = "Navigates the host browser to the given path using the host router. Awaits a host navigation-complete confirmation (with a short timeout fallback). Call GetCurrentPage to verify if needed.";
|
|
10
10
|
export declare const NAVIGATE_RESULT_PREFIX = "Navigation requested to ";
|
|
@@ -8,7 +8,7 @@ export const MCP_SERVER_KEY = "dms-ai";
|
|
|
8
8
|
export const MCP_SERVER_TYPE_SDK = "sdk";
|
|
9
9
|
export const MCP_TOOL_NAME_PREFIX = `mcp__${MCP_SERVER_KEY}__`;
|
|
10
10
|
export const GET_CURRENT_PAGE_TOOL_NAME = "GetCurrentPage";
|
|
11
|
-
export const GET_CURRENT_PAGE_TOOL_DESCRIPTION = "Returns the
|
|
11
|
+
export const GET_CURRENT_PAGE_TOOL_DESCRIPTION = "Returns the route and, when known, the title and source file of the page currently displayed in the host browser.";
|
|
12
12
|
export const NAVIGATE_TOOL_NAME = "NavigateToPage";
|
|
13
13
|
export const NAVIGATE_TOOL_DESCRIPTION = "Navigates the host browser to the given path using the host router. Awaits a host navigation-complete confirmation (with a short timeout fallback). Call GetCurrentPage to verify if needed.";
|
|
14
14
|
export const NAVIGATE_RESULT_PREFIX = "Navigation requested to ";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/constants/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAc,CAAC;AAGlD,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,cAAc,IAAI,CAAC;AAE/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAC3D,MAAM,CAAC,MAAM,iCAAiC,GAC5C,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/constants/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAc,CAAC;AAGlD,MAAM,CAAC,MAAM,oBAAoB,GAAG,QAAQ,cAAc,IAAI,CAAC;AAE/D,MAAM,CAAC,MAAM,0BAA0B,GAAG,gBAAgB,CAAC;AAC3D,MAAM,CAAC,MAAM,iCAAiC,GAC5C,mHAAmH,CAAC;AAEtH,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC;AACnD,MAAM,CAAC,MAAM,yBAAyB,GACpC,8LAA8L,CAAC;AACjM,MAAM,CAAC,MAAM,sBAAsB,GAAG,0BAA0B,CAAC;AACjE,MAAM,CAAC,MAAM,gCAAgC,GAAG,cAAc,CAAC;AAC/D,MAAM,CAAC,MAAM,8BAA8B,GACzC,uCAAuC,CAAC;AAG1C,MAAM,CAAC,MAAM,6BAA6B,GAAG,2BAA2B,CAAC;AAIzE,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAC;AAClE,MAAM,CAAC,MAAM,6BAA6B,GACxC,yDAAyD,CAAC;AAC5D,MAAM,CAAC,MAAM,2BAA2B,GACtC,0DAA0D,CAAC;AAE7D,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAC5C,MAAM,CAAC,MAAM,yBAAyB,GACpC,4UAA4U,CAAC;AAC/U,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC;AACvD,MAAM,CAAC,MAAM,yBAAyB,GACpC,oEAAoE,CAAC;AAMvE,MAAM,CAAC,MAAM,mCAAmC,GAAG,iBAAiB,CAAC;AACrE,MAAM,CAAC,MAAM,kCAAkC,GAAG,kDAAkD,oBAAoB,GAAG,kBAAkB,0DAA0D,CAAC;AAQxM,MAAM,CAAC,MAAM,iCAAiC,GAAwB,IAAI,GAAG,CAC3E;IACE,0BAA0B;IAC1B,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,GAAG,kBAAkB;CACtB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,oBAAoB,GAAG,IAAI,EAAE,CAAC,CAClD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAEpC,MAAM,CAAC,MAAM,qBAAqB,GAAG,0BAA0B,aAAa,EAAE,CAAC;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC;AACxD,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAG3C,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW;IACX,WAAW;IACX,KAAK;IACL,OAAO;CACR,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { dirname, resolve } from "node:path";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
3
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
4
|
-
export const CHATBOX_DIST_DIR = resolve(here, "../../chatbox/dist");
|
|
5
4
|
export const SIDECAR_PACKAGE_JSON = resolve(here, "../../package.json");
|
|
6
5
|
export const STATE_DIR_SEGMENTS = ["node_modules", ".cache", "dms-ai"];
|
|
7
6
|
export const SEGMENT_UNSAFE_CHARS = /[^\w-]+/g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/constants/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/constants/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAErD,MAAM,CAAC,MAAM,oBAAoB,GAAG,OAAO,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AAMhF,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,sBAAsB,GAAG,cAAc,CAAC;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC;AAC/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
readonly IFRAME: "/ws/iframe";
|
|
3
|
-
readonly HOST: "/ws/host";
|
|
4
|
-
};
|
|
1
|
+
export declare const WS_PATH = "/ws";
|
|
5
2
|
export declare const WS_LOG_PREFIX = "[ws]";
|
|
3
|
+
export declare const WS_GOING_AWAY_CODE = 1001;
|
|
4
|
+
export declare const WS_CLIENT_CLOSE_GRACE_MS = 1000;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export const
|
|
2
|
-
IFRAME: "/ws/iframe",
|
|
3
|
-
HOST: "/ws/host",
|
|
4
|
-
};
|
|
1
|
+
export const WS_PATH = "/ws";
|
|
5
2
|
export const WS_LOG_PREFIX = "[ws]";
|
|
3
|
+
export const WS_GOING_AWAY_CODE = 1001;
|
|
4
|
+
export const WS_CLIENT_CLOSE_GRACE_MS = 1_000;
|
|
6
5
|
//# sourceMappingURL=ws.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../../src/constants/ws.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../../src/constants/ws.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC;AAE7B,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAGpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC"}
|
package/sidecar/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import type { SkillSource } from "./skills/types.js";
|
|
|
3
3
|
export interface ParsedArgs {
|
|
4
4
|
port: number;
|
|
5
5
|
root: string;
|
|
6
|
-
hostOrigin: string;
|
|
7
6
|
backendUrl: string;
|
|
8
7
|
buildId: string;
|
|
9
8
|
moduleRoots: string[];
|
|
@@ -12,3 +11,7 @@ export interface ParsedArgs {
|
|
|
12
11
|
}
|
|
13
12
|
export declare function parseSkillDirs(value: string): SkillSource[];
|
|
14
13
|
export declare function parseArgs(argv: readonly string[]): ParsedArgs;
|
|
14
|
+
export interface ShutdownSignalSource {
|
|
15
|
+
on(signal: NodeJS.Signals, listener: () => void): unknown;
|
|
16
|
+
}
|
|
17
|
+
export declare function installSignalShutdown(run: () => void, source?: ShutdownSignalSource): void;
|