@superblocksteam/vite-plugin-file-sync 2.0.166 → 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
|
@@ -61,6 +61,8 @@ export declare class ContextManagerV2 {
|
|
|
61
61
|
private readonly onContextPersisted?;
|
|
62
62
|
private readonly adoptLegacyContexts?;
|
|
63
63
|
private legacyAdoptionRun?;
|
|
64
|
+
private clearAllRun?;
|
|
65
|
+
private readonly inFlightLoads;
|
|
64
66
|
constructor(options: ContextManagerV2Options);
|
|
65
67
|
private getContextKey;
|
|
66
68
|
/**
|
|
@@ -80,6 +82,7 @@ export declare class ContextManagerV2 {
|
|
|
80
82
|
*/
|
|
81
83
|
private ensureLegacyAdoption;
|
|
82
84
|
getOrCreateContext(id: ContextId | undefined, config?: Partial<ContextOptionsV2>, tracer?: LLMObsTracer, contextManagement?: ContextManagementOptions, metricIdentity?: ContextMetricIdentity): Promise<ContextV2>;
|
|
85
|
+
private loadOrCreateContext;
|
|
83
86
|
/**
|
|
84
87
|
* Load the persisted record inside a `context.load` LLMObs span and record
|
|
85
88
|
* the load-duration metric (APPS-4708). The cold-pod context load was the
|
|
@@ -144,11 +147,13 @@ export declare class ContextManagerV2 {
|
|
|
144
147
|
latestEventTimestamp?: number;
|
|
145
148
|
}>;
|
|
146
149
|
/**
|
|
147
|
-
* Whether the on-disk legacy snapshot would out-vote
|
|
148
|
-
* load
|
|
149
|
-
* `
|
|
150
|
-
*
|
|
151
|
-
*
|
|
150
|
+
* Whether the on-disk legacy snapshot would out-vote the truncated event log
|
|
151
|
+
* on load. The log is authoritative whenever it has replayable messages or a
|
|
152
|
+
* clean state-only marker (see `loadRecord`), so the snapshot only wins when
|
|
153
|
+
* the truncated log is neither — e.g. every event was dropped, or only
|
|
154
|
+
* corrupt lines remain — and the snapshot still carries messages. Used only
|
|
155
|
+
* on the double-fault path (snapshot rewrite and delete both failed) to
|
|
156
|
+
* decide whether local state is still consistent.
|
|
152
157
|
*/
|
|
153
158
|
private snapshotWouldResurrect;
|
|
154
159
|
/**
|
|
@@ -158,13 +163,9 @@ export declare class ContextManagerV2 {
|
|
|
158
163
|
* conversation from whichever one was missed.
|
|
159
164
|
*/
|
|
160
165
|
clearAllContexts(): Promise<void>;
|
|
166
|
+
private runClearAllContexts;
|
|
161
167
|
private buildCompactionStrategy;
|
|
162
|
-
private reconcileEventAndLegacyRecord;
|
|
163
168
|
private seedEventLogFromRecord;
|
|
164
|
-
private hasNewerSummary;
|
|
165
|
-
private messagesFromSummaryAnchor;
|
|
166
|
-
private findLastSummaryTimestamp;
|
|
167
|
-
private findLastSummaryIndex;
|
|
168
169
|
/**
|
|
169
170
|
* Persists an empty context record to storage for the given id.
|
|
170
171
|
* Used by handleNewChat() to overwrite the local (and later remote)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAItD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACL,KAAK,qBAAqB,EAM3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,13 @@ export class ContextManagerV2 {
|
|
|
31
31
|
onContextPersisted;
|
|
32
32
|
adoptLegacyContexts;
|
|
33
33
|
legacyAdoptionRun;
|
|
34
|
+
// Set while `clearAllContexts` runs; new loads wait on it so they cannot
|
|
35
|
+
// read (and re-cache or re-seed) the conversation being cleared.
|
|
36
|
+
clearAllRun;
|
|
37
|
+
// Loads currently past the clear gate. `clearAllContexts` waits for them
|
|
38
|
+
// before deleting, since a load can write (migration / remote-restore
|
|
39
|
+
// seeding) and cache pre-clear state.
|
|
40
|
+
inFlightLoads = new Set();
|
|
34
41
|
constructor(options) {
|
|
35
42
|
this.storage = options.storage;
|
|
36
43
|
this.rootDir = options.rootDir;
|
|
@@ -75,6 +82,21 @@ export class ContextManagerV2 {
|
|
|
75
82
|
return this.legacyAdoptionRun;
|
|
76
83
|
}
|
|
77
84
|
async getOrCreateContext(id, config, tracer, contextManagement, metricIdentity) {
|
|
85
|
+
// Wait out an in-progress New Chat: loading now would read the
|
|
86
|
+
// conversation it is about to delete and cache it again.
|
|
87
|
+
while (this.clearAllRun) {
|
|
88
|
+
await this.clearAllRun.catch(() => { });
|
|
89
|
+
}
|
|
90
|
+
const load = this.loadOrCreateContext(id, config, tracer, contextManagement, metricIdentity);
|
|
91
|
+
this.inFlightLoads.add(load);
|
|
92
|
+
try {
|
|
93
|
+
return await load;
|
|
94
|
+
}
|
|
95
|
+
finally {
|
|
96
|
+
this.inFlightLoads.delete(load);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
async loadOrCreateContext(id, config, tracer, contextManagement, metricIdentity) {
|
|
78
100
|
await this.ensureLegacyAdoption();
|
|
79
101
|
const key = id ? this.getContextKey(id) : undefined;
|
|
80
102
|
const resolvedMetricIdentity = this.resolveMetricIdentity(id, metricIdentity);
|
|
@@ -233,13 +255,28 @@ export class ContextManagerV2 {
|
|
|
233
255
|
// Load from event log first, fall back to legacy storage
|
|
234
256
|
if (this.eventStore && !migrationFailed) {
|
|
235
257
|
try {
|
|
236
|
-
const
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
258
|
+
const snapshot = await this.eventStore.loadSnapshot(id);
|
|
259
|
+
// The event log is authoritative when it has replayable messages, or a
|
|
260
|
+
// clean state-only marker (empty conversation that was persisted — this
|
|
261
|
+
// blocks a stale main.json from resurrecting cleared history). A
|
|
262
|
+
// state-only snapshot carrying corruption is NOT trusted: a garbage log
|
|
263
|
+
// that a runtime persist stamped with a state entry would otherwise
|
|
264
|
+
// mask a healthy legacy main.json.
|
|
265
|
+
const eventLogAuthoritative = snapshot.messages.length > 0 ||
|
|
266
|
+
(snapshot.hasAttachmentState && snapshot.corruptedCount === 0);
|
|
267
|
+
if (eventLogAuthoritative) {
|
|
268
|
+
const record = {
|
|
269
|
+
version: 2,
|
|
270
|
+
messages: snapshot.messages,
|
|
271
|
+
attachments: snapshot.attachments,
|
|
272
|
+
lastContextUsage: snapshot.lastContextUsage,
|
|
273
|
+
};
|
|
240
274
|
logger.info(`Loaded ${record.messages.length} messages from event log for '${id.name}'`);
|
|
241
275
|
return { record, source: "event_log", migrationRan, migrationFailed };
|
|
242
276
|
}
|
|
277
|
+
if (snapshot.corruptedCount > 0) {
|
|
278
|
+
logger.warn(`Ignoring corrupt event log for '${id.name}' (${snapshot.corruptedCount} unparseable line(s)) in favor of legacy storage`);
|
|
279
|
+
}
|
|
243
280
|
}
|
|
244
281
|
catch (err) {
|
|
245
282
|
logger.error(`Failed to load from event log for '${id.name}': ${err}`);
|
|
@@ -261,7 +298,10 @@ export class ContextManagerV2 {
|
|
|
261
298
|
if (remoteRecord) {
|
|
262
299
|
logger.info(`Restored context '${id.name}' from remote fallback`);
|
|
263
300
|
await this.saveContext(id, remoteRecord);
|
|
264
|
-
|
|
301
|
+
if (!this.eventStore ||
|
|
302
|
+
(await this.eventStore.loadSnapshot(id)).messages.length === 0) {
|
|
303
|
+
await this.seedEventLogFromRecord(id, remoteRecord);
|
|
304
|
+
}
|
|
265
305
|
return {
|
|
266
306
|
record: remoteRecord,
|
|
267
307
|
source: "remote",
|
|
@@ -368,6 +408,20 @@ export class ContextManagerV2 {
|
|
|
368
408
|
catch {
|
|
369
409
|
// Unreadable snapshot: healing below rewrites or deletes it anyway.
|
|
370
410
|
}
|
|
411
|
+
// Drop the cached context and DRAIN any in-flight persist BEFORE touching
|
|
412
|
+
// either store, so the truncate and the heal below are the only writers
|
|
413
|
+
// (and the next load rebuilds from the truncated log). `dispose()` stops
|
|
414
|
+
// NEW persists and aborts an in-flight persist's event-log writes
|
|
415
|
+
// (attachment-state appends, a log repair's atomic replace), but a persist
|
|
416
|
+
// that already passed its final dispose check is committed to writing the
|
|
417
|
+
// pre-rollback snapshot. Were those writes still in flight during the
|
|
418
|
+
// truncate, a repair could replace the just-truncated log with pre-rollback
|
|
419
|
+
// history, and a late snapshot write after the heal would clobber the
|
|
420
|
+
// rollback (and re-emit contextPersisted, flushing poisoned state
|
|
421
|
+
// remotely). Dropping the cache is harmless if the truncate then fails.
|
|
422
|
+
const cached = this.getLoadedContext(id);
|
|
423
|
+
this.clearContext(id);
|
|
424
|
+
await cached?.drainPersists();
|
|
371
425
|
// Truncate the event log FIRST, while the legacy snapshot is still intact as
|
|
372
426
|
// a backup. The truncate is atomic (temp file + rename), so an interrupted
|
|
373
427
|
// write cannot lose history — and because the snapshot is not touched until
|
|
@@ -386,25 +440,16 @@ export class ContextManagerV2 {
|
|
|
386
440
|
`(appId=${id.appId}); nothing was mutated, restore aborted`, getErrorMeta(truncErr));
|
|
387
441
|
return { hadEvents: true, dropped: 0, healed: false };
|
|
388
442
|
}
|
|
389
|
-
// Drop the cached context (so the next load rebuilds from the truncated
|
|
390
|
-
// log) and DRAIN any in-flight persist before healing below. `dispose()`
|
|
391
|
-
// stops NEW persists, but a persist that already passed the dispose guard
|
|
392
|
-
// is committed to writing the pre-rollback snapshot; if that write lands
|
|
393
|
-
// after the heal it clobbers the rollback (and re-emits contextPersisted,
|
|
394
|
-
// flushing poisoned state remotely). Draining forces the heal to be the
|
|
395
|
-
// last writer.
|
|
396
|
-
const cached = this.getLoadedContext(id);
|
|
397
|
-
this.clearContext(id);
|
|
398
|
-
await cached?.drainPersists();
|
|
399
443
|
const messages = await this.eventStore.loadMessages(id);
|
|
400
444
|
const latestEventTimestamp = messages.reduce((max, m) => Math.max(max, m._superblocks?.timestamp ?? 0), 0);
|
|
401
445
|
// Make the snapshot consistent with the (truncated) log so it cannot
|
|
402
|
-
// override the rollback on load (
|
|
403
|
-
//
|
|
404
|
-
//
|
|
405
|
-
//
|
|
406
|
-
//
|
|
407
|
-
//
|
|
446
|
+
// override the rollback on load (a truncated log that is no longer
|
|
447
|
+
// authoritative — e.g. emptied — falls back to the snapshot, and the
|
|
448
|
+
// snapshot is also what Bucketeer republishes). This runs even when
|
|
449
|
+
// `dropped === 0`: "nothing new after the checkpoint" does NOT imply the
|
|
450
|
+
// snapshot already matches — a prior interrupted restore can leave the log
|
|
451
|
+
// rolled back but a stale snapshot in place, and skipping the heal there
|
|
452
|
+
// would let that snapshot resurrect the reverted turns. Rewrite the snapshot to
|
|
408
453
|
// match; if that fails, delete it so the truncated log is the sole
|
|
409
454
|
// authority (and the republished archive is rebuilt from the truncated log —
|
|
410
455
|
// see uploadContextToBucketeer's events-only path).
|
|
@@ -426,12 +471,13 @@ export class ContextManagerV2 {
|
|
|
426
471
|
}
|
|
427
472
|
catch (deleteErr) {
|
|
428
473
|
// Both rewrite and delete failed (severe disk fault). The snapshot only
|
|
429
|
-
// overrides the truncated log
|
|
430
|
-
// same signal
|
|
431
|
-
// pessimistic — the common
|
|
432
|
-
// snapshotWouldResurrect is pessimistic on
|
|
433
|
-
// so a genuine read fault ends
|
|
434
|
-
healed
|
|
474
|
+
// overrides the truncated log when that log is not authoritative on
|
|
475
|
+
// load; check the same signal `loadRecord` uses, so `healed` is precise
|
|
476
|
+
// rather than pessimistic — the common case of a non-empty truncated
|
|
477
|
+
// log still ends consistent. snapshotWouldResurrect is pessimistic on
|
|
478
|
+
// a read error (returns true), so a genuine read fault ends
|
|
479
|
+
// `healed: false` (preserve chat).
|
|
480
|
+
healed = !(await this.snapshotWouldResurrect(id, this.eventStore));
|
|
435
481
|
logger.error(`Failed to delete the stale snapshot for context '${id.name}' ` +
|
|
436
482
|
`(appId=${id.appId}); consistent=${healed} (a post-checkpoint summary would otherwise resurrect rolled-back turns)`, getErrorMeta(deleteErr));
|
|
437
483
|
}
|
|
@@ -439,20 +485,32 @@ export class ContextManagerV2 {
|
|
|
439
485
|
return { hadEvents: true, dropped, healed, latestEventTimestamp };
|
|
440
486
|
}
|
|
441
487
|
/**
|
|
442
|
-
* Whether the on-disk legacy snapshot would out-vote
|
|
443
|
-
* load
|
|
444
|
-
* `
|
|
445
|
-
*
|
|
446
|
-
*
|
|
488
|
+
* Whether the on-disk legacy snapshot would out-vote the truncated event log
|
|
489
|
+
* on load. The log is authoritative whenever it has replayable messages or a
|
|
490
|
+
* clean state-only marker (see `loadRecord`), so the snapshot only wins when
|
|
491
|
+
* the truncated log is neither — e.g. every event was dropped, or only
|
|
492
|
+
* corrupt lines remain — and the snapshot still carries messages. Used only
|
|
493
|
+
* on the double-fault path (snapshot rewrite and delete both failed) to
|
|
494
|
+
* decide whether local state is still consistent.
|
|
447
495
|
*/
|
|
448
|
-
async snapshotWouldResurrect(id,
|
|
496
|
+
async snapshotWouldResurrect(id, eventStore) {
|
|
497
|
+
// Pessimistic on any read error: we cannot rule out that the snapshot
|
|
498
|
+
// would win, so assume it WOULD resurrect the rolled-back turns (the
|
|
499
|
+
// caller then keeps `healed: false` and preserves the chat) rather than
|
|
500
|
+
// optimistically claiming consistency.
|
|
501
|
+
try {
|
|
502
|
+
const snapshot = await eventStore.loadSnapshot(id);
|
|
503
|
+
if (snapshot.messages.length > 0 ||
|
|
504
|
+
(snapshot.hasAttachmentState && snapshot.corruptedCount === 0)) {
|
|
505
|
+
return false;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
catch {
|
|
509
|
+
return true;
|
|
510
|
+
}
|
|
449
511
|
// Read the raw snapshot directly rather than via `loadContext`, which
|
|
450
|
-
// swallows non-ENOENT read errors to `null
|
|
451
|
-
//
|
|
452
|
-
// cannot rule out a newer summary that reconciliation would prefer, so
|
|
453
|
-
// assume it WOULD resurrect the rolled-back turns (the caller then keeps
|
|
454
|
-
// `healed: false` and preserves the chat) rather than optimistically
|
|
455
|
-
// claiming consistency.
|
|
512
|
+
// swallows non-ENOENT read errors to `null`: a present-but-unreadable
|
|
513
|
+
// snapshot must be treated pessimistically.
|
|
456
514
|
let rawRecord;
|
|
457
515
|
try {
|
|
458
516
|
rawRecord = await this.storage.loadContext(id);
|
|
@@ -464,9 +522,7 @@ export class ContextManagerV2 {
|
|
|
464
522
|
return false;
|
|
465
523
|
}
|
|
466
524
|
const migrated = migrateContext(rawRecord, 2);
|
|
467
|
-
return migrated.success
|
|
468
|
-
? this.hasNewerSummary(migrated.record.messages, truncatedMessages)
|
|
469
|
-
: false;
|
|
525
|
+
return migrated.success ? migrated.record.messages.length > 0 : false;
|
|
470
526
|
}
|
|
471
527
|
/**
|
|
472
528
|
* Clears all contexts from cache, legacy storage, and the event
|
|
@@ -475,6 +531,22 @@ export class ContextManagerV2 {
|
|
|
475
531
|
* conversation from whichever one was missed.
|
|
476
532
|
*/
|
|
477
533
|
async clearAllContexts() {
|
|
534
|
+
const previous = this.clearAllRun;
|
|
535
|
+
const run = (async () => {
|
|
536
|
+
await previous?.catch(() => { });
|
|
537
|
+
await this.runClearAllContexts();
|
|
538
|
+
})();
|
|
539
|
+
this.clearAllRun = run;
|
|
540
|
+
try {
|
|
541
|
+
await run;
|
|
542
|
+
}
|
|
543
|
+
finally {
|
|
544
|
+
if (this.clearAllRun === run) {
|
|
545
|
+
this.clearAllRun = undefined;
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
async runClearAllContexts() {
|
|
478
550
|
// An adoption pass may be moving legacy files into the shared dirs;
|
|
479
551
|
// wait for it so the clear below cannot race a mid-flight rename and
|
|
480
552
|
// leave an adopted file that would resurrect the cleared conversation.
|
|
@@ -491,10 +563,23 @@ export class ContextManagerV2 {
|
|
|
491
563
|
}
|
|
492
564
|
}
|
|
493
565
|
this.legacyAdoptionRun = Promise.resolve();
|
|
494
|
-
for
|
|
566
|
+
// New loads are gated on `clearAllRun`; wait for any that were already
|
|
567
|
+
// running so their writes and cache entries land before the dispose and
|
|
568
|
+
// deletes below.
|
|
569
|
+
await Promise.allSettled([...this.inFlightLoads]);
|
|
570
|
+
const disposed = [...this.contexts.values()];
|
|
571
|
+
for (const context of disposed) {
|
|
495
572
|
context.dispose();
|
|
496
573
|
}
|
|
497
574
|
this.contexts.clear();
|
|
575
|
+
// Drain in-flight persists before deleting. `dispose()` stops new
|
|
576
|
+
// persists and aborts pending event-log writes, but a persist already
|
|
577
|
+
// past its last dispose check is committed to its snapshot write and any
|
|
578
|
+
// event-log replace whose rename was already issued. Since the event log
|
|
579
|
+
// is authoritative, one of those landing after the deletes below would
|
|
580
|
+
// resurrect the cleared conversation; draining makes the deletes the
|
|
581
|
+
// last writers (mirrors truncateContextAfterTimestamp).
|
|
582
|
+
await Promise.all(disposed.map((context) => context.drainPersists()));
|
|
498
583
|
await this.storage.deleteAllContexts();
|
|
499
584
|
if (this.eventStore) {
|
|
500
585
|
try {
|
|
@@ -520,24 +605,6 @@ export class ContextManagerV2 {
|
|
|
520
605
|
tracer,
|
|
521
606
|
});
|
|
522
607
|
}
|
|
523
|
-
async reconcileEventAndLegacyRecord(id, eventMessages, legacyRecord) {
|
|
524
|
-
if (legacyRecord &&
|
|
525
|
-
this.hasNewerSummary(legacyRecord.messages, eventMessages)) {
|
|
526
|
-
await this.migrator?.appendRecordWindow(id, legacyRecord);
|
|
527
|
-
const messages = this.messagesFromSummaryAnchor(legacyRecord.messages);
|
|
528
|
-
logger.info(`Reconciled context '${id.name}' from newer legacy summary into event log`);
|
|
529
|
-
return {
|
|
530
|
-
version: 2,
|
|
531
|
-
messages,
|
|
532
|
-
attachments: legacyRecord.attachments,
|
|
533
|
-
};
|
|
534
|
-
}
|
|
535
|
-
return {
|
|
536
|
-
version: 2,
|
|
537
|
-
messages: eventMessages,
|
|
538
|
-
attachments: legacyRecord?.attachments,
|
|
539
|
-
};
|
|
540
|
-
}
|
|
541
608
|
async seedEventLogFromRecord(id, record) {
|
|
542
609
|
if (!this.migrator)
|
|
543
610
|
return;
|
|
@@ -548,30 +615,6 @@ export class ContextManagerV2 {
|
|
|
548
615
|
logger.error(`Failed to seed event log after remote restore for '${id.name}': ${err}`);
|
|
549
616
|
}
|
|
550
617
|
}
|
|
551
|
-
hasNewerSummary(candidate, current) {
|
|
552
|
-
const candidateTimestamp = this.findLastSummaryTimestamp(candidate);
|
|
553
|
-
if (candidateTimestamp === undefined) {
|
|
554
|
-
return false;
|
|
555
|
-
}
|
|
556
|
-
const currentTimestamp = this.findLastSummaryTimestamp(current);
|
|
557
|
-
return (currentTimestamp === undefined || candidateTimestamp > currentTimestamp);
|
|
558
|
-
}
|
|
559
|
-
messagesFromSummaryAnchor(messages) {
|
|
560
|
-
const anchorIndex = this.findLastSummaryIndex(messages);
|
|
561
|
-
return anchorIndex >= 0 ? messages.slice(anchorIndex) : messages;
|
|
562
|
-
}
|
|
563
|
-
findLastSummaryTimestamp(messages) {
|
|
564
|
-
const index = this.findLastSummaryIndex(messages);
|
|
565
|
-
return index >= 0 ? messages[index]?._superblocks?.timestamp : undefined;
|
|
566
|
-
}
|
|
567
|
-
findLastSummaryIndex(messages) {
|
|
568
|
-
for (let i = messages.length - 1; i >= 0; i--) {
|
|
569
|
-
if (messages[i]?._superblocks?.isSummary === true) {
|
|
570
|
-
return i;
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
return -1;
|
|
574
|
-
}
|
|
575
618
|
/**
|
|
576
619
|
* Persists an empty context record to storage for the given id.
|
|
577
620
|
* Used by handleNewChat() to overwrite the local (and later remote)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,42 @@
|
|
|
6
6
|
* primary implementation is `JsonlEventStore`, which stores events
|
|
7
7
|
* as newline-delimited JSON in per-context `.jsonl` files.
|
|
8
8
|
*/
|
|
9
|
-
import type {
|
|
9
|
+
import type { ContextUsageSnapshot } from "@superblocksteam/library-shared/types";
|
|
10
|
+
import type { AttachmentsRecord, ContextId, StoredMessage } from "../types.js";
|
|
10
11
|
import type { EventLogEntry } from "./event-types.js";
|
|
12
|
+
export interface EventLogSnapshot {
|
|
13
|
+
/**
|
|
14
|
+
* Whether the backing JSONL file contains non-whitespace content. This can
|
|
15
|
+
* be true when every entry is invalid; inspect `corruptedCount` before
|
|
16
|
+
* treating the log as authoritative.
|
|
17
|
+
*/
|
|
18
|
+
hasEvents: boolean;
|
|
19
|
+
/** Message events replayed from the latest compaction anchor onward. */
|
|
20
|
+
messages: StoredMessage[];
|
|
21
|
+
/**
|
|
22
|
+
* Whether a valid event records an attachment snapshot, including an
|
|
23
|
+
* explicit snapshot with no attachments.
|
|
24
|
+
*/
|
|
25
|
+
hasAttachmentState: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* The latest persisted attachment catalog. `undefined` means either no
|
|
28
|
+
* snapshot exists or the latest snapshot explicitly cleared attachments;
|
|
29
|
+
* `hasAttachmentState` distinguishes those cases.
|
|
30
|
+
*/
|
|
31
|
+
attachments: AttachmentsRecord | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Occupancy snapshot from the newest state entry, for the chat ring on
|
|
34
|
+
* reopen. Absent on logs written before it was recorded.
|
|
35
|
+
*/
|
|
36
|
+
lastContextUsage?: ContextUsageSnapshot;
|
|
37
|
+
/**
|
|
38
|
+
* Number of JSONL lines that failed to parse on this load. A snapshot with
|
|
39
|
+
* `hasEvents` but zero parsed messages and `corruptedCount > 0` is a corrupt
|
|
40
|
+
* log: callers must treat it as absent rather than authoritative, or a
|
|
41
|
+
* garbage file would mask a healthy legacy `main.json`.
|
|
42
|
+
*/
|
|
43
|
+
corruptedCount: number;
|
|
44
|
+
}
|
|
11
45
|
/**
|
|
12
46
|
* Append-only event log store for conversation history.
|
|
13
47
|
*
|
|
@@ -38,6 +72,16 @@ export interface EventStore {
|
|
|
38
72
|
appendEvent(id: ContextId, event: EventLogEntry, opts?: {
|
|
39
73
|
shouldAbort?: () => boolean;
|
|
40
74
|
}): Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* Append the latest non-message context state to the log.
|
|
77
|
+
*
|
|
78
|
+
* This keeps fields such as uploaded attachments and the last occupancy
|
|
79
|
+
* snapshot in the event log so legacy `main.json` is only needed to seed
|
|
80
|
+
* older logs that are missing state.
|
|
81
|
+
*/
|
|
82
|
+
appendAttachmentState(id: ContextId, attachments: AttachmentsRecord | undefined, opts?: {
|
|
83
|
+
shouldAbort?: () => boolean;
|
|
84
|
+
}, lastContextUsage?: ContextUsageSnapshot): Promise<void>;
|
|
41
85
|
/**
|
|
42
86
|
* Load conversation messages by scanning backward for the last
|
|
43
87
|
* compaction event, then reading forward from that point.
|
|
@@ -48,10 +92,26 @@ export interface EventStore {
|
|
|
48
92
|
* does not exist or is empty, returns an empty array.
|
|
49
93
|
*/
|
|
50
94
|
loadMessages(id: ContextId): Promise<StoredMessage[]>;
|
|
95
|
+
/**
|
|
96
|
+
* Load all event-derived context state with one backing read.
|
|
97
|
+
*/
|
|
98
|
+
loadSnapshot(id: ContextId): Promise<EventLogSnapshot>;
|
|
99
|
+
/**
|
|
100
|
+
* Load the latest attachment state from the event log.
|
|
101
|
+
*
|
|
102
|
+
* Returns undefined when the newest state explicitly has no attachments or
|
|
103
|
+
* when no state event exists; use `hasAttachmentState` to distinguish those
|
|
104
|
+
* cases during migration.
|
|
105
|
+
*/
|
|
106
|
+
loadAttachmentState(id: ContextId): Promise<AttachmentsRecord | undefined>;
|
|
51
107
|
/**
|
|
52
108
|
* Check whether any events exist for the given context.
|
|
53
109
|
*/
|
|
54
110
|
hasEvents(id: ContextId): Promise<boolean>;
|
|
111
|
+
/**
|
|
112
|
+
* Check whether the event log contains any attachment-state event.
|
|
113
|
+
*/
|
|
114
|
+
hasAttachmentState(id: ContextId): Promise<boolean>;
|
|
55
115
|
/**
|
|
56
116
|
* Drop every event whose `timestamp` is strictly greater than
|
|
57
117
|
* `sinceTimestamp`, keeping the prefix of the append-only log that
|
|
@@ -68,6 +128,18 @@ export interface EventStore {
|
|
|
68
128
|
* leave the file untouched.
|
|
69
129
|
*/
|
|
70
130
|
truncateAfterTimestamp(id: ContextId, sinceTimestamp: number): Promise<number>;
|
|
131
|
+
/**
|
|
132
|
+
* Atomically replace the whole event log with `events`: the new contents
|
|
133
|
+
* are written in full to a sibling temp file, then renamed over the log, so
|
|
134
|
+
* a crash or error mid-write leaves either the old log or the complete new
|
|
135
|
+
* one — never a partial log.
|
|
136
|
+
*
|
|
137
|
+
* `opts.shouldAbort` is checked after the temp file is written and before
|
|
138
|
+
* the rename; an aborted replace leaves the existing log untouched.
|
|
139
|
+
*/
|
|
140
|
+
replaceEvents(id: ContextId, events: EventLogEntry[], opts?: {
|
|
141
|
+
shouldAbort?: () => boolean;
|
|
142
|
+
}): Promise<void>;
|
|
71
143
|
/**
|
|
72
144
|
* Remove the event log for a single context. Idempotent: returns
|
|
73
145
|
* normally when no log exists.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-store.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/storage/event-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"event-store.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/storage/event-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAElF,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;IACnB,wEAAwE;IACxE,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B;;;OAGG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,WAAW,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC3C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;;;;;;OAYG;IACH,WAAW,CACT,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,aAAa,EACpB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;KAAE,GACrC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;OAMG;IACH,qBAAqB,CACnB,EAAE,EAAE,SAAS,EACb,WAAW,EAAE,iBAAiB,GAAG,SAAS,EAC1C,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;KAAE,EACtC,gBAAgB,CAAC,EAAE,oBAAoB,GACtC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAEtD;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEvD;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;IAE3E;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3C;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpD;;;;;;;;;;;;;;OAcG;IACH,sBAAsB,CACpB,EAAE,EAAE,SAAS,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;;;;;;;OAQG;IACH,aAAa,CACX,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,aAAa,EAAE,EACvB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAA;KAAE,GACrC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C;;;;OAIG;IACH,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC"}
|