@superblocksteam/vite-plugin-file-sync 2.0.42-next.9 → 2.0.43-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-service/agent/prompts/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} +130 -98
- 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 +4 -1
- 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 +10 -0
- package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/metadata.js +80 -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/metadata/database.d.ts.map +1 -1
- package/dist/ai-service/integrations/metadata/database.js +3 -29
- package/dist/ai-service/integrations/metadata/database.js.map +1 -1
- package/dist/ai-service/integrations/metadata/databricks.d.ts +25 -0
- package/dist/ai-service/integrations/metadata/databricks.d.ts.map +1 -0
- package/dist/ai-service/integrations/metadata/databricks.js +174 -0
- package/dist/ai-service/integrations/metadata/databricks.js.map +1 -0
- package/dist/ai-service/integrations/store.d.ts +34 -4
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +125 -5
- 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 +73 -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.d.ts.map +1 -1
- package/dist/ai-service/llmobs/middleware/stream-text.js +16 -11
- 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 +161 -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/build-errors.d.ts +10 -0
- package/dist/build-errors.d.ts.map +1 -0
- package/dist/build-errors.js +14 -0
- package/dist/build-errors.js.map +1 -0
- package/dist/client-error-overlay.d.ts +7 -0
- package/dist/client-error-overlay.d.ts.map +1 -0
- package/dist/client-error-overlay.js +124 -0
- package/dist/client-error-overlay.js.map +1 -0
- 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/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +37 -26
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/injected-index.d.ts.map +1 -1
- package/dist/injected-index.js +6 -1
- package/dist/injected-index.js.map +1 -1
- package/dist/routing.d.ts.map +1 -1
- package/dist/routing.js +0 -18
- package/dist/routing.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,174 @@
|
|
|
1
|
+
import { DatabaseIntegrationMetadata } from "./database.js";
|
|
2
|
+
export class DatabricksIntegrationMetadata extends DatabaseIntegrationMetadata {
|
|
3
|
+
static async refineMetadataForPrompt({ metadata, prompt, llmProvider, }) {
|
|
4
|
+
// If no prompt provided, just do structural transformation without filtering
|
|
5
|
+
if (!prompt || prompt.trim() === "") {
|
|
6
|
+
return this.transformToHierarchical(metadata);
|
|
7
|
+
}
|
|
8
|
+
// First, normalize the Databricks table names to full qualified format
|
|
9
|
+
// so the LLM filtering works correctly
|
|
10
|
+
const normalizedMetadata = this.normalizeTableNames(metadata);
|
|
11
|
+
// Apply the parent's refinement (LLM-based table filtering, etc.)
|
|
12
|
+
// This works on the flat structure with normalized names
|
|
13
|
+
const filteredMetadata = await super.refineMetadataForPrompt({
|
|
14
|
+
metadata: normalizedMetadata,
|
|
15
|
+
prompt,
|
|
16
|
+
llmProvider,
|
|
17
|
+
});
|
|
18
|
+
// Transform the filtered result into hierarchical catalog structure
|
|
19
|
+
return this.transformToHierarchical(filteredMetadata);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Normalize Databricks table names to full qualified format (catalog.schema.table)
|
|
23
|
+
* This makes them usable by the parent's LLM filtering logic
|
|
24
|
+
*/
|
|
25
|
+
static normalizeTableNames(metadata) {
|
|
26
|
+
const schema = metadata.schema || metadata.dbSchema;
|
|
27
|
+
if (!schema || !schema.tables || !Array.isArray(schema.tables)) {
|
|
28
|
+
return metadata;
|
|
29
|
+
}
|
|
30
|
+
const normalizedTables = schema.tables.map((table) => {
|
|
31
|
+
// In the current structure:
|
|
32
|
+
// - table.schema contains the CATALOG name (e.g., "instacart")
|
|
33
|
+
// - table.name contains SCHEMA.TABLE (e.g., "default.customers")
|
|
34
|
+
const catalogName = table.schema || "default";
|
|
35
|
+
const nameParts = table.name.split(".");
|
|
36
|
+
let schemaName;
|
|
37
|
+
let tableName;
|
|
38
|
+
if (nameParts.length === 2) {
|
|
39
|
+
schemaName = nameParts[0] || "default";
|
|
40
|
+
tableName = nameParts[1] || table.name;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
schemaName = "default";
|
|
44
|
+
tableName = table.name;
|
|
45
|
+
}
|
|
46
|
+
// Create the full qualified name
|
|
47
|
+
const fullName = `${catalogName}.${schemaName}.${tableName}`;
|
|
48
|
+
// Return table with normalized name for filtering
|
|
49
|
+
return {
|
|
50
|
+
...table,
|
|
51
|
+
name: fullName, // Use full qualified name for filtering
|
|
52
|
+
_originalCatalog: catalogName,
|
|
53
|
+
_originalSchema: schemaName,
|
|
54
|
+
_originalTableName: tableName,
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
return {
|
|
58
|
+
schema: {
|
|
59
|
+
tables: normalizedTables,
|
|
60
|
+
schemas: schema.schemas,
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
static transformToHierarchical(metadata) {
|
|
65
|
+
const schema = metadata.schema || metadata.dbSchema;
|
|
66
|
+
if (!schema || !schema.tables || !Array.isArray(schema.tables)) {
|
|
67
|
+
return metadata;
|
|
68
|
+
}
|
|
69
|
+
// Group tables by catalog and schema
|
|
70
|
+
const catalogMap = new Map();
|
|
71
|
+
for (const table of schema.tables) {
|
|
72
|
+
// If the table has been normalized, use the _original* fields
|
|
73
|
+
// Otherwise, parse from the existing structure
|
|
74
|
+
const catalogName = table._originalCatalog || table.schema || "default";
|
|
75
|
+
const schemaName = table._originalSchema || "default";
|
|
76
|
+
const tableName = table._originalTableName || table.name;
|
|
77
|
+
// Get or create catalog entry
|
|
78
|
+
if (!catalogMap.has(catalogName)) {
|
|
79
|
+
catalogMap.set(catalogName, new Map());
|
|
80
|
+
}
|
|
81
|
+
const schemaMap = catalogMap.get(catalogName);
|
|
82
|
+
// Get or create schema entry within catalog
|
|
83
|
+
if (!schemaMap.has(schemaName)) {
|
|
84
|
+
schemaMap.set(schemaName, []);
|
|
85
|
+
}
|
|
86
|
+
const tables = schemaMap.get(schemaName);
|
|
87
|
+
// Create the full qualified name for convenience
|
|
88
|
+
const fullName = `${catalogName}.${schemaName}.${tableName}`;
|
|
89
|
+
// Clean up the table object and remove temporary fields
|
|
90
|
+
const cleanTable = { ...table };
|
|
91
|
+
delete cleanTable._originalCatalog;
|
|
92
|
+
delete cleanTable._originalSchema;
|
|
93
|
+
delete cleanTable._originalTableName;
|
|
94
|
+
// Add table with updated structure
|
|
95
|
+
tables.push({
|
|
96
|
+
...cleanTable,
|
|
97
|
+
name: tableName, // Just the table name
|
|
98
|
+
schema: schemaName, // Just the schema name
|
|
99
|
+
catalog: catalogName, // Add catalog field
|
|
100
|
+
fullName, // Full qualified name for easy reference
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
// Build the hierarchical structure
|
|
104
|
+
const catalogs = [];
|
|
105
|
+
for (const [catalogName, schemaMap] of catalogMap.entries()) {
|
|
106
|
+
const schemas = [];
|
|
107
|
+
for (const [schemaName, tables] of schemaMap.entries()) {
|
|
108
|
+
schemas.push({
|
|
109
|
+
name: schemaName,
|
|
110
|
+
tables,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
catalogs.push({
|
|
114
|
+
name: catalogName,
|
|
115
|
+
schemas,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
schema: {
|
|
120
|
+
catalogs,
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Override to keep full qualified names without catalog-stripping normalization
|
|
126
|
+
*/
|
|
127
|
+
static async dbTablesForPrompt(dbSchema, prompt, llmProvider) {
|
|
128
|
+
const { buildDbSchemaIntentPrompt } = await import("../../prompt-builder-service/builders/dbschema-intent.js");
|
|
129
|
+
const { generateObject } = await import("ai");
|
|
130
|
+
const { z } = await import("zod");
|
|
131
|
+
const { traceLLM } = await import("../../llmobs/helpers.js");
|
|
132
|
+
const { getLogger } = await import("../../../util/logger.js");
|
|
133
|
+
const { prompt: refineSchemaPrompt } = buildDbSchemaIntentPrompt(prompt, dbSchema);
|
|
134
|
+
const model = llmProvider.modelForTask("openApiIntent");
|
|
135
|
+
const flexibleSchema = z.object({
|
|
136
|
+
tables: z
|
|
137
|
+
.array(z.string())
|
|
138
|
+
.describe("The tables that the user wants to access"),
|
|
139
|
+
});
|
|
140
|
+
const result = await traceLLM("refineDbSchema", model.modelId, model.provider, async () => {
|
|
141
|
+
return await generateObject({
|
|
142
|
+
model,
|
|
143
|
+
schema: flexibleSchema,
|
|
144
|
+
prompt: refineSchemaPrompt,
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
if (!result?.object?.tables) {
|
|
148
|
+
getLogger().warn(`No tables returned from model. Result: ${JSON.stringify(result)}`);
|
|
149
|
+
return [];
|
|
150
|
+
}
|
|
151
|
+
// For Databricks, don't normalize - keep full qualified names (catalog.schema.table)
|
|
152
|
+
const validChunkTableNames = new Set(dbSchema.tables.map((t) => t.name).filter(Boolean));
|
|
153
|
+
// Filter to only include tables that exist in this chunk
|
|
154
|
+
// Match exactly on full qualified names
|
|
155
|
+
const filteredTables = result.object.tables.filter((tableName) => {
|
|
156
|
+
return validChunkTableNames.has(tableName);
|
|
157
|
+
});
|
|
158
|
+
return filteredTables;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Override to handle matching with full qualified names
|
|
162
|
+
*/
|
|
163
|
+
static trimSchema(tables, toKeep) {
|
|
164
|
+
// For Databricks, match against full qualified names
|
|
165
|
+
const toKeepSet = new Set(toKeep);
|
|
166
|
+
const refinedTables = tables.filter((table) => {
|
|
167
|
+
// The table.name should be the full qualified name at this point
|
|
168
|
+
// (e.g., "instacart.default.customers")
|
|
169
|
+
return toKeepSet.has(table.name);
|
|
170
|
+
});
|
|
171
|
+
return refinedTables;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
//# sourceMappingURL=databricks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"databricks.js","sourceRoot":"","sources":["../../../../src/ai-service/integrations/metadata/databricks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,49 @@
|
|
|
1
|
+
import { PluginType, type Plugin, type PluginRegistry } from "@superblocksteam/shared";
|
|
1
2
|
import { IntegrationMetadata } from "./metadata/index.js";
|
|
2
3
|
import type { OpenApiSpec } from "../../util/open-api.js";
|
|
3
4
|
import type { LLMProvider } from "../llm/types.js";
|
|
4
5
|
import type { Clark, ClarkStateHandlerParams } from "../state-machine/clark-fsm.js";
|
|
5
|
-
import type { SdkIntegration } from "../types.js";
|
|
6
|
+
import type { SdkIntegration, EditorClient } from "../types.js";
|
|
6
7
|
import type { PromptContextIntegration } from "@superblocksteam/library-shared/types";
|
|
8
|
+
export type IntegrationId = string;
|
|
9
|
+
export type PluginId = string;
|
|
10
|
+
export type Integration = IntegrationHeader & {
|
|
11
|
+
metadata: IntegrationMetadataRecord;
|
|
12
|
+
};
|
|
13
|
+
export type IntegrationHeader = {
|
|
14
|
+
id: IntegrationId;
|
|
15
|
+
name: string;
|
|
16
|
+
plugin: PluginHeader;
|
|
17
|
+
};
|
|
18
|
+
export type PluginHeader = {
|
|
19
|
+
id: PluginId;
|
|
20
|
+
type: PluginType;
|
|
21
|
+
isBuiltIn: boolean;
|
|
22
|
+
basePluginId?: PluginId;
|
|
23
|
+
};
|
|
24
|
+
export type IntegrationMetadataRecord = Record<string, any> & {
|
|
25
|
+
openApiSpecRef?: string;
|
|
26
|
+
};
|
|
7
27
|
export declare class IntegrationStore {
|
|
8
28
|
private openApiSpecs;
|
|
29
|
+
private pluginRegistry;
|
|
30
|
+
private integrations;
|
|
31
|
+
private metadataCache;
|
|
32
|
+
constructor(pluginRegistry?: PluginRegistry);
|
|
33
|
+
availableIntegrations(): IntegrationHeader[];
|
|
34
|
+
getPlugin(pluginId: PluginId): Plugin | undefined;
|
|
35
|
+
insertFromPromptContext(integration: PromptContextIntegration, editorClient?: EditorClient): void;
|
|
36
|
+
getHeader(id: IntegrationId): IntegrationHeader | undefined;
|
|
37
|
+
getMetadata(id: IntegrationId, editorClient?: EditorClient): Promise<IntegrationMetadataRecord | undefined>;
|
|
38
|
+
private getIntegration;
|
|
9
39
|
getIntegrationForPromptContext(integration: PromptContextIntegration, prompt: string, clark: Clark, params: ClarkStateHandlerParams): Promise<SdkIntegration | null>;
|
|
10
|
-
getRelevantMetadata({ clark,
|
|
40
|
+
getRelevantMetadata({ clark, integrationId, prompt, llmProvider, }: {
|
|
11
41
|
clark: Clark;
|
|
12
|
-
|
|
42
|
+
integrationId: IntegrationId;
|
|
13
43
|
prompt: string;
|
|
14
44
|
llmProvider: LLMProvider;
|
|
15
45
|
}): Promise<Record<string, any>>;
|
|
16
46
|
getMetadataClassForIntegration(integration: PromptContextIntegration): typeof IntegrationMetadata;
|
|
17
|
-
getOpenApiSpec(integration:
|
|
47
|
+
getOpenApiSpec(integration: Integration, clark: Clark): Promise<OpenApiSpec | undefined>;
|
|
18
48
|
}
|
|
19
49
|
//# sourceMappingURL=store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,KAAK,MAAM,EACX,KAAK,cAAc,EACpB,MAAM,yBAAyB,CAAC;AASjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,KAAK,EACL,uBAAuB,EACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,cAAc,EAGd,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAEtF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AACnC,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG;IAC5C,QAAQ,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAaF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,aAAa,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,QAAQ,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,QAAQ,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG;IAC5D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,YAAY,CAAmC;IACvD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,aAAa,CACT;gBAEA,cAAc,GAAE,cAAyC;IAIrE,qBAAqB,IAAI,iBAAiB,EAAE;IAM5C,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAIjD,uBAAuB,CACrB,WAAW,EAAE,wBAAwB,EACrC,YAAY,CAAC,EAAE,YAAY;IA8C7B,SAAS,CAAC,EAAE,EAAE,aAAa,GAAG,iBAAiB,GAAG,SAAS;IAQrD,WAAW,CACf,EAAE,EAAE,aAAa,EACjB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;YAwBnC,cAAc;IAmBtB,8BAA8B,CAClC,WAAW,EAAE,wBAAwB,EACrC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAiC3B,mBAAmB,CAAC,EACxB,KAAK,EACL,aAAa,EACb,MAAM,EACN,WAAW,GACZ,EAAE;QACD,KAAK,EAAE,KAAK,CAAC;QACb,aAAa,EAAE,aAAa,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,WAAW,CAAC;KAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAuChC,8BAA8B,CAC5B,WAAW,EAAE,wBAAwB,GACpC,OAAO,mBAAmB;IAuBvB,cAAc,CAClB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;CAyBpC"}
|
|
@@ -32,23 +32,39 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
32
32
|
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
33
|
done = true;
|
|
34
34
|
};
|
|
35
|
+
import { getBasePluginId, PluginType, RegisteredPlugins, } from "@superblocksteam/shared";
|
|
35
36
|
import { isEmpty } from "lodash-es";
|
|
37
|
+
import { getLogger } from "../../util/logger.js";
|
|
36
38
|
import { datasourceSdkClassByType } from "../const.js";
|
|
37
39
|
import { databaseIntegrationTypes } from "../const.js";
|
|
38
40
|
import llmobs from "../llmobs/index.js";
|
|
39
41
|
import { DatabaseIntegrationMetadata } from "./metadata/database.js";
|
|
42
|
+
import { DatabricksIntegrationMetadata } from "./metadata/databricks.js";
|
|
40
43
|
import { GraphQLIntegrationMetadata } from "./metadata/graphql-based.js";
|
|
41
44
|
import { IntegrationMetadata } from "./metadata/index.js";
|
|
42
45
|
import { OpenApiIntegrationMetadata } from "./metadata/open-api.js";
|
|
43
46
|
import { TableBasedIntegrationMetadata } from "./metadata/table-based.js";
|
|
47
|
+
function toPromptContextIntegration(integration) {
|
|
48
|
+
return {
|
|
49
|
+
id: integration.id,
|
|
50
|
+
name: integration.name,
|
|
51
|
+
type: integration.plugin.id,
|
|
52
|
+
metadata: integration.metadata,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
44
55
|
let IntegrationStore = (() => {
|
|
45
56
|
let _instanceExtraInitializers = [];
|
|
57
|
+
let _getMetadata_decorators;
|
|
46
58
|
let _getIntegrationForPromptContext_decorators;
|
|
47
59
|
let _getRelevantMetadata_decorators;
|
|
48
60
|
let _getOpenApiSpec_decorators;
|
|
49
61
|
return class IntegrationStore {
|
|
50
62
|
static {
|
|
51
63
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
64
|
+
_getMetadata_decorators = [llmobs.decorate({
|
|
65
|
+
kind: "task",
|
|
66
|
+
name: "IntegrationStore.getMetadata",
|
|
67
|
+
})];
|
|
52
68
|
_getIntegrationForPromptContext_decorators = [llmobs.decorate({
|
|
53
69
|
kind: "task",
|
|
54
70
|
name: "IntegrationStore.getIntegrationForPromptContext",
|
|
@@ -61,12 +77,98 @@ let IntegrationStore = (() => {
|
|
|
61
77
|
kind: "task",
|
|
62
78
|
name: "IntegrationStore.getOpenApiSpec",
|
|
63
79
|
})];
|
|
80
|
+
__esDecorate(this, null, _getMetadata_decorators, { kind: "method", name: "getMetadata", static: false, private: false, access: { has: obj => "getMetadata" in obj, get: obj => obj.getMetadata }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
64
81
|
__esDecorate(this, null, _getIntegrationForPromptContext_decorators, { kind: "method", name: "getIntegrationForPromptContext", static: false, private: false, access: { has: obj => "getIntegrationForPromptContext" in obj, get: obj => obj.getIntegrationForPromptContext }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
65
82
|
__esDecorate(this, null, _getRelevantMetadata_decorators, { kind: "method", name: "getRelevantMetadata", static: false, private: false, access: { has: obj => "getRelevantMetadata" in obj, get: obj => obj.getRelevantMetadata }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
66
83
|
__esDecorate(this, null, _getOpenApiSpec_decorators, { kind: "method", name: "getOpenApiSpec", static: false, private: false, access: { has: obj => "getOpenApiSpec" in obj, get: obj => obj.getOpenApiSpec }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
67
84
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
68
85
|
}
|
|
69
86
|
openApiSpecs = (__runInitializers(this, _instanceExtraInitializers), {});
|
|
87
|
+
pluginRegistry;
|
|
88
|
+
integrations = [];
|
|
89
|
+
metadataCache = new Map();
|
|
90
|
+
constructor(pluginRegistry = RegisteredPlugins("foo")) {
|
|
91
|
+
this.pluginRegistry = pluginRegistry;
|
|
92
|
+
}
|
|
93
|
+
availableIntegrations() {
|
|
94
|
+
return this.integrations.filter((i) => i.plugin.type === PluginType.CODE || !i.plugin.isBuiltIn);
|
|
95
|
+
}
|
|
96
|
+
getPlugin(pluginId) {
|
|
97
|
+
return this.pluginRegistry.get(pluginId);
|
|
98
|
+
}
|
|
99
|
+
insertFromPromptContext(integration, editorClient) {
|
|
100
|
+
const pluginId = integration.type;
|
|
101
|
+
const plugin = this.pluginRegistry.get(pluginId);
|
|
102
|
+
const basePluginId = getBasePluginId(pluginId) ?? pluginId;
|
|
103
|
+
const basePlugin = this.pluginRegistry.get(basePluginId);
|
|
104
|
+
if (!plugin) {
|
|
105
|
+
// this should never happen
|
|
106
|
+
getLogger().error(`No plugin found for integration type ${integration.type}`);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const pluginHeader = {
|
|
110
|
+
id: plugin?.id,
|
|
111
|
+
type: plugin.type,
|
|
112
|
+
isBuiltIn: this.pluginRegistry
|
|
113
|
+
.defaultPlugins()
|
|
114
|
+
.map((p) => p.id)
|
|
115
|
+
.includes(pluginId),
|
|
116
|
+
basePluginId: basePlugin?.id !== pluginId ? basePlugin?.id : undefined,
|
|
117
|
+
};
|
|
118
|
+
const header = {
|
|
119
|
+
id: integration.id,
|
|
120
|
+
name: integration.name,
|
|
121
|
+
plugin: pluginHeader,
|
|
122
|
+
};
|
|
123
|
+
const existingIndex = this.integrations.findIndex((i) => i.id === header.id);
|
|
124
|
+
if (existingIndex !== -1) {
|
|
125
|
+
this.integrations[existingIndex] = header;
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
this.integrations.push(header);
|
|
129
|
+
}
|
|
130
|
+
if (editorClient) {
|
|
131
|
+
// prefetch metadata
|
|
132
|
+
this.getMetadata(integration.id, editorClient).catch((e) => {
|
|
133
|
+
getLogger().error(`Error prefetching metadata for integration ${integration.id}: ${e}`);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
getHeader(id) {
|
|
138
|
+
return this.integrations.find((i) => i.id === id);
|
|
139
|
+
}
|
|
140
|
+
async getMetadata(id, editorClient) {
|
|
141
|
+
if (!editorClient) {
|
|
142
|
+
getLogger().warn(`[integration-store] No editor client provided, cannot fetch metadata for integration ${id}. Returning cached metadata if available.`);
|
|
143
|
+
return this.metadataCache.get(id);
|
|
144
|
+
}
|
|
145
|
+
// stale-while-revalidate strategy
|
|
146
|
+
const promise = editorClient?.call
|
|
147
|
+
.aiGetIntegration({ integrationId: id })
|
|
148
|
+
.then((integration) => {
|
|
149
|
+
const existing = this.metadataCache.get(id) || {};
|
|
150
|
+
this.metadataCache.set(id, {
|
|
151
|
+
...existing,
|
|
152
|
+
...integration.metadata,
|
|
153
|
+
});
|
|
154
|
+
return this.metadataCache.get(id);
|
|
155
|
+
});
|
|
156
|
+
if (this.metadataCache.has(id)) {
|
|
157
|
+
return this.metadataCache.get(id);
|
|
158
|
+
}
|
|
159
|
+
return await promise;
|
|
160
|
+
}
|
|
161
|
+
async getIntegration(id, editorClient) {
|
|
162
|
+
const header = this.getHeader(id);
|
|
163
|
+
if (!header) {
|
|
164
|
+
return undefined;
|
|
165
|
+
}
|
|
166
|
+
const metadata = await this.getMetadata(id, editorClient);
|
|
167
|
+
return {
|
|
168
|
+
...header,
|
|
169
|
+
metadata: metadata || {},
|
|
170
|
+
};
|
|
171
|
+
}
|
|
70
172
|
async getIntegrationForPromptContext(integration, prompt, clark, params) {
|
|
71
173
|
const { name, id } = integration;
|
|
72
174
|
const type = integration.type;
|
|
@@ -79,7 +181,7 @@ let IntegrationStore = (() => {
|
|
|
79
181
|
}
|
|
80
182
|
const metadata = await this.getRelevantMetadata({
|
|
81
183
|
clark,
|
|
82
|
-
integration,
|
|
184
|
+
integrationId: integration.id,
|
|
83
185
|
prompt,
|
|
84
186
|
llmProvider: params.llmProvider,
|
|
85
187
|
});
|
|
@@ -90,18 +192,30 @@ let IntegrationStore = (() => {
|
|
|
90
192
|
metadata,
|
|
91
193
|
};
|
|
92
194
|
}
|
|
93
|
-
async getRelevantMetadata({ clark,
|
|
195
|
+
async getRelevantMetadata({ clark, integrationId, prompt, llmProvider, }) {
|
|
196
|
+
getLogger().debug(`[integration-store] Fetching metadata for integration ${integrationId}
|
|
197
|
+
`);
|
|
94
198
|
// If we're operating on an openapi integration, we need to fetch its full spec.
|
|
95
199
|
// It would be nice to push this down, but the cache lives on this instance as this.openApiSpecs
|
|
200
|
+
const integration = await this.getIntegration(integrationId, clark.context.peer);
|
|
201
|
+
if (!integration) {
|
|
202
|
+
throw new Error(`No integration found for id ${integrationId}`);
|
|
203
|
+
}
|
|
96
204
|
let metadata = integration.metadata;
|
|
97
|
-
|
|
205
|
+
const promptContextIntegration = toPromptContextIntegration(integration);
|
|
206
|
+
if (isOpenApiIntegration(promptContextIntegration)) {
|
|
98
207
|
const openApiSpec = await this.getOpenApiSpec(integration, clark);
|
|
99
208
|
metadata = {
|
|
100
|
-
...(integration.metadata || {}),
|
|
209
|
+
...(metadata ?? (integration.metadata || {})),
|
|
101
210
|
openApiSpec,
|
|
102
211
|
};
|
|
103
212
|
}
|
|
104
|
-
|
|
213
|
+
if (!metadata) {
|
|
214
|
+
// we couldn't fetch metadata for some reason, throw error
|
|
215
|
+
throw new Error(`No metadata found for integration ${integration.id}`);
|
|
216
|
+
}
|
|
217
|
+
const klass = this.getMetadataClassForIntegration(promptContextIntegration);
|
|
218
|
+
getLogger().info(`[integration-store] Using metadata class ${klass.name} for integration ${integration.id} of type ${integration.plugin.id}`);
|
|
105
219
|
return await klass.refineMetadataForPrompt({
|
|
106
220
|
metadata,
|
|
107
221
|
prompt,
|
|
@@ -112,6 +226,9 @@ let IntegrationStore = (() => {
|
|
|
112
226
|
if (isOpenApiIntegration(integration)) {
|
|
113
227
|
return OpenApiIntegrationMetadata;
|
|
114
228
|
}
|
|
229
|
+
if (isDatabricksIntegration(integration)) {
|
|
230
|
+
return DatabricksIntegrationMetadata;
|
|
231
|
+
}
|
|
115
232
|
if (isDatabaseIntegration(integration)) {
|
|
116
233
|
return DatabaseIntegrationMetadata;
|
|
117
234
|
}
|
|
@@ -155,6 +272,9 @@ function isSdkIntegration(integration) {
|
|
|
155
272
|
return (typeof integration.type === "string" &&
|
|
156
273
|
integration.type in datasourceSdkClassByType);
|
|
157
274
|
}
|
|
275
|
+
function isDatabricksIntegration(integration) {
|
|
276
|
+
return integration.type === "databricks";
|
|
277
|
+
}
|
|
158
278
|
function isDatabaseIntegration(integration) {
|
|
159
279
|
return (databaseIntegrationTypes.includes(integration.type) || integration.type === "salesforce");
|
|
160
280
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider cache configuration constants.
|
|
3
|
+
*
|
|
4
|
+
* These are the parameters for Anthropic's recent models
|
|
5
|
+
* https://docs.claude.com/en/docs/build-with-claude/prompt-caching#cache-limitations
|
|
6
|
+
*/
|
|
7
|
+
export declare const PROVIDER_CACHE_MAX_BREAKPOINTS = 4;
|
|
8
|
+
export declare const PROVIDER_CACHE_MIN_CACHEABLE_TOKENS = 1024;
|
|
9
|
+
/**
|
|
10
|
+
* Provider-specific cache control options.
|
|
11
|
+
*
|
|
12
|
+
* Different LLM providers use different formats for cache control.
|
|
13
|
+
* This maps to the appropriate format for each provider.
|
|
14
|
+
*/
|
|
15
|
+
export declare const CACHE_BREAKPOINT_PROVIDER_OPTIONS: {
|
|
16
|
+
bedrock: {
|
|
17
|
+
cachePoint: {
|
|
18
|
+
type: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
anthropic: {
|
|
22
|
+
cacheControl: {
|
|
23
|
+
type: string;
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAChD,eAAO,MAAM,mCAAmC,OAAO,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;CAI7C,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider cache configuration constants.
|
|
3
|
+
*
|
|
4
|
+
* These are the parameters for Anthropic's recent models
|
|
5
|
+
* https://docs.claude.com/en/docs/build-with-claude/prompt-caching#cache-limitations
|
|
6
|
+
*/
|
|
7
|
+
export const PROVIDER_CACHE_MAX_BREAKPOINTS = 4;
|
|
8
|
+
export const PROVIDER_CACHE_MIN_CACHEABLE_TOKENS = 1024;
|
|
9
|
+
/**
|
|
10
|
+
* Provider-specific cache control options.
|
|
11
|
+
*
|
|
12
|
+
* Different LLM providers use different formats for cache control.
|
|
13
|
+
* This maps to the appropriate format for each provider.
|
|
14
|
+
*/
|
|
15
|
+
export const CACHE_BREAKPOINT_PROVIDER_OPTIONS = {
|
|
16
|
+
bedrock: { cachePoint: { type: "default" } },
|
|
17
|
+
// Vertex provider uses anthropic key
|
|
18
|
+
anthropic: { cacheControl: { type: "ephemeral" } },
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAChD,MAAM,CAAC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AAExD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAC5C,qCAAqC;IACrC,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;CACnD,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory for creating cache strategy instances.
|
|
3
|
+
*/
|
|
4
|
+
import type { CacheStrategy } from "./strategy.js";
|
|
5
|
+
import type { CacheStrategyType } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Factory for creating cache strategy instances.
|
|
8
|
+
*/
|
|
9
|
+
export declare class CacheStrategyFactory {
|
|
10
|
+
static create(type?: CacheStrategyType): CacheStrategy;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,MAAM,CACX,IAAI,GAAE,iBAA0C,GAC/C,aAAa;CASjB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Factory for creating cache strategy instances.
|
|
3
|
+
*/
|
|
4
|
+
import { QuantizedIntervalCacheStrategy } from "./quantized-strategy.js";
|
|
5
|
+
import { DEFAULT_CACHE_STRATEGY } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Factory for creating cache strategy instances.
|
|
8
|
+
*/
|
|
9
|
+
export class CacheStrategyFactory {
|
|
10
|
+
static create(type = DEFAULT_CACHE_STRATEGY) {
|
|
11
|
+
switch (type) {
|
|
12
|
+
case "none":
|
|
13
|
+
return new NoOpCacheStrategy();
|
|
14
|
+
case "quantized":
|
|
15
|
+
default:
|
|
16
|
+
return new QuantizedIntervalCacheStrategy();
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* No-op cache strategy (disables caching).
|
|
22
|
+
*/
|
|
23
|
+
class NoOpCacheStrategy {
|
|
24
|
+
findBreakpoints() {
|
|
25
|
+
return [];
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAIpD;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B,MAAM,CAAC,MAAM,CACX,OAA0B,sBAAsB;QAEhD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM;gBACT,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACjC,KAAK,WAAW,CAAC;YACjB;gBACE,OAAO,IAAI,8BAA8B,EAAE,CAAC;QAChD,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,iBAAiB;IACrB,eAAe;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API exports for caching module.
|
|
3
|
+
*/
|
|
4
|
+
export type { CacheInput, TokenCounts, CacheStrategyType } from "./types.js";
|
|
5
|
+
export { DEFAULT_CACHE_STRATEGY } from "./types.js";
|
|
6
|
+
export { type CacheStrategy } from "./strategy.js";
|
|
7
|
+
export { QuantizedIntervalCacheStrategy } from "./quantized-strategy.js";
|
|
8
|
+
export { CacheStrategyFactory } from "./factory.js";
|
|
9
|
+
export { CACHE_BREAKPOINT_PROVIDER_OPTIONS, PROVIDER_CACHE_MAX_BREAKPOINTS, PROVIDER_CACHE_MIN_CACHEABLE_TOKENS, } from "./constants.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,mCAAmC,GACpC,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public API exports for caching module.
|
|
3
|
+
*/
|
|
4
|
+
export { DEFAULT_CACHE_STRATEGY } from "./types.js";
|
|
5
|
+
export {} from "./strategy.js";
|
|
6
|
+
export { QuantizedIntervalCacheStrategy } from "./quantized-strategy.js";
|
|
7
|
+
export { CacheStrategyFactory } from "./factory.js";
|
|
8
|
+
export { CACHE_BREAKPOINT_PROVIDER_OPTIONS, PROVIDER_CACHE_MAX_BREAKPOINTS, PROVIDER_CACHE_MIN_CACHEABLE_TOKENS, } from "./constants.js";
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/caching/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAsB,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,mCAAmC,GACpC,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quantized interval cache strategy implementation.
|
|
3
|
+
*
|
|
4
|
+
* Places cache breakpoints at regular intervals to maximize cache hits
|
|
5
|
+
* while respecting provider limits.
|
|
6
|
+
*/
|
|
7
|
+
import type { CacheStrategy } from "./strategy.js";
|
|
8
|
+
import type { CacheInput } from "./types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Quantized interval cache strategy.
|
|
11
|
+
*
|
|
12
|
+
* Finds optimal positions for cache breakpoints in message array.
|
|
13
|
+
*
|
|
14
|
+
* Strategy:
|
|
15
|
+
* - Always place breakpoint at system prompt (index 0) if present
|
|
16
|
+
* - Divide total tokens into intervals of minCacheableTokens
|
|
17
|
+
* - Space breakpoints evenly across intervals, respecting maxBreakpoints
|
|
18
|
+
*/
|
|
19
|
+
export declare class QuantizedIntervalCacheStrategy implements CacheStrategy {
|
|
20
|
+
findBreakpoints(input: CacheInput): number[];
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=quantized-strategy.d.ts.map
|