@superblocksteam/vite-plugin-file-sync 2.0.119-next.1 → 2.0.120-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-service/agent/middleware.d.ts.map +1 -1
- package/dist/ai-service/agent/middleware.js +2 -5
- 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 +17 -11
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts +17 -0
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts.map +1 -0
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js +219 -0
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js.map +1 -0
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +64 -6
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-comparator.d.ts +36 -0
- package/dist/ai-service/agent/tools/apis/api-comparator.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/api-comparator.js +369 -0
- package/dist/ai-service/agent/tools/apis/api-comparator.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts +4 -0
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +16 -5
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts +1 -0
- 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 +17 -2
- 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 +17 -15
- 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 +1 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js +18 -13
- package/dist/ai-service/agent/tools/apis/get-sdk-api-docs.js.map +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 +138 -2
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-copy-directory.d.ts +12 -0
- package/dist/ai-service/agent/tools/build-copy-directory.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/build-copy-directory.js +51 -0
- package/dist/ai-service/agent/tools/build-copy-directory.js.map +1 -0
- package/dist/ai-service/agent/tools/build-copy-file.d.ts +12 -0
- package/dist/ai-service/agent/tools/build-copy-file.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/build-copy-file.js +52 -0
- package/dist/ai-service/agent/tools/build-copy-file.js.map +1 -0
- package/dist/ai-service/agent/tools/build-copy-utils.d.ts +57 -0
- package/dist/ai-service/agent/tools/build-copy-utils.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/build-copy-utils.js +37 -0
- package/dist/ai-service/agent/tools/build-copy-utils.js.map +1 -0
- package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.js +17 -5
- package/dist/ai-service/agent/tools/build-debug.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 +42 -50
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +7 -5
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.js +54 -108
- package/dist/ai-service/agent/tools/build-manage-checklist.js.map +1 -1
- package/dist/ai-service/agent/tools/databases/dev-database.d.ts +103 -0
- package/dist/ai-service/agent/tools/databases/dev-database.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/databases/dev-database.js +117 -0
- package/dist/ai-service/agent/tools/databases/dev-database.js.map +1 -0
- package/dist/ai-service/agent/tools/get-logs.d.ts +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +4 -0
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +4 -0
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/delete-integration.d.ts +18 -0
- package/dist/ai-service/agent/tools/integrations/delete-integration.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/integrations/delete-integration.js +99 -0
- package/dist/ai-service/agent/tools/integrations/delete-integration.js.map +1 -0
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +1 -1
- package/dist/ai-service/agent/tools/integrations/index.d.ts +1 -0
- package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/index.js +1 -0
- package/dist/ai-service/agent/tools/integrations/index.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 +30 -4
- package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -1
- package/dist/ai-service/agent/tools/report-security-findings.d.ts +163 -0
- package/dist/ai-service/agent/tools/report-security-findings.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/report-security-findings.js +52 -0
- package/dist/ai-service/agent/tools/report-security-findings.js.map +1 -0
- package/dist/ai-service/agent/tools.d.ts +2 -0
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +74 -6
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/example.js +1 -1
- package/dist/ai-service/agent/tools2/example.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ask-multi-choice.d.ts +7 -0
- 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/ask-searchable-dropdown.d.ts +7 -0
- package/dist/ai-service/agent/tools2/tools/ask-searchable-dropdown.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/ask-searchable-dropdown.js +3 -1
- package/dist/ai-service/agent/tools2/tools/ask-searchable-dropdown.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/download-attachments.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/download-attachments.js +4 -3
- package/dist/ai-service/agent/tools2/tools/download-attachments.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts +9 -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 +15 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.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 +8 -4
- package/dist/ai-service/agent/tools2/tools/list-attachments.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/spawn-coding-subagents.d.ts +21 -4
- package/dist/ai-service/agent/tools2/tools/spawn-coding-subagents.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/spawn-coding-subagents.js +87 -11
- package/dist/ai-service/agent/tools2/tools/spawn-coding-subagents.js.map +1 -1
- package/dist/ai-service/agent/tools2/types.d.ts +10 -2
- 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/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +2 -0
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/app-interface/filesystem/draft-manager.d.ts +1 -1
- package/dist/ai-service/app-interface/filesystem/draft-manager.d.ts.map +1 -1
- package/dist/ai-service/app-interface/filesystem/draft-manager.js.map +1 -1
- package/dist/ai-service/app-interface/npm-registry.d.ts +137 -0
- package/dist/ai-service/app-interface/npm-registry.d.ts.map +1 -0
- package/dist/ai-service/app-interface/npm-registry.js +415 -0
- package/dist/ai-service/app-interface/npm-registry.js.map +1 -0
- package/dist/ai-service/app-interface/shell.d.ts +38 -0
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +222 -1
- package/dist/ai-service/app-interface/shell.js.map +1 -1
- package/dist/ai-service/attachments/uploaded-content-part.d.ts +5 -0
- package/dist/ai-service/attachments/uploaded-content-part.d.ts.map +1 -1
- package/dist/ai-service/attachments/uploaded-content-part.js +31 -21
- package/dist/ai-service/attachments/uploaded-content-part.js.map +1 -1
- package/dist/ai-service/checklist/persisted-checklist-store.d.ts +105 -0
- package/dist/ai-service/checklist/persisted-checklist-store.d.ts.map +1 -0
- package/dist/ai-service/checklist/persisted-checklist-store.js +498 -0
- package/dist/ai-service/checklist/persisted-checklist-store.js.map +1 -0
- package/dist/ai-service/context-download.d.ts +14 -1
- package/dist/ai-service/context-download.d.ts.map +1 -1
- package/dist/ai-service/context-download.js +80 -0
- package/dist/ai-service/context-download.js.map +1 -1
- package/dist/ai-service/dev-database-client.d.ts +90 -0
- package/dist/ai-service/dev-database-client.d.ts.map +1 -0
- package/dist/ai-service/dev-database-client.js +166 -0
- package/dist/ai-service/dev-database-client.js.map +1 -0
- package/dist/ai-service/features.d.ts +16 -0
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +10 -0
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/filter-disabled-tools-for-migration.d.ts +6 -0
- package/dist/ai-service/filter-disabled-tools-for-migration.d.ts.map +1 -0
- package/dist/ai-service/filter-disabled-tools-for-migration.js +35 -0
- package/dist/ai-service/filter-disabled-tools-for-migration.js.map +1 -0
- package/dist/ai-service/index.d.ts +11 -1
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +86 -37
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +5 -0
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +19 -2
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/judge/tools/submit-feedback.d.ts +1 -1
- package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/context.js +6 -2
- package/dist/ai-service/llm/context-v2/context.js.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.d.ts +8 -1
- package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.js +17 -1
- package/dist/ai-service/llm/context-v2/manager.js.map +1 -1
- package/dist/ai-service/llm/context-v2/prompts/compaction.d.ts +1 -1
- package/dist/ai-service/llm/context-v2/prompts/compaction.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/prompts/compaction.js +3 -3
- package/dist/ai-service/llm/context-v2/types.d.ts +7 -0
- package/dist/ai-service/llm/context-v2/types.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/types.js +33 -0
- package/dist/ai-service/llm/context-v2/types.js.map +1 -1
- package/dist/ai-service/llm/impl/clark.d.ts.map +1 -1
- package/dist/ai-service/llm/impl/clark.js +3 -3
- 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 +22 -7
- package/dist/ai-service/llm/provider.js.map +1 -1
- package/dist/ai-service/llm/types.d.ts +14 -1
- package/dist/ai-service/llm/types.d.ts.map +1 -1
- package/dist/ai-service/llmobs/context-registry.d.ts +62 -0
- package/dist/ai-service/llmobs/context-registry.d.ts.map +1 -0
- package/dist/ai-service/llmobs/context-registry.js +115 -0
- package/dist/ai-service/llmobs/context-registry.js.map +1 -0
- package/dist/ai-service/llmobs/otel-exporter.d.ts +23 -0
- package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -1
- package/dist/ai-service/llmobs/otel-exporter.js +112 -10
- package/dist/ai-service/llmobs/otel-exporter.js.map +1 -1
- package/dist/ai-service/llmobs/tracer.d.ts +7 -0
- package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
- package/dist/ai-service/llmobs/tracer.js +38 -0
- package/dist/ai-service/llmobs/tracer.js.map +1 -1
- package/dist/ai-service/skills/system/_registry.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/_registry.generated.js +2 -0
- package/dist/ai-service/skills/system/_registry.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +2 -0
- package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/references/focused-debug.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/references/focused-debug.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/references/focused-debug.generated.js +3 -1
- package/dist/ai-service/skills/system/superblocks-migration/references/focused-debug.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/references/yaml-block-mapping.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/references/yaml-block-mapping.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/references/yaml-block-mapping.generated.js +29 -0
- package/dist/ai-service/skills/system/superblocks-migration/references/yaml-block-mapping.generated.js.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.js +139 -7
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.js.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts +2 -0
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts.map +1 -0
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js +107 -0
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js.map +1 -0
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.d.ts.map +1 -1
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.js +33 -3
- package/dist/ai-service/skills/system/third-party-migration/skill.generated.js.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +21 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +79 -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 +10 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +69 -41
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.d.ts +35 -7
- package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.js +81 -15
- package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
- package/dist/ai-service/template-renderer.d.ts +14 -1
- package/dist/ai-service/template-renderer.d.ts.map +1 -1
- package/dist/ai-service/template-renderer.js +144 -41
- package/dist/ai-service/template-renderer.js.map +1 -1
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +2 -2
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -1
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.js +2 -2
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.js.map +1 -1
- package/dist/draft-interface.d.ts +1 -1
- package/dist/draft-interface.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +34 -27
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-helpers.d.ts +4 -0
- package/dist/file-system-helpers.d.ts.map +1 -1
- package/dist/file-system-helpers.js +13 -0
- package/dist/file-system-helpers.js.map +1 -1
- package/dist/inject-index-vite-plugin.d.ts.map +1 -1
- package/dist/inject-index-vite-plugin.js +15 -1
- package/dist/inject-index-vite-plugin.js.map +1 -1
- package/dist/injected-index.d.ts.map +1 -1
- package/dist/injected-index.js +15 -1
- package/dist/injected-index.js.map +1 -1
- package/dist/lock-service/index.d.ts.map +1 -1
- package/dist/lock-service/index.js +8 -10
- package/dist/lock-service/index.js.map +1 -1
- package/dist/migration/migration-checklist.d.ts +51 -2
- package/dist/migration/migration-checklist.d.ts.map +1 -1
- package/dist/migration/migration-checklist.js +79 -151
- package/dist/migration/migration-checklist.js.map +1 -1
- package/dist/migration/migration-routes.d.ts.map +1 -1
- package/dist/migration/migration-routes.js +290 -30
- package/dist/migration/migration-routes.js.map +1 -1
- package/dist/migration/migration-verification.d.ts +206 -0
- package/dist/migration/migration-verification.d.ts.map +1 -0
- package/dist/migration/migration-verification.js +1006 -0
- package/dist/migration/migration-verification.js.map +1 -0
- package/dist/migration/recommended-user-deps.d.ts +39 -0
- package/dist/migration/recommended-user-deps.d.ts.map +1 -0
- package/dist/migration/recommended-user-deps.js +209 -0
- package/dist/migration/recommended-user-deps.js.map +1 -0
- package/dist/migration/restructure.d.ts +29 -2
- package/dist/migration/restructure.d.ts.map +1 -1
- package/dist/migration/restructure.js +145 -6
- package/dist/migration/restructure.js.map +1 -1
- package/dist/migration/scan-imports.d.ts +7 -0
- package/dist/migration/scan-imports.d.ts.map +1 -0
- package/dist/migration/scan-imports.js +178 -0
- package/dist/migration/scan-imports.js.map +1 -0
- package/dist/migration/translation-prompt.d.ts.map +1 -1
- package/dist/migration/translation-prompt.js +2 -0
- package/dist/migration/translation-prompt.js.map +1 -1
- package/dist/migration/unsupported-integrations.d.ts.map +1 -1
- package/dist/migration/unsupported-integrations.js +9 -0
- package/dist/migration/unsupported-integrations.js.map +1 -1
- package/dist/migration/yaml-walk.d.ts +18 -0
- package/dist/migration/yaml-walk.d.ts.map +1 -0
- package/dist/migration/yaml-walk.js +45 -0
- package/dist/migration/yaml-walk.js.map +1 -0
- package/dist/migration-templates/app-fullstack/client/components/hooks/use-mobile.ts +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/accordion.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/avatar.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/breadcrumb.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/button.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/calendar.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/chart.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/file-dropzone.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/file-input.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/hover-card.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/image.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/input.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/label.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/navigation-menu.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/pagination.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/popover.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/progress.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/select.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/sheet.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/sidebar.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/slider.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/switch.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/table.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/tabs.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/toggle-group.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/toggle.tsx +1 -1
- package/dist/migration-templates/app-fullstack/client/components/ui/tooltip.tsx +1 -1
- package/dist/socket-manager.d.ts.map +1 -1
- package/dist/socket-manager.js +8 -0
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/hash-dir-tree.d.ts +1 -1
- package/dist/sync-service/hash-dir-tree.d.ts.map +1 -1
- package/dist/sync-service/hash-dir-tree.js +3 -3
- package/dist/sync-service/hash-dir-tree.js.map +1 -1
- package/dist/sync-service/index.d.ts +0 -14
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +1 -44
- package/dist/sync-service/index.js.map +1 -1
- package/dist/sync-service/list-dir.d.ts +1 -1
- package/dist/sync-service/list-dir.d.ts.map +1 -1
- package/dist/sync-service/list-dir.js +36 -3
- package/dist/sync-service/list-dir.js.map +1 -1
- package/dist/sync-service/snapshot/take-snapshot.d.ts +1 -1
- package/dist/sync-service/snapshot/take-snapshot.d.ts.map +1 -1
- package/dist/sync-service/snapshot/take-snapshot.js +4 -8
- package/dist/sync-service/snapshot/take-snapshot.js.map +1 -1
- package/dist/util/log-sanitizer.d.ts +6 -5
- package/dist/util/log-sanitizer.d.ts.map +1 -1
- package/dist/util/log-sanitizer.js +21 -6
- package/dist/util/log-sanitizer.js.map +1 -1
- package/package.json +9 -8
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
import { access, readFile, readdir, rm, writeFile } from "node:fs/promises";
|
|
1
|
+
import { access, mkdir, readFile, readdir, rm, writeFile, } from "node:fs/promises";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import bodyParser from "body-parser";
|
|
4
4
|
import { parse as parseYaml } from "yaml";
|
|
5
|
+
import { LanguagePluginID } from "@superblocksteam/shared";
|
|
6
|
+
import { extractIntegrationIdsFromSource } from "../ai-service/agent/tools/apis/analysis.js";
|
|
7
|
+
import { API_MIGRATION_ORIGINS, clearChecklist, clearChecklistItemsByOrigin, markChecklistCompleted, readPersistedChecklist, retryFailedSeedApiItemsFromChecklist, updateChecklistItem, } from "../ai-service/checklist/persisted-checklist-store.js";
|
|
5
8
|
import { getErrorMeta } from "../util/logger.js";
|
|
6
9
|
import { getFullstackTemplateDir } from "./get-fullstack-template-dir.js";
|
|
7
|
-
import { MIGRATION_CHECKLIST_FILE, markMigrationChecklistCompleted, readMigrationChecklist, retryFailedSeedApiItems, } from "./migration-checklist.js";
|
|
8
10
|
import { classifyIntegrationMutations } from "./migration-classifier.js";
|
|
11
|
+
import { analyzeV2BackupMutations, clearVerificationHistory, } from "./migration-verification.js";
|
|
9
12
|
import { migrateToFullstack } from "./restructure.js";
|
|
10
13
|
import { detectUnsupportedIntegrations } from "./unsupported-integrations.js";
|
|
14
|
+
import { forEachYamlStep } from "./yaml-walk.js";
|
|
11
15
|
async function pathExists(path) {
|
|
12
16
|
try {
|
|
13
17
|
await access(path);
|
|
@@ -58,12 +62,19 @@ async function findLiveApiYamls(rootDir) {
|
|
|
58
62
|
}
|
|
59
63
|
return results.sort();
|
|
60
64
|
}
|
|
65
|
+
const LANGUAGE_PLUGIN_IDS = new Set(Object.values(LanguagePluginID));
|
|
61
66
|
/**
|
|
62
67
|
* Extracts integration entries from a set of api.yaml paths by parsing each
|
|
63
68
|
* file and classifying its steps.
|
|
64
69
|
*
|
|
65
|
-
* v2 YAML structure: `blocks[].step.integration`
|
|
66
|
-
*
|
|
70
|
+
* v2 YAML structure: `blocks[].step.integration`, but `step` may live at any
|
|
71
|
+
* depth — control-flow blocks (conditional / tryCatch / foreach / parallel)
|
|
72
|
+
* nest their children. We walk every node so an integration referenced only
|
|
73
|
+
* inside a `tryCatch.try.blocks` entry isn't silently dropped from the modal.
|
|
74
|
+
*
|
|
75
|
+
* Language-runtime "integrations" (`javascript`, `python`) are excluded:
|
|
76
|
+
* they are inline code, not data integrations, so the user has no meaningful
|
|
77
|
+
* write-policy decision to make about them.
|
|
67
78
|
*/
|
|
68
79
|
async function extractIntegrationsFromYamls(yamlPaths) {
|
|
69
80
|
const integrationSteps = new Map();
|
|
@@ -71,24 +82,23 @@ async function extractIntegrationsFromYamls(yamlPaths) {
|
|
|
71
82
|
try {
|
|
72
83
|
const raw = await readFile(yamlPath, "utf-8");
|
|
73
84
|
const parsed = parseYaml(raw);
|
|
74
|
-
|
|
75
|
-
const step = block.step;
|
|
76
|
-
if (!step || typeof step !== "object")
|
|
77
|
-
continue;
|
|
85
|
+
forEachYamlStep(parsed, (step) => {
|
|
78
86
|
const integrationId = step["integration"];
|
|
79
87
|
if (typeof integrationId !== "string" || integrationId.length === 0) {
|
|
80
|
-
|
|
88
|
+
return;
|
|
81
89
|
}
|
|
82
90
|
const existing = integrationSteps.get(integrationId) ?? [];
|
|
83
91
|
existing.push(step);
|
|
84
92
|
integrationSteps.set(integrationId, existing);
|
|
85
|
-
}
|
|
93
|
+
});
|
|
86
94
|
}
|
|
87
95
|
catch {
|
|
88
96
|
// Skip unreadable YAMLs
|
|
89
97
|
}
|
|
90
98
|
}
|
|
91
|
-
return Array.from(integrationSteps.entries())
|
|
99
|
+
return Array.from(integrationSteps.entries())
|
|
100
|
+
.filter(([id]) => !LANGUAGE_PLUGIN_IDS.has(id))
|
|
101
|
+
.map(([id, steps]) => ({
|
|
92
102
|
id,
|
|
93
103
|
displayName: id,
|
|
94
104
|
defaultPolicy: "ask",
|
|
@@ -130,7 +140,7 @@ async function resolveStatus(appRootDir, opts = {}) {
|
|
|
130
140
|
pathExists(stateFilePath),
|
|
131
141
|
]);
|
|
132
142
|
const [checklist, integrations] = await Promise.all([
|
|
133
|
-
|
|
143
|
+
readPersistedChecklist(appRootDir),
|
|
134
144
|
hasV2Backup
|
|
135
145
|
? collectMigrationIntegrations(appRootDir)
|
|
136
146
|
: collectPreMigrationIntegrations(appRootDir),
|
|
@@ -164,14 +174,29 @@ async function resolveStatus(appRootDir, opts = {}) {
|
|
|
164
174
|
...(integrations !== undefined && { integrations }),
|
|
165
175
|
};
|
|
166
176
|
}
|
|
167
|
-
const seedApiItems = checklist?.items.filter((item) => item.origin === "seed_api") ?? [];
|
|
168
|
-
const pendingCount = seedApiItems.filter((item) => item.status === "pending" || item.status === "in_progress").length;
|
|
169
|
-
const failedCount = seedApiItems.filter((item) => item.status === "failed").length;
|
|
170
177
|
const persistedState = await readPersistedMigrationState(stateFilePath);
|
|
171
178
|
const startedAt = inMemoryStatus.startedAt ?? persistedState.startedAt;
|
|
172
179
|
const backupCommitId = inMemoryStatus.backupCommitId ?? persistedState.backupCommitId;
|
|
173
180
|
const migrationCommitId = inMemoryStatus.migrationCommitId ?? persistedState.migrationCommitId;
|
|
174
181
|
const integrationWritePolicy = persistedState.integrationWritePolicy;
|
|
182
|
+
// Migration state is durable on disk, but checklist writes can be briefly
|
|
183
|
+
// delayed during startup/restart windows. Never report "done" until a
|
|
184
|
+
// checklist payload is available with at least one row.
|
|
185
|
+
if (!checklist || checklist.items.length === 0) {
|
|
186
|
+
return {
|
|
187
|
+
state: "translating",
|
|
188
|
+
startedAt,
|
|
189
|
+
backupCommitId,
|
|
190
|
+
migrationCommitId,
|
|
191
|
+
hasV2Backup,
|
|
192
|
+
checklist: checklistPayload,
|
|
193
|
+
...(integrations !== undefined && { integrations }),
|
|
194
|
+
...(integrationWritePolicy !== undefined && { integrationWritePolicy }),
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
const seedApiItems = checklist.items.filter((item) => API_MIGRATION_ORIGINS.has(item.origin));
|
|
198
|
+
const pendingCount = seedApiItems.filter((item) => item.status === "pending" || item.status === "in_progress").length;
|
|
199
|
+
const failedCount = seedApiItems.filter((item) => item.status === "failed").length;
|
|
175
200
|
if (checklist?.overallStatus === "completed") {
|
|
176
201
|
return {
|
|
177
202
|
state: "done",
|
|
@@ -315,10 +340,15 @@ export function registerMigrationRoutes(server, options) {
|
|
|
315
340
|
}
|
|
316
341
|
const scratchDirPath = join(appRootDir, SCRATCH_DIR_NAME);
|
|
317
342
|
const stateFilePath = join(scratchDirPath, MIGRATION_STATE_FILE);
|
|
318
|
-
|
|
343
|
+
// Also clear the per-API verification directory so stale `.diff.json`
|
|
344
|
+
// and `.history.json` files from the prior run don't poison the next
|
|
345
|
+
// attempt — without this, a re-run would inherit the previous attempt
|
|
346
|
+
// count and could trip the verification exhaustion cap immediately.
|
|
347
|
+
const verificationDirPath = join(scratchDirPath, "migration-verification");
|
|
319
348
|
await Promise.all([
|
|
320
349
|
rm(stateFilePath, { force: true }),
|
|
321
|
-
|
|
350
|
+
clearChecklist({ appRootDirPath: appRootDir }),
|
|
351
|
+
rm(verificationDirPath, { recursive: true, force: true }),
|
|
322
352
|
]);
|
|
323
353
|
inMemoryStatus = { state: "idle" };
|
|
324
354
|
const status = await resolveStatus(appRootDir, { ignoreInMemory: true });
|
|
@@ -513,9 +543,15 @@ export function registerMigrationRoutes(server, options) {
|
|
|
513
543
|
}
|
|
514
544
|
res.setHeader("Content-Type", "application/json");
|
|
515
545
|
try {
|
|
516
|
-
const result = await
|
|
546
|
+
const result = await retryFailedSeedApiItemsFromChecklist(appRootDir);
|
|
547
|
+
// Wipe each retried API's on-disk verification history so the next
|
|
548
|
+
// runMigrationVerification call doesn't immediately return
|
|
549
|
+
// `kind: "exhausted"` from the prior cap-hit run, making this retry
|
|
550
|
+
// a no-op. Best-effort: missing files are not an error.
|
|
551
|
+
await Promise.all(result.retriedApiNames.map((apiName) => clearVerificationHistory(appRootDir, apiName)));
|
|
517
552
|
logger.info("[migrate-route] retry-unresolved flipped items", {
|
|
518
553
|
retriedCount: result.retriedCount,
|
|
554
|
+
retriedApiNames: result.retriedApiNames,
|
|
519
555
|
});
|
|
520
556
|
const status = await resolveStatus(appRootDir, {
|
|
521
557
|
ignoreInMemory: true,
|
|
@@ -565,12 +601,12 @@ export function registerMigrationRoutes(server, options) {
|
|
|
565
601
|
if (status.state !== "done") {
|
|
566
602
|
res.statusCode = 409;
|
|
567
603
|
res.end(JSON.stringify({
|
|
568
|
-
error: "Migration can only be completed after all APIs are
|
|
604
|
+
error: "Migration can only be completed after all APIs are migrated successfully.",
|
|
569
605
|
state: status.state,
|
|
570
606
|
}));
|
|
571
607
|
return;
|
|
572
608
|
}
|
|
573
|
-
const checklist = await
|
|
609
|
+
const checklist = await readPersistedChecklist(appRootDir);
|
|
574
610
|
if (!checklist) {
|
|
575
611
|
res.statusCode = 404;
|
|
576
612
|
res.end(JSON.stringify({
|
|
@@ -578,14 +614,24 @@ export function registerMigrationRoutes(server, options) {
|
|
|
578
614
|
}));
|
|
579
615
|
return;
|
|
580
616
|
}
|
|
581
|
-
const
|
|
582
|
-
|
|
583
|
-
|
|
617
|
+
const shouldMarkChecklistCompleted = checklist.overallStatus !== "completed";
|
|
618
|
+
if (shouldMarkChecklistCompleted) {
|
|
619
|
+
await markChecklistCompleted({
|
|
584
620
|
appRootDirPath: appRootDir,
|
|
585
621
|
});
|
|
586
|
-
if (checklist.overallStatus !== "completed") {
|
|
587
622
|
logger.info("[migrate-route] marked checklist as completed");
|
|
588
623
|
}
|
|
624
|
+
const clearedUpgradeItems = await clearChecklistItemsByOrigin({
|
|
625
|
+
appRootDirPath: appRootDir,
|
|
626
|
+
origins: Array.from(API_MIGRATION_ORIGINS),
|
|
627
|
+
});
|
|
628
|
+
const checklistAfterCompletion = await readPersistedChecklist(appRootDir);
|
|
629
|
+
if (clearedUpgradeItems.removedCount > 0) {
|
|
630
|
+
logger.info("[migrate-route] removed API migration checklist items", {
|
|
631
|
+
removedCount: clearedUpgradeItems.removedCount,
|
|
632
|
+
remainingCount: clearedUpgradeItems.remainingCount,
|
|
633
|
+
});
|
|
634
|
+
}
|
|
589
635
|
await rm(join(appRootDir, SCRATCH_DIR_NAME, "v2-backup"), {
|
|
590
636
|
recursive: true,
|
|
591
637
|
force: true,
|
|
@@ -614,11 +660,13 @@ export function registerMigrationRoutes(server, options) {
|
|
|
614
660
|
backupCommitId: status.backupCommitId,
|
|
615
661
|
migrationCommitId: status.migrationCommitId,
|
|
616
662
|
hasV2Backup: false,
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
663
|
+
...(checklistAfterCompletion && {
|
|
664
|
+
checklist: {
|
|
665
|
+
overallStatus: checklistAfterCompletion.overallStatus,
|
|
666
|
+
items: checklistAfterCompletion.items,
|
|
667
|
+
lastUpdated: checklistAfterCompletion.lastUpdated,
|
|
668
|
+
},
|
|
669
|
+
}),
|
|
622
670
|
};
|
|
623
671
|
res.statusCode = 200;
|
|
624
672
|
res.setHeader("Content-Type", "application/json");
|
|
@@ -657,7 +705,22 @@ export function registerMigrationRoutes(server, options) {
|
|
|
657
705
|
res.end(JSON.stringify({ error: "policy object required" }));
|
|
658
706
|
return;
|
|
659
707
|
}
|
|
660
|
-
const
|
|
708
|
+
const VALID_POLICIES = new Set([
|
|
709
|
+
"allow",
|
|
710
|
+
"ask",
|
|
711
|
+
"deny",
|
|
712
|
+
]);
|
|
713
|
+
const invalidEntries = Object.entries(body.policy).filter(([, v]) => !VALID_POLICIES.has(v));
|
|
714
|
+
if (invalidEntries.length > 0) {
|
|
715
|
+
res.statusCode = 400;
|
|
716
|
+
res.setHeader("Content-Type", "application/json");
|
|
717
|
+
res.end(JSON.stringify({
|
|
718
|
+
error: `Invalid policy values for: ${invalidEntries.map(([k]) => k).join(", ")}. Allowed: allow, ask, deny`,
|
|
719
|
+
}));
|
|
720
|
+
return;
|
|
721
|
+
}
|
|
722
|
+
const scratchDirPath = join(appRootDir, SCRATCH_DIR_NAME);
|
|
723
|
+
const stateFilePath = join(scratchDirPath, MIGRATION_STATE_FILE);
|
|
661
724
|
let parsed;
|
|
662
725
|
try {
|
|
663
726
|
parsed = JSON.parse(await readFile(stateFilePath, "utf-8"));
|
|
@@ -666,6 +729,7 @@ export function registerMigrationRoutes(server, options) {
|
|
|
666
729
|
parsed = {};
|
|
667
730
|
}
|
|
668
731
|
parsed.integrationWritePolicy = body.policy;
|
|
732
|
+
await mkdir(scratchDirPath, { recursive: true });
|
|
669
733
|
await writeFile(stateFilePath, JSON.stringify(parsed, null, 2) + "\n", "utf-8");
|
|
670
734
|
const status = await resolveStatus(appRootDir);
|
|
671
735
|
res.statusCode = 200;
|
|
@@ -679,6 +743,202 @@ export function registerMigrationRoutes(server, options) {
|
|
|
679
743
|
}));
|
|
680
744
|
});
|
|
681
745
|
});
|
|
746
|
+
// --- POST /sb-migration-set-verification-outcome --------------------------
|
|
747
|
+
server.middlewares.use("/sb-migration-set-verification-outcome", bodyParser.json({ strict: true }));
|
|
748
|
+
server.middlewares.use("/sb-migration-set-verification-outcome", (req, res, next) => {
|
|
749
|
+
void (async () => {
|
|
750
|
+
if (!getIsInitialized())
|
|
751
|
+
return next();
|
|
752
|
+
if (!setupCorsAndValidateMethod({
|
|
753
|
+
req,
|
|
754
|
+
res,
|
|
755
|
+
allowedMethod: "POST",
|
|
756
|
+
allowHeaders: "Content-Type",
|
|
757
|
+
}))
|
|
758
|
+
return;
|
|
759
|
+
const body = req.body;
|
|
760
|
+
const { apiName, outcome } = body ?? {};
|
|
761
|
+
if (typeof apiName !== "string" ||
|
|
762
|
+
!/^[a-zA-Z0-9_-]+$/.test(apiName) ||
|
|
763
|
+
(outcome !== "user_manually_verified" &&
|
|
764
|
+
outcome !== "diverged_user_accepted")) {
|
|
765
|
+
res.statusCode = 400;
|
|
766
|
+
res.setHeader("Content-Type", "application/json");
|
|
767
|
+
res.end(JSON.stringify({
|
|
768
|
+
error: "apiName (string) and outcome ('user_manually_verified' | 'diverged_user_accepted') required",
|
|
769
|
+
}));
|
|
770
|
+
return;
|
|
771
|
+
}
|
|
772
|
+
// User-driven outcomes (manual verify, accept divergence) are terminal
|
|
773
|
+
// resolutions of the verification step. Force the item to "completed"
|
|
774
|
+
// so `classifyItem` puts it in the verified group and the Finish
|
|
775
|
+
// Migration gate unblocks. Without this, a `failed` item that the user
|
|
776
|
+
// accepts via "Accept divergence" would stay in `needs_review` because
|
|
777
|
+
// `classifyItem` short-circuits on `status === "failed"` before
|
|
778
|
+
// inspecting `verificationOutcome`.
|
|
779
|
+
await updateChecklistItem({
|
|
780
|
+
appRootDirPath: appRootDir,
|
|
781
|
+
itemId: `api_${apiName}`,
|
|
782
|
+
status: "completed",
|
|
783
|
+
verificationOutcome: outcome,
|
|
784
|
+
lastVerificationAt: new Date().toISOString(),
|
|
785
|
+
});
|
|
786
|
+
const status = await resolveStatus(appRootDir);
|
|
787
|
+
res.statusCode = 200;
|
|
788
|
+
res.setHeader("Content-Type", "application/json");
|
|
789
|
+
res.end(JSON.stringify({ ok: true, status }));
|
|
790
|
+
})().catch((error) => {
|
|
791
|
+
logger.error("[migrate-route] /sb-migration-set-verification-outcome failed", getErrorMeta(error));
|
|
792
|
+
res.statusCode = 500;
|
|
793
|
+
res.end(JSON.stringify({
|
|
794
|
+
error: error instanceof Error ? error.message : String(error),
|
|
795
|
+
}));
|
|
796
|
+
});
|
|
797
|
+
});
|
|
798
|
+
// --- POST /sb-migration-allow-and-retry-api ----------------------------
|
|
799
|
+
// Sets every integration referenced by the named API to "allow" in the
|
|
800
|
+
// write policy, then flips the checklist item back to "pending" so Clark
|
|
801
|
+
// will re-run the verification tool on its next pass.
|
|
802
|
+
server.middlewares.use("/sb-migration-allow-and-retry-api", bodyParser.json({ strict: true }));
|
|
803
|
+
server.middlewares.use("/sb-migration-allow-and-retry-api", (req, res, next) => {
|
|
804
|
+
void (async () => {
|
|
805
|
+
if (!getIsInitialized())
|
|
806
|
+
return next();
|
|
807
|
+
if (!setupCorsAndValidateMethod({
|
|
808
|
+
req,
|
|
809
|
+
res,
|
|
810
|
+
allowedMethod: "POST",
|
|
811
|
+
allowHeaders: "Content-Type",
|
|
812
|
+
}))
|
|
813
|
+
return;
|
|
814
|
+
const body = req.body;
|
|
815
|
+
const apiName = body?.apiName;
|
|
816
|
+
if (typeof apiName !== "string" || !/^[a-zA-Z0-9_-]+$/.test(apiName)) {
|
|
817
|
+
res.statusCode = 400;
|
|
818
|
+
res.setHeader("Content-Type", "application/json");
|
|
819
|
+
res.end(JSON.stringify({
|
|
820
|
+
error: "apiName must be a non-empty string containing only letters, digits, hyphens, or underscores",
|
|
821
|
+
}));
|
|
822
|
+
return;
|
|
823
|
+
}
|
|
824
|
+
// Read the source file to discover which integration UUIDs are referenced.
|
|
825
|
+
const sourcePath = join(appRootDir, "server", "apis", apiName, "api.ts");
|
|
826
|
+
let source;
|
|
827
|
+
try {
|
|
828
|
+
source = await readFile(sourcePath, "utf-8");
|
|
829
|
+
}
|
|
830
|
+
catch {
|
|
831
|
+
res.statusCode = 404;
|
|
832
|
+
res.setHeader("Content-Type", "application/json");
|
|
833
|
+
res.end(JSON.stringify({ error: `Source not found: ${sourcePath}` }));
|
|
834
|
+
return;
|
|
835
|
+
}
|
|
836
|
+
// Update the write policy: set any referenced integration to "allow".
|
|
837
|
+
const stateFilePath = join(appRootDir, SCRATCH_DIR_NAME, MIGRATION_STATE_FILE);
|
|
838
|
+
let parsed;
|
|
839
|
+
try {
|
|
840
|
+
parsed = JSON.parse(await readFile(stateFilePath, "utf-8"));
|
|
841
|
+
}
|
|
842
|
+
catch {
|
|
843
|
+
parsed = {};
|
|
844
|
+
}
|
|
845
|
+
const existingPolicy = parsed.integrationWritePolicy !== null &&
|
|
846
|
+
typeof parsed.integrationWritePolicy === "object" &&
|
|
847
|
+
!Array.isArray(parsed.integrationWritePolicy)
|
|
848
|
+
? parsed.integrationWritePolicy
|
|
849
|
+
: {};
|
|
850
|
+
// Allow every integration the verifier will gate on. That's the
|
|
851
|
+
// *union* of v3-source IDs and v2-backup IDs — `runMigrationVerification`
|
|
852
|
+
// unions the two, so allowing only v3-source IDs here would leave a
|
|
853
|
+
// v2-only integration sitting at "ask", and `mostRestrictivePolicy`
|
|
854
|
+
// would keep returning `skipped_mutation` on retry, trapping the user
|
|
855
|
+
// in an unresolvable loop.
|
|
856
|
+
const v2BackupPath = join(appRootDir, SCRATCH_DIR_NAME, "v2-backup", "apis", apiName, "api.yaml");
|
|
857
|
+
const v2Analysis = await analyzeV2BackupMutations(v2BackupPath);
|
|
858
|
+
const updatedPolicy = { ...existingPolicy };
|
|
859
|
+
const allowSet = new Set([
|
|
860
|
+
...extractIntegrationIdsFromSource(source),
|
|
861
|
+
...v2Analysis.integrationIds,
|
|
862
|
+
]);
|
|
863
|
+
for (const id of allowSet) {
|
|
864
|
+
updatedPolicy[id] = "allow";
|
|
865
|
+
}
|
|
866
|
+
parsed.integrationWritePolicy = updatedPolicy;
|
|
867
|
+
await writeFile(stateFilePath, JSON.stringify(parsed, null, 2) + "\n", "utf-8");
|
|
868
|
+
// Flip the checklist item back to pending so Clark will re-verify.
|
|
869
|
+
// Clear stale verification fields so classifyItem can't misclassify
|
|
870
|
+
// if the item transitions to completed via an unexpected path.
|
|
871
|
+
await updateChecklistItem({
|
|
872
|
+
appRootDirPath: appRootDir,
|
|
873
|
+
itemId: `api_${apiName}`,
|
|
874
|
+
status: "pending",
|
|
875
|
+
verificationOutcome: null,
|
|
876
|
+
verificationSkippedReason: null,
|
|
877
|
+
lastVerificationAt: new Date().toISOString(),
|
|
878
|
+
});
|
|
879
|
+
const status = await resolveStatus(appRootDir);
|
|
880
|
+
res.statusCode = 200;
|
|
881
|
+
res.setHeader("Content-Type", "application/json");
|
|
882
|
+
res.end(JSON.stringify({ ok: true, status }));
|
|
883
|
+
})().catch((error) => {
|
|
884
|
+
logger.error("[migrate-route] /sb-migration-allow-and-retry-api failed", getErrorMeta(error));
|
|
885
|
+
res.statusCode = 500;
|
|
886
|
+
res.end(JSON.stringify({
|
|
887
|
+
error: error instanceof Error ? error.message : String(error),
|
|
888
|
+
}));
|
|
889
|
+
});
|
|
890
|
+
});
|
|
891
|
+
// --- POST /sb-migration-retry-api ----------------------------------------
|
|
892
|
+
// Flips a single checklist item back to pending so Clark will re-run
|
|
893
|
+
// verification on its next pass, without changing the integration write
|
|
894
|
+
// policy. Clears any stale verificationOutcome from the previous run.
|
|
895
|
+
server.middlewares.use("/sb-migration-retry-api", bodyParser.json({ strict: true }));
|
|
896
|
+
server.middlewares.use("/sb-migration-retry-api", (req, res, next) => {
|
|
897
|
+
void (async () => {
|
|
898
|
+
if (!getIsInitialized())
|
|
899
|
+
return next();
|
|
900
|
+
if (!setupCorsAndValidateMethod({
|
|
901
|
+
req,
|
|
902
|
+
res,
|
|
903
|
+
allowedMethod: "POST",
|
|
904
|
+
allowHeaders: "Content-Type",
|
|
905
|
+
}))
|
|
906
|
+
return;
|
|
907
|
+
const body = req.body;
|
|
908
|
+
const apiName = body?.apiName;
|
|
909
|
+
if (typeof apiName !== "string" || !/^[a-zA-Z0-9_-]+$/.test(apiName)) {
|
|
910
|
+
res.statusCode = 400;
|
|
911
|
+
res.setHeader("Content-Type", "application/json");
|
|
912
|
+
res.end(JSON.stringify({
|
|
913
|
+
error: "apiName must be a non-empty string containing only letters, digits, hyphens, or underscores",
|
|
914
|
+
}));
|
|
915
|
+
return;
|
|
916
|
+
}
|
|
917
|
+
await updateChecklistItem({
|
|
918
|
+
appRootDirPath: appRootDir,
|
|
919
|
+
itemId: `api_${apiName}`,
|
|
920
|
+
status: "pending",
|
|
921
|
+
verificationOutcome: null,
|
|
922
|
+
verificationSkippedReason: null,
|
|
923
|
+
lastVerificationAt: new Date().toISOString(),
|
|
924
|
+
});
|
|
925
|
+
// Wipe this API's verification history so the next
|
|
926
|
+
// runMigrationVerification call starts from a clean slate. Without
|
|
927
|
+
// this, an item that hit MAX_VERIFICATION_ATTEMPTS would immediately
|
|
928
|
+
// return `kind: "exhausted"` on retry and the click would be a no-op.
|
|
929
|
+
await clearVerificationHistory(appRootDir, apiName);
|
|
930
|
+
const status = await resolveStatus(appRootDir);
|
|
931
|
+
res.statusCode = 200;
|
|
932
|
+
res.setHeader("Content-Type", "application/json");
|
|
933
|
+
res.end(JSON.stringify({ ok: true, status }));
|
|
934
|
+
})().catch((error) => {
|
|
935
|
+
logger.error("[migrate-route] /sb-migration-retry-api failed", getErrorMeta(error));
|
|
936
|
+
res.statusCode = 500;
|
|
937
|
+
res.end(JSON.stringify({
|
|
938
|
+
error: error instanceof Error ? error.message : String(error),
|
|
939
|
+
}));
|
|
940
|
+
});
|
|
941
|
+
});
|
|
682
942
|
}
|
|
683
943
|
async function isAlreadyOnFullstack(appRootDir) {
|
|
684
944
|
const [hasClient, hasServerApisIndex] = await Promise.all([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-routes.js","sourceRoot":"","sources":["../../src/migration/migration-routes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migration-routes.js","sourceRoot":"","sources":["../../src/migration/migration-routes.ts"],"names":[],"mappings":"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"}
|