@superblocksteam/vite-plugin-file-sync 2.0.151 → 2.0.152-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 +10 -1
- package/dist/ai-service/agent/middleware.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 +25 -6
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js +7 -2
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts +47 -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 +129 -15
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +1 -24
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts +53 -9
- package/dist/ai-service/agent/tools/databases/dev-database-tasks.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/databases/dev-database-tasks.js +304 -67
- package/dist/ai-service/agent/tools/databases/dev-database-tasks.js.map +1 -1
- package/dist/ai-service/agent/tools/databases/dev-database-tools.d.ts +47 -1
- package/dist/ai-service/agent/tools/databases/dev-database-tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/databases/dev-database-tools.js +38 -1
- package/dist/ai-service/agent/tools/databases/dev-database-tools.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +391 -0
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.js +257 -44
- package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/index.d.ts +1 -1
- package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/index.js +1 -1
- package/dist/ai-service/agent/tools/integrations/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/managed-app-database.d.ts +16 -0
- package/dist/ai-service/agent/tools/integrations/managed-app-database.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/managed-app-database.js +31 -0
- package/dist/ai-service/agent/tools/integrations/managed-app-database.js.map +1 -0
- package/dist/ai-service/agent/tools/integrations/sql-classification.d.ts +44 -0
- package/dist/ai-service/agent/tools/integrations/sql-classification.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/sql-classification.js +352 -0
- package/dist/ai-service/agent/tools/integrations/sql-classification.js.map +1 -0
- package/dist/ai-service/agent/tools/report-security-findings.d.ts +5 -5
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +5 -1
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +2 -0
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/check-task.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/check-task.js +4 -1
- package/dist/ai-service/agent/tools2/tools/check-task.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 +12 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/wait-for-task.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/wait-for-task.js +5 -1
- package/dist/ai-service/agent/tools2/tools/wait-for-task.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +10 -1
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +65 -15
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/context-archive-paths.d.ts +7 -0
- package/dist/ai-service/context-archive-paths.d.ts.map +1 -1
- package/dist/ai-service/context-archive-paths.js +7 -0
- package/dist/ai-service/context-archive-paths.js.map +1 -1
- package/dist/ai-service/context-download.d.ts.map +1 -1
- package/dist/ai-service/context-download.js +8 -10
- package/dist/ai-service/context-download.js.map +1 -1
- package/dist/ai-service/context-flush.d.ts +36 -0
- package/dist/ai-service/context-flush.d.ts.map +1 -0
- package/dist/ai-service/context-flush.js +90 -0
- package/dist/ai-service/context-flush.js.map +1 -0
- package/dist/ai-service/context-restore.d.ts +64 -0
- package/dist/ai-service/context-restore.d.ts.map +1 -0
- package/dist/ai-service/context-restore.js +136 -0
- package/dist/ai-service/context-restore.js.map +1 -0
- package/dist/ai-service/context-upload.d.ts +13 -4
- package/dist/ai-service/context-upload.d.ts.map +1 -1
- package/dist/ai-service/context-upload.js +28 -18
- package/dist/ai-service/context-upload.js.map +1 -1
- package/dist/ai-service/dev-database-client.d.ts +51 -0
- package/dist/ai-service/dev-database-client.d.ts.map +1 -1
- package/dist/ai-service/dev-database-client.js +3 -0
- package/dist/ai-service/dev-database-client.js.map +1 -1
- package/dist/ai-service/index.d.ts +19 -0
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +449 -182
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/llm/context-v2/adapter.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/adapter.js +1 -0
- package/dist/ai-service/llm/context-v2/adapter.js.map +1 -1
- package/dist/ai-service/llm/context-v2/compaction/client-side.d.ts +30 -0
- package/dist/ai-service/llm/context-v2/compaction/client-side.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/compaction/client-side.js +77 -4
- package/dist/ai-service/llm/context-v2/compaction/client-side.js.map +1 -1
- package/dist/ai-service/llm/context-v2/compaction/compaction-strategy.d.ts +5 -0
- package/dist/ai-service/llm/context-v2/compaction/compaction-strategy.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/compaction/server-side.d.ts +1 -0
- package/dist/ai-service/llm/context-v2/compaction/server-side.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/compaction/server-side.js +3 -0
- package/dist/ai-service/llm/context-v2/compaction/server-side.js.map +1 -1
- package/dist/ai-service/llm/context-v2/compactor.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/compactor.js +57 -6
- package/dist/ai-service/llm/context-v2/compactor.js.map +1 -1
- package/dist/ai-service/llm/context-v2/config.d.ts +13 -1
- package/dist/ai-service/llm/context-v2/config.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/config.js +39 -2
- package/dist/ai-service/llm/context-v2/config.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts +23 -0
- package/dist/ai-service/llm/context-v2/context-metrics.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context-metrics.js +52 -1
- package/dist/ai-service/llm/context-v2/context-metrics.js.map +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts +27 -3
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +107 -10
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.d.ts +66 -0
- package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.js +194 -2
- package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/event-store.d.ts +31 -5
- package/dist/ai-service/llm/context-v2/storage/event-store.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/jsonl-event-store.d.ts +30 -9
- 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 +96 -13
- package/dist/ai-service/llm/context-v2/storage/jsonl-event-store.js.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/legacy-context-adoption.d.ts +46 -0
- package/dist/ai-service/llm/context-v2/storage/legacy-context-adoption.d.ts.map +1 -0
- package/dist/ai-service/llm/context-v2/storage/legacy-context-adoption.js +240 -0
- package/dist/ai-service/llm/context-v2/storage/legacy-context-adoption.js.map +1 -0
- package/dist/ai-service/llm/context-v2/storage/local.d.ts +1 -1
- package/dist/ai-service/llm/context-v2/storage/local.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/storage/local.js +3 -2
- package/dist/ai-service/llm/context-v2/storage/local.js.map +1 -1
- package/dist/ai-service/llm/context-v2/types.d.ts +5 -1
- package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/types.js.map +1 -1
- package/dist/ai-service/llm/stream/config.d.ts +4 -3
- package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/config.js.map +1 -1
- package/dist/ai-service/llm/stream/idle-monitor.d.ts +37 -4
- package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/idle-monitor.js +38 -3
- package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -1
- package/dist/ai-service/policy-agent-metrics.d.ts +18 -0
- package/dist/ai-service/policy-agent-metrics.d.ts.map +1 -0
- package/dist/ai-service/policy-agent-metrics.js +99 -0
- package/dist/ai-service/policy-agent-metrics.js.map +1 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts +9 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.d.ts +9 -0
- 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 +27 -0
- package/dist/ai-service/state-machine/helpers/prompt-request-metrics.js.map +1 -1
- package/dist/ai-service/tasks/factory.d.ts +7 -0
- package/dist/ai-service/tasks/factory.d.ts.map +1 -1
- package/dist/ai-service/tasks/factory.js +5 -0
- package/dist/ai-service/tasks/factory.js.map +1 -1
- package/dist/ai-service/tasks/task-store.d.ts +11 -1
- package/dist/ai-service/tasks/task-store.d.ts.map +1 -1
- package/dist/ai-service/tasks/task-store.js +104 -29
- package/dist/ai-service/tasks/task-store.js.map +1 -1
- package/dist/ai-service/tasks/types.d.ts +9 -1
- package/dist/ai-service/tasks/types.d.ts.map +1 -1
- package/dist/extract-api-integrations.d.ts +76 -0
- package/dist/extract-api-integrations.d.ts.map +1 -1
- package/dist/extract-api-integrations.js +428 -109
- package/dist/extract-api-integrations.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +42 -79
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-helpers.d.ts +1 -1
- package/dist/file-system-helpers.d.ts.map +1 -1
- package/dist/file-system-helpers.js +1 -0
- package/dist/file-system-helpers.js.map +1 -1
- package/dist/git-auth-state.d.ts +4 -0
- package/dist/git-auth-state.d.ts.map +1 -0
- package/dist/git-auth-state.js +25 -0
- package/dist/git-auth-state.js.map +1 -0
- package/dist/git-service/checkpoint-commit-metrics.d.ts +2 -0
- package/dist/git-service/checkpoint-commit-metrics.d.ts.map +1 -0
- package/dist/git-service/checkpoint-commit-metrics.js +15 -0
- package/dist/git-service/checkpoint-commit-metrics.js.map +1 -0
- package/dist/git-service/checkpoint-committer.d.ts +22 -0
- package/dist/git-service/checkpoint-committer.d.ts.map +1 -0
- package/dist/git-service/checkpoint-committer.js +91 -0
- package/dist/git-service/checkpoint-committer.js.map +1 -0
- package/dist/git-service/commit-live-branch.d.ts +17 -0
- package/dist/git-service/commit-live-branch.d.ts.map +1 -0
- package/dist/git-service/commit-live-branch.js +28 -0
- package/dist/git-service/commit-live-branch.js.map +1 -0
- package/dist/git-service/provider-workflow-files.d.ts +12 -0
- package/dist/git-service/provider-workflow-files.d.ts.map +1 -0
- package/dist/git-service/provider-workflow-files.js +36 -0
- package/dist/git-service/provider-workflow-files.js.map +1 -0
- package/dist/plugin-options.d.ts +8 -0
- package/dist/plugin-options.d.ts.map +1 -1
- package/dist/plugin-options.js.map +1 -1
- package/dist/policy-gate-runner.d.ts.map +1 -1
- package/dist/policy-gate-runner.js +7 -9
- package/dist/policy-gate-runner.js.map +1 -1
- package/dist/server-rpc/client.d.ts.map +1 -1
- package/dist/server-rpc/client.js +2 -0
- package/dist/server-rpc/client.js.map +1 -1
- package/dist/server-rpc/index.d.ts +43 -1
- package/dist/server-rpc/index.d.ts.map +1 -1
- package/dist/server-rpc/index.js +143 -5
- package/dist/server-rpc/index.js.map +1 -1
- package/dist/server-rpc/request-abort-context.d.ts +3 -0
- package/dist/server-rpc/request-abort-context.d.ts.map +1 -0
- package/dist/server-rpc/request-abort-context.js +23 -0
- package/dist/server-rpc/request-abort-context.js.map +1 -0
- package/dist/server-rpc/rpc-invalidate-metrics.d.ts +20 -0
- package/dist/server-rpc/rpc-invalidate-metrics.d.ts.map +1 -0
- package/dist/server-rpc/rpc-invalidate-metrics.js +86 -0
- package/dist/server-rpc/rpc-invalidate-metrics.js.map +1 -0
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +21 -60
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/index.d.ts +26 -2
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +74 -37
- package/dist/sync-service/index.js.map +1 -1
- package/package.json +9 -8
|
@@ -22,12 +22,14 @@
|
|
|
22
22
|
* - `superblocks.clark.context.documents` gauge {mode}
|
|
23
23
|
* - `superblocks.clark.context.documents_added_total` counter {mode}
|
|
24
24
|
* - `superblocks.clark.context.documents_dropped_total` counter {mode}
|
|
25
|
+
* - `superblocks.clark.context.compaction_skipped_total` counter {reason}
|
|
25
26
|
* - `superblocks.clark.context.server_compactions` counter {status}
|
|
26
27
|
* - `superblocks.clark.context.server_compaction.*` histograms {status}
|
|
27
28
|
* - `superblocks.clark.context.server_clear_tool_uses` counter
|
|
28
29
|
* - `superblocks.clark.context.server_clear_tool_uses.*` histograms
|
|
29
30
|
* - `superblocks.clark.context.restore_empty_created_total` counter
|
|
30
31
|
* - `superblocks.clark.context.attachment_persist_total` counter {status}
|
|
32
|
+
* - `superblocks.clark.context.checkpoint_restore_outcomes_total` counter {outcome}
|
|
31
33
|
*
|
|
32
34
|
* Base cardinality budget (documented contract — growing an enum must be a
|
|
33
35
|
* deliberate, reviewed change; the regression test pins these counts):
|
|
@@ -35,11 +37,13 @@
|
|
|
35
37
|
* - source ≤ 5, trigger ≤ 6, load outcome ≤ 5, operation ≤ 2,
|
|
36
38
|
* mode ≤ 2 across 3 document instruments → 44 baseline/document/outcome
|
|
37
39
|
* series.
|
|
40
|
+
* - compaction_skipped reason ≤ 2 across 1 counter → 2 series.
|
|
38
41
|
* - server_compaction status ≤ 3, path ≤ 2 across 1 counter + 7 histograms → 48 series.
|
|
39
42
|
* - server_clear_tool_uses has no labels across 1 counter + 2 histograms → 3 series.
|
|
40
43
|
* - restore_empty_created_total has no labels → 1 series.
|
|
41
44
|
* - attachment_persist_total status ≤ 2 → 2 series.
|
|
42
|
-
* -
|
|
45
|
+
* - checkpoint_restore_outcomes_total outcome ≤ 5 → 5 series.
|
|
46
|
+
* - Combined base: 103 worst-case series. Keep org/app identity in logs or
|
|
43
47
|
* traces, not metric labels.
|
|
44
48
|
*/
|
|
45
49
|
import { metrics, } from "@opentelemetry/api";
|
|
@@ -71,6 +75,8 @@ export const CONTEXT_LOAD_OUTCOMES = [
|
|
|
71
75
|
export const CONTEXT_FILE_OPERATIONS = ["load", "persist"];
|
|
72
76
|
export const CONTEXT_DOCUMENT_MODES = ["inline", "reference"];
|
|
73
77
|
export const COMPACTION_PATHS = ["client", "server"];
|
|
78
|
+
/** Why a client-side compaction was skipped instead of running. */
|
|
79
|
+
export const COMPACTION_SKIP_REASONS = ["rearm_latch"];
|
|
74
80
|
export const SERVER_COMPACTION_STATUSES = [
|
|
75
81
|
"cancelled",
|
|
76
82
|
"completed",
|
|
@@ -78,12 +84,34 @@ export const SERVER_COMPACTION_STATUSES = [
|
|
|
78
84
|
];
|
|
79
85
|
/** Outcome of persisting a prompt's uploaded attachments into the context. */
|
|
80
86
|
export const ATTACHMENT_PERSIST_STATUSES = ["failure", "success"];
|
|
87
|
+
/**
|
|
88
|
+
* Final outcome of a checkpoint restore (version rollback). Low-cardinality so
|
|
89
|
+
* the rare failure branches are countable/alertable instead of only appearing
|
|
90
|
+
* as log lines:
|
|
91
|
+
* - `restored`: context rolled back and the server chat truncated to match.
|
|
92
|
+
* - `chat_truncate_failed`: context rolled back but the server chat truncation
|
|
93
|
+
* failed after retries — context and chat diverge (needs attention).
|
|
94
|
+
* - `aborted`: the event-log truncation threw; the rollback was not confirmed
|
|
95
|
+
* (warm path: nothing was mutated; cold path: the archive was installed but
|
|
96
|
+
* could not be truncated).
|
|
97
|
+
* - `unhealed`: the snapshot could not be made consistent, so the rollback was
|
|
98
|
+
* not applied and the chat was preserved.
|
|
99
|
+
* - `no_checkpoint`: the cold (remote) restore found no checkpoint to install.
|
|
100
|
+
*/
|
|
101
|
+
export const CHECKPOINT_RESTORE_OUTCOMES = [
|
|
102
|
+
"aborted",
|
|
103
|
+
"chat_truncate_failed",
|
|
104
|
+
"no_checkpoint",
|
|
105
|
+
"restored",
|
|
106
|
+
"unhealed",
|
|
107
|
+
];
|
|
81
108
|
const METER_NAME = "superblocks.clark.context";
|
|
82
109
|
const METRIC_LOAD_DURATION = "superblocks.clark.context.load_duration_seconds";
|
|
83
110
|
const METRIC_PERSIST_DURATION = "superblocks.clark.context.persist_duration_seconds";
|
|
84
111
|
const METRIC_LOAD_OUTCOMES = "superblocks.clark.context.load_outcomes_total";
|
|
85
112
|
const METRIC_FILE_BYTES = "superblocks.clark.context.file_bytes";
|
|
86
113
|
const METRIC_RESTORE_EMPTY_CREATED = "superblocks.clark.context.restore_empty_created_total";
|
|
114
|
+
const METRIC_CHECKPOINT_RESTORE = "superblocks.clark.context.checkpoint_restore_outcomes_total";
|
|
87
115
|
const METRIC_ATTACHMENT_PERSIST = "superblocks.clark.context.attachment_persist_total";
|
|
88
116
|
// APPS-4891 intentionally replaced the old {state} document metric shape.
|
|
89
117
|
// Consumers should query documents{mode} for current counts and
|
|
@@ -91,6 +119,7 @@ const METRIC_ATTACHMENT_PERSIST = "superblocks.clark.context.attachment_persist_
|
|
|
91
119
|
const METRIC_DOCUMENTS = "superblocks.clark.context.documents";
|
|
92
120
|
const METRIC_DOCUMENTS_ADDED = "superblocks.clark.context.documents_added_total";
|
|
93
121
|
const METRIC_DOCUMENTS_DROPPED = "superblocks.clark.context.documents_dropped_total";
|
|
122
|
+
const METRIC_COMPACTION_SKIPPED = "superblocks.clark.context.compaction_skipped_total";
|
|
94
123
|
const METRIC_SERVER_COMPACTIONS = "superblocks.clark.context.server_compactions";
|
|
95
124
|
const METRIC_SERVER_COMPACTION_DURATION = "superblocks.clark.context.server_compaction.duration_seconds";
|
|
96
125
|
const METRIC_SERVER_COMPACTION_MESSAGES_BEFORE = "superblocks.clark.context.server_compaction.messages_before";
|
|
@@ -175,6 +204,10 @@ class ClarkContextMetrics {
|
|
|
175
204
|
description: "Count of prompt-attachment persistence outcomes when a turn carries uploaded attachments.",
|
|
176
205
|
unit: "{persist}",
|
|
177
206
|
}),
|
|
207
|
+
compactionSkippedCounter: meter.createCounter(METRIC_COMPACTION_SKIPPED, {
|
|
208
|
+
description: "Count of client-side compactions skipped instead of run, by reason (e.g. the re-arm latch suppressing a redundant same-turn re-fire).",
|
|
209
|
+
unit: "{compaction}",
|
|
210
|
+
}),
|
|
178
211
|
documentCountGauge,
|
|
179
212
|
documentsAddedCounter: meter.createCounter(METRIC_DOCUMENTS_ADDED, {
|
|
180
213
|
description: "Direct documents added to provider-bound Clark context before provider-cap enforcement.",
|
|
@@ -207,6 +240,10 @@ class ClarkContextMetrics {
|
|
|
207
240
|
description: "Count of remote context restore attempts that still created a new empty Clark context.",
|
|
208
241
|
unit: "{restore}",
|
|
209
242
|
}),
|
|
243
|
+
checkpointRestoreCounter: meter.createCounter(METRIC_CHECKPOINT_RESTORE, {
|
|
244
|
+
description: "Count of Clark checkpoint restores (version rollbacks) by final low-cardinality outcome.",
|
|
245
|
+
unit: "{restore}",
|
|
246
|
+
}),
|
|
210
247
|
serverCompactionCounter: meter.createCounter(METRIC_SERVER_COMPACTIONS, {
|
|
211
248
|
description: "Count of Anthropic server-side context compaction lifecycle outcomes.",
|
|
212
249
|
unit: "{compaction}",
|
|
@@ -307,6 +344,9 @@ class ClarkContextMetrics {
|
|
|
307
344
|
recordRestoreEmptyCreated() {
|
|
308
345
|
this.getInstruments().restoreEmptyCreatedCounter.add(1);
|
|
309
346
|
}
|
|
347
|
+
recordCheckpointRestore(outcome) {
|
|
348
|
+
this.getInstruments().checkpointRestoreCounter.add(1, { outcome });
|
|
349
|
+
}
|
|
310
350
|
recordFileBytes(input) {
|
|
311
351
|
this.getInstruments().fileBytesHistogram.record(Math.max(0, input.bytes), {
|
|
312
352
|
operation: input.operation,
|
|
@@ -359,6 +399,11 @@ class ClarkContextMetrics {
|
|
|
359
399
|
instruments.serverCompactionInputTokensRemovedHistogram.record(clampCount(input.inputTokensBefore - input.inputTokensAfter), attributes);
|
|
360
400
|
}
|
|
361
401
|
}
|
|
402
|
+
recordCompactionSkipped(input) {
|
|
403
|
+
this.getInstruments().compactionSkippedCounter.add(1, {
|
|
404
|
+
reason: input.reason,
|
|
405
|
+
});
|
|
406
|
+
}
|
|
362
407
|
recordContextOccupancy(tokens) {
|
|
363
408
|
this.getInstruments().contextOccupancyHistogram.record(clampCount(tokens));
|
|
364
409
|
}
|
|
@@ -420,6 +465,9 @@ export function recordContextLoadOutcome(input) {
|
|
|
420
465
|
export function recordContextRestoreEmptyCreated() {
|
|
421
466
|
clarkContextMetrics.recordRestoreEmptyCreated();
|
|
422
467
|
}
|
|
468
|
+
export function recordCheckpointRestore(outcome) {
|
|
469
|
+
clarkContextMetrics.recordCheckpointRestore(outcome);
|
|
470
|
+
}
|
|
423
471
|
export function recordContextFileBytes(input) {
|
|
424
472
|
clarkContextMetrics.recordFileBytes(input);
|
|
425
473
|
}
|
|
@@ -433,6 +481,9 @@ export function recordCompaction(input) {
|
|
|
433
481
|
const { applicationId: _applicationId, organizationId: _organizationId, ...metricsInput } = input;
|
|
434
482
|
clarkContextMetrics.recordCompaction(metricsInput);
|
|
435
483
|
}
|
|
484
|
+
export function recordCompactionSkipped(input) {
|
|
485
|
+
clarkContextMetrics.recordCompactionSkipped(input);
|
|
486
|
+
}
|
|
436
487
|
export function recordContextOccupancy(tokens) {
|
|
437
488
|
clarkContextMetrics.recordContextOccupancy(tokens);
|
|
438
489
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-metrics.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/context-metrics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context-metrics.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/context-metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,9 +21,9 @@ interface ContextV2Options {
|
|
|
21
21
|
/** Event store for appending live conversation events (prompt_sent, response_received). */
|
|
22
22
|
eventStore?: EventStore;
|
|
23
23
|
/**
|
|
24
|
-
* Full context identifier
|
|
25
|
-
*
|
|
26
|
-
* application
|
|
24
|
+
* Full context identifier used to partition event log writes. Partitioning
|
|
25
|
+
* is by `appId` and `name`: the reasoning context is app-scoped, so every
|
|
26
|
+
* editor of an application shares one event log per context name.
|
|
27
27
|
*/
|
|
28
28
|
contextId?: ContextId;
|
|
29
29
|
/**
|
|
@@ -72,6 +72,7 @@ export declare class ContextV2 implements Context {
|
|
|
72
72
|
private completedTurnCount;
|
|
73
73
|
private lastCompactionAtTurnIndex;
|
|
74
74
|
private isDisposed;
|
|
75
|
+
private readonly inFlightPersists;
|
|
75
76
|
constructor(options: ContextV2Options);
|
|
76
77
|
private _cachedMessages;
|
|
77
78
|
/**
|
|
@@ -148,6 +149,12 @@ export declare class ContextV2 implements Context {
|
|
|
148
149
|
* O(history) scan per message.
|
|
149
150
|
*/
|
|
150
151
|
addResponses(responses: ModelMessage[], usage: LanguageModelUsage): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* Begin a user turn. Resets per-turn compaction state (the re-arm latch) so
|
|
154
|
+
* a fresh turn's first compaction is unguarded. Called by the
|
|
155
|
+
* adapter's startTurn, once per managed generation (see LLMClient.streamText).
|
|
156
|
+
*/
|
|
157
|
+
startTurn(): void;
|
|
151
158
|
/**
|
|
152
159
|
* Persist the full record once, at the end of a generation.
|
|
153
160
|
*
|
|
@@ -232,11 +239,28 @@ export declare class ContextV2 implements Context {
|
|
|
232
239
|
* prompt size even though only tool outputs were pruned in place.
|
|
233
240
|
*/
|
|
234
241
|
private markPreCompactionBaselines;
|
|
242
|
+
/**
|
|
243
|
+
* Await every persist that is currently mid-flight, then resolve.
|
|
244
|
+
*
|
|
245
|
+
* A persist that has already passed the {@link persist} dispose guard is
|
|
246
|
+
* committed to writing the snapshot; `dispose()` cannot recall it. A caller
|
|
247
|
+
* about to overwrite that snapshot with rolled-back state (checkpoint restore
|
|
248
|
+
* heals the snapshot to match the truncated event log) must drain first, or
|
|
249
|
+
* the late write lands after the heal and clobbers the rollback — and
|
|
250
|
+
* re-emits `contextPersisted`, flushing the poisoned state remotely. Drains
|
|
251
|
+
* until stable in case a persist enqueues while we await, though after
|
|
252
|
+
* `dispose()` none should start.
|
|
253
|
+
*/
|
|
254
|
+
drainPersists(): Promise<void>;
|
|
235
255
|
/**
|
|
236
256
|
* Persist failures are swallowed (logged + recorded on the span) — a
|
|
237
257
|
* storage error must never fail the conversation turn that triggered it.
|
|
258
|
+
*
|
|
259
|
+
* Tracks the returned promise in {@link inFlightPersists} so a concurrent
|
|
260
|
+
* {@link drainPersists} can await a write that has already begun.
|
|
238
261
|
*/
|
|
239
262
|
private persist;
|
|
263
|
+
private runPersist;
|
|
240
264
|
}
|
|
241
265
|
export {};
|
|
242
266
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/context.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { getPrefixedLogger } from "../../../util/logger.js";
|
|
|
5
5
|
import { LLMObsTracer } from "../../llmobs/tracer.js";
|
|
6
6
|
import { findBreakpoints } from "./caching.js";
|
|
7
7
|
import { SERVER_COMPACTION_INTERRUPTED_SUMMARY, SERVER_COMPACTION_SUMMARY, ServerSideCompactionStrategy, } from "./compaction/server-side.js";
|
|
8
|
-
import {
|
|
8
|
+
import { DEFAULT_CACHING, resolveContextOptionsV2 } from "./config.js";
|
|
9
9
|
import { recordContextPersist, recordServerCompaction, recordTurnsSinceLastCompaction, } from "./context-metrics.js";
|
|
10
10
|
import { OperationQueue } from "./operation-queue.js";
|
|
11
11
|
import { CLIENT_COMPACTION_MARKER } from "./storage/event-types.js";
|
|
@@ -163,9 +163,14 @@ export class ContextV2 {
|
|
|
163
163
|
// When disposed, this context may still be referenced by in-flight streams.
|
|
164
164
|
// Keep it inert so stale generations cannot persist cleared history.
|
|
165
165
|
isDisposed = false;
|
|
166
|
+
// Persists currently mid-flight. A persist that has already passed the
|
|
167
|
+
// dispose guard is committed to writing the snapshot, so `dispose()` alone
|
|
168
|
+
// cannot stop it; `drainPersists()` lets a caller that is about to overwrite
|
|
169
|
+
// the snapshot (checkpoint restore) wait for those writes to land first.
|
|
170
|
+
inFlightPersists = new Set();
|
|
166
171
|
constructor(options) {
|
|
167
172
|
this.rootDir = options.rootDir;
|
|
168
|
-
this.config =
|
|
173
|
+
this.config = resolveContextOptionsV2(options.config);
|
|
169
174
|
this.caching = { ...DEFAULT_CACHING, ...options.caching };
|
|
170
175
|
this.onPersist = options.onPersist;
|
|
171
176
|
this.tracer = options.tracer;
|
|
@@ -197,7 +202,7 @@ export class ContextV2 {
|
|
|
197
202
|
this._cachedMessages = null;
|
|
198
203
|
}
|
|
199
204
|
updateConfig(config) {
|
|
200
|
-
this.config = { ...this.config, ...config };
|
|
205
|
+
this.config = resolveContextOptionsV2({ ...this.config, ...config });
|
|
201
206
|
this.invalidateMessageCache();
|
|
202
207
|
this.compaction.updateConfig(config);
|
|
203
208
|
}
|
|
@@ -479,6 +484,14 @@ export class ContextV2 {
|
|
|
479
484
|
await this.runCompactionIfNeeded(lastResponse, usage);
|
|
480
485
|
}
|
|
481
486
|
}
|
|
487
|
+
/**
|
|
488
|
+
* Begin a user turn. Resets per-turn compaction state (the re-arm latch) so
|
|
489
|
+
* a fresh turn's first compaction is unguarded. Called by the
|
|
490
|
+
* adapter's startTurn, once per managed generation (see LLMClient.streamText).
|
|
491
|
+
*/
|
|
492
|
+
startTurn() {
|
|
493
|
+
this.compaction.onTurnStart();
|
|
494
|
+
}
|
|
482
495
|
/**
|
|
483
496
|
* Persist the full record once, at the end of a generation.
|
|
484
497
|
*
|
|
@@ -800,6 +813,10 @@ export class ContextV2 {
|
|
|
800
813
|
status: "completed",
|
|
801
814
|
});
|
|
802
815
|
}
|
|
816
|
+
if (this.isDisposed) {
|
|
817
|
+
logger.warn(`Skipping server-compaction event append for context '${this.contextId?.name ?? "ephemeral"}': context was disposed (concurrent checkpoint restore or New Chat)`);
|
|
818
|
+
return;
|
|
819
|
+
}
|
|
803
820
|
if (!this.eventStore || !this.contextId) {
|
|
804
821
|
logger.info("Server-side compaction detected (no event store configured)", {
|
|
805
822
|
...(durationMs !== undefined
|
|
@@ -825,9 +842,19 @@ export class ContextV2 {
|
|
|
825
842
|
};
|
|
826
843
|
const retainedMessages = markedMessages.slice(1);
|
|
827
844
|
try {
|
|
828
|
-
await this.eventStore.appendEvent(this.contextId, entry
|
|
845
|
+
await this.eventStore.appendEvent(this.contextId, entry, {
|
|
846
|
+
shouldAbort: () => this.isDisposed,
|
|
847
|
+
});
|
|
829
848
|
for (const message of retainedMessages) {
|
|
830
|
-
|
|
849
|
+
// Re-check per iteration: the loop awaits between writes, so a
|
|
850
|
+
// concurrent New Chat / checkpoint restore can dispose the shared
|
|
851
|
+
// instance mid-replay. Stop rather than append the rest into the
|
|
852
|
+
// (possibly just-cleared) shared log for every editor.
|
|
853
|
+
if (this.isDisposed) {
|
|
854
|
+
logger.warn(`Stopping server-compaction replay for context '${this.contextId?.name ?? "ephemeral"}': context disposed mid-write (concurrent checkpoint restore or New Chat)`);
|
|
855
|
+
break;
|
|
856
|
+
}
|
|
857
|
+
await this.eventStore.appendEvent(this.contextId, this.toEventLogEntry(message), { shouldAbort: () => this.isDisposed });
|
|
831
858
|
}
|
|
832
859
|
}
|
|
833
860
|
catch (err) {
|
|
@@ -900,6 +927,14 @@ export class ContextV2 {
|
|
|
900
927
|
return this.compaction.getProtectedToolNames(this.messages);
|
|
901
928
|
}
|
|
902
929
|
async appendEvent(type, message, usage) {
|
|
930
|
+
if (this.isDisposed) {
|
|
931
|
+
// The event log is the primary load source (manager.loadRecord replays
|
|
932
|
+
// it before legacy/remote), so a late in-flight append from a disposed
|
|
933
|
+
// shared instance would resurrect the just-cleared/restored conversation
|
|
934
|
+
// for every editor. Skip — and log, since it was previously invisible.
|
|
935
|
+
logger.warn(`Skipping '${type}' event append for context '${this.contextId?.name ?? "ephemeral"}': context was disposed (concurrent checkpoint restore or New Chat)`);
|
|
936
|
+
return;
|
|
937
|
+
}
|
|
903
938
|
if (!this.eventStore || !this.contextId) {
|
|
904
939
|
return;
|
|
905
940
|
}
|
|
@@ -917,13 +952,19 @@ export class ContextV2 {
|
|
|
917
952
|
...(usage && { usage }),
|
|
918
953
|
};
|
|
919
954
|
try {
|
|
920
|
-
await this.eventStore.appendEvent(this.contextId, entry
|
|
955
|
+
await this.eventStore.appendEvent(this.contextId, entry, {
|
|
956
|
+
shouldAbort: () => this.isDisposed,
|
|
957
|
+
});
|
|
921
958
|
}
|
|
922
959
|
catch (err) {
|
|
923
960
|
logger.error(`Failed to append ${type} event: ${err}`);
|
|
924
961
|
}
|
|
925
962
|
}
|
|
926
963
|
async appendCompactionWindow(messages) {
|
|
964
|
+
if (this.isDisposed) {
|
|
965
|
+
logger.warn(`Skipping compaction-window event append for context '${this.contextId?.name ?? "ephemeral"}': context was disposed (concurrent checkpoint restore or New Chat)`);
|
|
966
|
+
return;
|
|
967
|
+
}
|
|
927
968
|
if (!this.eventStore || !this.contextId) {
|
|
928
969
|
return;
|
|
929
970
|
}
|
|
@@ -958,10 +999,17 @@ export class ContextV2 {
|
|
|
958
999
|
timestamp: Date.now(),
|
|
959
1000
|
role: "system",
|
|
960
1001
|
content: CLIENT_COMPACTION_MARKER,
|
|
961
|
-
});
|
|
1002
|
+
}, { shouldAbort: () => this.isDisposed });
|
|
962
1003
|
}
|
|
963
1004
|
for (const message of windowMessages) {
|
|
964
|
-
|
|
1005
|
+
// Re-check per iteration: see onCompactionDetected — a dispose during
|
|
1006
|
+
// the loop's awaits must stop the replay, not keep appending into a
|
|
1007
|
+
// shared log a concurrent New Chat / restore may have just cleared.
|
|
1008
|
+
if (this.isDisposed) {
|
|
1009
|
+
logger.warn(`Stopping compaction-window replay for context '${this.contextId?.name ?? "ephemeral"}': context disposed mid-write (concurrent checkpoint restore or New Chat)`);
|
|
1010
|
+
break;
|
|
1011
|
+
}
|
|
1012
|
+
await this.eventStore.appendEvent(this.contextId, this.toEventLogEntry(message), { shouldAbort: () => this.isDisposed });
|
|
965
1013
|
}
|
|
966
1014
|
logger.info(`Wrote ${windowMessages.length} client-side compaction message(s) to event log ` +
|
|
967
1015
|
`(anchor: ${needsMarker ? "phase-1 marker" : "isSummary message"})`);
|
|
@@ -1042,17 +1090,66 @@ export class ContextV2 {
|
|
|
1042
1090
|
};
|
|
1043
1091
|
});
|
|
1044
1092
|
}
|
|
1093
|
+
/**
|
|
1094
|
+
* Await every persist that is currently mid-flight, then resolve.
|
|
1095
|
+
*
|
|
1096
|
+
* A persist that has already passed the {@link persist} dispose guard is
|
|
1097
|
+
* committed to writing the snapshot; `dispose()` cannot recall it. A caller
|
|
1098
|
+
* about to overwrite that snapshot with rolled-back state (checkpoint restore
|
|
1099
|
+
* heals the snapshot to match the truncated event log) must drain first, or
|
|
1100
|
+
* the late write lands after the heal and clobbers the rollback — and
|
|
1101
|
+
* re-emits `contextPersisted`, flushing the poisoned state remotely. Drains
|
|
1102
|
+
* until stable in case a persist enqueues while we await, though after
|
|
1103
|
+
* `dispose()` none should start.
|
|
1104
|
+
*/
|
|
1105
|
+
async drainPersists() {
|
|
1106
|
+
while (this.inFlightPersists.size > 0) {
|
|
1107
|
+
await Promise.allSettled([...this.inFlightPersists]);
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1045
1110
|
/**
|
|
1046
1111
|
* Persist failures are swallowed (logged + recorded on the span) — a
|
|
1047
1112
|
* storage error must never fail the conversation turn that triggered it.
|
|
1113
|
+
*
|
|
1114
|
+
* Tracks the returned promise in {@link inFlightPersists} so a concurrent
|
|
1115
|
+
* {@link drainPersists} can await a write that has already begun.
|
|
1048
1116
|
*/
|
|
1049
|
-
|
|
1050
|
-
|
|
1117
|
+
persist(trigger) {
|
|
1118
|
+
const run = this.runPersist(trigger);
|
|
1119
|
+
this.inFlightPersists.add(run);
|
|
1120
|
+
// `runPersist` swallows the storage error itself (logs + records on the
|
|
1121
|
+
// span), so `run` only rejects for a failure OUTSIDE that try — the tracer
|
|
1122
|
+
// or persist-accounting path. Log it here rather than an empty catch: this
|
|
1123
|
+
// is the sole place a fire-and-forget persist's out-of-band failure is
|
|
1124
|
+
// observable, and `drainPersists` deliberately discards settled results.
|
|
1125
|
+
void run
|
|
1126
|
+
.catch((err) => logger.error(`Persist tracking failed for context '${this.contextId?.name ?? "ephemeral"}': ${err}`))
|
|
1127
|
+
.finally(() => this.inFlightPersists.delete(run));
|
|
1128
|
+
return run;
|
|
1129
|
+
}
|
|
1130
|
+
async runPersist(trigger) {
|
|
1131
|
+
if (this.isDisposed) {
|
|
1132
|
+
// A concurrent checkpoint restore or New Chat disposes the shared
|
|
1133
|
+
// ContextV2 instance (all editors of an app share one, keyed
|
|
1134
|
+
// appId::name). An in-flight turn can still reach here; persisting now
|
|
1135
|
+
// would silently clobber the just-restored/cleared context, so skip —
|
|
1136
|
+
// and log it, since the collision was previously invisible.
|
|
1137
|
+
logger.warn(`Skipping '${trigger}' persist for context '${this.contextId?.name ?? "ephemeral"}': context was disposed (concurrent checkpoint restore or New Chat)`);
|
|
1138
|
+
return;
|
|
1139
|
+
}
|
|
1140
|
+
if (!this.onPersist) {
|
|
1051
1141
|
return;
|
|
1052
1142
|
}
|
|
1053
1143
|
const onPersist = this.onPersist;
|
|
1054
1144
|
const tracer = this.tracer ?? LLMObsTracer.instance;
|
|
1055
1145
|
await tracer.trace({ kind: "task", name: "context.persist" }, async (span) => {
|
|
1146
|
+
// Re-check after the tracer's async boundary: dispose() may have run
|
|
1147
|
+
// between the guard above and here. No await sits between this check
|
|
1148
|
+
// and the onPersist call below, so this closes the clobber window.
|
|
1149
|
+
if (this.isDisposed) {
|
|
1150
|
+
logger.warn(`Skipping '${trigger}' persist for context '${this.contextId?.name ?? "ephemeral"}': context disposed mid-persist (concurrent checkpoint restore or New Chat)`);
|
|
1151
|
+
return;
|
|
1152
|
+
}
|
|
1056
1153
|
const startedAt = performance.now();
|
|
1057
1154
|
// Capture CPU time and event-loop activity across the await so a slow
|
|
1058
1155
|
// persist can be classified after the fact. The persist
|