@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/adapter.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAM5D,MAAM,MAAM,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;AAEzD,MAAM,WAAW,GAAG,CAClB,cAAsB,CAAC,EACvB,eAAuB,CAAC,EACJ,EAAE,CAAC,CAAC;IACxB,WAAW;IACX,YAAY;IACZ,WAAW,EAAE,WAAW,GAAG,YAAY;IACvC,iBAAiB,EAAE;QACjB,aAAa,EAAE,WAAW;QAC1B,eAAe,EAAE,CAAC;QAClB,gBAAgB,EAAE,CAAC;KACpB;IACD,kBAAkB,EAAE;QAClB,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,CAAC;KACnB;CACF,CAAC,CAAC;AAEH,MAAM,OAAO,gBAAgB;IACnB,EAAE,CAAY;IACd,aAAa,GAAG,CAAC,CAAC;IAClB,SAAS,CAAsB;IAEvC,YAAoB,OAAkB;QACpC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAkB;QACnC,OAAO,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,eAAe,CAAC,MAA0B;QACxC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAwB;QAC3C,OAAO,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAsB;QACpC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,SAAS;QACP,2CAA2C;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,SAAyB,EACzB,KAA0B;QAE1B,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC;QAEtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CACT,gEAAgE,CACjE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC;QACzC,0FAA0F;QAC1F,iFAAiF;QACjF,MAAM,cAAc,GAClB,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;QAE3C,4EAA4E;QAC5E,oEAAoE;QACpE,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAA2B;QACvC,oEAAoE;QACpE,sEAAsE;QACtE,MAAM,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,CAAC;IAED,YAAY,CAAC,UAAkB,EAAE,OAA0B;QACzD,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,SAA0C;QAC/D,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC;IACjC,CAAC;IAED,6BAA6B;QAC3B,OAAO,IAAI,CAAC,EAAE,CAAC,6BAA6B,EAAE,CAAC;IACjD,CAAC;IAED,cAAc,CAAC,WAA8B;QAC3C,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;IAClC,CAAC;IAED,sBAAsB,CAAC,SAAiB;QACtC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC;IACzC,CAAC;IAED,yBAAyB;QACvB,IAAI,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC;IACtC,CAAC;IAED,2BAA2B;QACzB,IAAI,CAAC,EAAE,CAAC,2BAA2B,EAAE,CAAC;IACxC,CAAC;IAED,6BAA6B;QAC3B,IAAI,CAAC,EAAE,CAAC,6BAA6B,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -46,8 +46,38 @@ export declare class ClientSideCompactionStrategy implements CompactionStrategy
|
|
|
46
46
|
private pendingOutputSummaries;
|
|
47
47
|
private pendingProtection;
|
|
48
48
|
private callbacks?;
|
|
49
|
+
/**
|
|
50
|
+
* MEASURED post-compaction input floor of this turn's last applied
|
|
51
|
+
* compaction, armed only when that floor is itself still over the
|
|
52
|
+
* compaction threshold (a STUCK floor); 0 otherwise. Guards same-instance
|
|
53
|
+
* per-step re-fire: a second compaction is blocked until input grows past
|
|
54
|
+
* this floor + `reArmDeltaTokens`. A stuck floor - the fixed per-step floor
|
|
55
|
+
* of system prompt plus the always-injected knowledge and skills Phase 2
|
|
56
|
+
* forces to reload - means re-compacting provably lands back at the same
|
|
57
|
+
* level, so suppressing is a pure win. A floor at or below threshold proves
|
|
58
|
+
* the compaction took effect and never arms: later over-threshold regrowth
|
|
59
|
+
* carries (input - floor) of new reclaimable content, and arming would
|
|
60
|
+
* suppress it up to floor + delta, which for a floor inside
|
|
61
|
+
* (threshold - delta, threshold] overhangs the threshold and lets the
|
|
62
|
+
* prompt eat the `maxOutputTokens` reservation. Reset each turn via
|
|
63
|
+
* {@link onTurnStart}.
|
|
64
|
+
*/
|
|
65
|
+
private lastCompactionFloorTokens;
|
|
66
|
+
/**
|
|
67
|
+
* Set right after a compaction applies; the next step's provider-reported
|
|
68
|
+
* input becomes {@link lastCompactionFloorTokens}. The floor must be
|
|
69
|
+
* MEASURED, not estimated from the compactor's `tokensSaved`: that value
|
|
70
|
+
* counts conversation-message shrinkage only (`input - summaryTokens`) and
|
|
71
|
+
* cannot see the fixed per-step floor - system prompt, tools, and the
|
|
72
|
+
* knowledge/skills Phase 2 forces to reload - which is exactly what
|
|
73
|
+
* dominates the next step in the stuck-floor regime. An estimated
|
|
74
|
+
* floor (`input - tokensSaved` ~= summary size) sits far below the real
|
|
75
|
+
* one, so the redundant re-fire would pass the gate.
|
|
76
|
+
*/
|
|
77
|
+
private pendingFloorMeasurement;
|
|
49
78
|
constructor(options: ClientSideCompactionOptions);
|
|
50
79
|
updateConfig(config: Partial<ContextOptionsV2>): void;
|
|
80
|
+
onTurnStart(): void;
|
|
51
81
|
storeSummary(toolCallId: string, summary: CompactionSummary): void;
|
|
52
82
|
setCallbacks(callbacks: CompactionCallbacks | undefined): void;
|
|
53
83
|
collectAssistantMetadata(message: ModelMessage): Partial<SuperblocksMetadata> | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-side.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/compaction/client-side.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAG1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"client-side.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/compaction/client-side.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAG1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AASrD,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAIlC,UAAU,2BAA2B;IACnC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC;IAC5C;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,cAAc,CAAC;IACvC;;;;;OAKG;IACH,QAAQ,CAAC,2BAA2B,CAAC,EAAE,uBAAuB,CAAC;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,SAAS,GAAG,SAAS,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,kBAAkB;IACrE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAA0B;IACvE,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAA8B;IAC5D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAe;IAEvC,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,sBAAsB,CAA6B;IAC3D,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,SAAS,CAAC,CAAsB;IAExC;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,yBAAyB,CAAK;IAEtC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,uBAAuB,CAAS;gBAE5B,OAAO,EAAE,2BAA2B;IAUhD,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAIrD,WAAW,IAAI,IAAI;IAKnB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAUlE,YAAY,CAAC,SAAS,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI;IAI9D,wBAAwB,CACtB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS;IAyB3C,mBAAmB,CACjB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS;IAsCrC,aAAa,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,aAAa,EAAE,CAAC;QAC1B,KAAK,EAAE,kBAAkB,CAAC;KAC3B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAwKrC,oBAAoB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,wBAAwB;IAI1E,qBAAqB,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE;CAG5D"}
|
|
@@ -6,8 +6,8 @@ import { performance } from "node:perf_hooks";
|
|
|
6
6
|
import { getPrefixedLogger } from "../../../../util/logger.js";
|
|
7
7
|
import { buildModeMessage } from "../../../util/mode-message.js";
|
|
8
8
|
import { compact } from "../compactor.js";
|
|
9
|
-
import {
|
|
10
|
-
import { recordCompaction } from "../context-metrics.js";
|
|
9
|
+
import { compactionThresholdTokens, resolveContextOptionsV2, } from "../config.js";
|
|
10
|
+
import { recordCompaction, recordCompactionSkipped, } from "../context-metrics.js";
|
|
11
11
|
import { computeContextUsed } from "../token-tracker.js";
|
|
12
12
|
import { toStoredMessage } from "../types.js";
|
|
13
13
|
const logger = getPrefixedLogger("[compaction:client-side]");
|
|
@@ -27,17 +27,50 @@ export class ClientSideCompactionStrategy {
|
|
|
27
27
|
pendingOutputSummaries = new Map();
|
|
28
28
|
pendingProtection = new Set();
|
|
29
29
|
callbacks;
|
|
30
|
+
/**
|
|
31
|
+
* MEASURED post-compaction input floor of this turn's last applied
|
|
32
|
+
* compaction, armed only when that floor is itself still over the
|
|
33
|
+
* compaction threshold (a STUCK floor); 0 otherwise. Guards same-instance
|
|
34
|
+
* per-step re-fire: a second compaction is blocked until input grows past
|
|
35
|
+
* this floor + `reArmDeltaTokens`. A stuck floor - the fixed per-step floor
|
|
36
|
+
* of system prompt plus the always-injected knowledge and skills Phase 2
|
|
37
|
+
* forces to reload - means re-compacting provably lands back at the same
|
|
38
|
+
* level, so suppressing is a pure win. A floor at or below threshold proves
|
|
39
|
+
* the compaction took effect and never arms: later over-threshold regrowth
|
|
40
|
+
* carries (input - floor) of new reclaimable content, and arming would
|
|
41
|
+
* suppress it up to floor + delta, which for a floor inside
|
|
42
|
+
* (threshold - delta, threshold] overhangs the threshold and lets the
|
|
43
|
+
* prompt eat the `maxOutputTokens` reservation. Reset each turn via
|
|
44
|
+
* {@link onTurnStart}.
|
|
45
|
+
*/
|
|
46
|
+
lastCompactionFloorTokens = 0;
|
|
47
|
+
/**
|
|
48
|
+
* Set right after a compaction applies; the next step's provider-reported
|
|
49
|
+
* input becomes {@link lastCompactionFloorTokens}. The floor must be
|
|
50
|
+
* MEASURED, not estimated from the compactor's `tokensSaved`: that value
|
|
51
|
+
* counts conversation-message shrinkage only (`input - summaryTokens`) and
|
|
52
|
+
* cannot see the fixed per-step floor - system prompt, tools, and the
|
|
53
|
+
* knowledge/skills Phase 2 forces to reload - which is exactly what
|
|
54
|
+
* dominates the next step in the stuck-floor regime. An estimated
|
|
55
|
+
* floor (`input - tokensSaved` ~= summary size) sits far below the real
|
|
56
|
+
* one, so the redundant re-fire would pass the gate.
|
|
57
|
+
*/
|
|
58
|
+
pendingFloorMeasurement = false;
|
|
30
59
|
constructor(options) {
|
|
31
60
|
this.summarizationModel = options.summarizationModel;
|
|
32
61
|
this.summarizeLLM = options.summarizeLLM;
|
|
33
62
|
this.summarizationProviderConfig = options.summarizationProviderConfig;
|
|
34
|
-
this.config =
|
|
63
|
+
this.config = resolveContextOptionsV2(options.config);
|
|
35
64
|
this.getModeState = options.getModeState;
|
|
36
65
|
this.rootDir = options.rootDir;
|
|
37
66
|
this.tracer = options.tracer;
|
|
38
67
|
}
|
|
39
68
|
updateConfig(config) {
|
|
40
|
-
this.config = { ...this.config, ...config };
|
|
69
|
+
this.config = resolveContextOptionsV2({ ...this.config, ...config });
|
|
70
|
+
}
|
|
71
|
+
onTurnStart() {
|
|
72
|
+
this.lastCompactionFloorTokens = 0;
|
|
73
|
+
this.pendingFloorMeasurement = false;
|
|
41
74
|
}
|
|
42
75
|
storeSummary(toolCallId, summary) {
|
|
43
76
|
if (summary.input) {
|
|
@@ -107,9 +140,36 @@ export class ClientSideCompactionStrategy {
|
|
|
107
140
|
logger.warn("Compaction threshold check skipped because provider usage reported 0 input context tokens");
|
|
108
141
|
return {};
|
|
109
142
|
}
|
|
143
|
+
// Resolve the post-compaction floor (see `pendingFloorMeasurement`).
|
|
144
|
+
// Ordered before the threshold gate so a below-threshold step still
|
|
145
|
+
// resolves the measurement, and before the re-arm gate so a stuck floor
|
|
146
|
+
// is compared against itself (and skipped) on this very step.
|
|
147
|
+
if (this.pendingFloorMeasurement) {
|
|
148
|
+
this.pendingFloorMeasurement = false;
|
|
149
|
+
this.lastCompactionFloorTokens =
|
|
150
|
+
inputContextUsed > threshold ? inputContextUsed : 0;
|
|
151
|
+
}
|
|
110
152
|
if (inputContextUsed <= threshold) {
|
|
111
153
|
return {};
|
|
112
154
|
}
|
|
155
|
+
// Re-arm latch: skip a redundant same-turn re-fire at a stuck floor unless
|
|
156
|
+
// the context grew past it by more than `reArmDeltaTokens`. See the
|
|
157
|
+
// {@link lastCompactionFloorTokens} docs for why only a stuck floor arms.
|
|
158
|
+
// Known ambiguity: a single step that both compacts effectively AND
|
|
159
|
+
// regrows past threshold before the next measurement reads as a stuck
|
|
160
|
+
// floor and is skipped - the suppression is bounded by the delta band and
|
|
161
|
+
// continued growth re-fires.
|
|
162
|
+
const { reArmDeltaTokens } = this.config;
|
|
163
|
+
if (this.lastCompactionFloorTokens > 0 &&
|
|
164
|
+
inputContextUsed <= this.lastCompactionFloorTokens + reArmDeltaTokens) {
|
|
165
|
+
logger.info(`Re-arm latch: skipping redundant compaction (${inputContextUsed} tokens <= ` +
|
|
166
|
+
`${this.lastCompactionFloorTokens} floor + ${reArmDeltaTokens} delta)`);
|
|
167
|
+
// Emit a counter, not just a log line, so the suppression path this PR
|
|
168
|
+
// introduces is queryable: "compaction not needed" (never reaches here)
|
|
169
|
+
// stays distinguishable from "needed but suppressed by the latch".
|
|
170
|
+
recordCompactionSkipped({ reason: "rearm_latch" });
|
|
171
|
+
return {};
|
|
172
|
+
}
|
|
113
173
|
logger.info(`Compaction triggered: ${inputContextUsed} tokens > ${threshold} threshold ` +
|
|
114
174
|
`(${params.messages.length} messages)`);
|
|
115
175
|
if (!this.summarizationModel ||
|
|
@@ -132,6 +192,19 @@ export class ClientSideCompactionStrategy {
|
|
|
132
192
|
tracer: this.tracer,
|
|
133
193
|
rootDir: this.rootDir,
|
|
134
194
|
});
|
|
195
|
+
// Ask the next step to measure the post-compaction floor; a later step is
|
|
196
|
+
// then gated against re-firing until it grows past that floor + delta.
|
|
197
|
+
// Do NOT estimate the floor from `result.tokensSaved` (see the
|
|
198
|
+
// `pendingFloorMeasurement` doc for why the estimate is blind to the
|
|
199
|
+
// fixed floor Phase 2 reloads). Arm on a phase-1-only pass too: it is
|
|
200
|
+
// still a real compaction. The measured floor is self-correcting - if the
|
|
201
|
+
// compaction reclaimed a lot the floor lands below threshold and the gate
|
|
202
|
+
// goes inert (genuine regrowth compacts); if it reclaimed little the
|
|
203
|
+
// floor stays high and holding blocks the redundant re-fire.
|
|
204
|
+
if (result.phase1Applied || result.phase2Applied) {
|
|
205
|
+
this.pendingFloorMeasurement = true;
|
|
206
|
+
this.lastCompactionFloorTokens = 0;
|
|
207
|
+
}
|
|
135
208
|
let phase = "none";
|
|
136
209
|
if (result.phase2Applied) {
|
|
137
210
|
phase = "phase1+phase2";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-side.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/compaction/client-side.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAI9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,
|
|
1
|
+
{"version":3,"file":"client-side.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/compaction/client-side.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,5 +52,10 @@ export interface CompactionStrategy {
|
|
|
52
52
|
getProtectedToolNames(messages: StoredMessage[]): string[];
|
|
53
53
|
/** Propagate context config updates (e.g., contextLimit) into the strategy. */
|
|
54
54
|
updateConfig(config: Partial<ContextOptionsV2>): void;
|
|
55
|
+
/**
|
|
56
|
+
* Reset per-turn compaction state (the re-arm latch) at the start of a user
|
|
57
|
+
* turn. Client-side clears its high-water mark; server-side no-ops.
|
|
58
|
+
*/
|
|
59
|
+
onTurnStart(): void;
|
|
55
60
|
}
|
|
56
61
|
//# sourceMappingURL=compaction-strategy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compaction-strategy.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/compaction/compaction-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yFAAyF;IACzF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,4FAA4F;IAC5F,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAEnE,sFAAsF;IACtF,YAAY,CAAC,SAAS,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI,CAAC;IAE/D,oEAAoE;IACpE,wBAAwB,CACtB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAE5C,8DAA8D;IAC9D,mBAAmB,CACjB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAE5C;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,aAAa,EAAE,CAAC;QAC1B,KAAK,EAAE,kBAAkB,CAAC;KAC3B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEtC,qFAAqF;IACrF,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,wBAAwB,CAAC;IAE1E,yDAAyD;IACzD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC;IAE3D,+EAA+E;IAC/E,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"compaction-strategy.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/compaction/compaction-strategy.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yFAAyF;IACzF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,4FAA4F;IAC5F,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAEnE,sFAAsF;IACtF,YAAY,CAAC,SAAS,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI,CAAC;IAE/D,oEAAoE;IACpE,wBAAwB,CACtB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAE5C,8DAA8D;IAC9D,mBAAmB,CACjB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAE5C;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,aAAa,EAAE,CAAC;QAC1B,KAAK,EAAE,kBAAkB,CAAC;KAC3B,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEtC,qFAAqF;IACrF,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,wBAAwB,CAAC;IAE1E,yDAAyD;IACzD,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC;IAE3D,+EAA+E;IAC/E,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAEtD;;;OAGG;IACH,WAAW,IAAI,IAAI,CAAC;CACrB"}
|
|
@@ -18,6 +18,7 @@ export declare const SERVER_COMPACTION_INTERRUPTED_SUMMARY = "Server-side compac
|
|
|
18
18
|
export declare class ServerSideCompactionStrategy implements CompactionStrategy {
|
|
19
19
|
private pendingProtection;
|
|
20
20
|
updateConfig(_config: Partial<ContextOptionsV2>): void;
|
|
21
|
+
onTurnStart(): void;
|
|
21
22
|
storeSummary(toolCallId: string, summary: CompactionSummary): void;
|
|
22
23
|
setCallbacks(_callbacks: CompactionCallbacks | undefined): void;
|
|
23
24
|
collectAssistantMetadata(_message: ModelMessage): Partial<SuperblocksMetadata> | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-side.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/compaction/server-side.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAG3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAGlC,eAAO,MAAM,yBAAyB,mCAAmC,CAAC;AAC1E,eAAO,MAAM,qCAAqC,yDACM,CAAC;AAEzD;;;;GAIG;AACH,qBAAa,4BAA6B,YAAW,kBAAkB;IACrE,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAItD,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAMlE,YAAY,CAAC,UAAU,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI;IAM/D,wBAAwB,CACtB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS;IAI3C,mBAAmB,CACjB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS;IAwBrC,aAAa,CAAC,OAAO,EAAE;QAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;QAC1B,KAAK,EAAE,kBAAkB,CAAC;KAC3B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIrC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,wBAAwB;IAiEzE,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE;CA6B3D"}
|
|
1
|
+
{"version":3,"file":"server-side.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/compaction/server-side.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAG3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAGlC,eAAO,MAAM,yBAAyB,mCAAmC,CAAC;AAC1E,eAAO,MAAM,qCAAqC,yDACM,CAAC;AAEzD;;;;GAIG;AACH,qBAAa,4BAA6B,YAAW,kBAAkB;IACrE,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAItD,WAAW,IAAI,IAAI;IAInB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAMlE,YAAY,CAAC,UAAU,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI;IAM/D,wBAAwB,CACtB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS;IAI3C,mBAAmB,CACjB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,mBAAmB,CAAC,GAAG,SAAS;IAwBrC,aAAa,CAAC,OAAO,EAAE;QAC3B,QAAQ,EAAE,aAAa,EAAE,CAAC;QAC1B,KAAK,EAAE,kBAAkB,CAAC;KAC3B,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAIrC,oBAAoB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,wBAAwB;IAiEzE,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE;CA6B3D"}
|
|
@@ -18,6 +18,9 @@ export class ServerSideCompactionStrategy {
|
|
|
18
18
|
updateConfig(_config) {
|
|
19
19
|
// No-op — server-side compaction holds no config that varies at runtime.
|
|
20
20
|
}
|
|
21
|
+
onTurnStart() {
|
|
22
|
+
// No-op — server-side compaction has no per-turn re-arm latch.
|
|
23
|
+
}
|
|
21
24
|
storeSummary(toolCallId, summary) {
|
|
22
25
|
if (summary.protected) {
|
|
23
26
|
this.pendingProtection.add(toolCallId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-side.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/compaction/server-side.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server-side.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context-v2/compaction/server-side.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactor.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/compactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpD,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,UAAU,cAAc;IACtB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB;;;;;OAKG;IACH,YAAY,EAAE,cAAc,CAAC;IAC7B,sFAAsF;IACtF,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAID,wBAAsB,OAAO,CAC3B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"compactor.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/compactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,IAAI,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAOpD,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAEpB,UAAU,cAAc;IACtB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,aAAa,CAAC;IACrB;;;;;OAKG;IACH,YAAY,EAAE,cAAc,CAAC;IAC7B,sFAAsF;IACtF,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAID,wBAAsB,OAAO,CAC3B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAgT3B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getPrefixedLogger } from "../../../util/logger.js";
|
|
2
2
|
import { LLMObsTracer } from "../../llmobs/tracer.js";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveContextOptionsV2 } from "./config.js";
|
|
4
4
|
import { summarizeToolOutputs, calculatePruneableTokens, calculatePhase1EligibleTokens, } from "./phase1-tool-summarizer.js";
|
|
5
5
|
import { summarizeSession } from "./phase2-session-summarizer.js";
|
|
6
6
|
import { captureSession } from "./session-capture.js";
|
|
@@ -9,11 +9,8 @@ const logger = getPrefixedLogger("[context-v2:compactor]");
|
|
|
9
9
|
export async function compact(options) {
|
|
10
10
|
const { messages, usage, model, summarizeLLM, providerConfig, config = {}, callbacks, tracer = LLMObsTracer.instance, rootDir, } = options;
|
|
11
11
|
return tracer.trace({ name: "context.compaction", kind: "task" }, async (compactionSpan) => {
|
|
12
|
-
const mergedOptions =
|
|
13
|
-
|
|
14
|
-
...config,
|
|
15
|
-
};
|
|
16
|
-
const { contextLimit, maxOutputTokens, phase2TargetRatio, phase1Enabled, phase1MinPruneable, phase1ProtectedTokens, phase1ProtectedToolUseCount, } = mergedOptions;
|
|
12
|
+
const mergedOptions = resolveContextOptionsV2(config);
|
|
13
|
+
const { contextLimit, maxOutputTokens, phase2TargetRatio, phase1Enabled, phase2Enabled, phase1MinPruneable, phase1ProtectedTokens, phase1ProtectedToolUseCount, } = mergedOptions;
|
|
17
14
|
const inputContextTokens = computeContextUsed(usage);
|
|
18
15
|
const availableForInput = contextLimit - maxOutputTokens;
|
|
19
16
|
const targetTokens = Math.floor(availableForInput * phase2TargetRatio);
|
|
@@ -106,6 +103,60 @@ export async function compact(options) {
|
|
|
106
103
|
};
|
|
107
104
|
}
|
|
108
105
|
}
|
|
106
|
+
if (!phase2Enabled) {
|
|
107
|
+
// Bounded one-shot nested generations (e.g. exitPlanMode) inherit the
|
|
108
|
+
// conversation and generate once; a redundant Phase-2 session summary
|
|
109
|
+
// here duplicates work the parent already did and burns 30-70s. The
|
|
110
|
+
// Opus 1M window tolerates the larger prompt, so skip Phase 2 and keep
|
|
111
|
+
// whatever Phase 1 reclaimed.
|
|
112
|
+
logger.info("Phase 2 disabled by config; skipping session summarization");
|
|
113
|
+
// Report the phase-1 savings when phase 1 applied but was not
|
|
114
|
+
// sufficient (the branch that reaches here); otherwise `tokensSaved`
|
|
115
|
+
// is still 0. Keeps the caller's eventLogAnchor / savings telemetry
|
|
116
|
+
// accurate when phase 2 is disabled.
|
|
117
|
+
const phase2DisabledTokensSaved = phase1Applied
|
|
118
|
+
? phase1EstimatedSavings
|
|
119
|
+
: tokensSaved;
|
|
120
|
+
// Annotate the compaction span like both sibling exits (phase-1
|
|
121
|
+
// sufficient, phase-2 complete) do; otherwise every phase2-disabled
|
|
122
|
+
// compaction whose Phase 1 alone is insufficient emits a metadata-less
|
|
123
|
+
// context.compaction span - no input tokens, no config, no result.
|
|
124
|
+
tracer.annotate(compactionSpan, {
|
|
125
|
+
metadata: {
|
|
126
|
+
input: {
|
|
127
|
+
messageCount: messages.length,
|
|
128
|
+
tokens: inputContextTokens,
|
|
129
|
+
// Discriminator: `tokens` reports input-only context (via
|
|
130
|
+
// computeContextUsed), not input+output - filter/annotate on this
|
|
131
|
+
// field so absolute-value dashboards can account for the step down.
|
|
132
|
+
tokensMetric: "inputContext",
|
|
133
|
+
},
|
|
134
|
+
config: {
|
|
135
|
+
contextLimit,
|
|
136
|
+
maxOutputTokens,
|
|
137
|
+
targetTokens,
|
|
138
|
+
phase1Enabled,
|
|
139
|
+
phase1MinPruneable,
|
|
140
|
+
phase1ProtectedTokens,
|
|
141
|
+
phase1ProtectedToolUseCount,
|
|
142
|
+
phase2TargetRatio,
|
|
143
|
+
},
|
|
144
|
+
result: {
|
|
145
|
+
tokens: inputContextTokens - phase2DisabledTokensSaved,
|
|
146
|
+
tokensSaved: phase2DisabledTokensSaved,
|
|
147
|
+
tokensSavedIsEstimate: true,
|
|
148
|
+
phase1Applied,
|
|
149
|
+
phase2Applied: false,
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
return {
|
|
154
|
+
messages: currentMessages,
|
|
155
|
+
phase1Applied,
|
|
156
|
+
phase2Applied: false,
|
|
157
|
+
tokensSaved: phase2DisabledTokensSaved,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
109
160
|
logger.info("Phase 2: generating session summary");
|
|
110
161
|
const phase2MessageId = crypto.randomUUID();
|
|
111
162
|
callbacks?.onCompactionStart?.("phase2", phase2MessageId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/compactor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"compactor.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/compactor.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,19 @@ export type ContextOptionsV2 = SharedContextOptionsV2;
|
|
|
4
4
|
export type { CachingConfig };
|
|
5
5
|
export declare const DEFAULT_CACHING: CachingConfig;
|
|
6
6
|
export declare const DEFAULT_OPTIONS: SharedContextOptionsV2;
|
|
7
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Merge partial overrides onto the shared V2 defaults, discarding numeric
|
|
9
|
+
* overrides that are not finite and non-negative.
|
|
10
|
+
*
|
|
11
|
+
* Overrides originate in the `ai.context-v2.options` LaunchDarkly payload,
|
|
12
|
+
* which reaches the plugin cast to `Partial<ContextOptionsV2>` rather than
|
|
13
|
+
* parsed, so any numeric field can arrive as NaN or negative. Every consumer
|
|
14
|
+
* does arithmetic on these, and NaN propagates silently: a NaN `contextLimit`
|
|
15
|
+
* makes {@link compactionThresholdTokens} NaN, which makes every
|
|
16
|
+
* `input > threshold` comparison false and stops compaction firing at all.
|
|
17
|
+
* Validating here - the one place a partial payload becomes a full config -
|
|
18
|
+
* covers every field, so no consumer needs its own guard.
|
|
19
|
+
*/
|
|
8
20
|
export declare function resolveContextOptionsV2(overrides?: Partial<ContextOptionsV2>): ContextOptionsV2;
|
|
9
21
|
/**
|
|
10
22
|
* Token budget below which client-side compaction triggers. Shared by the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,IAAI,sBAAsB,EAChD,MAAM,uCAAuC,CAAC;AAM/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,eAAO,MAAM,eAAe,EAAE,aAG7B,CAAC;AAEF,eAAO,MAAM,eAAe,wBAA6B,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,IAAI,sBAAsB,EAChD,MAAM,uCAAuC,CAAC;AAM/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG,sBAAsB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,eAAO,MAAM,eAAe,EAAE,aAG7B,CAAC;AAEF,eAAO,MAAM,eAAe,wBAA6B,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACpC,gBAAgB,CAiDlB;AAaD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACpC,MAAM,CAKR"}
|
|
@@ -5,9 +5,46 @@ export const DEFAULT_CACHING = {
|
|
|
5
5
|
minCacheableTokens: PROVIDER_CACHE_MIN_CACHEABLE_TOKENS,
|
|
6
6
|
};
|
|
7
7
|
export const DEFAULT_OPTIONS = DEFAULT_CONTEXT_OPTIONS_V2;
|
|
8
|
-
/**
|
|
8
|
+
/**
|
|
9
|
+
* Merge partial overrides onto the shared V2 defaults, discarding numeric
|
|
10
|
+
* overrides that are not finite and non-negative.
|
|
11
|
+
*
|
|
12
|
+
* Overrides originate in the `ai.context-v2.options` LaunchDarkly payload,
|
|
13
|
+
* which reaches the plugin cast to `Partial<ContextOptionsV2>` rather than
|
|
14
|
+
* parsed, so any numeric field can arrive as NaN or negative. Every consumer
|
|
15
|
+
* does arithmetic on these, and NaN propagates silently: a NaN `contextLimit`
|
|
16
|
+
* makes {@link compactionThresholdTokens} NaN, which makes every
|
|
17
|
+
* `input > threshold` comparison false and stops compaction firing at all.
|
|
18
|
+
* Validating here - the one place a partial payload becomes a full config -
|
|
19
|
+
* covers every field, so no consumer needs its own guard.
|
|
20
|
+
*/
|
|
9
21
|
export function resolveContextOptionsV2(overrides) {
|
|
10
|
-
|
|
22
|
+
if (!overrides) {
|
|
23
|
+
return { ...DEFAULT_OPTIONS };
|
|
24
|
+
}
|
|
25
|
+
// Spelled out field by field rather than looped so a new option cannot be
|
|
26
|
+
// added to ContextOptionsV2 without deciding how it is validated.
|
|
27
|
+
return {
|
|
28
|
+
contextLimit: validNumber(overrides.contextLimit, DEFAULT_OPTIONS.contextLimit),
|
|
29
|
+
contextBufferTokens: validNumber(overrides.contextBufferTokens, DEFAULT_OPTIONS.contextBufferTokens),
|
|
30
|
+
maxOutputTokens: validNumber(overrides.maxOutputTokens, DEFAULT_OPTIONS.maxOutputTokens),
|
|
31
|
+
phase1Enabled: validBoolean(overrides.phase1Enabled, DEFAULT_OPTIONS.phase1Enabled),
|
|
32
|
+
phase1MinPruneable: validNumber(overrides.phase1MinPruneable, DEFAULT_OPTIONS.phase1MinPruneable),
|
|
33
|
+
phase1ProtectedTokens: validNumber(overrides.phase1ProtectedTokens, DEFAULT_OPTIONS.phase1ProtectedTokens),
|
|
34
|
+
phase1ProtectedToolUseCount: validNumber(overrides.phase1ProtectedToolUseCount, DEFAULT_OPTIONS.phase1ProtectedToolUseCount),
|
|
35
|
+
phase2Enabled: validBoolean(overrides.phase2Enabled, DEFAULT_OPTIONS.phase2Enabled),
|
|
36
|
+
phase2TargetRatio: validNumber(overrides.phase2TargetRatio, DEFAULT_OPTIONS.phase2TargetRatio),
|
|
37
|
+
reArmDeltaTokens: validNumber(overrides.reArmDeltaTokens, DEFAULT_OPTIONS.reArmDeltaTokens),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/** Every numeric option is a token budget, a count, or a ratio - all >= 0. */
|
|
41
|
+
function validNumber(value, fallback) {
|
|
42
|
+
return typeof value === "number" && Number.isFinite(value) && value >= 0
|
|
43
|
+
? value
|
|
44
|
+
: fallback;
|
|
45
|
+
}
|
|
46
|
+
function validBoolean(value, fallback) {
|
|
47
|
+
return typeof value === "boolean" ? value : fallback;
|
|
11
48
|
}
|
|
12
49
|
/**
|
|
13
50
|
* Token budget below which client-side compaction triggers. Shared by the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAE3B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,GACpC,MAAM,YAAY,CAAC;AAMpB,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,cAAc,EAAE,8BAA8B;IAC9C,kBAAkB,EAAE,mCAAmC;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAE3B,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,GACpC,MAAM,YAAY,CAAC;AAMpB,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,cAAc,EAAE,8BAA8B;IAC9C,kBAAkB,EAAE,mCAAmC;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAqC;IAErC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,0EAA0E;IAC1E,kEAAkE;IAClE,OAAO;QACL,YAAY,EAAE,WAAW,CACvB,SAAS,CAAC,YAAY,EACtB,eAAe,CAAC,YAAY,CAC7B;QACD,mBAAmB,EAAE,WAAW,CAC9B,SAAS,CAAC,mBAAmB,EAC7B,eAAe,CAAC,mBAAmB,CACpC;QACD,eAAe,EAAE,WAAW,CAC1B,SAAS,CAAC,eAAe,EACzB,eAAe,CAAC,eAAe,CAChC;QACD,aAAa,EAAE,YAAY,CACzB,SAAS,CAAC,aAAa,EACvB,eAAe,CAAC,aAAa,CAC9B;QACD,kBAAkB,EAAE,WAAW,CAC7B,SAAS,CAAC,kBAAkB,EAC5B,eAAe,CAAC,kBAAkB,CACnC;QACD,qBAAqB,EAAE,WAAW,CAChC,SAAS,CAAC,qBAAqB,EAC/B,eAAe,CAAC,qBAAqB,CACtC;QACD,2BAA2B,EAAE,WAAW,CACtC,SAAS,CAAC,2BAA2B,EACrC,eAAe,CAAC,2BAA2B,CAC5C;QACD,aAAa,EAAE,YAAY,CACzB,SAAS,CAAC,aAAa,EACvB,eAAe,CAAC,aAAa,CAC9B;QACD,iBAAiB,EAAE,WAAW,CAC5B,SAAS,CAAC,iBAAiB,EAC3B,eAAe,CAAC,iBAAiB,CAClC;QACD,gBAAgB,EAAE,WAAW,CAC3B,SAAS,CAAC,gBAAgB,EAC1B,eAAe,CAAC,gBAAgB,CACjC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS,WAAW,CAAC,KAAyB,EAAE,QAAgB;IAC9D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QACtE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,QAAQ,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAA0B,EAAE,QAAiB;IACjE,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,SAAqC;IAErC,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAClD,OAAO,CACL,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAC1E,CAAC;AACJ,CAAC"}
|
|
@@ -13,11 +13,30 @@ export declare const CONTEXT_DOCUMENT_MODES: readonly ["inline", "reference"];
|
|
|
13
13
|
type ContextDocumentMode = (typeof CONTEXT_DOCUMENT_MODES)[number];
|
|
14
14
|
export declare const COMPACTION_PATHS: readonly ["client", "server"];
|
|
15
15
|
export type CompactionPath = (typeof COMPACTION_PATHS)[number];
|
|
16
|
+
/** Why a client-side compaction was skipped instead of running. */
|
|
17
|
+
export declare const COMPACTION_SKIP_REASONS: readonly ["rearm_latch"];
|
|
18
|
+
export type CompactionSkipReason = (typeof COMPACTION_SKIP_REASONS)[number];
|
|
16
19
|
export declare const SERVER_COMPACTION_STATUSES: readonly ["cancelled", "completed", "interrupted"];
|
|
17
20
|
type ServerCompactionStatus = (typeof SERVER_COMPACTION_STATUSES)[number];
|
|
18
21
|
/** Outcome of persisting a prompt's uploaded attachments into the context. */
|
|
19
22
|
export declare const ATTACHMENT_PERSIST_STATUSES: readonly ["failure", "success"];
|
|
20
23
|
type AttachmentPersistStatus = (typeof ATTACHMENT_PERSIST_STATUSES)[number];
|
|
24
|
+
/**
|
|
25
|
+
* Final outcome of a checkpoint restore (version rollback). Low-cardinality so
|
|
26
|
+
* the rare failure branches are countable/alertable instead of only appearing
|
|
27
|
+
* as log lines:
|
|
28
|
+
* - `restored`: context rolled back and the server chat truncated to match.
|
|
29
|
+
* - `chat_truncate_failed`: context rolled back but the server chat truncation
|
|
30
|
+
* failed after retries — context and chat diverge (needs attention).
|
|
31
|
+
* - `aborted`: the event-log truncation threw; the rollback was not confirmed
|
|
32
|
+
* (warm path: nothing was mutated; cold path: the archive was installed but
|
|
33
|
+
* could not be truncated).
|
|
34
|
+
* - `unhealed`: the snapshot could not be made consistent, so the rollback was
|
|
35
|
+
* not applied and the chat was preserved.
|
|
36
|
+
* - `no_checkpoint`: the cold (remote) restore found no checkpoint to install.
|
|
37
|
+
*/
|
|
38
|
+
export declare const CHECKPOINT_RESTORE_OUTCOMES: readonly ["aborted", "chat_truncate_failed", "no_checkpoint", "restored", "unhealed"];
|
|
39
|
+
export type CheckpointRestoreOutcome = (typeof CHECKPOINT_RESTORE_OUTCOMES)[number];
|
|
21
40
|
export interface ContextMetricIdentity {
|
|
22
41
|
applicationId?: string;
|
|
23
42
|
organizationId?: string;
|
|
@@ -37,6 +56,7 @@ export declare function recordContextLoadOutcome(input: {
|
|
|
37
56
|
source: ContextLoadSource;
|
|
38
57
|
}): void;
|
|
39
58
|
export declare function recordContextRestoreEmptyCreated(): void;
|
|
59
|
+
export declare function recordCheckpointRestore(outcome: CheckpointRestoreOutcome): void;
|
|
40
60
|
export declare function recordContextFileBytes(input: {
|
|
41
61
|
operation: ContextFileOperation;
|
|
42
62
|
bytes: number;
|
|
@@ -60,6 +80,9 @@ export declare function recordCompaction(input: {
|
|
|
60
80
|
path: CompactionPath;
|
|
61
81
|
status: ServerCompactionStatus;
|
|
62
82
|
} & ContextMetricIdentity): void;
|
|
83
|
+
export declare function recordCompactionSkipped(input: {
|
|
84
|
+
reason: CompactionSkipReason;
|
|
85
|
+
}): void;
|
|
63
86
|
export declare function recordContextOccupancy(tokens: number): void;
|
|
64
87
|
export declare function recordPromptContextHeadroom(input: {
|
|
65
88
|
dedupeKey: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-metrics.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/context-metrics.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context-metrics.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context-v2/context-metrics.ts"],"names":[],"mappings":"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"}
|