@superblocksteam/vite-plugin-file-sync 2.0.119-next.0 → 2.0.119-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ai-service/agent/middleware.d.ts.map +1 -1
- package/dist/ai-service/agent/middleware.js +5 -2
- 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 +11 -17
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +3 -27
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts +0 -4
- 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 +5 -16
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.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 +13 -18
- 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 +2 -138
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-debug.js +5 -17
- 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 +50 -42
- package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts +5 -7
- package/dist/ai-service/agent/tools/build-manage-checklist.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/build-manage-checklist.js +108 -54
- package/dist/ai-service/agent/tools/build-manage-checklist.js.map +1 -1
- package/dist/ai-service/agent/tools/get-logs.d.ts +1 -1
- package/dist/ai-service/agent/tools/index.d.ts +0 -4
- package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/index.js +0 -4
- package/dist/ai-service/agent/tools/index.js.map +1 -1
- package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +1 -1
- package/dist/ai-service/agent/tools/integrations/index.d.ts +0 -1
- package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/integrations/index.js +0 -1
- 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 +4 -30
- package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts +0 -2
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +6 -74
- 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 +0 -7
- 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 +1 -11
- 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 +0 -7
- 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 +1 -3
- 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 +3 -4
- 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 +0 -9
- 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 +1 -15
- 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 +4 -8
- 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 +4 -21
- 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 +11 -87
- package/dist/ai-service/agent/tools2/tools/spawn-coding-subagents.js.map +1 -1
- package/dist/ai-service/agent/tools2/types.d.ts +2 -10
- 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 +0 -2
- 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/shell.d.ts +0 -38
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +1 -222
- package/dist/ai-service/app-interface/shell.js.map +1 -1
- package/dist/ai-service/attachments/uploaded-content-part.d.ts +0 -5
- package/dist/ai-service/attachments/uploaded-content-part.d.ts.map +1 -1
- package/dist/ai-service/attachments/uploaded-content-part.js +21 -31
- package/dist/ai-service/attachments/uploaded-content-part.js.map +1 -1
- package/dist/ai-service/context-download.d.ts +1 -14
- package/dist/ai-service/context-download.d.ts.map +1 -1
- package/dist/ai-service/context-download.js +0 -80
- package/dist/ai-service/context-download.js.map +1 -1
- package/dist/ai-service/features.d.ts +0 -16
- package/dist/ai-service/features.d.ts.map +1 -1
- package/dist/ai-service/features.js +0 -10
- package/dist/ai-service/features.js.map +1 -1
- package/dist/ai-service/index.d.ts +1 -11
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +13 -81
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +0 -5
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +2 -19
- 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/manager.d.ts +1 -8
- package/dist/ai-service/llm/context-v2/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context-v2/manager.js +1 -17
- 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/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 +7 -22
- package/dist/ai-service/llm/provider.js.map +1 -1
- package/dist/ai-service/llm/types.d.ts +1 -14
- package/dist/ai-service/llm/types.d.ts.map +1 -1
- package/dist/ai-service/llmobs/otel-exporter.d.ts +0 -23
- package/dist/ai-service/llmobs/otel-exporter.d.ts.map +1 -1
- package/dist/ai-service/llmobs/otel-exporter.js +10 -112
- package/dist/ai-service/llmobs/otel-exporter.js.map +1 -1
- package/dist/ai-service/llmobs/tracer.d.ts +0 -7
- package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
- package/dist/ai-service/llmobs/tracer.js +0 -38
- 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 +0 -2
- 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 +0 -2
- 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 +1 -3
- 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 +0 -29
- 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 +6 -112
- package/dist/ai-service/skills/system/superblocks-migration/skill.generated.js.map +1 -1
- 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 +3 -33
- 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 +0 -21
- 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 +6 -79
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +0 -10
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +41 -69
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.d.ts +7 -35
- package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.js +15 -81
- package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
- package/dist/ai-service/template-renderer.d.ts +1 -14
- package/dist/ai-service/template-renderer.d.ts.map +1 -1
- package/dist/ai-service/template-renderer.js +41 -144
- 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 +27 -34
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-helpers.d.ts +0 -4
- package/dist/file-system-helpers.d.ts.map +1 -1
- package/dist/file-system-helpers.js +0 -13
- 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 +1 -15
- package/dist/inject-index-vite-plugin.js.map +1 -1
- package/dist/injected-index.d.ts.map +1 -1
- package/dist/injected-index.js +1 -15
- package/dist/injected-index.js.map +1 -1
- package/dist/lock-service/index.d.ts.map +1 -1
- package/dist/lock-service/index.js +10 -8
- package/dist/lock-service/index.js.map +1 -1
- package/dist/migration/migration-checklist.d.ts +2 -51
- package/dist/migration/migration-checklist.d.ts.map +1 -1
- package/dist/migration/migration-checklist.js +151 -79
- 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 +30 -290
- package/dist/migration/migration-routes.js.map +1 -1
- package/dist/migration/restructure.d.ts +2 -9
- package/dist/migration/restructure.d.ts.map +1 -1
- package/dist/migration/restructure.js +5 -116
- package/dist/migration/restructure.js.map +1 -1
- package/dist/migration/unsupported-integrations.d.ts.map +1 -1
- package/dist/migration/unsupported-integrations.js +0 -9
- package/dist/migration/unsupported-integrations.js.map +1 -1
- 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 +0 -8
- 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 +14 -0
- package/dist/sync-service/index.d.ts.map +1 -1
- package/dist/sync-service/index.js +44 -1
- 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 +3 -36
- 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 +8 -4
- package/dist/sync-service/snapshot/take-snapshot.js.map +1 -1
- package/dist/util/log-sanitizer.d.ts +5 -6
- package/dist/util/log-sanitizer.d.ts.map +1 -1
- package/dist/util/log-sanitizer.js +6 -21
- package/dist/util/log-sanitizer.js.map +1 -1
- package/package.json +8 -9
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts +0 -17
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.d.ts.map +0 -1
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js +0 -219
- package/dist/ai-service/agent/prompts/build-security-scan-prompt.js.map +0 -1
- package/dist/ai-service/agent/tools/apis/api-comparator.d.ts +0 -36
- package/dist/ai-service/agent/tools/apis/api-comparator.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/apis/api-comparator.js +0 -369
- package/dist/ai-service/agent/tools/apis/api-comparator.js.map +0 -1
- package/dist/ai-service/agent/tools/build-copy-directory.d.ts +0 -12
- package/dist/ai-service/agent/tools/build-copy-directory.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-copy-directory.js +0 -51
- package/dist/ai-service/agent/tools/build-copy-directory.js.map +0 -1
- package/dist/ai-service/agent/tools/build-copy-file.d.ts +0 -12
- package/dist/ai-service/agent/tools/build-copy-file.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-copy-file.js +0 -52
- package/dist/ai-service/agent/tools/build-copy-file.js.map +0 -1
- package/dist/ai-service/agent/tools/build-copy-utils.d.ts +0 -57
- package/dist/ai-service/agent/tools/build-copy-utils.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/build-copy-utils.js +0 -37
- package/dist/ai-service/agent/tools/build-copy-utils.js.map +0 -1
- package/dist/ai-service/agent/tools/databases/dev-database.d.ts +0 -103
- package/dist/ai-service/agent/tools/databases/dev-database.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/databases/dev-database.js +0 -117
- package/dist/ai-service/agent/tools/databases/dev-database.js.map +0 -1
- package/dist/ai-service/agent/tools/integrations/delete-integration.d.ts +0 -18
- package/dist/ai-service/agent/tools/integrations/delete-integration.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/integrations/delete-integration.js +0 -99
- package/dist/ai-service/agent/tools/integrations/delete-integration.js.map +0 -1
- package/dist/ai-service/agent/tools/report-security-findings.d.ts +0 -163
- package/dist/ai-service/agent/tools/report-security-findings.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/report-security-findings.js +0 -52
- package/dist/ai-service/agent/tools/report-security-findings.js.map +0 -1
- package/dist/ai-service/app-interface/npm-registry.d.ts +0 -137
- package/dist/ai-service/app-interface/npm-registry.d.ts.map +0 -1
- package/dist/ai-service/app-interface/npm-registry.js +0 -415
- package/dist/ai-service/app-interface/npm-registry.js.map +0 -1
- package/dist/ai-service/checklist/persisted-checklist-store.d.ts +0 -105
- package/dist/ai-service/checklist/persisted-checklist-store.d.ts.map +0 -1
- package/dist/ai-service/checklist/persisted-checklist-store.js +0 -498
- package/dist/ai-service/checklist/persisted-checklist-store.js.map +0 -1
- package/dist/ai-service/dev-database-client.d.ts +0 -90
- package/dist/ai-service/dev-database-client.d.ts.map +0 -1
- package/dist/ai-service/dev-database-client.js +0 -166
- package/dist/ai-service/dev-database-client.js.map +0 -1
- package/dist/ai-service/llmobs/context-registry.d.ts +0 -62
- package/dist/ai-service/llmobs/context-registry.d.ts.map +0 -1
- package/dist/ai-service/llmobs/context-registry.js +0 -115
- package/dist/ai-service/llmobs/context-registry.js.map +0 -1
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts +0 -2
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.d.ts.map +0 -1
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js +0 -107
- package/dist/ai-service/skills/system/third-party-migration/claude-design.generated.js.map +0 -1
- package/dist/migration/migration-verification.d.ts +0 -206
- package/dist/migration/migration-verification.d.ts.map +0 -1
- package/dist/migration/migration-verification.js +0 -1006
- package/dist/migration/migration-verification.js.map +0 -1
- package/dist/migration/yaml-walk.d.ts +0 -18
- package/dist/migration/yaml-walk.d.ts.map +0 -1
- package/dist/migration/yaml-walk.js +0 -45
- package/dist/migration/yaml-walk.js.map +0 -1
|
@@ -1,369 +0,0 @@
|
|
|
1
|
-
import crypto from "node:crypto";
|
|
2
|
-
const ISO_RE = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})$/;
|
|
3
|
-
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
4
|
-
/**
|
|
5
|
-
* Per-request opaque identifiers that v2 and v3 mint independently — they
|
|
6
|
-
* carry no referential meaning across requests, so byte-for-byte equality is
|
|
7
|
-
* the wrong assertion. We require matching types/null-ness at these leaves
|
|
8
|
-
* and let the value differ.
|
|
9
|
-
*
|
|
10
|
-
* Intentionally narrow:
|
|
11
|
-
* - Keys like `userId`, `orderId`, `productId` are real foreign keys and
|
|
12
|
-
* MUST match exactly, so plain `id`-suffix patterns are deliberately NOT
|
|
13
|
-
* in this set. Never widen to a regex like `/.*id$/i`.
|
|
14
|
-
* - The bare leaf `token` is also intentionally excluded — it appears in
|
|
15
|
-
* real auth/access-token fields where v2/v3 changing the value is a
|
|
16
|
-
* security-relevant signal we don't want to suppress. Names that almost
|
|
17
|
-
* always denote per-request mints (`csrfToken`, `nonce`, `_id`, the
|
|
18
|
-
* `*RequestId`/`*TraceId`/`*SpanId`/`*SessionId`/`*CorrelationId` family)
|
|
19
|
-
* are listed below; both camelCase and snake_case variants are covered.
|
|
20
|
-
* If a customer needs additional names normalized, add them here with a
|
|
21
|
-
* one-line justification.
|
|
22
|
-
*/
|
|
23
|
-
const NOISY_LEAF_NAMES = new Set([
|
|
24
|
-
"_id",
|
|
25
|
-
"correlation_id",
|
|
26
|
-
"correlationid",
|
|
27
|
-
"csrf_token",
|
|
28
|
-
"csrftoken",
|
|
29
|
-
"nonce",
|
|
30
|
-
"request_id",
|
|
31
|
-
"requestid",
|
|
32
|
-
"session_id",
|
|
33
|
-
"sessionid",
|
|
34
|
-
"span_id",
|
|
35
|
-
"spanid",
|
|
36
|
-
"trace_id",
|
|
37
|
-
"traceid",
|
|
38
|
-
]);
|
|
39
|
-
/** Window around "now" where ISO timestamps are presumed request-time. */
|
|
40
|
-
const NEAR_NOW_WINDOW_MS = 5 * 60 * 1000;
|
|
41
|
-
/** Maximum skew between two near-now timestamps to be treated as equal. */
|
|
42
|
-
const NEAR_NOW_SKEW_MS = 60 * 1000;
|
|
43
|
-
function isIso8601(v) {
|
|
44
|
-
return typeof v === "string" && ISO_RE.test(v);
|
|
45
|
-
}
|
|
46
|
-
function isUuid(v) {
|
|
47
|
-
return typeof v === "string" && UUID_RE.test(v);
|
|
48
|
-
}
|
|
49
|
-
function leafKey(path) {
|
|
50
|
-
const dot = path.lastIndexOf(".");
|
|
51
|
-
return (dot >= 0 ? path.slice(dot + 1) : path).toLowerCase();
|
|
52
|
-
}
|
|
53
|
-
function isNoisyLeaf(path) {
|
|
54
|
-
return NOISY_LEAF_NAMES.has(leafKey(path));
|
|
55
|
-
}
|
|
56
|
-
function bothNearNow(expMs, actMs) {
|
|
57
|
-
// Both timestamps must sit inside a small window around "now" AND be close
|
|
58
|
-
// to each other. A DB-sourced timestamp falls outside the window; a real
|
|
59
|
-
// wall-clock divergence between two request-time stamps exceeds the skew.
|
|
60
|
-
const now = Date.now();
|
|
61
|
-
return (Math.abs(expMs - now) <= NEAR_NOW_WINDOW_MS &&
|
|
62
|
-
Math.abs(actMs - now) <= NEAR_NOW_WINDOW_MS &&
|
|
63
|
-
Math.abs(expMs - actMs) <= NEAR_NOW_SKEW_MS);
|
|
64
|
-
}
|
|
65
|
-
function hash(v) {
|
|
66
|
-
// Distinguish undefined from null (JSON.stringify returns "null" for null
|
|
67
|
-
// but undefined for undefined). Without this branch both would collapse to
|
|
68
|
-
// the same hash via `?? "null"`.
|
|
69
|
-
if (v === undefined)
|
|
70
|
-
return "<undefined>";
|
|
71
|
-
try {
|
|
72
|
-
const json = JSON.stringify(v);
|
|
73
|
-
if (json === undefined)
|
|
74
|
-
return "<unstringifiable>";
|
|
75
|
-
return crypto.createHash("sha256").update(json).digest("hex").slice(0, 16);
|
|
76
|
-
}
|
|
77
|
-
catch {
|
|
78
|
-
return "<hash-error>";
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
function valuesEqual(expected, actual, path, visitedExpected, visitedActual, valuesForUi, summaryForAgent) {
|
|
82
|
-
// Cycle guard: only short-circuit when an object is currently in the ancestor
|
|
83
|
-
// chain of its own side. Each side has its own WeakSet so a DAG (same
|
|
84
|
-
// reference visited via two non-cyclic paths) compares structurally — and
|
|
85
|
-
// cross-side reference reuse (v2 and v3 happening to point at the same
|
|
86
|
-
// object) does not falsely trip the guard either.
|
|
87
|
-
if (expected !== null &&
|
|
88
|
-
typeof expected === "object" &&
|
|
89
|
-
visitedExpected.has(expected)) {
|
|
90
|
-
summaryForAgent.push({
|
|
91
|
-
path,
|
|
92
|
-
kind: "value_mismatch",
|
|
93
|
-
expectedHash: "<circular>",
|
|
94
|
-
actualHash: hash(actual),
|
|
95
|
-
});
|
|
96
|
-
valuesForUi.push({
|
|
97
|
-
path,
|
|
98
|
-
expected: "<circular>",
|
|
99
|
-
actual,
|
|
100
|
-
reason: "circular reference at path",
|
|
101
|
-
});
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
if (actual !== null &&
|
|
105
|
-
typeof actual === "object" &&
|
|
106
|
-
visitedActual.has(actual)) {
|
|
107
|
-
summaryForAgent.push({
|
|
108
|
-
path,
|
|
109
|
-
kind: "value_mismatch",
|
|
110
|
-
expectedHash: hash(expected),
|
|
111
|
-
actualHash: "<circular>",
|
|
112
|
-
});
|
|
113
|
-
valuesForUi.push({
|
|
114
|
-
path,
|
|
115
|
-
expected,
|
|
116
|
-
actual: "<circular>",
|
|
117
|
-
reason: "circular reference at path",
|
|
118
|
-
});
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
// Nullability
|
|
122
|
-
if (expected === null && actual !== null) {
|
|
123
|
-
summaryForAgent.push({
|
|
124
|
-
path,
|
|
125
|
-
kind: "null_mismatch",
|
|
126
|
-
expectedType: "null",
|
|
127
|
-
actualType: typeof actual,
|
|
128
|
-
});
|
|
129
|
-
valuesForUi.push({
|
|
130
|
-
path,
|
|
131
|
-
expected,
|
|
132
|
-
actual,
|
|
133
|
-
reason: "expected null, got non-null",
|
|
134
|
-
});
|
|
135
|
-
return false;
|
|
136
|
-
}
|
|
137
|
-
if (actual === null && expected !== null) {
|
|
138
|
-
summaryForAgent.push({
|
|
139
|
-
path,
|
|
140
|
-
kind: "null_mismatch",
|
|
141
|
-
expectedType: typeof expected,
|
|
142
|
-
actualType: "null",
|
|
143
|
-
});
|
|
144
|
-
valuesForUi.push({
|
|
145
|
-
path,
|
|
146
|
-
expected,
|
|
147
|
-
actual,
|
|
148
|
-
reason: "expected non-null, got null",
|
|
149
|
-
});
|
|
150
|
-
return false;
|
|
151
|
-
}
|
|
152
|
-
// Type check
|
|
153
|
-
if (typeof expected !== typeof actual) {
|
|
154
|
-
summaryForAgent.push({
|
|
155
|
-
path,
|
|
156
|
-
kind: "type_mismatch",
|
|
157
|
-
expectedType: typeof expected,
|
|
158
|
-
actualType: typeof actual,
|
|
159
|
-
});
|
|
160
|
-
valuesForUi.push({
|
|
161
|
-
path,
|
|
162
|
-
expected,
|
|
163
|
-
actual,
|
|
164
|
-
reason: `type mismatch: ${typeof expected} vs ${typeof actual}`,
|
|
165
|
-
});
|
|
166
|
-
return false;
|
|
167
|
-
}
|
|
168
|
-
// Array
|
|
169
|
-
if (Array.isArray(expected)) {
|
|
170
|
-
if (!Array.isArray(actual)) {
|
|
171
|
-
summaryForAgent.push({
|
|
172
|
-
path,
|
|
173
|
-
kind: "type_mismatch",
|
|
174
|
-
expectedType: "array",
|
|
175
|
-
actualType: typeof actual,
|
|
176
|
-
});
|
|
177
|
-
valuesForUi.push({
|
|
178
|
-
path,
|
|
179
|
-
expected,
|
|
180
|
-
actual,
|
|
181
|
-
reason: "expected array, got non-array",
|
|
182
|
-
});
|
|
183
|
-
return false;
|
|
184
|
-
}
|
|
185
|
-
if (expected.length !== actual.length) {
|
|
186
|
-
summaryForAgent.push({
|
|
187
|
-
path,
|
|
188
|
-
kind: "cardinality_mismatch",
|
|
189
|
-
expectedLength: expected.length,
|
|
190
|
-
actualLength: actual.length,
|
|
191
|
-
});
|
|
192
|
-
valuesForUi.push({
|
|
193
|
-
path,
|
|
194
|
-
expected,
|
|
195
|
-
actual,
|
|
196
|
-
reason: `array length: ${expected.length} vs ${actual.length}`,
|
|
197
|
-
});
|
|
198
|
-
return false;
|
|
199
|
-
}
|
|
200
|
-
visitedExpected.add(expected);
|
|
201
|
-
visitedActual.add(actual);
|
|
202
|
-
let allEqual = true;
|
|
203
|
-
try {
|
|
204
|
-
for (let i = 0; i < expected.length; i++) {
|
|
205
|
-
const ok = valuesEqual(expected[i], actual[i], `${path}[${i}]`, visitedExpected, visitedActual, valuesForUi, summaryForAgent);
|
|
206
|
-
if (!ok)
|
|
207
|
-
allEqual = false;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
finally {
|
|
211
|
-
visitedExpected.delete(expected);
|
|
212
|
-
visitedActual.delete(actual);
|
|
213
|
-
}
|
|
214
|
-
return allEqual;
|
|
215
|
-
}
|
|
216
|
-
// Object
|
|
217
|
-
if (typeof expected === "object" && expected !== null) {
|
|
218
|
-
const actualIsObject = actual !== null && typeof actual === "object";
|
|
219
|
-
visitedExpected.add(expected);
|
|
220
|
-
if (actualIsObject) {
|
|
221
|
-
visitedActual.add(actual);
|
|
222
|
-
}
|
|
223
|
-
try {
|
|
224
|
-
const expKeys = Object.keys(expected);
|
|
225
|
-
const actKeys = new Set(Object.keys(actual));
|
|
226
|
-
let allEqual = true;
|
|
227
|
-
for (const k of expKeys) {
|
|
228
|
-
const childPath = `${path}.${k}`;
|
|
229
|
-
if (!actKeys.has(k)) {
|
|
230
|
-
summaryForAgent.push({ path: childPath, kind: "missing_key" });
|
|
231
|
-
valuesForUi.push({
|
|
232
|
-
path: childPath,
|
|
233
|
-
expected: expected[k],
|
|
234
|
-
actual: undefined,
|
|
235
|
-
reason: "key missing in v3 output",
|
|
236
|
-
});
|
|
237
|
-
allEqual = false;
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
const ok = valuesEqual(expected[k], actual[k], childPath, visitedExpected, visitedActual, valuesForUi, summaryForAgent);
|
|
241
|
-
if (!ok)
|
|
242
|
-
allEqual = false;
|
|
243
|
-
actKeys.delete(k);
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
for (const k of actKeys) {
|
|
247
|
-
const childPath = `${path}.${k}`;
|
|
248
|
-
summaryForAgent.push({ path: childPath, kind: "extra_key" });
|
|
249
|
-
valuesForUi.push({
|
|
250
|
-
path: childPath,
|
|
251
|
-
expected: undefined,
|
|
252
|
-
actual: actual[k],
|
|
253
|
-
reason: "extra key in v3 output",
|
|
254
|
-
});
|
|
255
|
-
allEqual = false;
|
|
256
|
-
}
|
|
257
|
-
return allEqual;
|
|
258
|
-
}
|
|
259
|
-
finally {
|
|
260
|
-
visitedExpected.delete(expected);
|
|
261
|
-
if (actualIsObject) {
|
|
262
|
-
visitedActual.delete(actual);
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
|
-
// Noisy leaf allowlist: per-request opaque identifiers (request IDs,
|
|
267
|
-
// trace IDs, nonces, single-use tokens, Mongo ObjectIds). Checked BEFORE
|
|
268
|
-
// the ISO-8601 / UUID branches so a noisy-leaf path always short-circuits
|
|
269
|
-
// even when the value happens to look like a timestamp or UUID — otherwise
|
|
270
|
-
// an opaque per-request id whose value contains an ISO date would fall
|
|
271
|
-
// into the timestamp diff branch and be reported as a real divergence.
|
|
272
|
-
// We've already established both sides are the same primitive type and
|
|
273
|
-
// neither is null at this point.
|
|
274
|
-
if (isNoisyLeaf(path)) {
|
|
275
|
-
return true;
|
|
276
|
-
}
|
|
277
|
-
// Primitives — apply normalization rules
|
|
278
|
-
if (isIso8601(expected) && isIso8601(actual)) {
|
|
279
|
-
const expMs = Date.parse(expected);
|
|
280
|
-
const actMs = Date.parse(actual);
|
|
281
|
-
if (!isNaN(expMs) && !isNaN(actMs)) {
|
|
282
|
-
if (expMs === actMs)
|
|
283
|
-
return true;
|
|
284
|
-
// Near-now tolerance: both timestamps minted at request time (within a
|
|
285
|
-
// few minutes of "now") with sub-minute skew are treated as equal.
|
|
286
|
-
// DB-sourced timestamps (older than NEAR_NOW_WINDOW_MS) still require
|
|
287
|
-
// exact equality and will fall through to the diff branch below.
|
|
288
|
-
if (bothNearNow(expMs, actMs))
|
|
289
|
-
return true;
|
|
290
|
-
}
|
|
291
|
-
summaryForAgent.push({
|
|
292
|
-
path,
|
|
293
|
-
kind: "value_mismatch",
|
|
294
|
-
expectedHash: hash(expected),
|
|
295
|
-
actualHash: hash(actual),
|
|
296
|
-
});
|
|
297
|
-
valuesForUi.push({
|
|
298
|
-
path,
|
|
299
|
-
expected,
|
|
300
|
-
actual,
|
|
301
|
-
reason: "ISO timestamp values differ",
|
|
302
|
-
});
|
|
303
|
-
return false;
|
|
304
|
-
}
|
|
305
|
-
if (isUuid(expected) && isUuid(actual)) {
|
|
306
|
-
return true;
|
|
307
|
-
}
|
|
308
|
-
if (typeof expected === "number" && typeof actual === "number") {
|
|
309
|
-
if (expected === actual)
|
|
310
|
-
return true;
|
|
311
|
-
const rel = Math.abs(expected - actual) /
|
|
312
|
-
Math.max(Math.abs(expected), Math.abs(actual), 1);
|
|
313
|
-
if (rel < 1e-9)
|
|
314
|
-
return true;
|
|
315
|
-
// Monotonic ID tolerance: ±1 drift from sequence drivers, but only for
|
|
316
|
-
// fields whose path segment looks like an identifier (ends with "id").
|
|
317
|
-
const pathLeaf = path.split(".").pop() ?? path;
|
|
318
|
-
if (Number.isInteger(expected) &&
|
|
319
|
-
Number.isInteger(actual) &&
|
|
320
|
-
Math.abs(expected - actual) <= 1 &&
|
|
321
|
-
/\bid$/i.test(pathLeaf)) {
|
|
322
|
-
return true;
|
|
323
|
-
}
|
|
324
|
-
summaryForAgent.push({
|
|
325
|
-
path,
|
|
326
|
-
kind: "value_mismatch",
|
|
327
|
-
expectedHash: hash(expected),
|
|
328
|
-
actualHash: hash(actual),
|
|
329
|
-
});
|
|
330
|
-
valuesForUi.push({
|
|
331
|
-
path,
|
|
332
|
-
expected,
|
|
333
|
-
actual,
|
|
334
|
-
reason: "numeric values differ",
|
|
335
|
-
});
|
|
336
|
-
return false;
|
|
337
|
-
}
|
|
338
|
-
// String / boolean / other primitives
|
|
339
|
-
if (expected !== actual) {
|
|
340
|
-
summaryForAgent.push({
|
|
341
|
-
path,
|
|
342
|
-
kind: "value_mismatch",
|
|
343
|
-
expectedHash: hash(expected),
|
|
344
|
-
actualHash: hash(actual),
|
|
345
|
-
});
|
|
346
|
-
valuesForUi.push({ path, expected, actual, reason: "values differ" });
|
|
347
|
-
return false;
|
|
348
|
-
}
|
|
349
|
-
return true;
|
|
350
|
-
}
|
|
351
|
-
/**
|
|
352
|
-
* Compare the outputs of a v2 YAML execution against a v3 TS execution.
|
|
353
|
-
* Pure function: no I/O, no side effects.
|
|
354
|
-
*/
|
|
355
|
-
export function compareApiResults(v2, v3) {
|
|
356
|
-
const valuesForUi = [];
|
|
357
|
-
const summaryForAgent = [];
|
|
358
|
-
const visitedExpected = new WeakSet();
|
|
359
|
-
const visitedActual = new WeakSet();
|
|
360
|
-
const v2Out = v2.outputs ?? {};
|
|
361
|
-
const v3Out = v3.outputs ?? {};
|
|
362
|
-
valuesEqual(v2Out, v3Out, "outputs", visitedExpected, visitedActual, valuesForUi, summaryForAgent);
|
|
363
|
-
return {
|
|
364
|
-
empty: summaryForAgent.length === 0,
|
|
365
|
-
valuesForUi,
|
|
366
|
-
summaryForAgent,
|
|
367
|
-
};
|
|
368
|
-
}
|
|
369
|
-
//# sourceMappingURL=api-comparator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-comparator.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/api-comparator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Clark } from "../../state-machine/clark-fsm.js";
|
|
2
|
-
import type { ClarkStateHandlerParams } from "../../state-machine/clark-fsm.js";
|
|
3
|
-
export declare const buildCopyDirectoryToolFactory: import("../tools2/types.js").ToolFactory<{
|
|
4
|
-
clark: Clark;
|
|
5
|
-
services: Pick<ClarkStateHandlerParams, "appShell">;
|
|
6
|
-
}, import("../tools2/types.js").Tool<{
|
|
7
|
-
sourceDir: string;
|
|
8
|
-
destinationDir: string;
|
|
9
|
-
conflictStrategy?: "replace" | "skip" | "fail" | undefined;
|
|
10
|
-
verbose?: boolean | undefined;
|
|
11
|
-
}, import("../../app-interface/shell.js").CopyToolResult>>;
|
|
12
|
-
//# sourceMappingURL=build-copy-directory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-copy-directory.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-copy-directory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAShF,eAAO,MAAM,6BAA6B;WAM/B,KAAK;cACF,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC;;;;;;0DAuDtD,CAAC"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import z from "zod";
|
|
2
|
-
import { createToolFactory, ToolCategory } from "../tools2/types.js";
|
|
3
|
-
import { copyConflictStrategySchema, copyToolResultSchema, formatCopyCounts, } from "./build-copy-utils.js";
|
|
4
|
-
import { createTypeScriptCheckFunction, debugCache } from "./debug-cache.js";
|
|
5
|
-
export const buildCopyDirectoryToolFactory = createToolFactory("build_copyDirectory", ({ clark, services, }) => {
|
|
6
|
-
return {
|
|
7
|
-
category: ToolCategory.FILE,
|
|
8
|
-
description: `
|
|
9
|
-
Copy a directory in the application.
|
|
10
|
-
|
|
11
|
-
Use this tool when a source directory should be preserved under a new destination.
|
|
12
|
-
Prefer this tool over reading files and recreating them with build_writeFile whenever you are moving or copying existing content, including uploaded, generated, or staged directories.
|
|
13
|
-
If copied files need small follow-up changes, copy the directory first with this tool, then edit the copied destinations.
|
|
14
|
-
|
|
15
|
-
Usage requirements:
|
|
16
|
-
- Always use relative directory paths from the project root.
|
|
17
|
-
- sourceDir must be the exact existing directory from list/glob/downloadAttachments results; do not infer or shorten uploaded attachment paths from the directory name alone.
|
|
18
|
-
- conflictStrategy defaults to "fail"; use "skip" to leave existing files unchanged or "replace" to overwrite.
|
|
19
|
-
- Set verbose to true only when you need per-file copied/skipped/rejected details.
|
|
20
|
-
`,
|
|
21
|
-
inputSchema: z.object({
|
|
22
|
-
conflictStrategy: copyConflictStrategySchema,
|
|
23
|
-
destinationDir: z.string().describe("Destination relative directory"),
|
|
24
|
-
sourceDir: z
|
|
25
|
-
.string()
|
|
26
|
-
.describe("Source relative directory to copy from"),
|
|
27
|
-
verbose: z
|
|
28
|
-
.boolean()
|
|
29
|
-
.optional()
|
|
30
|
-
.describe("When true, include detailed copied/skipped/rejected arrays"),
|
|
31
|
-
}),
|
|
32
|
-
outputSchema: copyToolResultSchema,
|
|
33
|
-
execute: async (input) => {
|
|
34
|
-
const result = await services.appShell.copyDirectory(input);
|
|
35
|
-
debugCache.invalidateTypeScript();
|
|
36
|
-
clark.updateContext({
|
|
37
|
-
lastFileModificationTime: Date.now(),
|
|
38
|
-
runtimeErrors: [],
|
|
39
|
-
});
|
|
40
|
-
debugCache.invalidateContextErrors();
|
|
41
|
-
const typeCheckFunction = createTypeScriptCheckFunction(services.appShell, clark.context.abortController?.signal);
|
|
42
|
-
debugCache.startEagerTypeScriptCheck(typeCheckFunction);
|
|
43
|
-
return result;
|
|
44
|
-
},
|
|
45
|
-
getSummary: (input, output) => ({
|
|
46
|
-
input: `${input.sourceDir} -> ${input.destinationDir}`,
|
|
47
|
-
output: formatCopyCounts(output),
|
|
48
|
-
}),
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
//# sourceMappingURL=build-copy-directory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-copy-directory.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-copy-directory.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAIpB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE7E,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAC5D,qBAAqB,EACrB,CAAC,EACC,KAAK,EACL,QAAQ,GAIT,EAAE,EAAE;IACH,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,IAAI;QAC3B,WAAW,EAAE;;;;;;;;;;;;KAYd;QACC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,gBAAgB,EAAE,0BAA0B;YAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YACrE,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,CAAC,wCAAwC,CAAC;YACrD,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,4DAA4D,CAC7D;SACJ,CAAC;QACF,YAAY,EAAE,oBAAoB;QAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAE5D,UAAU,CAAC,oBAAoB,EAAE,CAAC;YAClC,KAAK,CAAC,aAAa,CAAC;gBAClB,wBAAwB,EAAE,IAAI,CAAC,GAAG,EAAE;gBACpC,aAAa,EAAE,EAAE;aAClB,CAAC,CAAC;YACH,UAAU,CAAC,uBAAuB,EAAE,CAAC;YAErC,MAAM,iBAAiB,GAAG,6BAA6B,CACrD,QAAQ,CAAC,QAAQ,EACjB,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CACtC,CAAC;YACF,UAAU,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;YAExD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,GAAG,KAAK,CAAC,SAAS,OAAO,KAAK,CAAC,cAAc,EAAE;YACtD,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC;SACjC,CAAC;KACH,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Clark } from "../../state-machine/clark-fsm.js";
|
|
2
|
-
import type { ClarkStateHandlerParams } from "../../state-machine/clark-fsm.js";
|
|
3
|
-
export declare const buildCopyFileToolFactory: import("../tools2/types.js").ToolFactory<{
|
|
4
|
-
clark: Clark;
|
|
5
|
-
services: Pick<ClarkStateHandlerParams, "appShell">;
|
|
6
|
-
}, import("../tools2/types.js").Tool<{
|
|
7
|
-
destinationPath: string;
|
|
8
|
-
sourcePath: string;
|
|
9
|
-
conflictStrategy?: "replace" | "skip" | "fail" | undefined;
|
|
10
|
-
verbose?: boolean | undefined;
|
|
11
|
-
}, import("../../app-interface/shell.js").CopyToolResult>>;
|
|
12
|
-
//# sourceMappingURL=build-copy-file.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-copy-file.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-copy-file.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAShF,eAAO,MAAM,wBAAwB;WAM1B,KAAK;cACF,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC;;;;;;0DAwDtD,CAAC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import z from "zod";
|
|
2
|
-
import { createToolFactory, ToolCategory } from "../tools2/types.js";
|
|
3
|
-
import { copyConflictStrategySchema, copyToolResultSchema, formatCopyCounts, } from "./build-copy-utils.js";
|
|
4
|
-
import { createTypeScriptCheckFunction, debugCache } from "./debug-cache.js";
|
|
5
|
-
export const buildCopyFileToolFactory = createToolFactory("build_copyFile", ({ clark, services, }) => {
|
|
6
|
-
return {
|
|
7
|
-
category: ToolCategory.FILE,
|
|
8
|
-
description: `
|
|
9
|
-
Copy one file in the application.
|
|
10
|
-
|
|
11
|
-
Use this tool when an existing file should be preserved byte-for-byte at a new destination.
|
|
12
|
-
Prefer this tool over reading a file and recreating it with build_writeFile whenever you are moving or copying existing content, including uploaded, generated, or staged files.
|
|
13
|
-
If the copied file needs small follow-up changes, copy it first with this tool, then edit the copied destination.
|
|
14
|
-
|
|
15
|
-
Usage requirements:
|
|
16
|
-
- Always use relative file paths from the project root.
|
|
17
|
-
- sourcePath must be the exact existing path from list/glob/downloadAttachments results; do not infer or shorten uploaded attachment paths from the filename alone.
|
|
18
|
-
- The destination path should include the copied filename.
|
|
19
|
-
- conflictStrategy defaults to "fail"; use "skip" to leave existing files unchanged or "replace" to overwrite.
|
|
20
|
-
- Set verbose to true only when you need per-file copied/skipped/rejected details.
|
|
21
|
-
`,
|
|
22
|
-
inputSchema: z.object({
|
|
23
|
-
conflictStrategy: copyConflictStrategySchema,
|
|
24
|
-
destinationPath: z
|
|
25
|
-
.string()
|
|
26
|
-
.describe("Destination relative path for the copied file"),
|
|
27
|
-
sourcePath: z.string().describe("Source relative path to copy from"),
|
|
28
|
-
verbose: z
|
|
29
|
-
.boolean()
|
|
30
|
-
.optional()
|
|
31
|
-
.describe("When true, include detailed copied/skipped/rejected arrays"),
|
|
32
|
-
}),
|
|
33
|
-
outputSchema: copyToolResultSchema,
|
|
34
|
-
execute: async (input) => {
|
|
35
|
-
const result = await services.appShell.copyFile(input);
|
|
36
|
-
debugCache.invalidateTypeScript();
|
|
37
|
-
clark.updateContext({
|
|
38
|
-
lastFileModificationTime: Date.now(),
|
|
39
|
-
runtimeErrors: [],
|
|
40
|
-
});
|
|
41
|
-
debugCache.invalidateContextErrors();
|
|
42
|
-
const typeCheckFunction = createTypeScriptCheckFunction(services.appShell, clark.context.abortController?.signal);
|
|
43
|
-
debugCache.startEagerTypeScriptCheck(typeCheckFunction);
|
|
44
|
-
return result;
|
|
45
|
-
},
|
|
46
|
-
getSummary: (input, output) => ({
|
|
47
|
-
input: `${input.sourcePath} -> ${input.destinationPath}`,
|
|
48
|
-
output: formatCopyCounts(output),
|
|
49
|
-
}),
|
|
50
|
-
};
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=build-copy-file.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-copy-file.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-copy-file.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAIpB,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE7E,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CACvD,gBAAgB,EAChB,CAAC,EACC,KAAK,EACL,QAAQ,GAIT,EAAE,EAAE;IACH,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,IAAI;QAC3B,WAAW,EAAE;;;;;;;;;;;;;KAad;QACC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,gBAAgB,EAAE,0BAA0B;YAC5C,eAAe,EAAE,CAAC;iBACf,MAAM,EAAE;iBACR,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACpE,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,4DAA4D,CAC7D;SACJ,CAAC;QACF,YAAY,EAAE,oBAAoB;QAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEvD,UAAU,CAAC,oBAAoB,EAAE,CAAC;YAClC,KAAK,CAAC,aAAa,CAAC;gBAClB,wBAAwB,EAAE,IAAI,CAAC,GAAG,EAAE;gBACpC,aAAa,EAAE,EAAE;aAClB,CAAC,CAAC;YACH,UAAU,CAAC,uBAAuB,EAAE,CAAC;YAErC,MAAM,iBAAiB,GAAG,6BAA6B,CACrD,QAAQ,CAAC,QAAQ,EACjB,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CACtC,CAAC;YACF,UAAU,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAC;YAExD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,OAAO,KAAK,CAAC,eAAe,EAAE;YACxD,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC;SACjC,CAAC;KACH,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import z from "zod";
|
|
2
|
-
import type { CopyToolResult } from "../../app-interface/shell.js";
|
|
3
|
-
export declare const copyConflictStrategySchema: z.ZodDefault<z.ZodOptional<z.ZodEnum<["fail", "skip", "replace"]>>>;
|
|
4
|
-
export declare const copyToolResultSchema: z.ZodObject<{
|
|
5
|
-
copied: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6
|
-
copiedCount: z.ZodNumber;
|
|
7
|
-
rejected: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
8
|
-
path: z.ZodString;
|
|
9
|
-
reason: z.ZodString;
|
|
10
|
-
}, "strip", z.ZodTypeAny, {
|
|
11
|
-
path: string;
|
|
12
|
-
reason: string;
|
|
13
|
-
}, {
|
|
14
|
-
path: string;
|
|
15
|
-
reason: string;
|
|
16
|
-
}>, "many">>;
|
|
17
|
-
rejectedCount: z.ZodNumber;
|
|
18
|
-
skipped: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
19
|
-
path: z.ZodString;
|
|
20
|
-
reason: z.ZodEnum<["destination_exists", "default_excluded"]>;
|
|
21
|
-
}, "strip", z.ZodTypeAny, {
|
|
22
|
-
path: string;
|
|
23
|
-
reason: "destination_exists" | "default_excluded";
|
|
24
|
-
}, {
|
|
25
|
-
path: string;
|
|
26
|
-
reason: "destination_exists" | "default_excluded";
|
|
27
|
-
}>, "many">>;
|
|
28
|
-
skippedCount: z.ZodNumber;
|
|
29
|
-
}, "strip", z.ZodTypeAny, {
|
|
30
|
-
copiedCount: number;
|
|
31
|
-
rejectedCount: number;
|
|
32
|
-
skippedCount: number;
|
|
33
|
-
rejected?: {
|
|
34
|
-
path: string;
|
|
35
|
-
reason: string;
|
|
36
|
-
}[] | undefined;
|
|
37
|
-
skipped?: {
|
|
38
|
-
path: string;
|
|
39
|
-
reason: "destination_exists" | "default_excluded";
|
|
40
|
-
}[] | undefined;
|
|
41
|
-
copied?: string[] | undefined;
|
|
42
|
-
}, {
|
|
43
|
-
copiedCount: number;
|
|
44
|
-
rejectedCount: number;
|
|
45
|
-
skippedCount: number;
|
|
46
|
-
rejected?: {
|
|
47
|
-
path: string;
|
|
48
|
-
reason: string;
|
|
49
|
-
}[] | undefined;
|
|
50
|
-
skipped?: {
|
|
51
|
-
path: string;
|
|
52
|
-
reason: "destination_exists" | "default_excluded";
|
|
53
|
-
}[] | undefined;
|
|
54
|
-
copied?: string[] | undefined;
|
|
55
|
-
}>;
|
|
56
|
-
export declare function formatCopyCounts(output: CopyToolResult): string;
|
|
57
|
-
//# sourceMappingURL=build-copy-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-copy-utils.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-copy-utils.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,eAAO,MAAM,0BAA0B,qEAGrB,CAAC;AAEnB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB/B,CAAC;AAEH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAY/D"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import z from "zod";
|
|
2
|
-
export const copyConflictStrategySchema = z
|
|
3
|
-
.enum(["fail", "skip", "replace"])
|
|
4
|
-
.optional()
|
|
5
|
-
.default("fail");
|
|
6
|
-
export const copyToolResultSchema = z.object({
|
|
7
|
-
copied: z.array(z.string()).optional(),
|
|
8
|
-
copiedCount: z.number().int().nonnegative(),
|
|
9
|
-
rejected: z
|
|
10
|
-
.array(z.object({
|
|
11
|
-
path: z.string(),
|
|
12
|
-
reason: z.string(),
|
|
13
|
-
}))
|
|
14
|
-
.optional(),
|
|
15
|
-
rejectedCount: z.number().int().nonnegative(),
|
|
16
|
-
skipped: z
|
|
17
|
-
.array(z.object({
|
|
18
|
-
path: z.string(),
|
|
19
|
-
reason: z.enum(["destination_exists", "default_excluded"]),
|
|
20
|
-
}))
|
|
21
|
-
.optional(),
|
|
22
|
-
skippedCount: z.number().int().nonnegative(),
|
|
23
|
-
});
|
|
24
|
-
export function formatCopyCounts(output) {
|
|
25
|
-
const parts = [];
|
|
26
|
-
if (output.copiedCount > 0) {
|
|
27
|
-
parts.push(`${output.copiedCount} copied`);
|
|
28
|
-
}
|
|
29
|
-
if (output.skippedCount > 0) {
|
|
30
|
-
parts.push(`${output.skippedCount} skipped`);
|
|
31
|
-
}
|
|
32
|
-
if (output.rejectedCount > 0) {
|
|
33
|
-
parts.push(`${output.rejectedCount} rejected`);
|
|
34
|
-
}
|
|
35
|
-
return parts.length > 0 ? parts.join(", ") : "no files copied";
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=build-copy-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-copy-utils.js","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools/build-copy-utils.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAIpB,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;KACjC,QAAQ,EAAE;KACV,OAAO,CAAC,MAAM,CAAC,CAAC;AAEnB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC3C,QAAQ,EAAE,CAAC;SACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;KACnB,CAAC,CACH;SACA,QAAQ,EAAE;IACb,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC7C,OAAO,EAAE,CAAC;SACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;KAC3D,CAAC,CACH;SACA,QAAQ,EAAE;IACb,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,UAAU,gBAAgB,CAAC,MAAsB;IACrD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,UAAU,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,aAAa,WAAW,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;AACjE,CAAC"}
|