@superblocksteam/vite-plugin-file-sync 2.0.42-next.5 → 2.0.42-next.50
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,119 @@
|
|
|
1
|
+
import { type AccessControlRule, PermissionLevel } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Access control utilities and common patterns.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Block tools by name pattern.
|
|
7
|
+
*
|
|
8
|
+
* @param pattern - String or regex pattern to match tool names
|
|
9
|
+
* @returns Access control rule that blocks matching tools
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* registry.addAccessRule(blockTools(/^delete-/));
|
|
13
|
+
* registry.addAccessRule(blockTools("drop-database"));
|
|
14
|
+
*/
|
|
15
|
+
export declare function blockTools(pattern: string | RegExp | (string | RegExp)[]): AccessControlRule;
|
|
16
|
+
/**
|
|
17
|
+
* Require prompt for tools by name pattern.
|
|
18
|
+
*
|
|
19
|
+
* @param pattern - String or regex pattern to match tool names
|
|
20
|
+
* @returns Access control rule that prompts for matching tools
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* registry.addAccessRule(promptForTools(/^delete-/));
|
|
24
|
+
* registry.addAccessRule(promptForTools(["delete-file", "drop-table"]));
|
|
25
|
+
*/
|
|
26
|
+
export declare function promptForTools(pattern: string | RegExp | (string | RegExp)[]): AccessControlRule;
|
|
27
|
+
/**
|
|
28
|
+
* Require specific user role.
|
|
29
|
+
*
|
|
30
|
+
* @param allowedRoles - Role or array of roles allowed to execute
|
|
31
|
+
* @param permission - Permission level to return if role doesn't match
|
|
32
|
+
* @returns Access control rule that checks user role
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* registry.addAccessRule(requireRole("admin", PermissionLevel.BLOCK));
|
|
36
|
+
* registry.addAccessRule(requireRole(["admin", "editor"], PermissionLevel.PROMPT));
|
|
37
|
+
*/
|
|
38
|
+
export declare function requireRole(allowedRoles: string | string[], permission?: PermissionLevel): AccessControlRule;
|
|
39
|
+
/**
|
|
40
|
+
* Combine multiple rules with AND logic (most restrictive wins).
|
|
41
|
+
*
|
|
42
|
+
* @param rules - Array of rules to combine
|
|
43
|
+
* @returns Access control rule that evaluates all rules
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* const rule = combineRules([
|
|
47
|
+
* requireRole("admin"),
|
|
48
|
+
* blockTools(/^delete-/)
|
|
49
|
+
* ]);
|
|
50
|
+
*/
|
|
51
|
+
export declare function combineRules(rules: AccessControlRule[]): AccessControlRule;
|
|
52
|
+
/**
|
|
53
|
+
* Create a rule that only applies to specific tools.
|
|
54
|
+
*
|
|
55
|
+
* @param toolNames - Tool name or array of tool names
|
|
56
|
+
* @param rule - Rule to apply to those tools
|
|
57
|
+
* @returns Access control rule that conditionally applies
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* const rule = forTools(["delete-file", "delete-api"], requireRole("admin"));
|
|
61
|
+
*/
|
|
62
|
+
export declare function forTools(toolNames: string | string[], rule: AccessControlRule): AccessControlRule;
|
|
63
|
+
/**
|
|
64
|
+
* Create a rule based on tool category.
|
|
65
|
+
*
|
|
66
|
+
* Requires ToolRegistry to be passed in to look up metadata.
|
|
67
|
+
*
|
|
68
|
+
* @param category - Category name to match
|
|
69
|
+
* @param permission - Permission level to return for matching category
|
|
70
|
+
* @returns Access control rule that checks tool category
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* const rule = forCategory("filesystem", PermissionLevel.PROMPT);
|
|
74
|
+
*/
|
|
75
|
+
export declare function forCategory(category: string, permission: PermissionLevel): AccessControlRule;
|
|
76
|
+
/**
|
|
77
|
+
* Filter tools by AI mode and plan approval status.
|
|
78
|
+
*
|
|
79
|
+
* Returns an access control rule that blocks tools based on mode and plan approval:
|
|
80
|
+
* - BUILD mode: All tools available (ignores userApprovedPlan)
|
|
81
|
+
* - PLAN mode with approved plan (userApprovedPlan === true): All tools available
|
|
82
|
+
* - PLAN mode without approved plan: Only readonly tools available
|
|
83
|
+
*
|
|
84
|
+
* @returns Access control rule
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* registry.addAccessRule(modeFilter());
|
|
88
|
+
* // Then pass mode and userApprovedPlan in context:
|
|
89
|
+
* registry.execute("tool-name", input, { mode: AiMode.PLAN, userApprovedPlan: true });
|
|
90
|
+
*/
|
|
91
|
+
export declare function modeFilter(): AccessControlRule;
|
|
92
|
+
/**
|
|
93
|
+
* Common access control presets.
|
|
94
|
+
*/
|
|
95
|
+
export declare const presets: {
|
|
96
|
+
/**
|
|
97
|
+
* Development mode: Allow everything.
|
|
98
|
+
*/
|
|
99
|
+
development: () => AccessControlRule[];
|
|
100
|
+
/**
|
|
101
|
+
* Production mode: Prompt for destructive operations.
|
|
102
|
+
*/
|
|
103
|
+
production: () => AccessControlRule[];
|
|
104
|
+
/**
|
|
105
|
+
* Restricted mode: Block destructive operations entirely.
|
|
106
|
+
*/
|
|
107
|
+
restricted: () => AccessControlRule[];
|
|
108
|
+
/**
|
|
109
|
+
* Guest mode: Read-only access.
|
|
110
|
+
*/
|
|
111
|
+
guest: () => AccessControlRule[];
|
|
112
|
+
/**
|
|
113
|
+
* AI mode filters: Filter tools based on AI mode (BUILD, PLAN, or undefined).
|
|
114
|
+
* When mode is undefined, it defaults to BUILD mode.
|
|
115
|
+
* Pass mode in context when executing: { mode: AiMode.PLAN }
|
|
116
|
+
*/
|
|
117
|
+
aiMode: () => AccessControlRule[];
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=access-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/access-control.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAErE;;GAEG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAC/B,UAAU,GAAE,eAAuC,GAClD,iBAAiB,CAWnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAiB1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CASnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,eAAe,GAC1B,iBAAiB,CAUnB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,IAAI,iBAAiB,CAmB9C;AAED;;GAEG;AACH,eAAO,MAAM,OAAO;IAClB;;OAEG;uBACc,iBAAiB,EAAE;IAEpC;;OAEG;sBACa,iBAAiB,EAAE;IASnC;;OAEG;sBACa,iBAAiB,EAAE;IAInC;;OAEG;iBACQ,iBAAiB,EAAE;IAI9B;;;;OAIG;kBACS,iBAAiB,EAAE;CAChC,CAAC"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { AiMode } from "@superblocksteam/library-shared/types";
|
|
2
|
+
import { PermissionLevel } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Access control utilities and common patterns.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Block tools by name pattern.
|
|
8
|
+
*
|
|
9
|
+
* @param pattern - String or regex pattern to match tool names
|
|
10
|
+
* @returns Access control rule that blocks matching tools
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* registry.addAccessRule(blockTools(/^delete-/));
|
|
14
|
+
* registry.addAccessRule(blockTools("drop-database"));
|
|
15
|
+
*/
|
|
16
|
+
export function blockTools(pattern) {
|
|
17
|
+
const patterns = Array.isArray(pattern) ? pattern : [pattern];
|
|
18
|
+
return (toolName) => {
|
|
19
|
+
for (const p of patterns) {
|
|
20
|
+
if (typeof p === "string" && toolName === p) {
|
|
21
|
+
return PermissionLevel.BLOCK;
|
|
22
|
+
}
|
|
23
|
+
if (p instanceof RegExp && p.test(toolName)) {
|
|
24
|
+
return PermissionLevel.BLOCK;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return PermissionLevel.ALLOW;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Require prompt for tools by name pattern.
|
|
32
|
+
*
|
|
33
|
+
* @param pattern - String or regex pattern to match tool names
|
|
34
|
+
* @returns Access control rule that prompts for matching tools
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* registry.addAccessRule(promptForTools(/^delete-/));
|
|
38
|
+
* registry.addAccessRule(promptForTools(["delete-file", "drop-table"]));
|
|
39
|
+
*/
|
|
40
|
+
export function promptForTools(pattern) {
|
|
41
|
+
const patterns = Array.isArray(pattern) ? pattern : [pattern];
|
|
42
|
+
return (toolName) => {
|
|
43
|
+
for (const p of patterns) {
|
|
44
|
+
if (typeof p === "string" && toolName === p) {
|
|
45
|
+
return PermissionLevel.PROMPT;
|
|
46
|
+
}
|
|
47
|
+
if (p instanceof RegExp && p.test(toolName)) {
|
|
48
|
+
return PermissionLevel.PROMPT;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return PermissionLevel.ALLOW;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Require specific user role.
|
|
56
|
+
*
|
|
57
|
+
* @param allowedRoles - Role or array of roles allowed to execute
|
|
58
|
+
* @param permission - Permission level to return if role doesn't match
|
|
59
|
+
* @returns Access control rule that checks user role
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* registry.addAccessRule(requireRole("admin", PermissionLevel.BLOCK));
|
|
63
|
+
* registry.addAccessRule(requireRole(["admin", "editor"], PermissionLevel.PROMPT));
|
|
64
|
+
*/
|
|
65
|
+
export function requireRole(allowedRoles, permission = PermissionLevel.BLOCK) {
|
|
66
|
+
const roles = Array.isArray(allowedRoles) ? allowedRoles : [allowedRoles];
|
|
67
|
+
return (_toolName, context) => {
|
|
68
|
+
if (!context.userRole) {
|
|
69
|
+
return permission;
|
|
70
|
+
}
|
|
71
|
+
return roles.includes(context.userRole)
|
|
72
|
+
? PermissionLevel.ALLOW
|
|
73
|
+
: permission;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Combine multiple rules with AND logic (most restrictive wins).
|
|
78
|
+
*
|
|
79
|
+
* @param rules - Array of rules to combine
|
|
80
|
+
* @returns Access control rule that evaluates all rules
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* const rule = combineRules([
|
|
84
|
+
* requireRole("admin"),
|
|
85
|
+
* blockTools(/^delete-/)
|
|
86
|
+
* ]);
|
|
87
|
+
*/
|
|
88
|
+
export function combineRules(rules) {
|
|
89
|
+
return async (toolName, context) => {
|
|
90
|
+
let permission = PermissionLevel.ALLOW;
|
|
91
|
+
for (const rule of rules) {
|
|
92
|
+
const result = await rule(toolName, context);
|
|
93
|
+
if (result === PermissionLevel.BLOCK) {
|
|
94
|
+
return PermissionLevel.BLOCK;
|
|
95
|
+
}
|
|
96
|
+
if (result === PermissionLevel.PROMPT) {
|
|
97
|
+
permission = PermissionLevel.PROMPT;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return permission;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Create a rule that only applies to specific tools.
|
|
105
|
+
*
|
|
106
|
+
* @param toolNames - Tool name or array of tool names
|
|
107
|
+
* @param rule - Rule to apply to those tools
|
|
108
|
+
* @returns Access control rule that conditionally applies
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* const rule = forTools(["delete-file", "delete-api"], requireRole("admin"));
|
|
112
|
+
*/
|
|
113
|
+
export function forTools(toolNames, rule) {
|
|
114
|
+
const names = Array.isArray(toolNames) ? toolNames : [toolNames];
|
|
115
|
+
return async (toolName, context) => {
|
|
116
|
+
if (names.includes(toolName)) {
|
|
117
|
+
return rule(toolName, context);
|
|
118
|
+
}
|
|
119
|
+
return PermissionLevel.ALLOW;
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Create a rule based on tool category.
|
|
124
|
+
*
|
|
125
|
+
* Requires ToolRegistry to be passed in to look up metadata.
|
|
126
|
+
*
|
|
127
|
+
* @param category - Category name to match
|
|
128
|
+
* @param permission - Permission level to return for matching category
|
|
129
|
+
* @returns Access control rule that checks tool category
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* const rule = forCategory("filesystem", PermissionLevel.PROMPT);
|
|
133
|
+
*/
|
|
134
|
+
export function forCategory(category, permission) {
|
|
135
|
+
return (_toolName, context) => {
|
|
136
|
+
// Note: This requires metadata to be available in context
|
|
137
|
+
// You might need to pass registry or metadata differently
|
|
138
|
+
const toolCategory = context._toolCategory;
|
|
139
|
+
if (toolCategory === category) {
|
|
140
|
+
return permission;
|
|
141
|
+
}
|
|
142
|
+
return PermissionLevel.ALLOW;
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Filter tools by AI mode and plan approval status.
|
|
147
|
+
*
|
|
148
|
+
* Returns an access control rule that blocks tools based on mode and plan approval:
|
|
149
|
+
* - BUILD mode: All tools available (ignores userApprovedPlan)
|
|
150
|
+
* - PLAN mode with approved plan (userApprovedPlan === true): All tools available
|
|
151
|
+
* - PLAN mode without approved plan: Only readonly tools available
|
|
152
|
+
*
|
|
153
|
+
* @returns Access control rule
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* registry.addAccessRule(modeFilter());
|
|
157
|
+
* // Then pass mode and userApprovedPlan in context:
|
|
158
|
+
* registry.execute("tool-name", input, { mode: AiMode.PLAN, userApprovedPlan: true });
|
|
159
|
+
*/
|
|
160
|
+
export function modeFilter() {
|
|
161
|
+
return (_toolName, context, _category, readOnly) => {
|
|
162
|
+
// In BUILD mode (or undefined), allow all tools
|
|
163
|
+
if (context.mode === AiMode.BUILD || context.mode === undefined) {
|
|
164
|
+
return PermissionLevel.ALLOW;
|
|
165
|
+
}
|
|
166
|
+
// In PLAN mode:
|
|
167
|
+
// - If user approved plan: allow all tools
|
|
168
|
+
// - Otherwise: only allow readonly tools
|
|
169
|
+
if (context.mode === AiMode.PLAN) {
|
|
170
|
+
if (context.userApprovedPlan === true) {
|
|
171
|
+
return PermissionLevel.ALLOW; // Plan approved - all tools available
|
|
172
|
+
}
|
|
173
|
+
return readOnly ? PermissionLevel.ALLOW : PermissionLevel.BLOCK;
|
|
174
|
+
}
|
|
175
|
+
return PermissionLevel.ALLOW;
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Common access control presets.
|
|
180
|
+
*/
|
|
181
|
+
export const presets = {
|
|
182
|
+
/**
|
|
183
|
+
* Development mode: Allow everything.
|
|
184
|
+
*/
|
|
185
|
+
development: () => [],
|
|
186
|
+
/**
|
|
187
|
+
* Production mode: Prompt for destructive operations.
|
|
188
|
+
*/
|
|
189
|
+
production: () => [
|
|
190
|
+
promptForTools([
|
|
191
|
+
/^delete-/,
|
|
192
|
+
/^drop-/,
|
|
193
|
+
/^remove-/,
|
|
194
|
+
"bash", // Prompt for bash commands
|
|
195
|
+
]),
|
|
196
|
+
],
|
|
197
|
+
/**
|
|
198
|
+
* Restricted mode: Block destructive operations entirely.
|
|
199
|
+
*/
|
|
200
|
+
restricted: () => [
|
|
201
|
+
blockTools([/^delete-/, /^drop-/, /^remove-/, "bash"]),
|
|
202
|
+
],
|
|
203
|
+
/**
|
|
204
|
+
* Guest mode: Read-only access.
|
|
205
|
+
*/
|
|
206
|
+
guest: () => [
|
|
207
|
+
blockTools([/^write-/, /^edit-/, /^delete-/, /^create-/, "bash"]),
|
|
208
|
+
],
|
|
209
|
+
/**
|
|
210
|
+
* AI mode filters: Filter tools based on AI mode (BUILD, PLAN, or undefined).
|
|
211
|
+
* When mode is undefined, it defaults to BUILD mode.
|
|
212
|
+
* Pass mode in context when executing: { mode: AiMode.PLAN }
|
|
213
|
+
*/
|
|
214
|
+
aiMode: () => [modeFilter()],
|
|
215
|
+
};
|
|
216
|
+
//# sourceMappingURL=access-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-control.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/access-control.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Example usage of the Tool Registry system.
|
|
3
|
+
*
|
|
4
|
+
* This file demonstrates:
|
|
5
|
+
* - Creating tool factories
|
|
6
|
+
* - Registering tools
|
|
7
|
+
* - Setting up access control
|
|
8
|
+
* - Executing tools with permissions
|
|
9
|
+
*/
|
|
10
|
+
import { ToolRegistry } from "./index.js";
|
|
11
|
+
export declare function setupExampleRegistry(): ToolRegistry;
|
|
12
|
+
export declare function exampleUsage(): Promise<void>;
|
|
13
|
+
//# sourceMappingURL=example.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/example.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EACL,YAAY,EAMb,MAAM,YAAY,CAAC;AAkFpB,wBAAgB,oBAAoB,iBA+CnC;AAMD,wBAAsB,YAAY,kBAuCjC"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Example usage of the Tool Registry system.
|
|
3
|
+
*
|
|
4
|
+
* This file demonstrates:
|
|
5
|
+
* - Creating tool factories
|
|
6
|
+
* - Registering tools
|
|
7
|
+
* - Setting up access control
|
|
8
|
+
* - Executing tools with permissions
|
|
9
|
+
*/
|
|
10
|
+
import { z } from "zod";
|
|
11
|
+
import { ToolRegistry, PermissionLevel, promptForTools, requireRole, createToolFactory, ToolCategory, } from "./index.js";
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// Example Tool: Add Event
|
|
14
|
+
// ============================================================================
|
|
15
|
+
const addEventToolFactory = createToolFactory("add-event", (_clark, _services, _queue) => {
|
|
16
|
+
// This would typically import from your existing tool
|
|
17
|
+
const PayloadSchema = z
|
|
18
|
+
.record(z.string(), z.enum(["string", "number", "boolean"]))
|
|
19
|
+
.optional();
|
|
20
|
+
return {
|
|
21
|
+
description: "Add a new event to the scope",
|
|
22
|
+
category: ToolCategory.COMPONENT,
|
|
23
|
+
defaultPermission: PermissionLevel.ALLOW,
|
|
24
|
+
inputSchema: z.object({
|
|
25
|
+
pageScopeId: z.string(),
|
|
26
|
+
entityName: z.string(),
|
|
27
|
+
payload: PayloadSchema,
|
|
28
|
+
}),
|
|
29
|
+
execute: async (input) => {
|
|
30
|
+
// Implementation here
|
|
31
|
+
console.log("Adding event:", input);
|
|
32
|
+
return {
|
|
33
|
+
success: true,
|
|
34
|
+
message: `Event ${input.entityName} added`,
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
});
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// Example Tool: Delete File (Destructive)
|
|
41
|
+
// ============================================================================
|
|
42
|
+
const deleteFileToolFactory = createToolFactory("delete-file", (_fileSystem) => ({
|
|
43
|
+
description: "Delete a file from the project",
|
|
44
|
+
category: ToolCategory.FILE,
|
|
45
|
+
defaultPermission: PermissionLevel.PROMPT, // Requires confirmation
|
|
46
|
+
inputSchema: z.object({
|
|
47
|
+
path: z.string(),
|
|
48
|
+
}),
|
|
49
|
+
execute: async (input) => {
|
|
50
|
+
// Implementation here
|
|
51
|
+
console.log("Deleting file:", input.path);
|
|
52
|
+
return {
|
|
53
|
+
success: true,
|
|
54
|
+
message: `File ${input.path} deleted`,
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
}));
|
|
58
|
+
// ============================================================================
|
|
59
|
+
// Example Tool: Read File (Safe)
|
|
60
|
+
// ============================================================================
|
|
61
|
+
const readFileToolFactory = createToolFactory("read-file", (_fileSystem) => ({
|
|
62
|
+
description: "Read a file from the project",
|
|
63
|
+
category: ToolCategory.FILE,
|
|
64
|
+
defaultPermission: PermissionLevel.ALLOW,
|
|
65
|
+
inputSchema: z.object({
|
|
66
|
+
path: z.string(),
|
|
67
|
+
}),
|
|
68
|
+
execute: async (input) => {
|
|
69
|
+
console.log("Reading file:", input.path);
|
|
70
|
+
return {
|
|
71
|
+
content: "file contents here",
|
|
72
|
+
};
|
|
73
|
+
},
|
|
74
|
+
}));
|
|
75
|
+
// ============================================================================
|
|
76
|
+
// Setup Example
|
|
77
|
+
// ============================================================================
|
|
78
|
+
export function setupExampleRegistry() {
|
|
79
|
+
const registry = new ToolRegistry();
|
|
80
|
+
// 1. Register all tools
|
|
81
|
+
registry.registerAll([
|
|
82
|
+
addEventToolFactory,
|
|
83
|
+
deleteFileToolFactory,
|
|
84
|
+
readFileToolFactory,
|
|
85
|
+
]);
|
|
86
|
+
// 2. Setup access control rules
|
|
87
|
+
// Rules are evaluated in order, most restrictive wins
|
|
88
|
+
// Block tools for guest users
|
|
89
|
+
registry.addAccessRule(requireRole(["admin", "editor"], PermissionLevel.BLOCK));
|
|
90
|
+
// Prompt for destructive operations
|
|
91
|
+
registry.addAccessRule(promptForTools(/^delete-/));
|
|
92
|
+
// Or use a preset
|
|
93
|
+
// registry.addAccessRule(...presets.production());
|
|
94
|
+
// 3. Setup prompt handler
|
|
95
|
+
registry.setPromptHandler(async (toolName, input, context) => {
|
|
96
|
+
console.log(`\n=== User Confirmation Required ===`);
|
|
97
|
+
console.log(`Tool: ${toolName}`);
|
|
98
|
+
console.log(`Input:`, input);
|
|
99
|
+
console.log(`User: ${context.userId} (${context.userRole})`);
|
|
100
|
+
console.log(`===================================\n`);
|
|
101
|
+
// In real implementation, show dialog and wait for user response
|
|
102
|
+
// For example: return await showConfirmDialog({ toolName, input });
|
|
103
|
+
return true; // Mock: auto-approve for demo
|
|
104
|
+
});
|
|
105
|
+
// 4. Instantiate tools with dependencies
|
|
106
|
+
const mockDeps = {
|
|
107
|
+
clark: {},
|
|
108
|
+
services: {},
|
|
109
|
+
queue: {},
|
|
110
|
+
fileSystem: {},
|
|
111
|
+
};
|
|
112
|
+
registry.instantiate(mockDeps);
|
|
113
|
+
return registry;
|
|
114
|
+
}
|
|
115
|
+
// ============================================================================
|
|
116
|
+
// Usage Example
|
|
117
|
+
// ============================================================================
|
|
118
|
+
export async function exampleUsage() {
|
|
119
|
+
const registry = setupExampleRegistry();
|
|
120
|
+
// Example 1: Execute allowed tool
|
|
121
|
+
console.log("\n--- Example 1: Allowed tool ---");
|
|
122
|
+
const result1 = await registry.execute("read-file", { path: "/src/app.ts" }, { userId: "user-123", userRole: "admin" });
|
|
123
|
+
console.log("Result:", result1);
|
|
124
|
+
// Example 2: Execute tool requiring confirmation
|
|
125
|
+
console.log("\n--- Example 2: Tool requiring confirmation ---");
|
|
126
|
+
const result2 = await registry.execute("delete-file", { path: "/src/temp.ts" }, { userId: "user-123", userRole: "admin" });
|
|
127
|
+
console.log("Result:", result2);
|
|
128
|
+
// Example 3: Blocked tool (guest user)
|
|
129
|
+
console.log("\n--- Example 3: Blocked tool ---");
|
|
130
|
+
const result3 = await registry.execute("delete-file", { path: "/src/important.ts" }, { userId: "guest-456", userRole: "guest" });
|
|
131
|
+
console.log("Result:", result3);
|
|
132
|
+
// Example 4: Get all tools for AI SDK
|
|
133
|
+
console.log("\n--- Example 4: Get tools for AI SDK ---");
|
|
134
|
+
const tools = registry.getToolsRecord();
|
|
135
|
+
console.log("Available tools:", Object.keys(tools));
|
|
136
|
+
// Example 5: Get tool metadata
|
|
137
|
+
console.log("\n--- Example 5: Tool metadata ---");
|
|
138
|
+
const metadata = registry.getToolMetadata();
|
|
139
|
+
console.log("Tool metadata:", metadata);
|
|
140
|
+
}
|
|
141
|
+
// Uncomment to run examples:
|
|
142
|
+
// exampleUsage();
|
|
143
|
+
//# sourceMappingURL=example.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/example.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registry System
|
|
3
|
+
*
|
|
4
|
+
* Provides a centralized registry for tools with:
|
|
5
|
+
* - Factory-based registration and instantiation
|
|
6
|
+
* - Access control middleware
|
|
7
|
+
* - User prompt handling
|
|
8
|
+
* - Type-safe tool definitions
|
|
9
|
+
*/
|
|
10
|
+
export type { Tool, ToolFactory, ToolExecutionResult, AccessControlContext, AccessControlRule, PromptHandler, } from "./types.js";
|
|
11
|
+
export { PermissionLevel, ToolCategory, createToolFactory } from "./types.js";
|
|
12
|
+
export { ToolRegistry } from "./registry.js";
|
|
13
|
+
export { blockTools, promptForTools, requireRole, combineRules, forTools, forCategory, presets, } from "./access-control.js";
|
|
14
|
+
import { ToolRegistry } from "./registry.js";
|
|
15
|
+
export declare const defaultRegistry: ToolRegistry;
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,YAAY,EACV,IAAI,EACJ,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EACL,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,GACR,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,eAAO,MAAM,eAAe,cAAqB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registry System
|
|
3
|
+
*
|
|
4
|
+
* Provides a centralized registry for tools with:
|
|
5
|
+
* - Factory-based registration and instantiation
|
|
6
|
+
* - Access control middleware
|
|
7
|
+
* - User prompt handling
|
|
8
|
+
* - Type-safe tool definitions
|
|
9
|
+
*/
|
|
10
|
+
export { PermissionLevel, ToolCategory, createToolFactory } from "./types.js";
|
|
11
|
+
// Export registry
|
|
12
|
+
export { ToolRegistry } from "./registry.js";
|
|
13
|
+
// Export access control utilities
|
|
14
|
+
export { blockTools, promptForTools, requireRole, combineRules, forTools, forCategory, presets, } from "./access-control.js";
|
|
15
|
+
// Export singleton instance for convenience
|
|
16
|
+
import { ToolRegistry } from "./registry.js";
|
|
17
|
+
export const defaultRegistry = new ToolRegistry();
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE9E,kBAAkB;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,kCAAkC;AAClC,OAAO,EACL,UAAU,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,GACR,MAAM,qBAAqB,CAAC;AAE7B,4CAA4C;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,YAAY,EAAE,CAAC"}
|