@superblocksteam/vite-plugin-file-sync 2.0.42-next.5 → 2.0.42-next.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts +2 -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 +31 -2
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/example-selector.d.ts +24 -0
- package/dist/ai-service/agent/subagents/apis/example-selector.d.ts.map +1 -0
- package/dist/ai-service/agent/subagents/apis/example-selector.js +104 -0
- package/dist/ai-service/agent/subagents/apis/example-selector.js.map +1 -0
- package/dist/ai-service/agent/subagents/apis/examples.d.ts +55 -0
- package/dist/ai-service/agent/subagents/apis/examples.d.ts.map +1 -0
- package/dist/ai-service/agent/subagents/apis/examples.js +1229 -0
- package/dist/ai-service/agent/subagents/apis/examples.js.map +1 -0
- package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +83 -0
- package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +1 -0
- package/dist/ai-service/agent/{apis.js → subagents/apis/generate-api-source.js} +131 -99
- package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +1 -0
- package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts +39 -0
- package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts.map +1 -0
- package/dist/ai-service/agent/subagents/apis/prompt-builder.js +115 -0
- package/dist/ai-service/agent/subagents/apis/prompt-builder.js.map +1 -0
- package/dist/ai-service/agent/{apis-static-analysis.d.ts → subagents/apis/static-analysis.d.ts} +1 -1
- package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts.map +1 -0
- package/dist/ai-service/agent/{apis-static-analysis.js → subagents/apis/static-analysis.js} +3 -2
- package/dist/ai-service/agent/subagents/apis/static-analysis.js.map +1 -0
- package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +3 -0
- package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +1 -0
- package/dist/ai-service/agent/{apis-system-prompt.js → subagents/apis/system-prompt.js} +67 -31
- package/dist/ai-service/agent/{apis-system-prompt.js.map → subagents/apis/system-prompt.js.map} +1 -1
- package/dist/ai-service/agent/tool-message-utils.d.ts +6 -15
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +75 -248
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/build-add-event.d.ts +2 -4
- package/dist/ai-service/agent/tools/build-add-event.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-add-event.js +9 -8
- package/dist/ai-service/agent/tools/build-add-event.js.map +1 -1
- package/dist/ai-service/agent/tools/build-add-state-var.d.ts +2 -4
- package/dist/ai-service/agent/tools/build-add-state-var.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-add-state-var.js +6 -5
- package/dist/ai-service/agent/tools/build-add-state-var.js.map +1 -1
- package/dist/ai-service/agent/tools/build-add-timer.d.ts +2 -4
- package/dist/ai-service/agent/tools/build-add-timer.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-add-timer.js +7 -6
- package/dist/ai-service/agent/tools/build-add-timer.js.map +1 -1
- package/dist/ai-service/agent/tools/build-create-page.d.ts +2 -3
- package/dist/ai-service/agent/tools/build-create-page.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-create-page.js +11 -10
- package/dist/ai-service/agent/tools/build-create-page.js.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.d.ts +1 -3
- package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.js +7 -5
- package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.d.ts +2 -4
- package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.js +10 -7
- package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.d.ts +2 -4
- package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.js +7 -6
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/build-install-packages.d.ts +2 -4
- package/dist/ai-service/agent/tools/build-install-packages.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-install-packages.js +7 -6
- package/dist/ai-service/agent/tools/build-install-packages.js.map +1 -1
- package/dist/ai-service/agent/tools/build-list-available-components.d.ts +3 -8
- package/dist/ai-service/agent/tools/build-list-available-components.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-list-available-components.js +30 -9
- package/dist/ai-service/agent/tools/build-list-available-components.js.map +1 -1
- package/dist/ai-service/agent/tools/build-list-files.d.ts +2 -3
- package/dist/ai-service/agent/tools/build-list-files.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-list-files.js +10 -8
- package/dist/ai-service/agent/tools/build-list-files.js.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +3 -3
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.js +9 -8
- package/dist/ai-service/agent/tools/build-manage-checklist.js.map +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts +2 -4
- package/dist/ai-service/agent/tools/build-multi-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-multi-edit-file.js +9 -6
- package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-read-files.d.ts +2 -4
- package/dist/ai-service/agent/tools/build-read-files.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-read-files.js +10 -8
- package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
- package/dist/ai-service/agent/tools/build-register-component-name.d.ts +2 -4
- package/dist/ai-service/agent/tools/build-register-component-name.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-register-component-name.js +9 -8
- package/dist/ai-service/agent/tools/build-register-component-name.js.map +1 -1
- package/dist/ai-service/agent/tools/build-rename-page.d.ts +2 -3
- package/dist/ai-service/agent/tools/build-rename-page.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-rename-page.js +6 -5
- package/dist/ai-service/agent/tools/build-rename-page.js.map +1 -1
- package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts +2 -4
- package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-set-api-triggers.js +6 -5
- package/dist/ai-service/agent/tools/build-set-api-triggers.js.map +1 -1
- package/dist/ai-service/agent/tools/build-update-state-var.d.ts +2 -3
- package/dist/ai-service/agent/tools/build-update-state-var.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-update-state-var.js +6 -5
- package/dist/ai-service/agent/tools/build-update-state-var.js.map +1 -1
- package/dist/ai-service/agent/tools/build-validate-icons.d.ts +2 -3
- package/dist/ai-service/agent/tools/build-validate-icons.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-validate-icons.js +8 -6
- package/dist/ai-service/agent/tools/build-validate-icons.js.map +1 -1
- package/dist/ai-service/agent/tools/build-write-file.d.ts +2 -4
- package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-write-file.js +6 -5
- package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/debug-cache.js +3 -0
- package/dist/ai-service/agent/tools/debug-cache.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +23 -20
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +23 -20
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +25 -0
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/execute-request.js +213 -0
- package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -0
- package/dist/ai-service/agent/tools/integrations/index.d.ts +4 -0
- package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/index.js +4 -0
- package/dist/ai-service/agent/tools/integrations/index.js.map +1 -0
- package/dist/ai-service/agent/tools/integrations/internal.d.ts +3 -0
- package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/internal.js +11 -0
- package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -0
- package/dist/ai-service/agent/tools/integrations/metadata.d.ts +9 -0
- package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/metadata.js +57 -0
- package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -0
- package/dist/ai-service/agent/tools/integrations/run-code.d.ts +5 -0
- package/dist/ai-service/agent/tools/integrations/run-code.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/run-code.js +32 -0
- package/dist/ai-service/agent/tools/integrations/run-code.js.map +1 -0
- package/dist/ai-service/agent/tools/study-current-app-state.d.ts +2 -4
- package/dist/ai-service/agent/tools/study-current-app-state.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/study-current-app-state.js +10 -8
- package/dist/ai-service/agent/tools/study-current-app-state.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts +3 -280
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +68 -55
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.d.ts +119 -0
- package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/access-control.js +216 -0
- package/dist/ai-service/agent/tools2/access-control.js.map +1 -0
- package/dist/ai-service/agent/tools2/example.d.ts +13 -0
- package/dist/ai-service/agent/tools2/example.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/example.js +143 -0
- package/dist/ai-service/agent/tools2/example.js.map +1 -0
- package/dist/ai-service/agent/tools2/index.d.ts +16 -0
- package/dist/ai-service/agent/tools2/index.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/index.js +18 -0
- package/dist/ai-service/agent/tools2/index.js.map +1 -0
- package/dist/ai-service/agent/tools2/registry.d.ts +167 -0
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/registry.js +305 -0
- package/dist/ai-service/agent/tools2/registry.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts +12 -0
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +73 -0
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/bash.d.ts +34 -0
- package/dist/ai-service/agent/tools2/tools/bash.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/bash.js +76 -0
- package/dist/ai-service/agent/tools2/tools/bash.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/edit.d.ts +14 -0
- package/dist/ai-service/agent/tools2/tools/edit.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/edit.js +60 -0
- package/dist/ai-service/agent/tools2/tools/edit.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +10 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +66 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/glob.d.ts +11 -0
- package/dist/ai-service/agent/tools2/tools/glob.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/glob.js +44 -0
- package/dist/ai-service/agent/tools2/tools/glob.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/grep.d.ts +21 -0
- package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/grep.js +100 -0
- package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/index.d.ts +13 -0
- package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/index.js +13 -0
- package/dist/ai-service/agent/tools2/tools/index.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/read.d.ts +9 -0
- package/dist/ai-service/agent/tools2/tools/read.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/read.js +43 -0
- package/dist/ai-service/agent/tools2/tools/read.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/write.d.ts +11 -0
- package/dist/ai-service/agent/tools2/tools/write.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/write.js +28 -0
- package/dist/ai-service/agent/tools2/tools/write.js.map +1 -0
- package/dist/ai-service/agent/tools2/types.d.ts +148 -0
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/types.js +55 -0
- package/dist/ai-service/agent/tools2/types.js.map +1 -0
- package/dist/ai-service/agent/utils.d.ts +2 -3
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +14 -13
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +5 -0
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +484 -345
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/chat/extract-history.d.ts +1 -0
- package/dist/ai-service/chat/extract-history.d.ts.map +1 -1
- package/dist/ai-service/chat/extract-history.js +12 -1
- package/dist/ai-service/chat/extract-history.js.map +1 -1
- package/dist/ai-service/const.d.ts +2 -1
- package/dist/ai-service/const.d.ts.map +1 -1
- package/dist/ai-service/const.js +7 -1
- package/dist/ai-service/const.js.map +1 -1
- package/dist/ai-service/index.d.ts +9 -8
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +7 -0
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +24 -1
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +86 -2
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/llm/context/caching/constants.d.ts +27 -0
- package/dist/ai-service/llm/context/caching/constants.d.ts.map +1 -0
- package/dist/ai-service/llm/context/caching/constants.js +20 -0
- package/dist/ai-service/llm/context/caching/constants.js.map +1 -0
- package/dist/ai-service/llm/context/caching/factory.d.ts +12 -0
- package/dist/ai-service/llm/context/caching/factory.d.ts.map +1 -0
- package/dist/ai-service/llm/context/caching/factory.js +28 -0
- package/dist/ai-service/llm/context/caching/factory.js.map +1 -0
- package/dist/ai-service/llm/context/caching/index.d.ts +10 -0
- package/dist/ai-service/llm/context/caching/index.d.ts.map +1 -0
- package/dist/ai-service/llm/context/caching/index.js +9 -0
- package/dist/ai-service/llm/context/caching/index.js.map +1 -0
- package/dist/ai-service/llm/context/caching/quantized-strategy.d.ts +22 -0
- package/dist/ai-service/llm/context/caching/quantized-strategy.d.ts.map +1 -0
- package/dist/ai-service/llm/context/caching/quantized-strategy.js +48 -0
- package/dist/ai-service/llm/context/caching/quantized-strategy.js.map +1 -0
- package/dist/ai-service/llm/context/caching/strategy.d.ts +20 -0
- package/dist/ai-service/llm/context/caching/strategy.d.ts.map +1 -0
- package/dist/ai-service/llm/context/caching/strategy.js +5 -0
- package/dist/ai-service/llm/context/caching/strategy.js.map +1 -0
- package/dist/ai-service/llm/context/caching/types.d.ts +34 -0
- package/dist/ai-service/llm/context/caching/types.d.ts.map +1 -0
- package/dist/ai-service/llm/context/caching/types.js +8 -0
- package/dist/ai-service/llm/context/caching/types.js.map +1 -0
- package/dist/ai-service/llm/context/config.d.ts +51 -0
- package/dist/ai-service/llm/context/config.d.ts.map +1 -0
- package/dist/ai-service/llm/context/config.js +58 -0
- package/dist/ai-service/llm/context/config.js.map +1 -0
- package/dist/ai-service/llm/context/constants.d.ts +106 -0
- package/dist/ai-service/llm/context/constants.d.ts.map +1 -0
- package/dist/ai-service/llm/context/constants.js +106 -0
- package/dist/ai-service/llm/context/constants.js.map +1 -0
- package/dist/ai-service/llm/context/context.d.ts +207 -0
- package/dist/ai-service/llm/context/context.d.ts.map +1 -0
- package/dist/ai-service/llm/context/context.js +742 -0
- package/dist/ai-service/llm/context/context.js.map +1 -0
- package/dist/ai-service/llm/context/errors.d.ts +45 -0
- package/dist/ai-service/llm/context/errors.d.ts.map +1 -0
- package/dist/ai-service/llm/context/errors.js +56 -0
- package/dist/ai-service/llm/context/errors.js.map +1 -0
- package/dist/ai-service/llm/context/index.d.ts +13 -0
- package/dist/ai-service/llm/context/index.d.ts.map +1 -0
- package/dist/ai-service/llm/context/index.js +17 -0
- package/dist/ai-service/llm/context/index.js.map +1 -0
- package/dist/ai-service/llm/context/internal-types.d.ts +52 -0
- package/dist/ai-service/llm/context/internal-types.d.ts.map +1 -0
- package/dist/ai-service/llm/context/internal-types.js +28 -0
- package/dist/ai-service/llm/context/internal-types.js.map +1 -0
- package/dist/ai-service/llm/context/levels/index.d.ts +12 -0
- package/dist/ai-service/llm/context/levels/index.d.ts.map +1 -0
- package/dist/ai-service/llm/context/levels/index.js +12 -0
- package/dist/ai-service/llm/context/levels/index.js.map +1 -0
- package/dist/ai-service/llm/context/levels/l1.d.ts +83 -0
- package/dist/ai-service/llm/context/levels/l1.d.ts.map +1 -0
- package/dist/ai-service/llm/context/levels/l1.js +143 -0
- package/dist/ai-service/llm/context/levels/l1.js.map +1 -0
- package/dist/ai-service/llm/context/levels/l2.d.ts +60 -0
- package/dist/ai-service/llm/context/levels/l2.d.ts.map +1 -0
- package/dist/ai-service/llm/context/levels/l2.js +96 -0
- package/dist/ai-service/llm/context/levels/l2.js.map +1 -0
- package/dist/ai-service/llm/context/levels/l3.d.ts +46 -0
- package/dist/ai-service/llm/context/levels/l3.d.ts.map +1 -0
- package/dist/ai-service/llm/context/levels/l3.js +70 -0
- package/dist/ai-service/llm/context/levels/l3.js.map +1 -0
- package/dist/ai-service/llm/context/logger.d.ts +17 -0
- package/dist/ai-service/llm/context/logger.d.ts.map +1 -0
- package/dist/ai-service/llm/context/logger.js +26 -0
- package/dist/ai-service/llm/context/logger.js.map +1 -0
- package/dist/ai-service/llm/context/manager.d.ts +79 -0
- package/dist/ai-service/llm/context/manager.d.ts.map +1 -0
- package/dist/ai-service/llm/context/manager.js +136 -0
- package/dist/ai-service/llm/context/manager.js.map +1 -0
- package/dist/ai-service/llm/context/options.d.ts +43 -0
- package/dist/ai-service/llm/context/options.d.ts.map +1 -0
- package/dist/ai-service/llm/context/options.js +81 -0
- package/dist/ai-service/llm/context/options.js.map +1 -0
- package/dist/ai-service/llm/context/serialization.d.ts +56 -0
- package/dist/ai-service/llm/context/serialization.d.ts.map +1 -0
- package/dist/ai-service/llm/context/serialization.js +9 -0
- package/dist/ai-service/llm/context/serialization.js.map +1 -0
- package/dist/ai-service/llm/context/storage/index.d.ts +10 -0
- package/dist/ai-service/llm/context/storage/index.d.ts.map +1 -0
- package/dist/ai-service/llm/context/storage/index.js +2 -0
- package/dist/ai-service/llm/context/storage/index.js.map +1 -0
- package/dist/ai-service/llm/context/storage/local.d.ts +22 -0
- package/dist/ai-service/llm/context/storage/local.d.ts.map +1 -0
- package/dist/ai-service/llm/context/storage/local.js +42 -0
- package/dist/ai-service/llm/context/storage/local.js.map +1 -0
- package/dist/ai-service/llm/context/types.d.ts +125 -0
- package/dist/ai-service/llm/context/types.d.ts.map +1 -0
- package/dist/ai-service/llm/context/types.js +5 -0
- package/dist/ai-service/llm/context/types.js.map +1 -0
- package/dist/ai-service/llm/context/utils/content-compaction.d.ts +26 -0
- package/dist/ai-service/llm/context/utils/content-compaction.d.ts.map +1 -0
- package/dist/ai-service/llm/context/utils/content-compaction.js +52 -0
- package/dist/ai-service/llm/context/utils/content-compaction.js.map +1 -0
- package/dist/ai-service/llm/context/utils/index.d.ts +10 -0
- package/dist/ai-service/llm/context/utils/index.d.ts.map +1 -0
- package/dist/ai-service/llm/context/utils/index.js +10 -0
- package/dist/ai-service/llm/context/utils/index.js.map +1 -0
- package/dist/ai-service/llm/context/utils/message-utils.d.ts +34 -0
- package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -0
- package/dist/ai-service/llm/context/utils/message-utils.js +68 -0
- package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -0
- package/dist/ai-service/llm/context/utils/token-estimation.d.ts +31 -0
- package/dist/ai-service/llm/context/utils/token-estimation.d.ts.map +1 -0
- package/dist/ai-service/llm/context/utils/token-estimation.js +52 -0
- package/dist/ai-service/llm/context/utils/token-estimation.js.map +1 -0
- package/dist/ai-service/llm/context/utils/visualization.d.ts +40 -0
- package/dist/ai-service/llm/context/utils/visualization.d.ts.map +1 -0
- package/dist/ai-service/llm/context/utils/visualization.js +516 -0
- package/dist/ai-service/llm/context/utils/visualization.js.map +1 -0
- package/dist/ai-service/llm/impl/anthropic.js +2 -2
- package/dist/ai-service/llm/impl/anthropic.js.map +1 -1
- package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
- package/dist/ai-service/llmobs/helpers.js +10 -19
- package/dist/ai-service/llmobs/helpers.js.map +1 -1
- package/dist/ai-service/llmobs/middleware/stream-text.js +4 -1
- package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming-chakra-new.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
- package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +9 -5
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +36 -9
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +154 -104
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/context-id.d.ts +4 -0
- package/dist/ai-service/state-machine/helpers/context-id.d.ts.map +1 -0
- package/dist/ai-service/state-machine/helpers/context-id.js +16 -0
- package/dist/ai-service/state-machine/helpers/context-id.js.map +1 -0
- package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.js +7 -4
- package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts +2 -3
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/types.d.ts +3 -0
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/ai-service/types.js.map +1 -1
- package/dist/ai-service/util/parse-jwt.d.ts +12 -0
- package/dist/ai-service/util/parse-jwt.d.ts.map +1 -0
- package/dist/ai-service/util/parse-jwt.js +30 -0
- package/dist/ai-service/util/parse-jwt.js.map +1 -0
- package/dist/ai-service/util/safe-stringify.d.ts +1 -1
- package/dist/ai-service/util/safe-stringify.d.ts.map +1 -1
- package/dist/ai-service/util/safe-stringify.js +3 -3
- package/dist/ai-service/util/safe-stringify.js.map +1 -1
- package/dist/binding-extraction/extract-js-identifiers.d.ts.map +1 -1
- package/dist/binding-extraction/extract-js-identifiers.js +1 -1
- package/dist/binding-extraction/extract-js-identifiers.js.map +1 -1
- package/dist/component-docs-service/index.d.ts.map +1 -1
- package/dist/component-docs-service/index.js +0 -2
- package/dist/component-docs-service/index.js.map +1 -1
- package/package.json +8 -8
- package/dist/ai-service/agent/apis-static-analysis.d.ts.map +0 -1
- package/dist/ai-service/agent/apis-static-analysis.js.map +0 -1
- package/dist/ai-service/agent/apis-system-prompt.d.ts +0 -3
- package/dist/ai-service/agent/apis-system-prompt.d.ts.map +0 -1
- package/dist/ai-service/agent/apis.d.ts +0 -55
- package/dist/ai-service/agent/apis.d.ts.map +0 -1
- package/dist/ai-service/agent/apis.js.map +0 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Level 2 (L2) conversation turn with moderate compression.
|
|
3
|
+
*
|
|
4
|
+
* L2 turns use moderate compression suitable for older conversation history:
|
|
5
|
+
* - Steps flattened into single response array
|
|
6
|
+
* - Tool call inputs replaced with empty objects
|
|
7
|
+
* - Tool results marked as "[tool output trimmed]"
|
|
8
|
+
* - Conversation structure preserved
|
|
9
|
+
*
|
|
10
|
+
* This balances keeping conversation history with reducing token usage.
|
|
11
|
+
*/
|
|
12
|
+
import { estimateTokenCount } from "../utils/index.js";
|
|
13
|
+
import { L3Turn } from "./l3.js";
|
|
14
|
+
/**
|
|
15
|
+
* L2 Turn - Moderate compression level.
|
|
16
|
+
*
|
|
17
|
+
* Structure:
|
|
18
|
+
* - User message (required)
|
|
19
|
+
* - Flattened response array (all steps combined)
|
|
20
|
+
* - Tool calls compacted (inputs removed)
|
|
21
|
+
* - Tool results compacted (outputs trimmed)
|
|
22
|
+
*/
|
|
23
|
+
export class L2Turn {
|
|
24
|
+
user;
|
|
25
|
+
responses;
|
|
26
|
+
constructor(user, response) {
|
|
27
|
+
this.user = user;
|
|
28
|
+
this.responses = response;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Total token count for this turn.
|
|
32
|
+
*/
|
|
33
|
+
get tokenCount() {
|
|
34
|
+
return (this.user.tokenCount +
|
|
35
|
+
this.responses.reduce((sum, msg) => sum + msg.tokenCount, 0));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* All messages in this turn.
|
|
39
|
+
*/
|
|
40
|
+
get messages() {
|
|
41
|
+
return [this.user, ...this.responses];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Compacts this L2 turn to L3 (maximum compression).
|
|
45
|
+
*
|
|
46
|
+
* Keeps only:
|
|
47
|
+
* - User message
|
|
48
|
+
* - Last assistant message (if any)
|
|
49
|
+
* - Drops all tool interactions
|
|
50
|
+
*
|
|
51
|
+
* @param charactersPerToken - Token estimation ratio
|
|
52
|
+
* @returns New L3 turn
|
|
53
|
+
*/
|
|
54
|
+
compact() {
|
|
55
|
+
const lastAssistant = this.responses
|
|
56
|
+
.filter((msg) => msg.role === "assistant")
|
|
57
|
+
.at(-1);
|
|
58
|
+
if (!lastAssistant) {
|
|
59
|
+
return new L3Turn(this.user);
|
|
60
|
+
}
|
|
61
|
+
return new L3Turn(this.user, lastAssistant);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Serializes this turn for persistence.
|
|
65
|
+
*/
|
|
66
|
+
toRecord() {
|
|
67
|
+
return {
|
|
68
|
+
user: { ...this.user },
|
|
69
|
+
response: this.responses.map((message) => ({ ...message })),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Deserializes an L2 turn from a record.
|
|
74
|
+
*
|
|
75
|
+
* @param record - Serialized turn data
|
|
76
|
+
* @param charactersPerToken - If provided, recalculates token counts
|
|
77
|
+
*/
|
|
78
|
+
static fromRecord(record, charactersPerToken) {
|
|
79
|
+
if (!record?.user) {
|
|
80
|
+
throw new Error("L2TurnRecord missing user message");
|
|
81
|
+
}
|
|
82
|
+
const user = { ...record.user };
|
|
83
|
+
if (charactersPerToken !== undefined) {
|
|
84
|
+
user.tokenCount = estimateTokenCount(user, charactersPerToken);
|
|
85
|
+
}
|
|
86
|
+
const response = (record.response ?? []).map((message) => {
|
|
87
|
+
const clone = { ...message };
|
|
88
|
+
if (charactersPerToken !== undefined) {
|
|
89
|
+
clone.tokenCount = estimateTokenCount(clone, charactersPerToken);
|
|
90
|
+
}
|
|
91
|
+
return clone;
|
|
92
|
+
});
|
|
93
|
+
return new L2Turn(user, response);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=l2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"l2.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/levels/l2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AASjC;;;;;;;;GAQG;AACH,MAAM,OAAO,MAAM;IACjB,IAAI,CAAuB;IAC3B,SAAS,CAA6B;IAEtC,YACE,IAA0B,EAC1B,QAAoC;QAEpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,CACL,IAAI,CAAC,IAAI,CAAC,UAAU;YACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAC7D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO;QACL,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS;aACjC,MAAM,CACL,CAAC,GAAG,EAAoC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CACpE;aACA,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEV,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;YACtB,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;SAC5D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAoB,EAAE,kBAA2B;QACjE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACvD,MAAM,KAAK,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;YAC7B,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACrC,KAAK,CAAC,UAAU,GAAG,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;YACnE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Level 3 (L3) conversation turn with maximum compression.
|
|
3
|
+
*
|
|
4
|
+
* L3 turns represent the oldest conversation history with heavy compression:
|
|
5
|
+
* - Only user message + last assistant response preserved
|
|
6
|
+
* - All tool interactions dropped
|
|
7
|
+
* - Minimal skeleton for conversation continuity
|
|
8
|
+
*
|
|
9
|
+
* This level is used for turns that are important for context but don't
|
|
10
|
+
* need detailed tool interaction history.
|
|
11
|
+
*/
|
|
12
|
+
import type { TokenizedUserMessage, TokenizedAssistantMessage, TokenizedMessage } from "../internal-types.js";
|
|
13
|
+
import type { L3TurnRecord } from "../serialization.js";
|
|
14
|
+
/**
|
|
15
|
+
* L3 Turn - Maximum compression level.
|
|
16
|
+
*
|
|
17
|
+
* Structure:
|
|
18
|
+
* - User message (required)
|
|
19
|
+
* - Last assistant message (optional)
|
|
20
|
+
* - No intermediate steps
|
|
21
|
+
*/
|
|
22
|
+
export declare class L3Turn {
|
|
23
|
+
user: TokenizedUserMessage;
|
|
24
|
+
assistant?: TokenizedAssistantMessage;
|
|
25
|
+
constructor(user: TokenizedUserMessage, assistant?: TokenizedAssistantMessage);
|
|
26
|
+
/**
|
|
27
|
+
* Total token count for this turn.
|
|
28
|
+
*/
|
|
29
|
+
get tokenCount(): number;
|
|
30
|
+
/**
|
|
31
|
+
* All messages in this turn (user + optional assistant).
|
|
32
|
+
*/
|
|
33
|
+
get messages(): TokenizedMessage[];
|
|
34
|
+
/**
|
|
35
|
+
* Serializes this turn for persistence.
|
|
36
|
+
*/
|
|
37
|
+
toRecord(): L3TurnRecord;
|
|
38
|
+
/**
|
|
39
|
+
* Deserializes an L3 turn from a record.
|
|
40
|
+
*
|
|
41
|
+
* @param record - Serialized turn data
|
|
42
|
+
* @param charactersPerToken - If provided, recalculates token counts
|
|
43
|
+
*/
|
|
44
|
+
static fromRecord(record: L3TurnRecord, charactersPerToken?: number): L3Turn;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=l3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"l3.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/levels/l3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;;;GAOG;AACH,qBAAa,MAAM;IACjB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,SAAS,CAAC,EAAE,yBAAyB,CAAC;gBAGpC,IAAI,EAAE,oBAAoB,EAC1B,SAAS,CAAC,EAAE,yBAAyB;IAMvC;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,gBAAgB,EAAE,CAEjC;IAED;;OAEG;IACH,QAAQ,IAAI,YAAY;IAOxB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM;CAiB7E"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Level 3 (L3) conversation turn with maximum compression.
|
|
3
|
+
*
|
|
4
|
+
* L3 turns represent the oldest conversation history with heavy compression:
|
|
5
|
+
* - Only user message + last assistant response preserved
|
|
6
|
+
* - All tool interactions dropped
|
|
7
|
+
* - Minimal skeleton for conversation continuity
|
|
8
|
+
*
|
|
9
|
+
* This level is used for turns that are important for context but don't
|
|
10
|
+
* need detailed tool interaction history.
|
|
11
|
+
*/
|
|
12
|
+
import { estimateTokenCount } from "../utils/index.js";
|
|
13
|
+
/**
|
|
14
|
+
* L3 Turn - Maximum compression level.
|
|
15
|
+
*
|
|
16
|
+
* Structure:
|
|
17
|
+
* - User message (required)
|
|
18
|
+
* - Last assistant message (optional)
|
|
19
|
+
* - No intermediate steps
|
|
20
|
+
*/
|
|
21
|
+
export class L3Turn {
|
|
22
|
+
user;
|
|
23
|
+
assistant;
|
|
24
|
+
constructor(user, assistant) {
|
|
25
|
+
this.user = user;
|
|
26
|
+
this.assistant = assistant;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Total token count for this turn.
|
|
30
|
+
*/
|
|
31
|
+
get tokenCount() {
|
|
32
|
+
return this.user.tokenCount + (this.assistant?.tokenCount ?? 0);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* All messages in this turn (user + optional assistant).
|
|
36
|
+
*/
|
|
37
|
+
get messages() {
|
|
38
|
+
return this.assistant ? [this.user, this.assistant] : [this.user];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Serializes this turn for persistence.
|
|
42
|
+
*/
|
|
43
|
+
toRecord() {
|
|
44
|
+
return {
|
|
45
|
+
user: { ...this.user },
|
|
46
|
+
assistant: this.assistant ? { ...this.assistant } : undefined,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Deserializes an L3 turn from a record.
|
|
51
|
+
*
|
|
52
|
+
* @param record - Serialized turn data
|
|
53
|
+
* @param charactersPerToken - If provided, recalculates token counts
|
|
54
|
+
*/
|
|
55
|
+
static fromRecord(record, charactersPerToken) {
|
|
56
|
+
if (!record?.user) {
|
|
57
|
+
throw new Error("L3TurnRecord missing user message");
|
|
58
|
+
}
|
|
59
|
+
const user = { ...record.user };
|
|
60
|
+
if (charactersPerToken !== undefined) {
|
|
61
|
+
user.tokenCount = estimateTokenCount(user, charactersPerToken);
|
|
62
|
+
}
|
|
63
|
+
const assistant = record.assistant ? { ...record.assistant } : undefined;
|
|
64
|
+
if (assistant && charactersPerToken !== undefined) {
|
|
65
|
+
assistant.tokenCount = estimateTokenCount(assistant, charactersPerToken);
|
|
66
|
+
}
|
|
67
|
+
return new L3Turn(user, assistant);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=l3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"l3.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/levels/l3.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAQvD;;;;;;;GAOG;AACH,MAAM,OAAO,MAAM;IACjB,IAAI,CAAuB;IAC3B,SAAS,CAA6B;IAEtC,YACE,IAA0B,EAC1B,SAAqC;QAErC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE;YACtB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAoB,EAAE,kBAA2B;QACjE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,GAAG,kBAAkB,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,IAAI,SAAS,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YAClD,SAAS,CAAC,UAAU,GAAG,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,IAAI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger utilities for the context module.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Creates a logger with automatic prefix application.
|
|
6
|
+
*
|
|
7
|
+
* @param prefix - Prefix to prepend to all log messages
|
|
8
|
+
* @param verbose - If false, debug logs are suppressed (default: true)
|
|
9
|
+
* @returns Logger instance with prefix baked in
|
|
10
|
+
*/
|
|
11
|
+
export declare function createPrefixedLogger(prefix: string, verbose?: boolean): {
|
|
12
|
+
debug: (msg: string, meta?: unknown) => void;
|
|
13
|
+
info: (msg: string, meta?: unknown) => void;
|
|
14
|
+
warn: (msg: string, meta?: unknown) => void;
|
|
15
|
+
error: (msg: string, meta?: unknown) => void;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,OAAc;iBAK3D,MAAM,SAAS,OAAO;gBAKvB,MAAM,SAAS,OAAO;gBAEtB,MAAM,SAAS,OAAO;iBAErB,MAAM,SAAS,OAAO;EAGtC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger utilities for the context module.
|
|
3
|
+
*/
|
|
4
|
+
import { getLogger } from "../../../util/logger.js";
|
|
5
|
+
/**
|
|
6
|
+
* Creates a logger with automatic prefix application.
|
|
7
|
+
*
|
|
8
|
+
* @param prefix - Prefix to prepend to all log messages
|
|
9
|
+
* @param verbose - If false, debug logs are suppressed (default: true)
|
|
10
|
+
* @returns Logger instance with prefix baked in
|
|
11
|
+
*/
|
|
12
|
+
export function createPrefixedLogger(prefix, verbose = true) {
|
|
13
|
+
const format = (msg) => `${prefix} ${msg}`;
|
|
14
|
+
const baseLogger = getLogger();
|
|
15
|
+
return {
|
|
16
|
+
debug: (msg, meta) => {
|
|
17
|
+
if (verbose) {
|
|
18
|
+
baseLogger.debug(format(msg), meta);
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
info: (msg, meta) => baseLogger.info(format(msg), meta),
|
|
22
|
+
warn: (msg, meta) => baseLogger.warn(format(msg), meta),
|
|
23
|
+
error: (msg, meta) => baseLogger.error(format(msg), meta),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,UAAmB,IAAI;IAC1E,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC;IACnD,MAAM,UAAU,GAAG,SAAS,EAAE,CAAC;IAE/B,OAAO;QACL,KAAK,EAAE,CAAC,GAAW,EAAE,IAAc,EAAE,EAAE;YACrC,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAW,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,GAAW,EAAE,IAAc,EAAE,EAAE,CACpC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAW,CAAC;QAC3C,IAAI,EAAE,CAAC,GAAW,EAAE,IAAc,EAAE,EAAE,CACpC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAW,CAAC;QAC3C,KAAK,EAAE,CAAC,GAAW,EAAE,IAAc,EAAE,EAAE,CACrC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,IAAW,CAAC;KAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ContextManager manages context lifecycle, caching, and persistence.
|
|
3
|
+
*
|
|
4
|
+
* Responsibilities:
|
|
5
|
+
* - Load/save context state from/to database
|
|
6
|
+
* - Cache active contexts in memory
|
|
7
|
+
* - Create ephemeral contexts for one-off operations
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
import { type CacheStrategyType } from "./caching/index.js";
|
|
11
|
+
import { Context } from "./context.js";
|
|
12
|
+
import type { ContextStorage } from "./storage/index.js";
|
|
13
|
+
import type { ContextId, ContextOptions, LoggingOptions } from "./types.js";
|
|
14
|
+
/**
|
|
15
|
+
* Options for configuring the ContextManager.
|
|
16
|
+
*/
|
|
17
|
+
export interface ContextManagerOptions {
|
|
18
|
+
/** Storage backend for persisting context state */
|
|
19
|
+
storage: ContextStorage;
|
|
20
|
+
/** Cache strategy to use for all contexts (default: 'quantized') */
|
|
21
|
+
cacheStrategy?: CacheStrategyType;
|
|
22
|
+
/** Logging configuration for all contexts */
|
|
23
|
+
logging?: LoggingOptions;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Manager for creating and managing conversation contexts.
|
|
27
|
+
*/
|
|
28
|
+
export declare class ContextManager {
|
|
29
|
+
private storage;
|
|
30
|
+
private cacheStrategyType?;
|
|
31
|
+
private contextOptions?;
|
|
32
|
+
private loggingOptions?;
|
|
33
|
+
private contexts;
|
|
34
|
+
private static readonly logPrefix;
|
|
35
|
+
constructor(options: ContextManagerOptions);
|
|
36
|
+
/**
|
|
37
|
+
* Gets or creates a persistent context.
|
|
38
|
+
*
|
|
39
|
+
* Contexts are:
|
|
40
|
+
* 1. Checked in memory cache first
|
|
41
|
+
* 2. Loaded from storage if not cached
|
|
42
|
+
* 3. Created fresh if not found in storage
|
|
43
|
+
* 4. Cached for subsequent requests
|
|
44
|
+
* 5. Automatically persisted on changes
|
|
45
|
+
*
|
|
46
|
+
* @param id - Unique context identifier
|
|
47
|
+
* @param options - Context configuration options
|
|
48
|
+
* @returns Context instance (cached, loaded, or new)
|
|
49
|
+
*/
|
|
50
|
+
getContext(id: ContextId, options?: ContextOptions): Promise<Context>;
|
|
51
|
+
private get logger();
|
|
52
|
+
/**
|
|
53
|
+
* Creates an ephemeral context (no persistence or caching).
|
|
54
|
+
*
|
|
55
|
+
* Useful for:
|
|
56
|
+
* - One-off operations
|
|
57
|
+
* - Testing
|
|
58
|
+
* - Operations that don't need state preservation
|
|
59
|
+
*
|
|
60
|
+
* @param options - Context configuration
|
|
61
|
+
* @returns New context instance (not cached)
|
|
62
|
+
*/
|
|
63
|
+
createContext(options?: ContextOptions): Context;
|
|
64
|
+
/**
|
|
65
|
+
* Loads context from persistent storage.
|
|
66
|
+
*
|
|
67
|
+
* @param id - Context identifier
|
|
68
|
+
* @returns Loaded context record or null if not found/error
|
|
69
|
+
*/
|
|
70
|
+
private loadContext;
|
|
71
|
+
/**
|
|
72
|
+
* Saves context to persistent storage.
|
|
73
|
+
*
|
|
74
|
+
* @param id - Context identifier
|
|
75
|
+
* @param record - Context state to save
|
|
76
|
+
*/
|
|
77
|
+
private saveContext;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,OAAO,EAAE,cAAc,CAAC;IACxB,oEAAoE;IACpE,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,iBAAiB,CAAC,CAAoB;IAC9C,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAuB;gBAE5C,OAAO,EAAE,qBAAqB;IAkB1C;;;;;;;;;;;;;OAaG;IACG,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAkC3E,OAAO,KAAK,MAAM,GAEjB;IAED;;;;;;;;;;OAUG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO;IAShD;;;;;OAKG;YACW,WAAW;IAoBzB;;;;;OAKG;YACW,WAAW;CAW1B"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ContextManager manages context lifecycle, caching, and persistence.
|
|
3
|
+
*
|
|
4
|
+
* Responsibilities:
|
|
5
|
+
* - Load/save context state from/to database
|
|
6
|
+
* - Cache active contexts in memory
|
|
7
|
+
* - Create ephemeral contexts for one-off operations
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
import { CacheStrategyFactory, } from "./caching/index.js";
|
|
11
|
+
import { loadContextConfigFromEnv } from "./config.js";
|
|
12
|
+
import { Context } from "./context.js";
|
|
13
|
+
import { createPrefixedLogger } from "./logger.js";
|
|
14
|
+
/**
|
|
15
|
+
* Manager for creating and managing conversation contexts.
|
|
16
|
+
*/
|
|
17
|
+
export class ContextManager {
|
|
18
|
+
storage;
|
|
19
|
+
cacheStrategyType;
|
|
20
|
+
contextOptions;
|
|
21
|
+
loggingOptions;
|
|
22
|
+
contexts = new Map();
|
|
23
|
+
static logPrefix = "[context-manager]";
|
|
24
|
+
constructor(options) {
|
|
25
|
+
this.storage = options.storage;
|
|
26
|
+
// Load config from environment variable (final override)
|
|
27
|
+
const envConfig = loadContextConfigFromEnv();
|
|
28
|
+
// Merge config: defaults < programmatic options < env var (final override)
|
|
29
|
+
this.cacheStrategyType = envConfig?.cacheStrategy ?? options.cacheStrategy;
|
|
30
|
+
this.contextOptions = envConfig?.context;
|
|
31
|
+
this.loggingOptions = envConfig?.logging ?? options.logging;
|
|
32
|
+
if (envConfig) {
|
|
33
|
+
this.logger.info(`Using context configuration from SUPERBLOCKS_CLARK_CONTEXT_CONFIG: cacheStrategy=${this.cacheStrategyType}, logging=${this.loggingOptions?.verbose ? "verbose" : "quiet"}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Gets or creates a persistent context.
|
|
38
|
+
*
|
|
39
|
+
* Contexts are:
|
|
40
|
+
* 1. Checked in memory cache first
|
|
41
|
+
* 2. Loaded from storage if not cached
|
|
42
|
+
* 3. Created fresh if not found in storage
|
|
43
|
+
* 4. Cached for subsequent requests
|
|
44
|
+
* 5. Automatically persisted on changes
|
|
45
|
+
*
|
|
46
|
+
* @param id - Unique context identifier
|
|
47
|
+
* @param options - Context configuration options
|
|
48
|
+
* @returns Context instance (cached, loaded, or new)
|
|
49
|
+
*/
|
|
50
|
+
async getContext(id, options) {
|
|
51
|
+
// Check cache first
|
|
52
|
+
if (this.contexts.has(id)) {
|
|
53
|
+
return this.contexts.get(id);
|
|
54
|
+
}
|
|
55
|
+
const onPersist = async (record) => {
|
|
56
|
+
await this.saveContext(id, record);
|
|
57
|
+
};
|
|
58
|
+
// Create cache strategy
|
|
59
|
+
const cacheStrategy = CacheStrategyFactory.create(this.cacheStrategyType);
|
|
60
|
+
// Load from storage
|
|
61
|
+
const record = await this.loadContext(id);
|
|
62
|
+
// Create context with persistence callback, cache strategy, and logging
|
|
63
|
+
const params = {
|
|
64
|
+
id,
|
|
65
|
+
options: { ...options, ...this.contextOptions },
|
|
66
|
+
logging: this.loggingOptions,
|
|
67
|
+
onPersist,
|
|
68
|
+
cacheStrategy,
|
|
69
|
+
};
|
|
70
|
+
const context = record
|
|
71
|
+
? Context.fromRecord(record, params)
|
|
72
|
+
: new Context(params);
|
|
73
|
+
// Cache for future requests
|
|
74
|
+
this.contexts.set(id, context);
|
|
75
|
+
return context;
|
|
76
|
+
}
|
|
77
|
+
get logger() {
|
|
78
|
+
return createPrefixedLogger(ContextManager.logPrefix);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Creates an ephemeral context (no persistence or caching).
|
|
82
|
+
*
|
|
83
|
+
* Useful for:
|
|
84
|
+
* - One-off operations
|
|
85
|
+
* - Testing
|
|
86
|
+
* - Operations that don't need state preservation
|
|
87
|
+
*
|
|
88
|
+
* @param options - Context configuration
|
|
89
|
+
* @returns New context instance (not cached)
|
|
90
|
+
*/
|
|
91
|
+
createContext(options) {
|
|
92
|
+
const cacheStrategy = CacheStrategyFactory.create(this.cacheStrategyType);
|
|
93
|
+
return new Context({
|
|
94
|
+
options: { ...options, ...this.contextOptions },
|
|
95
|
+
logging: this.loggingOptions,
|
|
96
|
+
cacheStrategy,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Loads context from persistent storage.
|
|
101
|
+
*
|
|
102
|
+
* @param id - Context identifier
|
|
103
|
+
* @returns Loaded context record or null if not found/error
|
|
104
|
+
*/
|
|
105
|
+
async loadContext(id) {
|
|
106
|
+
try {
|
|
107
|
+
const record = await this.storage.loadContext(id);
|
|
108
|
+
if (record === null) {
|
|
109
|
+
this.logger.info(`No existing context found for '${id.name}', starting fresh.`);
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
this.logger.info(`Loaded existing context for '${id.name}' from storage.`);
|
|
113
|
+
return record;
|
|
114
|
+
}
|
|
115
|
+
catch (err) {
|
|
116
|
+
this.logger.error(`Failed to load context for '${id.name}': ${err}`);
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Saves context to persistent storage.
|
|
122
|
+
*
|
|
123
|
+
* @param id - Context identifier
|
|
124
|
+
* @param record - Context state to save
|
|
125
|
+
*/
|
|
126
|
+
async saveContext(id, record) {
|
|
127
|
+
try {
|
|
128
|
+
await this.storage.saveContext(id, record);
|
|
129
|
+
this.logger.debug(`Saved context for '${id.name}'`);
|
|
130
|
+
}
|
|
131
|
+
catch (err) {
|
|
132
|
+
this.logger.error(`Failed to save context for '${id}': ${err}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options resolution for context configuration.
|
|
3
|
+
*
|
|
4
|
+
* Handles merging user-provided options with sensible defaults.
|
|
5
|
+
*/
|
|
6
|
+
import type { ContextOptions, CompactionOptions, LoggingOptions, VisualizationOptions, CompactionLevelBudgets, TokenEstimationOptions, CachingOptions } from "./types.js";
|
|
7
|
+
/**
|
|
8
|
+
* Internal resolved options with absolute token counts.
|
|
9
|
+
*/
|
|
10
|
+
export type ResolvedContextOptions = Required<ContextOptions> & {
|
|
11
|
+
compaction: ResolvedCompactionOptions;
|
|
12
|
+
tokenEstimation: ResolvedTokenEstimationOptions;
|
|
13
|
+
caching: ResolvedCachingOptions;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Resolves ContextOptions with defaults.
|
|
17
|
+
*/
|
|
18
|
+
export declare function withContextDefaults(options?: ContextOptions): ResolvedContextOptions;
|
|
19
|
+
/** Internal compaction options with defaults applied. */
|
|
20
|
+
export type ResolvedCompactionOptions = Required<CompactionOptions> & {
|
|
21
|
+
budgets: Required<CompactionLevelBudgets> & {
|
|
22
|
+
l3: number;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
/** Resolved logging options with defaults applied. */
|
|
26
|
+
export type ResolvedLoggingOptions = {
|
|
27
|
+
verbose: boolean;
|
|
28
|
+
visualization: ResolvedVisualizationOptions;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Resolves LoggingOptions with defaults.
|
|
32
|
+
* Exported for use by Context to resolve logging independently.
|
|
33
|
+
*/
|
|
34
|
+
export declare function withLoggingDefaults(options?: LoggingOptions): ResolvedLoggingOptions;
|
|
35
|
+
/** Resolved visualization options with defaults applied. */
|
|
36
|
+
export type ResolvedVisualizationOptions = Required<Omit<VisualizationOptions, "outputPath">> & {
|
|
37
|
+
outputPath: string | undefined;
|
|
38
|
+
};
|
|
39
|
+
/** Resolved token estimation options with defaults applied. */
|
|
40
|
+
export type ResolvedTokenEstimationOptions = Required<TokenEstimationOptions>;
|
|
41
|
+
/** Resolved caching options with defaults applied. */
|
|
42
|
+
export type ResolvedCachingOptions = Required<CachingOptions>;
|
|
43
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/options.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAsBH,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,cAAc,CAAC,GAAG;IAC9D,UAAU,EAAE,yBAAyB,CAAC;IACtC,eAAe,EAAE,8BAA8B,CAAC;IAChD,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,cAAmB,GAC3B,sBAAsB,CAiBxB;AAED,yDAAyD;AACzD,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,GAAG;IACpE,OAAO,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG;QAC1C,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;CACH,CAAC;AAqCF,sDAAsD;AACtD,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,4BAA4B,CAAC;CAC7C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,cAAc,GACvB,sBAAsB,CAKxB;AAED,4DAA4D;AAC5D,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CACjD,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,CACzC,GAAG;IACF,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,CAAC;AAYF,+DAA+D;AAC/D,MAAM,MAAM,8BAA8B,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AAe9E,sDAAsD;AACtD,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options resolution for context configuration.
|
|
3
|
+
*
|
|
4
|
+
* Handles merging user-provided options with sensible defaults.
|
|
5
|
+
*/
|
|
6
|
+
import { PROVIDER_CACHE_MAX_BREAKPOINTS, PROVIDER_CACHE_MIN_CACHEABLE_TOKENS, } from "./caching/constants.js";
|
|
7
|
+
import { DEFAULT_L1_TARGET_FRACTION, DEFAULT_L2_TARGET_FRACTION, DEFAULT_MIN_TOKENS_FOR_ESTIMATE_UPDATE, DEFAULT_CHARACTERS_PER_TOKEN_MIN, DEFAULT_CHARACTERS_PER_TOKEN_MAX, DEFAULT_PRIORITIZED_STEPS, DEFAULT_MAX_CONTEXT_TOKENS, DEFAULT_INITIAL_CHARS_PER_TOKEN_ESTIMATE, DEFAULT_ALLOW_OVERFLOW, DEFAULT_COMPACTION_TRIGGER_FRACTION, DEFAULT_COMPACTION_TARGET_FRACTION, DEFAULT_VERBOSE_LOGGING_ENABLED, DEFAULT_VISUALIZATION_MODE, DEFAULT_VISUALIZATION_WIDTH, } from "./constants.js";
|
|
8
|
+
/**
|
|
9
|
+
* Resolves ContextOptions with defaults.
|
|
10
|
+
*/
|
|
11
|
+
export function withContextDefaults(options = {}) {
|
|
12
|
+
const maxTokens = options.maxTokens ?? DEFAULT_MAX_CONTEXT_TOKENS;
|
|
13
|
+
const charsPerToken = options.charsPerToken ?? DEFAULT_INITIAL_CHARS_PER_TOKEN_ESTIMATE;
|
|
14
|
+
const allowOverflow = options.allowOverflow ?? DEFAULT_ALLOW_OVERFLOW;
|
|
15
|
+
const compaction = withCompactionDefaults(maxTokens, options?.compaction);
|
|
16
|
+
const tokenEstimation = withTokenEstimationDefaults(options.tokenEstimation);
|
|
17
|
+
const caching = withCachingDefaults(options.caching);
|
|
18
|
+
return {
|
|
19
|
+
maxTokens,
|
|
20
|
+
charsPerToken,
|
|
21
|
+
allowOverflow,
|
|
22
|
+
compaction,
|
|
23
|
+
tokenEstimation,
|
|
24
|
+
caching,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Resolves CompactionOptions with defaults.
|
|
29
|
+
*/
|
|
30
|
+
function withCompactionDefaults(maxTokens, options) {
|
|
31
|
+
const triggerFraction = options?.trigger ?? DEFAULT_COMPACTION_TRIGGER_FRACTION;
|
|
32
|
+
const targetFraction = options?.target ?? DEFAULT_COMPACTION_TARGET_FRACTION;
|
|
33
|
+
const trigger = Math.floor(triggerFraction * maxTokens);
|
|
34
|
+
const target = Math.floor(targetFraction * maxTokens);
|
|
35
|
+
const l1 = options?.budgets?.l1 ?? DEFAULT_L1_TARGET_FRACTION;
|
|
36
|
+
const l2 = options?.budgets?.l2 ?? DEFAULT_L2_TARGET_FRACTION;
|
|
37
|
+
const l3 = Math.max(1 - l1 - l2, 0);
|
|
38
|
+
const budgets = {
|
|
39
|
+
l1,
|
|
40
|
+
l2,
|
|
41
|
+
l3,
|
|
42
|
+
};
|
|
43
|
+
const prioritizedSteps = options?.prioritizedSteps ?? DEFAULT_PRIORITIZED_STEPS;
|
|
44
|
+
return {
|
|
45
|
+
trigger,
|
|
46
|
+
target,
|
|
47
|
+
budgets,
|
|
48
|
+
prioritizedSteps,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Resolves LoggingOptions with defaults.
|
|
53
|
+
* Exported for use by Context to resolve logging independently.
|
|
54
|
+
*/
|
|
55
|
+
export function withLoggingDefaults(options) {
|
|
56
|
+
return {
|
|
57
|
+
verbose: options?.verbose ?? DEFAULT_VERBOSE_LOGGING_ENABLED,
|
|
58
|
+
visualization: withVisualizationDefaults(options?.visualization),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function withVisualizationDefaults(options) {
|
|
62
|
+
return {
|
|
63
|
+
mode: options?.mode ?? DEFAULT_VISUALIZATION_MODE,
|
|
64
|
+
width: options?.width ?? DEFAULT_VISUALIZATION_WIDTH,
|
|
65
|
+
outputPath: options?.outputPath,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
function withTokenEstimationDefaults(options) {
|
|
69
|
+
return {
|
|
70
|
+
minTokensForUpdate: options?.minTokensForUpdate ?? DEFAULT_MIN_TOKENS_FOR_ESTIMATE_UPDATE,
|
|
71
|
+
minCharsPerToken: options?.minCharsPerToken ?? DEFAULT_CHARACTERS_PER_TOKEN_MIN,
|
|
72
|
+
maxCharsPerToken: options?.maxCharsPerToken ?? DEFAULT_CHARACTERS_PER_TOKEN_MAX,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function withCachingDefaults(options) {
|
|
76
|
+
return {
|
|
77
|
+
maxBreakpoints: options?.maxBreakpoints ?? PROVIDER_CACHE_MAX_BREAKPOINTS,
|
|
78
|
+
minCacheableTokens: options?.minCacheableTokens ?? PROVIDER_CACHE_MIN_CACHEABLE_TOKENS,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/options.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,8BAA8B,EAC9B,mCAAmC,GACpC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,sCAAsC,EACtC,gCAAgC,EAChC,gCAAgC,EAChC,yBAAyB,EACzB,0BAA0B,EAC1B,wCAAwC,EACxC,sBAAsB,EACtB,mCAAmC,EACnC,kCAAkC,EAClC,+BAA+B,EAC/B,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AAoBxB;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAA0B,EAAE;IAE5B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,0BAA0B,CAAC;IAClE,MAAM,aAAa,GACjB,OAAO,CAAC,aAAa,IAAI,wCAAwC,CAAC;IACpE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,sBAAsB,CAAC;IACtE,MAAM,UAAU,GAAG,sBAAsB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1E,MAAM,eAAe,GAAG,2BAA2B,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO;QACL,SAAS;QACT,aAAa;QACb,aAAa;QACb,UAAU;QACV,eAAe;QACf,OAAO;KACR,CAAC;AACJ,CAAC;AASD;;GAEG;AACH,SAAS,sBAAsB,CAC7B,SAAiB,EACjB,OAA2B;IAE3B,MAAM,eAAe,GACnB,OAAO,EAAE,OAAO,IAAI,mCAAmC,CAAC;IAC1D,MAAM,cAAc,GAAG,OAAO,EAAE,MAAM,IAAI,kCAAkC,CAAC;IAE7E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAEtD,MAAM,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,0BAA0B,CAAC;IAC9D,MAAM,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,0BAA0B,CAAC;IAC9D,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;IAEpC,MAAM,OAAO,GAAG;QACd,EAAE;QACF,EAAE;QACF,EAAE;KACH,CAAC;IAEF,MAAM,gBAAgB,GACpB,OAAO,EAAE,gBAAgB,IAAI,yBAAyB,CAAC;IAEzD,OAAO;QACL,OAAO;QACP,MAAM;QACN,OAAO;QACP,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAQD;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAwB;IAExB,OAAO;QACL,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,+BAA+B;QAC5D,aAAa,EAAE,yBAAyB,CAAC,OAAO,EAAE,aAAa,CAAC;KACjE,CAAC;AACJ,CAAC;AASD,SAAS,yBAAyB,CAChC,OAA8B;IAE9B,OAAO;QACL,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,0BAA0B;QACjD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,2BAA2B;QACpD,UAAU,EAAE,OAAO,EAAE,UAAU;KAChC,CAAC;AACJ,CAAC;AAKD,SAAS,2BAA2B,CAClC,OAAgC;IAEhC,OAAO;QACL,kBAAkB,EAChB,OAAO,EAAE,kBAAkB,IAAI,sCAAsC;QACvE,gBAAgB,EACd,OAAO,EAAE,gBAAgB,IAAI,gCAAgC;QAC/D,gBAAgB,EACd,OAAO,EAAE,gBAAgB,IAAI,gCAAgC;KAChE,CAAC;AACJ,CAAC;AAKD,SAAS,mBAAmB,CAAC,OAAwB;IACnD,OAAO;QACL,cAAc,EAAE,OAAO,EAAE,cAAc,IAAI,8BAA8B;QACzE,kBAAkB,EAChB,OAAO,EAAE,kBAAkB,IAAI,mCAAmC;KACrE,CAAC;AACJ,CAAC"}
|