@superblocksteam/vite-plugin-file-sync 2.0.76 → 2.0.77-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-service/agent/middleware.d.ts +14 -0
- package/dist/ai-service/agent/middleware.d.ts.map +1 -1
- package/dist/ai-service/agent/middleware.js +45 -0
- package/dist/ai-service/agent/middleware.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +66 -5
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/apis/static-analysis.js +11 -5
- package/dist/ai-service/agent/subagents/apis/static-analysis.js.map +1 -1
- package/dist/ai-service/agent/subagents/testing/prompt-builder.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/testing/prompt-builder.js +15 -0
- package/dist/ai-service/agent/subagents/testing/prompt-builder.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +3 -0
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api-artifact.js +12 -3
- package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.js +6 -0
- package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-api-docs.js +99 -3
- package/dist/ai-service/agent/tools/apis/get-api-docs.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/integration-types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/integration-types.js +85 -23
- package/dist/ai-service/agent/tools/apis/integration-types.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/test-api.js +26 -45
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/write-api.d.ts +2 -2
- package/dist/ai-service/agent/tools/apis/write-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/write-api.js +8 -2
- package/dist/ai-service/agent/tools/apis/write-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-capture-screenshot.js +3 -0
- package/dist/ai-service/agent/tools/build-capture-screenshot.js.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.js +58 -6
- package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-delete-file.js +27 -196
- package/dist/ai-service/agent/tools/build-delete-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-edit-file.js +12 -22
- package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-finalize.js +3 -0
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/build-install-packages.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-install-packages.js +15 -0
- package/dist/ai-service/agent/tools/build-install-packages.js.map +1 -1
- package/dist/ai-service/agent/tools/build-list-files.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-list-files.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-list-files.js +6 -14
- package/dist/ai-service/agent/tools/build-list-files.js.map +1 -1
- 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 -0
- 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 -2
- 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 +8 -25
- package/dist/ai-service/agent/tools/build-multi-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.d.ts +10 -4
- package/dist/ai-service/agent/tools/build-read-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-read-file.js +75 -77
- package/dist/ai-service/agent/tools/build-read-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-reload-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-reload-file.js +5 -0
- package/dist/ai-service/agent/tools/build-reload-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-rename-file.d.ts +1 -1
- package/dist/ai-service/agent/tools/build-rename-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-rename-file.js +3 -50
- package/dist/ai-service/agent/tools/build-rename-file.js.map +1 -1
- 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 -0
- 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 -2
- package/dist/ai-service/agent/tools/build-write-file.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-write-file.js +7 -17
- package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
- package/dist/ai-service/agent/tools/clear-error-cache.d.ts +10 -0
- package/dist/ai-service/agent/tools/clear-error-cache.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/clear-error-cache.js +38 -0
- package/dist/ai-service/agent/tools/clear-error-cache.js.map +1 -0
- package/dist/ai-service/agent/tools/get-console-logs.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/get-console-logs.js +6 -0
- package/dist/ai-service/agent/tools/get-console-logs.js.map +1 -1
- package/dist/ai-service/agent/tools/get-runtime-errors.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/get-runtime-errors.js +4 -0
- package/dist/ai-service/agent/tools/get-runtime-errors.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +1 -0
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +1 -0
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.js +56 -9
- package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/metadata.js +10 -1
- package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/run-code.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/run-code.js +9 -0
- package/dist/ai-service/agent/tools/integrations/run-code.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +29 -6
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts +15 -0
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +30 -0
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +11 -1
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/edit.d.ts +4 -1
- package/dist/ai-service/agent/tools2/tools/edit.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/edit.js +10 -8
- package/dist/ai-service/agent/tools2/tools/edit.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/end-test-run.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/end-test-run.js +5 -0
- package/dist/ai-service/agent/tools2/tools/end-test-run.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +2 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +24 -0
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/glob.d.ts +4 -1
- package/dist/ai-service/agent/tools2/tools/glob.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/glob.js +25 -85
- package/dist/ai-service/agent/tools2/tools/glob.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata.js +9 -0
- package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep.js +22 -5
- package/dist/ai-service/agent/tools2/tools/grep.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/list-attachments.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/list-attachments.js +4 -0
- package/dist/ai-service/agent/tools2/tools/list-attachments.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ls.d.ts +8 -1
- package/dist/ai-service/agent/tools2/tools/ls.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ls.js +102 -83
- package/dist/ai-service/agent/tools2/tools/ls.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/read.d.ts +5 -2
- package/dist/ai-service/agent/tools2/tools/read.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/read.js +24 -12
- package/dist/ai-service/agent/tools2/tools/read.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/start-test-run.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/start-test-run.js +13 -0
- package/dist/ai-service/agent/tools2/tools/start-test-run.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.js +6 -0
- package/dist/ai-service/agent/tools2/tools/update-test-case-status.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/write.d.ts +4 -1
- package/dist/ai-service/agent/tools2/tools/write.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/write.js +9 -4
- package/dist/ai-service/agent/tools2/tools/write.js.map +1 -1
- package/dist/ai-service/agent/tools2/types.d.ts +25 -0
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/types.js.map +1 -1
- package/dist/ai-service/app-interface/constants.d.ts +77 -0
- package/dist/ai-service/app-interface/constants.d.ts.map +1 -0
- package/dist/ai-service/app-interface/constants.js +128 -0
- package/dist/ai-service/app-interface/constants.js.map +1 -0
- package/dist/ai-service/app-interface/filesystem/draft-manager.d.ts +87 -0
- package/dist/ai-service/app-interface/filesystem/draft-manager.d.ts.map +1 -0
- package/dist/ai-service/app-interface/filesystem/draft-manager.js +91 -0
- package/dist/ai-service/app-interface/filesystem/draft-manager.js.map +1 -0
- package/dist/ai-service/app-interface/filesystem/handlers/api-handler.d.ts +35 -0
- package/dist/ai-service/app-interface/filesystem/handlers/api-handler.d.ts.map +1 -0
- package/dist/ai-service/app-interface/filesystem/handlers/api-handler.js +236 -0
- package/dist/ai-service/app-interface/filesystem/handlers/api-handler.js.map +1 -0
- package/dist/ai-service/app-interface/filesystem/handlers/index.d.ts +5 -0
- package/dist/ai-service/app-interface/filesystem/handlers/index.d.ts.map +1 -0
- package/dist/ai-service/app-interface/filesystem/handlers/index.js +5 -0
- package/dist/ai-service/app-interface/filesystem/handlers/index.js.map +1 -0
- package/dist/ai-service/app-interface/filesystem/index.d.ts +12 -0
- package/dist/ai-service/app-interface/filesystem/index.d.ts.map +1 -0
- package/dist/ai-service/app-interface/filesystem/index.js +11 -0
- package/dist/ai-service/app-interface/filesystem/index.js.map +1 -0
- package/dist/ai-service/app-interface/filesystem/validation.d.ts +71 -0
- package/dist/ai-service/app-interface/filesystem/validation.d.ts.map +1 -0
- package/dist/ai-service/app-interface/filesystem/validation.js +170 -0
- package/dist/ai-service/app-interface/filesystem/validation.js.map +1 -0
- package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts +108 -0
- package/dist/ai-service/app-interface/filesystem/virtual-file-system.d.ts.map +1 -0
- package/dist/ai-service/app-interface/filesystem/virtual-file-system.js +157 -0
- package/dist/ai-service/app-interface/filesystem/virtual-file-system.js.map +1 -0
- package/dist/ai-service/app-interface/filesystem/virtual-fs-types.d.ts +126 -0
- package/dist/ai-service/app-interface/filesystem/virtual-fs-types.d.ts.map +1 -0
- package/dist/ai-service/app-interface/filesystem/virtual-fs-types.js +9 -0
- package/dist/ai-service/app-interface/filesystem/virtual-fs-types.js.map +1 -0
- package/dist/ai-service/app-interface/linter.d.ts +4 -1
- package/dist/ai-service/app-interface/linter.d.ts.map +1 -1
- package/dist/ai-service/app-interface/linter.js +10 -6
- package/dist/ai-service/app-interface/linter.js.map +1 -1
- package/dist/ai-service/app-interface/shell.d.ts +205 -1
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +474 -14
- package/dist/ai-service/app-interface/shell.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +9 -0
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/const.d.ts +0 -3
- package/dist/ai-service/const.d.ts.map +1 -1
- package/dist/ai-service/const.js +1 -52
- package/dist/ai-service/const.js.map +1 -1
- package/dist/ai-service/features.d.ts +12 -0
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +13 -0
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts +1 -1
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +27 -24
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +0 -2
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +4 -15
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/judge/judge-executor.d.ts.map +1 -1
- package/dist/ai-service/judge/judge-executor.js +4 -0
- package/dist/ai-service/judge/judge-executor.js.map +1 -1
- package/dist/ai-service/llm/client.d.ts +21 -4
- package/dist/ai-service/llm/client.d.ts.map +1 -1
- package/dist/ai-service/llm/client.js +132 -12
- package/dist/ai-service/llm/client.js.map +1 -1
- package/dist/ai-service/llm/context/context.d.ts +4 -1
- package/dist/ai-service/llm/context/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context/context.js +27 -5
- package/dist/ai-service/llm/context/context.js.map +1 -1
- package/dist/ai-service/llm/context/internal-types.d.ts +5 -0
- package/dist/ai-service/llm/context/internal-types.d.ts.map +1 -1
- package/dist/ai-service/llm/context/internal-types.js +5 -0
- package/dist/ai-service/llm/context/internal-types.js.map +1 -1
- package/dist/ai-service/llm/context/levels/l1.d.ts +4 -3
- package/dist/ai-service/llm/context/levels/l1.d.ts.map +1 -1
- package/dist/ai-service/llm/context/levels/l1.js +9 -8
- package/dist/ai-service/llm/context/levels/l1.js.map +1 -1
- package/dist/ai-service/llm/context/serialization.d.ts +8 -0
- package/dist/ai-service/llm/context/serialization.d.ts.map +1 -1
- package/dist/ai-service/llm/context/utils/content-compaction.d.ts +7 -5
- package/dist/ai-service/llm/context/utils/content-compaction.d.ts.map +1 -1
- package/dist/ai-service/llm/context/utils/content-compaction.js +27 -6
- package/dist/ai-service/llm/context/utils/content-compaction.js.map +1 -1
- package/dist/ai-service/llm/error.d.ts +1 -0
- package/dist/ai-service/llm/error.d.ts.map +1 -1
- package/dist/ai-service/llm/error.js +29 -3
- package/dist/ai-service/llm/error.js.map +1 -1
- package/dist/ai-service/llm/stream/config.d.ts +18 -6
- package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/config.js +18 -5
- package/dist/ai-service/llm/stream/config.js.map +1 -1
- package/dist/ai-service/llm/stream/errors.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/errors.js +7 -4
- package/dist/ai-service/llm/stream/errors.js.map +1 -1
- package/dist/ai-service/llm/stream/index.d.ts +5 -3
- package/dist/ai-service/llm/stream/index.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/index.js +4 -2
- package/dist/ai-service/llm/stream/index.js.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts +1 -1
- package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/orchestrator.js +5 -11
- package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.d.ts +18 -5
- package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
- package/dist/ai-service/llm/stream/retry-engine.js +75 -21
- package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
- package/dist/ai-service/mcp/adapter/mcp-tool-adapter.d.ts +8 -0
- package/dist/ai-service/mcp/adapter/mcp-tool-adapter.d.ts.map +1 -1
- package/dist/ai-service/mcp/adapter/mcp-tool-adapter.js +108 -0
- package/dist/ai-service/mcp/adapter/mcp-tool-adapter.js.map +1 -1
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.d.ts.map +1 -1
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.js +360 -133
- package/dist/ai-service/mcp/embedded-playwright-mcp-server.js.map +1 -1
- package/dist/ai-service/security/index.d.ts +8 -0
- package/dist/ai-service/security/index.d.ts.map +1 -0
- package/dist/ai-service/security/index.js +8 -0
- package/dist/ai-service/security/index.js.map +1 -0
- package/dist/ai-service/security/safety-classifier.d.ts +103 -0
- package/dist/ai-service/security/safety-classifier.d.ts.map +1 -0
- package/dist/ai-service/security/safety-classifier.js +178 -0
- package/dist/ai-service/security/safety-classifier.js.map +1 -0
- package/dist/ai-service/security/secret-scanner.d.ts +145 -0
- package/dist/ai-service/security/secret-scanner.d.ts.map +1 -0
- package/dist/ai-service/security/secret-scanner.js +344 -0
- package/dist/ai-service/security/secret-scanner.js.map +1 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts +2 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +32 -9
- 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 +17 -6
- 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 +29 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/template-renderer.d.ts.map +1 -1
- package/dist/ai-service/template-renderer.js +4 -1
- package/dist/ai-service/template-renderer.js.map +1 -1
- package/dist/ai-service/transform/api-builder/shared.js +2 -2
- package/dist/ai-service/transform/api-builder/shared.js.map +1 -1
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts +1 -0
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -1
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +1 -2
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
- package/dist/ai-service/types.d.ts +6 -5
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/ai-service/types.js.map +1 -1
- package/dist/components-manager.d.ts.map +1 -1
- package/dist/components-manager.js +17 -12
- package/dist/components-manager.js.map +1 -1
- package/dist/ensure-app-provider.d.ts +2 -0
- package/dist/ensure-app-provider.d.ts.map +1 -0
- package/dist/ensure-app-provider.js +209 -0
- package/dist/ensure-app-provider.js.map +1 -0
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +22 -12
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-manager.d.ts +0 -6
- package/dist/file-system-manager.d.ts.map +1 -1
- package/dist/file-system-manager.js +119 -144
- package/dist/file-system-manager.js.map +1 -1
- package/dist/parsing/util.d.ts.map +1 -1
- package/dist/parsing/util.js +5 -1
- package/dist/parsing/util.js.map +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +5 -0
- package/dist/socket-manager.js.map +1 -1
- package/dist/source-tracker.d.ts +4 -0
- package/dist/source-tracker.d.ts.map +1 -1
- package/dist/source-tracker.js +15 -8
- package/dist/source-tracker.js.map +1 -1
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +13 -8
- package/dist/sync-service/index.js.map +1 -1
- package/dist/util/logger.d.ts.map +1 -1
- package/dist/util/logger.js +16 -0
- package/dist/util/logger.js.map +1 -1
- package/dist/util.d.ts +1 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +4 -2
- package/dist/util.js.map +1 -1
- package/package.json +10 -16
- package/dist/ai-service/agent/tools/apis/api-source.d.ts +0 -24
- package/dist/ai-service/agent/tools/apis/api-source.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/apis/api-source.js +0 -108
- package/dist/ai-service/agent/tools/apis/api-source.js.map +0 -1
- package/dist/ai-service/state-machine/helpers/file-read-tracker.d.ts +0 -7
- package/dist/ai-service/state-machine/helpers/file-read-tracker.d.ts.map +0 -1
- package/dist/ai-service/state-machine/helpers/file-read-tracker.js +0 -26
- package/dist/ai-service/state-machine/helpers/file-read-tracker.js.map +0 -1
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the virtual filesystem layer.
|
|
3
|
+
*
|
|
4
|
+
* The virtual filesystem provides an abstraction over physical files,
|
|
5
|
+
* allowing certain file types (like APIs) to appear differently to
|
|
6
|
+
* consumers than they are stored on disk.
|
|
7
|
+
*/
|
|
8
|
+
import type { TemplateRenderer } from "../../template-renderer.js";
|
|
9
|
+
/**
|
|
10
|
+
* File metadata returned by listFiles when includeMetadata is true.
|
|
11
|
+
*/
|
|
12
|
+
export interface FileMetadata {
|
|
13
|
+
/** Relative file path (virtual path for APIs) */
|
|
14
|
+
path: string;
|
|
15
|
+
/** File size in bytes */
|
|
16
|
+
size: number;
|
|
17
|
+
/** Last modification time */
|
|
18
|
+
mtime: Date;
|
|
19
|
+
/** Whether this is a directory */
|
|
20
|
+
isDirectory: boolean;
|
|
21
|
+
/** Whether this is a file */
|
|
22
|
+
isFile: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Options for reading virtual files.
|
|
26
|
+
*/
|
|
27
|
+
export interface VirtualReadOptions {
|
|
28
|
+
appRootDirPath: string;
|
|
29
|
+
templateRenderer?: TemplateRenderer;
|
|
30
|
+
entityNames?: string[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Options for writing virtual files.
|
|
34
|
+
*/
|
|
35
|
+
export interface VirtualWriteOptions {
|
|
36
|
+
appRootDirPath: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Options for deleting virtual files.
|
|
40
|
+
*/
|
|
41
|
+
export interface VirtualDeleteOptions {
|
|
42
|
+
appRootDirPath: string;
|
|
43
|
+
createDraftDelete: (relativePath: string) => Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Result of parsing a virtual path.
|
|
47
|
+
*/
|
|
48
|
+
export interface VirtualPathInfo {
|
|
49
|
+
/** The type of virtual file (e.g., "api") */
|
|
50
|
+
type: string;
|
|
51
|
+
/** Extracted parameters from the path (e.g., { apiName: "MyAPI" }) */
|
|
52
|
+
params: Record<string, string>;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Handler for a specific type of virtual file.
|
|
56
|
+
*
|
|
57
|
+
* Each handler is responsible for a category of virtual files
|
|
58
|
+
* (e.g., API files). The VirtualFileSystem uses handlers to
|
|
59
|
+
* route operations to the appropriate implementation.
|
|
60
|
+
*/
|
|
61
|
+
export interface VirtualFileHandler {
|
|
62
|
+
/** Unique identifier for this handler type */
|
|
63
|
+
readonly type: string;
|
|
64
|
+
/**
|
|
65
|
+
* Check if this handler manages the given virtual path.
|
|
66
|
+
*
|
|
67
|
+
* @param virtualPath - The virtual path to check
|
|
68
|
+
* @returns true if this handler should process the path
|
|
69
|
+
*/
|
|
70
|
+
matches(virtualPath: string): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Check if a physical path belongs to this handler's domain.
|
|
73
|
+
* Used for converting physical paths to virtual paths in listings.
|
|
74
|
+
*
|
|
75
|
+
* @param physicalPath - The physical path to check
|
|
76
|
+
* @returns true if this handler should convert the path
|
|
77
|
+
*/
|
|
78
|
+
matchesPhysical(physicalPath: string): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Parse a virtual path to extract metadata.
|
|
81
|
+
*
|
|
82
|
+
* @param virtualPath - The virtual path to parse
|
|
83
|
+
* @returns Parsed info or undefined if not a valid path for this handler
|
|
84
|
+
*/
|
|
85
|
+
parse(virtualPath: string): VirtualPathInfo | undefined;
|
|
86
|
+
/**
|
|
87
|
+
* Convert a physical path to its virtual representation.
|
|
88
|
+
*
|
|
89
|
+
* @param physicalPath - The physical path to convert
|
|
90
|
+
* @returns The virtual path, or undefined if not convertible
|
|
91
|
+
*/
|
|
92
|
+
toVirtualPath(physicalPath: string): string | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* Read content from a virtual file.
|
|
95
|
+
*
|
|
96
|
+
* @param virtualPath - The virtual path to read
|
|
97
|
+
* @param options - Read options including app root and dependencies
|
|
98
|
+
* @returns The file content, or undefined if not found
|
|
99
|
+
*/
|
|
100
|
+
read(virtualPath: string, options: VirtualReadOptions): Promise<string | undefined>;
|
|
101
|
+
/**
|
|
102
|
+
* Write content to a virtual file.
|
|
103
|
+
*
|
|
104
|
+
* @param virtualPath - The virtual path to write
|
|
105
|
+
* @param content - The content to write
|
|
106
|
+
* @param options - Write options including app root
|
|
107
|
+
*/
|
|
108
|
+
write(virtualPath: string, content: string, options: VirtualWriteOptions): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Delete a virtual file and its associated physical files.
|
|
111
|
+
*
|
|
112
|
+
* @param virtualPath - The virtual path to delete
|
|
113
|
+
* @param options - Delete options including draft delete function
|
|
114
|
+
* @returns List of physical paths that were deleted
|
|
115
|
+
*/
|
|
116
|
+
delete(virtualPath: string, options: VirtualDeleteOptions): Promise<string[]>;
|
|
117
|
+
/**
|
|
118
|
+
* Get metadata for a virtual file.
|
|
119
|
+
*
|
|
120
|
+
* @param virtualPath - The virtual path to get metadata for
|
|
121
|
+
* @param options - Read options including app root
|
|
122
|
+
* @returns File metadata, or undefined if not found
|
|
123
|
+
*/
|
|
124
|
+
getMetadata?(virtualPath: string, options: VirtualReadOptions): Promise<FileMetadata | undefined>;
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=virtual-fs-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtual-fs-types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/app-interface/filesystem/virtual-fs-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,KAAK,EAAE,IAAI,CAAC;IACZ,kCAAkC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAEtC;;;;;;OAMG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/C;;;;;OAKG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAExD;;;;;OAKG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAExD;;;;;;OAMG;IACH,IAAI,CACF,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE/B;;;;;;OAMG;IACH,KAAK,CACH,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE9E;;;;;;OAMG;IACH,WAAW,CAAC,CACV,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;CACtC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the virtual filesystem layer.
|
|
3
|
+
*
|
|
4
|
+
* The virtual filesystem provides an abstraction over physical files,
|
|
5
|
+
* allowing certain file types (like APIs) to appear differently to
|
|
6
|
+
* consumers than they are stored on disk.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=virtual-fs-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtual-fs-types.js","sourceRoot":"","sources":["../../../../src/ai-service/app-interface/filesystem/virtual-fs-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -3,6 +3,9 @@ export declare class Linter {
|
|
|
3
3
|
private readonly cwd;
|
|
4
4
|
constructor(cwd: string);
|
|
5
5
|
warmCache(files: string[]): Promise<void>;
|
|
6
|
-
lint(files: string[], abortSignal?: AbortSignal): Promise<
|
|
6
|
+
lint(files: string[], abortSignal?: AbortSignal): Promise<{
|
|
7
|
+
errors: Record<string, string[]>;
|
|
8
|
+
fixedFiles: string[];
|
|
9
|
+
}>;
|
|
7
10
|
}
|
|
8
11
|
//# sourceMappingURL=linter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-interface/linter.ts"],"names":[],"mappings":"AAiCA,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,GAAG,EAAE,MAAM;IASjB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE;IAMzB,IAAI,CACR,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"linter.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-interface/linter.ts"],"names":[],"mappings":"AAiCA,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,GAAG,EAAE,MAAM;IASjB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE;IAMzB,IAAI,CACR,KAAK,EAAE,MAAM,EAAE,EACf,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAoEvE"}
|
|
@@ -116,20 +116,24 @@ let Linter = (() => {
|
|
|
116
116
|
if (abortSignal?.aborted) {
|
|
117
117
|
throw new Error("Operation was aborted");
|
|
118
118
|
}
|
|
119
|
+
// Track which files were auto-fixed (have output)
|
|
120
|
+
const fixedFiles = results
|
|
121
|
+
.filter((r) => r.output !== undefined)
|
|
122
|
+
.map((r) => path.relative(this.cwd, r.filePath));
|
|
119
123
|
await ESLint.outputFixes(results);
|
|
120
|
-
const
|
|
124
|
+
const errors = results.reduce((acc, result) => {
|
|
121
125
|
const relativePath = path.relative(this.cwd, result.filePath);
|
|
122
|
-
const
|
|
126
|
+
const errorMessages = result.messages
|
|
123
127
|
.filter((message) => !message.fix)
|
|
124
128
|
.map((m) => `${relativePath}(${m.line},${m.column}): ${m.message} (${m.ruleId})`);
|
|
125
|
-
if (
|
|
126
|
-
acc[relativePath] =
|
|
129
|
+
if (errorMessages.length > 0) {
|
|
130
|
+
acc[relativePath] = errorMessages;
|
|
127
131
|
}
|
|
128
132
|
return acc;
|
|
129
133
|
}, {});
|
|
130
134
|
const end = performance.now();
|
|
131
|
-
getLogger().debug(`[ai-service] Linting took ${end - start}ms for ${files.length} files`);
|
|
132
|
-
return
|
|
135
|
+
getLogger().debug(`[ai-service] Linting took ${end - start}ms for ${files.length} files, ${fixedFiles.length} auto-fixed`);
|
|
136
|
+
return { errors, fixedFiles };
|
|
133
137
|
}
|
|
134
138
|
};
|
|
135
139
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"linter.js","sourceRoot":"","sources":["../../../src/ai-service/app-interface/linter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,WAAW,CAAA;;;;WAIzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;;;+BAGC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;CAkBjD,CAAC;IAEW,MAAM;;;;iBAAN,MAAM;;;qCAYhB,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC;gCAM3D,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YALvD,8KAAM,SAAS,6DAGd;YAGD,+JAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"linter.js","sourceRoot":"","sources":["../../../src/ai-service/app-interface/linter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,50 @@
|
|
|
1
1
|
import { type GlobOptionsWithFileTypesUnset } from "glob";
|
|
2
2
|
import { type FileArtifact } from "../types.js";
|
|
3
|
+
import { type DraftChanges, type FileMetadata } from "./filesystem/index.js";
|
|
4
|
+
import type { VirtualFileSystem } from "./filesystem/index.js";
|
|
5
|
+
import type { DraftInterface } from "../../draft-interface.js";
|
|
3
6
|
import type { IOperationQueue } from "../../util/operation-queue.js";
|
|
7
|
+
import type { TemplateRenderer } from "../template-renderer.js";
|
|
8
|
+
/**
|
|
9
|
+
* Options for listing files with optional metadata.
|
|
10
|
+
*/
|
|
11
|
+
export interface ListFilesOptions extends GlobOptionsWithFileTypesUnset {
|
|
12
|
+
/** Include file metadata (size, mtime, type). Default: false */
|
|
13
|
+
includeMetadata?: boolean;
|
|
14
|
+
/** Include directories in listing. Default: false (files only) */
|
|
15
|
+
includeDirs?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* AppShell provides the primary interface for the AI agent to interact
|
|
19
|
+
* with the application environment.
|
|
20
|
+
*
|
|
21
|
+
* It encapsulates:
|
|
22
|
+
* - File system operations (read, write, delete, list, rename)
|
|
23
|
+
* - Virtual file abstraction (APIs appear as single .ts files)
|
|
24
|
+
* - Draft management for undo/redo capability
|
|
25
|
+
* - Code quality tools (linting, type checking)
|
|
26
|
+
* - Package management
|
|
27
|
+
*/
|
|
4
28
|
export declare class AppShell {
|
|
5
29
|
readonly appRootDirPath: string;
|
|
6
30
|
private readonly fsOperationQueue;
|
|
7
31
|
private readonly linter;
|
|
8
32
|
private messageSender?;
|
|
9
|
-
|
|
33
|
+
private readonly draftManager?;
|
|
34
|
+
private readonly templateRenderer?;
|
|
35
|
+
private readonly virtualFs;
|
|
36
|
+
/**
|
|
37
|
+
* Tracks files that must be read before they can be written.
|
|
38
|
+
* Used to enforce read-before-write pattern for AI safety.
|
|
39
|
+
*/
|
|
40
|
+
private readonly requiredReads;
|
|
41
|
+
constructor({ appRootDirPath, fsOperationQueue, messageSender, draftInterface, templateRenderer, virtualFileSystem, }: {
|
|
10
42
|
appRootDirPath: string;
|
|
11
43
|
fsOperationQueue: IOperationQueue;
|
|
12
44
|
messageSender?: (message: any) => Promise<void>;
|
|
45
|
+
draftInterface?: DraftInterface;
|
|
46
|
+
templateRenderer?: TemplateRenderer;
|
|
47
|
+
virtualFileSystem?: VirtualFileSystem;
|
|
13
48
|
});
|
|
14
49
|
readFiles(patterns: string[], globOptions?: GlobOptionsWithFileTypesUnset, enableAppBlacklist?: boolean): Promise<FileArtifact[]>;
|
|
15
50
|
runTypecheck(abortSignal?: AbortSignal): Promise<Record<string, string[]> | null>;
|
|
@@ -41,5 +76,174 @@ export declare class AppShell {
|
|
|
41
76
|
* This is typically called when a draft is rejected to clean up temporary artifacts.
|
|
42
77
|
*/
|
|
43
78
|
clearScratchDirectory(): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Reads a single file's content from the application.
|
|
81
|
+
*
|
|
82
|
+
* Handles virtual path translation for files managed by the VirtualFileSystem:
|
|
83
|
+
* - Virtual paths are read via the appropriate handler
|
|
84
|
+
* - Regular files are read directly from disk
|
|
85
|
+
*
|
|
86
|
+
* @param relativePath - The virtual path relative to app root
|
|
87
|
+
* @param options - Optional read options
|
|
88
|
+
* @param options.offset - Line number to start reading from (1-indexed)
|
|
89
|
+
* @param options.limit - Number of lines to read
|
|
90
|
+
* @returns The file content as a string
|
|
91
|
+
* @throws Error if file does not exist or cannot be read
|
|
92
|
+
*/
|
|
93
|
+
readFile(relativePath: string, options?: {
|
|
94
|
+
offset?: number;
|
|
95
|
+
limit?: number;
|
|
96
|
+
}): Promise<string>;
|
|
97
|
+
/**
|
|
98
|
+
* Internal read implementation (no queue).
|
|
99
|
+
* Use this from other methods that are already enqueued to avoid deadlock.
|
|
100
|
+
*/
|
|
101
|
+
private readFileInternal;
|
|
102
|
+
/**
|
|
103
|
+
* Writes content to a file as a draft.
|
|
104
|
+
*
|
|
105
|
+
* Handles virtual path translation for files managed by the VirtualFileSystem:
|
|
106
|
+
* - Virtual paths are written via the appropriate handler
|
|
107
|
+
* - Regular files are written via the draft interface
|
|
108
|
+
*
|
|
109
|
+
* @param relativePath - Virtual path relative to app root
|
|
110
|
+
* @param content - File content to write
|
|
111
|
+
* @param options - Optional write options
|
|
112
|
+
* @param options.bypassRequireRead - Skip the read-before-write check (use for new files)
|
|
113
|
+
* @throws Error if path is blacklisted, restricted, or draft manager not configured
|
|
114
|
+
* @throws Error if file requires reading first (unless bypassed)
|
|
115
|
+
*/
|
|
116
|
+
writeFile(relativePath: string, content: string, options?: {
|
|
117
|
+
bypassRequireRead?: boolean;
|
|
118
|
+
}): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Internal write implementation.
|
|
121
|
+
* Called directly by writeFile (no queue wrapper needed since draftInterface queues).
|
|
122
|
+
*/
|
|
123
|
+
private writeFileInternal;
|
|
124
|
+
/**
|
|
125
|
+
* Deletes a file or directory as a draft operation.
|
|
126
|
+
*
|
|
127
|
+
* Handles virtual path translation for files managed by the VirtualFileSystem:
|
|
128
|
+
* - Virtual paths delete via the appropriate handler
|
|
129
|
+
* - Regular files/directories are deleted via the draft interface
|
|
130
|
+
*
|
|
131
|
+
* @param relativePath - Virtual path relative to app root
|
|
132
|
+
* @throws Error if path is protected or draft manager not configured
|
|
133
|
+
*/
|
|
134
|
+
deleteFile(relativePath: string): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Internal delete implementation.
|
|
137
|
+
* Called directly by deleteFile (no queue wrapper needed since draftInterface queues).
|
|
138
|
+
*/
|
|
139
|
+
private deleteFileInternal;
|
|
140
|
+
/**
|
|
141
|
+
* Lists files matching patterns, returning virtual paths.
|
|
142
|
+
*
|
|
143
|
+
* Physical files managed by the VirtualFileSystem are converted to
|
|
144
|
+
* their virtual representations (e.g., apis/MyAPI/api.yaml -> apis/MyAPI.ts).
|
|
145
|
+
*
|
|
146
|
+
* @param patterns - Glob patterns to match (defaults to application files)
|
|
147
|
+
* @param options - Glob options
|
|
148
|
+
* @returns Array of matching virtual file paths
|
|
149
|
+
*/
|
|
150
|
+
listFiles(patterns?: string[], options?: GlobOptionsWithFileTypesUnset): Promise<string[]>;
|
|
151
|
+
/**
|
|
152
|
+
* Lists files matching patterns with metadata.
|
|
153
|
+
*
|
|
154
|
+
* @param patterns - Glob patterns to match (defaults to application files)
|
|
155
|
+
* @param options - Options including includeMetadata: true
|
|
156
|
+
* @returns Array of FileMetadata objects
|
|
157
|
+
*/
|
|
158
|
+
listFiles(patterns?: string[], options?: ListFilesOptions & {
|
|
159
|
+
includeMetadata: true;
|
|
160
|
+
}): Promise<FileMetadata[]>;
|
|
161
|
+
/**
|
|
162
|
+
* Gets metadata for a list of file paths.
|
|
163
|
+
*
|
|
164
|
+
* @param paths - Array of virtual paths to get metadata for
|
|
165
|
+
* @returns Array of FileMetadata objects (excludes paths that don't exist)
|
|
166
|
+
*/
|
|
167
|
+
private getFileMetadataList;
|
|
168
|
+
/**
|
|
169
|
+
* Gets metadata for a single file path.
|
|
170
|
+
*
|
|
171
|
+
* @param virtualPath - The virtual path to get metadata for
|
|
172
|
+
* @returns FileMetadata or undefined if file doesn't exist
|
|
173
|
+
*/
|
|
174
|
+
private getFileMetadata;
|
|
175
|
+
/**
|
|
176
|
+
* Gets metadata for a virtual API file.
|
|
177
|
+
* Checks scratch file first (for pending changes), then falls back to YAML.
|
|
178
|
+
*
|
|
179
|
+
* @param virtualPath - The virtual API path (e.g., "apis/MyAPI.ts")
|
|
180
|
+
* @returns FileMetadata or undefined if not found
|
|
181
|
+
*/
|
|
182
|
+
private getApiFileMetadata;
|
|
183
|
+
/**
|
|
184
|
+
* Renames or moves a file.
|
|
185
|
+
*
|
|
186
|
+
* Implemented as read + write + delete to work with the draft system.
|
|
187
|
+
*
|
|
188
|
+
* @param oldPath - Current virtual path
|
|
189
|
+
* @param newPath - New virtual path
|
|
190
|
+
* @throws Error if old file doesn't exist or new path is invalid
|
|
191
|
+
* @throws Error if old file requires reading first
|
|
192
|
+
*/
|
|
193
|
+
renameFile(oldPath: string, newPath: string): Promise<void>;
|
|
194
|
+
/**
|
|
195
|
+
* Checks if there are any pending draft changes.
|
|
196
|
+
*
|
|
197
|
+
* @returns true if there are uncommitted draft changes
|
|
198
|
+
*/
|
|
199
|
+
hasDraftChanges(): Promise<boolean>;
|
|
200
|
+
/**
|
|
201
|
+
* Gets a unified diff of pending draft changes.
|
|
202
|
+
*
|
|
203
|
+
* @param paths - Optional specific paths to diff. If empty, diffs all changes.
|
|
204
|
+
* @returns Unified diff string
|
|
205
|
+
*/
|
|
206
|
+
getDraftDiff(paths?: string[]): Promise<string>;
|
|
207
|
+
/**
|
|
208
|
+
* Gets categorized draft changes.
|
|
209
|
+
*
|
|
210
|
+
* @returns Object containing arrays of edited, added, and deleted paths
|
|
211
|
+
*/
|
|
212
|
+
getDraftChanges(): Promise<DraftChanges>;
|
|
213
|
+
/**
|
|
214
|
+
* Gets the underlying draft interface for direct access.
|
|
215
|
+
*
|
|
216
|
+
* This should only be used for advanced operations that require
|
|
217
|
+
* direct access to the draft interface. Prefer using the AppShell
|
|
218
|
+
* methods when possible.
|
|
219
|
+
*
|
|
220
|
+
* @internal
|
|
221
|
+
*/
|
|
222
|
+
getDraftInterface(): DraftInterface | undefined;
|
|
223
|
+
/**
|
|
224
|
+
* Check if a file must be read before it can be written.
|
|
225
|
+
*
|
|
226
|
+
* @param relativePath - The path to check
|
|
227
|
+
* @returns true if the file must be read before writing
|
|
228
|
+
*/
|
|
229
|
+
isReadRequired(relativePath: string): boolean;
|
|
230
|
+
/**
|
|
231
|
+
* Mark a file as requiring a read before write.
|
|
232
|
+
*
|
|
233
|
+
* Call this when a file has been modified externally (e.g., by lint/format)
|
|
234
|
+
* to ensure the AI reads the updated content before making further changes.
|
|
235
|
+
*
|
|
236
|
+
* @param relativePath - The path to mark as requiring read
|
|
237
|
+
*/
|
|
238
|
+
requireRead(relativePath: string): void;
|
|
239
|
+
/**
|
|
240
|
+
* Mark a file as having been read, allowing subsequent writes.
|
|
241
|
+
* Called internally after successful read operations.
|
|
242
|
+
*/
|
|
243
|
+
private markRead;
|
|
244
|
+
/**
|
|
245
|
+
* Recursively deletes directory contents by creating draft deletes.
|
|
246
|
+
*/
|
|
247
|
+
private deleteDirectoryRecursive;
|
|
44
248
|
}
|
|
45
249
|
//# sourceMappingURL=shell.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-interface/shell.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-interface/shell.ts"],"names":[],"mappings":"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"}
|