@superblocksteam/vite-plugin-file-sync 2.0.105 → 2.0.106-next.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/dist/ai-service/agent/middleware.d.ts.map +1 -1
- package/dist/ai-service/agent/middleware.js +33 -0
- package/dist/ai-service/agent/middleware.js.map +1 -1
- package/dist/ai-service/agent/prompts/api-prompts.d.ts +3 -3
- package/dist/ai-service/agent/prompts/api-prompts.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/api-prompts.js +256 -62
- package/dist/ai-service/agent/prompts/api-prompts.js.map +1 -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 +17 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +3 -0
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/analysis.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/analysis.js +7 -1
- package/dist/ai-service/agent/tools/apis/analysis.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-testing-state.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-testing-state.js +1 -2
- package/dist/ai-service/agent/tools/apis/api-testing-state.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/sdk-registry.d.ts +11 -0
- package/dist/ai-service/agent/tools/apis/sdk-registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/sdk-registry.js +41 -1
- package/dist/ai-service/agent/tools/apis/sdk-registry.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +49 -4
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.js +11 -13
- package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.js +22 -2
- package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.js +12 -0
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +1 -0
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +1 -0
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +9 -0
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.js +66 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/index.d.ts +1 -0
- package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/index.js +1 -0
- package/dist/ai-service/agent/tools/integrations/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts +86 -0
- package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/integration-setup.js +353 -0
- package/dist/ai-service/agent/tools/integrations/integration-setup.js.map +1 -0
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +19 -2
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.js +5 -2
- package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +7 -4
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +2 -2
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ask-searchable-dropdown.d.ts +18 -0
- package/dist/ai-service/agent/tools2/tools/ask-searchable-dropdown.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/ask-searchable-dropdown.js +82 -0
- package/dist/ai-service/agent/tools2/tools/ask-searchable-dropdown.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +1 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.js +0 -8
- package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata.js +5 -6
- package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -1
- package/dist/ai-service/agent/tools2/types.d.ts +13 -1
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/types.js +12 -0
- package/dist/ai-service/agent/tools2/types.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +3 -1
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +57 -0
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/features.d.ts +14 -1
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +12 -2
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts +5 -1
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +45 -49
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +21 -0
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +50 -0
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +7 -3
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/uniquify-filenames.d.ts +15 -0
- package/dist/ai-service/llm/context-v2/uniquify-filenames.d.ts.map +1 -0
- package/dist/ai-service/llm/context-v2/uniquify-filenames.js +91 -0
- package/dist/ai-service/llm/context-v2/uniquify-filenames.js.map +1 -0
- package/dist/ai-service/llm/error.d.ts +11 -1
- package/dist/ai-service/llm/error.d.ts.map +1 -1
- package/dist/ai-service/llm/error.js +9 -0
- package/dist/ai-service/llm/error.js.map +1 -1
- package/dist/ai-service/llm/stream/config.d.ts +2 -0
- package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/config.js +2 -1
- package/dist/ai-service/llm/stream/config.js.map +1 -1
- package/dist/ai-service/llm/stream/errors.d.ts +13 -1
- package/dist/ai-service/llm/stream/errors.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/errors.js +17 -1
- package/dist/ai-service/llm/stream/errors.js.map +1 -1
- package/dist/ai-service/llm/stream/idle-monitor.d.ts +63 -0
- package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -0
- package/dist/ai-service/llm/stream/idle-monitor.js +106 -0
- package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -0
- package/dist/ai-service/llm/stream/managed-stream.d.ts +4 -1
- package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/managed-stream.js +14 -2
- package/dist/ai-service/llm/stream/managed-stream.js.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts +1 -0
- package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/observers/llmobs.js +47 -6
- package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +23 -2
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js +4 -11
- package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js +10 -3
- package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +171 -19
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +4 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +3 -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 +105 -5
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/awaiting-user.js +8 -24
- package/dist/ai-service/state-machine/handlers/awaiting-user.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 +84 -8
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +9 -0
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/git-service/azure-devops-workflow.d.ts +6 -0
- package/dist/git-service/azure-devops-workflow.d.ts.map +1 -0
- package/dist/git-service/azure-devops-workflow.js +12 -0
- package/dist/git-service/azure-devops-workflow.js.map +1 -0
- package/dist/parsing/index.d.ts +1 -1
- package/dist/parsing/index.d.ts.map +1 -1
- package/dist/parsing/index.js +1 -1
- package/dist/parsing/index.js.map +1 -1
- package/dist/parsing/sdk-registry.d.ts +12 -0
- package/dist/parsing/sdk-registry.d.ts.map +1 -1
- package/dist/parsing/sdk-registry.js +78 -22
- package/dist/parsing/sdk-registry.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +23 -4
- package/dist/socket-manager.js.map +1 -1
- package/package.json +7 -7
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AiEntityType, AiGenerationState, } from "@superblocksteam/library-shared/types";
|
|
2
2
|
import { generateShortId } from "../../../ids.js";
|
|
3
3
|
import { getErrorMeta, getLogger } from "../../../util/logger.js";
|
|
4
|
+
import { getToolCallArguments, getToolErrorCode, getToolOutput, } from "../../agent/tool-message-utils.js";
|
|
4
5
|
import { debugCache } from "../../agent/tools/debug-cache.js";
|
|
5
6
|
import { handleAppKnowledgeApprovalResponse } from "../../app-skills/helpers.js";
|
|
6
7
|
import { AttachmentsStore } from "../../attachments/index.js";
|
|
@@ -124,6 +125,7 @@ Address the errors and return the fixed code.`;
|
|
|
124
125
|
debugCache.getErrorHistoryTracker().clear();
|
|
125
126
|
const { request, peer, peerId } = event;
|
|
126
127
|
const promptContextWithUploadedAttachments = request.promptContext;
|
|
128
|
+
const pendingIntegrationActionMessageId = clark.context.pendingIntegrationActionPrompt?.messageId;
|
|
127
129
|
// Re-bind the latest peer for this prompt turn so follow-up messages
|
|
128
130
|
// and generation-state events can still be sent during build-mode
|
|
129
131
|
// reconnect churn.
|
|
@@ -167,6 +169,7 @@ Address the errors and return the fixed code.`;
|
|
|
167
169
|
isRememberCommand,
|
|
168
170
|
});
|
|
169
171
|
}
|
|
172
|
+
let isIntegrationActionResponse = false;
|
|
170
173
|
// Record user message - use recordUserResponse if this is a response to an interactive message
|
|
171
174
|
if (request.responseMetadata) {
|
|
172
175
|
if (request.responseMetadata.type === "tool_permission_response") {
|
|
@@ -192,6 +195,23 @@ Address the errors and return the fixed code.`;
|
|
|
192
195
|
if (handledKnowledge) {
|
|
193
196
|
return;
|
|
194
197
|
}
|
|
198
|
+
if (request.responseMetadata.type === "multi_choice_response") {
|
|
199
|
+
if (pendingIntegrationActionMessageId &&
|
|
200
|
+
request.responseMetadata.responseToMessageId ===
|
|
201
|
+
pendingIntegrationActionMessageId) {
|
|
202
|
+
isIntegrationActionResponse = true;
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
const messages = await params.chatSessionStore.getMessages();
|
|
206
|
+
const parentMessage = messages.find((msg) => msg.type === "multi_choice" &&
|
|
207
|
+
msg.id === request.responseMetadata?.responseToMessageId);
|
|
208
|
+
const parentChoices = (parentMessage?.choices ?? []).map((choice) => typeof choice === "string" ? choice : choice.text);
|
|
209
|
+
isIntegrationActionResponse =
|
|
210
|
+
parentChoices.length === 2 &&
|
|
211
|
+
parentChoices.includes("Discard integration setup") &&
|
|
212
|
+
parentChoices.includes("Save integration");
|
|
213
|
+
}
|
|
214
|
+
}
|
|
195
215
|
// If the user sent a chat message in response to a multi-choice fact
|
|
196
216
|
// approval (instead of selecting choices), restore the candidates so
|
|
197
217
|
// the model can see them and decide which facts to keep based on the
|
|
@@ -222,23 +242,103 @@ Address the errors and return the fixed code.`;
|
|
|
222
242
|
approved: request.responseMetadata.approved,
|
|
223
243
|
selectedScopes: request.responseMetadata.selectedScopes,
|
|
224
244
|
}
|
|
225
|
-
:
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
245
|
+
: request.responseMetadata.type ===
|
|
246
|
+
"searchable_dropdown_response"
|
|
247
|
+
? {
|
|
248
|
+
responseToMessageId: request.responseMetadata.responseToMessageId,
|
|
249
|
+
selectedValue: request.responseMetadata.selectedValue,
|
|
250
|
+
selectedLabel: request.responseMetadata.selectedLabel,
|
|
251
|
+
}
|
|
252
|
+
: {
|
|
253
|
+
responseToMessageId: request.responseMetadata.responseToMessageId,
|
|
254
|
+
approved: request.responseMetadata.approved,
|
|
255
|
+
enableTesting: request.responseMetadata.enableTesting,
|
|
256
|
+
};
|
|
230
257
|
const chatmessageId = await params.chatSessionStore.recordUserResponse(request.prompt, request.responseMetadata.type, metadata);
|
|
231
258
|
if (chatmessageId) {
|
|
232
259
|
clark.updateContext({
|
|
233
260
|
chatmessageId,
|
|
234
261
|
});
|
|
235
262
|
}
|
|
263
|
+
if (isIntegrationActionResponse) {
|
|
264
|
+
const selectedResponseText = request.prompt.trim().toLowerCase();
|
|
265
|
+
const toolName = selectedResponseText.includes("save integration")
|
|
266
|
+
? "saveIntegration"
|
|
267
|
+
: selectedResponseText.includes("discard integration setup") ||
|
|
268
|
+
selectedResponseText.includes("close integration setup")
|
|
269
|
+
? "closeIntegrationSetup"
|
|
270
|
+
: null;
|
|
271
|
+
clark.updateContext({
|
|
272
|
+
pendingIntegrationActionPrompt: undefined,
|
|
273
|
+
});
|
|
274
|
+
if (!toolName || toolName === "saveIntegration") {
|
|
275
|
+
// For "Save integration" (and free-text), hand off to the LLM.
|
|
276
|
+
// Clark will call saveIntegration itself, then follow up based
|
|
277
|
+
// on the result (close on success, reopen on failure).
|
|
278
|
+
// For free-text, the normal planning flow handles it.
|
|
279
|
+
void sendUserGenerationState({
|
|
280
|
+
state: AiGenerationState.GENERATING,
|
|
281
|
+
});
|
|
282
|
+
void sendUserMessageChannel(clark, params.chatSessionStore)({
|
|
283
|
+
type: "reasoning",
|
|
284
|
+
text: "",
|
|
285
|
+
});
|
|
286
|
+
void transitionTo({
|
|
287
|
+
type: AGENT_PLANNED,
|
|
288
|
+
userPrompt: request.prompt,
|
|
289
|
+
promptContext: request.promptContext,
|
|
290
|
+
isUserPrompt: false,
|
|
291
|
+
});
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
// closeIntegrationSetup — execute directly, no LLM needed.
|
|
296
|
+
const toolInput = {};
|
|
297
|
+
const toolCallId = crypto.randomUUID();
|
|
298
|
+
const sendUserMessage = sendUserMessageChannel(clark, params.chatSessionStore);
|
|
299
|
+
const args = await getToolCallArguments(toolName, toolInput, clark);
|
|
300
|
+
void sendUserMessage({
|
|
301
|
+
type: "tool",
|
|
302
|
+
tool: toolName,
|
|
303
|
+
toolCallId,
|
|
304
|
+
args,
|
|
305
|
+
});
|
|
306
|
+
const accessControlContext = clark.getAccessControl(params.features);
|
|
307
|
+
const result = await params.toolRegistry.execute(toolName, toolInput, accessControlContext, { toolCallId, messages: [] });
|
|
308
|
+
if (result.type === "success") {
|
|
309
|
+
const output = getToolOutput(toolName, result.data);
|
|
310
|
+
void sendUserMessage({
|
|
311
|
+
type: "tool-result",
|
|
312
|
+
toolCallId,
|
|
313
|
+
toolName,
|
|
314
|
+
output,
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
else {
|
|
318
|
+
const errorCode = getToolErrorCode(result.error);
|
|
319
|
+
void sendUserMessage({
|
|
320
|
+
type: "tool-error",
|
|
321
|
+
toolCallId,
|
|
322
|
+
toolName,
|
|
323
|
+
error: result.error.message,
|
|
324
|
+
errorCode,
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
void transitionTo({
|
|
328
|
+
type: AGENT_NEEDS_USER_INPUT,
|
|
329
|
+
});
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
236
333
|
}
|
|
237
334
|
}
|
|
238
335
|
else {
|
|
239
336
|
if (clark.context.activeInteractiveMessage) {
|
|
240
337
|
clark.updateContext({ activeInteractiveMessage: undefined });
|
|
241
338
|
}
|
|
339
|
+
if (clark.context.pendingIntegrationActionPrompt) {
|
|
340
|
+
clark.updateContext({ pendingIntegrationActionPrompt: undefined });
|
|
341
|
+
}
|
|
242
342
|
// If the user continues with a new prompt instead of approving pending
|
|
243
343
|
// app knowledge, treat that as an implicit rejection and clear
|
|
244
344
|
// pending state so no stale candidates can be saved later.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-planning.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/agent-planning.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-planning.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/agent-planning.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { type Clark, type ClarkStateHandlerParams, type ClarkTransition } from "../clark-fsm.js";
|
|
2
|
-
export declare const doAwaitingUser: (clark: Clark, { signals, chatSessionStore, llmProvider, clarkProfiler, }: ClarkStateHandlerParams) => ({ event }: ClarkTransition) => Promise<void>;
|
|
2
|
+
export declare const doAwaitingUser: (clark: Clark, { signals, chatSessionStore, llmProvider, clarkProfiler, features, }: ClarkStateHandlerParams) => ({ event }: ClarkTransition) => Promise<void>;
|
|
3
3
|
//# sourceMappingURL=awaiting-user.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awaiting-user.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/awaiting-user.ts"],"names":[],"mappings":"AAUA,OAAO,EAKL,KAAK,KAAK,EACV,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EAErB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"awaiting-user.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/awaiting-user.ts"],"names":[],"mappings":"AAUA,OAAO,EAKL,KAAK,KAAK,EACV,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EAErB,MAAM,iBAAiB,CAAC;AA4EzB,eAAO,MAAM,cAAc,GACzB,OAAO,KAAK,EACZ,sEAMG,uBAAuB,MAKZ,WAAW,eAAe,KAAG,OAAO,CAAC,IAAI,CA0MxD,CAAC"}
|
|
@@ -5,21 +5,6 @@ import { traceLLM } from "../../llmobs/helpers.js";
|
|
|
5
5
|
import { LLMObsTracer } from "../../llmobs/index.js";
|
|
6
6
|
import { AGENT_NEEDS_USER_INPUT, V3_AGENT_FINISHED, RUNTIME_REVIEW_FINISHED, SERVICE_STARTED_WITH_DRAFT, } from "../clark-fsm.js";
|
|
7
7
|
import { sendUserGenerationStateChannel, sendUserMessageChannel, } from "../helpers/peer.js";
|
|
8
|
-
/**
|
|
9
|
-
* Default threshold (in credits) for logging a warning when a single prompt's
|
|
10
|
-
* accumulated credit usage exceeds this value. Configurable via env var.
|
|
11
|
-
*/
|
|
12
|
-
const DEFAULT_PROMPT_COST_WARN_THRESHOLD = 5;
|
|
13
|
-
function getPromptCostWarnThreshold() {
|
|
14
|
-
const envVal = process.env.SUPERBLOCKS_AI_PROMPT_COST_WARN_THRESHOLD;
|
|
15
|
-
if (envVal !== undefined) {
|
|
16
|
-
const parsed = Number(envVal);
|
|
17
|
-
if (!isNaN(parsed) && parsed >= 0) {
|
|
18
|
-
return parsed;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return DEFAULT_PROMPT_COST_WARN_THRESHOLD;
|
|
22
|
-
}
|
|
23
8
|
/**
|
|
24
9
|
* Converts Clark context workflow metrics to AiWorkflowSummary format for submission.
|
|
25
10
|
*/
|
|
@@ -42,7 +27,7 @@ function createWorkflowSummary(promptId, workflowMetrics) {
|
|
|
42
27
|
/**
|
|
43
28
|
* Log accumulated credit usage for the prompt and warn if it exceeds the threshold.
|
|
44
29
|
*/
|
|
45
|
-
async function checkPromptCost(promptId, workflowMetrics, chatSessionStore, logger) {
|
|
30
|
+
async function checkPromptCost(promptId, workflowMetrics, chatSessionStore, promptUsageAlarmThreshold, logger) {
|
|
46
31
|
let totalCreditsUsed = 0;
|
|
47
32
|
try {
|
|
48
33
|
totalCreditsUsed = await chatSessionStore.calculatePromptCost(promptId, workflowMetrics.llmUsage);
|
|
@@ -54,21 +39,20 @@ async function checkPromptCost(promptId, workflowMetrics, chatSessionStore, logg
|
|
|
54
39
|
});
|
|
55
40
|
return;
|
|
56
41
|
}
|
|
57
|
-
const threshold = getPromptCostWarnThreshold();
|
|
58
42
|
const costSummary = {
|
|
59
43
|
promptId,
|
|
60
44
|
totalCreditsUsed,
|
|
61
45
|
llmCallCount: workflowMetrics.llmCallCount,
|
|
62
|
-
threshold,
|
|
46
|
+
threshold: promptUsageAlarmThreshold,
|
|
63
47
|
};
|
|
64
|
-
if (totalCreditsUsed >
|
|
65
|
-
logger.warn(`[billing:prompt-cost] Prompt credit usage ${totalCreditsUsed} exceeds threshold of ${
|
|
48
|
+
if (totalCreditsUsed > promptUsageAlarmThreshold) {
|
|
49
|
+
logger.warn(`[billing:prompt-cost] Prompt credit usage ${totalCreditsUsed} exceeds threshold of ${promptUsageAlarmThreshold}`, costSummary);
|
|
66
50
|
}
|
|
67
51
|
else {
|
|
68
52
|
logger.info(`[billing:prompt-cost] Prompt cost summary: ${totalCreditsUsed} credits across ${workflowMetrics.llmCallCount} LLM calls`, costSummary);
|
|
69
53
|
}
|
|
70
54
|
}
|
|
71
|
-
export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider, clarkProfiler, }) => {
|
|
55
|
+
export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider, clarkProfiler, features, }) => {
|
|
72
56
|
const sendUsergenerationState = sendUserGenerationStateChannel(clark);
|
|
73
57
|
const sendUserMessage = sendUserMessageChannel(clark, chatSessionStore);
|
|
74
58
|
return async ({ event }) => {
|
|
@@ -88,7 +72,7 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
88
72
|
await clarkProfiler?.endSession();
|
|
89
73
|
// Submit workflow summary metrics and check prompt cost
|
|
90
74
|
if (promptId && workflowMetrics) {
|
|
91
|
-
await checkPromptCost(promptId, workflowMetrics, chatSessionStore, clark.logger);
|
|
75
|
+
await checkPromptCost(promptId, workflowMetrics, chatSessionStore, features.promptUsageAlarmThreshold, clark.logger);
|
|
92
76
|
const submitStart = performance.now();
|
|
93
77
|
clark.logger.info("[awaiting-user] Starting submitWorkflowSummary");
|
|
94
78
|
try {
|
|
@@ -133,7 +117,7 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
133
117
|
// Submit workflow summary metrics and check prompt cost
|
|
134
118
|
const { promptId, workflowMetrics } = clark.context;
|
|
135
119
|
if (promptId && workflowMetrics) {
|
|
136
|
-
await checkPromptCost(promptId, workflowMetrics, chatSessionStore, clark.logger);
|
|
120
|
+
await checkPromptCost(promptId, workflowMetrics, chatSessionStore, features.promptUsageAlarmThreshold, clark.logger);
|
|
137
121
|
await chatSessionStore.submitWorkflowSummary(createWorkflowSummary(promptId, workflowMetrics));
|
|
138
122
|
}
|
|
139
123
|
void sendUsergenerationState({
|
|
@@ -153,7 +137,7 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
153
137
|
// Submit workflow summary metrics and check prompt cost
|
|
154
138
|
const { promptId, workflowMetrics } = clark.context;
|
|
155
139
|
if (promptId && workflowMetrics) {
|
|
156
|
-
await checkPromptCost(promptId, workflowMetrics, chatSessionStore, clark.logger);
|
|
140
|
+
await checkPromptCost(promptId, workflowMetrics, chatSessionStore, features.promptUsageAlarmThreshold, clark.logger);
|
|
157
141
|
await chatSessionStore.submitWorkflowSummary(createWorkflowSummary(promptId, workflowMetrics));
|
|
158
142
|
}
|
|
159
143
|
if (summaryMessages.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awaiting-user.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/awaiting-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAI1E,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,0BAA0B,GAK3B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,oBAAoB,CAAC;AAE5B
|
|
1
|
+
{"version":3,"file":"awaiting-user.js","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/awaiting-user.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-generating.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/llm-generating.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"llm-generating.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/llm-generating.ts"],"names":[],"mappings":"AAwDA,OAAO,EAWL,KAAK,KAAK,EACV,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AA0fzB,eAAO,MAAM,eAAe,GAC1B,OAAO,KAAK,EACZ,UAAU,uBAAuB,MAInB,WAAW,eAAe,KAAG,OAAO,CAAC,IAAI,CA0cxD,CAAC"}
|
|
@@ -18,7 +18,7 @@ import { parseJwt } from "../../util/parse-jwt.js";
|
|
|
18
18
|
import { hasToolSuccess, isAwaitingUser, needsPermissionToExecute, } from "../../util/stop-condition.js";
|
|
19
19
|
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";
|
|
20
20
|
import { getContextId } from "../helpers/context-id.js";
|
|
21
|
-
import { sendUserMessageChannel } from "../helpers/peer.js";
|
|
21
|
+
import { sendInteractiveMessageChannel, sendUserMessageChannel, } from "../helpers/peer.js";
|
|
22
22
|
import { transitionFrom } from "../helpers/transition.js";
|
|
23
23
|
/**
|
|
24
24
|
* Get the skill reference files that should be read based on the tagged integrations.
|
|
@@ -56,6 +56,15 @@ const parseDataUrl = (dataUrl) => {
|
|
|
56
56
|
return null;
|
|
57
57
|
};
|
|
58
58
|
const toBase64Data = (value) => Buffer.from(value, "utf8").toString("base64");
|
|
59
|
+
const getToolResultOutputObject = (output) => {
|
|
60
|
+
if (!output || typeof output !== "object") {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
if ("value" in output && output.value && typeof output.value === "object") {
|
|
64
|
+
return output.value;
|
|
65
|
+
}
|
|
66
|
+
return output;
|
|
67
|
+
};
|
|
59
68
|
/**
|
|
60
69
|
* Maps attachments to LLM content parts.
|
|
61
70
|
* Text attachments (CSV, JSON, YAML, CSS, TXT) are wrapped in XML tags.
|
|
@@ -171,11 +180,33 @@ Do not rely on prior knowledge from skills that may have been summarized away.
|
|
|
171
180
|
text: `<recent_user_changes>\nSince your last interaction, the user has made the following changes:\n${changeDescriptions.join("\n")}\n\nThe current state of the application reflects all of these changes.\n</recent_user_changes>\n\n`,
|
|
172
181
|
});
|
|
173
182
|
}
|
|
174
|
-
// Add
|
|
175
|
-
if (promptContext) {
|
|
183
|
+
// Add integration setup state
|
|
184
|
+
if (promptContext?.integrationSetup) {
|
|
185
|
+
const { pluginId, mode, integrationName } = promptContext.integrationSetup;
|
|
186
|
+
const nameLabel = integrationName ? ` ("${integrationName}")` : "";
|
|
187
|
+
content.push({
|
|
188
|
+
type: "text",
|
|
189
|
+
text: `<integration_setup_state>\nThe integration setup form is already open for ${pluginId}${nameLabel} in ${mode} mode. Do not call openIntegrationSetup or openExistingIntegration — the user can already see the form.\n</integration_setup_state>\n\n`,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
if (promptContext?.currentView) {
|
|
193
|
+
const viewDescriptions = {
|
|
194
|
+
preview: "the Preview, where the user sees a live preview of their application as it would appear in a browser.",
|
|
195
|
+
"code-viewer": "the Code view. The Code view is a read-only file viewer — the user cannot edit files directly in this view. Do not suggest editing files through the Code view UI. To make code changes, use your own tools instead.",
|
|
196
|
+
"integration-setup": "the Integration Setup view, where the user configures an integration (e.g. database credentials, API keys, or connection settings).",
|
|
197
|
+
};
|
|
198
|
+
const desc = viewDescriptions[promptContext.currentView];
|
|
199
|
+
content.push({
|
|
200
|
+
type: "text",
|
|
201
|
+
text: `<current_view>\nThe user is currently in ${desc}\n</current_view>\n\n`,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
// Add preview device context (only relevant in Preview)
|
|
205
|
+
if (promptContext &&
|
|
206
|
+
(!promptContext.currentView || promptContext.currentView === "preview")) {
|
|
176
207
|
content.push({
|
|
177
208
|
type: "text",
|
|
178
|
-
text: `<preview_device>\nThe user is currently viewing the app in ${promptContext
|
|
209
|
+
text: `<preview_device>\nThe user is currently viewing the app in ${promptContext.previewDevice === "mobile" ? "mobile preview mode (viewport width: 375px)" : "desktop preview mode (full width)"}.\n</preview_device>\n\n`,
|
|
179
210
|
});
|
|
180
211
|
}
|
|
181
212
|
// Add current page context
|
|
@@ -366,7 +397,10 @@ Do NOT call \`build_finalize\` until testing is complete.
|
|
|
366
397
|
</testing_required>\n\n`,
|
|
367
398
|
});
|
|
368
399
|
}
|
|
369
|
-
// Include attachments from approved plan for execution
|
|
400
|
+
// Include attachments from approved plan for execution.
|
|
401
|
+
// Duplicate filenames are handled downstream by uniquifyFilePartFilenames()
|
|
402
|
+
// in getMessages(), which appends stable suffixes (_2, _3, …) to collisions
|
|
403
|
+
// rather than dropping any attachments.
|
|
370
404
|
if (planApproved && planContext?.attachments?.length) {
|
|
371
405
|
content.push(...mapAttachmentsToContentParts(planContext.attachments));
|
|
372
406
|
}
|
|
@@ -487,6 +521,9 @@ export const doLLMGenerating = (clark, services) => {
|
|
|
487
521
|
hasToolSuccess("build_finalize"),
|
|
488
522
|
hasToolSuccess("exitPlanMode"),
|
|
489
523
|
hasToolSuccess("askMultiChoice"),
|
|
524
|
+
hasToolSuccess("askSearchableDropdown"),
|
|
525
|
+
hasToolSuccess("openExistingIntegration"),
|
|
526
|
+
hasToolSuccess("openIntegrationSetup"),
|
|
490
527
|
needsPermissionToExecute(clark),
|
|
491
528
|
isAwaitingUser(clark),
|
|
492
529
|
],
|
|
@@ -542,9 +579,48 @@ export const doLLMGenerating = (clark, services) => {
|
|
|
542
579
|
});
|
|
543
580
|
return;
|
|
544
581
|
}
|
|
545
|
-
if (chunk.type === "tool-result"
|
|
546
|
-
chunk.toolName === "
|
|
547
|
-
|
|
582
|
+
if (chunk.type === "tool-result") {
|
|
583
|
+
const isOpenIntegrationTool = chunk.toolName === "openExistingIntegration" ||
|
|
584
|
+
chunk.toolName === "openIntegrationSetup";
|
|
585
|
+
const isUpdateIntegrationTool = chunk.toolName === "updateIntegrationFields";
|
|
586
|
+
if (chunk.toolName === "askMultiChoice" ||
|
|
587
|
+
chunk.toolName === "askSearchableDropdown" ||
|
|
588
|
+
isOpenIntegrationTool ||
|
|
589
|
+
isUpdateIntegrationTool) {
|
|
590
|
+
shouldTransitionToAwaitingUser = true;
|
|
591
|
+
}
|
|
592
|
+
if (isOpenIntegrationTool || isUpdateIntegrationTool) {
|
|
593
|
+
const output = getToolResultOutputObject(chunk.output);
|
|
594
|
+
const success = output?.success === true;
|
|
595
|
+
if (success) {
|
|
596
|
+
const sendInteractiveMessage = sendInteractiveMessageChannel(clark, services.chatSessionStore);
|
|
597
|
+
const payload = {
|
|
598
|
+
type: "multi_choice",
|
|
599
|
+
text: "Integration drafted",
|
|
600
|
+
group: "clark",
|
|
601
|
+
choices: ["Discard integration setup", "Save integration"],
|
|
602
|
+
selectionType: "single",
|
|
603
|
+
};
|
|
604
|
+
let result = await sendInteractiveMessage(payload);
|
|
605
|
+
// Recover from stale active interactive prompts that can block
|
|
606
|
+
// the integration save/discard card from being emitted.
|
|
607
|
+
if (!result.success &&
|
|
608
|
+
clark.context.activeInteractiveMessage) {
|
|
609
|
+
clark.updateContext({
|
|
610
|
+
activeInteractiveMessage: undefined,
|
|
611
|
+
});
|
|
612
|
+
result = await sendInteractiveMessage(payload);
|
|
613
|
+
}
|
|
614
|
+
if (result.success &&
|
|
615
|
+
clark.context.activeInteractiveMessage?.id) {
|
|
616
|
+
clark.updateContext({
|
|
617
|
+
pendingIntegrationActionPrompt: {
|
|
618
|
+
messageId: clark.context.activeInteractiveMessage.id,
|
|
619
|
+
},
|
|
620
|
+
});
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
}
|
|
548
624
|
}
|
|
549
625
|
await processStreamChunk(chunk, clark, services);
|
|
550
626
|
}
|