@antelopejs/dms-ai 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -7
- package/dist/lifecycle/skill-sources.js +17 -17
- package/dist/lifecycle/skill-sources.js.map +1 -1
- package/dist/pages/settings/availability.js.map +1 -1
- package/dist/pages/settings/sections.js +10 -0
- package/dist/pages/settings/sections.js.map +1 -1
- package/dist/routes/builder.d.ts +7 -1
- package/dist/routes/builder.js +3 -0
- package/dist/routes/builder.js.map +1 -1
- package/dist/routes/changes.d.ts +5 -4
- package/dist/routes/changes.js.map +1 -1
- package/dist/routes/codex-account.d.ts +3 -2
- package/dist/routes/codex-account.js.map +1 -1
- package/dist/routes/sidecar-results.d.ts +2 -2
- package/dist/routes/sidecar-results.js.map +1 -1
- package/dist/routes/status.js.map +1 -1
- package/dist/sidecar/http-client.js +3 -1
- package/dist/sidecar/http-client.js.map +1 -1
- package/dist/sidecar/index.d.ts +1 -0
- package/dist/sidecar/index.js +1 -0
- package/dist/sidecar/index.js.map +1 -1
- package/dist/sidecar/json-body.d.ts +4 -0
- package/dist/sidecar/json-body.js +33 -0
- package/dist/sidecar/json-body.js.map +1 -0
- package/dist/sidecar/settings-values.d.ts +5 -2
- package/dist/sidecar/settings-values.js.map +1 -1
- package/dist/vocabulary/tools.js +3 -0
- package/dist/vocabulary/tools.js.map +1 -1
- package/frontend-vue/app/chat/components/ChatView.vue +38 -37
- package/frontend-vue/app/chat/components/NoticeCard.vue +16 -0
- package/frontend-vue/app/chat/components/PanelHeader.vue +2 -6
- package/frontend-vue/app/chat/composables/conversation-events.ts +4 -0
- package/frontend-vue/app/chat/composables/useConversation.ts +6 -0
- package/frontend-vue/app/chat/types/protocol.ts +9 -1
- package/frontend-vue/app/chat/utils/status-label.ts +50 -0
- package/frontend-vue/app/chat/utils/tool-lexicon.ts +16 -0
- package/frontend-vue/app/components/SkillDetail.vue +1 -1
- package/frontend-vue/app/plugins/ai.client.ts +2 -2
- package/frontend-vue/app/runtime/assistant-actions.ts +4 -2
- package/frontend-vue/app/runtime/assistant-session.ts +5 -1
- package/frontend-vue/app/runtime/block-health.ts +135 -0
- package/frontend-vue/app/runtime/constants.ts +1 -0
- package/frontend-vue/app/runtime/navigation-complete.ts +47 -6
- package/frontend-vue/app/runtime/panel-intents.ts +6 -2
- package/frontend-vue/app/views/ChangeSetPanel.vue +1 -1
- package/frontend-vue/app/views/composables/useAiData.ts +10 -18
- package/frontend-vue/app/views/composables/useChangeSetActions.ts +5 -15
- package/frontend-vue/app/views/constants.ts +1 -1
- package/frontend-vue/app/views/types.ts +1 -1
- package/frontend-vue/build/backend-boundary.ts +54 -21
- package/frontend-vue/i18n/locales/dms-ai-pages-en-GB.json +7 -0
- package/frontend-vue/i18n/locales/dms-ai-pages-fr-FR.json +7 -0
- package/frontend-vue/i18n/locales/dms-ai-panel-en-GB.json +6 -1
- package/frontend-vue/i18n/locales/dms-ai-panel-fr-FR.json +6 -1
- package/frontend-vue/tests/assistant-actions.test.ts +37 -0
- package/frontend-vue/tests/block-health.test.ts +142 -0
- package/frontend-vue/tests/chat/conversation-events.test.ts +34 -0
- package/frontend-vue/tests/chat/tool-lexicon.test.ts +1 -0
- package/frontend-vue/tests/navigation.test.ts +67 -2
- package/frontend-vue/tests/support/api-error-presenter.ts +28 -0
- package/frontend-vue/tests/support/panel-harness.ts +2 -2
- package/frontend-vue/tests/views/api-data-reads.test.ts +2 -0
- package/frontend-vue/tests/views/api-error-presentation.test.ts +89 -0
- package/package.json +7 -6
- package/sidecar/dist/agent/provider.d.ts +5 -0
- package/sidecar/dist/agent/runner.d.ts +5 -0
- package/sidecar/dist/agent/runner.js +2 -0
- package/sidecar/dist/agent/runner.js.map +1 -1
- package/sidecar/dist/builder/builder-client.js +2 -2
- package/sidecar/dist/builder/builder-client.js.map +1 -1
- package/sidecar/dist/constants/builder.d.ts +2 -1
- package/sidecar/dist/constants/builder.js +12 -0
- package/sidecar/dist/constants/builder.js.map +1 -1
- package/sidecar/dist/constants/claude.d.ts +2 -0
- package/sidecar/dist/constants/claude.js +2 -0
- package/sidecar/dist/constants/claude.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/native-binary.d.ts +5 -2
- package/sidecar/dist/constants/native-binary.js +5 -2
- package/sidecar/dist/constants/native-binary.js.map +1 -1
- package/sidecar/dist/constants/settings.d.ts +1 -0
- package/sidecar/dist/constants/settings.js +2 -0
- package/sidecar/dist/constants/settings.js.map +1 -1
- package/sidecar/dist/constants/timing.d.ts +1 -0
- package/sidecar/dist/constants/timing.js +1 -0
- package/sidecar/dist/constants/timing.js.map +1 -1
- package/sidecar/dist/constants/tool-kinds.js +1 -0
- package/sidecar/dist/constants/tool-kinds.js.map +1 -1
- package/sidecar/dist/logs/logs-client.js +2 -1
- package/sidecar/dist/logs/logs-client.js.map +1 -1
- package/sidecar/dist/logs/types.d.ts +2 -1
- package/sidecar/dist/mcp/define-tool.d.ts +1 -1
- package/sidecar/dist/mcp/define-tool.js.map +1 -1
- package/sidecar/dist/mcp/tools/builder-compose.d.ts +51 -0
- package/sidecar/dist/mcp/tools/builder-compose.js +96 -0
- package/sidecar/dist/mcp/tools/builder-compose.js.map +1 -0
- package/sidecar/dist/mcp/tools/builder-expr.d.ts +5 -0
- package/sidecar/dist/mcp/tools/builder-expr.js +25 -0
- package/sidecar/dist/mcp/tools/builder-expr.js.map +1 -0
- package/sidecar/dist/mcp/tools/builder-gate.js +2 -2
- package/sidecar/dist/mcp/tools/builder-gate.js.map +1 -1
- package/sidecar/dist/mcp/tools/builder-project.js +54 -1
- package/sidecar/dist/mcp/tools/builder-project.js.map +1 -1
- package/sidecar/dist/mcp/tools/builder-queries.d.ts +65 -0
- package/sidecar/dist/mcp/tools/builder-queries.js +73 -0
- package/sidecar/dist/mcp/tools/builder-queries.js.map +1 -0
- package/sidecar/dist/mcp/tools/builder-table-view-schema.d.ts +99 -0
- package/sidecar/dist/mcp/tools/builder-table-view-schema.js +118 -0
- package/sidecar/dist/mcp/tools/builder-table-view-schema.js.map +1 -0
- package/sidecar/dist/mcp/tools/builder-table-view.d.ts +102 -0
- package/sidecar/dist/mcp/tools/builder-table-view.js +24 -0
- package/sidecar/dist/mcp/tools/builder-table-view.js.map +1 -0
- package/sidecar/dist/mcp/tools/builder.d.ts +166 -20
- package/sidecar/dist/mcp/tools/builder.js +20 -73
- package/sidecar/dist/mcp/tools/builder.js.map +1 -1
- package/sidecar/dist/mcp/tools/navigate-to-page.js +12 -4
- package/sidecar/dist/mcp/tools/navigate-to-page.js.map +1 -1
- package/sidecar/dist/mcp/types.d.ts +2 -1
- package/sidecar/dist/pages/block-health.d.ts +14 -0
- package/sidecar/dist/pages/block-health.js +60 -0
- package/sidecar/dist/pages/block-health.js.map +1 -0
- package/sidecar/dist/prompts/agent.d.ts +1 -1
- package/sidecar/dist/prompts/agent.js +4 -3
- package/sidecar/dist/prompts/agent.js.map +1 -1
- package/sidecar/dist/protocol/events.d.ts +43 -0
- package/sidecar/dist/protocol/events.js +10 -0
- package/sidecar/dist/protocol/events.js.map +1 -1
- package/sidecar/dist/protocol/json.d.ts +4 -0
- package/sidecar/dist/protocol/json.js +29 -0
- package/sidecar/dist/protocol/json.js.map +1 -1
- package/sidecar/dist/protocol/messages.d.ts +57 -0
- package/sidecar/dist/protocol/messages.js +22 -0
- package/sidecar/dist/protocol/messages.js.map +1 -1
- package/sidecar/dist/providers/claude/config.d.ts +20 -3
- package/sidecar/dist/providers/claude/config.js +17 -5
- package/sidecar/dist/providers/claude/config.js.map +1 -1
- package/sidecar/dist/providers/claude/model-fallback.d.ts +9 -0
- package/sidecar/dist/providers/claude/model-fallback.js +37 -0
- package/sidecar/dist/providers/claude/model-fallback.js.map +1 -0
- package/sidecar/dist/providers/claude/provider.js +23 -22
- package/sidecar/dist/providers/claude/provider.js.map +1 -1
- package/sidecar/dist/providers/claude/resolve-binary.js +18 -13
- package/sidecar/dist/providers/claude/resolve-binary.js.map +1 -1
- package/sidecar/dist/providers/claude/session-stream.d.ts +23 -0
- package/sidecar/dist/providers/claude/session-stream.js +58 -0
- package/sidecar/dist/providers/claude/session-stream.js.map +1 -0
- package/sidecar/dist/server/chat-events.d.ts +16 -3
- package/sidecar/dist/server/chat-events.js +1 -0
- package/sidecar/dist/server/chat-events.js.map +1 -1
- package/sidecar/dist/server/http-io.d.ts +2 -1
- package/sidecar/dist/server/http-io.js.map +1 -1
- package/sidecar/dist/server/http-routes.js +4 -7
- package/sidecar/dist/server/http-routes.js.map +1 -1
- package/sidecar/dist/server/navigation-completer.d.ts +15 -2
- package/sidecar/dist/server/navigation-completer.js +42 -41
- package/sidecar/dist/server/navigation-completer.js.map +1 -1
- package/sidecar/dist/server/permission-events.d.ts +8 -4
- package/sidecar/dist/server/permission-events.js.map +1 -1
- package/sidecar/dist/server/routing.js +15 -2
- package/sidecar/dist/server/routing.js.map +1 -1
- package/sidecar/dist/server/safety-net.js +2 -2
- package/sidecar/dist/server/safety-net.js.map +1 -1
- package/sidecar/dist/server/tool-calls.d.ts +13 -4
- package/sidecar/dist/server/tool-calls.js.map +1 -1
- package/sidecar/dist/server/turns.d.ts +16 -2
- package/sidecar/dist/server/turns.js +13 -3
- package/sidecar/dist/server/turns.js.map +1 -1
- package/sidecar/dist/state/change-sets.js +4 -1
- package/sidecar/dist/state/change-sets.js.map +1 -1
- package/sidecar/dist/state/conversations.d.ts +1 -0
- package/sidecar/dist/state/conversations.js +8 -0
- package/sidecar/dist/state/conversations.js.map +1 -1
- package/sidecar/dist/state/settings-store.d.ts +1 -0
- package/sidecar/dist/state/settings-store.js +1 -0
- package/sidecar/dist/state/settings-store.js.map +1 -1
- package/sidecar/dist/state/settings-types.d.ts +1 -0
- package/sidecar/dist/state/store.js +8 -2
- package/sidecar/dist/state/store.js.map +1 -1
- package/sidecar/dist/state/types.d.ts +8 -1
- package/sidecar/dist/state/types.js.map +1 -1
- package/sidecar/package.json +2 -2
- package/skills/dms-ai/SKILL.md +1 -1
- package/skills/dms-builder-safe/REFERENCE.md +5 -6
- package/skills/dms-builder-safe/SKILL.md +12 -10
- package/skills/dms-external-database/REFERENCE.md +20 -8
- package/skills/dms-external-database/SKILL.md +64 -18
- package/skills/dms-page-design/SKILL.md +192 -0
- package/skills/dms-page-design/cases.json +57 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// @vitest-environment jsdom
|
|
2
|
-
import { describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
3
3
|
import { installCurrentPageTracker } from "../app/runtime/current-page";
|
|
4
|
+
import { BLOCK_SETTLE_BUDGET_MS } from "../app/runtime/block-health";
|
|
4
5
|
import { installNavigationCompleteEmitter } from "../app/runtime/navigation-complete";
|
|
5
6
|
|
|
6
7
|
function navigate(url: string): void {
|
|
@@ -61,7 +62,7 @@ describe("Inertia host navigation", () => {
|
|
|
61
62
|
document.title = "";
|
|
62
63
|
});
|
|
63
64
|
|
|
64
|
-
it("emits completion
|
|
65
|
+
it("emits completion at once after navigation, announcing the block report, and removes its event listener", () => {
|
|
65
66
|
const send = vi.fn();
|
|
66
67
|
const stop = installNavigationCompleteEmitter({ send });
|
|
67
68
|
expect(send).not.toHaveBeenCalled();
|
|
@@ -69,9 +70,73 @@ describe("Inertia host navigation", () => {
|
|
|
69
70
|
expect(send).toHaveBeenCalledExactlyOnceWith({
|
|
70
71
|
type: "host_navigation_complete",
|
|
71
72
|
path: "/finished",
|
|
73
|
+
blocksWithinMs: BLOCK_SETTLE_BUDGET_MS,
|
|
72
74
|
});
|
|
73
75
|
stop();
|
|
74
76
|
navigate("/ignored");
|
|
75
77
|
expect(send).toHaveBeenCalledTimes(1);
|
|
76
78
|
});
|
|
79
|
+
|
|
80
|
+
describe("block report", () => {
|
|
81
|
+
beforeEach(() => {
|
|
82
|
+
document.body.replaceChildren();
|
|
83
|
+
vi.useFakeTimers();
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
afterEach(() => {
|
|
87
|
+
vi.useRealTimers();
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
function addChart(state: string): HTMLElement {
|
|
91
|
+
const element = document.createElement("div");
|
|
92
|
+
element.setAttribute("data-dms-block-state", state);
|
|
93
|
+
element.setAttribute("data-dms-block-type", "ChartCard");
|
|
94
|
+
element.setAttribute("data-dms-block", "revenue");
|
|
95
|
+
document.body.append(element);
|
|
96
|
+
return element;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
it("follows the completion with the blocks showing no data", async () => {
|
|
100
|
+
addChart("empty");
|
|
101
|
+
const send = vi.fn();
|
|
102
|
+
const stop = installNavigationCompleteEmitter({ send });
|
|
103
|
+
navigate("/sales");
|
|
104
|
+
await vi.advanceTimersByTimeAsync(BLOCK_SETTLE_BUDGET_MS);
|
|
105
|
+
expect(send).toHaveBeenLastCalledWith({
|
|
106
|
+
type: "host_page_blocks",
|
|
107
|
+
path: "/sales",
|
|
108
|
+
status: "settled",
|
|
109
|
+
checked: 1,
|
|
110
|
+
blocks: [{ path: "revenue", type: "ChartCard", state: "empty" }],
|
|
111
|
+
});
|
|
112
|
+
stop();
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
it("reports the first page as superseded when a second navigation starts", async () => {
|
|
116
|
+
addChart("loading");
|
|
117
|
+
const send = vi.fn();
|
|
118
|
+
const stop = installNavigationCompleteEmitter({ send });
|
|
119
|
+
navigate("/first");
|
|
120
|
+
await vi.advanceTimersByTimeAsync(100);
|
|
121
|
+
navigate("/second");
|
|
122
|
+
await vi.advanceTimersByTimeAsync(0);
|
|
123
|
+
expect(send).toHaveBeenCalledWith(
|
|
124
|
+
expect.objectContaining({
|
|
125
|
+
type: "host_page_blocks",
|
|
126
|
+
path: "/first",
|
|
127
|
+
status: "superseded",
|
|
128
|
+
}),
|
|
129
|
+
);
|
|
130
|
+
stop();
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
it("reports nothing once stopped", async () => {
|
|
134
|
+
const send = vi.fn();
|
|
135
|
+
const stop = installNavigationCompleteEmitter({ send });
|
|
136
|
+
navigate("/sales");
|
|
137
|
+
stop();
|
|
138
|
+
await vi.advanceTimersByTimeAsync(BLOCK_SETTLE_BUDGET_MS);
|
|
139
|
+
expect(send).toHaveBeenCalledTimes(1);
|
|
140
|
+
});
|
|
141
|
+
});
|
|
77
142
|
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ref } from "vue";
|
|
2
|
+
import { afterEach, vi } from "vitest";
|
|
3
|
+
import { useApiErrorPresenter } from "../../../node_modules/@antelopejs/dms/frontend-vue/layers/dms-core/app/composables/useApiErrorPresenter";
|
|
4
|
+
|
|
5
|
+
afterEach(() => vi.unstubAllEnvs());
|
|
6
|
+
|
|
7
|
+
export function installApiErrorPresenter() {
|
|
8
|
+
vi.stubEnv("SSR", false);
|
|
9
|
+
const add = vi.fn(() => ({ id: "notice" }));
|
|
10
|
+
const messages: Record<string, string> = {
|
|
11
|
+
"error.read_only_demo": "This demo is read-only.",
|
|
12
|
+
"error.500.description": "Something went wrong.",
|
|
13
|
+
"dms_ai.views.error.description": "Could not load the assistant's data.",
|
|
14
|
+
"dms_ai.views.unavailable.description": "The assistant is not running.",
|
|
15
|
+
};
|
|
16
|
+
vi.stubGlobal("useToast", () => ({ add }));
|
|
17
|
+
vi.stubGlobal("getPluginI18n", () => ({
|
|
18
|
+
i18n: {
|
|
19
|
+
tm: (key: string) =>
|
|
20
|
+
Object.hasOwn(messages, key) ? messages[key] : null,
|
|
21
|
+
rt: (message: string) => message,
|
|
22
|
+
},
|
|
23
|
+
}));
|
|
24
|
+
const presented = ref(new WeakMap<object, string | number | null>());
|
|
25
|
+
vi.stubGlobal("useDmsState", () => presented);
|
|
26
|
+
vi.stubGlobal("useApiErrorPresenter", useApiErrorPresenter);
|
|
27
|
+
return { add };
|
|
28
|
+
}
|
|
@@ -94,8 +94,8 @@ export function createHarness(): Harness {
|
|
|
94
94
|
intents.push({ kind: "open", conversationId });
|
|
95
95
|
panel.open();
|
|
96
96
|
},
|
|
97
|
-
startConversation: (prompt, mode) => {
|
|
98
|
-
intents.push({ kind: "start", prompt, mode });
|
|
97
|
+
startConversation: (prompt, mode, send) => {
|
|
98
|
+
intents.push({ kind: "start", prompt, mode, send });
|
|
99
99
|
panel.open();
|
|
100
100
|
},
|
|
101
101
|
holdStream: () => {
|
|
@@ -15,6 +15,7 @@ import ActivityDetail from "../../app/components/ActivityDetail.vue";
|
|
|
15
15
|
import ChangesView from "../../app/components/ChangesView.vue";
|
|
16
16
|
import ChangeSetPanel from "../../app/views/ChangeSetPanel.vue";
|
|
17
17
|
import UnavailableState from "../../app/views/UnavailableState.vue";
|
|
18
|
+
import { installApiErrorPresenter } from "../support/api-error-presenter";
|
|
18
19
|
|
|
19
20
|
// The views read what they render with the DMS's `useApiData`, which a server
|
|
20
21
|
// render hands to the browser (this repository has no renderer to run it:
|
|
@@ -241,6 +242,7 @@ beforeEach(() => {
|
|
|
241
242
|
vi.stubGlobal("useApiPagedData", useApiPagedData);
|
|
242
243
|
vi.stubGlobal("refreshPageBlocks", refreshPageBlocks);
|
|
243
244
|
vi.stubGlobal("useAuthFetch", () => ({ $authFetch: authFetch }));
|
|
245
|
+
installApiErrorPresenter();
|
|
244
246
|
vi.stubGlobal("useI18n", () => ({
|
|
245
247
|
t: (key: string) => key,
|
|
246
248
|
te: () => false,
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { afterEach, expect, it, vi } from "vitest";
|
|
2
|
+
import { ref } from "vue";
|
|
3
|
+
import { useAiData } from "../../app/views/composables/useAiData";
|
|
4
|
+
import { useChangeSetActions } from "../../app/views/composables/useChangeSetActions";
|
|
5
|
+
import { installApiErrorPresenter } from "../support/api-error-presenter";
|
|
6
|
+
|
|
7
|
+
afterEach(() => vi.unstubAllGlobals());
|
|
8
|
+
|
|
9
|
+
it.each([
|
|
10
|
+
{
|
|
11
|
+
status: 403,
|
|
12
|
+
data: { message: "error.read_only_demo", severity: "warning" },
|
|
13
|
+
title: "This demo is read-only.",
|
|
14
|
+
color: "warning",
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
status: 403,
|
|
18
|
+
data: { message: "unknown.server.key" },
|
|
19
|
+
title: "Could not load the assistant's data.",
|
|
20
|
+
color: "warning",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
status: 503,
|
|
24
|
+
data: { message: "unknown.server.key" },
|
|
25
|
+
title: "The assistant is not running.",
|
|
26
|
+
color: "error",
|
|
27
|
+
},
|
|
28
|
+
])(
|
|
29
|
+
"presents redo failure $status once with server or fallback copy",
|
|
30
|
+
async ({ status, data, title, color }) => {
|
|
31
|
+
const { add } = installApiErrorPresenter();
|
|
32
|
+
const error = Object.assign(new Error("Request failed"), {
|
|
33
|
+
response: new Response(JSON.stringify(data), {
|
|
34
|
+
status,
|
|
35
|
+
headers: { "content-type": "application/json" },
|
|
36
|
+
}),
|
|
37
|
+
data,
|
|
38
|
+
});
|
|
39
|
+
vi.stubGlobal("useI18n", () => ({ t: (key: string) => key }));
|
|
40
|
+
vi.stubGlobal("useConfirmFrom", () => ({}));
|
|
41
|
+
vi.stubGlobal("useAuthFetch", () => ({
|
|
42
|
+
$authFetch: async () => {
|
|
43
|
+
throw error;
|
|
44
|
+
},
|
|
45
|
+
}));
|
|
46
|
+
const actions = useChangeSetActions();
|
|
47
|
+
const changeSet = {
|
|
48
|
+
id: "change-1",
|
|
49
|
+
number: 1,
|
|
50
|
+
conversationId: "conversation-1",
|
|
51
|
+
title: "Rename page",
|
|
52
|
+
createdAtMs: 1,
|
|
53
|
+
agent: "claude",
|
|
54
|
+
scope: "safe",
|
|
55
|
+
isAutoFix: false,
|
|
56
|
+
overlapped: false,
|
|
57
|
+
files: [],
|
|
58
|
+
added: 1,
|
|
59
|
+
removed: 0,
|
|
60
|
+
typecheck: "passed",
|
|
61
|
+
state: "applied",
|
|
62
|
+
approvalsNeeded: 0,
|
|
63
|
+
builderOps: 0,
|
|
64
|
+
} satisfies Parameters<typeof actions.redo>[0];
|
|
65
|
+
await actions.redo(changeSet);
|
|
66
|
+
await actions.redo(changeSet);
|
|
67
|
+
expect(add.mock.calls).toEqual([
|
|
68
|
+
[expect.objectContaining({ title, color })],
|
|
69
|
+
]);
|
|
70
|
+
expect(actions.isBusy.value).toBe(false);
|
|
71
|
+
},
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
it("resolves a JSON read refusal as translated inline copy without a toast", () => {
|
|
75
|
+
const { add } = installApiErrorPresenter();
|
|
76
|
+
const data = { message: "error.read_only_demo", severity: "warning" };
|
|
77
|
+
const error = Object.assign(new Error("Forbidden"), {
|
|
78
|
+
response: new Response(JSON.stringify(data), { status: 403 }),
|
|
79
|
+
data,
|
|
80
|
+
});
|
|
81
|
+
vi.stubGlobal("useApiData", () => ({
|
|
82
|
+
error: ref(error),
|
|
83
|
+
status: ref("error"),
|
|
84
|
+
}));
|
|
85
|
+
const read = useAiData("/ai/changes");
|
|
86
|
+
expect(read.failure.value).toBe("error");
|
|
87
|
+
expect(read.message.value).toBe("This demo is read-only.");
|
|
88
|
+
expect(add).not.toHaveBeenCalled();
|
|
89
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antelopejs/dms-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "AI development assistant for the AntelopeJS DMS: a chat panel next to every page and a coding agent that edits the project in reviewable, undoable change sets.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"prepack": "pnpm run build && pnpm run build:sidecar",
|
|
48
48
|
"frontend:dev": "cd playground && pnpm frontend:dev",
|
|
49
49
|
"dev": "cd playground && pnpm dev",
|
|
50
|
-
"lint": "oxlint && pnpm --dir frontend-vue lint && antelopejs-check-interface-ranges && node scripts/check-playground-install.mjs && node scripts/check-i18n.mjs",
|
|
50
|
+
"lint": "oxlint && pnpm --dir frontend-vue lint && node node_modules/@antelopejs/dms/frontend-vue/scripts/check-api-error-presentation.mjs frontend-vue/app && antelopejs-check-interface-ranges && node scripts/check-playground-install.mjs && node scripts/check-i18n.mjs",
|
|
51
51
|
"lint:fix": "oxlint --fix && oxfmt . && pnpm --dir frontend-vue lint:fix",
|
|
52
52
|
"typecheck": "tsc --noEmit && pnpm --dir frontend-vue typecheck:chat && pnpm --dir sidecar typecheck",
|
|
53
53
|
"test": "pnpm run test:node",
|
|
@@ -79,14 +79,15 @@
|
|
|
79
79
|
"@antelopejs/interface-api": ">=0.0.15 <1.0.0",
|
|
80
80
|
"@antelopejs/interface-core": ">=0.2.4 <1.0.0",
|
|
81
81
|
"@antelopejs/interface-dms": ">=0.9.0 <1.0.0",
|
|
82
|
-
"@anthropic-ai/claude-agent-sdk": "^0.
|
|
83
|
-
"@anthropic-ai/claude-code": "^2.1.
|
|
82
|
+
"@anthropic-ai/claude-agent-sdk": "^0.3.316",
|
|
83
|
+
"@anthropic-ai/claude-code": "^2.1.316",
|
|
84
84
|
"@modelcontextprotocol/sdk": "1.29.0",
|
|
85
85
|
"ws": "^8.18.0",
|
|
86
86
|
"zod": "^4.0.0"
|
|
87
87
|
},
|
|
88
88
|
"devDependencies": {
|
|
89
|
-
"@antelopejs/
|
|
89
|
+
"@antelopejs/dms": ">=0.13.1 <1.0.0",
|
|
90
|
+
"@antelopejs/tooling-configs": "^0.2.17",
|
|
90
91
|
"@types/node": "^24.0.0",
|
|
91
92
|
"@types/ws": "^8.5.12",
|
|
92
93
|
"knip": "^6.34.0",
|
|
@@ -109,7 +110,7 @@
|
|
|
109
110
|
},
|
|
110
111
|
"optionalDependencies": {
|
|
111
112
|
"@antelopejs/interface-database-catalog": ">=0.0.1 <1.0.0",
|
|
112
|
-
"@antelopejs/interface-dms-builder": ">=0.
|
|
113
|
+
"@antelopejs/interface-dms-builder": ">=0.3.0 <1.0.0"
|
|
113
114
|
},
|
|
114
115
|
"packageManager": "pnpm@10.2.0",
|
|
115
116
|
"antelopeJs": {
|
|
@@ -30,6 +30,11 @@ export interface ProviderSessionContext extends ToolCallHooks {
|
|
|
30
30
|
permissionBus?: PermissionBus;
|
|
31
31
|
mcpServer?: AiMcpServer;
|
|
32
32
|
onTokenUsage?: (usage: TokenUsage) => void;
|
|
33
|
+
onModelUsed?: (model: string) => void;
|
|
34
|
+
onModelFallback?: (fallback: {
|
|
35
|
+
requested: string;
|
|
36
|
+
used: string;
|
|
37
|
+
}) => void;
|
|
33
38
|
onDisposed: (disposal: Promise<void>) => void;
|
|
34
39
|
}
|
|
35
40
|
export interface ProviderSession {
|
|
@@ -15,6 +15,11 @@ export interface RunnerContext extends ToolCallHooks {
|
|
|
15
15
|
permissionBus?: PermissionBus;
|
|
16
16
|
createMcpServer?: () => AiMcpServer;
|
|
17
17
|
onTokenUsage?: (usage: TokenUsage) => void;
|
|
18
|
+
onModelUsed?: (model: string) => void;
|
|
19
|
+
onModelFallback?: (fallback: {
|
|
20
|
+
requested: string;
|
|
21
|
+
used: string;
|
|
22
|
+
}) => void;
|
|
18
23
|
}
|
|
19
24
|
export interface AgentRunner {
|
|
20
25
|
start(message: string, ctx: RunnerContext): AsyncIterable<RunnerEvent>;
|
|
@@ -22,6 +22,8 @@ function createSession(manager, ctx) {
|
|
|
22
22
|
onToolAnnounced: ctx.onToolAnnounced,
|
|
23
23
|
beforeMutation: ctx.beforeMutation,
|
|
24
24
|
onTokenUsage: ctx.onTokenUsage,
|
|
25
|
+
onModelUsed: ctx.onModelUsed,
|
|
26
|
+
onModelFallback: ctx.onModelFallback,
|
|
25
27
|
onDisposed: (disposal) => {
|
|
26
28
|
manager.sessions.delete(ctx.conversationId);
|
|
27
29
|
manager.disposals.track(disposal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAM5D,OAAO,EAAE,qBAAqB,EAAwB,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAavD,MAAM,YAAY,GAAgB,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BUILDER_FETCH_TIMEOUT_MS, BUILDER_LOG_PREFIX, BUILDER_OP_PATH, } from "../constants/builder.js";
|
|
1
|
+
import { BUILDER_FETCH_TIMEOUT_MS, BUILDER_SLOW_OP_TIMEOUTS_MS, BUILDER_LOG_PREFIX, BUILDER_OP_PATH, } from "../constants/builder.js";
|
|
2
2
|
import { SIDECAR_AUTH_HEADER } from "../constants/daemon.js";
|
|
3
3
|
import { JsonValueSchema } from "../protocol/json.js";
|
|
4
4
|
const JSON_HEADERS = { "content-type": "application/json" };
|
|
@@ -15,7 +15,7 @@ export function createBuilderClient(opts) {
|
|
|
15
15
|
return {
|
|
16
16
|
call: async (op, args) => {
|
|
17
17
|
const controller = new AbortController();
|
|
18
|
-
const timer = setTimeout(() => controller.abort(), BUILDER_FETCH_TIMEOUT_MS);
|
|
18
|
+
const timer = setTimeout(() => controller.abort(), BUILDER_SLOW_OP_TIMEOUTS_MS.get(op) ?? BUILDER_FETCH_TIMEOUT_MS);
|
|
19
19
|
try {
|
|
20
20
|
const response = await fetchImpl(url, {
|
|
21
21
|
method: "POST",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder-client.js","sourceRoot":"","sources":["../../src/builder/builder-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAkB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAatE,MAAM,YAAY,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AAE5D,SAAS,YAAY,CAAC,KAAyB;IAC7C,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAA0B;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;IACtC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC;IAC1E,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EACxB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"builder-client.js","sourceRoot":"","sources":["../../src/builder/builder-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAkB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAatE,MAAM,YAAY,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AAE5D,SAAS,YAAY,CAAC,KAAyB;IAC7C,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAA0B;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC;IACtC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC;IAC1E,OAAO;QACL,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EACxB,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,wBAAwB,CAChE,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE;oBACpC,MAAM,EAAE,MAAM;oBACd,OAAO;oBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;oBAClC,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE;4BACL,IAAI,EACF,QAAQ,CAAC,MAAM,KAAK,GAAG;gCACrB,CAAC,CAAC,qBAAqB;gCACvB,CAAC,CAAC,gBAAgB;4BACtB,MAAM,EAAE,QAAQ,QAAQ,CAAC,MAAM,EAAE;yBAClC;qBACF,CAAC;gBACJ,CAAC;gBACD,OAAO,eAAe,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAChE,MAAM,CAAC,IAAI,CAAC,GAAG,kBAAkB,QAAQ,EAAE,aAAa,MAAM,GAAG,CAAC,CAAC;gBACnE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;YAC1E,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export declare const SIDECAR_BUILDER_FLAG = "--builder-enabled";
|
|
2
2
|
export declare const BUILDER_OP_PATH = "/ai/builder/op";
|
|
3
3
|
export declare const BUILDER_FETCH_TIMEOUT_MS = 15000;
|
|
4
|
+
export declare const BUILDER_SLOW_OP_TIMEOUTS_MS: Map<string, number>;
|
|
4
5
|
export declare const BUILDER_LOG_PREFIX = "[builder]";
|
|
5
|
-
export declare const BUILDER_TOOL_NAMES: readonly ["BuilderCatalog", "BuilderListPages", "BuilderPageStructure", "BuilderCreatePage", "BuilderConfigurePage", "BuilderDeletePage", "BuilderAddBlock", "BuilderConfigureBlock", "BuilderMoveBlock", "BuilderRemoveBlock", "BuilderCreateCategory", "BuilderConfigureCategory", "BuilderDeleteCategory", "BuilderRefresh", "BuilderCreateResource", "BuilderDeleteResource", "BuilderListResources", "BuilderResourceStructure", "BuilderAddField", "BuilderConfigureField", "BuilderRemoveField", "BuilderQueryTemplates", "BuilderAddQuery", "BuilderConfigureQuery", "BuilderRemoveQuery", "BuilderConfigureProject", "BuilderMapResources", "BuilderAnalyseDatabase", "BuilderMapping"];
|
|
6
|
+
export declare const BUILDER_TOOL_NAMES: readonly ["BuilderCatalog", "BuilderListPages", "BuilderPageStructure", "BuilderCreatePage", "BuilderConfigurePage", "BuilderDeletePage", "BuilderAddBlock", "BuilderComposePage", "BuilderConfigureBlock", "BuilderConfigureTableView", "BuilderMoveBlock", "BuilderRemoveBlock", "BuilderCreateCategory", "BuilderConfigureCategory", "BuilderDeleteCategory", "BuilderRefresh", "BuilderCreateResource", "BuilderDeleteResource", "BuilderListResources", "BuilderResourceStructure", "BuilderAddField", "BuilderConfigureField", "BuilderRemoveField", "BuilderQueryTemplates", "BuilderAddQuery", "BuilderPreviewQuery", "BuilderConfigureQuery", "BuilderRemoveQuery", "BuilderConfigureProject", "BuilderMapResources", "BuilderAnalyseDatabase", "BuilderMapping"];
|
|
6
7
|
export declare const BUILDER_CONFIGURE_PROJECT_TOOL_NAME = "BuilderConfigureProject";
|
|
7
8
|
export declare const BUILDER_MAP_RESOURCES_TOOL_NAME = "BuilderMapResources";
|
|
8
9
|
export declare const BUILDER_ANALYSE_DATABASE_TOOL_NAME = "BuilderAnalyseDatabase";
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
export const SIDECAR_BUILDER_FLAG = "--builder-enabled";
|
|
2
2
|
export const BUILDER_OP_PATH = "/ai/builder/op";
|
|
3
3
|
export const BUILDER_FETCH_TIMEOUT_MS = 15_000;
|
|
4
|
+
export const BUILDER_SLOW_OP_TIMEOUTS_MS = new Map([
|
|
5
|
+
["MapResources", 10 * 60_000],
|
|
6
|
+
["ConfigureProject", 2 * 60_000],
|
|
7
|
+
["AddModule", 2 * 60_000],
|
|
8
|
+
["CreateLocalModule", 2 * 60_000],
|
|
9
|
+
["CreateResource", 60_000],
|
|
10
|
+
["DeleteResource", 60_000],
|
|
11
|
+
["ConfigureTableView", 60_000],
|
|
12
|
+
]);
|
|
4
13
|
export const BUILDER_LOG_PREFIX = "[builder]";
|
|
5
14
|
export const BUILDER_TOOL_NAMES = [
|
|
6
15
|
"BuilderCatalog",
|
|
@@ -10,7 +19,9 @@ export const BUILDER_TOOL_NAMES = [
|
|
|
10
19
|
"BuilderConfigurePage",
|
|
11
20
|
"BuilderDeletePage",
|
|
12
21
|
"BuilderAddBlock",
|
|
22
|
+
"BuilderComposePage",
|
|
13
23
|
"BuilderConfigureBlock",
|
|
24
|
+
"BuilderConfigureTableView",
|
|
14
25
|
"BuilderMoveBlock",
|
|
15
26
|
"BuilderRemoveBlock",
|
|
16
27
|
"BuilderCreateCategory",
|
|
@@ -26,6 +37,7 @@ export const BUILDER_TOOL_NAMES = [
|
|
|
26
37
|
"BuilderRemoveField",
|
|
27
38
|
"BuilderQueryTemplates",
|
|
28
39
|
"BuilderAddQuery",
|
|
40
|
+
"BuilderPreviewQuery",
|
|
29
41
|
"BuilderConfigureQuery",
|
|
30
42
|
"BuilderRemoveQuery",
|
|
31
43
|
"BuilderConfigureProject",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/constants/builder.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/constants/builder.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAChD,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAO/C,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IACjD,CAAC,cAAc,EAAE,EAAE,GAAG,MAAM,CAAC;IAC7B,CAAC,kBAAkB,EAAE,CAAC,GAAG,MAAM,CAAC;IAChC,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC;IACzB,CAAC,mBAAmB,EAAE,CAAC,GAAG,MAAM,CAAC;IACjC,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAC1B,CAAC,oBAAoB,EAAE,MAAM,CAAC;CAC/B,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAO9C,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,mBAAmB;IACnB,sBAAsB;IACtB,mBAAmB;IACnB,iBAAiB;IACjB,oBAAoB;IACpB,uBAAuB;IACvB,2BAA2B;IAC3B,kBAAkB;IAClB,oBAAoB;IACpB,uBAAuB;IACvB,0BAA0B;IAC1B,uBAAuB;IACvB,gBAAgB;IAChB,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;IACtB,0BAA0B;IAC1B,iBAAiB;IACjB,uBAAuB;IACvB,oBAAoB;IACpB,uBAAuB;IACvB,iBAAiB;IACjB,qBAAqB;IACrB,uBAAuB;IACvB,oBAAoB;IACpB,yBAAyB;IACzB,qBAAqB;IACrB,wBAAwB;IACxB,gBAAgB;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,mCAAmC,GAAG,yBAAyB,CAAC;AAC7E,MAAM,CAAC,MAAM,+BAA+B,GAAG,qBAAqB,CAAC;AACrE,MAAM,CAAC,MAAM,kCAAkC,GAAG,wBAAwB,CAAC;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;AAE1D,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAC/C,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAM9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC;AAGzE,MAAM,CAAC,MAAM,2BAA2B,GACtC,mKAAmK,CAAC"}
|
|
@@ -34,3 +34,5 @@ export declare const CLAUDE_UNRETRYABLE_TERMINAL_REASONS: readonly TerminalReaso
|
|
|
34
34
|
export declare const CLAUDE_TERMINAL_REASON_MESSAGES: Partial<Record<TerminalReason, string>>;
|
|
35
35
|
export declare const CLAUDE_DIAGNOSTIC_ERROR_PREFIX = "[ede_diagnostic]";
|
|
36
36
|
export declare const CLAUDE_TURN_FAILED_MESSAGE = "The agent failed to complete the request.";
|
|
37
|
+
export declare const CLAUDE_MODEL_REFUSAL_PATTERN: RegExp;
|
|
38
|
+
export declare const CLAUDE_SYNTHETIC_MODEL = "<synthetic>";
|
|
@@ -57,4 +57,6 @@ export const CLAUDE_TERMINAL_REASON_MESSAGES = {
|
|
|
57
57
|
};
|
|
58
58
|
export const CLAUDE_DIAGNOSTIC_ERROR_PREFIX = "[ede_diagnostic]";
|
|
59
59
|
export const CLAUDE_TURN_FAILED_MESSAGE = "The agent failed to complete the request.";
|
|
60
|
+
export const CLAUDE_MODEL_REFUSAL_PATTERN = /issue with the selected model|may not exist or you may not have access|model[^.\n]{0,80}(?:not[ _]found|does not exist|is not available)/i;
|
|
61
|
+
export const CLAUDE_SYNTHETIC_MODEL = "<synthetic>";
|
|
60
62
|
//# sourceMappingURL=claude.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/constants/claude.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AAOjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAClD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GACnC,8CAA8C,CAAC;AAGjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,kBAAkB,CAAC;AAElE,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,4BAA4B,GAAoB,EAAE,CAAC;AAChE,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAGjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAqB,CAAC;AAQ7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC;AAGxD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;CAClC,CAAC;AAGX,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAGnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAuB;IACjE,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,mBAAmB,EAAE,UAAU,CAAC;IACjC,CAAC,UAAU,EAAE,SAAS,CAAC;IACvB,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAC9B,CAAC,cAAc,EAAE,SAAS,CAAC;CAC5B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAuB;IACjE,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAC9B,CAAC,iBAAiB,EAAE,UAAU,CAAC;IAC/B,CAAC,kBAAkB,EAAE,SAAS,CAAC;CAChC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;CACd,CAAC;AAGX,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAuB;IAClE,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,YAAY,EAAE,UAAU,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO,EAAE,aAAa;IACtB,GAAG,EAAE,SAAS;CACN,CAAC;AAGX,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,0BAA0B,CAAC,OAAO,OAAO,0BAA0B,CAAC,GAAG,EAAE,CAAC;AAEjI,MAAM,CAAC,MAAM,6BAA6B,GAAG,SAAS,CAAC;AAMvD,MAAM,CAAC,MAAM,+BAA+B,GAA8B;IACxE,mBAAmB;IACnB,eAAe;CAChB,CAAC;AAGF,MAAM,CAAC,MAAM,mCAAmC,GAA8B;IAC5E,iBAAiB;CAClB,CAAC;AAEF,MAAM,0BAA0B,GAC9B,qEAAqE,CAAC;AAGxE,MAAM,CAAC,MAAM,+BAA+B,GAExC;IACF,eAAe,EACb,kLAAkL;IACpL,cAAc,EAAE,0BAA0B;IAC1C,oBAAoB,EAAE,0BAA0B;IAChD,SAAS,EAAE,gEAAgE;CAC5E,CAAC;AAGF,MAAM,CAAC,MAAM,8BAA8B,GAAG,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,0BAA0B,GACrC,2CAA2C,CAAC"}
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/constants/claude.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,gBAAgB,GAAG,gCAAgC,CAAC;AAOjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAClD,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GACnC,8CAA8C,CAAC;AAGjD,MAAM,CAAC,MAAM,+BAA+B,GAAG,kBAAkB,CAAC;AAElE,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAiB,CAAC;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAsB,CAAC;AAChE,MAAM,CAAC,MAAM,4BAA4B,GAAoB,EAAE,CAAC;AAChE,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAGjD,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAqB,CAAC;AAQ7D,MAAM,CAAC,MAAM,wBAAwB,GAAG,eAAe,CAAC;AAGxD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;CAClC,CAAC;AAGX,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAGnD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAuB;IACjE,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,mBAAmB,EAAE,UAAU,CAAC;IACjC,CAAC,UAAU,EAAE,SAAS,CAAC;IACvB,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAC9B,CAAC,cAAc,EAAE,SAAS,CAAC;CAC5B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAuB;IACjE,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAC9B,CAAC,iBAAiB,EAAE,UAAU,CAAC;IAC/B,CAAC,kBAAkB,EAAE,SAAS,CAAC;CAChC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;CACd,CAAC;AAGX,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAuB;IAClE,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,YAAY,EAAE,UAAU,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO,EAAE,aAAa;IACtB,GAAG,EAAE,SAAS;CACN,CAAC;AAGX,MAAM,CAAC,MAAM,4BAA4B,GAAG,WAAW,0BAA0B,CAAC,OAAO,OAAO,0BAA0B,CAAC,GAAG,EAAE,CAAC;AAEjI,MAAM,CAAC,MAAM,6BAA6B,GAAG,SAAS,CAAC;AAMvD,MAAM,CAAC,MAAM,+BAA+B,GAA8B;IACxE,mBAAmB;IACnB,eAAe;CAChB,CAAC;AAGF,MAAM,CAAC,MAAM,mCAAmC,GAA8B;IAC5E,iBAAiB;CAClB,CAAC;AAEF,MAAM,0BAA0B,GAC9B,qEAAqE,CAAC;AAGxE,MAAM,CAAC,MAAM,+BAA+B,GAExC;IACF,eAAe,EACb,kLAAkL;IACpL,cAAc,EAAE,0BAA0B;IAC1C,oBAAoB,EAAE,0BAA0B;IAChD,SAAS,EAAE,gEAAgE;CAC5E,CAAC;AAGF,MAAM,CAAC,MAAM,8BAA8B,GAAG,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,0BAA0B,GACrC,2CAA2C,CAAC;AAO9C,MAAM,CAAC,MAAM,4BAA4B,GACvC,2IAA2I,CAAC;AAG9I,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC"}
|
|
@@ -6,7 +6,7 @@ export declare const MCP_TOOL_NAME_PREFIX = "mcp__dms-ai__";
|
|
|
6
6
|
export declare const GET_CURRENT_PAGE_TOOL_NAME = "GetCurrentPage";
|
|
7
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
|
-
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.";
|
|
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). Then waits for the page's data blocks to settle and lists those that are empty, failed or still loading under `data.blocks`: a page with such blocks is not done. Call GetCurrentPage to verify if needed.";
|
|
10
10
|
export declare const NAVIGATE_RESULT_PREFIX = "Navigation requested to ";
|
|
11
11
|
export declare const NAVIGATE_RESULT_COMPLETED_SUFFIX = " (completed)";
|
|
12
12
|
export declare const NAVIGATE_RESULT_TIMEOUT_SUFFIX = " (timed out waiting for confirmation)";
|
|
@@ -15,7 +15,7 @@ export const MCP_TOOL_NAME_PREFIX = `mcp__${MCP_SERVER_KEY}__`;
|
|
|
15
15
|
export const GET_CURRENT_PAGE_TOOL_NAME = "GetCurrentPage";
|
|
16
16
|
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.";
|
|
17
17
|
export const NAVIGATE_TOOL_NAME = "NavigateToPage";
|
|
18
|
-
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.";
|
|
18
|
+
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). Then waits for the page's data blocks to settle and lists those that are empty, failed or still loading under `data.blocks`: a page with such blocks is not done. Call GetCurrentPage to verify if needed.";
|
|
19
19
|
export const NAVIGATE_RESULT_PREFIX = "Navigation requested to ";
|
|
20
20
|
export const NAVIGATE_RESULT_COMPLETED_SUFFIX = " (completed)";
|
|
21
21
|
export const NAVIGATE_RESULT_TIMEOUT_SUFFIX = " (timed out waiting for confirmation)";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/constants/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,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,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,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;AAKlD,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,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/constants/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export declare const PLATFORM_LINUX = "linux";
|
|
2
|
-
export declare const
|
|
3
|
-
export declare const
|
|
2
|
+
export declare const PLATFORM_WINDOWS = "win32";
|
|
3
|
+
export declare const CLAUDE_CODE_PACKAGE = "@anthropic-ai/claude-code";
|
|
4
|
+
export declare const CLAUDE_CODE_NATIVE_PREFIX = "@anthropic-ai/claude-code-";
|
|
5
|
+
export declare const NATIVE_MUSL_SUFFIX = "-musl";
|
|
4
6
|
export declare const CLAUDE_BINARY_SUBPATH = "/claude";
|
|
7
|
+
export declare const CLAUDE_WINDOWS_BINARY_SUBPATH = "/claude.exe";
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export const PLATFORM_LINUX = "linux";
|
|
2
|
-
export const
|
|
3
|
-
export const
|
|
2
|
+
export const PLATFORM_WINDOWS = "win32";
|
|
3
|
+
export const CLAUDE_CODE_PACKAGE = "@anthropic-ai/claude-code";
|
|
4
|
+
export const CLAUDE_CODE_NATIVE_PREFIX = "@anthropic-ai/claude-code-";
|
|
5
|
+
export const NATIVE_MUSL_SUFFIX = "-musl";
|
|
4
6
|
export const CLAUDE_BINARY_SUBPATH = "/claude";
|
|
7
|
+
export const CLAUDE_WINDOWS_BINARY_SUBPATH = "/claude.exe";
|
|
5
8
|
//# sourceMappingURL=native-binary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-binary.js","sourceRoot":"","sources":["../../src/constants/native-binary.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"native-binary.js","sourceRoot":"","sources":["../../src/constants/native-binary.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAQxC,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,4BAA4B,CAAC;AACtE,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAC/C,MAAM,CAAC,MAAM,6BAA6B,GAAG,aAAa,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { AppSettings } from "../state/settings-types.js";
|
|
2
2
|
export declare const SETTINGS_FILE_NAME = "settings.json";
|
|
3
3
|
export declare const SETTINGS_LOG_PREFIX = "[dms-ai sidecar settings]";
|
|
4
|
+
export declare const DEFAULT_CLAUDE_MODEL = "claude-opus-5-5";
|
|
4
5
|
export declare const DEFAULT_SETTINGS: AppSettings;
|
|
5
6
|
export declare const MS_PER_MINUTE = 60000;
|
|
6
7
|
export declare const SAFE_MODE_DISALLOWED_TOOLS: string[];
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { DEFAULT_PROVIDER_NAME } from "../state/types.js";
|
|
2
2
|
export const SETTINGS_FILE_NAME = "settings.json";
|
|
3
3
|
export const SETTINGS_LOG_PREFIX = "[dms-ai sidecar settings]";
|
|
4
|
+
export const DEFAULT_CLAUDE_MODEL = "claude-opus-5-5";
|
|
4
5
|
export const DEFAULT_SETTINGS = {
|
|
5
6
|
provider: DEFAULT_PROVIDER_NAME,
|
|
6
7
|
mode: "normal",
|
|
7
8
|
thinking: "medium",
|
|
9
|
+
claudeModel: DEFAULT_CLAUDE_MODEL,
|
|
8
10
|
generationMode: "safe",
|
|
9
11
|
allowLocalSkills: false,
|
|
10
12
|
alwaysAskDependencies: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/constants/settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,QAAQ,EAAE,qBAAqB;IAC/B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,QAAQ;IAClB,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,KAAK;IACvB,qBAAqB,EAAE,IAAI;IAC3B,qBAAqB,EAAE,IAAI;IAC3B,qBAAqB,EAAE,CAAC;IACxB,cAAc,EAAE,IAAI;IACpB,uBAAuB,EAAE,EAAE;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAYpC,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO;IACP,MAAM;IACN,WAAW;IACX,cAAc;IACd,MAAM;CACP,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GACnC,6OAA6O,CAAC"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/constants/settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAE/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAEtD,MAAM,CAAC,MAAM,gBAAgB,GAAgB;IAC3C,QAAQ,EAAE,qBAAqB;IAC/B,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,QAAQ;IAClB,WAAW,EAAE,oBAAoB;IACjC,cAAc,EAAE,MAAM;IACtB,gBAAgB,EAAE,KAAK;IACvB,qBAAqB,EAAE,IAAI;IAC3B,qBAAqB,EAAE,IAAI;IAC3B,qBAAqB,EAAE,CAAC;IACxB,cAAc,EAAE,IAAI;IACpB,uBAAuB,EAAE,EAAE;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AAYpC,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO;IACP,MAAM;IACN,WAAW;IACX,cAAc;IACd,MAAM;CACP,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GACnC,6OAA6O,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/constants/timing.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../src/constants/timing.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAM1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAQ5C,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAO7C,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-kinds.js","sourceRoot":"","sources":["../../src/constants/tool-kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,MAAM;IACN,OAAO;IACP,WAAW;IACX,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAG3E,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,MAAM;IACN,IAAI;IACJ,MAAM;IACN,MAAM;IACN,cAAc;IACd,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;CACf,CAAC;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,sBAAsB;IACtB,0BAA0B;IAC1B,uBAAuB;IACvB,gBAAgB;IAChB,wBAAwB;IACxB,gBAAgB;CACjB,CAAC;AAGF,MAAM,CAAC,MAAM,8BAA8B,GAAsB;IAC/D,mBAAmB;IACnB,uBAAuB;IACvB,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;CACrB,CAAC;AAGF,MAAM,CAAC,MAAM,gCAAgC,GAAsB;IACjE,oBAAoB;IACpB,kBAAkB;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,uBAAuB,CAAC;AAMzE,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,yBAAyB;CAC1B,CAAC;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,0BAA0B;IAC1B,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,GAAG,mBAAmB;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,kBAAkB;IAClB,wBAAwB;IACxB,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GACtC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"tool-kinds.js","sourceRoot":"","sources":["../../src/constants/tool-kinds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAGrD,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,MAAM;IACN,OAAO;IACP,WAAW;IACX,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,MAAM,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AAG3E,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,MAAM;IACN,IAAI;IACJ,MAAM;IACN,MAAM;IACN,cAAc;IACd,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;CACf,CAAC;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,gBAAgB;IAChB,kBAAkB;IAClB,sBAAsB;IACtB,sBAAsB;IACtB,0BAA0B;IAC1B,uBAAuB;IACvB,qBAAqB;IACrB,gBAAgB;IAChB,wBAAwB;IACxB,gBAAgB;CACjB,CAAC;AAGF,MAAM,CAAC,MAAM,8BAA8B,GAAsB;IAC/D,mBAAmB;IACnB,uBAAuB;IACvB,oBAAoB;IACpB,uBAAuB;IACvB,oBAAoB;CACrB,CAAC;AAGF,MAAM,CAAC,MAAM,gCAAgC,GAAsB;IACjE,oBAAoB;IACpB,kBAAkB;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,uBAAuB,CAAC;AAMzE,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,yBAAyB;CAC1B,CAAC;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,0BAA0B;IAC1B,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,mBAAmB;IACnB,oBAAoB;IACpB,GAAG,mBAAmB;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,kBAAkB;IAClB,wBAAwB;IACxB,WAAW;IACX,OAAO;IACP,MAAM;IACN,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GACtC,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,mBAAmB,GAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { SIDECAR_AUTH_HEADER } from "../constants/daemon.js";
|
|
3
3
|
import { LOGS_FETCH_FAILED_MESSAGE, LOGS_FETCH_TIMEOUT_MS, LOGS_LOG_PREFIX, LOGS_PATH, } from "../constants/logs.js";
|
|
4
|
+
import { isJsonValue } from "../protocol/json.js";
|
|
4
5
|
function buildHeaders(token) {
|
|
5
6
|
return token === undefined ? {} : { [SIDECAR_AUTH_HEADER]: token };
|
|
6
7
|
}
|
|
@@ -32,7 +33,7 @@ const BufferedLogSchema = z.object({
|
|
|
32
33
|
time: z.number(),
|
|
33
34
|
channel: z.string(),
|
|
34
35
|
levelId: z.number(),
|
|
35
|
-
args: z.array(z.unknown()),
|
|
36
|
+
args: z.array(z.unknown().refine(isJsonValue)),
|
|
36
37
|
});
|
|
37
38
|
const BufferedLogListSchema = z.array(z.unknown()).catch([]);
|
|
38
39
|
export function createLogsClient(opts) {
|