@superblocksteam/vite-plugin-file-sync 2.0.167-next.0 → 2.0.168-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 +23 -0
- package/dist/ai-service/agent/middleware.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.d.ts +1 -1
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tool-permission-delivery.d.ts +5 -4
- package/dist/ai-service/agent/tool-permission-delivery.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-permission-delivery.js +22 -28
- package/dist/ai-service/agent/tool-permission-delivery.js.map +1 -1
- package/dist/ai-service/agent/tool-permission-outcome-metrics.d.ts +9 -0
- package/dist/ai-service/agent/tool-permission-outcome-metrics.d.ts.map +1 -0
- package/dist/ai-service/agent/tool-permission-outcome-metrics.js +23 -0
- package/dist/ai-service/agent/tool-permission-outcome-metrics.js.map +1 -0
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts +44 -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 +198 -18
- package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +2 -0
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.js.map +1 -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 +32 -19
- package/dist/ai-service/agent/tools/build-reload-file.js.map +1 -1
- package/dist/ai-service/agent/tools/get-security-findings.d.ts +45 -0
- package/dist/ai-service/agent/tools/get-security-findings.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/get-security-findings.js +74 -0
- package/dist/ai-service/agent/tools/get-security-findings.js.map +1 -0
- package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts +2 -2
- package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/integration-setup.js +24 -2
- package/dist/ai-service/agent/tools/integrations/integration-setup.js.map +1 -1
- package/dist/ai-service/agent/tools/report-security-findings.d.ts +20 -20
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +13 -2
- package/dist/ai-service/agent/tools.js.map +1 -1
- 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 +14 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/git.d.ts +2 -1
- package/dist/ai-service/agent/tools2/tools/git.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/git.js +1 -1
- package/dist/ai-service/agent/tools2/tools/git.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +5 -0
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/app-interface/app-package-manager.d.ts +43 -0
- package/dist/ai-service/app-interface/app-package-manager.d.ts.map +1 -0
- package/dist/ai-service/app-interface/app-package-manager.js +82 -0
- package/dist/ai-service/app-interface/app-package-manager.js.map +1 -0
- package/dist/ai-service/app-interface/constants.d.ts +2 -2
- package/dist/ai-service/app-interface/constants.d.ts.map +1 -1
- package/dist/ai-service/app-interface/constants.js +5 -0
- package/dist/ai-service/app-interface/constants.js.map +1 -1
- package/dist/ai-service/app-interface/file-system-interface.d.ts.map +1 -1
- package/dist/ai-service/app-interface/file-system-interface.js +0 -3
- package/dist/ai-service/app-interface/file-system-interface.js.map +1 -1
- package/dist/ai-service/app-interface/npm-error-parser.d.ts +1 -1
- package/dist/ai-service/app-interface/npm-error-parser.d.ts.map +1 -1
- package/dist/ai-service/app-interface/npm-error-parser.js +42 -8
- package/dist/ai-service/app-interface/npm-error-parser.js.map +1 -1
- package/dist/ai-service/app-interface/npm-registry.d.ts +30 -0
- package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -1
- package/dist/ai-service/app-interface/npm-registry.js +108 -1
- package/dist/ai-service/app-interface/npm-registry.js.map +1 -1
- package/dist/ai-service/app-interface/pnpm-lockfile.d.ts +28 -0
- package/dist/ai-service/app-interface/pnpm-lockfile.d.ts.map +1 -0
- package/dist/ai-service/app-interface/pnpm-lockfile.js +89 -0
- package/dist/ai-service/app-interface/pnpm-lockfile.js.map +1 -0
- package/dist/ai-service/app-interface/shell.d.ts +43 -7
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +252 -119
- package/dist/ai-service/app-interface/shell.js.map +1 -1
- package/dist/ai-service/app-interface/vulnerability-gate.d.ts +5 -0
- package/dist/ai-service/app-interface/vulnerability-gate.d.ts.map +1 -1
- package/dist/ai-service/app-interface/vulnerability-gate.js +3 -0
- package/dist/ai-service/app-interface/vulnerability-gate.js.map +1 -1
- package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
- package/dist/ai-service/app-skills/helpers.js +9 -9
- package/dist/ai-service/app-skills/helpers.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +4 -1
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +4 -0
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/checklist/persisted-checklist-store.d.ts +66 -1
- package/dist/ai-service/checklist/persisted-checklist-store.d.ts.map +1 -1
- package/dist/ai-service/checklist/persisted-checklist-store.js +274 -4
- package/dist/ai-service/checklist/persisted-checklist-store.js.map +1 -1
- package/dist/ai-service/checklist/policy-remediation.d.ts +8 -0
- package/dist/ai-service/checklist/policy-remediation.d.ts.map +1 -0
- package/dist/ai-service/checklist/policy-remediation.js +46 -0
- package/dist/ai-service/checklist/policy-remediation.js.map +1 -0
- package/dist/ai-service/checklist/remediation-findings-client.d.ts +31 -0
- package/dist/ai-service/checklist/remediation-findings-client.d.ts.map +1 -0
- package/dist/ai-service/checklist/remediation-findings-client.js +117 -0
- package/dist/ai-service/checklist/remediation-findings-client.js.map +1 -0
- package/dist/ai-service/context-download.d.ts.map +1 -1
- package/dist/ai-service/context-download.js +76 -37
- package/dist/ai-service/context-download.js.map +1 -1
- package/dist/ai-service/dev-database-file-sync.d.ts +2 -1
- package/dist/ai-service/dev-database-file-sync.d.ts.map +1 -1
- package/dist/ai-service/dev-database-file-sync.js.map +1 -1
- package/dist/ai-service/index.d.ts +59 -9
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +1191 -479
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +11 -2
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/llm/context-v2/adapter.d.ts +3 -0
- package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/adapter.js +6 -0
- package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts +22 -1
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +185 -30
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/conversation-context.d.ts +7 -0
- package/dist/ai-service/llm/context-v2/conversation-context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.d.ts +11 -10
- package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.js +128 -85
- package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/event-store.d.ts +73 -1
- package/dist/ai-service/llm/context-v2/storage/event-store.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/event-types.d.ts +152 -24
- package/dist/ai-service/llm/context-v2/storage/event-types.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/event-types.js +141 -0
- package/dist/ai-service/llm/context-v2/storage/event-types.js.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/jsonl-event-store.d.ts +20 -2
- package/dist/ai-service/llm/context-v2/storage/jsonl-event-store.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/jsonl-event-store.js +111 -49
- package/dist/ai-service/llm/context-v2/storage/jsonl-event-store.js.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/migration.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/migration.js +31 -4
- package/dist/ai-service/llm/context-v2/storage/migration.js.map +1 -1
- package/dist/ai-service/llm/context-v2/token-tracker.d.ts +34 -0
- package/dist/ai-service/llm/context-v2/token-tracker.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/token-tracker.js +164 -0
- package/dist/ai-service/llm/context-v2/token-tracker.js.map +1 -1
- package/dist/ai-service/llm/context-v2/types.d.ts +5 -2
- package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/types.js +1 -1
- package/dist/ai-service/llm/context-v2/types.js.map +1 -1
- package/dist/ai-service/llm/stream/config.d.ts +7 -0
- package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/config.js +20 -2
- package/dist/ai-service/llm/stream/config.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +30 -14
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/session.d.ts +1 -1
- package/dist/ai-service/llm/stream/session.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/session.js +1 -1
- package/dist/ai-service/llm/stream/session.js.map +1 -1
- package/dist/ai-service/security/secret-scanner-service.d.ts.map +1 -1
- package/dist/ai-service/security/secret-scanner-service.js +12 -2
- package/dist/ai-service/security/secret-scanner-service.js.map +1 -1
- package/dist/ai-service/security/secret-scanner.d.ts +1 -1
- package/dist/ai-service/security/secret-scanner.d.ts.map +1 -1
- package/dist/ai-service/security/secret-scanner.js +4 -1
- package/dist/ai-service/security/secret-scanner.js.map +1 -1
- package/dist/ai-service/security/vulnerability-triage.d.ts +2 -2
- package/dist/ai-service/state-machine/clark-fsm.d.ts +17 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +85 -8
- 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 +97 -47
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +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 +68 -50
- 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 +91 -73
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-failure.d.ts +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-failure.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-failure.js +1 -0
- package/dist/ai-service/state-machine/helpers/prompt-failure.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts +2 -1
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js +1 -0
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/user-response-message.d.ts +4 -0
- package/dist/ai-service/state-machine/helpers/user-response-message.d.ts.map +1 -0
- package/dist/ai-service/state-machine/helpers/user-response-message.js +37 -0
- package/dist/ai-service/state-machine/helpers/user-response-message.js.map +1 -0
- package/dist/ai-service/template-renderer.d.ts.map +1 -1
- package/dist/ai-service/template-renderer.js +22 -9
- package/dist/ai-service/template-renderer.js.map +1 -1
- package/dist/ai-service/types.d.ts +2 -1
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/ai-service/types.js.map +1 -1
- package/dist/components-manager.d.ts +9 -2
- package/dist/components-manager.d.ts.map +1 -1
- package/dist/components-manager.js +0 -4
- package/dist/components-manager.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +2 -1
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-helpers.d.ts +7 -0
- package/dist/file-system-helpers.d.ts.map +1 -1
- package/dist/file-system-helpers.js +9 -1
- package/dist/file-system-helpers.js.map +1 -1
- package/dist/file-system-manager.d.ts +12 -1
- package/dist/file-system-manager.d.ts.map +1 -1
- package/dist/file-system-manager.js +37 -22
- package/dist/file-system-manager.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/lock-service/index.d.ts +20 -0
- package/dist/lock-service/index.d.ts.map +1 -1
- package/dist/lock-service/index.js +53 -5
- package/dist/lock-service/index.js.map +1 -1
- package/dist/migration/get-fullstack-template-dir.js +2 -2
- package/dist/migration/get-fullstack-template-dir.js.map +1 -1
- package/dist/migration/migration-routes.d.ts.map +1 -1
- package/dist/migration/migration-routes.js +8 -2
- package/dist/migration/migration-routes.js.map +1 -1
- package/dist/plugin-options.d.ts +1 -0
- package/dist/plugin-options.d.ts.map +1 -1
- package/dist/plugin-options.js.map +1 -1
- package/dist/router-parser.d.ts.map +1 -1
- package/dist/router-parser.js +336 -65
- package/dist/router-parser.js.map +1 -1
- package/dist/socket-manager.d.ts +25 -2
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +270 -55
- package/dist/socket-manager.js.map +1 -1
- package/dist/split-edit-after-clark.d.ts +14 -0
- package/dist/split-edit-after-clark.d.ts.map +1 -0
- package/dist/split-edit-after-clark.js +40 -0
- package/dist/split-edit-after-clark.js.map +1 -0
- package/dist/sync-service/index.d.ts +2 -1
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +5 -0
- package/dist/sync-service/index.js.map +1 -1
- package/dist/sync-service/list-dir.d.ts.map +1 -1
- package/dist/sync-service/list-dir.js +9 -4
- package/dist/sync-service/list-dir.js.map +1 -1
- package/dist/util/log-sanitizer.d.ts.map +1 -1
- package/dist/util/log-sanitizer.js +4 -0
- package/dist/util/log-sanitizer.js.map +1 -1
- package/dist/vite-module-reload.d.ts +34 -0
- package/dist/vite-module-reload.d.ts.map +1 -0
- package/dist/vite-module-reload.js +121 -0
- package/dist/vite-module-reload.js.map +1 -0
- package/package.json +9 -8
|
@@ -27,23 +27,34 @@ function createWorkflowSummary(promptId, workflowMetrics) {
|
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Flush accumulated credit usage and the workflow summary for the prompt.
|
|
31
31
|
*/
|
|
32
|
-
async function
|
|
33
|
-
const { promptId, workflowMetrics } =
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
32
|
+
async function flushPromptMetrics(params) {
|
|
33
|
+
const { promptId, workflowMetrics, chatSessionStore, logger } = params;
|
|
34
|
+
if (!promptId || !workflowMetrics) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
await finalizePromptBillingMetrics(params);
|
|
38
|
+
const submitStart = performance.now();
|
|
39
|
+
logger.info("[awaiting-user] Starting submitWorkflowSummary");
|
|
40
|
+
try {
|
|
41
|
+
await chatSessionStore.submitWorkflowSummary(createWorkflowSummary(promptId, workflowMetrics));
|
|
42
|
+
logger.info(`[awaiting-user] submitWorkflowSummary completed in ${(performance.now() - submitStart).toFixed(2)}ms`);
|
|
43
|
+
}
|
|
44
|
+
catch (err) {
|
|
45
|
+
logger.warn("[awaiting-user] submitWorkflowSummary failed; continuing", {
|
|
46
|
+
durationMs: (performance.now() - submitStart).toFixed(2),
|
|
47
|
+
promptId,
|
|
48
|
+
error: err instanceof Error
|
|
49
|
+
? { name: err.name, message: err.message }
|
|
50
|
+
: String(err),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
42
53
|
}
|
|
43
54
|
export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider, llmClient, clarkProfiler, features, }) => {
|
|
44
55
|
const sendUsergenerationState = sendUserGenerationStateChannel(clark);
|
|
45
56
|
const sendUserMessage = sendUserMessageChannel(clark, chatSessionStore);
|
|
46
|
-
const emitNextSteps = async () => {
|
|
57
|
+
const emitNextSteps = async (isCurrentTransition) => {
|
|
47
58
|
// Capture the abort signal at entry so we always check the original
|
|
48
59
|
// controller, not a replacement created by a new prompt.
|
|
49
60
|
const abortSignal = clark.context.abortController?.signal;
|
|
@@ -61,7 +72,7 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
61
72
|
let stepCount = 0;
|
|
62
73
|
let caughtError;
|
|
63
74
|
try {
|
|
64
|
-
if (abortSignal?.aborted)
|
|
75
|
+
if (abortSignal?.aborted || !isCurrentTransition())
|
|
65
76
|
return;
|
|
66
77
|
// Respect the user's explicit opt-out: if `suggestNextSteps` is off we
|
|
67
78
|
// skip BOTH the LLM generation and the UI message. Done before any
|
|
@@ -82,7 +93,7 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
82
93
|
abortSignal,
|
|
83
94
|
});
|
|
84
95
|
stepCount = nextSteps.length;
|
|
85
|
-
if (abortSignal?.aborted)
|
|
96
|
+
if (abortSignal?.aborted || !isCurrentTransition())
|
|
86
97
|
return;
|
|
87
98
|
if (nextSteps.length > 0) {
|
|
88
99
|
await sendUserMessage({
|
|
@@ -121,7 +132,28 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
121
132
|
}
|
|
122
133
|
};
|
|
123
134
|
return async ({ event }) => {
|
|
124
|
-
const generationId = clark.context
|
|
135
|
+
const { activeInteractiveMessage, pendingToolPermissionRequest, promptId: generationId, } = clark.context;
|
|
136
|
+
const state = clark.state;
|
|
137
|
+
const abortSignal = clark.context.abortController?.signal;
|
|
138
|
+
const outcomeDedupeKey = resolvePromptOutcomeDedupeKey(clark.context);
|
|
139
|
+
const promptMetrics = {
|
|
140
|
+
chatSessionStore,
|
|
141
|
+
labels: resolvePromptMetricLabels(clark.context),
|
|
142
|
+
logger: clark.logger,
|
|
143
|
+
promptId: generationId,
|
|
144
|
+
promptUsageAlarmThreshold: features.promptUsageAlarmThreshold,
|
|
145
|
+
workflowMetrics: clark.context.workflowMetrics,
|
|
146
|
+
};
|
|
147
|
+
const isCurrentTransition = () => !abortSignal?.aborted &&
|
|
148
|
+
clark.state === state &&
|
|
149
|
+
resolvePromptOutcomeDedupeKey(clark.context) === outcomeDedupeKey &&
|
|
150
|
+
clark.context.activeInteractiveMessage === activeInteractiveMessage &&
|
|
151
|
+
clark.context.pendingToolPermissionRequest?.messageId ===
|
|
152
|
+
pendingToolPermissionRequest?.messageId;
|
|
153
|
+
const finishPromptBookkeeping = async () => {
|
|
154
|
+
await clarkProfiler?.endSession();
|
|
155
|
+
await flushPromptMetrics(promptMetrics);
|
|
156
|
+
};
|
|
125
157
|
switch (event.type) {
|
|
126
158
|
case AGENT_NEEDS_USER_INPUT: {
|
|
127
159
|
const { hasSuggestions = false } = clark.context;
|
|
@@ -134,25 +166,9 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
134
166
|
promptId,
|
|
135
167
|
hasWorkflowMetrics: Boolean(workflowMetrics),
|
|
136
168
|
});
|
|
137
|
-
await
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
await flushPromptBillingMetrics(clark, chatSessionStore, features.promptUsageAlarmThreshold);
|
|
141
|
-
const submitStart = performance.now();
|
|
142
|
-
clark.logger.info("[awaiting-user] Starting submitWorkflowSummary");
|
|
143
|
-
try {
|
|
144
|
-
await chatSessionStore.submitWorkflowSummary(createWorkflowSummary(promptId, workflowMetrics));
|
|
145
|
-
clark.logger.info(`[awaiting-user] submitWorkflowSummary completed in ${(performance.now() - submitStart).toFixed(2)}ms`);
|
|
146
|
-
}
|
|
147
|
-
catch (err) {
|
|
148
|
-
clark.logger.warn("[awaiting-user] submitWorkflowSummary failed; continuing", {
|
|
149
|
-
durationMs: (performance.now() - submitStart).toFixed(2),
|
|
150
|
-
promptId,
|
|
151
|
-
error: err instanceof Error
|
|
152
|
-
? { name: err.name, message: err.message }
|
|
153
|
-
: String(err),
|
|
154
|
-
});
|
|
155
|
-
}
|
|
169
|
+
await finishPromptBookkeeping();
|
|
170
|
+
if (!isCurrentTransition()) {
|
|
171
|
+
return;
|
|
156
172
|
}
|
|
157
173
|
if (advice) {
|
|
158
174
|
void sendUserMessage({
|
|
@@ -170,7 +186,6 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
170
186
|
state: AiGenerationState.AWAITING_USER_INPUT,
|
|
171
187
|
hasSuggestions,
|
|
172
188
|
});
|
|
173
|
-
const outcomeDedupeKey = resolvePromptOutcomeDedupeKey(clark.context);
|
|
174
189
|
const handoffRecorded = recordAwaitingUserPromptOutcome({
|
|
175
190
|
dedupeKey: outcomeDedupeKey,
|
|
176
191
|
advice,
|
|
@@ -188,24 +203,24 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
188
203
|
break;
|
|
189
204
|
}
|
|
190
205
|
case V3_AGENT_FINISHED: {
|
|
191
|
-
const hasSuggestions = clark.context.hasSuggestions ?? false;
|
|
206
|
+
const hasSuggestions = event.producedDraft ?? clark.context.hasSuggestions ?? false;
|
|
192
207
|
clark.logger.info("[awaiting-user] V3_AGENT_FINISHED - returning to user, emitting terminal signals", {
|
|
193
208
|
hasSuggestions,
|
|
194
209
|
willTriggerUpload: hasSuggestions,
|
|
195
210
|
currentMode: clark.context.currentMode,
|
|
196
211
|
});
|
|
197
|
-
await
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
if (promptId && workflowMetrics) {
|
|
201
|
-
await flushPromptBillingMetrics(clark, chatSessionStore, features.promptUsageAlarmThreshold);
|
|
202
|
-
await chatSessionStore.submitWorkflowSummary(createWorkflowSummary(promptId, workflowMetrics));
|
|
212
|
+
await finishPromptBookkeeping();
|
|
213
|
+
if (!isCurrentTransition()) {
|
|
214
|
+
return;
|
|
203
215
|
}
|
|
204
216
|
// Run next-steps LLM call before the terminal event. That event
|
|
205
217
|
// triggers async directory uploads that can clear the peer, causing
|
|
206
218
|
// sendUserMessage to silently drop the next_steps message.
|
|
207
219
|
if (features.suggestWhatsNext && hasSuggestions) {
|
|
208
|
-
await emitNextSteps();
|
|
220
|
+
await emitNextSteps(isCurrentTransition);
|
|
221
|
+
}
|
|
222
|
+
if (!isCurrentTransition()) {
|
|
223
|
+
return;
|
|
209
224
|
}
|
|
210
225
|
// Now safe to signal — upload/full-reload race can no longer
|
|
211
226
|
// interfere with next-steps delivery.
|
|
@@ -233,12 +248,9 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
233
248
|
hasSuggestions,
|
|
234
249
|
willTriggerUpload: hasSuggestions,
|
|
235
250
|
});
|
|
236
|
-
await
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
if (promptId && workflowMetrics) {
|
|
240
|
-
await flushPromptBillingMetrics(clark, chatSessionStore, features.promptUsageAlarmThreshold);
|
|
241
|
-
await chatSessionStore.submitWorkflowSummary(createWorkflowSummary(promptId, workflowMetrics));
|
|
251
|
+
await finishPromptBookkeeping();
|
|
252
|
+
if (!isCurrentTransition()) {
|
|
253
|
+
return;
|
|
242
254
|
}
|
|
243
255
|
if (summaryMessages.length > 0) {
|
|
244
256
|
void sendUserMessage({
|
|
@@ -262,6 +274,9 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
262
274
|
clarkProfiler.getProfiler().startFrame("summary_generation");
|
|
263
275
|
clarkProfiler.startLLMWaiting();
|
|
264
276
|
const finalSummary = await getFinalSummary(llmProvider, llmClient, chatSessionStore, summaryMessages, clark.tracer, clark.context.abortController?.signal);
|
|
277
|
+
if (!isCurrentTransition()) {
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
265
280
|
// End profiling spans
|
|
266
281
|
clarkProfiler.endFrame(); // End waiting_on_llm
|
|
267
282
|
clarkProfiler.endFrame(); // End summary_generation
|
|
@@ -284,7 +299,10 @@ export const doAwaitingUser = (clark, { signals, chatSessionStore, llmProvider,
|
|
|
284
299
|
// Run next-steps LLM call before the terminal event.
|
|
285
300
|
// See V3_AGENT_FINISHED comment for rationale.
|
|
286
301
|
if (features.suggestWhatsNext && hasSuggestions) {
|
|
287
|
-
await emitNextSteps();
|
|
302
|
+
await emitNextSteps(isCurrentTransition);
|
|
303
|
+
}
|
|
304
|
+
if (!isCurrentTransition()) {
|
|
305
|
+
return;
|
|
288
306
|
}
|
|
289
307
|
if (!generationId) {
|
|
290
308
|
throw new Error("generationCompleted emitted without promptId");
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"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":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EAGT,MAAM,IAAI,CAAC;AAGZ,OAAO,EAIL,KAAK,UAAU,EAGf,KAAK,WAAW,EAChB,KAAK,aAAa,EAInB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,yBAAyB,CAAC;AAkBjC,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,4CAA4C,CAAC;AAuCpD,OAAO,EAUL,KAAK,KAAK,EACV,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAiBzB,KAAK,uBAAuB,GACxB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC3D;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAExB,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,uBAAuB,EACjC,UAAU,EAAE,MAAM,OAAO,EACzB,UAAU,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACxC,OAAO,CAAC,uBAAuB,CAAC,CA4ClC;AAgDD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GACvC,aAAa,UAAU,EAAE,EACzB,SAAS;IACP,yBAAyB,EAAE,OAAO,CAAC;IACnC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,qCAAqC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3D,KACA,CAAC,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,EA0InC,CAAC;AASF,eAAO,MAAM,8BAA8B,GAAU,kDAKlD;IACD,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,uBAAuB,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;CACtC,KAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CA+H1C,CAAC;AAKF,wBAAgB,oCAAoC,CAClD,aAAa,EAAE,2BAA2B,GAAG,SAAS,GACrD,MAAM,CAkDR;
|
|
1
|
+
{"version":3,"file":"llm-generating.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/state-machine/handlers/llm-generating.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EAGT,MAAM,IAAI,CAAC;AAGZ,OAAO,EAIL,KAAK,UAAU,EAGf,KAAK,WAAW,EAChB,KAAK,aAAa,EAInB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAGL,KAAK,2BAA2B,EACjC,MAAM,yBAAyB,CAAC;AAkBjC,OAAO,EAKL,KAAK,mBAAmB,EACzB,MAAM,4CAA4C,CAAC;AAuCpD,OAAO,EAUL,KAAK,KAAK,EACV,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AAiBzB,KAAK,uBAAuB,GACxB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,aAAa,EAAE,OAAO,CAAA;CAAE,GACxC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC3D;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAExB,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,uBAAuB,EACjC,UAAU,EAAE,MAAM,OAAO,EACzB,UAAU,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO,GACxC,OAAO,CAAC,uBAAuB,CAAC,CA4ClC;AAgDD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GACvC,aAAa,UAAU,EAAE,EACzB,SAAS;IACP,yBAAyB,EAAE,OAAO,CAAC;IACnC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,qCAAqC,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3D,KACA,CAAC,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,EA0InC,CAAC;AASF,eAAO,MAAM,8BAA8B,GAAU,kDAKlD;IACD,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,uBAAuB,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;CACtC,KAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CA+H1C,CAAC;AAKF,wBAAgB,oCAAoC,CAClD,aAAa,EAAE,2BAA2B,GAAG,SAAS,GACrD,MAAM,CAkDR;AAseD,eAAO,MAAM,eAAe,GAC1B,OAAO,KAAK,EACZ,UAAU,uBAAuB,MAInB,WAAW,eAAe,KAAG,OAAO,CAAC,IAAI,CAquBxD,CAAC"}
|
|
@@ -470,18 +470,31 @@ Do not rely on prior knowledge from skills that may have been summarized away.
|
|
|
470
470
|
});
|
|
471
471
|
}
|
|
472
472
|
if (promptContext?.gitSetup) {
|
|
473
|
-
const { isConnected, remoteUrl } = promptContext.gitSetup;
|
|
473
|
+
const { isConnected, hasCredentialIssue, remoteUrl } = promptContext.gitSetup;
|
|
474
474
|
const urlLabel = remoteUrl ? ` (${remoteUrl})` : "";
|
|
475
|
+
let credentialGuidance;
|
|
476
|
+
if (!isConnected) {
|
|
477
|
+
credentialGuidance =
|
|
478
|
+
"Help the user connect a repository and save a personal access token with the required permissions.";
|
|
479
|
+
}
|
|
480
|
+
else if (hasCredentialIssue) {
|
|
481
|
+
credentialGuidance =
|
|
482
|
+
"The credential is invalid or expired. The PAT form is already open — guide the user to paste a new token with the required permissions and click Save. Do NOT recommend Disconnect git for credential rotation — disconnect only unlinks the repository and can rewrite the app's live git state.";
|
|
483
|
+
}
|
|
484
|
+
else {
|
|
485
|
+
credentialGuidance =
|
|
486
|
+
"To rotate or replace a personal access token before it expires, guide the user to click Update token, paste the new token, and Save. Do NOT recommend Disconnect git for credential rotation — disconnect only unlinks the repository and can rewrite the app's live git state.";
|
|
487
|
+
}
|
|
475
488
|
content.push({
|
|
476
489
|
type: "text",
|
|
477
|
-
text: `<git_setup_state>\nThe git settings tab is open. The repository is ${isConnected ? `connected${urlLabel}` : "not yet connected"}.\nYou can only provide read-only guidance — answer the user's questions about connecting to git, required token permissions, provider setup, CI/CD pipeline files, and branch workflows. Do NOT attempt to fill form fields, run git commands, or modify the configuration directly.\n</git_setup_state>\n\n`,
|
|
490
|
+
text: `<git_setup_state>\nThe git settings tab is open. The repository is ${isConnected ? `connected${urlLabel}` : "not yet connected"}.\n${credentialGuidance}\nYou can only provide read-only guidance — answer the user's questions about connecting to git, required token permissions, provider setup, CI/CD pipeline files, and branch workflows. Do NOT attempt to fill form fields, run git commands, or modify the configuration directly.\n</git_setup_state>\n\n`,
|
|
478
491
|
});
|
|
479
492
|
}
|
|
480
493
|
if (promptContext?.currentView) {
|
|
481
494
|
const viewDescriptions = {
|
|
482
495
|
"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.",
|
|
483
496
|
database: "the Database view, where the user sees the database behind each of the app's data tags and can delete the ones they no longer want. You provide read-only guidance - the user runs any delete themselves from that view.",
|
|
484
|
-
"git-setup": "the Git Setup view, where the user connects their application to a git repository. You provide read-only guidance — do not attempt to modify the form.",
|
|
497
|
+
"git-setup": "the Git Setup view, where the user connects their application to a git repository or updates their personal access token. For token rotation, guide them to the PAT form (Update token if healthy, or Save if the form is already open for an expired/invalid credential) — never Disconnect. You provide read-only guidance — do not attempt to modify the form.",
|
|
485
498
|
"integration-setup": "the Integration Setup view, where the user configures an integration (e.g. database credentials, API keys, or connection settings).",
|
|
486
499
|
publish: "the Publish view, where the user reviews policy gate scan results, database provisioning progress, and remediation guidance during publish.",
|
|
487
500
|
preview: "the Preview, where the user sees a live preview of their application as it would appear in a browser.",
|
|
@@ -759,7 +772,6 @@ export const doLLMGenerating = (clark, services) => {
|
|
|
759
772
|
const isKnowledgeEnabled = clark.context.llmConfig?.flags?.isFactsEnabled ?? false;
|
|
760
773
|
const mode = clark.context.currentMode;
|
|
761
774
|
const planContext = clark.context.planContext;
|
|
762
|
-
const planApproved = planContext?.approved;
|
|
763
775
|
const pendingKnowledgeFreeTextTurn = clark.context.pendingKnowledgeFreeTextTurn === true;
|
|
764
776
|
const pendingKnowledgeEntries = clark.context.pendingAppKnowledge?.knowledgeEntries?.map((entry) => ({
|
|
765
777
|
name: entry.name,
|
|
@@ -985,63 +997,79 @@ export const doLLMGenerating = (clark, services) => {
|
|
|
985
997
|
}
|
|
986
998
|
preSessionWatch.complete("ok");
|
|
987
999
|
const attemptModel = new AttemptModelObserver(clark.context.llmConfig?.coreModel);
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1000
|
+
// A provider configuration error thrown while starting the stream must
|
|
1001
|
+
// use the same LLM_ERRORED path as a mid-stream failure. The FSM has
|
|
1002
|
+
// already entered LLMGenerating, and an uncaught throw leaves it there.
|
|
1003
|
+
let result;
|
|
1004
|
+
let streamStartError;
|
|
1005
|
+
try {
|
|
1006
|
+
result = await clark.streamText(services, {
|
|
1007
|
+
user,
|
|
1008
|
+
system,
|
|
1009
|
+
tools,
|
|
1010
|
+
contextPartitionLogging: services.features.contextPartitionLoggingEnabled,
|
|
1011
|
+
contextPartitionFloor: {
|
|
1012
|
+
knowledge: [
|
|
1013
|
+
knowledgeSections.systemPromptSection.trim(),
|
|
1014
|
+
appKnowledgeAlwaysSection.trim(),
|
|
1015
|
+
],
|
|
1016
|
+
skillIndex: [
|
|
1017
|
+
knowledgeSections.onDemandSkillIndex,
|
|
1018
|
+
appKnowledgeIndexSection.trim(),
|
|
1019
|
+
],
|
|
1020
|
+
},
|
|
1021
|
+
observers: [...(services.streamObservers ?? []), attemptModel],
|
|
1022
|
+
context: {
|
|
1023
|
+
contextId: getContextId(clark, services),
|
|
1024
|
+
},
|
|
1025
|
+
stopWhen: [
|
|
1026
|
+
hasToolSuccess("build_finalize"),
|
|
1027
|
+
hasToolSuccess("exitPlanMode"),
|
|
1028
|
+
hasToolSuccess("askMultiChoice"),
|
|
1029
|
+
hasToolSuccess("askSearchableDropdown"),
|
|
1030
|
+
hasToolSuccess("openExistingIntegration"),
|
|
1031
|
+
hasToolSuccess("openIntegrationSetup"),
|
|
1032
|
+
needsPermissionToExecute(clark),
|
|
1033
|
+
isAwaitingUser(clark),
|
|
1001
1034
|
],
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
model: services.features.safetyClassificationEnabled
|
|
1027
|
-
? services.llmProvider.modelForTask("fast").model
|
|
1028
|
-
: undefined,
|
|
1029
|
-
failOpen: true,
|
|
1030
|
-
},
|
|
1031
|
-
secretRedaction: {
|
|
1032
|
-
level: services.features.secretRedactionLevel ?? "full",
|
|
1033
|
-
},
|
|
1034
|
-
}
|
|
1035
|
-
: undefined,
|
|
1036
|
-
});
|
|
1035
|
+
onError: (error) => {
|
|
1036
|
+
clark.logger.error("LLM stream processing failed", getErrorMeta(error));
|
|
1037
|
+
},
|
|
1038
|
+
safety: isUserPrompt
|
|
1039
|
+
? {
|
|
1040
|
+
scope: "last",
|
|
1041
|
+
classification: {
|
|
1042
|
+
enabled: services.features.safetyClassificationEnabled ?? false,
|
|
1043
|
+
input: safetyClassificationInput,
|
|
1044
|
+
model: services.features.safetyClassificationEnabled
|
|
1045
|
+
? services.llmProvider.modelForTask("fast").model
|
|
1046
|
+
: undefined,
|
|
1047
|
+
failOpen: true,
|
|
1048
|
+
},
|
|
1049
|
+
secretRedaction: {
|
|
1050
|
+
level: services.features.secretRedactionLevel ?? "full",
|
|
1051
|
+
},
|
|
1052
|
+
}
|
|
1053
|
+
: undefined,
|
|
1054
|
+
});
|
|
1055
|
+
}
|
|
1056
|
+
catch (err) {
|
|
1057
|
+
streamStartError = err;
|
|
1058
|
+
}
|
|
1037
1059
|
let shouldTransitionToAwaitingUser;
|
|
1038
1060
|
let blockedAwaitingUserTransitionReason;
|
|
1039
1061
|
const markVisiblePromptAwaitingUser = () => {
|
|
1040
1062
|
blockedAwaitingUserTransitionReason = undefined;
|
|
1041
1063
|
shouldTransitionToAwaitingUser = true;
|
|
1042
1064
|
};
|
|
1043
|
-
clark.logger.info("[llm-generating] Starting to process stream chunks");
|
|
1044
1065
|
try {
|
|
1066
|
+
if (streamStartError !== undefined) {
|
|
1067
|
+
throw streamStartError;
|
|
1068
|
+
}
|
|
1069
|
+
if (!result) {
|
|
1070
|
+
throw new Error("LLM stream did not start");
|
|
1071
|
+
}
|
|
1072
|
+
clark.logger.info("[llm-generating] Starting to process stream chunks");
|
|
1045
1073
|
for await (const chunk of result.fullStream) {
|
|
1046
1074
|
if (isStaleRun()) {
|
|
1047
1075
|
clark.logger.warn("[llm-generating] Ignoring stale stream chunk from prior run", {
|
|
@@ -1213,27 +1241,8 @@ export const doLLMGenerating = (clark, services) => {
|
|
|
1213
1241
|
});
|
|
1214
1242
|
return;
|
|
1215
1243
|
}
|
|
1216
|
-
// In PLAN mode, only proceed to draft state if the user has approved the plan
|
|
1217
|
-
if (mode === AiMode.PLAN && !planApproved) {
|
|
1218
|
-
if (isStaleRun()) {
|
|
1219
|
-
clark.logger.info("[llm-generating] Ignoring plan-awaiting transition from stale run", {
|
|
1220
|
-
runPromptId,
|
|
1221
|
-
currentPromptId: clark.context.promptId,
|
|
1222
|
-
});
|
|
1223
|
-
return;
|
|
1224
|
-
}
|
|
1225
|
-
clark.logger.info("[llm-generating] Early return: PLAN mode without approval - transitioning to AGENT_NEEDS_USER_INPUT", {
|
|
1226
|
-
hasSuggestions: clark.context.hasSuggestions,
|
|
1227
|
-
mode,
|
|
1228
|
-
planApproved,
|
|
1229
|
-
});
|
|
1230
|
-
void transitionTo({
|
|
1231
|
-
type: AGENT_NEEDS_USER_INPUT,
|
|
1232
|
-
countsAsPromptSuccess: true,
|
|
1233
|
-
});
|
|
1234
|
-
return;
|
|
1235
|
-
}
|
|
1236
1244
|
if (shouldTransitionToAwaitingUser ||
|
|
1245
|
+
clark.context.activeInteractiveMessage?.deliveredViaChannel ||
|
|
1237
1246
|
clark.context.pendingToolPermissionRequest) {
|
|
1238
1247
|
if (isStaleRun()) {
|
|
1239
1248
|
clark.logger.info("[llm-generating] Ignoring awaiting-user transition from stale run", {
|
|
@@ -1259,6 +1268,15 @@ export const doLLMGenerating = (clark, services) => {
|
|
|
1259
1268
|
});
|
|
1260
1269
|
return;
|
|
1261
1270
|
}
|
|
1271
|
+
if (mode === AiMode.PLAN && !planContext?.approved) {
|
|
1272
|
+
if (!isStaleRun()) {
|
|
1273
|
+
void transitionTo({
|
|
1274
|
+
type: V3_AGENT_FINISHED,
|
|
1275
|
+
producedDraft: false,
|
|
1276
|
+
});
|
|
1277
|
+
}
|
|
1278
|
+
return;
|
|
1279
|
+
}
|
|
1262
1280
|
const draftRefreshResult = await refreshHasSuggestionsFromLocalDraft(clark, services, isStaleRun, { runPromptId });
|
|
1263
1281
|
if (draftRefreshResult.status === "stale") {
|
|
1264
1282
|
return;
|