@superblocksteam/vite-plugin-file-sync 2.0.165-next.0 → 2.0.166-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/prompts/api-prompts.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/api-prompts.js +3 -1
- 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 +43 -7
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-result-metrics.d.ts +12 -0
- package/dist/ai-service/agent/tool-result-metrics.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-result-metrics.js +29 -0
- package/dist/ai-service/agent/tool-result-metrics.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.d.ts +17 -0
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.js +208 -0
- package/dist/ai-service/agent/tools/apis/attachment-file-inputs.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts +6 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +53 -19
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.d.ts +20 -0
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.js +284 -0
- package/dist/ai-service/agent/tools/apis/sdk-root-documentation.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.d.ts +77 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.js +627 -0
- package/dist/ai-service/agent/tools/apis/spreadsheet-csv.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/test-api.d.ts +1 -0
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +51 -9
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/app-environment/update-app-environment.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-file.d.ts +50 -6
- package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.js +153 -40
- package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
- package/dist/ai-service/agent/tools/get-logs.d.ts +2 -2
- package/dist/ai-service/agent/tools/index.d.ts +3 -2
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +3 -2
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +15 -15
- package/dist/ai-service/agent/tools/read-state-trackers.d.ts +33 -0
- package/dist/ai-service/agent/tools/read-state-trackers.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/read-state-trackers.js +67 -0
- package/dist/ai-service/agent/tools/read-state-trackers.js.map +1 -0
- package/dist/ai-service/agent/tools/report-security-findings.d.ts +6 -6
- package/dist/ai-service/agent/tools/report-security-findings.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/report-security-findings.js +4 -2
- package/dist/ai-service/agent/tools/report-security-findings.js.map +1 -1
- package/dist/ai-service/agent/tools/subagent-isolation.d.ts +4 -15
- package/dist/ai-service/agent/tools/subagent-isolation.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/subagent-isolation.js +4 -44
- package/dist/ai-service/agent/tools/subagent-isolation.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +17 -64
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts +1 -0
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +23 -5
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.d.ts +9 -0
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.js +52 -0
- package/dist/ai-service/agent/tools2/tools/attachment-lease-resolver.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/bash.d.ts +2 -2
- package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/download-attachments.js +57 -49
- package/dist/ai-service/agent/tools2/tools/download-attachments.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts +3 -3
- package/dist/ai-service/agent/tools2/tools/git.d.ts +6 -6
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.js +1 -1
- package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/web-fetch.d.ts +1 -1
- package/dist/ai-service/app-skills/helpers.d.ts +8 -2
- package/dist/ai-service/app-skills/helpers.d.ts.map +1 -1
- package/dist/ai-service/app-skills/helpers.js +184 -4
- package/dist/ai-service/app-skills/helpers.js.map +1 -1
- package/dist/ai-service/attachments/text-upload-artifacts.d.ts.map +1 -1
- package/dist/ai-service/attachments/text-upload-artifacts.js +1 -1
- package/dist/ai-service/attachments/text-upload-artifacts.js.map +1 -1
- package/dist/ai-service/attachments/upload-artifact-paths.d.ts +5 -0
- package/dist/ai-service/attachments/upload-artifact-paths.d.ts.map +1 -0
- package/dist/ai-service/attachments/upload-artifact-paths.js +18 -0
- package/dist/ai-service/attachments/upload-artifact-paths.js.map +1 -0
- package/dist/ai-service/chat/chat-session-store-metrics.d.ts +6 -0
- package/dist/ai-service/chat/chat-session-store-metrics.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store-metrics.js +23 -1
- package/dist/ai-service/chat/chat-session-store-metrics.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +25 -1
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +70 -4
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/edit-after-clark.d.ts +58 -0
- package/dist/ai-service/edit-after-clark.d.ts.map +1 -0
- package/dist/ai-service/edit-after-clark.js +143 -0
- package/dist/ai-service/edit-after-clark.js.map +1 -0
- package/dist/ai-service/features.d.ts +5 -0
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +5 -0
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts +25 -3
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +123 -18
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/judge/tools/playwright-action.d.ts +5 -5
- package/dist/ai-service/llm/context-v2/context.d.ts +23 -6
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +48 -13
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/token-tracker.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/token-tracker.js.map +1 -1
- package/dist/ai-service/llm/stream/abort-reason.d.ts +31 -0
- package/dist/ai-service/llm/stream/abort-reason.d.ts.map +1 -0
- package/dist/ai-service/llm/stream/abort-reason.js +36 -0
- package/dist/ai-service/llm/stream/abort-reason.js.map +1 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts +15 -0
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +88 -12
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/migration-prompt-gating.d.ts +1 -0
- package/dist/ai-service/migration-prompt-gating.d.ts.map +1 -1
- package/dist/ai-service/migration-prompt-gating.js +6 -0
- package/dist/ai-service/migration-prompt-gating.js.map +1 -1
- package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/_registry.generated.js +8 -0
- package/dist/ai-service/skills/system/_registry.generated.js.map +1 -1
- package/dist/ai-service/skills/system/resolve.d.ts.map +1 -1
- package/dist/ai-service/skills/system/resolve.js +29 -4
- package/dist/ai-service/skills/system/resolve.js.map +1 -1
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.js +66 -0
- package/dist/ai-service/skills/system/spreadsheet-import/skill.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.js +5 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-legacy.generated.js.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.js +5 -0
- package/dist/ai-service/skills/system/superblocks-frontend/_variants/api-names-sdk.generated.js.map +1 -0
- 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 +2 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.js +6 -6
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.js +29 -0
- package/dist/ai-service/skills/system/superblocks-sdk-api/skill.generated.js.map +1 -0
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +2 -2
- package/dist/ai-service/state-machine/clark-fsm.d.ts +14 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.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 +1 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.d.ts +18 -0
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.d.ts.map +1 -0
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.js +66 -0
- package/dist/ai-service/state-machine/helpers/abandon-turn-metrics.js.map +1 -0
- package/dist/ai-service/state-machine/helpers/transition.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/transition.js.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.d.ts +12 -3
- package/dist/ai-service/state-machine/traced-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/traced-fsm.js +17 -5
- package/dist/ai-service/state-machine/traced-fsm.js.map +1 -1
- package/dist/ai-service/template-renderer.js +43 -7
- package/dist/ai-service/template-renderer.js.map +1 -1
- package/dist/ai-service/types.d.ts +2 -0
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/ai-service/types.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts +12 -3
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +57 -17
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/migration/migration-routes.d.ts.map +1 -1
- package/dist/migration/migration-routes.js +42 -23
- package/dist/migration/migration-routes.js.map +1 -1
- package/dist/npm/normalize-workspace-protocol-for-npm.d.ts.map +1 -1
- package/dist/npm/normalize-workspace-protocol-for-npm.js +5 -5
- package/dist/npm/normalize-workspace-protocol-for-npm.js.map +1 -1
- package/dist/npm/rewrite-platform-workspace-deps.d.ts +2 -0
- package/dist/npm/rewrite-platform-workspace-deps.d.ts.map +1 -1
- package/dist/npm/rewrite-platform-workspace-deps.js +2 -2
- package/dist/npm/rewrite-platform-workspace-deps.js.map +1 -1
- package/dist/policy-gate-runner.d.ts.map +1 -1
- package/dist/policy-gate-runner.js +3 -0
- package/dist/policy-gate-runner.js.map +1 -1
- package/dist/socket-manager.d.ts +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +64 -22
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/index.d.ts +14 -1
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +27 -1
- 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 +15 -1
- package/dist/sync-service/list-dir.js.map +1 -1
- package/dist/sync-service/snapshot/take-snapshot.d.ts +6 -0
- package/dist/sync-service/snapshot/take-snapshot.d.ts.map +1 -1
- package/dist/sync-service/snapshot/take-snapshot.js +21 -0
- package/dist/sync-service/snapshot/take-snapshot.js.map +1 -1
- package/dist/vite-plugin-yaml-types.d.ts +6 -0
- package/dist/vite-plugin-yaml-types.d.ts.map +1 -1
- package/dist/vite-plugin-yaml-types.js +52 -61
- package/dist/vite-plugin-yaml-types.js.map +1 -1
- package/package.json +14 -11
|
@@ -69,8 +69,145 @@ function pushSaveOutcome(knowledgeEntry, saveOutcomes, outcome) {
|
|
|
69
69
|
});
|
|
70
70
|
}
|
|
71
71
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
72
|
+
* Source tag passed to `syncCurrentDirectoryWithDraftsNow`. Reuses the plain
|
|
73
|
+
* `requestedFilesSync` action — `setApplicationHash` has no knowledge-specific
|
|
74
|
+
* behavior, so a dedicated source only adds an enum member every exhaustive
|
|
75
|
+
* switch over `ApplicationHashChangeSource` must handle for no behavioral
|
|
76
|
+
* benefit.
|
|
77
|
+
*/
|
|
78
|
+
const KNOWLEDGE_SYNC_SOURCE = "requestedFilesSync";
|
|
79
|
+
function hasSyncCurrentDirectoryWithDraftsNow(syncService) {
|
|
80
|
+
return (typeof syncService === "object" &&
|
|
81
|
+
syncService !== null &&
|
|
82
|
+
"syncCurrentDirectoryWithDraftsNow" in syncService &&
|
|
83
|
+
typeof syncService.syncCurrentDirectoryWithDraftsNow === "function");
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Best-effort, non-blocking upload of the current working tree (including
|
|
87
|
+
* the knowledge markdown files `AppSkillsManager` just wrote via plain `fs`)
|
|
88
|
+
* so a knowledge write survives a pod recycling before the next autosync
|
|
89
|
+
* pass. This is durability, not correctness: nothing in the write path or
|
|
90
|
+
* its only real consumer (`llm-generating.ts`'s prompt construction, which
|
|
91
|
+
* reads `skills/app/*.md` synchronously off local disk in the same process)
|
|
92
|
+
* depends on this sync having happened. `saveKnowledgeAndNotify` therefore
|
|
93
|
+
* never awaits this before reporting success, and a failure here is logged,
|
|
94
|
+
* not surfaced to the user — see
|
|
95
|
+
* `docs/adr/0003-knowledge-save-success-is-a-local-read-after-write.md`.
|
|
96
|
+
*
|
|
97
|
+
* Retries once on failure: the file watcher never triggers autosync for
|
|
98
|
+
* `skills/app/*.md` (`isSkillFile` fires a UI-only notification instead),
|
|
99
|
+
* so unlike most files, a knowledge write has no other path back to a
|
|
100
|
+
* durability sync short of an unrelated file change. A single retry
|
|
101
|
+
* narrows the pod-recycle data-loss window for a transient failure without
|
|
102
|
+
* adding a real retry queue.
|
|
103
|
+
*
|
|
104
|
+
* Knowledge saves deliberately do NOT go through `AppShell.writeFile()` /
|
|
105
|
+
* the draft-review pipeline. That pipeline stages a draft (see
|
|
106
|
+
* `docs/adr/0001-knowledge-writes-use-immediate-sync-not-draft-review.md`)
|
|
107
|
+
* that only becomes real, uploaded content after a human clicks Accept in
|
|
108
|
+
* the editor, which is wrong for entries already approved via chat.
|
|
109
|
+
* `syncCurrentDirectoryWithDraftsNow` is the same "write via plain fs, then
|
|
110
|
+
* sync now, no human review" method `dev-database-file-sync.ts` uses for
|
|
111
|
+
* `applyMigrations`.
|
|
112
|
+
*/
|
|
113
|
+
const KNOWLEDGE_SYNC_MAX_ATTEMPTS = 2;
|
|
114
|
+
const KNOWLEDGE_SYNC_RETRY_DELAY_MS = 2000;
|
|
115
|
+
const sleep = (ms) => {
|
|
116
|
+
const { promise, resolve } = Promise.withResolvers();
|
|
117
|
+
setTimeout(resolve, ms);
|
|
118
|
+
return promise;
|
|
119
|
+
};
|
|
120
|
+
function scheduleKnowledgeDurabilitySync(clark, params) {
|
|
121
|
+
const { syncService } = params;
|
|
122
|
+
if (!hasSyncCurrentDirectoryWithDraftsNow(syncService)) {
|
|
123
|
+
// No runtime sync service configured for this session; see the many
|
|
124
|
+
// `if (syncService)` guards in file-sync-vite-plugin.ts. The write is
|
|
125
|
+
// already durable on the pod's disk and the (only) real consumer reads
|
|
126
|
+
// it from there directly, so there is nothing to schedule.
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
const logSyncFailure = (error) => {
|
|
130
|
+
// Fire-and-forget: nothing awaits this, so a rejection or a synchronous
|
|
131
|
+
// throw from clark.tracer.trace itself would otherwise be unhandled or
|
|
132
|
+
// propagate out of the caller.
|
|
133
|
+
clark.logger.error(`[app-skills] Knowledge durability sync failed after ${KNOWLEDGE_SYNC_MAX_ATTEMPTS} attempt(s) (applicationId=${params.applicationId}, promptId=${clark.context.promptId ?? "unknown"}); write remains on local disk only until an unrelated file change triggers autosync`, getErrorMeta(error));
|
|
134
|
+
};
|
|
135
|
+
try {
|
|
136
|
+
clark.tracer
|
|
137
|
+
.trace({ kind: "task", name: "app_skills.sync" }, async (span) => {
|
|
138
|
+
const startedAt = performance.now();
|
|
139
|
+
clark.tracer.annotate(span, {
|
|
140
|
+
tags: {
|
|
141
|
+
applicationId: params.applicationId,
|
|
142
|
+
promptId: clark.context.promptId ?? "",
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
let lastError;
|
|
146
|
+
for (let attempt = 1; attempt <= KNOWLEDGE_SYNC_MAX_ATTEMPTS; attempt++) {
|
|
147
|
+
try {
|
|
148
|
+
const { directoryHash } = await syncService.syncCurrentDirectoryWithDraftsNow(KNOWLEDGE_SYNC_SOURCE);
|
|
149
|
+
clark.tracer.annotate(span, {
|
|
150
|
+
metadata: {
|
|
151
|
+
durationMs: Math.round(performance.now() - startedAt),
|
|
152
|
+
directoryHash,
|
|
153
|
+
attempt,
|
|
154
|
+
},
|
|
155
|
+
});
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
lastError = error;
|
|
160
|
+
if (attempt < KNOWLEDGE_SYNC_MAX_ATTEMPTS) {
|
|
161
|
+
await sleep(KNOWLEDGE_SYNC_RETRY_DELAY_MS);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
clark.tracer.annotate(span, {
|
|
166
|
+
error: lastError,
|
|
167
|
+
metadata: {
|
|
168
|
+
durationMs: Math.round(performance.now() - startedAt),
|
|
169
|
+
attempts: KNOWLEDGE_SYNC_MAX_ATTEMPTS,
|
|
170
|
+
},
|
|
171
|
+
});
|
|
172
|
+
throw lastError;
|
|
173
|
+
})
|
|
174
|
+
.catch(logSyncFailure);
|
|
175
|
+
}
|
|
176
|
+
catch (error) {
|
|
177
|
+
logSyncFailure(error);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Verifies a just-completed local write is actually visible on disk before
|
|
182
|
+
* `saveKnowledgeAndNotify` reports success. This is the correctness check
|
|
183
|
+
* ENG-6956 needed: the write path and its only real consumer both operate on
|
|
184
|
+
* the same local disk in the same process, so a read-after-write here is the
|
|
185
|
+
* cheapest possible proof the save is real. Throws (to be caught by the
|
|
186
|
+
* per-entry error handling in `saveKnowledgeAndNotify`) if the disk state
|
|
187
|
+
* doesn't match what was just written.
|
|
188
|
+
*/
|
|
189
|
+
async function verifyKnowledgeWriteVisible(manager, expected) {
|
|
190
|
+
if ("deletedName" in expected) {
|
|
191
|
+
const stillPresent = await manager.findFactByName(expected.deletedName);
|
|
192
|
+
if (stillPresent) {
|
|
193
|
+
throw new Error(`Knowledge entry '${expected.deletedName}' still present after delete`);
|
|
194
|
+
}
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
const written = await manager.findFactByName(expected.name);
|
|
198
|
+
if (!written || written.content.trim() !== expected.content.trim()) {
|
|
199
|
+
throw new Error(`Knowledge entry '${expected.name}' not visible on disk after write`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Persist approved knowledge entries to disk, verify each write is visible
|
|
204
|
+
* via a local read-after-write, and send an `app_knowledge_saved` message.
|
|
205
|
+
* `app_knowledge_saved` is reported only once local disk confirms the write
|
|
206
|
+
* is real — never merely once `fs.writeFile` resolves and never gated on
|
|
207
|
+
* DBFS/durability sync (see
|
|
208
|
+
* `docs/adr/0003-knowledge-save-success-is-a-local-read-after-write.md`).
|
|
209
|
+
* On a per-entry failure (including a failed verification), sends a
|
|
210
|
+
* user-visible error message instead.
|
|
74
211
|
*/
|
|
75
212
|
export async function saveKnowledgeAndNotify(clark, params, chatSessionStore, appRootDirPath, responseToMessageId, knowledgeEntries, selectedKnowledgeIndices, selectedScopesByIndex, logLabel) {
|
|
76
213
|
const sendUserMessage = sendUserMessageChannel(clark, chatSessionStore);
|
|
@@ -147,6 +284,9 @@ export async function saveKnowledgeAndNotify(clark, params, chatSessionStore, ap
|
|
|
147
284
|
continue;
|
|
148
285
|
}
|
|
149
286
|
await manager.deleteFact(existing.path);
|
|
287
|
+
await verifyKnowledgeWriteVisible(manager, {
|
|
288
|
+
deletedName: targetName,
|
|
289
|
+
});
|
|
150
290
|
savedFacts.push({
|
|
151
291
|
candidateIndex,
|
|
152
292
|
scope: "app",
|
|
@@ -170,6 +310,10 @@ export async function saveKnowledgeAndNotify(clark, params, chatSessionStore, ap
|
|
|
170
310
|
description: knowledgeEntry.description,
|
|
171
311
|
content: knowledgeEntry.content,
|
|
172
312
|
});
|
|
313
|
+
await verifyKnowledgeWriteVisible(manager, {
|
|
314
|
+
name: knowledgeEntry.name,
|
|
315
|
+
content: knowledgeEntry.content,
|
|
316
|
+
});
|
|
173
317
|
savedFacts.push({
|
|
174
318
|
candidateIndex,
|
|
175
319
|
scope: "app",
|
|
@@ -189,6 +333,10 @@ export async function saveKnowledgeAndNotify(clark, params, chatSessionStore, ap
|
|
|
189
333
|
description: knowledgeEntry.description,
|
|
190
334
|
content: knowledgeEntry.content,
|
|
191
335
|
});
|
|
336
|
+
await verifyKnowledgeWriteVisible(manager, {
|
|
337
|
+
name: knowledgeEntry.name,
|
|
338
|
+
content: knowledgeEntry.content,
|
|
339
|
+
});
|
|
192
340
|
savedFacts.push({
|
|
193
341
|
candidateIndex,
|
|
194
342
|
scope: "app",
|
|
@@ -208,6 +356,10 @@ export async function saveKnowledgeAndNotify(clark, params, chatSessionStore, ap
|
|
|
208
356
|
description: knowledgeEntry.description,
|
|
209
357
|
content: knowledgeEntry.content,
|
|
210
358
|
});
|
|
359
|
+
await verifyKnowledgeWriteVisible(manager, {
|
|
360
|
+
name: knowledgeEntry.name,
|
|
361
|
+
content: knowledgeEntry.content,
|
|
362
|
+
});
|
|
211
363
|
savedFacts.push({
|
|
212
364
|
candidateIndex,
|
|
213
365
|
scope: "app",
|
|
@@ -249,9 +401,18 @@ export async function saveKnowledgeAndNotify(clark, params, chatSessionStore, ap
|
|
|
249
401
|
}
|
|
250
402
|
}
|
|
251
403
|
}
|
|
404
|
+
const hasLocalAppWrite = saveOutcomes.some((outcome) => outcome.scope === "app" &&
|
|
405
|
+
(outcome.status === "created" ||
|
|
406
|
+
outcome.status === "updated" ||
|
|
407
|
+
outcome.status === "deleted"));
|
|
408
|
+
if (hasLocalAppWrite) {
|
|
409
|
+
// Best-effort durability only; never awaited and never gates the
|
|
410
|
+
// success message below — see ADR-0003.
|
|
411
|
+
scheduleKnowledgeDurabilitySync(clark, params);
|
|
412
|
+
}
|
|
413
|
+
const failedCount = saveOutcomes.filter((outcome) => outcome.status === "failed").length;
|
|
414
|
+
const skippedCount = saveOutcomes.filter((outcome) => outcome.status.startsWith("skipped_")).length;
|
|
252
415
|
if (savedCount > 0) {
|
|
253
|
-
const failedCount = saveOutcomes.filter((outcome) => outcome.status === "failed").length;
|
|
254
|
-
const skippedCount = saveOutcomes.filter((outcome) => outcome.status.startsWith("skipped_")).length;
|
|
255
416
|
const summaryParts = [`saved ${savedCount}`];
|
|
256
417
|
if (skippedCount > 0) {
|
|
257
418
|
summaryParts.push(`skipped ${skippedCount}`);
|
|
@@ -269,6 +430,25 @@ export async function saveKnowledgeAndNotify(clark, params, chatSessionStore, ap
|
|
|
269
430
|
saveOutcomes,
|
|
270
431
|
});
|
|
271
432
|
}
|
|
433
|
+
else if (skippedCount > 0 && failedCount === 0) {
|
|
434
|
+
// Every entry resolved to skipped_not_found (e.g. a delete retried
|
|
435
|
+
// after it already succeeded). Nothing failed and nothing changed, but
|
|
436
|
+
// silence here reads as the approval vanishing; per-entry failures
|
|
437
|
+
// already get their own message in the catch block above, so this is
|
|
438
|
+
// the only outcome shape that would otherwise get no response at all.
|
|
439
|
+
try {
|
|
440
|
+
await sendUserMessage({
|
|
441
|
+
role: "assistant",
|
|
442
|
+
type: "text",
|
|
443
|
+
content: skippedCount === 1
|
|
444
|
+
? "That knowledge entry was already removed; nothing to do."
|
|
445
|
+
: "Those knowledge entries were already removed; nothing to do.",
|
|
446
|
+
});
|
|
447
|
+
}
|
|
448
|
+
catch {
|
|
449
|
+
// socket may have dropped; nothing further to do
|
|
450
|
+
}
|
|
451
|
+
}
|
|
272
452
|
clark.updateContext((ctx) => ({
|
|
273
453
|
...ctx,
|
|
274
454
|
recentKnowledgeSaveOutcomes: saveOutcomes.slice(-25),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/ai-service/app-skills/helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/ai-service/app-skills/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-upload-artifacts.d.ts","sourceRoot":"","sources":["../../../src/ai-service/attachments/text-upload-artifacts.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACxB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"text-upload-artifacts.d.ts","sourceRoot":"","sources":["../../../src/ai-service/attachments/text-upload-artifacts.ts"],"names":[],"mappings":"AAWA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACxB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAiBjE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE1E,KAAK,iBAAiB,GAAG,CACvB,WAAW,EAAE,kBAAkB,EAAE,KAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAElC,KAAK,UAAU,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AACzD,KAAK,wBAAwB,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD,qBAAa,8BAA8B;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAc;IACpD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEhC,EACV,cAAc,EACd,UAA2B,EAC3B,MAAkC,EAClC,qBAA0B,EAC1B,iBAAiB,EACjB,YAAgE,GACjE,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,MAAM,CAAC,EAAE,wBAAwB,CAAC;QAClC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QAC1C,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,YAAY,CAAC,EAAE,MAAM,MAAM,CAAC;KAC7B;IAWK,WAAW,CACf,WAAW,EAAE,UAAU,EAAE,GACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;YAkE7B,iBAAiB;YAmCjB,oBAAoB;CAkCnC;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,kBAAkB,GAC7B,MAAM,CAER;AAED,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,UAAU,EACtB,qBAAqB,EAAE,OAAO,GAC7B,UAAU,IAAI,kBAAkB,CAYlC;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,EAAE,CAY/D"}
|
|
@@ -4,8 +4,8 @@ import path from "node:path";
|
|
|
4
4
|
import { resolveAttachmentFileName, } from "@superblocksteam/library-shared/types";
|
|
5
5
|
import { getErrorMeta } from "../../util/logger.js";
|
|
6
6
|
import { sanitizeFileName } from "../util/archive-extractors.js";
|
|
7
|
+
import { TEXT_UPLOAD_ARTIFACT_ROOT } from "./upload-artifact-paths.js";
|
|
7
8
|
import { getCanonicalAttachmentUrl, isUploadedAttachment, } from "./uploaded-content-part.js";
|
|
8
|
-
const TEXT_UPLOAD_ARTIFACT_ROOT = path.join(".superblocks", "uploads");
|
|
9
9
|
const MAX_TEXT_UPLOAD_ARTIFACT_BYTES = 10 * 1024 * 1024;
|
|
10
10
|
const MAX_TEXT_UPLOAD_ARTIFACT_RUNS = 50;
|
|
11
11
|
const CSV_MEDIA_TYPES = new Set([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-upload-artifacts.js","sourceRoot":"","sources":["../../../src/ai-service/attachments/text-upload-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAQ,EACR,EAAE,EACF,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,yBAAyB,GAG1B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAe,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"text-upload-artifacts.js","sourceRoot":"","sources":["../../../src/ai-service/attachments/text-upload-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Forward-slash, trailing-slash prefix for matching virtual read paths. */
|
|
2
|
+
export declare const UPLOAD_ARTIFACT_PATH_PREFIX: string;
|
|
3
|
+
/** Filesystem root the materializer writes artifacts under. */
|
|
4
|
+
export declare const TEXT_UPLOAD_ARTIFACT_ROOT: string;
|
|
5
|
+
//# sourceMappingURL=upload-artifact-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-artifact-paths.d.ts","sourceRoot":"","sources":["../../../src/ai-service/attachments/upload-artifact-paths.ts"],"names":[],"mappings":"AAeA,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,QAA+C,CAAC;AAExF,+DAA+D;AAC/D,eAAO,MAAM,yBAAyB,QAErC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
/**
|
|
3
|
+
* Single source of truth for the write-once text-upload artifact location.
|
|
4
|
+
*
|
|
5
|
+
* The materializer writes to a filesystem path (`TEXT_UPLOAD_ARTIFACT_ROOT`,
|
|
6
|
+
* OS separator) while the read-dedup cache matches virtual read paths
|
|
7
|
+
* (`UPLOAD_ARTIFACT_PATH_PREFIX`, forward-slash). Both are built from the same
|
|
8
|
+
* segment names, so the directory names cannot drift. The separators do differ:
|
|
9
|
+
* the forward-slash prefix matches the POSIX model-visible paths the Linux
|
|
10
|
+
* server runtime produces, and would not match backslash paths on a non-POSIX
|
|
11
|
+
* host.
|
|
12
|
+
*/
|
|
13
|
+
const UPLOAD_ARTIFACT_DIR_SEGMENTS = [".superblocks", "uploads"];
|
|
14
|
+
/** Forward-slash, trailing-slash prefix for matching virtual read paths. */
|
|
15
|
+
export const UPLOAD_ARTIFACT_PATH_PREFIX = `${UPLOAD_ARTIFACT_DIR_SEGMENTS.join("/")}/`;
|
|
16
|
+
/** Filesystem root the materializer writes artifacts under. */
|
|
17
|
+
export const TEXT_UPLOAD_ARTIFACT_ROOT = path.join(...UPLOAD_ARTIFACT_DIR_SEGMENTS);
|
|
18
|
+
//# sourceMappingURL=upload-artifact-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-artifact-paths.js","sourceRoot":"","sources":["../../../src/ai-service/attachments/upload-artifact-paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;;;;;GAUG;AACH,MAAM,4BAA4B,GAAG,CAAC,cAAc,EAAE,SAAS,CAAU,CAAC;AAE1E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAExF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,IAAI,CAChD,GAAG,4BAA4B,CAChC,CAAC"}
|
|
@@ -2,12 +2,18 @@ export declare const CHAT_GET_MESSAGES_LOAD_STATES: readonly ["loaded", "loading
|
|
|
2
2
|
type ChatGetMessagesLoadState = (typeof CHAT_GET_MESSAGES_LOAD_STATES)[number];
|
|
3
3
|
export declare const CHAT_GET_MESSAGES_STATUSES: readonly ["error", "success"];
|
|
4
4
|
type ChatGetMessagesStatus = (typeof CHAT_GET_MESSAGES_STATUSES)[number];
|
|
5
|
+
export declare const CHAT_SESSION_ID_LOOKUP_OUTCOMES: readonly ["known", "resolved", "timeout", "error"];
|
|
6
|
+
type ChatSessionIdLookupOutcome = (typeof CHAT_SESSION_ID_LOOKUP_OUTCOMES)[number];
|
|
5
7
|
export declare function recordChatGetMessages(input: {
|
|
6
8
|
durationMs: number;
|
|
7
9
|
force: boolean;
|
|
8
10
|
loadState: ChatGetMessagesLoadState;
|
|
9
11
|
status: ChatGetMessagesStatus;
|
|
10
12
|
}): void;
|
|
13
|
+
export declare function recordChatSessionIdLookup(input: {
|
|
14
|
+
durationMs: number;
|
|
15
|
+
outcome: ChatSessionIdLookupOutcome;
|
|
16
|
+
}): void;
|
|
11
17
|
export declare function _resetChatSessionStoreMetricsForTesting(): void;
|
|
12
18
|
export {};
|
|
13
19
|
//# sourceMappingURL=chat-session-store-metrics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-session-store-metrics.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store-metrics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chat-session-store-metrics.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store-metrics.ts"],"names":[],"mappings":"AA4BA,eAAO,MAAM,6BAA6B,sCAIhC,CAAC;AACX,KAAK,wBAAwB,GAAG,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E,eAAO,MAAM,0BAA0B,+BAAgC,CAAC;AACxE,KAAK,qBAAqB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAOzE,eAAO,MAAM,+BAA+B,oDAKlC,CAAC;AACX,KAAK,0BAA0B,GAC7B,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC;AAoFnD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,wBAAwB,CAAC;IACpC,MAAM,EAAE,qBAAqB,CAAC;CAC/B,GAAG,IAAI,CAEP;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,0BAA0B,CAAC;CACrC,GAAG,IAAI,CAEP;AAED,wBAAgB,uCAAuC,IAAI,IAAI,CAE9D"}
|
|
@@ -15,9 +15,13 @@
|
|
|
15
15
|
*
|
|
16
16
|
* - `superblocks.clark.chat.get_messages_duration_seconds` histogram
|
|
17
17
|
* {force, load_state, status}
|
|
18
|
+
* - `superblocks.clark.chat.session_id_lookup_duration_seconds` histogram
|
|
19
|
+
* {outcome}: how long a turn waited at start for its chat session id.
|
|
20
|
+
* `known` means no wait; `timeout` and `error` mean the turn used the
|
|
21
|
+
* process fallback id.
|
|
18
22
|
*
|
|
19
23
|
* Cardinality budget: force ≤ 2, load_state ≤ 3, status ≤ 2 → 12 worst-case
|
|
20
|
-
* series. Labels are closed enums or booleans supplied by this class;
|
|
24
|
+
* series, plus 4 lookup outcomes. Labels are closed enums or booleans supplied by this class;
|
|
21
25
|
* app/user/session identity belongs in logs or traces, not metric labels.
|
|
22
26
|
*/
|
|
23
27
|
import { metrics } from "@opentelemetry/api";
|
|
@@ -29,6 +33,13 @@ export const CHAT_GET_MESSAGES_LOAD_STATES = [
|
|
|
29
33
|
export const CHAT_GET_MESSAGES_STATUSES = ["error", "success"];
|
|
30
34
|
const METER_NAME = "superblocks.clark.chat";
|
|
31
35
|
const METRIC_GET_MESSAGES_DURATION = "superblocks.clark.chat.get_messages_duration_seconds";
|
|
36
|
+
export const CHAT_SESSION_ID_LOOKUP_OUTCOMES = [
|
|
37
|
+
"known",
|
|
38
|
+
"resolved",
|
|
39
|
+
"timeout",
|
|
40
|
+
"error",
|
|
41
|
+
];
|
|
42
|
+
const METRIC_SESSION_ID_LOOKUP_DURATION = "superblocks.clark.chat.session_id_lookup_duration_seconds";
|
|
32
43
|
const DURATION_BUCKETS_SECONDS = [0.005, 0.05, 0.25, 1, 3, 10, 30];
|
|
33
44
|
const SECONDS_PER_MS = 1 / 1000;
|
|
34
45
|
const toSeconds = (durationMs) => Math.max(0, durationMs) * SECONDS_PER_MS;
|
|
@@ -47,6 +58,11 @@ class ChatSessionStoreMetrics {
|
|
|
47
58
|
unit: "s",
|
|
48
59
|
advice: { explicitBucketBoundaries: DURATION_BUCKETS_SECONDS },
|
|
49
60
|
}),
|
|
61
|
+
sessionIdLookupDurationHistogram: meter.createHistogram(METRIC_SESSION_ID_LOOKUP_DURATION, {
|
|
62
|
+
description: "Time a Clark turn waited at start for its chat session id, by outcome.",
|
|
63
|
+
unit: "s",
|
|
64
|
+
advice: { explicitBucketBoundaries: DURATION_BUCKETS_SECONDS },
|
|
65
|
+
}),
|
|
50
66
|
};
|
|
51
67
|
return this.cachedInstruments;
|
|
52
68
|
}
|
|
@@ -57,6 +73,9 @@ class ChatSessionStoreMetrics {
|
|
|
57
73
|
status: input.status,
|
|
58
74
|
});
|
|
59
75
|
}
|
|
76
|
+
recordSessionIdLookup(input) {
|
|
77
|
+
this.getInstruments().sessionIdLookupDurationHistogram.record(toSeconds(input.durationMs), { outcome: input.outcome });
|
|
78
|
+
}
|
|
60
79
|
_resetForTesting() {
|
|
61
80
|
this.cachedMeter = undefined;
|
|
62
81
|
this.cachedInstruments = undefined;
|
|
@@ -66,6 +85,9 @@ const chatSessionStoreMetrics = new ChatSessionStoreMetrics();
|
|
|
66
85
|
export function recordChatGetMessages(input) {
|
|
67
86
|
chatSessionStoreMetrics.recordGetMessages(input);
|
|
68
87
|
}
|
|
88
|
+
export function recordChatSessionIdLookup(input) {
|
|
89
|
+
chatSessionStoreMetrics.recordSessionIdLookup(input);
|
|
90
|
+
}
|
|
69
91
|
export function _resetChatSessionStoreMetricsForTesting() {
|
|
70
92
|
chatSessionStoreMetrics._resetForTesting();
|
|
71
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-session-store-metrics.js","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store-metrics.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"chat-session-store-metrics.js","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AiChangeInfoPush, type AiChatMessage, type AiChatSummary, type Attachment, type KnowledgePromotionSelection } from "@superblocksteam/library-shared/types";
|
|
2
|
-
import { type AiPromptCostUsageEntry, type AiWorkflowEvent } from "@superblocksteam/shared";
|
|
2
|
+
import { type AiAbandonTurnEvent, type AiPromptCostUsageEntry, type AiEditAfterClarkReport, type AiWorkflowEvent } from "@superblocksteam/shared";
|
|
3
3
|
import type { AutoConnectingRpcClient } from "../../server-rpc/index.js";
|
|
4
4
|
import { type Logger } from "../../util/logger.js";
|
|
5
5
|
import type { LLMObsTracer } from "../llmobs/tracer.js";
|
|
@@ -53,6 +53,19 @@ export declare class ChatSessionStore {
|
|
|
53
53
|
private messages;
|
|
54
54
|
private inFlightLoadFromServer;
|
|
55
55
|
private loadedFromServer;
|
|
56
|
+
/**
|
|
57
|
+
* Id of the server chat session this transcript belongs to. Telemetry uses
|
|
58
|
+
* it as the session id, so it changes when the user starts a new chat.
|
|
59
|
+
* Unknown until the first history load, id lookup or new chat.
|
|
60
|
+
*/
|
|
61
|
+
private chatSessionId;
|
|
62
|
+
private inFlightChatSessionIdLookup?;
|
|
63
|
+
/**
|
|
64
|
+
* Bumped whenever the resident transcript is reset. A history load that
|
|
65
|
+
* started before a reset drops its result, so a slow load of the old
|
|
66
|
+
* session cannot overwrite a new chat.
|
|
67
|
+
*/
|
|
68
|
+
private transcriptGeneration;
|
|
56
69
|
private inProgressMessages;
|
|
57
70
|
private messageLimit;
|
|
58
71
|
private transcriptBudget;
|
|
@@ -173,6 +186,8 @@ export declare class ChatSessionStore {
|
|
|
173
186
|
private static isPushTimeoutError;
|
|
174
187
|
private doAppendMessage;
|
|
175
188
|
submitWorkflowSummary(summary: AiWorkflowEvent): Promise<void>;
|
|
189
|
+
submitEditAfterClark(report: AiEditAfterClarkReport): Promise<void>;
|
|
190
|
+
submitAbandonTurn(event: AiAbandonTurnEvent): Promise<void>;
|
|
176
191
|
calculatePromptCost(promptId: string, usage: AiPromptCostUsageEntry[]): Promise<number>;
|
|
177
192
|
private determineSummaryOutcome;
|
|
178
193
|
recordSummary(summaryData: {
|
|
@@ -199,6 +214,15 @@ export declare class ChatSessionStore {
|
|
|
199
214
|
* chatTranscriptEvicted warn even though it is a different session.
|
|
200
215
|
*/
|
|
201
216
|
private resetTranscriptState;
|
|
217
|
+
getChatSessionId(): string | undefined;
|
|
218
|
+
/**
|
|
219
|
+
* Returns the active chat session id, asking the server when it is not
|
|
220
|
+
* known yet. The lookup reads only the session row, so it never waits on a
|
|
221
|
+
* chat history load, which can take tens of seconds on a long transcript.
|
|
222
|
+
* Concurrent callers share one lookup. Rejects when the server call fails.
|
|
223
|
+
*/
|
|
224
|
+
resolveChatSessionId(): Promise<string | undefined>;
|
|
225
|
+
private lookUpChatSessionId;
|
|
202
226
|
/** Resident-transcript accounting, exposed for telemetry. */
|
|
203
227
|
getTranscriptStats(): {
|
|
204
228
|
residentBytes: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-session-store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,aAAa,EAOlB,KAAK,UAAU,EACf,KAAK,2BAA2B,EACjC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,wBAAwB,CAAC;AAShC,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE1D,KAAK,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;AAEhD,KAAK,wBAAwB,GAAG,aAAa,GAAG;IAC9C,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;CAC9C,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,aAAa,CAEvE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,aAAa,CAEvE;AAED,eAAO,MAAM,sBAAsB,qEACiC,CAAC;AAErE,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,aAAa,EAAE,GACjC,aAAa,EAAE,CA8BjB;AA8CD,UAAU,sBAAsB;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,UAAU,sBAAsB;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,uBAAuB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AACD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,sBAAsB,CAAmB;IACjD,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAA+B;IACvD;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CACiB;IAC1D,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,uBAAuB,CAAgC;gBAEnD,MAAM,EAAE,sBAAsB;IA6B1C,OAAO,CAAC,qBAAqB;IAiB7B,OAAO,CAAC,qBAAqB;IAiF7B,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,2BAA2B;YAqCrB,sBAAsB;
|
|
1
|
+
{"version":3,"file":"chat-session-store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/chat/chat-session-store.ts"],"names":[],"mappings":"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"}
|