@superblocksteam/vite-plugin-file-sync 2.0.55 → 2.0.56-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/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +394 -2303
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/examples.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/apis/examples.js +34 -35
- package/dist/ai-service/agent/subagents/apis/examples.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +2 -8
- package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/apis/generate-api-source.js +17 -46
- package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts +0 -1
- package/dist/ai-service/agent/subagents/apis/prompt-builder.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/apis/prompt-builder.js +4 -25
- package/dist/ai-service/agent/subagents/apis/prompt-builder.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/state.js +1 -1
- package/dist/ai-service/agent/subagents/apis/state.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +1 -1
- package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/apis/system-prompt.js +134 -173
- package/dist/ai-service/agent/subagents/apis/system-prompt.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/types.d.ts +1 -4
- package/dist/ai-service/agent/subagents/apis/types.d.ts.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 +14 -31
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.d.ts +1 -6
- package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.js +12 -21
- package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/finalize-api.d.ts +2 -6
- package/dist/ai-service/agent/tools/apis/finalize-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/finalize-api.js +29 -20
- package/dist/ai-service/agent/tools/apis/finalize-api.js.map +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 +4 -9
- package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
- package/dist/ai-service/agent/tools/build-install-packages.d.ts +7 -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 +43 -8
- package/dist/ai-service/agent/tools/build-install-packages.js.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +1 -1
- 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 +7 -9
- 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 -0
- package/dist/ai-service/agent/tools/build-read-files.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-read-files.js +18 -18
- package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
- package/dist/ai-service/agent/tools/build-rename-file.d.ts +11 -0
- package/dist/ai-service/agent/tools/build-rename-file.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/build-rename-file.js +103 -0
- package/dist/ai-service/agent/tools/build-rename-file.js.map +1 -0
- package/dist/ai-service/agent/tools/build-validate-icons.d.ts +0 -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 +0 -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.map +1 -1
- package/dist/ai-service/agent/tools/build-write-file.js +5 -6
- package/dist/ai-service/agent/tools/build-write-file.js.map +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +0 -10
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +0 -10
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/shared-helpers.d.ts +1 -7
- package/dist/ai-service/agent/tools/shared-helpers.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/shared-helpers.js +9 -29
- package/dist/ai-service/agent/tools/shared-helpers.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +5 -11
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +1 -2
- 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 +89 -67
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.d.ts +4 -0
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.js +19 -0
- package/dist/ai-service/agent/tools2/tools/explain-code-finalize.js.map +1 -0
- package/dist/ai-service/agent/tools2/tools/glob.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/glob.js +15 -6
- package/dist/ai-service/agent/tools2/tools/glob.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +13 -0
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata.js +21 -0
- package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/index.d.ts +1 -0
- package/dist/ai-service/agent/tools2/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/index.js +1 -0
- package/dist/ai-service/agent/tools2/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ls.d.ts +10 -0
- package/dist/ai-service/agent/tools2/tools/ls.d.ts.map +1 -0
- package/dist/ai-service/agent/tools2/tools/ls.js +71 -0
- package/dist/ai-service/agent/tools2/tools/ls.js.map +1 -0
- package/dist/ai-service/agent/utils.d.ts +0 -35
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +0 -132
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/app-interface/file-system-interface.d.ts +1 -1
- package/dist/ai-service/app-interface/file-system-interface.d.ts.map +1 -1
- package/dist/ai-service/app-interface/file-system-interface.js +2 -2
- package/dist/ai-service/app-interface/file-system-interface.js.map +1 -1
- package/dist/ai-service/app-interface/shell.d.ts +5 -0
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +60 -0
- 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 +8 -1
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/clark-provider/clark-chat-settings.d.ts +2 -1
- package/dist/ai-service/clark-provider/clark-chat-settings.d.ts.map +1 -1
- package/dist/ai-service/clark-provider/clark-chat-settings.js +1 -0
- package/dist/ai-service/clark-provider/clark-chat-settings.js.map +1 -1
- package/dist/ai-service/const.d.ts +3 -7
- package/dist/ai-service/const.d.ts.map +1 -1
- package/dist/ai-service/const.js +2 -6
- package/dist/ai-service/const.js.map +1 -1
- package/dist/ai-service/context/app-context.d.ts +2 -1
- package/dist/ai-service/context/app-context.d.ts.map +1 -1
- package/dist/ai-service/context/app-context.js +9 -15
- package/dist/ai-service/context/app-context.js.map +1 -1
- package/dist/ai-service/index.d.ts +4 -4
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +168 -16
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/llm/impl/anthropic.d.ts.map +1 -1
- package/dist/ai-service/llm/impl/anthropic.js +1 -0
- package/dist/ai-service/llm/impl/anthropic.js.map +1 -1
- package/dist/ai-service/llm/impl/clark.d.ts.map +1 -1
- package/dist/ai-service/llm/impl/clark.js +1 -0
- package/dist/ai-service/llm/impl/clark.js.map +1 -1
- package/dist/ai-service/llm/provider.d.ts.map +1 -1
- package/dist/ai-service/llm/provider.js +1 -0
- package/dist/ai-service/llm/provider.js.map +1 -1
- package/dist/ai-service/llm/types.d.ts +1 -1
- package/dist/ai-service/llm/types.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/types.d.ts +0 -2
- package/dist/ai-service/prompt-builder-service/types.d.ts.map +1 -1
- package/dist/ai-service/prompt-builder-service/types.js.map +1 -1
- package/dist/ai-service/prompts/explain-code.d.ts +7 -0
- package/dist/ai-service/prompts/explain-code.d.ts.map +1 -0
- package/dist/ai-service/prompts/explain-code.js +23 -0
- package/dist/ai-service/prompts/explain-code.js.map +1 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts +0 -2
- 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.js +16 -16
- 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 +39 -4
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +1 -0
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.d.ts.map +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js +0 -7
- package/dist/ai-service/test-utils/app-generation-mocks/orders-app.js.map +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.d.ts.map +1 -1
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js +0 -8
- package/dist/ai-service/test-utils/app-generation-mocks/smoketest.js.map +1 -1
- 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 +0 -15
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.d.ts.map +1 -1
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.js +0 -13
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.js.map +1 -1
- package/dist/ai-service/types.d.ts +2 -2
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/ai-service/util/json-stream-parser.d.ts +20 -0
- package/dist/ai-service/util/json-stream-parser.d.ts.map +1 -0
- package/dist/ai-service/util/json-stream-parser.js +139 -0
- package/dist/ai-service/util/json-stream-parser.js.map +1 -0
- package/dist/binding-extraction/extract-identifiers.d.ts +1 -5
- package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
- package/dist/binding-extraction/extract-identifiers.js +78 -15
- package/dist/binding-extraction/extract-identifiers.js.map +1 -1
- package/dist/binding-extraction/index.d.ts +1 -1
- package/dist/binding-extraction/index.d.ts.map +1 -1
- package/dist/binding-extraction/index.js +1 -1
- package/dist/binding-extraction/index.js.map +1 -1
- package/dist/binding-extraction/{extract-js-identifiers.d.ts → js-identifiers.d.ts} +2 -1
- package/dist/binding-extraction/js-identifiers.d.ts.map +1 -0
- package/dist/binding-extraction/{extract-js-identifiers.js → js-identifiers.js} +81 -1
- package/dist/binding-extraction/js-identifiers.js.map +1 -0
- package/dist/binding-extraction/python-identifiers.d.ts +13 -0
- package/dist/binding-extraction/python-identifiers.d.ts.map +1 -0
- package/dist/binding-extraction/{extract-py-identifiers.js → python-identifiers.js} +155 -1
- package/dist/binding-extraction/python-identifiers.js.map +1 -0
- package/dist/codegen.d.ts.map +1 -1
- package/dist/codegen.js +9 -15
- package/dist/codegen.js.map +1 -1
- package/dist/components-manager.d.ts +12 -13
- package/dist/components-manager.d.ts.map +1 -1
- package/dist/components-manager.js +78 -139
- package/dist/components-manager.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +140 -361
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-helpers.d.ts +2 -2
- package/dist/file-system-helpers.d.ts.map +1 -1
- package/dist/file-system-helpers.js +6 -4
- package/dist/file-system-helpers.js.map +1 -1
- package/dist/file-system-manager.d.ts +8 -33
- package/dist/file-system-manager.d.ts.map +1 -1
- package/dist/file-system-manager.js +217 -600
- package/dist/file-system-manager.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/inject-no-select.d.ts +15 -0
- package/dist/inject-no-select.d.ts.map +1 -0
- package/dist/inject-no-select.js +173 -0
- package/dist/inject-no-select.js.map +1 -0
- package/dist/injected-index.d.ts +0 -1
- package/dist/injected-index.d.ts.map +1 -1
- package/dist/injected-index.js +0 -1
- package/dist/injected-index.js.map +1 -1
- package/dist/lock-service/activity-tracker.d.ts.map +1 -1
- package/dist/lock-service/activity-tracker.js +4 -1
- package/dist/lock-service/activity-tracker.js.map +1 -1
- package/dist/parsing/entity/to-code-entity.d.ts.map +1 -1
- package/dist/parsing/entity/to-code-entity.js +3 -4
- package/dist/parsing/entity/to-code-entity.js.map +1 -1
- package/dist/parsing/entity/to-value-entity.d.ts.map +1 -1
- package/dist/parsing/entity/to-value-entity.js +19 -13
- package/dist/parsing/entity/to-value-entity.js.map +1 -1
- package/dist/parsing/ids.d.ts +0 -1
- package/dist/parsing/ids.d.ts.map +1 -1
- package/dist/parsing/ids.js +3 -4
- package/dist/parsing/ids.js.map +1 -1
- package/dist/parsing/imports.d.ts.map +1 -1
- package/dist/parsing/imports.js +0 -10
- package/dist/parsing/imports.js.map +1 -1
- package/dist/parsing/index.d.ts +0 -1
- package/dist/parsing/index.d.ts.map +1 -1
- package/dist/parsing/index.js +0 -1
- package/dist/parsing/index.js.map +1 -1
- package/dist/parsing/jsx.d.ts.map +1 -1
- package/dist/parsing/jsx.js +50 -22
- package/dist/parsing/jsx.js.map +1 -1
- package/dist/parsing/page.d.ts +0 -1
- package/dist/parsing/page.d.ts.map +1 -1
- package/dist/parsing/page.js +55 -32
- package/dist/parsing/page.js.map +1 -1
- package/dist/parsing/properties.d.ts.map +1 -1
- package/dist/parsing/properties.js +45 -15
- package/dist/parsing/properties.js.map +1 -1
- package/dist/parsing/template/index.js +1 -1
- package/dist/parsing/template/index.js.map +1 -1
- package/dist/parsing/template/to-code-template.d.ts +1 -2
- package/dist/parsing/template/to-code-template.d.ts.map +1 -1
- package/dist/parsing/template/to-code-template.js +2 -3
- package/dist/parsing/template/to-code-template.js.map +1 -1
- package/dist/parsing/type-parsing-registry.d.ts +0 -1
- package/dist/parsing/type-parsing-registry.d.ts.map +1 -1
- package/dist/parsing/type-parsing-registry.js +0 -2
- package/dist/parsing/type-parsing-registry.js.map +1 -1
- package/dist/parsing/util.d.ts.map +1 -1
- package/dist/parsing/util.js +22 -5
- package/dist/parsing/util.js.map +1 -1
- package/dist/plugin-options.d.ts +8 -1
- package/dist/plugin-options.d.ts.map +1 -1
- package/dist/plugin-options.js.map +1 -1
- package/dist/refactor/javascript.js +1 -1
- package/dist/refactor/javascript.js.map +1 -1
- package/dist/rename-manager.d.ts.map +1 -1
- package/dist/rename-manager.js +1 -2
- package/dist/rename-manager.js.map +1 -1
- package/dist/router-parser.d.ts +35 -0
- package/dist/router-parser.d.ts.map +1 -0
- package/dist/router-parser.js +490 -0
- package/dist/router-parser.js.map +1 -0
- package/dist/socket-manager.d.ts +3 -3
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +14 -15
- package/dist/socket-manager.js.map +1 -1
- package/dist/source-tracker.d.ts +9 -77
- package/dist/source-tracker.d.ts.map +1 -1
- package/dist/source-tracker.js +84 -375
- package/dist/source-tracker.js.map +1 -1
- package/dist/util/operation-queue.d.ts +3 -0
- package/dist/util/operation-queue.d.ts.map +1 -1
- package/dist/util/operation-queue.js +5 -0
- package/dist/util/operation-queue.js.map +1 -1
- package/dist/util.d.ts +13 -1
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +49 -28
- package/dist/util.js.map +1 -1
- package/dist/vite-plugin-yaml-types.d.ts +9 -0
- package/dist/vite-plugin-yaml-types.d.ts.map +1 -0
- package/dist/vite-plugin-yaml-types.js +114 -0
- package/dist/vite-plugin-yaml-types.js.map +1 -0
- package/package.json +8 -7
- package/dist/ai-service/agent/tools/build-add-event.d.ts +0 -14
- package/dist/ai-service/agent/tools/build-add-event.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-add-event.js +0 -44
- package/dist/ai-service/agent/tools/build-add-event.js.map +0 -1
- package/dist/ai-service/agent/tools/build-add-state-var.d.ts +0 -16
- package/dist/ai-service/agent/tools/build-add-state-var.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-add-state-var.js +0 -62
- package/dist/ai-service/agent/tools/build-add-state-var.js.map +0 -1
- package/dist/ai-service/agent/tools/build-add-timer.d.ts +0 -16
- package/dist/ai-service/agent/tools/build-add-timer.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-add-timer.js +0 -46
- package/dist/ai-service/agent/tools/build-add-timer.js.map +0 -1
- package/dist/ai-service/agent/tools/build-create-page.d.ts +0 -10
- package/dist/ai-service/agent/tools/build-create-page.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-create-page.js +0 -57
- package/dist/ai-service/agent/tools/build-create-page.js.map +0 -1
- package/dist/ai-service/agent/tools/build-list-available-components.d.ts +0 -9
- package/dist/ai-service/agent/tools/build-list-available-components.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-list-available-components.js +0 -55
- package/dist/ai-service/agent/tools/build-list-available-components.js.map +0 -1
- package/dist/ai-service/agent/tools/build-register-component-name.d.ts +0 -9
- package/dist/ai-service/agent/tools/build-register-component-name.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-register-component-name.js +0 -53
- package/dist/ai-service/agent/tools/build-register-component-name.js.map +0 -1
- package/dist/ai-service/agent/tools/build-rename-page.d.ts +0 -9
- package/dist/ai-service/agent/tools/build-rename-page.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-rename-page.js +0 -50
- package/dist/ai-service/agent/tools/build-rename-page.js.map +0 -1
- package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts +0 -25
- package/dist/ai-service/agent/tools/build-set-api-triggers.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-set-api-triggers.js +0 -266
- package/dist/ai-service/agent/tools/build-set-api-triggers.js.map +0 -1
- package/dist/ai-service/agent/tools/build-update-state-var.d.ts +0 -16
- package/dist/ai-service/agent/tools/build-update-state-var.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-update-state-var.js +0 -67
- package/dist/ai-service/agent/tools/build-update-state-var.js.map +0 -1
- package/dist/ai-service/agent/tools/study-current-app-state.d.ts +0 -20
- package/dist/ai-service/agent/tools/study-current-app-state.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/study-current-app-state.js +0 -20
- package/dist/ai-service/agent/tools/study-current-app-state.js.map +0 -1
- package/dist/binding-extraction/extract-js-identifiers.d.ts.map +0 -1
- package/dist/binding-extraction/extract-js-identifiers.js.map +0 -1
- package/dist/binding-extraction/extract-py-identifiers.d.ts +0 -4
- package/dist/binding-extraction/extract-py-identifiers.d.ts.map +0 -1
- package/dist/binding-extraction/extract-py-identifiers.js.map +0 -1
- package/dist/component-docs-service/index.d.ts +0 -37
- package/dist/component-docs-service/index.d.ts.map +0 -1
- package/dist/component-docs-service/index.js +0 -118
- package/dist/component-docs-service/index.js.map +0 -1
- package/dist/parsing/events/index.d.ts +0 -5
- package/dist/parsing/events/index.d.ts.map +0 -1
- package/dist/parsing/events/index.js +0 -7
- package/dist/parsing/events/index.js.map +0 -1
- package/dist/parsing/events/to-code-events.d.ts +0 -3
- package/dist/parsing/events/to-code-events.d.ts.map +0 -1
- package/dist/parsing/events/to-code-events.js +0 -147
- package/dist/parsing/events/to-code-events.js.map +0 -1
- package/dist/parsing/events/to-value-events.d.ts +0 -10
- package/dist/parsing/events/to-value-events.d.ts.map +0 -1
- package/dist/parsing/events/to-value-events.js +0 -473
- package/dist/parsing/events/to-value-events.js.map +0 -1
- package/dist/parsing/scope.d.ts +0 -103
- package/dist/parsing/scope.d.ts.map +0 -1
- package/dist/parsing/scope.js +0 -902
- package/dist/parsing/scope.js.map +0 -1
- package/dist/routing.d.ts +0 -6
- package/dist/routing.d.ts.map +0 -1
- package/dist/routing.js +0 -169
- package/dist/routing.js.map +0 -1
- package/dist/sb-scope-manager.d.ts +0 -121
- package/dist/sb-scope-manager.d.ts.map +0 -1
- package/dist/sb-scope-manager.js +0 -678
- package/dist/sb-scope-manager.js.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { getLogger } from "../../../../util/logger.js";
|
|
3
|
+
import { isDatabricksIntegration } from "../../../integrations/store.js";
|
|
3
4
|
import { createToolFactory, PermissionLevel, ToolCategory } from "../types.js";
|
|
4
5
|
import { searchGronWithRipgrep, buildResultFromGronMatches, } from "./grep-metadata-ripgrep.js";
|
|
5
6
|
/**
|
|
@@ -36,6 +37,11 @@ COMMON PATTERNS:
|
|
|
36
37
|
Find schemas (database namespaces):
|
|
37
38
|
'\\.schemas\\[\\d+\\]\\.name'
|
|
38
39
|
(Returns unique schema names like "samples", "uber", "system")
|
|
40
|
+
|
|
41
|
+
⚠️ DATABRICKS NOTE: For Databricks, \`schemas[]\` contains CATALOG names, not schema names!
|
|
42
|
+
- To get actual schemas for Databricks, extract from \`table.schema\` values
|
|
43
|
+
- \`table.schema\` contains "catalog.schema" format (e.g., "uber.default")
|
|
44
|
+
- Parse by splitting on ".": first part = catalog, second part = schema
|
|
39
45
|
|
|
40
46
|
Find tables:
|
|
41
47
|
'\\.tables\\[\\d+\\]\\.name = ".*user.*"'
|
|
@@ -101,6 +107,8 @@ TIPS:
|
|
|
101
107
|
- Set includeDetails: false for name-only lists (faster)
|
|
102
108
|
|
|
103
109
|
The tool returns structured results with full context (table names, schemas, types).
|
|
110
|
+
|
|
111
|
+
**Integration Type Detection**: The result includes \`pluginId\` (e.g., "databricks", "postgres", "mysql") and \`isDatabricksIntegration\` boolean fields. When \`isDatabricksIntegration: true\`, apply Databricks-specific parsing rules (see Database Schema Naming Conventions section).
|
|
104
112
|
`,
|
|
105
113
|
defaultPermission: PermissionLevel.ALLOW,
|
|
106
114
|
readOnly: true,
|
|
@@ -168,9 +176,11 @@ PATTERN EXAMPLES:
|
|
|
168
176
|
|
|
169
177
|
Database (tables/columns use numeric indices):
|
|
170
178
|
- Find schemas: '\\\\.schemas\\\\[\\\\d+\\\\]\\\\.name' (all unique schema names)
|
|
179
|
+
⚠️ DATABRICKS: \`schemas[]\` contains catalog names. For actual schemas, extract from \`table.schema\` (format: "catalog.schema")
|
|
171
180
|
- Find tables: '\\\\.tables\\\\[\\\\d+\\\\]\\\\.name = ".*user.*"'
|
|
172
181
|
- Find columns: '\\\\.columns\\\\[\\\\d+\\\\]\\\\.name = ".*email.*"'
|
|
173
182
|
- Specific table columns: '\\\\.tables\\\\[\\\\d+\\\\]\\\\.name = "users"|\\\\.tables\\\\[\\\\d+\\\\]\\\\.columns\\\\[\\\\d+\\\\]\\\\.name'
|
|
183
|
+
- DATABRICKS: Extract schemas from table.schema: '\\\\.tables\\\\[\\\\d+\\\\]\\\\.schema' (returns "catalog.schema" format - split by "." to get catalog and schema)
|
|
174
184
|
|
|
175
185
|
OpenAPI (paths use STRING keys, not arrays!):
|
|
176
186
|
- Find paths with "repos": '\\\\.paths\\\\[".*repos.*"\\\\]' (quotes constrain to key)
|
|
@@ -269,6 +279,10 @@ Only paginate when:
|
|
|
269
279
|
// Log the incoming request
|
|
270
280
|
logger.info(`[grepMetadata] Starting search for integration ${integrationId} with pattern: "${grepPattern}"`);
|
|
271
281
|
try {
|
|
282
|
+
// Get integration header to determine plugin type
|
|
283
|
+
const header = services.integrationStore.getHeader(integrationId);
|
|
284
|
+
const pluginId = header?.plugin.id;
|
|
285
|
+
const isDatabricks = header ? isDatabricksIntegration(header) : false;
|
|
272
286
|
// Fetch metadata
|
|
273
287
|
const metadata = await services.integrationStore.getMetadata(integrationId, _clark.context.peer);
|
|
274
288
|
if (!metadata) {
|
|
@@ -278,6 +292,8 @@ Only paginate when:
|
|
|
278
292
|
matches: [],
|
|
279
293
|
totalCount: 0,
|
|
280
294
|
truncated: false,
|
|
295
|
+
pluginId,
|
|
296
|
+
isDatabricksIntegration: isDatabricks,
|
|
281
297
|
};
|
|
282
298
|
}
|
|
283
299
|
// Metadata must be cached as gron file
|
|
@@ -288,6 +304,8 @@ Only paginate when:
|
|
|
288
304
|
matches: [],
|
|
289
305
|
totalCount: 0,
|
|
290
306
|
truncated: false,
|
|
307
|
+
pluginId,
|
|
308
|
+
isDatabricksIntegration: isDatabricks,
|
|
291
309
|
};
|
|
292
310
|
}
|
|
293
311
|
logger.info(`[grepMetadata] Using ripgrep on cached gron file: ${metadata._gronPath}`);
|
|
@@ -375,6 +393,9 @@ Only paginate when:
|
|
|
375
393
|
const { _globalIndex, ...cleanMatch } = match;
|
|
376
394
|
return cleanMatch;
|
|
377
395
|
});
|
|
396
|
+
// Add plugin information to the result
|
|
397
|
+
finalResult.pluginId = pluginId;
|
|
398
|
+
finalResult.isDatabricksIntegration = isDatabricks;
|
|
378
399
|
// Filter out details if not requested
|
|
379
400
|
if (!includeDetails) {
|
|
380
401
|
finalResult.matches = finalResult.matches.map((match) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grep-metadata.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/grep-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"grep-metadata.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/grep-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,5 +9,6 @@ export { writeToolFactory } from "./write.js";
|
|
|
9
9
|
export { editToolFactory } from "./edit.js";
|
|
10
10
|
export { globToolFactory } from "./glob.js";
|
|
11
11
|
export { grepToolFactory } from "./grep.js";
|
|
12
|
+
export { lsToolFactory } from "./ls.js";
|
|
12
13
|
export { bashToolFactory } from "./bash.js";
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -9,5 +9,6 @@ export { writeToolFactory } from "./write.js";
|
|
|
9
9
|
export { editToolFactory } from "./edit.js";
|
|
10
10
|
export { globToolFactory } from "./glob.js";
|
|
11
11
|
export { grepToolFactory } from "./grep.js";
|
|
12
|
+
export { lsToolFactory } from "./ls.js";
|
|
12
13
|
export { bashToolFactory } from "./bash.js";
|
|
13
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ls tool - List directory contents with metadata.
|
|
3
|
+
*/
|
|
4
|
+
export declare const lsToolFactory: import("../types.js").ToolFactory<import("../types.js").Tool<{
|
|
5
|
+
path?: string | undefined;
|
|
6
|
+
includeHidden?: boolean | undefined;
|
|
7
|
+
}, {
|
|
8
|
+
output: string;
|
|
9
|
+
}>>;
|
|
10
|
+
//# sourceMappingURL=ls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/ls.ts"],"names":[],"mappings":"AAQA;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;GAkEvB,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { exec } from "node:child_process";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { promisify } from "node:util";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { createToolFactory, PermissionLevel, ToolCategory } from "../types.js";
|
|
6
|
+
const execAsync = promisify(exec);
|
|
7
|
+
/**
|
|
8
|
+
* ls tool - List directory contents with metadata.
|
|
9
|
+
*/
|
|
10
|
+
export const lsToolFactory = createToolFactory("ls", () => ({
|
|
11
|
+
description: `
|
|
12
|
+
List directory contents with metadata (file sizes, modification times, file/directory types).
|
|
13
|
+
|
|
14
|
+
Use this tool when:
|
|
15
|
+
- Browsing a specific directory to see what files and folders exist
|
|
16
|
+
- Understanding directory structure
|
|
17
|
+
- Need file metadata (sizes, timestamps) to decide which files to read
|
|
18
|
+
- Initial exploration of an unfamiliar codebase
|
|
19
|
+
- Finding recently modified files in a directory
|
|
20
|
+
|
|
21
|
+
Returns raw ls -lh output. Call multiple times on subdirectories if you need to explore deeper.
|
|
22
|
+
`,
|
|
23
|
+
category: ToolCategory.FILE,
|
|
24
|
+
defaultPermission: PermissionLevel.ALLOW,
|
|
25
|
+
inputSchema: z.object({
|
|
26
|
+
path: z
|
|
27
|
+
.string()
|
|
28
|
+
.optional()
|
|
29
|
+
.describe("Directory to list (defaults to current directory)"),
|
|
30
|
+
includeHidden: z
|
|
31
|
+
.boolean()
|
|
32
|
+
.optional()
|
|
33
|
+
.describe("Include hidden files (starting with .)"),
|
|
34
|
+
}),
|
|
35
|
+
readOnly: true,
|
|
36
|
+
execute: async ({ path: dirPath = ".", includeHidden = false }) => {
|
|
37
|
+
try {
|
|
38
|
+
const appRoot = process.cwd();
|
|
39
|
+
// Resolve requested path against app root
|
|
40
|
+
const resolvedPath = path.resolve(appRoot, dirPath);
|
|
41
|
+
// Security: Prevent directory traversal outside app root
|
|
42
|
+
if (!resolvedPath.startsWith(appRoot)) {
|
|
43
|
+
throw new Error(`Access denied: path '${dirPath}' is outside the application directory`);
|
|
44
|
+
}
|
|
45
|
+
// Sanitize path to prevent shell injection
|
|
46
|
+
const sanitizedPath = resolvedPath.replace(/'/g, "'\\''");
|
|
47
|
+
const args = ["ls", "-lh"];
|
|
48
|
+
if (includeHidden)
|
|
49
|
+
args.push("-a");
|
|
50
|
+
args.push(`'${sanitizedPath}'`);
|
|
51
|
+
const command = args.join(" ");
|
|
52
|
+
const { stdout } = await execAsync(command, {
|
|
53
|
+
maxBuffer: 10 * 1024 * 1024, // 10MB
|
|
54
|
+
});
|
|
55
|
+
return {
|
|
56
|
+
output: stdout,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
// ls returns exit code 2 when directory doesn't exist
|
|
61
|
+
if (error.code === 2 || error.code === 1) {
|
|
62
|
+
throw new Error(`Directory not found or permission denied: ${dirPath}`);
|
|
63
|
+
}
|
|
64
|
+
if (error instanceof Error) {
|
|
65
|
+
throw new Error(`Failed to list directory: ${error.message}`);
|
|
66
|
+
}
|
|
67
|
+
throw new Error(`Failed to list directory: ${error}`);
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
}));
|
|
71
|
+
//# sourceMappingURL=ls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools2/tools/ls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/E,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1D,WAAW,EAAE;;;;;;;;;;;CAWd;IACC,QAAQ,EAAE,YAAY,CAAC,IAAI;IAC3B,iBAAiB,EAAE,eAAe,CAAC,KAAK;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAChE,aAAa,EAAE,CAAC;aACb,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,wCAAwC,CAAC;KACtD,CAAC;IACF,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,GAAG,EAAE,aAAa,GAAG,KAAK,EAAE,EAAE,EAAE;QAChE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAE9B,0CAA0C;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEpD,yDAAyD;YACzD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CACb,wBAAwB,OAAO,wCAAwC,CACxE,CAAC;YACJ,CAAC;YAED,2CAA2C;YAC3C,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE1D,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3B,IAAI,aAAa;gBAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,GAAG,CAAC,CAAC;YAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE;gBAC1C,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;aACrC,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,MAAM;aACf,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,sDAAsD;YACtD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CACF,CAAC,CAAC,CAAC"}
|
|
@@ -1,41 +1,6 @@
|
|
|
1
|
-
import { type PromptContext } from "@superblocksteam/library-shared/types";
|
|
2
1
|
import { type Clark, type ClarkStateHandlerParams } from "../state-machine/clark-fsm.js";
|
|
3
2
|
import type { TextStreamPart, ToolSet } from "ai";
|
|
4
|
-
export declare const getAppState: (services: ClarkStateHandlerParams, promptContext?: PromptContext) => Promise<{
|
|
5
|
-
appScopeId: string | undefined;
|
|
6
|
-
appComponentSemantics: import("../context/app-context.js").ComponentSemanticInfo[];
|
|
7
|
-
apiSemantics: Record<string, import("../context/app-context.js").ApiSemanticInfo>;
|
|
8
|
-
currentPageName: string | undefined;
|
|
9
|
-
entitiesSelectedByUser: import("@superblocksteam/library-shared/types").PromptContextEntity[] | undefined;
|
|
10
|
-
integrationsSelectedByUser: import("@superblocksteam/library-shared/types").PromptContextIntegration[] | undefined;
|
|
11
|
-
isEssentiallyBlank: boolean;
|
|
12
|
-
pageNames: string[];
|
|
13
|
-
pagesInfo: {
|
|
14
|
-
pageName: string;
|
|
15
|
-
pageScopeId: string | undefined;
|
|
16
|
-
isEssentiallyBlank: boolean;
|
|
17
|
-
numberOfComponents: number;
|
|
18
|
-
componentSemantics: import("../context/app-context.js").ComponentSemanticInfo[];
|
|
19
|
-
apiSemantics: import("../context/app-context.js").ApiSemanticInfo[];
|
|
20
|
-
entityNames: string[] | undefined;
|
|
21
|
-
}[];
|
|
22
|
-
}>;
|
|
23
|
-
export declare const getAvailableComponents: (services: ClarkStateHandlerParams) => Promise<{
|
|
24
|
-
tagName: string | undefined;
|
|
25
|
-
docsMarkdown: string | null;
|
|
26
|
-
pathToSource: string;
|
|
27
|
-
}[]>;
|
|
28
3
|
export declare const getFilesChangedInDraftState: (services: ClarkStateHandlerParams) => Promise<string[]>;
|
|
29
|
-
export declare const ensureScopeFileDraft: ({ identifier, type, scopeFilePath, }: {
|
|
30
|
-
identifier?: string;
|
|
31
|
-
type?: "name" | "id";
|
|
32
|
-
scopeFilePath?: string;
|
|
33
|
-
}, services: ClarkStateHandlerParams) => Promise<void>;
|
|
34
|
-
export declare function getPageEntitiesFiltered(pageName: string, entityTypes: ("StateVar" | "Component")[], services: ClarkStateHandlerParams): {
|
|
35
|
-
name: string;
|
|
36
|
-
type: "StateVar" | "Component";
|
|
37
|
-
componentType?: string;
|
|
38
|
-
}[];
|
|
39
4
|
export declare const normalizeToBlockStatement: (value: any) => string;
|
|
40
5
|
export declare const processStreamChunk: (chunk: TextStreamPart<ToolSet>, clark: Clark, services: ClarkStateHandlerParams, logRef: {
|
|
41
6
|
content: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,uBAAuB,EAC7B,MAAM,+BAA+B,CAAC;AAMvC,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAElD,eAAO,MAAM,2BAA2B,GACtC,UAAU,uBAAuB,sBAIlC,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,OAAO,GAAG,KAAG,MA0FtD,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,OAAO,cAAc,CAAC,OAAO,CAAC,EAC9B,OAAO,KAAK,EACZ,UAAU,uBAAuB,EACjC,QAAQ;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC3B,QAAQ,MAAM,KACb,OAAO,CAAC,IAAI,CA4Ed,CAAC"}
|
|
@@ -1,146 +1,14 @@
|
|
|
1
|
-
import path from "node:path";
|
|
2
1
|
import { parse } from "@babel/parser";
|
|
3
|
-
import { SbEntityType, } from "@superblocksteam/library-shared/types";
|
|
4
|
-
import { ComponentsManager } from "../../components-manager.js";
|
|
5
|
-
import { fromNodeToEntity } from "../../parsing/scope.js";
|
|
6
2
|
import { getFunctionExpressionBody, parseExpression, } from "../../parsing/util.js";
|
|
7
3
|
import { getLogger } from "../../util/logger.js";
|
|
8
4
|
import { LLMProviderError } from "../llm/error.js";
|
|
9
5
|
import llmobs from "../llmobs/index.js";
|
|
10
6
|
import { LLM_ERRORED, } from "../state-machine/clark-fsm.js";
|
|
11
7
|
import { getToolCallArguments } from "./tool-message-utils.js";
|
|
12
|
-
export const getAppState = async (services, promptContext) => {
|
|
13
|
-
return await llmobs.trace({ name: "getAppState", kind: "task" }, async () => {
|
|
14
|
-
const pageNames = services.appContextStore.getPageNames();
|
|
15
|
-
const componentCountByPage = services.appContextStore.getComponentCountByPage();
|
|
16
|
-
// Get page-specific information for all pages
|
|
17
|
-
const pagesInfo = pageNames.map((pageName) => {
|
|
18
|
-
const scope = services.fileSystemInterface.getScopeDefinitionForPage(pageName);
|
|
19
|
-
const pageComponents = services.appContextStore.getComponentsForPage(pageName);
|
|
20
|
-
const pageApis = services.appContextStore.getApisForPage(pageName);
|
|
21
|
-
const isPageBlank = services.appContextStore.isPageEssentiallyBlank(pageName);
|
|
22
|
-
return {
|
|
23
|
-
pageName,
|
|
24
|
-
pageScopeId: scope?.id,
|
|
25
|
-
isEssentiallyBlank: isPageBlank,
|
|
26
|
-
numberOfComponents: componentCountByPage[pageName] || 0,
|
|
27
|
-
componentSemantics: pageComponents,
|
|
28
|
-
apiSemantics: pageApis,
|
|
29
|
-
entityNames: scope?.entityNames,
|
|
30
|
-
};
|
|
31
|
-
});
|
|
32
|
-
return {
|
|
33
|
-
appScopeId: services.appContextStore.appScopeId,
|
|
34
|
-
appComponentSemantics: services.appContextStore.getComponentsForApp(),
|
|
35
|
-
apiSemantics: services.appContextStore.apiSemanticsByName,
|
|
36
|
-
currentPageName: promptContext?.currentPageName,
|
|
37
|
-
entitiesSelectedByUser: promptContext?.entities,
|
|
38
|
-
integrationsSelectedByUser: promptContext?.integrations,
|
|
39
|
-
isEssentiallyBlank: services.appContextStore.isEssentiallyBlank(),
|
|
40
|
-
pageNames,
|
|
41
|
-
pagesInfo,
|
|
42
|
-
};
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
|
-
export const getAvailableComponents = async (services) => {
|
|
46
|
-
return await llmobs.trace({ name: "getAvailableComponents", kind: "task" }, async () => {
|
|
47
|
-
const componentsManager = ComponentsManager.getInstance();
|
|
48
|
-
const filePaths = componentsManager.componentFilePaths;
|
|
49
|
-
const appRootDirPath = services.appShell.appRootDirPath;
|
|
50
|
-
const components = await Promise.all(filePaths.map(async (p) => {
|
|
51
|
-
const importPathForDocs = path
|
|
52
|
-
.relative(appRootDirPath, p)
|
|
53
|
-
?.replace("/index", "")
|
|
54
|
-
?.replace(".tsx", "");
|
|
55
|
-
const docsMarkdown = await services.componentDocsService.getDocsByImportPath(importPathForDocs);
|
|
56
|
-
return {
|
|
57
|
-
tagName: componentsManager.getComponentName(p),
|
|
58
|
-
docsMarkdown: docsMarkdown,
|
|
59
|
-
pathToSource: path.relative(appRootDirPath, p),
|
|
60
|
-
};
|
|
61
|
-
}));
|
|
62
|
-
components.push({
|
|
63
|
-
tagName: "Page",
|
|
64
|
-
docsMarkdown: `## Import
|
|
65
|
-
|
|
66
|
-
\`\`\`typescript
|
|
67
|
-
import { Page } from "@superblocksteam/library";
|
|
68
|
-
\`\`\`
|
|
69
|
-
`,
|
|
70
|
-
pathToSource: "",
|
|
71
|
-
});
|
|
72
|
-
return components;
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
8
|
export const getFilesChangedInDraftState = async (services) => {
|
|
76
9
|
const { edits, additions } = await services.draftInterface.getDraftChanges();
|
|
77
10
|
return [...edits, ...additions];
|
|
78
11
|
};
|
|
79
|
-
export const ensureScopeFileDraft = async ({ identifier, type, scopeFilePath, }, services) => {
|
|
80
|
-
return await llmobs.trace({ name: "ensureScopeFileDraft", kind: "task" }, async () => {
|
|
81
|
-
if (!scopeFilePath && identifier && type) {
|
|
82
|
-
const { filePath } = services.fileSystemInterface
|
|
83
|
-
.getSourceTracker()
|
|
84
|
-
.getScopeDefinitionAndFilePathByNameOrId({
|
|
85
|
-
identifier,
|
|
86
|
-
type,
|
|
87
|
-
});
|
|
88
|
-
scopeFilePath = filePath;
|
|
89
|
-
}
|
|
90
|
-
if (!scopeFilePath) {
|
|
91
|
-
throw new Error(`Scope file not found for scope ${identifier ?? scopeFilePath}`);
|
|
92
|
-
}
|
|
93
|
-
await services.draftInterface.createDraftMarkerOnly(path.relative(services.appRootDirPath, scopeFilePath));
|
|
94
|
-
});
|
|
95
|
-
};
|
|
96
|
-
export function getPageEntitiesFiltered(pageName, entityTypes, services) {
|
|
97
|
-
return llmobs.trace({ name: "getPageEntitiesFiltered", kind: "task" }, () => {
|
|
98
|
-
const scopeDefinition = services.fileSystemInterface
|
|
99
|
-
.getSourceTracker()
|
|
100
|
-
.getScopeDefinitionForPage(pageName);
|
|
101
|
-
if (!scopeDefinition) {
|
|
102
|
-
return [];
|
|
103
|
-
}
|
|
104
|
-
const results = [];
|
|
105
|
-
// Get StateVar entities from scopeEntities
|
|
106
|
-
if (entityTypes.includes("StateVar") && scopeDefinition.scopeEntities) {
|
|
107
|
-
scopeDefinition.scopeEntities.get("properties").forEach((property) => {
|
|
108
|
-
if (property.isObjectProperty()) {
|
|
109
|
-
const entity = fromNodeToEntity(property);
|
|
110
|
-
if (entity && entity.type === SbEntityType.VARIABLE) {
|
|
111
|
-
results.push({
|
|
112
|
-
name: entity.name,
|
|
113
|
-
type: "StateVar",
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
// Get Component entities from scopeComponents with their types
|
|
120
|
-
if (entityTypes.includes("Component") && scopeDefinition.scopeComponents) {
|
|
121
|
-
// Get component semantic info for better type information
|
|
122
|
-
const componentSemantics = services.appContextStore.getComponentsForPage(pageName);
|
|
123
|
-
const componentsByBindName = new Map(componentSemantics
|
|
124
|
-
.filter((comp) => comp.bindName)
|
|
125
|
-
.map((comp) => [comp.bindName, comp]));
|
|
126
|
-
scopeDefinition.scopeComponents.get("members").forEach((member) => {
|
|
127
|
-
if (member.isTSPropertySignature()) {
|
|
128
|
-
const key = member.get("key");
|
|
129
|
-
if (key.isIdentifier()) {
|
|
130
|
-
const componentName = key.node.name;
|
|
131
|
-
const componentInfo = componentsByBindName.get(componentName);
|
|
132
|
-
results.push({
|
|
133
|
-
name: componentName,
|
|
134
|
-
type: "Component",
|
|
135
|
-
componentType: componentInfo?.tagName,
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
return results;
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
12
|
export const normalizeToBlockStatement = (value) => {
|
|
145
13
|
return llmobs.trace({ name: "normalizeToBlockStatement", kind: "task" }, () => {
|
|
146
14
|
if (!value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/ai-service/agent/utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/ai-service/agent/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export declare class FileSystemInterface {
|
|
|
13
13
|
getElementToFilePath(el: SbElement): string;
|
|
14
14
|
getElementToLocationMap(): Record<`SB-${string}`, import("@babel/traverse").NodePath<import("@babel/types").Node>> | undefined;
|
|
15
15
|
getElementToLocation(el: SbElement): import("@babel/traverse").NodePath<import("@babel/types").Node>;
|
|
16
|
-
|
|
16
|
+
getScopeIdForPage(pageName: string): string;
|
|
17
17
|
getAndFlushChanges(): Promise<{
|
|
18
18
|
fileName: string;
|
|
19
19
|
source: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-system-interface.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-interface/file-system-interface.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAEvE,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,iBAAiB,CAAgC;IAClD,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS;IAOzD,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB;IAIhE,oBAAoB;IAOpB,gBAAgB;IAOhB,eAAe;IAOf,uBAAuB;IAIvB,oBAAoB,CAAC,EAAE,EAAE,SAAS;IAQlC,uBAAuB;IAIvB,oBAAoB,CAAC,EAAE,EAAE,SAAS;IAQlC,
|
|
1
|
+
{"version":3,"file":"file-system-interface.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-interface/file-system-interface.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAEvE,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,iBAAiB,CAAgC;IAClD,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,SAAS;IAOzD,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB;IAIhE,oBAAoB;IAOpB,gBAAgB;IAOhB,eAAe;IAOf,uBAAuB;IAIvB,oBAAoB,CAAC,EAAE,EAAE,SAAS;IAQlC,uBAAuB;IAIvB,oBAAoB,CAAC,EAAE,EAAE,SAAS;IAQlC,iBAAiB,CAAC,QAAQ,EAAE,MAAM;IAWlC,kBAAkB;;;;;IAOlB,aAAa,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAOjE,gBAAgB,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAOvE,iBAAiB,CAAC,SAAS,EAAE,MAAM;CAMpC"}
|
|
@@ -94,11 +94,11 @@ let FileSystemInterface = (() => {
|
|
|
94
94
|
}
|
|
95
95
|
return this.sourceTracker.getElementToLocation(el);
|
|
96
96
|
}
|
|
97
|
-
|
|
97
|
+
getScopeIdForPage(pageName) {
|
|
98
98
|
if (!this.sourceTracker) {
|
|
99
99
|
throw new Error("Source tracker not initialized");
|
|
100
100
|
}
|
|
101
|
-
return this.sourceTracker.
|
|
101
|
+
return this.sourceTracker.getScopeIdForPage(pageName);
|
|
102
102
|
}
|
|
103
103
|
getAndFlushChanges() {
|
|
104
104
|
if (!this.sourceTracker) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-system-interface.js","sourceRoot":"","sources":["../../../src/ai-service/app-interface/file-system-interface.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,MAAM,MAAM,oBAAoB,CAAC;IAK3B,mBAAmB;;;iBAAnB,mBAAmB;;;8CAkE7B,MAAM,CAAC,QAAQ,CAAC;oBACf,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,wCAAwC;iBAC/C,CAAC;YACF,yMAAA,kBAAkB,6DAKjB;;;QA1EO,aAAa,GADV,mDAAmB,CACmB;QACzC,iBAAiB,CAAgC;QAClD,gBAAgB,CAAC,aAAwC;YAC9D,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACrC,CAAC;QAEM,oBAAoB,CAAC,iBAAoC;YAC9D,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC7C,CAAC;QAED,oBAAoB;YAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,gBAAgB;YACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,eAAe;YACb,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QAC9C,CAAC;QAED,uBAAuB;YACrB,OAAO,IAAI,CAAC,aAAa,EAAE,oBAAoB,EAAE,CAAC;QACpD,CAAC;QAED,oBAAoB,CAAC,EAAa;YAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,uBAAuB;YACrB,OAAO,IAAI,CAAC,aAAa,EAAE,oBAAoB,EAAE,CAAC;QACpD,CAAC;QAED,oBAAoB,CAAC,EAAa;YAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YAED,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"file-system-interface.js","sourceRoot":"","sources":["../../../src/ai-service/app-interface/file-system-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,11 @@ export declare class AppShell {
|
|
|
18
18
|
warmLinterCache(): void;
|
|
19
19
|
runNpmInstall(abortSignal?: AbortSignal): Promise<void>;
|
|
20
20
|
runPackageManagerInstall(abortSignal?: AbortSignal): Promise<string>;
|
|
21
|
+
installSpecificPackages(packages: Array<{
|
|
22
|
+
name: string;
|
|
23
|
+
version?: string;
|
|
24
|
+
dev?: boolean;
|
|
25
|
+
}>, abortSignal?: AbortSignal): Promise<string>;
|
|
21
26
|
uninstallPackages(packages: string[], options?: {
|
|
22
27
|
abortSignal?: AbortSignal;
|
|
23
28
|
}): Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-interface/shell.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,KAAK,6BAA6B,EAAE,MAAM,MAAM,CAAC;AAMhE,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAapE,qBAAa,QAAQ;IACnB,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,aAAa,CAAC,CAAkC;gBAE5C,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,GACd,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,cAAc,CAAC;QACjC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACjD;IAQY,SAAS,CACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,CAAC,EAAE,6BAA6B,EAC3C,kBAAkB,UAAO,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC;IA4Cb,YAAY,CACvB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IAoB9B,qBAAqB,CAChC,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoCZ,SAAS,CACpB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IAoBpC,eAAe;IAKT,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BvD,wBAAwB,CAAC,WAAW,CAAC,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../../src/ai-service/app-interface/shell.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,KAAK,6BAA6B,EAAE,MAAM,MAAM,CAAC;AAMhE,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAapE,qBAAa,QAAQ;IACnB,SAAgB,cAAc,EAAE,MAAM,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAiB;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,aAAa,CAAC,CAAkC;gBAE5C,EACV,cAAc,EACd,gBAAgB,EAChB,aAAa,GACd,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,cAAc,CAAC;QACjC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACjD;IAQY,SAAS,CACpB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,CAAC,EAAE,6BAA6B,EAC3C,kBAAkB,UAAO,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC;IA4Cb,YAAY,CACvB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IAoB9B,qBAAqB,CAChC,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoCZ,SAAS,CACpB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC;IAoBpC,eAAe;IAKT,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BvD,wBAAwB,CAAC,WAAW,CAAC,EAAE,WAAW;IA0ClD,uBAAuB,CAClC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,EAClE,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC;IAyFL,iBAAiB,CAC5B,QAAQ,EAAE,MAAM,EAAE,EAClB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,WAAW,CAAC;KAC3B,GACA,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA2BjC,qBAAqB,CAChC,QAAQ,EAAE,YAAY,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAeH,WAAW,CAAC,OAAO,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,GAAG,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjB,mDAAmD;IACtC,UAAU,CAAC,YAAY,EAAE,MAAM;CAU7C"}
|
|
@@ -61,6 +61,7 @@ let AppShell = (() => {
|
|
|
61
61
|
let _warmLinterCache_decorators;
|
|
62
62
|
let _runNpmInstall_decorators;
|
|
63
63
|
let _runPackageManagerInstall_decorators;
|
|
64
|
+
let _installSpecificPackages_decorators;
|
|
64
65
|
let _uninstallPackages_decorators;
|
|
65
66
|
let _saveGeneratedArtifact_decorators;
|
|
66
67
|
return class AppShell {
|
|
@@ -72,6 +73,10 @@ let AppShell = (() => {
|
|
|
72
73
|
_warmLinterCache_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.warmLinterCache" })];
|
|
73
74
|
_runNpmInstall_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.runNpmInstall" })];
|
|
74
75
|
_runPackageManagerInstall_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.runPackageManagerInstall" })];
|
|
76
|
+
_installSpecificPackages_decorators = [llmobs.decorate({
|
|
77
|
+
kind: "task",
|
|
78
|
+
name: "AppShell.installSpecificPackages",
|
|
79
|
+
})];
|
|
75
80
|
_uninstallPackages_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.uninstallPackages" })];
|
|
76
81
|
_saveGeneratedArtifact_decorators = [llmobs.decorate({ kind: "task", name: "AppShell.saveGeneratedArtifact" })];
|
|
77
82
|
__esDecorate(this, null, _readFiles_decorators, { kind: "method", name: "readFiles", static: false, private: false, access: { has: obj => "readFiles" in obj, get: obj => obj.readFiles }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
@@ -80,6 +85,7 @@ let AppShell = (() => {
|
|
|
80
85
|
__esDecorate(this, null, _warmLinterCache_decorators, { kind: "method", name: "warmLinterCache", static: false, private: false, access: { has: obj => "warmLinterCache" in obj, get: obj => obj.warmLinterCache }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
81
86
|
__esDecorate(this, null, _runNpmInstall_decorators, { kind: "method", name: "runNpmInstall", static: false, private: false, access: { has: obj => "runNpmInstall" in obj, get: obj => obj.runNpmInstall }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
82
87
|
__esDecorate(this, null, _runPackageManagerInstall_decorators, { kind: "method", name: "runPackageManagerInstall", static: false, private: false, access: { has: obj => "runPackageManagerInstall" in obj, get: obj => obj.runPackageManagerInstall }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
88
|
+
__esDecorate(this, null, _installSpecificPackages_decorators, { kind: "method", name: "installSpecificPackages", static: false, private: false, access: { has: obj => "installSpecificPackages" in obj, get: obj => obj.installSpecificPackages }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
83
89
|
__esDecorate(this, null, _uninstallPackages_decorators, { kind: "method", name: "uninstallPackages", static: false, private: false, access: { has: obj => "uninstallPackages" in obj, get: obj => obj.uninstallPackages }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
84
90
|
__esDecorate(this, null, _saveGeneratedArtifact_decorators, { kind: "method", name: "saveGeneratedArtifact", static: false, private: false, access: { has: obj => "saveGeneratedArtifact" in obj, get: obj => obj.saveGeneratedArtifact }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
85
91
|
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
@@ -225,6 +231,60 @@ let AppShell = (() => {
|
|
|
225
231
|
});
|
|
226
232
|
return stdout;
|
|
227
233
|
}
|
|
234
|
+
async installSpecificPackages(packages, abortSignal) {
|
|
235
|
+
if (!packages || packages.length === 0) {
|
|
236
|
+
throw new Error("No packages specified for installation");
|
|
237
|
+
}
|
|
238
|
+
const packageManager = await detect({
|
|
239
|
+
strategies: [
|
|
240
|
+
"packageManager-field",
|
|
241
|
+
"lockfile",
|
|
242
|
+
"install-metadata",
|
|
243
|
+
"devEngines-field",
|
|
244
|
+
],
|
|
245
|
+
cwd: this.appRootDirPath,
|
|
246
|
+
});
|
|
247
|
+
if (!packageManager) {
|
|
248
|
+
throw new Error("Could not detect package manager");
|
|
249
|
+
}
|
|
250
|
+
// Separate regular and dev dependencies
|
|
251
|
+
const regularPackages = packages.filter((pkg) => !pkg.dev);
|
|
252
|
+
const devPackages = packages.filter((pkg) => pkg.dev);
|
|
253
|
+
const outputs = [];
|
|
254
|
+
// Install regular dependencies
|
|
255
|
+
if (regularPackages.length > 0) {
|
|
256
|
+
const packageSpecs = regularPackages.map((pkg) => pkg.version ? `${pkg.name}@${pkg.version}` : pkg.name);
|
|
257
|
+
const addCommand = resolveCommand(packageManager.agent, "add", packageManager.agent === "npm"
|
|
258
|
+
? ["--fund=false", "--audit=false", ...packageSpecs]
|
|
259
|
+
: packageSpecs);
|
|
260
|
+
if (!addCommand) {
|
|
261
|
+
throw new Error(`Could not determine add command for ${packageManager.agent}`);
|
|
262
|
+
}
|
|
263
|
+
const { command, args } = addCommand;
|
|
264
|
+
const { stdout } = await execPromise(`${command} ${args.join(" ")}`, {
|
|
265
|
+
cwd: this.appRootDirPath,
|
|
266
|
+
signal: abortSignal,
|
|
267
|
+
});
|
|
268
|
+
outputs.push(stdout);
|
|
269
|
+
}
|
|
270
|
+
// Install dev dependencies
|
|
271
|
+
if (devPackages.length > 0) {
|
|
272
|
+
const packageSpecs = devPackages.map((pkg) => pkg.version ? `${pkg.name}@${pkg.version}` : pkg.name);
|
|
273
|
+
const addCommand = resolveCommand(packageManager.agent, "add", packageManager.agent === "npm"
|
|
274
|
+
? ["--save-dev", "--fund=false", "--audit=false", ...packageSpecs]
|
|
275
|
+
: ["-D", ...packageSpecs]);
|
|
276
|
+
if (!addCommand) {
|
|
277
|
+
throw new Error(`Could not determine add command for ${packageManager.agent}`);
|
|
278
|
+
}
|
|
279
|
+
const { command, args } = addCommand;
|
|
280
|
+
const { stdout } = await execPromise(`${command} ${args.join(" ")}`, {
|
|
281
|
+
cwd: this.appRootDirPath,
|
|
282
|
+
signal: abortSignal,
|
|
283
|
+
});
|
|
284
|
+
outputs.push(stdout);
|
|
285
|
+
}
|
|
286
|
+
return outputs.join("\n");
|
|
287
|
+
}
|
|
228
288
|
async uninstallPackages(packages, options) {
|
|
229
289
|
return await new Promise((resolve, reject) => {
|
|
230
290
|
// Use pnpm for local env, npm otherwise (same pattern as runNpmInstall)
|