@superblocksteam/vite-plugin-file-sync 2.0.72-next.0 → 2.0.72-next.3
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/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +18 -2
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/subagents/testing/index.d.ts +3 -0
- package/dist/ai-service/agent/subagents/testing/index.d.ts.map +1 -0
- package/dist/ai-service/agent/subagents/testing/index.js +2 -0
- package/dist/ai-service/agent/subagents/testing/index.js.map +1 -0
- package/dist/ai-service/agent/subagents/testing/prompt-builder.d.ts +10 -0
- package/dist/ai-service/agent/subagents/testing/prompt-builder.d.ts.map +1 -0
- package/dist/ai-service/agent/subagents/testing/prompt-builder.js +67 -0
- package/dist/ai-service/agent/subagents/testing/prompt-builder.js.map +1 -0
- package/dist/ai-service/agent/subagents/testing/types.d.ts +47 -0
- package/dist/ai-service/agent/subagents/testing/types.d.ts.map +1 -0
- package/dist/ai-service/agent/subagents/testing/types.js +2 -0
- package/dist/ai-service/agent/subagents/testing/types.js.map +1 -0
- package/dist/ai-service/agent/subagents/types.d.ts +9 -8
- package/dist/ai-service/agent/subagents/types.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/types.js +9 -9
- package/dist/ai-service/agent/subagents/types.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.d.ts +7 -2
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +21 -2
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +1 -0
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +4 -2
- package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
- package/dist/ai-service/agent/tools/{build-read-files.d.ts → build-read-file.d.ts} +10 -6
- package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/build-read-file.js +139 -0
- package/dist/ai-service/agent/tools/build-read-file.js.map +1 -0
- package/dist/ai-service/agent/tools/build-reload-file.d.ts +4 -1
- package/dist/ai-service/agent/tools/build-reload-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-reload-file.js +18 -8
- package/dist/ai-service/agent/tools/build-reload-file.js.map +1 -1
- package/dist/ai-service/agent/tools/get-console-logs.js +1 -1
- package/dist/ai-service/agent/tools/get-console-logs.js.map +1 -1
- package/dist/ai-service/agent/tools/get-runtime-errors.js +1 -1
- package/dist/ai-service/agent/tools/get-runtime-errors.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +4 -1
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +4 -1
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +89 -29
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.d.ts +23 -1
- package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.js +67 -1
- package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
- package/dist/ai-service/agent/tools2/entity-permissions.d.ts +26 -0
- package/dist/ai-service/agent/tools2/entity-permissions.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/entity-permissions.js +15 -0
- package/dist/ai-service/agent/tools2/entity-permissions.js.map +1 -1
- package/dist/ai-service/agent/tools2/example.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/example.js +2 -4
- package/dist/ai-service/agent/tools2/example.js.map +1 -1
- package/dist/ai-service/agent/tools2/index.d.ts +1 -1
- package/dist/ai-service/agent/tools2/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/index.js +1 -1
- package/dist/ai-service/agent/tools2/index.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +37 -23
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +31 -0
- package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/end-test-run.js +105 -0
- package/dist/ai-service/agent/tools2/tools/end-test-run.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +1 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +135 -11
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts +24 -0
- package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/start-test-run.js +258 -0
- package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +29 -0
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.js +87 -0
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.js.map +1 -0
- package/dist/ai-service/agent/tools2/types.d.ts +6 -24
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/types.js +4 -15
- package/dist/ai-service/agent/tools2/types.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts +10 -0
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +115 -1
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +122 -1
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/features.d.ts +4 -0
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +4 -0
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +14 -8
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/judge/integration/mcp-client.d.ts +3 -6
- package/dist/ai-service/judge/integration/mcp-client.d.ts.map +1 -1
- package/dist/ai-service/judge/integration/mcp-client.js.map +1 -1
- package/dist/ai-service/judge/tools/playwright-action.d.ts +1 -1
- package/dist/ai-service/judge/tools/submit-feedback.d.ts +1 -1
- package/dist/ai-service/llm/client.d.ts +6 -0
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +9 -0
- package/dist/ai-service/llm/client.js.map +1 -1
- package/dist/ai-service/llm/context/constants.d.ts +8 -0
- package/dist/ai-service/llm/context/constants.d.ts.map +1 -1
- package/dist/ai-service/llm/context/constants.js +8 -0
- package/dist/ai-service/llm/context/constants.js.map +1 -1
- package/dist/ai-service/llm/context/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context/context.js +12 -9
- package/dist/ai-service/llm/context/context.js.map +1 -1
- package/dist/ai-service/llm/context/manager.d.ts +1 -1
- package/dist/ai-service/llm/context/manager.js +1 -1
- package/dist/ai-service/llm/context/utils/message-utils.d.ts +10 -0
- package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -1
- package/dist/ai-service/llm/context/utils/message-utils.js +92 -0
- package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -1
- package/dist/ai-service/llm/interaction/provider.d.ts +1 -0
- package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/event-bus.d.ts +5 -0
- package/dist/ai-service/llm/stream/event-bus.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/event-bus.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts +4 -1
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js +194 -10
- package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.d.ts +1 -0
- package/dist/ai-service/llm/stream/observers/logging.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/logging.js +92 -20
- package/dist/ai-service/llm/stream/observers/logging.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts +7 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +24 -4
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/session.d.ts +12 -2
- package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/session.js +9 -26
- package/dist/ai-service/llm/stream/session.js.map +1 -1
- package/dist/ai-service/llmobs/tracer.d.ts +0 -5
- package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
- package/dist/ai-service/llmobs/tracer.js +1 -40
- package/dist/ai-service/llmobs/tracer.js.map +1 -1
- package/dist/ai-service/llmobs/types.d.ts +1 -0
- package/dist/ai-service/llmobs/types.d.ts.map +1 -1
- package/dist/ai-service/mcp/adapter/mcp-tool-adapter.d.ts +1 -1
- package/dist/ai-service/mcp/adapter/mcp-tool-adapter.d.ts.map +1 -1
- package/dist/ai-service/mcp/adapter/mcp-tool-adapter.js +5 -2
- package/dist/ai-service/mcp/adapter/mcp-tool-adapter.js.map +1 -1
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.d.ts +16 -1
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.d.ts.map +1 -1
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.js +625 -89
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.js.map +1 -1
- package/dist/ai-service/mcp/playwright-server.d.ts +10 -0
- package/dist/ai-service/mcp/playwright-server.d.ts.map +1 -1
- package/dist/ai-service/mcp/playwright-server.js +3 -0
- package/dist/ai-service/mcp/playwright-server.js.map +1 -1
- package/dist/ai-service/mcp/types.d.ts +4 -0
- package/dist/ai-service/mcp/types.d.ts.map +1 -1
- package/dist/ai-service/prompts/explain-code.d.ts +2 -2
- package/dist/ai-service/prompts/explain-code.d.ts.map +1 -1
- package/dist/ai-service/prompts/explain-code.js +2 -2
- package/dist/ai-service/prompts/explain-code.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +18 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +15 -0
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +36 -6
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +87 -34
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +2 -0
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.d.ts +2 -0
- package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.js +18 -0
- package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
- package/dist/ai-service/util/safe-parse.d.ts +2 -0
- package/dist/ai-service/util/safe-parse.d.ts.map +1 -0
- package/dist/ai-service/util/safe-parse.js +9 -0
- package/dist/ai-service/util/safe-parse.js.map +1 -0
- package/dist/ai-service/util/safe-stringify.d.ts.map +1 -1
- package/dist/ai-service/util/safe-stringify.js +7 -0
- package/dist/ai-service/util/safe-stringify.js.map +1 -1
- package/dist/ai-service/util/stop-condition.d.ts +1 -0
- package/dist/ai-service/util/stop-condition.d.ts.map +1 -1
- package/dist/ai-service/util/stop-condition.js +5 -0
- package/dist/ai-service/util/stop-condition.js.map +1 -1
- package/dist/ai-service/util/strip-content.d.ts +2 -0
- package/dist/ai-service/util/strip-content.d.ts.map +1 -0
- package/dist/ai-service/util/strip-content.js +31 -0
- package/dist/ai-service/util/strip-content.js.map +1 -0
- package/dist/ai-service/util/tool-signature.d.ts +13 -0
- package/dist/ai-service/util/tool-signature.d.ts.map +1 -0
- package/dist/ai-service/util/tool-signature.js +38 -0
- package/dist/ai-service/util/tool-signature.js.map +1 -0
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +3 -0
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/injected-index.js +2 -2
- package/dist/injected-index.js.map +1 -1
- package/dist/parsing/jsx.d.ts.map +1 -1
- package/dist/parsing/jsx.js +0 -2
- package/dist/parsing/jsx.js.map +1 -1
- package/package.json +9 -9
- package/dist/ai-service/agent/tools/build-read-files.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-read-files.js +0 -67
- package/dist/ai-service/agent/tools/build-read-files.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import { AiEntityType, AiMode, } from "@superblocksteam/library-shared/types";
|
|
2
|
+
import { AiEntityType, AiMode, isTextAttachment, } from "@superblocksteam/library-shared/types";
|
|
3
3
|
import { getErrorMeta, getLogger } from "../../../util/logger.js";
|
|
4
4
|
import { buildBaseSystemPrompt } from "../../agent/prompts/build-base-system-prompt.js";
|
|
5
5
|
import { buildTools } from "../../agent/tools.js";
|
|
@@ -7,10 +7,65 @@ import { processStreamChunk } from "../../agent/utils.js";
|
|
|
7
7
|
import { isNoOutputError, LLMProviderError } from "../../llm/error.js";
|
|
8
8
|
import { wrapError } from "../../llm/stream/errors.js";
|
|
9
9
|
import { safeJsonStringify } from "../../util/safe-stringify.js";
|
|
10
|
-
import { hasToolSuccess, isAwaitingUser } from "../../util/stop-condition.js";
|
|
10
|
+
import { hasToolSuccess, isAwaitingUser, needsPermissionToExecute, } from "../../util/stop-condition.js";
|
|
11
11
|
import { AGENT_CANCELED, AGENT_NEEDS_USER_INPUT, AGENT_PLANNED, APP_RUNTIME_UPDATED_WITHOUT_EDITS, LLM_ERRORED, USER_CANCELED, V3_AGENT_FINISHED, } from "../clark-fsm.js";
|
|
12
12
|
import { getContextId } from "../helpers/context-id.js";
|
|
13
13
|
import { transitionFrom } from "../helpers/transition.js";
|
|
14
|
+
/**
|
|
15
|
+
* Parse a data URL and extract the media type and base64 data.
|
|
16
|
+
* Returns null if it's not a valid data URL.
|
|
17
|
+
*/
|
|
18
|
+
const parseDataUrl = (dataUrl) => {
|
|
19
|
+
const match = dataUrl.match(/^data:([^;]+);base64,(.+)$/);
|
|
20
|
+
if (match && match[1] && match[2]) {
|
|
21
|
+
return { mediaType: match[1], data: match[2] };
|
|
22
|
+
}
|
|
23
|
+
return null;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Sanitizes a string for use in an XML attribute value.
|
|
27
|
+
* Prevents XML injection attacks via malicious file names.
|
|
28
|
+
*/
|
|
29
|
+
const sanitizeXmlAttribute = (str) => {
|
|
30
|
+
return str
|
|
31
|
+
.replace(/&/g, "&") // Must be first!
|
|
32
|
+
.replace(/"/g, """)
|
|
33
|
+
.replace(/'/g, "'")
|
|
34
|
+
.replace(/</g, "<")
|
|
35
|
+
.replace(/>/g, ">");
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Maps attachments to LLM content parts.
|
|
39
|
+
* Text attachments (CSV, JSON, YAML, CSS, TXT) are wrapped in XML tags.
|
|
40
|
+
*/
|
|
41
|
+
const mapAttachmentsToContentParts = (attachments) => {
|
|
42
|
+
return attachments.map((attachment) => {
|
|
43
|
+
if (attachment.type === "image") {
|
|
44
|
+
return {
|
|
45
|
+
type: attachment.type,
|
|
46
|
+
image: attachment.image,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
else if (attachment.type === "pdf") {
|
|
50
|
+
const parsed = parseDataUrl(attachment.data);
|
|
51
|
+
return {
|
|
52
|
+
type: "file",
|
|
53
|
+
data: parsed?.data ?? attachment.data,
|
|
54
|
+
mediaType: parsed?.mediaType ?? "application/pdf",
|
|
55
|
+
filename: attachment.fileName,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
else if (isTextAttachment(attachment)) {
|
|
59
|
+
return {
|
|
60
|
+
type: "text",
|
|
61
|
+
text: `<${attachment.type}_file name="${sanitizeXmlAttribute(attachment.fileName)}">\n${attachment.content}\n</${attachment.type}_file>`,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
throw new Error("Unsupported attachment type");
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
};
|
|
14
69
|
const buildUserMessage = (userPrompt, promptContext, planContext, mode, services, userChanges) => {
|
|
15
70
|
const content = [];
|
|
16
71
|
const focusedEntities = promptContext?.entities;
|
|
@@ -98,17 +153,7 @@ const buildUserMessage = (userPrompt, promptContext, planContext, mode, services
|
|
|
98
153
|
});
|
|
99
154
|
}
|
|
100
155
|
if (promptContext?.attachments?.length) {
|
|
101
|
-
content.push(...promptContext.attachments
|
|
102
|
-
if (attachment.type === "image") {
|
|
103
|
-
return {
|
|
104
|
-
type: attachment.type,
|
|
105
|
-
image: attachment.image,
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
throw "Unsupported attachment type";
|
|
110
|
-
}
|
|
111
|
-
}));
|
|
156
|
+
content.push(...mapAttachmentsToContentParts(promptContext.attachments));
|
|
112
157
|
}
|
|
113
158
|
if (mode !== undefined) {
|
|
114
159
|
let modeText = `You are currently in ${mode === AiMode.PLAN ? "Plan" : "Build"} mode.`;
|
|
@@ -126,19 +171,21 @@ const buildUserMessage = (userPrompt, promptContext, planContext, mode, services
|
|
|
126
171
|
text: `<approved_plan>Reference this previously approved plan when executing. Do not deviate without user confirmation.\n${planSummary}\n</approved_plan>\n\n`,
|
|
127
172
|
});
|
|
128
173
|
}
|
|
129
|
-
//
|
|
174
|
+
// Add testing instructions if enableTesting is set on the plan context
|
|
175
|
+
const shouldTest = planContext?.enableTesting === true;
|
|
176
|
+
if (shouldTest && mode === AiMode.BUILD) {
|
|
177
|
+
content.push({
|
|
178
|
+
type: "text",
|
|
179
|
+
text: `<testing_required>
|
|
180
|
+
IMPORTANT: Testing is enabled for this plan. After building the features, you MUST call the \`startTestRun\` tool to invoke the Testing Agent.
|
|
181
|
+
The Testing Agent will verify your implementation works correctly before you can finalize.
|
|
182
|
+
Do NOT call \`build_finalize\` until testing is complete.
|
|
183
|
+
</testing_required>\n\n`,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
// Include attachments from approved plan for execution
|
|
130
187
|
if (planApproved && planContext?.attachments?.length) {
|
|
131
|
-
content.push(...planContext.attachments
|
|
132
|
-
if (attachment.type === "image") {
|
|
133
|
-
return {
|
|
134
|
-
type: attachment.type,
|
|
135
|
-
image: attachment.image,
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
throw "Unsupported attachment type";
|
|
140
|
-
}
|
|
141
|
-
}));
|
|
188
|
+
content.push(...mapAttachmentsToContentParts(planContext.attachments));
|
|
142
189
|
}
|
|
143
190
|
content.push({
|
|
144
191
|
type: "text",
|
|
@@ -159,7 +206,7 @@ export const doLLMGenerating = (clark, services) => {
|
|
|
159
206
|
const mode = clark.context.currentMode;
|
|
160
207
|
const planContext = clark.context.planContext;
|
|
161
208
|
const planApproved = planContext?.approved;
|
|
162
|
-
const system = buildBaseSystemPrompt(mode);
|
|
209
|
+
const system = buildBaseSystemPrompt(services, mode);
|
|
163
210
|
const user = buildUserMessage(userPrompt, promptContext, planContext, mode, services, clark.context.userChanges);
|
|
164
211
|
const tools = await buildTools(clark, services);
|
|
165
212
|
const result = await clark.streamText(services, {
|
|
@@ -173,6 +220,7 @@ export const doLLMGenerating = (clark, services) => {
|
|
|
173
220
|
hasToolSuccess("build_finalize"),
|
|
174
221
|
hasToolSuccess("exitPlanMode"),
|
|
175
222
|
hasToolSuccess("askMultiChoice"),
|
|
223
|
+
needsPermissionToExecute(clark),
|
|
176
224
|
isAwaitingUser(clark),
|
|
177
225
|
],
|
|
178
226
|
});
|
|
@@ -224,14 +272,19 @@ export const doLLMGenerating = (clark, services) => {
|
|
|
224
272
|
});
|
|
225
273
|
return;
|
|
226
274
|
}
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
275
|
+
try {
|
|
276
|
+
const clarkAskedUserAQuestion = hasToolSuccess("askMultiChoice")({
|
|
277
|
+
steps: await result.steps,
|
|
278
|
+
}) || clark.context.pendingToolPermissionRequest;
|
|
279
|
+
if (clarkAskedUserAQuestion) {
|
|
280
|
+
void transitionTo({
|
|
281
|
+
type: AGENT_NEEDS_USER_INPUT,
|
|
282
|
+
});
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
catch (error) {
|
|
287
|
+
clark.logger.error("Error checking for user input", getErrorMeta(error));
|
|
235
288
|
}
|
|
236
289
|
const hasLocalDraft = await services.draftInterface.hasLocalDraftChanges();
|
|
237
290
|
if (hasLocalDraft) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-generating.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/llm-generating.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,MAAM,
|
|
1
|
+
{"version":3,"file":"llm-generating.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/llm-generating.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../../src/ai-service/state-machine/mocks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../../src/ai-service/state-machine/mocks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD,eAAO,MAAM,OAAO,QAKY,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAOL,YAAY,CAAC;AAE7B,eAAO,MAAM,SAAS,EASN,KAAK,CAAC;AAEtB,eAAO,MAAM,iBAAiB,EAiGd,uBAAuB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { simulateReadableStream } from "ai";
|
|
2
2
|
import { MockLanguageModelV2 } from "ai/test";
|
|
3
3
|
import { vi } from "vitest";
|
|
4
|
+
import { AiServiceFeatureFlags } from "../features.js";
|
|
4
5
|
// A properly formatted mock JWT with user_id in payload for tests that need JWT parsing
|
|
5
6
|
export const mockJwt = `header.${Buffer.from(JSON.stringify({
|
|
6
7
|
user_id: "test-user-123",
|
|
@@ -118,5 +119,6 @@ export const mockHandlerParams = {
|
|
|
118
119
|
recordAssistantChangeInfo: vi.fn(),
|
|
119
120
|
getLastUserMessage: vi.fn(),
|
|
120
121
|
},
|
|
122
|
+
features: AiServiceFeatureFlags.create(),
|
|
121
123
|
};
|
|
122
124
|
//# sourceMappingURL=mocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../../src/ai-service/state-machine/mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,IAAI,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"mocks.js","sourceRoot":"","sources":["../../../src/ai-service/state-machine/mocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traced-fsm.d.ts","sourceRoot":"","sources":["../../../src/ai-service/state-machine/traced-fsm.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,GAAG,EAEH,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,eAAe,CACzB,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,YAAY,EACtB,CAAC,IACC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IACvB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,2BAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,GAAG,UAAU,CAAC;AAE5E,MAAM,MAAM,2BAA2B,CACrC,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,YAAY,EACtB,CAAC,IACC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,8BAAsB,SAAS,CAC7B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC1B,CAAC,CACD,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpB,OAAO,CAAC,KAAK,CAIX;IAEF,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,OAAO,CAAc;gBAG3B,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAChC,MAAM,GAAE,YAAoC,EAC5C,MAAM,GAAE,MAAoB;IAiC9B;;OAEG;IACH,IAAW,QAAQ,IAAI,kBAAkB,GAAG,SAAS,CAEpD;IAED;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CACnC,YAAY,EAAE,CAAC,GACd,sBAAsB;IAEzB;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,GAAG,yBAAyB;IAE3E;;;SAGK;IACL,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAExC,uBAAuB;IA2BrC,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"traced-fsm.d.ts","sourceRoot":"","sources":["../../../src/ai-service/state-machine/traced-fsm.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,YAAY,EACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,GAAG,EAEH,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,eAAe,CACzB,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,YAAY,EACtB,CAAC,IACC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG;IACvB;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,2BAA2B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,sBAAsB,GAAG,UAAU,CAAC;AAE5E,MAAM,MAAM,2BAA2B,CACrC,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,YAAY,EACtB,CAAC,IACC,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,8BAAsB,SAAS,CAC7B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC1B,CAAC,CACD,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACpB,OAAO,CAAC,KAAK,CAIX;IAEF,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,OAAO,CAAc;gBAG3B,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAChC,MAAM,GAAE,YAAoC,EAC5C,MAAM,GAAE,MAAoB;IAiC9B;;OAEG;IACH,IAAW,QAAQ,IAAI,kBAAkB,GAAG,SAAS,CAEpD;IAED;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CACnC,YAAY,EAAE,CAAC,GACd,sBAAsB;IAEzB;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,GAAG,yBAAyB;IAE3E;;;SAGK;IACL,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAExC,uBAAuB;IA2BrC,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,YAAY;CASrB;AACD,MAAM,MAAM,IAAI,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE1C,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC"}
|
|
@@ -130,6 +130,9 @@ export class TracedFSM extends FSM {
|
|
|
130
130
|
this.tracer.annotate(span, {
|
|
131
131
|
outputData: safeJsonStringify(sanitizedEvent),
|
|
132
132
|
tags: { "fsm.toState": paramsOrError.to, ...tags },
|
|
133
|
+
error: this.isErrorTransitionParams(paramsOrError)
|
|
134
|
+
? safeJsonStringify(this.getErrorData(paramsOrError))
|
|
135
|
+
: undefined,
|
|
133
136
|
});
|
|
134
137
|
}
|
|
135
138
|
else {
|
|
@@ -147,5 +150,20 @@ export class TracedFSM extends FSM {
|
|
|
147
150
|
"from" in value &&
|
|
148
151
|
"to" in value);
|
|
149
152
|
}
|
|
153
|
+
isErrorTransitionParams(value) {
|
|
154
|
+
if (!this.isTransitionParams(value)) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
return "error" in value.event;
|
|
158
|
+
}
|
|
159
|
+
getErrorData(value) {
|
|
160
|
+
if (!this.isErrorTransitionParams(value)) {
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
163
|
+
if ("error" in value.event) {
|
|
164
|
+
return value.event.error;
|
|
165
|
+
}
|
|
166
|
+
return value.event;
|
|
167
|
+
}
|
|
150
168
|
}
|
|
151
169
|
//# sourceMappingURL=traced-fsm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traced-fsm.js","sourceRoot":"","sources":["../../../src/ai-service/state-machine/traced-fsm.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"traced-fsm.js","sourceRoot":"","sources":["../../../src/ai-service/state-machine/traced-fsm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-parse.d.ts","sourceRoot":"","sources":["../../../src/ai-service/util/safe-parse.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMnD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safe-parse.js","sourceRoot":"","sources":["../../../src/ai-service/util/safe-parse.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,MAAM,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-stringify.d.ts","sourceRoot":"","sources":["../../../src/ai-service/util/safe-stringify.ts"],"names":[],"mappings":"AAQA,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GACtB,MAAM,
|
|
1
|
+
{"version":3,"file":"safe-stringify.d.ts","sourceRoot":"","sources":["../../../src/ai-service/util/safe-stringify.ts"],"names":[],"mappings":"AAQA,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GACtB,MAAM,CA0ER"}
|
|
@@ -27,6 +27,13 @@ export function safeJsonStringify(obj, space) {
|
|
|
27
27
|
return "[Circular Reference]";
|
|
28
28
|
}
|
|
29
29
|
seen.add(value);
|
|
30
|
+
if (value instanceof Error) {
|
|
31
|
+
return {
|
|
32
|
+
message: value.message,
|
|
33
|
+
stack: value.stack,
|
|
34
|
+
name: value.name,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
30
37
|
// Check for toJSON method that might be broken
|
|
31
38
|
if (typeof value.toJSON === "function") {
|
|
32
39
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe-stringify.js","sourceRoot":"","sources":["../../../src/ai-service/util/safe-stringify.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;IACrB,UAAU;IACV,SAAS;IACT,KAAK;IACL,cAAc;IACd,eAAe;CAChB,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAC/B,GAAY,EACZ,KAAuB;IAEvB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAE3B,OAAO,IAAI,CAAC,SAAS,CACnB,GAAG,EACH,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACb,mCAAmC;QACnC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC/C,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,6BAA6B;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,sBAAsB,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEhB,+CAA+C;YAC/C,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjC,kDAAkD;oBAClD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,8CAA8C;oBAC9C,OAAO,+BAA+B,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,SAAS,GAAG,CAAC;gBAChF,CAAC;YACH,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC;YACH,mDAAmD;YACnD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,gCAAgC;YAChC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,cAAc,KAAK,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC;YACpD,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,YAAY,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;YACzC,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,YAAY,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;YACzC,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,uCAAuC;gBACvC,OAAO,oBAAoB,CAAC;YAC9B,CAAC;YACD,OAAO,oBAAoB,CAAC;QAC9B,CAAC;IACH,CAAC,EACD,KAAK,CACN,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"safe-stringify.js","sourceRoot":"","sources":["../../../src/ai-service/util/safe-stringify.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG;IACrB,UAAU;IACV,SAAS;IACT,KAAK;IACL,cAAc;IACd,eAAe;CAChB,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAC/B,GAAY,EACZ,KAAuB;IAEvB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;IAE3B,OAAO,IAAI,CAAC,SAAS,CACnB,GAAG,EACH,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACb,mCAAmC;QACnC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC/C,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,6BAA6B;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,OAAO,sBAAsB,CAAC;YAChC,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAEhB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC;YACJ,CAAC;YAED,+CAA+C;YAC/C,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACvC,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjC,kDAAkD;oBAClD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAAC,OAAO,MAAM,EAAE,CAAC;oBAChB,8CAA8C;oBAC9C,OAAO,+BAA+B,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,SAAS,GAAG,CAAC;gBAChF,CAAC;YACH,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC;YACH,mDAAmD;YACnD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,gCAAgC;YAChC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;gBAChC,OAAO,cAAc,KAAK,CAAC,IAAI,IAAI,WAAW,GAAG,CAAC;YACpD,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,YAAY,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;YACzC,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,OAAO,YAAY,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;YACzC,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,uCAAuC;gBACvC,OAAO,oBAAoB,CAAC;YAC9B,CAAC;YACD,OAAO,oBAAoB,CAAC;QAC9B,CAAC;IACH,CAAC,EACD,KAAK,CACN,CAAC;AACJ,CAAC"}
|
|
@@ -12,4 +12,5 @@ export type StopCondition<TOOLS extends ToolSet> = BaseStopCondition<TOOLS>;
|
|
|
12
12
|
*/
|
|
13
13
|
export declare function hasToolSuccess(toolName: string, maxAttempts?: number): StopCondition<any>;
|
|
14
14
|
export declare function isAwaitingUser(clark: Clark): StopCondition<any>;
|
|
15
|
+
export declare const needsPermissionToExecute: (clark: Clark) => StopCondition<any>;
|
|
15
16
|
//# sourceMappingURL=stop-condition.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-condition.d.ts","sourceRoot":"","sources":["../../../src/ai-service/util/stop-condition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAU,GACtB,aAAa,CAAC,GAAG,CAAC,CAcpB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAI/D"}
|
|
1
|
+
{"version":3,"file":"stop-condition.d.ts","sourceRoot":"","sources":["../../../src/ai-service/util/stop-condition.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,OAAO,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAU,GACtB,aAAa,CAAC,GAAG,CAAC,CAcpB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAI/D;AAED,eAAO,MAAM,wBAAwB,GAAI,OAAO,KAAK,KAAG,aAAa,CAAC,GAAG,CAIxE,CAAC"}
|
|
@@ -22,4 +22,9 @@ export function isAwaitingUser(clark) {
|
|
|
22
22
|
return clark.state === ClarkStateNames.AwaitingUser;
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
+
export const needsPermissionToExecute = (clark) => {
|
|
26
|
+
return async () => {
|
|
27
|
+
return clark.context.pendingToolPermissionRequest !== undefined;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
25
30
|
//# sourceMappingURL=stop-condition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-condition.js","sourceRoot":"","sources":["../../../src/ai-service/util/stop-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAShE;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,cAAsB,CAAC;IAEvB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACnB,MAAM,UAAU,GACd,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CACxC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,QAAQ,CACjD,IAAI,KAAK,CAAC;QACb,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK;aACnB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;aACvC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QAC/D,OAAO,QAAQ,IAAI,WAAW,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,OAAO,GAAG,EAAE;QACV,OAAO,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,YAAY,CAAC;IACtD,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"stop-condition.js","sourceRoot":"","sources":["../../../src/ai-service/util/stop-condition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAShE;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,cAAsB,CAAC;IAEvB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACnB,MAAM,UAAU,GACd,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CACxC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,KAAK,QAAQ,CACjD,IAAI,KAAK,CAAC;QACb,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,QAAQ,GAAG,KAAK;aACnB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;aACvC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;QAC/D,OAAO,QAAQ,IAAI,WAAW,CAAC;IACjC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,OAAO,GAAG,EAAE;QACV,OAAO,KAAK,CAAC,KAAK,KAAK,eAAe,CAAC,YAAY,CAAC;IACtD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAY,EAAsB,EAAE;IAC3E,OAAO,KAAK,IAAI,EAAE;QAChB,OAAO,KAAK,CAAC,OAAO,CAAC,4BAA4B,KAAK,SAAS,CAAC;IAClE,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strip-content.d.ts","sourceRoot":"","sources":["../../../src/ai-service/util/strip-content.ts"],"names":[],"mappings":"AAcA,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,SAAW,GAAG,CAAC,CA0BvE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const TRUNCATED_SUFFIX = "... [truncated]";
|
|
2
|
+
function truncateToBytes(str, maxBytes, suffix = TRUNCATED_SUFFIX) {
|
|
3
|
+
const strBytes = Buffer.byteLength(str);
|
|
4
|
+
if (strBytes <= maxBytes) {
|
|
5
|
+
return str;
|
|
6
|
+
}
|
|
7
|
+
return Buffer.from(str).subarray(0, maxBytes).toString("utf8") + suffix;
|
|
8
|
+
}
|
|
9
|
+
export function stripLengthyContent(value, maxBytes = 1024 * 5) {
|
|
10
|
+
if (maxBytes <= 0) {
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
if (value === null || value === undefined) {
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
if (Array.isArray(value)) {
|
|
17
|
+
return value.map((item) => stripLengthyContent(item, maxBytes));
|
|
18
|
+
}
|
|
19
|
+
if (typeof value === "object") {
|
|
20
|
+
const result = {};
|
|
21
|
+
for (const [key, val] of Object.entries(value)) {
|
|
22
|
+
result[key] = stripLengthyContent(val, maxBytes);
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
if (typeof value === "string") {
|
|
27
|
+
return truncateToBytes(value, maxBytes);
|
|
28
|
+
}
|
|
29
|
+
return value;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=strip-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strip-content.js","sourceRoot":"","sources":["../../../src/ai-service/util/strip-content.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C,SAAS,eAAe,CACtB,GAAW,EACX,QAAgB,EAChB,MAAM,GAAG,gBAAgB;IAEzB,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAI,KAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,CAAC;IAClE,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAM,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,MAAW,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAM,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a unique identifier based on message, toolname, and input.
|
|
3
|
+
*
|
|
4
|
+
* This generates a deterministic hash that can be used to identify
|
|
5
|
+
* a specific tool call based on its parameters.
|
|
6
|
+
*
|
|
7
|
+
* @param messageId - The message ID (or any message identifier)
|
|
8
|
+
* @param toolName - The name of the tool
|
|
9
|
+
* @param input - The input parameters for the tool
|
|
10
|
+
* @returns A unique identifier string
|
|
11
|
+
*/
|
|
12
|
+
export declare function getToolCallSignature(toolName: string, input: unknown): string;
|
|
13
|
+
//# sourceMappingURL=tool-signature.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-signature.d.ts","sourceRoot":"","sources":["../../../src/ai-service/util/tool-signature.ts"],"names":[],"mappings":"AAmBA;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAQ7E"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
/**
|
|
3
|
+
* Recursively sorts object keys for deterministic JSON stringification.
|
|
4
|
+
*/
|
|
5
|
+
function sortObjectKeys(obj) {
|
|
6
|
+
if (obj === null || typeof obj !== "object") {
|
|
7
|
+
return obj;
|
|
8
|
+
}
|
|
9
|
+
if (Array.isArray(obj)) {
|
|
10
|
+
return obj.map(sortObjectKeys);
|
|
11
|
+
}
|
|
12
|
+
const sorted = {};
|
|
13
|
+
for (const key of Object.keys(obj).sort()) {
|
|
14
|
+
sorted[key] = sortObjectKeys(obj[key]);
|
|
15
|
+
}
|
|
16
|
+
return sorted;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Creates a unique identifier based on message, toolname, and input.
|
|
20
|
+
*
|
|
21
|
+
* This generates a deterministic hash that can be used to identify
|
|
22
|
+
* a specific tool call based on its parameters.
|
|
23
|
+
*
|
|
24
|
+
* @param messageId - The message ID (or any message identifier)
|
|
25
|
+
* @param toolName - The name of the tool
|
|
26
|
+
* @param input - The input parameters for the tool
|
|
27
|
+
* @returns A unique identifier string
|
|
28
|
+
*/
|
|
29
|
+
export function getToolCallSignature(toolName, input) {
|
|
30
|
+
const hash = createHash("sha256");
|
|
31
|
+
// Sort keys for deterministic JSON stringification
|
|
32
|
+
const sortedInput = JSON.stringify(sortObjectKeys(input)) ?? "null";
|
|
33
|
+
hash.update(toolName ?? "");
|
|
34
|
+
hash.update(sortedInput);
|
|
35
|
+
const hashValue = hash.digest("hex");
|
|
36
|
+
return hashValue;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=tool-signature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-signature.js","sourceRoot":"","sources":["../../../src/ai-service/util/tool-signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;GAEG;AACH,SAAS,cAAc,CAAC,GAAY;IAClC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,MAAM,GAAwB,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAE,GAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,KAAc;IACnE,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,mDAAmD;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-sync-vite-plugin.d.ts","sourceRoot":"","sources":["../src/file-sync-vite-plugin.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,KAAK,EAAE,MAAM,EAA0B,MAAM,MAAM,CAAC;AAY3D,eAAO,MAAM,kBAAkB,EAAE,CAC/B,YAAY,EAAE,oBAAoB,EAClC,OAAO,CAAC,EAAE,qBAAqB,KAC5B;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"file-sync-vite-plugin.d.ts","sourceRoot":"","sources":["../src/file-sync-vite-plugin.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,KAAK,EAAE,MAAM,EAA0B,MAAM,MAAM,CAAC;AAY3D,eAAO,MAAM,kBAAkB,EAAE,CAC/B,YAAY,EAAE,oBAAoB,EAClC,OAAO,CAAC,EAAE,qBAAqB,KAC5B;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAiwC3C,CAAC"}
|
|
@@ -702,6 +702,7 @@ export const fileSyncVitePlugin = (pluginParams, options) => {
|
|
|
702
702
|
syncService.on("draftStateChanged", (hasDraft) => {
|
|
703
703
|
if (hasDraft) {
|
|
704
704
|
hasHadAnyDrafts = true;
|
|
705
|
+
logger.debug("hasHadAnyDrafts set to true");
|
|
705
706
|
}
|
|
706
707
|
void (async () => {
|
|
707
708
|
// Notify UI clients
|
|
@@ -724,6 +725,7 @@ export const fileSyncVitePlugin = (pluginParams, options) => {
|
|
|
724
725
|
aiService.handleClearAllRuntimeErrors();
|
|
725
726
|
// Always fire full-reload after the first generation
|
|
726
727
|
if (isFirstContentfulGeneration && hasHadAnyDrafts) {
|
|
728
|
+
logger.debug("Sending full-reload after first generation");
|
|
727
729
|
server.ws.send({
|
|
728
730
|
type: "full-reload",
|
|
729
731
|
});
|
|
@@ -950,6 +952,7 @@ export const fileSyncVitePlugin = (pluginParams, options) => {
|
|
|
950
952
|
});
|
|
951
953
|
if (errorIndex !== -1) {
|
|
952
954
|
loggedViteErrors.splice(errorIndex, 1);
|
|
955
|
+
logger.debug("Sending full-reload after error");
|
|
953
956
|
void ctx.server.ws.send({ type: "full-reload" });
|
|
954
957
|
return [];
|
|
955
958
|
}
|