veryfront 0.1.1047 → 0.1.1049
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/esm/cli/auth/login.d.ts +5 -5
- package/esm/cli/auth/login.d.ts.map +1 -1
- package/esm/cli/auth/login.js +28 -28
- package/esm/cli/auth/provider-store.d.ts +5 -4
- package/esm/cli/auth/provider-store.d.ts.map +1 -1
- package/esm/cli/auth/provider-store.js +17 -13
- package/esm/cli/commands/build/command.d.ts +2 -0
- package/esm/cli/commands/build/command.d.ts.map +1 -1
- package/esm/cli/commands/build/command.js +46 -20
- package/esm/cli/commands/build/handler.d.ts +6 -0
- package/esm/cli/commands/build/handler.d.ts.map +1 -1
- package/esm/cli/commands/build/handler.js +9 -5
- package/esm/cli/commands/deploy/command-help.d.ts.map +1 -1
- package/esm/cli/commands/deploy/command-help.js +2 -1
- package/esm/cli/commands/deploy/command.d.ts +83 -14
- package/esm/cli/commands/deploy/command.d.ts.map +1 -1
- package/esm/cli/commands/deploy/command.js +317 -23
- package/esm/cli/commands/deploy/index.d.ts +2 -2
- package/esm/cli/commands/deploy/index.d.ts.map +1 -1
- package/esm/cli/commands/deploy/index.js +1 -1
- package/esm/cli/commands/dev/command.d.ts +1 -0
- package/esm/cli/commands/dev/command.d.ts.map +1 -1
- package/esm/cli/commands/dev/command.js +10 -1
- package/esm/cli/commands/dev/handler.d.ts +2 -0
- package/esm/cli/commands/dev/handler.d.ts.map +1 -1
- package/esm/cli/commands/dev/handler.js +6 -1
- package/esm/cli/commands/doctor/command-help.d.ts.map +1 -1
- package/esm/cli/commands/doctor/command-help.js +5 -1
- package/esm/cli/commands/doctor/handler.d.ts +1 -0
- package/esm/cli/commands/doctor/handler.d.ts.map +1 -1
- package/esm/cli/commands/doctor/handler.js +2 -0
- package/esm/cli/commands/doctor/index.d.ts +7 -0
- package/esm/cli/commands/doctor/index.d.ts.map +1 -1
- package/esm/cli/commands/doctor/index.js +67 -15
- package/esm/cli/commands/doctor/server-checks.d.ts +2 -2
- package/esm/cli/commands/doctor/server-checks.d.ts.map +1 -1
- package/esm/cli/commands/doctor/server-checks.js +5 -4
- package/esm/cli/commands/init/init-command.js +4 -4
- package/esm/cli/commands/init/types.d.ts +2 -0
- package/esm/cli/commands/init/types.d.ts.map +1 -1
- package/esm/cli/commands/push/command.d.ts +10 -1
- package/esm/cli/commands/push/command.d.ts.map +1 -1
- package/esm/cli/commands/push/command.js +135 -14
- package/esm/cli/commands/skills/create.d.ts +1 -1
- package/esm/cli/commands/skills/create.d.ts.map +1 -1
- package/esm/cli/commands/skills/create.js +1 -2
- package/esm/cli/mcp/server.d.ts.map +1 -1
- package/esm/cli/mcp/server.js +33 -7
- package/esm/cli/mcp/tools/catalog-tools.d.ts +6 -1
- package/esm/cli/mcp/tools/catalog-tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools/catalog-tools.js +9 -5
- package/esm/cli/mcp/tools/deploy-tool.d.ts +11 -1
- package/esm/cli/mcp/tools/deploy-tool.d.ts.map +1 -1
- package/esm/cli/mcp/tools/deploy-tool.js +55 -10
- package/esm/cli/shared/args.d.ts.map +1 -1
- package/esm/cli/shared/args.js +29 -2
- package/esm/cli/shared/config.d.ts +24 -0
- package/esm/cli/shared/config.d.ts.map +1 -1
- package/esm/cli/shared/config.js +62 -16
- package/esm/cli/shared/deployment-provenance.d.ts +47 -0
- package/esm/cli/shared/deployment-provenance.d.ts.map +1 -0
- package/esm/cli/shared/deployment-provenance.js +214 -0
- package/esm/cli/shared/json-output.d.ts.map +1 -1
- package/esm/cli/shared/json-output.js +16 -0
- package/esm/cli/shared/reserve-slug.d.ts +8 -1
- package/esm/cli/shared/reserve-slug.d.ts.map +1 -1
- package/esm/cli/shared/reserve-slug.js +15 -4
- package/esm/cli/skills/core-skills.d.ts.map +1 -1
- package/esm/cli/skills/core-skills.js +6 -3
- package/esm/cli/templates/manifest.js +3 -3
- package/esm/cli/utils/index.d.ts.map +1 -1
- package/esm/cli/utils/index.js +3 -0
- package/esm/deno.d.ts +3 -0
- package/esm/deno.js +11 -7
- package/esm/src/agent/react/use-agent-metadata.js +1 -1
- package/esm/src/agent/react/use-agent.js +1 -1
- package/esm/src/agent/react/use-agents.js +1 -1
- package/esm/src/agent/react/use-chat/types.d.ts +0 -6
- package/esm/src/agent/react/use-chat/types.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/use-chat.d.ts +5 -0
- package/esm/src/agent/react/use-chat/use-chat.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/use-chat.js +87 -34
- package/esm/src/agent/react/use-completion.js +1 -1
- package/esm/src/agent/react/use-streaming.js +1 -1
- package/esm/src/agent/react/use-voice-input.js +1 -1
- package/esm/src/build/bundler/code-splitter/splitter.d.ts +3 -0
- package/esm/src/build/bundler/code-splitter/splitter.d.ts.map +1 -1
- package/esm/src/build/bundler/code-splitter/splitter.js +21 -2
- package/esm/src/build/embedded/preset.d.ts +3 -2
- package/esm/src/build/embedded/preset.d.ts.map +1 -1
- package/esm/src/build/embedded/preset.js +120 -97
- package/esm/src/build/production-build/build/build-cleanup.d.ts.map +1 -1
- package/esm/src/build/production-build/build/build-cleanup.js +6 -1
- package/esm/src/build/production-build/build/build-orchestrator.d.ts.map +1 -1
- package/esm/src/build/production-build/build/build-orchestrator.js +55 -49
- package/esm/src/build/production-build/build/output-generator.d.ts +2 -0
- package/esm/src/build/production-build/build/output-generator.d.ts.map +1 -1
- package/esm/src/build/production-build/build/output-generator.js +2 -1
- package/esm/src/build/production-build/build/route-collector.d.ts +2 -1
- package/esm/src/build/production-build/build/route-collector.d.ts.map +1 -1
- package/esm/src/build/production-build/build/route-collector.js +3 -3
- package/esm/src/build/production-build/client-runtime.d.ts +4 -0
- package/esm/src/build/production-build/client-runtime.d.ts.map +1 -1
- package/esm/src/build/production-build/client-runtime.js +5 -8
- package/esm/src/build/production-build/local-release-assets.d.ts +2 -0
- package/esm/src/build/production-build/local-release-assets.d.ts.map +1 -1
- package/esm/src/build/production-build/local-release-assets.js +4 -1
- package/esm/src/build/production-build/manifest.d.ts.map +1 -1
- package/esm/src/build/production-build/manifest.js +9 -2
- package/esm/src/build/production-build/static-generation.d.ts.map +1 -1
- package/esm/src/build/production-build/static-generation.js +15 -3
- package/esm/src/build/production-build/templates.d.ts.map +1 -1
- package/esm/src/build/production-build/templates.js +1 -1
- package/esm/src/cache/backends/api.d.ts.map +1 -1
- package/esm/src/cache/backends/api.js +10 -7
- package/esm/src/chat/index.d.ts +8 -15
- package/esm/src/chat/index.d.ts.map +1 -1
- package/esm/src/chat/index.js +7 -16
- package/esm/src/config/config-files.d.ts +3 -0
- package/esm/src/config/config-files.d.ts.map +1 -0
- package/esm/src/config/config-files.js +6 -0
- package/esm/src/config/loader.d.ts.map +1 -1
- package/esm/src/config/loader.js +12 -9
- package/esm/src/extensions/parser/code-parser.d.ts +14 -0
- package/esm/src/extensions/parser/code-parser.d.ts.map +1 -1
- package/esm/src/extensions/parser/index.d.ts +1 -1
- package/esm/src/extensions/parser/index.d.ts.map +1 -1
- package/esm/src/html/html-injection.d.ts.map +1 -1
- package/esm/src/html/html-injection.js +2 -2
- package/esm/src/html/html-shell-generator.d.ts.map +1 -1
- package/esm/src/html/html-shell-generator.js +16 -9
- package/esm/src/html/hydration-script-builder/dev-component-manifest.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/dev-component-manifest.js +2 -1
- package/esm/src/html/hydration-script-builder/hydration-data-generator.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/hydration-data-generator.js +15 -4
- package/esm/src/html/hydration-script-builder/prod-hydration.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/prod-hydration.js +4 -2
- package/esm/src/html/hydration-script-builder/templates/renderer.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/renderer.js +37 -7
- package/esm/src/html/hydration-script-builder/templates/router.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/router.js +22 -4
- package/esm/src/html/hydration-script-builder/types.d.ts +4 -0
- package/esm/src/html/hydration-script-builder/types.d.ts.map +1 -1
- package/esm/src/html/schemas/html.schema.d.ts +10 -0
- package/esm/src/html/schemas/html.schema.d.ts.map +1 -1
- package/esm/src/html/schemas/html.schema.js +5 -0
- package/esm/src/html/utils.d.ts.map +1 -1
- package/esm/src/html/utils.js +10 -10
- package/esm/src/modules/component-registry/registry.d.ts +1 -1
- package/esm/src/modules/component-registry/registry.d.ts.map +1 -1
- package/esm/src/modules/react-loader/component-loader.d.ts +1 -1
- package/esm/src/modules/react-loader/component-loader.d.ts.map +1 -1
- package/esm/src/modules/react-loader/extract-component.d.ts +1 -1
- package/esm/src/modules/react-loader/extract-component.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.js +2 -3
- package/esm/src/modules/react-loader/ssr-module-loader/loader.d.ts +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/loader.d.ts.map +1 -1
- package/esm/src/modules/react-loader/types.d.ts +1 -1
- package/esm/src/modules/react-loader/types.d.ts.map +1 -1
- package/esm/src/modules/server/module-batch-handler.d.ts.map +1 -1
- package/esm/src/modules/server/module-batch-handler.js +3 -10
- package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts +1 -0
- package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/adapter.js +4 -0
- package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.d.ts +4 -1
- package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.js +6 -0
- package/esm/src/platform/adapters/fs/veryfront/read-operations.d.ts +1 -0
- package/esm/src/platform/adapters/fs/veryfront/read-operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/read-operations.js +8 -0
- package/esm/src/platform/adapters/fs/veryfront/request-context.d.ts +4 -0
- package/esm/src/platform/adapters/fs/veryfront/request-context.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/request-context.js +1 -0
- package/esm/src/platform/adapters/mock.d.ts.map +1 -1
- package/esm/src/platform/adapters/mock.js +3 -2
- package/esm/src/platform/adapters/veryfront-api-client/client.d.ts +4 -1
- package/esm/src/platform/adapters/veryfront-api-client/client.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/client.js +8 -4
- package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts +7 -3
- package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/operations.js +6 -6
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.d.ts +2 -0
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.js +4 -1
- package/esm/src/platform/compat/framework-source-resolver.d.ts +7 -1
- package/esm/src/platform/compat/framework-source-resolver.d.ts.map +1 -1
- package/esm/src/platform/compat/framework-source-resolver.js +32 -13
- package/esm/src/platform/compat/fs.d.ts +4 -0
- package/esm/src/platform/compat/fs.d.ts.map +1 -1
- package/esm/src/platform/compat/fs.js +34 -2
- package/esm/src/platform/compat/http/request-adapter.js +18 -1
- package/esm/src/platform/compat/path/runtime.d.ts.map +1 -1
- package/esm/src/platform/compat/path/runtime.js +1 -1
- package/esm/src/platform/compat/process/command.d.ts +2 -0
- package/esm/src/platform/compat/process/command.d.ts.map +1 -1
- package/esm/src/platform/compat/process/command.js +4 -3
- package/esm/src/platform/compat/runtime.d.ts +1 -1
- package/esm/src/platform/compat/runtime.d.ts.map +1 -1
- package/esm/src/platform/compat/runtime.js +5 -2
- package/esm/src/platform/index.d.ts +1 -1
- package/esm/src/platform/index.d.ts.map +1 -1
- package/esm/src/platform/index.js +1 -1
- package/esm/src/proxy/local-project-resolver.d.ts.map +1 -1
- package/esm/src/proxy/local-project-resolver.js +4 -2
- package/esm/src/proxy/main.js +17 -15
- package/esm/src/proxy/retry.d.ts +18 -0
- package/esm/src/proxy/retry.d.ts.map +1 -1
- package/esm/src/proxy/retry.js +89 -0
- package/esm/src/proxy/websocket-bridge.d.ts +10 -0
- package/esm/src/proxy/websocket-bridge.d.ts.map +1 -1
- package/esm/src/proxy/websocket-bridge.js +4 -0
- package/esm/src/react/compat/hooks-adapter.d.ts +1 -1
- package/esm/src/react/compat/hooks-adapter.d.ts.map +1 -1
- package/esm/src/react/compat/hooks-adapter.js +1 -1
- package/esm/src/react/compat/ssr-adapter/response-builder.d.ts +1 -1
- package/esm/src/react/compat/ssr-adapter/response-builder.d.ts.map +1 -1
- package/esm/src/react/compat/ssr-adapter/response-builder.js +1 -1
- package/esm/src/react/compat/ssr-adapter/server-loader.d.ts +10 -7
- package/esm/src/react/compat/ssr-adapter/server-loader.d.ts.map +1 -1
- package/esm/src/react/compat/ssr-adapter/server-loader.js +49 -32
- package/esm/src/react/compat/ssr-adapter/stream-renderer.d.ts +1 -1
- package/esm/src/react/compat/ssr-adapter/stream-renderer.d.ts.map +1 -1
- package/esm/src/react/compat/ssr-adapter/stream-renderer.js +5 -5
- package/esm/src/react/compat/ssr-adapter/string-renderer.d.ts +1 -1
- package/esm/src/react/compat/ssr-adapter/string-renderer.d.ts.map +1 -1
- package/esm/src/react/compat/ssr-adapter/string-renderer.js +2 -2
- package/esm/src/react/compat/ssr-adapter/types.d.ts +2 -0
- package/esm/src/react/compat/ssr-adapter/types.d.ts.map +1 -1
- package/esm/src/react/compat/version-detector/feature-detector.js +1 -1
- package/esm/src/react/components/AppWrapper.d.ts +1 -1
- package/esm/src/react/components/AppWrapper.d.ts.map +1 -1
- package/esm/src/react/components/AppWrapper.js +1 -1
- package/esm/src/react/components/LayoutComponent.d.ts +1 -1
- package/esm/src/react/components/LayoutComponent.d.ts.map +1 -1
- package/esm/src/react/components/LayoutComponent.js +1 -1
- package/esm/src/react/components/MDXProvider.d.ts +1 -1
- package/esm/src/react/components/MDXProvider.d.ts.map +1 -1
- package/esm/src/react/components/MDXProvider.js +1 -1
- package/esm/src/react/components/ProviderComponent.d.ts +1 -1
- package/esm/src/react/components/ProviderComponent.d.ts.map +1 -1
- package/esm/src/react/components/ProviderComponent.js +1 -1
- package/esm/src/react/components/chat/agent-card.d.ts +15 -7
- package/esm/src/react/components/chat/agent-card.d.ts.map +1 -1
- package/esm/src/react/components/chat/agent-card.js +9 -10
- package/esm/src/react/components/chat/agent-picker-actions.d.ts +20 -0
- package/esm/src/react/components/chat/agent-picker-actions.d.ts.map +1 -0
- package/esm/src/react/components/chat/agent-picker-actions.js +24 -0
- package/esm/src/react/components/chat/agent-picker-context.d.ts +19 -0
- package/esm/src/react/components/chat/agent-picker-context.d.ts.map +1 -0
- package/esm/src/react/components/chat/agent-picker-context.js +13 -0
- package/esm/src/react/components/chat/agent-picker.d.ts +35 -42
- package/esm/src/react/components/chat/agent-picker.d.ts.map +1 -1
- package/esm/src/react/components/chat/agent-picker.js +59 -50
- package/esm/src/react/components/chat/chat/app-mode-chat.d.ts +14 -0
- package/esm/src/react/components/chat/chat/app-mode-chat.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/app-mode-chat.js +137 -0
- package/esm/src/react/components/chat/chat/chat-attachments.d.ts +7 -0
- package/esm/src/react/components/chat/chat/chat-attachments.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/chat-attachments.js +16 -0
- package/esm/src/react/components/chat/chat/chat-component.d.ts +21 -0
- package/esm/src/react/components/chat/chat/chat-component.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/chat-component.js +1 -0
- package/esm/src/react/components/chat/chat/chat-props.d.ts +114 -0
- package/esm/src/react/components/chat/chat/chat-props.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/chat-props.js +1 -0
- package/esm/src/react/components/chat/chat/components/animations.d.ts +1 -1
- package/esm/src/react/components/chat/chat/components/animations.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/animations.js +1 -1
- package/esm/src/react/components/chat/chat/components/attachment-pill.d.ts +18 -18
- package/esm/src/react/components/chat/chat/components/attachment-pill.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/attachment-pill.js +11 -15
- package/esm/src/react/components/chat/chat/components/attachments-panel.d.ts +14 -3
- package/esm/src/react/components/chat/chat/components/attachments-panel.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/attachments-panel.js +3 -3
- package/esm/src/react/components/chat/chat/components/branch-picker.d.ts +44 -14
- package/esm/src/react/components/chat/chat/components/branch-picker.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/branch-picker.js +55 -12
- package/esm/src/react/components/chat/chat/components/chat-messages-skeleton.d.ts +1 -1
- package/esm/src/react/components/chat/chat/components/chat-messages-skeleton.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/chat-messages-skeleton.js +1 -1
- package/esm/src/react/components/chat/chat/components/code-block.d.ts +7 -2
- package/esm/src/react/components/chat/chat/components/code-block.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/code-block.js +3 -3
- package/esm/src/react/components/chat/chat/components/drop-zone.d.ts +1 -1
- package/esm/src/react/components/chat/chat/components/drop-zone.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/drop-zone.js +1 -1
- package/esm/src/react/components/chat/chat/components/empty-state.d.ts +1 -1
- package/esm/src/react/components/chat/chat/components/empty-state.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/empty-state.js +1 -1
- package/esm/src/react/components/chat/chat/components/inference-badge.d.ts +1 -1
- package/esm/src/react/components/chat/chat/components/inference-badge.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/inference-badge.js +1 -1
- package/esm/src/react/components/chat/chat/components/inline-citation.d.ts +33 -10
- package/esm/src/react/components/chat/chat/components/inline-citation.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/inline-citation.js +145 -51
- package/esm/src/react/components/chat/chat/components/message-actions.d.ts +49 -20
- package/esm/src/react/components/chat/chat/components/message-actions.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/message-actions.js +72 -18
- package/esm/src/react/components/chat/chat/components/message-edit-form.d.ts +1 -1
- package/esm/src/react/components/chat/chat/components/message-edit-form.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/message-edit-form.js +1 -1
- package/esm/src/react/components/chat/chat/components/message-feedback.d.ts +34 -14
- package/esm/src/react/components/chat/chat/components/message-feedback.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/message-feedback.js +54 -15
- package/esm/src/react/components/chat/chat/components/quick-actions.d.ts +1 -1
- package/esm/src/react/components/chat/chat/components/quick-actions.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/quick-actions.js +1 -1
- package/esm/src/react/components/chat/chat/components/reasoning.d.ts +14 -6
- package/esm/src/react/components/chat/chat/components/reasoning.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/reasoning.js +3 -5
- package/esm/src/react/components/chat/chat/components/sidebar.d.ts +70 -16
- package/esm/src/react/components/chat/chat/components/sidebar.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/sidebar.js +72 -23
- package/esm/src/react/components/chat/chat/components/skill-badge.d.ts +1 -1
- package/esm/src/react/components/chat/chat/components/skill-badge.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/skill-badge.js +1 -1
- package/esm/src/react/components/chat/chat/components/skill-tool.d.ts +1 -1
- package/esm/src/react/components/chat/chat/components/skill-tool.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/skill-tool.js +1 -1
- package/esm/src/react/components/chat/chat/components/sources.d.ts +25 -15
- package/esm/src/react/components/chat/chat/components/sources.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/sources.js +7 -7
- package/esm/src/react/components/chat/chat/components/step-indicator.d.ts +14 -3
- package/esm/src/react/components/chat/chat/components/step-indicator.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/step-indicator.js +3 -3
- package/esm/src/react/components/chat/chat/components/tab-switcher.d.ts +1 -1
- package/esm/src/react/components/chat/chat/components/tab-switcher.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/tab-switcher.js +1 -1
- package/esm/src/react/components/chat/chat/components/tool-ui.d.ts +16 -9
- package/esm/src/react/components/chat/chat/components/tool-ui.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/tool-ui.js +10 -14
- package/esm/src/react/components/chat/chat/composition/agent-avatar.d.ts +1 -1
- package/esm/src/react/components/chat/chat/composition/agent-avatar.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/agent-avatar.js +1 -1
- package/esm/src/react/components/chat/chat/composition/api.d.ts +3 -3
- package/esm/src/react/components/chat/chat/composition/api.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/api.js +2 -2
- package/esm/src/react/components/chat/chat/composition/chat-composer.d.ts +72 -29
- package/esm/src/react/components/chat/chat/composition/chat-composer.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-composer.js +92 -82
- package/esm/src/react/components/chat/chat/composition/chat-empty-state.d.ts +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-empty-state.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-empty-state.js +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-empty.d.ts +7 -2
- package/esm/src/react/components/chat/chat/composition/chat-empty.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-empty.js +3 -3
- package/esm/src/react/components/chat/chat/composition/chat-if.d.ts +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-if.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-message-list.d.ts +25 -11
- package/esm/src/react/components/chat/chat/composition/chat-message-list.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-message-list.js +67 -29
- package/esm/src/react/components/chat/chat/composition/chat-root.d.ts +7 -3
- package/esm/src/react/components/chat/chat/composition/chat-root.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-root.js +3 -5
- package/esm/src/react/components/chat/chat/composition/error-banner.d.ts +7 -2
- package/esm/src/react/components/chat/chat/composition/error-banner.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/error-banner.js +3 -3
- package/esm/src/react/components/chat/chat/composition/message.d.ts +85 -34
- package/esm/src/react/components/chat/chat/composition/message.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/message.js +146 -122
- package/esm/src/react/components/chat/chat/composition/model-avatar.d.ts +1 -1
- package/esm/src/react/components/chat/chat/composition/model-avatar.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/model-avatar.js +1 -1
- package/esm/src/react/components/chat/chat/composition/pending-message.d.ts +1 -1
- package/esm/src/react/components/chat/chat/composition/pending-message.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/pending-message.js +1 -1
- package/esm/src/react/components/chat/chat/contexts/chat-context.d.ts +2 -3
- package/esm/src/react/components/chat/chat/contexts/chat-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/chat-context.js +1 -1
- package/esm/src/react/components/chat/chat/contexts/composer-context.d.ts +2 -2
- package/esm/src/react/components/chat/chat/contexts/composer-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/composer-context.js +1 -1
- package/esm/src/react/components/chat/chat/contexts/conversations-context.d.ts +2 -2
- package/esm/src/react/components/chat/chat/contexts/conversations-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/conversations-context.js +1 -1
- package/esm/src/react/components/chat/chat/contexts/index.d.ts +1 -1
- package/esm/src/react/components/chat/chat/contexts/index.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/index.js +1 -1
- package/esm/src/react/components/chat/chat/contexts/message-context.d.ts +15 -2
- package/esm/src/react/components/chat/chat/contexts/message-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/message-context.js +11 -1
- package/esm/src/react/components/chat/chat/controlled-chat.d.ts +15 -0
- package/esm/src/react/components/chat/chat/controlled-chat.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/controlled-chat.js +97 -0
- package/esm/src/react/components/chat/chat/hooks/use-clipboard.js +1 -1
- package/esm/src/react/components/chat/chat/hooks/use-conversation-chat.d.ts +54 -0
- package/esm/src/react/components/chat/chat/hooks/use-conversation-chat.d.ts.map +1 -0
- package/esm/src/react/components/chat/chat/hooks/use-conversation-chat.js +179 -0
- package/esm/src/react/components/chat/chat/hooks/use-conversation.js +1 -1
- package/esm/src/react/components/chat/chat/hooks/use-conversations.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/hooks/use-conversations.js +3 -6
- package/esm/src/react/components/chat/chat/hooks/use-drop-zone.d.ts +8 -5
- package/esm/src/react/components/chat/chat/hooks/use-drop-zone.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/hooks/use-drop-zone.js +6 -6
- package/esm/src/react/components/chat/chat/hooks/use-stick-to-bottom.d.ts +1 -1
- package/esm/src/react/components/chat/chat/hooks/use-stick-to-bottom.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/hooks/use-stick-to-bottom.js +1 -1
- package/esm/src/react/components/chat/chat/hooks/use-upload.js +1 -1
- package/esm/src/react/components/chat/chat/hooks/use-uploads-registry.js +1 -1
- package/esm/src/react/components/chat/chat/index.d.ts +13 -230
- package/esm/src/react/components/chat/chat/index.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/index.js +27 -383
- package/esm/src/react/components/chat/chat-actions.d.ts +1 -1
- package/esm/src/react/components/chat/chat-actions.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat-actions.js +1 -1
- package/esm/src/react/components/chat/chat-agent-picker.d.ts +1 -1
- package/esm/src/react/components/chat/chat-agent-picker.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat-agent-picker.js +1 -1
- package/esm/src/react/components/chat/chat-theme-scope.d.ts +1 -1
- package/esm/src/react/components/chat/chat-theme-scope.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat-theme-scope.js +1 -1
- package/esm/src/react/components/chat/chat.d.ts +6 -6
- package/esm/src/react/components/chat/chat.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat.js +4 -4
- package/esm/src/react/components/chat/error-boundary.d.ts +1 -1
- package/esm/src/react/components/chat/error-boundary.d.ts.map +1 -1
- package/esm/src/react/components/chat/error-boundary.js +1 -1
- package/esm/src/react/components/chat/markdown.d.ts +3 -4
- package/esm/src/react/components/chat/markdown.d.ts.map +1 -1
- package/esm/src/react/components/chat/markdown.js +8 -74
- package/esm/src/react/components/chat/model-selector.d.ts +21 -27
- package/esm/src/react/components/chat/model-selector.d.ts.map +1 -1
- package/esm/src/react/components/chat/model-selector.js +26 -31
- package/esm/src/react/components/optimized-image/OptimizedBackgroundImage.d.ts +1 -1
- package/esm/src/react/components/optimized-image/OptimizedBackgroundImage.d.ts.map +1 -1
- package/esm/src/react/components/optimized-image/OptimizedBackgroundImage.js +1 -1
- package/esm/src/react/components/optimized-image/OptimizedImage.d.ts +1 -1
- package/esm/src/react/components/optimized-image/OptimizedImage.d.ts.map +1 -1
- package/esm/src/react/components/optimized-image/OptimizedImage.js +1 -1
- package/esm/src/react/components/optimized-image/SimpleOptimizedImage.d.ts +1 -1
- package/esm/src/react/components/optimized-image/SimpleOptimizedImage.d.ts.map +1 -1
- package/esm/src/react/components/optimized-image/utils.d.ts +1 -1
- package/esm/src/react/components/optimized-image/utils.d.ts.map +1 -1
- package/esm/src/react/components/optimized-image/utils.js +1 -1
- package/esm/src/react/components/ui/alert.d.ts +1 -1
- package/esm/src/react/components/ui/alert.d.ts.map +1 -1
- package/esm/src/react/components/ui/alert.js +1 -1
- package/esm/src/react/components/ui/app-shell.d.ts +1 -1
- package/esm/src/react/components/ui/app-shell.d.ts.map +1 -1
- package/esm/src/react/components/ui/app-shell.js +1 -1
- package/esm/src/react/components/ui/avatar.d.ts +1 -1
- package/esm/src/react/components/ui/avatar.d.ts.map +1 -1
- package/esm/src/react/components/ui/avatar.js +1 -1
- package/esm/src/react/components/ui/badge.d.ts +1 -1
- package/esm/src/react/components/ui/badge.d.ts.map +1 -1
- package/esm/src/react/components/ui/badge.js +1 -1
- package/esm/src/react/components/ui/button.d.ts +1 -1
- package/esm/src/react/components/ui/button.d.ts.map +1 -1
- package/esm/src/react/components/ui/button.js +1 -1
- package/esm/src/react/components/ui/card.d.ts +1 -1
- package/esm/src/react/components/ui/card.d.ts.map +1 -1
- package/esm/src/react/components/ui/card.js +1 -1
- package/esm/src/react/components/ui/checkbox.d.ts +1 -1
- package/esm/src/react/components/ui/checkbox.d.ts.map +1 -1
- package/esm/src/react/components/ui/checkbox.js +1 -1
- package/esm/src/react/components/ui/code-block.d.ts +1 -1
- package/esm/src/react/components/ui/code-block.d.ts.map +1 -1
- package/esm/src/react/components/ui/code-block.js +1 -1
- package/esm/src/react/components/ui/collapsible.d.ts +1 -1
- package/esm/src/react/components/ui/collapsible.d.ts.map +1 -1
- package/esm/src/react/components/ui/collapsible.js +1 -1
- package/esm/src/react/components/ui/color-mode.d.ts +2 -2
- package/esm/src/react/components/ui/color-mode.d.ts.map +1 -1
- package/esm/src/react/components/ui/color-mode.js +1 -1
- package/esm/src/react/components/ui/command.d.ts +1 -1
- package/esm/src/react/components/ui/command.d.ts.map +1 -1
- package/esm/src/react/components/ui/command.js +1 -1
- package/esm/src/react/components/ui/dialog.d.ts +1 -1
- package/esm/src/react/components/ui/dialog.d.ts.map +1 -1
- package/esm/src/react/components/ui/dialog.js +1 -1
- package/esm/src/react/components/ui/drawer.d.ts +1 -1
- package/esm/src/react/components/ui/drawer.d.ts.map +1 -1
- package/esm/src/react/components/ui/drawer.js +1 -1
- package/esm/src/react/components/ui/dropdown-menu.d.ts +1 -1
- package/esm/src/react/components/ui/dropdown-menu.d.ts.map +1 -1
- package/esm/src/react/components/ui/dropdown-menu.js +1 -1
- package/esm/src/react/components/ui/file-type.d.ts +1 -1
- package/esm/src/react/components/ui/file-type.d.ts.map +1 -1
- package/esm/src/react/components/ui/file-type.js +1 -1
- package/esm/src/react/components/ui/floating.d.ts +1 -1
- package/esm/src/react/components/ui/floating.d.ts.map +1 -1
- package/esm/src/react/components/ui/floating.js +2 -2
- package/esm/src/react/components/ui/icon-button.d.ts +1 -1
- package/esm/src/react/components/ui/icon-button.d.ts.map +1 -1
- package/esm/src/react/components/ui/icon-button.js +1 -1
- package/esm/src/react/components/ui/icons/index.d.ts +1 -1
- package/esm/src/react/components/ui/icons/index.d.ts.map +1 -1
- package/esm/src/react/components/ui/icons/index.js +1 -1
- package/esm/src/react/components/ui/input.d.ts +1 -1
- package/esm/src/react/components/ui/input.d.ts.map +1 -1
- package/esm/src/react/components/ui/input.js +1 -1
- package/esm/src/react/components/ui/label.d.ts +1 -1
- package/esm/src/react/components/ui/label.d.ts.map +1 -1
- package/esm/src/react/components/ui/label.js +1 -1
- package/esm/src/react/components/ui/list.d.ts +1 -1
- package/esm/src/react/components/ui/list.d.ts.map +1 -1
- package/esm/src/react/components/ui/list.js +1 -1
- package/esm/src/react/components/ui/pill.d.ts +1 -1
- package/esm/src/react/components/ui/pill.d.ts.map +1 -1
- package/esm/src/react/components/ui/pill.js +1 -1
- package/esm/src/react/components/ui/popover.d.ts +1 -1
- package/esm/src/react/components/ui/popover.d.ts.map +1 -1
- package/esm/src/react/components/ui/popover.js +1 -1
- package/esm/src/react/components/ui/progress-bar.d.ts +1 -1
- package/esm/src/react/components/ui/progress-bar.d.ts.map +1 -1
- package/esm/src/react/components/ui/progress-bar.js +1 -1
- package/esm/src/react/components/ui/radio.d.ts +1 -1
- package/esm/src/react/components/ui/radio.d.ts.map +1 -1
- package/esm/src/react/components/ui/radio.js +1 -1
- package/esm/src/react/components/ui/scroll-fade.d.ts +1 -1
- package/esm/src/react/components/ui/scroll-fade.d.ts.map +1 -1
- package/esm/src/react/components/ui/scroll-fade.js +1 -1
- package/esm/src/react/components/ui/select.d.ts +1 -1
- package/esm/src/react/components/ui/select.d.ts.map +1 -1
- package/esm/src/react/components/ui/select.js +1 -1
- package/esm/src/react/components/ui/shimmer.d.ts +1 -1
- package/esm/src/react/components/ui/shimmer.d.ts.map +1 -1
- package/esm/src/react/components/ui/shimmer.js +1 -1
- package/esm/src/react/components/ui/skeleton.d.ts +1 -1
- package/esm/src/react/components/ui/skeleton.d.ts.map +1 -1
- package/esm/src/react/components/ui/skeleton.js +1 -1
- package/esm/src/react/components/ui/slot.d.ts +1 -1
- package/esm/src/react/components/ui/slot.d.ts.map +1 -1
- package/esm/src/react/components/ui/slot.js +1 -1
- package/esm/src/react/components/ui/status.d.ts +1 -1
- package/esm/src/react/components/ui/status.d.ts.map +1 -1
- package/esm/src/react/components/ui/status.js +1 -1
- package/esm/src/react/components/ui/switch.d.ts +1 -1
- package/esm/src/react/components/ui/switch.d.ts.map +1 -1
- package/esm/src/react/components/ui/switch.js +1 -1
- package/esm/src/react/components/ui/tabs.d.ts +3 -3
- package/esm/src/react/components/ui/tabs.d.ts.map +1 -1
- package/esm/src/react/components/ui/tabs.js +1 -1
- package/esm/src/react/components/ui/tag.d.ts +1 -1
- package/esm/src/react/components/ui/tag.d.ts.map +1 -1
- package/esm/src/react/components/ui/tag.js +1 -1
- package/esm/src/react/components/ui/textarea.d.ts +1 -1
- package/esm/src/react/components/ui/textarea.d.ts.map +1 -1
- package/esm/src/react/components/ui/textarea.js +1 -1
- package/esm/src/react/components/ui/tokens.d.ts +1 -1
- package/esm/src/react/components/ui/tokens.d.ts.map +1 -1
- package/esm/src/react/components/ui/tokens.js +1 -1
- package/esm/src/react/components/ui/tooltip.d.ts +1 -1
- package/esm/src/react/components/ui/tooltip.d.ts.map +1 -1
- package/esm/src/react/components/ui/tooltip.js +2 -2
- package/esm/src/react/fonts/index.d.ts +1 -1
- package/esm/src/react/fonts/index.d.ts.map +1 -1
- package/esm/src/react/fonts/index.js +1 -1
- package/esm/src/react/primitives/agent-primitives.d.ts +4 -4
- package/esm/src/react/primitives/agent-primitives.d.ts.map +1 -1
- package/esm/src/react/primitives/agent-primitives.js +1 -1
- package/esm/src/react/primitives/chat-container.d.ts +2 -2
- package/esm/src/react/primitives/chat-container.d.ts.map +1 -1
- package/esm/src/react/primitives/chat-container.js +1 -1
- package/esm/src/react/primitives/input-box.d.ts +4 -4
- package/esm/src/react/primitives/input-box.d.ts.map +1 -1
- package/esm/src/react/primitives/input-box.js +1 -1
- package/esm/src/react/primitives/message-list.d.ts +5 -5
- package/esm/src/react/primitives/message-list.d.ts.map +1 -1
- package/esm/src/react/primitives/message-list.js +1 -1
- package/esm/src/react/primitives/tool-primitives.d.ts +4 -4
- package/esm/src/react/primitives/tool-primitives.d.ts.map +1 -1
- package/esm/src/react/primitives/tool-primitives.js +1 -1
- package/esm/src/react/runtime/core.d.ts +1 -1
- package/esm/src/react/runtime/core.d.ts.map +1 -1
- package/esm/src/react/runtime/core.js +1 -1
- package/esm/src/rendering/app-reserved.d.ts +2 -2
- package/esm/src/rendering/app-reserved.d.ts.map +1 -1
- package/esm/src/rendering/app-reserved.js +3 -2
- package/esm/src/rendering/component-handling.d.ts +1 -1
- package/esm/src/rendering/component-handling.d.ts.map +1 -1
- package/esm/src/rendering/component-handling.js +1 -1
- package/esm/src/rendering/context/render-context.d.ts +2 -0
- package/esm/src/rendering/context/render-context.d.ts.map +1 -1
- package/esm/src/rendering/context/render-context.js +2 -0
- package/esm/src/rendering/element-validator/element-normalizer.d.ts +1 -1
- package/esm/src/rendering/element-validator/element-normalizer.d.ts.map +1 -1
- package/esm/src/rendering/element-validator/element-normalizer.js +1 -1
- package/esm/src/rendering/element-validator/primitive-checks.d.ts +1 -1
- package/esm/src/rendering/element-validator/primitive-checks.d.ts.map +1 -1
- package/esm/src/rendering/element-validator/primitive-checks.js +1 -1
- package/esm/src/rendering/element-validator/validator-core.d.ts +1 -1
- package/esm/src/rendering/element-validator/validator-core.d.ts.map +1 -1
- package/esm/src/rendering/factories/service-factories.js +1 -1
- package/esm/src/rendering/layouts/layout-applicator.d.ts +8 -2
- package/esm/src/rendering/layouts/layout-applicator.d.ts.map +1 -1
- package/esm/src/rendering/layouts/layout-applicator.js +39 -11
- package/esm/src/rendering/layouts/layout-collector.d.ts +1 -0
- package/esm/src/rendering/layouts/layout-collector.d.ts.map +1 -1
- package/esm/src/rendering/layouts/layout-collector.js +7 -1
- package/esm/src/rendering/layouts/utils/applicator.d.ts +3 -3
- package/esm/src/rendering/layouts/utils/applicator.d.ts.map +1 -1
- package/esm/src/rendering/layouts/utils/applicator.js +7 -7
- package/esm/src/rendering/layouts/utils/component-loader.d.ts +7 -7
- package/esm/src/rendering/layouts/utils/component-loader.d.ts.map +1 -1
- package/esm/src/rendering/layouts/utils/component-loader.js +21 -14
- package/esm/src/rendering/layouts/utils/ensure-valid-child.d.ts +1 -1
- package/esm/src/rendering/layouts/utils/ensure-valid-child.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/html-types.d.ts +2 -0
- package/esm/src/rendering/orchestrator/html-types.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/html.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/html.js +16 -5
- package/esm/src/rendering/orchestrator/layout.d.ts +6 -2
- package/esm/src/rendering/orchestrator/layout.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/layout.js +16 -4
- package/esm/src/rendering/orchestrator/lifecycle.js +1 -1
- package/esm/src/rendering/orchestrator/module-loader/index.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/index.js +2 -2
- package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.d.ts +1 -1
- package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.js +9 -2
- package/esm/src/rendering/orchestrator/module-loader/module-transform-cache.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/module-transform-cache.js +9 -2
- package/esm/src/rendering/orchestrator/pipeline-helpers.d.ts +1 -1
- package/esm/src/rendering/orchestrator/pipeline-helpers.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/pipeline-helpers.js +3 -2
- package/esm/src/rendering/orchestrator/pipeline.d.ts +21 -0
- package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/pipeline.js +88 -22
- package/esm/src/rendering/orchestrator/ssr-orchestrator.d.ts +1 -1
- package/esm/src/rendering/orchestrator/ssr-orchestrator.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/ssr.d.ts +1 -0
- package/esm/src/rendering/orchestrator/ssr.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/ssr.js +8 -0
- package/esm/src/rendering/orchestrator/types.d.ts +13 -0
- package/esm/src/rendering/orchestrator/types.d.ts.map +1 -1
- package/esm/src/rendering/page-renderer.d.ts +3 -1
- package/esm/src/rendering/page-renderer.d.ts.map +1 -1
- package/esm/src/rendering/page-renderer.js +13 -1
- package/esm/src/rendering/page-rendering.d.ts +3 -1
- package/esm/src/rendering/page-rendering.d.ts.map +1 -1
- package/esm/src/rendering/page-rendering.js +2 -2
- package/esm/src/rendering/page-resolution/page-resolver.d.ts.map +1 -1
- package/esm/src/rendering/page-resolution/page-resolver.js +4 -3
- package/esm/src/rendering/renderer.d.ts.map +1 -1
- package/esm/src/rendering/renderer.js +6 -0
- package/esm/src/rendering/rsc/client-boot.ts +5 -1
- package/esm/src/rendering/rsc/client-boundary-payload.d.ts +10 -0
- package/esm/src/rendering/rsc/client-boundary-payload.d.ts.map +1 -0
- package/esm/src/rendering/rsc/client-boundary-payload.js +71 -0
- package/esm/src/rendering/rsc/client-module-strategy.d.ts +5 -1
- package/esm/src/rendering/rsc/client-module-strategy.d.ts.map +1 -1
- package/esm/src/rendering/rsc/client-module-strategy.js +9 -3
- package/esm/src/rendering/rsc/component-analyzer.d.ts.map +1 -1
- package/esm/src/rendering/rsc/component-analyzer.js +18 -7
- package/esm/src/rendering/rsc/hydrate-client.ts +133 -26
- package/esm/src/rendering/rsc/page-island.d.ts +32 -0
- package/esm/src/rendering/rsc/page-island.d.ts.map +1 -0
- package/esm/src/rendering/rsc/page-island.js +191 -0
- package/esm/src/rendering/rsc/server-renderer/component-detector.d.ts +1 -1
- package/esm/src/rendering/rsc/server-renderer/component-detector.d.ts.map +1 -1
- package/esm/src/rendering/rsc/server-renderer/html-generator.d.ts +2 -2
- package/esm/src/rendering/rsc/server-renderer/html-generator.d.ts.map +1 -1
- package/esm/src/rendering/rsc/server-renderer/html-generator.js +34 -6
- package/esm/src/rendering/rsc/server-renderer/prop-serializer.d.ts +1 -0
- package/esm/src/rendering/rsc/server-renderer/prop-serializer.d.ts.map +1 -1
- package/esm/src/rendering/rsc/server-renderer/prop-serializer.js +17 -0
- package/esm/src/rendering/rsc/server-renderer/rsc-renderer.d.ts +4 -2
- package/esm/src/rendering/rsc/server-renderer/rsc-renderer.d.ts.map +1 -1
- package/esm/src/rendering/rsc/server-renderer/rsc-renderer.js +41 -6
- package/esm/src/rendering/rsc/server-renderer/tree-processor.d.ts +4 -4
- package/esm/src/rendering/rsc/server-renderer/tree-processor.d.ts.map +1 -1
- package/esm/src/rendering/rsc/server-renderer/tree-processor.js +65 -14
- package/esm/src/rendering/rsc/types.d.ts +1 -1
- package/esm/src/rendering/rsc/types.d.ts.map +1 -1
- package/esm/src/rendering/snippet-renderer.js +2 -2
- package/esm/src/rendering/ssr/component-registry.d.ts +1 -1
- package/esm/src/rendering/ssr/component-registry.d.ts.map +1 -1
- package/esm/src/rendering/ssr/component-registry.js +1 -1
- package/esm/src/rendering/ssr/mdx-renderer.d.ts +1 -1
- package/esm/src/rendering/ssr/mdx-renderer.d.ts.map +1 -1
- package/esm/src/rendering/ssr/mdx-renderer.js +1 -1
- package/esm/src/rendering/ssr/types.d.ts +1 -1
- package/esm/src/rendering/ssr/types.d.ts.map +1 -1
- package/esm/src/rendering/ssr-renderer.d.ts +7 -6
- package/esm/src/rendering/ssr-renderer.d.ts.map +1 -1
- package/esm/src/rendering/ssr-renderer.js +37 -30
- package/esm/src/rendering/utils/react-helpers.d.ts +1 -1
- package/esm/src/rendering/utils/react-helpers.d.ts.map +1 -1
- package/esm/src/rendering/utils/react-helpers.js +1 -1
- package/esm/src/routing/api/api-route-matcher.d.ts.map +1 -1
- package/esm/src/routing/api/api-route-matcher.js +6 -33
- package/esm/src/routing/api/module-loader/esbuild-plugin.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/esbuild-plugin.js +5 -1
- package/esm/src/routing/client/navigation-handlers.d.ts.map +1 -1
- package/esm/src/routing/client/navigation-handlers.js +2 -1
- package/esm/src/routing/client/page-loader.d.ts.map +1 -1
- package/esm/src/routing/client/page-loader.js +8 -3
- package/esm/src/routing/matchers/route-parser.d.ts.map +1 -1
- package/esm/src/routing/matchers/route-parser.js +27 -13
- package/esm/src/security/client/html-sanitizer.d.ts +1 -0
- package/esm/src/security/client/html-sanitizer.d.ts.map +1 -1
- package/esm/src/security/client/html-sanitizer.js +5 -2
- package/esm/src/security/http/base-handler.d.ts +2 -0
- package/esm/src/security/http/base-handler.d.ts.map +1 -1
- package/esm/src/security/http/base-handler.js +1 -0
- package/esm/src/security/http/config.d.ts.map +1 -1
- package/esm/src/security/http/config.js +12 -13
- package/esm/src/server/build-app-route-renderer.d.ts +2 -0
- package/esm/src/server/build-app-route-renderer.d.ts.map +1 -1
- package/esm/src/server/build-app-route-renderer.js +99 -39
- package/esm/src/server/build-routes.d.ts +2 -2
- package/esm/src/server/build-routes.d.ts.map +1 -1
- package/esm/src/server/build-routes.js +45 -54
- package/esm/src/server/dev-server/request-handler.d.ts.map +1 -1
- package/esm/src/server/dev-server/request-handler.js +2 -0
- package/esm/src/server/dev-server/route-discovery.d.ts.map +1 -1
- package/esm/src/server/dev-server/route-discovery.js +16 -11
- package/esm/src/server/handlers/dev/files/esbuild-plugins.d.ts +6 -1
- package/esm/src/server/handlers/dev/files/esbuild-plugins.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/files/esbuild-plugins.js +138 -16
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.js +845 -599
- package/esm/src/server/handlers/request/agent-stream.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/agent-stream.handler.js +4 -1
- package/esm/src/server/handlers/request/api/app-router-resolver.js +1 -1
- package/esm/src/server/handlers/request/project-run-execute.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/project-run-execute.handler.js +17 -2
- package/esm/src/server/handlers/request/rsc/index.d.ts.map +1 -1
- package/esm/src/server/handlers/request/rsc/index.js +9 -0
- package/esm/src/server/handlers/request/ssr/error-page-fallback.d.ts.map +1 -1
- package/esm/src/server/handlers/request/ssr/error-page-fallback.js +23 -15
- package/esm/src/server/handlers/request/ssr/not-found-fallback.d.ts.map +1 -1
- package/esm/src/server/handlers/request/ssr/not-found-fallback.js +10 -5
- package/esm/src/server/runtime-handler/local-project-discovery.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/local-project-discovery.js +13 -2
- package/esm/src/server/services/rsc/endpoints/action-handler.d.ts +11 -1
- package/esm/src/server/services/rsc/endpoints/action-handler.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/action-handler.js +83 -16
- package/esm/src/server/services/rsc/endpoints/endpoint-router.d.ts +9 -1
- package/esm/src/server/services/rsc/endpoints/endpoint-router.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/endpoint-router.js +244 -73
- package/esm/src/server/services/rsc/endpoints/handler-registry.d.ts +4 -1
- package/esm/src/server/services/rsc/endpoints/handler-registry.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/handler-registry.js +33 -3
- package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.js +1 -1
- package/esm/src/server/services/rsc/endpoints/script-handlers.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/script-handlers.js +5 -11
- package/esm/src/server/services/rsc/endpoints/types.d.ts +9 -0
- package/esm/src/server/services/rsc/endpoints/types.d.ts.map +1 -1
- package/esm/src/server/services/rsc/orchestrators/component-resolver.d.ts +1 -1
- package/esm/src/server/services/rsc/orchestrators/component-resolver.d.ts.map +1 -1
- package/esm/src/server/services/rsc/orchestrators/component-resolver.js +9 -25
- package/esm/src/server/services/rsc/orchestrators/handler.d.ts +25 -3
- package/esm/src/server/services/rsc/orchestrators/handler.d.ts.map +1 -1
- package/esm/src/server/services/rsc/orchestrators/handler.js +74 -9
- package/esm/src/server/services/rsc/orchestrators/manifest-handler.d.ts +16 -0
- package/esm/src/server/services/rsc/orchestrators/manifest-handler.d.ts.map +1 -1
- package/esm/src/server/services/rsc/orchestrators/manifest-handler.js +124 -14
- package/esm/src/server/services/rsc/orchestrators/page-handler.d.ts +5 -0
- package/esm/src/server/services/rsc/orchestrators/page-handler.d.ts.map +1 -1
- package/esm/src/server/services/rsc/orchestrators/page-handler.js +16 -2
- package/esm/src/server/services/rsc/orchestrators/render-handler.d.ts +14 -2
- package/esm/src/server/services/rsc/orchestrators/render-handler.d.ts.map +1 -1
- package/esm/src/server/services/rsc/orchestrators/render-handler.js +42 -7
- package/esm/src/server/services/rsc/orchestrators/types.d.ts +19 -0
- package/esm/src/server/services/rsc/orchestrators/types.d.ts.map +1 -1
- package/esm/src/server/shared/browser-module-availability.d.ts +38 -0
- package/esm/src/server/shared/browser-module-availability.d.ts.map +1 -0
- package/esm/src/server/shared/browser-module-availability.js +140 -0
- package/esm/src/server/shared/browser-module-boundary.d.ts +18 -0
- package/esm/src/server/shared/browser-module-boundary.d.ts.map +1 -0
- package/esm/src/server/shared/browser-module-boundary.js +43 -0
- package/esm/src/server/shared/browser-module-bundler.d.ts +19 -0
- package/esm/src/server/shared/browser-module-bundler.d.ts.map +1 -1
- package/esm/src/server/shared/browser-module-bundler.js +123 -8
- package/esm/src/server/utils/domain-lookup.d.ts.map +1 -1
- package/esm/src/testing/bdd.d.ts.map +1 -1
- package/esm/src/testing/bdd.js +43 -10
- package/esm/src/transforms/esm/bundle-deps-validator.js +3 -3
- package/esm/src/transforms/esm/bundle-recovery.d.ts +3 -3
- package/esm/src/transforms/esm/bundle-recovery.d.ts.map +1 -1
- package/esm/src/transforms/esm/bundle-recovery.js +68 -29
- package/esm/src/transforms/esm/http-cache-helpers.d.ts +40 -0
- package/esm/src/transforms/esm/http-cache-helpers.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache-helpers.js +143 -0
- package/esm/src/transforms/esm/http-cache-invariants.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache-invariants.js +4 -3
- package/esm/src/transforms/esm/http-cache-wrapper.d.ts +4 -1
- package/esm/src/transforms/esm/http-cache-wrapper.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache-wrapper.js +111 -3
- package/esm/src/transforms/esm/http-cache.d.ts +4 -4
- package/esm/src/transforms/esm/http-cache.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache.js +24 -19
- package/esm/src/transforms/esm/in-flight-manager.d.ts +3 -3
- package/esm/src/transforms/esm/in-flight-manager.d.ts.map +1 -1
- package/esm/src/transforms/esm/in-flight-manager.js +2 -2
- package/esm/src/transforms/esm/package-registry.d.ts +4 -3
- package/esm/src/transforms/esm/package-registry.d.ts.map +1 -1
- package/esm/src/transforms/esm/package-registry.js +12 -6
- package/esm/src/transforms/esm/specifier-resolver.d.ts.map +1 -1
- package/esm/src/transforms/esm/specifier-resolver.js +7 -2
- package/esm/src/transforms/mdx/esm-module-loader/components/resolver.d.ts +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/components/resolver.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/jsx/runtime-loader.js +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-writer.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-writer.js +9 -5
- package/esm/src/transforms/mdx/index.d.ts +2 -2
- package/esm/src/transforms/mdx/index.d.ts.map +1 -1
- package/esm/src/transforms/mdx/index.js +3 -2
- package/esm/src/transforms/mdx/mdx-cache-adapter.js +1 -1
- package/esm/src/transforms/mdx/module-loader/types.d.ts +1 -1
- package/esm/src/transforms/mdx/module-loader/types.d.ts.map +1 -1
- package/esm/src/transforms/mdx/types.d.ts +2 -2
- package/esm/src/transforms/mdx/types.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/constants.d.ts +22 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/constants.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/constants.js +36 -13
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/index.d.ts +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/index.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/index.js +6 -4
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.d.ts +2 -3
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.js +14 -12
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/transform.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/transform.js +73 -63
- package/esm/src/types/app.d.ts +1 -1
- package/esm/src/types/app.d.ts.map +1 -1
- package/esm/src/types/entities/getEntityInfo.d.ts +1 -1
- package/esm/src/types/entities/getEntityInfo.d.ts.map +1 -1
- package/esm/src/types/entities/getEntityInfo.js +25 -16
- package/esm/src/types/entities.js +1 -1
- package/esm/src/types/global-guards.d.ts +1 -1
- package/esm/src/types/global-guards.d.ts.map +1 -1
- package/esm/src/types/index.d.ts +2 -2
- package/esm/src/types/index.d.ts.map +1 -1
- package/esm/src/types/rsc.d.ts +16 -0
- package/esm/src/types/rsc.d.ts.map +1 -1
- package/esm/src/utils/id.d.ts +7 -0
- package/esm/src/utils/id.d.ts.map +1 -1
- package/esm/src/utils/id.js +22 -0
- package/esm/src/utils/platform.d.ts.map +1 -1
- package/esm/src/utils/platform.js +2 -11
- package/esm/src/utils/route-path-utils.d.ts +6 -2
- package/esm/src/utils/route-path-utils.d.ts.map +1 -1
- package/esm/src/utils/route-path-utils.js +18 -9
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/claude-code/react/use-claude-code-stream.js +1 -1
- package/esm/src/workflow/claude-code/react/use-claude-code-websocket.js +1 -1
- package/esm/src/workflow/executor/dag/composite-node-execution.d.ts +11 -0
- package/esm/src/workflow/executor/dag/composite-node-execution.d.ts.map +1 -0
- package/esm/src/workflow/executor/dag/composite-node-execution.js +147 -0
- package/esm/src/workflow/executor/dag/graph.js +1 -1
- package/esm/src/workflow/executor/dag/index.d.ts +1 -1
- package/esm/src/workflow/executor/dag/index.d.ts.map +1 -1
- package/esm/src/workflow/executor/dag/index.js +78 -34
- package/esm/src/workflow/executor/dag/loop-node-strategy.d.ts.map +1 -1
- package/esm/src/workflow/executor/dag/loop-node-strategy.js +10 -2
- package/esm/src/workflow/executor/dag/map-node-strategy.d.ts.map +1 -1
- package/esm/src/workflow/executor/dag/map-node-strategy.js +3 -0
- package/esm/src/workflow/executor/dag/node-strategy-types.d.ts +1 -0
- package/esm/src/workflow/executor/dag/node-strategy-types.d.ts.map +1 -1
- package/esm/src/workflow/executor/dag/types.d.ts +2 -0
- package/esm/src/workflow/executor/dag/types.d.ts.map +1 -1
- package/esm/src/workflow/executor/dag/utils.d.ts +1 -1
- package/esm/src/workflow/executor/dag/utils.d.ts.map +1 -1
- package/esm/src/workflow/executor/dag/utils.js +13 -3
- package/esm/src/workflow/executor/step-executor.d.ts +5 -1
- package/esm/src/workflow/executor/step-executor.d.ts.map +1 -1
- package/esm/src/workflow/executor/step-executor.js +71 -16
- package/esm/src/workflow/executor/workflow-executor.d.ts +7 -4
- package/esm/src/workflow/executor/workflow-executor.d.ts.map +1 -1
- package/esm/src/workflow/executor/workflow-executor.js +181 -100
- package/esm/src/workflow/react/use-approval.js +1 -1
- package/esm/src/workflow/react/use-workflow-list.js +1 -1
- package/esm/src/workflow/react/use-workflow-start.js +1 -1
- package/esm/src/workflow/react/use-workflow.js +1 -1
- package/package.json +4 -5
- package/esm/deps/esm.sh/react-dom@19.2.4/client.d.ts +0 -3
- package/esm/deps/esm.sh/react-dom@19.2.4/client.d.ts.map +0 -1
- package/esm/deps/esm.sh/react-dom@19.2.4/client.js +0 -3
- package/esm/deps/esm.sh/react-dom@19.2.4/server.d.ts +0 -3
- package/esm/deps/esm.sh/react-dom@19.2.4/server.d.ts.map +0 -1
- package/esm/deps/esm.sh/react-dom@19.2.4/server.js +0 -3
- package/esm/deps/esm.sh/react-dom@19.2.4.d.ts +0 -3
- package/esm/deps/esm.sh/react-dom@19.2.4.d.ts.map +0 -1
- package/esm/deps/esm.sh/react-dom@19.2.4.js +0 -3
- package/esm/deps/esm.sh/react@19.2.4/jsx-dev-runtime.d.ts +0 -3
- package/esm/deps/esm.sh/react@19.2.4/jsx-dev-runtime.d.ts.map +0 -1
- package/esm/deps/esm.sh/react@19.2.4/jsx-dev-runtime.js +0 -3
- package/esm/deps/esm.sh/react@19.2.4/jsx-runtime.d.ts +0 -3
- package/esm/deps/esm.sh/react@19.2.4/jsx-runtime.d.ts.map +0 -1
- package/esm/deps/esm.sh/react@19.2.4/jsx-runtime.js +0 -3
- package/esm/deps/esm.sh/react@19.2.4.d.ts +0 -3
- package/esm/deps/esm.sh/react@19.2.4.d.ts.map +0 -1
- package/esm/deps/esm.sh/react@19.2.4.js +0 -3
- package/esm/deps/esm.sh/scheduler@^0.27.0.d.ts +0 -3
- package/esm/deps/esm.sh/scheduler@^0.27.0.d.ts.map +0 -1
- package/esm/deps/esm.sh/scheduler@^0.27.0.js +0 -3
- package/esm/react/jsx-dev-runtime.d.ts +0 -2
- package/esm/react/jsx-dev-runtime.d.ts.map +0 -1
- package/esm/react/jsx-dev-runtime.js +0 -1
- package/esm/react/jsx-runtime.d.ts +0 -2
- package/esm/react/jsx-runtime.d.ts.map +0 -1
- package/esm/react/jsx-runtime.js +0 -1
- package/esm/react/react-dom-client.d.ts +0 -3
- package/esm/react/react-dom-client.d.ts.map +0 -1
- package/esm/react/react-dom-client.js +0 -2
- package/esm/react/react-dom-server.d.ts +0 -3
- package/esm/react/react-dom-server.d.ts.map +0 -1
- package/esm/react/react-dom-server.js +0 -2
- package/esm/react/react-dom.d.ts +0 -3
- package/esm/react/react-dom.d.ts.map +0 -1
- package/esm/react/react-dom.js +0 -2
- package/esm/react/react.d.ts +0 -6
- package/esm/react/react.d.ts.map +0 -1
- package/esm/react/react.js +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/command.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAE3E,OAAO,EAAE,KAAK,SAAS,EAA0C,MAAM,wBAAwB,CAAC;AAchG;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;IAO5B,oDAAoD;;GAGvD,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;IALzB,oDAAoD;;GAKO,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;IAfxB,oDAAoD;;GAsBtD,CAAC;AAEH;;GAEG;AACH,UAAU,qBAAqB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACrB,GAAG,IAAI,CAAC;CACV;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC3C;AAED;;GAEG;AACH,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAaD,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,wBAAwB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,6BAA6B;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C;AAqDD,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,aAAa,GAAG,SAAS,EACvC,QAAQ,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7C,SAAS,EAAE,MAAM,GAChB,IAAI,CAMN;AAmCD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAmB7B;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,0EAErE;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,SAAS,EACjB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAKlB;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,UAAU,CAAC,CAKrB;AAED,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC3C,OAAO,CAAC,OAAO,CAAC,CAMlB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,UAAU,CAAC,CASrB;AAMD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,wBAAwB,GACjC,OAAO,CAAC,yBAAyB,CAAC,CA2BpC;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,GAAE,6BAAkC,GAC1C,OAAO,CAAC,sBAAsB,CAAC,CAoEjC;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;CACvB,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,CAmBvD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAqHzE"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module cli/commands/deploy
|
|
8
8
|
*/
|
|
9
|
+
import * as dntShim from "../../../_dnt.shims.js";
|
|
9
10
|
import { defineSchema, lazySchema } from "../../../src/schemas/index.js";
|
|
10
11
|
import { cwd } from "../../../src/platform/index.js";
|
|
11
12
|
import { createApiClient, resolveConfigWithAuth } from "../../shared/config.js";
|
|
@@ -13,6 +14,7 @@ import { CommonArgs, createArgParser } from "../../shared/args.js";
|
|
|
13
14
|
import { confirmPrompt, logInfo, logSuccess } from "../../utils/index.js";
|
|
14
15
|
import { createNoopSpinner, createSpinner, muted } from "../../ui/index.js";
|
|
15
16
|
import { isJsonMode, streamJsonLine } from "../../shared/json-output.js";
|
|
17
|
+
import { computeSourceDigest, getProjectTarget, normalizeControlPlane, readPushReceipt, resolveGitSource, validatePushReceipt, } from "../../shared/deployment-provenance.js";
|
|
16
18
|
/**
|
|
17
19
|
* Schema factory for deploy command arguments
|
|
18
20
|
*/
|
|
@@ -37,6 +39,66 @@ export const parseDeployArgs = createArgParser(DeployArgsSchema, {
|
|
|
37
39
|
force: CommonArgs.force,
|
|
38
40
|
quiet: CommonArgs.quiet,
|
|
39
41
|
});
|
|
42
|
+
function referenceId(value) {
|
|
43
|
+
return typeof value === "string" ? value : value?.id;
|
|
44
|
+
}
|
|
45
|
+
function normalizeEnvironment(environment) {
|
|
46
|
+
const projectId = environment.project_id ?? environment.projectId ??
|
|
47
|
+
referenceId(environment.project);
|
|
48
|
+
return projectId ? { ...environment, project_id: projectId } : environment;
|
|
49
|
+
}
|
|
50
|
+
function normalizeRelease(release) {
|
|
51
|
+
const projectId = release.project_id ?? release.projectId ?? referenceId(release.project);
|
|
52
|
+
return projectId ? { ...release, project_id: projectId } : release;
|
|
53
|
+
}
|
|
54
|
+
function normalizeDeployment(deployment) {
|
|
55
|
+
const releaseId = deployment.release_id ?? referenceId(deployment.release);
|
|
56
|
+
const environmentId = deployment.environment_id ?? referenceId(deployment.environment);
|
|
57
|
+
if (!releaseId || !environmentId) {
|
|
58
|
+
throw new Error(`Deployment ${deployment.id} response is missing release or environment IDs`);
|
|
59
|
+
}
|
|
60
|
+
return {
|
|
61
|
+
id: deployment.id,
|
|
62
|
+
release_id: releaseId,
|
|
63
|
+
environment_id: environmentId,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export function assertProjectOwnership(resourceType, resource, projectId) {
|
|
67
|
+
if (resource.project_id && resource.project_id !== projectId) {
|
|
68
|
+
throw new Error(`${resourceType} ${resource.id} does not belong to resolved project ${projectId}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function getReleaseFileContent(file) {
|
|
72
|
+
const content = typeof file.content === "string" ? file.content : undefined;
|
|
73
|
+
let legacyBody;
|
|
74
|
+
if (typeof file.data === "string") {
|
|
75
|
+
let envelope;
|
|
76
|
+
try {
|
|
77
|
+
envelope = JSON.parse(file.data);
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
throw new Error(`Release file ${file.path} has invalid version data`);
|
|
81
|
+
}
|
|
82
|
+
if (typeof envelope !== "object" || envelope === null || Array.isArray(envelope)) {
|
|
83
|
+
throw new Error(`Release file ${file.path} has invalid version data`);
|
|
84
|
+
}
|
|
85
|
+
const record = envelope;
|
|
86
|
+
if (typeof record.body !== "string") {
|
|
87
|
+
throw new Error(`Release file ${file.path} version data has no body`);
|
|
88
|
+
}
|
|
89
|
+
if (typeof record.path === "string" && record.path !== file.path) {
|
|
90
|
+
throw new Error(`Release file ${file.path} version data references ${record.path}`);
|
|
91
|
+
}
|
|
92
|
+
legacyBody = record.body;
|
|
93
|
+
}
|
|
94
|
+
if (content !== undefined && legacyBody !== undefined && content !== legacyBody) {
|
|
95
|
+
throw new Error(`Release file ${file.path} has conflicting content fields`);
|
|
96
|
+
}
|
|
97
|
+
const value = content ?? legacyBody;
|
|
98
|
+
if (value === undefined)
|
|
99
|
+
throw new Error(`Release file ${file.path} has no content`);
|
|
100
|
+
return value;
|
|
101
|
+
}
|
|
40
102
|
/**
|
|
41
103
|
* Get environment by name (with pagination support)
|
|
42
104
|
*/
|
|
@@ -49,30 +111,145 @@ export async function getEnvironmentByName(client, projectSlug, name) {
|
|
|
49
111
|
const response = await client.get(`/projects/${projectSlug}/environments`, params);
|
|
50
112
|
const found = response.data.find((e) => e.name === name);
|
|
51
113
|
if (found)
|
|
52
|
-
return found;
|
|
114
|
+
return normalizeEnvironment(found);
|
|
53
115
|
cursor = response.page_info?.next;
|
|
54
116
|
} while (cursor);
|
|
55
117
|
return null;
|
|
56
118
|
}
|
|
119
|
+
export function getProject(client, projectReference) {
|
|
120
|
+
return getProjectTarget(client, projectReference);
|
|
121
|
+
}
|
|
122
|
+
export async function getRelease(client, projectReference, releaseId) {
|
|
123
|
+
const release = await client.get(`/projects/${projectReference}/releases/${releaseId}`);
|
|
124
|
+
return normalizeRelease(release);
|
|
125
|
+
}
|
|
126
|
+
export async function getDeployment(client, projectReference, deploymentId) {
|
|
127
|
+
const deployment = await client.get(`/projects/${projectReference}/deployments/${deploymentId}`);
|
|
128
|
+
return normalizeDeployment(deployment);
|
|
129
|
+
}
|
|
130
|
+
export async function getReleaseSourceDigest(client, projectReference, releaseId) {
|
|
131
|
+
const files = [];
|
|
132
|
+
let cursor;
|
|
133
|
+
do {
|
|
134
|
+
const params = { limit: "100" };
|
|
135
|
+
if (cursor)
|
|
136
|
+
params.cursor = cursor;
|
|
137
|
+
const response = await client.get(`/projects/${projectReference}/releases/${releaseId}/versions`, params);
|
|
138
|
+
files.push(...response.data);
|
|
139
|
+
cursor = response.page_info?.next;
|
|
140
|
+
} while (cursor);
|
|
141
|
+
return computeSourceDigest(files.map((file) => ({
|
|
142
|
+
path: file.path,
|
|
143
|
+
content: getReleaseFileContent(file),
|
|
144
|
+
})));
|
|
145
|
+
}
|
|
57
146
|
/**
|
|
58
147
|
* Create a new release
|
|
59
148
|
*/
|
|
60
|
-
export function createRelease(client, projectSlug, options) {
|
|
149
|
+
export async function createRelease(client, projectSlug, options) {
|
|
61
150
|
const body = {};
|
|
62
151
|
if (options?.name)
|
|
63
152
|
body.name = options.name;
|
|
64
153
|
if (options?.branch)
|
|
65
154
|
body.branch_reference = options.branch;
|
|
66
|
-
return client.post(`/projects/${projectSlug}/releases`, body);
|
|
155
|
+
return normalizeRelease(await client.post(`/projects/${projectSlug}/releases`, body));
|
|
67
156
|
}
|
|
68
157
|
/**
|
|
69
158
|
* Create a new deployment
|
|
70
159
|
*/
|
|
71
|
-
export function createDeployment(client, projectSlug, releaseId, environmentId) {
|
|
72
|
-
|
|
160
|
+
export async function createDeployment(client, projectSlug, releaseId, environmentId) {
|
|
161
|
+
const deployment = await client.post(`/projects/${projectSlug}/deployments`, {
|
|
73
162
|
release_id: releaseId,
|
|
74
163
|
environment_id: environmentId,
|
|
75
164
|
});
|
|
165
|
+
return normalizeDeployment(deployment);
|
|
166
|
+
}
|
|
167
|
+
function wait(ms) {
|
|
168
|
+
return new Promise((resolve) => dntShim.setTimeout(resolve, ms));
|
|
169
|
+
}
|
|
170
|
+
export async function verifyReleaseSource(client, projectReference, expected) {
|
|
171
|
+
const release = await getRelease(client, projectReference, expected.releaseId);
|
|
172
|
+
if (release.id !== expected.releaseId) {
|
|
173
|
+
throw new Error(`Release read-back returned ${release.id}; expected ${expected.releaseId}`);
|
|
174
|
+
}
|
|
175
|
+
assertProjectOwnership("Release", release, expected.projectId);
|
|
176
|
+
if (expected.releaseName && release.name !== expected.releaseName) {
|
|
177
|
+
throw new Error(`Release ${expected.releaseId} no longer matches the created release name`);
|
|
178
|
+
}
|
|
179
|
+
if (!release.version) {
|
|
180
|
+
throw new Error(`Release ${expected.releaseId} has no version`);
|
|
181
|
+
}
|
|
182
|
+
const sourceDigest = await getReleaseSourceDigest(client, projectReference, expected.releaseId);
|
|
183
|
+
if (sourceDigest !== expected.sourceDigest) {
|
|
184
|
+
throw new Error(`Release ${expected.releaseId} source does not match pushed commit ${expected.commitSha}`);
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
projectId: expected.projectId,
|
|
188
|
+
releaseId: expected.releaseId,
|
|
189
|
+
releaseVersion: release.version,
|
|
190
|
+
commitSha: expected.commitSha,
|
|
191
|
+
sourceDigest,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
export async function verifyDeployment(client, projectReference, expected, options = {}) {
|
|
195
|
+
const deployment = await getDeployment(client, projectReference, expected.deploymentId);
|
|
196
|
+
if (deployment.id !== expected.deploymentId || deployment.release_id !== expected.releaseId ||
|
|
197
|
+
deployment.environment_id !== expected.environmentId) {
|
|
198
|
+
throw new Error(`Deployment ${expected.deploymentId} does not reference release ${expected.releaseId} and environment ${expected.environmentId}`);
|
|
199
|
+
}
|
|
200
|
+
const verifiedRelease = options.verifiedRelease ?? await verifyReleaseSource(client, projectReference, expected);
|
|
201
|
+
if (verifiedRelease.projectId !== expected.projectId ||
|
|
202
|
+
verifiedRelease.releaseId !== expected.releaseId ||
|
|
203
|
+
verifiedRelease.commitSha !== expected.commitSha ||
|
|
204
|
+
verifiedRelease.sourceDigest !== expected.sourceDigest) {
|
|
205
|
+
throw new Error(`Verified release source does not match deployment ${expected.deploymentId}`);
|
|
206
|
+
}
|
|
207
|
+
const attempts = Math.max(1, options.attempts ?? 20);
|
|
208
|
+
const delayMs = Math.max(0, options.delayMs ?? 500);
|
|
209
|
+
let observedEnvironment = null;
|
|
210
|
+
for (let attempt = 0; attempt < attempts; attempt++) {
|
|
211
|
+
observedEnvironment = await getEnvironmentByName(client, projectReference, expected.environmentName);
|
|
212
|
+
if (observedEnvironment) {
|
|
213
|
+
assertProjectOwnership("Environment", observedEnvironment, expected.projectId);
|
|
214
|
+
}
|
|
215
|
+
if (observedEnvironment?.id === expected.environmentId &&
|
|
216
|
+
observedEnvironment.deployment?.id === expected.deploymentId &&
|
|
217
|
+
observedEnvironment.deployment.release?.id === expected.releaseId) {
|
|
218
|
+
return {
|
|
219
|
+
projectId: expected.projectId,
|
|
220
|
+
projectSlug: expected.projectSlug,
|
|
221
|
+
environmentId: expected.environmentId,
|
|
222
|
+
environmentName: expected.environmentName,
|
|
223
|
+
releaseId: expected.releaseId,
|
|
224
|
+
releaseVersion: verifiedRelease.releaseVersion,
|
|
225
|
+
deploymentId: expected.deploymentId,
|
|
226
|
+
commitSha: expected.commitSha,
|
|
227
|
+
sourceDigest: verifiedRelease.sourceDigest,
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
if (attempt < attempts - 1 && delayMs > 0)
|
|
231
|
+
await wait(delayMs);
|
|
232
|
+
}
|
|
233
|
+
const observedDeploymentId = observedEnvironment?.deployment?.id ?? "none";
|
|
234
|
+
const observedReleaseId = observedEnvironment?.deployment?.release?.id ?? "none";
|
|
235
|
+
throw new Error(`Deployment verification failed: environment "${expected.environmentName}" still points to deployment ${observedDeploymentId} / release ${observedReleaseId}; expected deployment ${expected.deploymentId} / release ${expected.releaseId}`);
|
|
236
|
+
}
|
|
237
|
+
export async function resolvePushedSource(input) {
|
|
238
|
+
const receipt = await readPushReceipt(input.projectDir);
|
|
239
|
+
if (!receipt) {
|
|
240
|
+
throw new Error(`No verified push found for branch "${input.branch}". Run veryfront push --branch ${input.branch} before deploying.`);
|
|
241
|
+
}
|
|
242
|
+
const gitSource = await resolveGitSource(input.projectDir);
|
|
243
|
+
const commitSha = validatePushReceipt(receipt, {
|
|
244
|
+
controlPlane: input.controlPlane,
|
|
245
|
+
projectId: input.projectId,
|
|
246
|
+
projectSlug: input.projectSlug,
|
|
247
|
+
branch: input.branch,
|
|
248
|
+
commitSha: gitSource.commitSha,
|
|
249
|
+
clean: gitSource.clean,
|
|
250
|
+
requireClean: input.requireClean,
|
|
251
|
+
});
|
|
252
|
+
return { commitSha, sourceDigest: receipt.sourceDigest };
|
|
76
253
|
}
|
|
77
254
|
/**
|
|
78
255
|
* Create a release and deploy to an environment
|
|
@@ -82,21 +259,46 @@ export async function deployCommand(options) {
|
|
|
82
259
|
if (isJsonMode()) {
|
|
83
260
|
return deployCommandJson(options);
|
|
84
261
|
}
|
|
262
|
+
const projectDir = cwd();
|
|
85
263
|
let spinner = quiet ? createNoopSpinner() : createSpinner("Resolving configuration...");
|
|
86
|
-
const config = await resolveConfigWithAuth(
|
|
264
|
+
const config = await resolveConfigWithAuth(projectDir);
|
|
87
265
|
const client = createApiClient(config);
|
|
266
|
+
spinner.update("Resolving project...");
|
|
267
|
+
const project = await getProject(client, config.projectSlug);
|
|
88
268
|
spinner.update(`Looking up environment "${env}"...`);
|
|
89
|
-
const environment = await getEnvironmentByName(client,
|
|
269
|
+
const environment = await getEnvironmentByName(client, project.id, env);
|
|
90
270
|
if (!environment) {
|
|
91
271
|
spinner.stop();
|
|
92
272
|
throw new Error(`Environment "${env}" not found`);
|
|
93
273
|
}
|
|
94
|
-
|
|
274
|
+
try {
|
|
275
|
+
assertProjectOwnership("Environment", environment, project.id);
|
|
276
|
+
}
|
|
277
|
+
catch (error) {
|
|
278
|
+
spinner.stop();
|
|
279
|
+
throw error;
|
|
280
|
+
}
|
|
95
281
|
if (dryRun) {
|
|
282
|
+
spinner.stop();
|
|
96
283
|
if (!quiet)
|
|
97
284
|
logInfo(`Would create release from "${branch}" and deploy to "${env}"`);
|
|
98
285
|
return;
|
|
99
286
|
}
|
|
287
|
+
spinner.update("Verifying pushed source...");
|
|
288
|
+
let source;
|
|
289
|
+
try {
|
|
290
|
+
source = await resolvePushedSource({
|
|
291
|
+
projectDir,
|
|
292
|
+
controlPlane: config.apiUrl,
|
|
293
|
+
projectId: project.id,
|
|
294
|
+
projectSlug: project.slug,
|
|
295
|
+
branch,
|
|
296
|
+
requireClean: env === "production",
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
finally {
|
|
300
|
+
spinner.stop();
|
|
301
|
+
}
|
|
100
302
|
if (!force) {
|
|
101
303
|
const confirmed = await confirmPrompt(`Create release from "${branch}" and deploy to "${env}"?`, true);
|
|
102
304
|
if (!confirmed) {
|
|
@@ -105,15 +307,51 @@ export async function deployCommand(options) {
|
|
|
105
307
|
}
|
|
106
308
|
}
|
|
107
309
|
spinner = quiet ? createNoopSpinner() : createSpinner(`Creating release from "${branch}"...`);
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
310
|
+
let release;
|
|
311
|
+
let deployment;
|
|
312
|
+
let verification;
|
|
313
|
+
try {
|
|
314
|
+
release = await createRelease(client, project.id, { name: releaseName, branch });
|
|
315
|
+
if (!release.version)
|
|
316
|
+
throw new Error(`Release ${release.id} has no version`);
|
|
317
|
+
spinner.update(`Verifying ${release.version} source...`);
|
|
318
|
+
const verifiedRelease = await verifyReleaseSource(client, project.id, {
|
|
319
|
+
projectId: project.id,
|
|
320
|
+
releaseId: release.id,
|
|
321
|
+
releaseName: release.name,
|
|
322
|
+
commitSha: source.commitSha,
|
|
323
|
+
sourceDigest: source.sourceDigest,
|
|
324
|
+
});
|
|
325
|
+
spinner.update(`Deploying ${release.version} to ${env}...`);
|
|
326
|
+
deployment = await createDeployment(client, project.id, release.id, environment.id);
|
|
327
|
+
spinner.update(`Verifying ${env} deployment...`);
|
|
328
|
+
verification = await verifyDeployment(client, project.id, {
|
|
329
|
+
projectId: project.id,
|
|
330
|
+
projectSlug: project.slug,
|
|
331
|
+
environmentId: environment.id,
|
|
332
|
+
environmentName: env,
|
|
333
|
+
releaseId: release.id,
|
|
334
|
+
releaseName: release.name,
|
|
335
|
+
deploymentId: deployment.id,
|
|
336
|
+
commitSha: source.commitSha,
|
|
337
|
+
sourceDigest: source.sourceDigest,
|
|
338
|
+
}, { verifiedRelease });
|
|
339
|
+
spinner.stop();
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
342
|
+
spinner.stop();
|
|
343
|
+
throw error;
|
|
344
|
+
}
|
|
112
345
|
if (quiet)
|
|
113
346
|
return;
|
|
114
|
-
logSuccess(`Deployed ${
|
|
115
|
-
logInfo(`
|
|
116
|
-
logInfo(` Environment: ${env}`);
|
|
347
|
+
logSuccess(`Deployed ${verification.releaseVersion} to ${env}`);
|
|
348
|
+
logInfo(` Project: ${verification.projectSlug} (${verification.projectId})`);
|
|
349
|
+
logInfo(` Environment: ${env} (${verification.environmentId})`);
|
|
350
|
+
logInfo(` Release: ${release.name} (${verification.releaseVersion}, ${verification.releaseId})`);
|
|
351
|
+
logInfo(` Deployment: ${verification.deploymentId}`);
|
|
352
|
+
logInfo(` Commit: ${verification.commitSha}`);
|
|
353
|
+
logInfo(` Source digest: ${verification.sourceDigest}`);
|
|
354
|
+
logInfo(` Control plane: ${normalizeControlPlane(config.apiUrl)}`);
|
|
117
355
|
const { getPostDeployTips } = await import("../../help/tips.js");
|
|
118
356
|
console.log(getPostDeployTips());
|
|
119
357
|
}
|
|
@@ -133,11 +371,13 @@ async function deployCommandJson(options) {
|
|
|
133
371
|
return;
|
|
134
372
|
}
|
|
135
373
|
streamJsonLine({ type: "step", name: "resolve-config", status: "started" });
|
|
136
|
-
const
|
|
374
|
+
const projectDir = cwd();
|
|
375
|
+
const config = await resolveConfigWithAuth(projectDir);
|
|
137
376
|
const client = createApiClient(config);
|
|
138
377
|
streamJsonLine({ type: "step", name: "resolve-config", status: "completed" });
|
|
139
|
-
streamJsonLine({ type: "step", name: "resolve-
|
|
140
|
-
const
|
|
378
|
+
streamJsonLine({ type: "step", name: "resolve-target", status: "started" });
|
|
379
|
+
const project = await getProject(client, config.projectSlug);
|
|
380
|
+
const environment = await getEnvironmentByName(client, project.id, env);
|
|
141
381
|
if (!environment) {
|
|
142
382
|
streamJsonLine({
|
|
143
383
|
type: "result",
|
|
@@ -148,30 +388,84 @@ async function deployCommandJson(options) {
|
|
|
148
388
|
exit(1);
|
|
149
389
|
return;
|
|
150
390
|
}
|
|
151
|
-
|
|
391
|
+
assertProjectOwnership("Environment", environment, project.id);
|
|
392
|
+
streamJsonLine({ type: "step", name: "resolve-target", status: "completed" });
|
|
152
393
|
if (dryRun) {
|
|
153
394
|
streamJsonLine({
|
|
154
395
|
type: "result",
|
|
155
396
|
success: true,
|
|
156
|
-
data: {
|
|
397
|
+
data: {
|
|
398
|
+
dryRun: true,
|
|
399
|
+
branch,
|
|
400
|
+
projectId: project.id,
|
|
401
|
+
projectSlug: project.slug,
|
|
402
|
+
environment: env,
|
|
403
|
+
environmentId: environment.id,
|
|
404
|
+
controlPlane: normalizeControlPlane(config.apiUrl),
|
|
405
|
+
},
|
|
157
406
|
});
|
|
158
407
|
return;
|
|
159
408
|
}
|
|
409
|
+
streamJsonLine({ type: "step", name: "verify-source", status: "started" });
|
|
410
|
+
const source = await resolvePushedSource({
|
|
411
|
+
projectDir,
|
|
412
|
+
controlPlane: config.apiUrl,
|
|
413
|
+
projectId: project.id,
|
|
414
|
+
projectSlug: project.slug,
|
|
415
|
+
branch,
|
|
416
|
+
requireClean: env === "production",
|
|
417
|
+
});
|
|
418
|
+
streamJsonLine({ type: "step", name: "verify-source", status: "completed" });
|
|
160
419
|
streamJsonLine({ type: "step", name: "create-release", status: "started" });
|
|
161
|
-
const release = await createRelease(client,
|
|
420
|
+
const release = await createRelease(client, project.id, {
|
|
162
421
|
name: releaseName,
|
|
163
422
|
branch,
|
|
164
423
|
});
|
|
424
|
+
if (!release.version)
|
|
425
|
+
throw new Error(`Release ${release.id} has no version`);
|
|
165
426
|
streamJsonLine({ type: "step", name: "create-release", status: "completed" });
|
|
427
|
+
streamJsonLine({ type: "step", name: "verify-release-source", status: "started" });
|
|
428
|
+
const verifiedRelease = await verifyReleaseSource(client, project.id, {
|
|
429
|
+
projectId: project.id,
|
|
430
|
+
releaseId: release.id,
|
|
431
|
+
releaseName: release.name,
|
|
432
|
+
commitSha: source.commitSha,
|
|
433
|
+
sourceDigest: source.sourceDigest,
|
|
434
|
+
});
|
|
435
|
+
streamJsonLine({ type: "step", name: "verify-release-source", status: "completed" });
|
|
166
436
|
streamJsonLine({ type: "step", name: "deploy", status: "started" });
|
|
167
|
-
await createDeployment(client,
|
|
437
|
+
const deployment = await createDeployment(client, project.id, release.id, environment.id);
|
|
168
438
|
streamJsonLine({ type: "step", name: "deploy", status: "completed" });
|
|
439
|
+
streamJsonLine({ type: "step", name: "verify-deployment", status: "started" });
|
|
440
|
+
const verification = await verifyDeployment(client, project.id, {
|
|
441
|
+
projectId: project.id,
|
|
442
|
+
projectSlug: project.slug,
|
|
443
|
+
environmentId: environment.id,
|
|
444
|
+
environmentName: env,
|
|
445
|
+
releaseId: release.id,
|
|
446
|
+
releaseName: release.name,
|
|
447
|
+
deploymentId: deployment.id,
|
|
448
|
+
commitSha: source.commitSha,
|
|
449
|
+
sourceDigest: source.sourceDigest,
|
|
450
|
+
}, { verifiedRelease });
|
|
451
|
+
streamJsonLine({ type: "step", name: "verify-deployment", status: "completed" });
|
|
169
452
|
streamJsonLine({
|
|
170
453
|
type: "result",
|
|
171
454
|
success: true,
|
|
172
455
|
data: {
|
|
173
|
-
|
|
456
|
+
projectId: verification.projectId,
|
|
457
|
+
projectSlug: verification.projectSlug,
|
|
458
|
+
release: {
|
|
459
|
+
id: verification.releaseId,
|
|
460
|
+
name: release.name,
|
|
461
|
+
version: verification.releaseVersion,
|
|
462
|
+
},
|
|
174
463
|
environment: env,
|
|
464
|
+
environmentId: verification.environmentId,
|
|
465
|
+
deploymentId: verification.deploymentId,
|
|
466
|
+
commitSha: verification.commitSha,
|
|
467
|
+
sourceDigest: verification.sourceDigest,
|
|
468
|
+
controlPlane: normalizeControlPlane(config.apiUrl),
|
|
175
469
|
branch,
|
|
176
470
|
},
|
|
177
471
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Deploy command - Create and deploy releases
|
|
3
3
|
*/
|
|
4
|
-
export { createDeployment, createRelease, DeployArgsSchema, deployCommand, getEnvironmentByName, parseDeployArgs, } from "./command.js";
|
|
5
|
-
export type { DeployOptions } from "./command.js";
|
|
4
|
+
export { assertProjectOwnership, createDeployment, createRelease, DeployArgsSchema, deployCommand, getDeployment, getEnvironmentByName, getProject, getRelease, getReleaseSourceDigest, parseDeployArgs, resolvePushedSource, verifyDeployment, verifyReleaseSource, } from "./command.js";
|
|
5
|
+
export type { DeploymentVerification, DeployOptions, ReleaseSourceVerification, } from "./command.js";
|
|
6
6
|
export { handleDeployCommand } from "./handler.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,sBAAsB,EACtB,aAAa,EACb,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Deploy command - Create and deploy releases
|
|
3
3
|
*/
|
|
4
|
-
export { createDeployment, createRelease, DeployArgsSchema, deployCommand, getEnvironmentByName, parseDeployArgs, } from "./command.js";
|
|
4
|
+
export { assertProjectOwnership, createDeployment, createRelease, DeployArgsSchema, deployCommand, getDeployment, getEnvironmentByName, getProject, getRelease, getReleaseSourceDigest, parseDeployArgs, resolvePushedSource, verifyDeployment, verifyReleaseSource, } from "./command.js";
|
|
5
5
|
export { handleDeployCommand } from "./handler.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev/command.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAI9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAQD,wBAAsB,cAAc,CAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CAQvE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev/command.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAI9E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAQD,wBAAsB,cAAc,CAClC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CAQvE;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8SzE"}
|
|
@@ -38,7 +38,7 @@ export async function preloadDevAuth(apiToken) {
|
|
|
38
38
|
}
|
|
39
39
|
export function devCommand(options) {
|
|
40
40
|
return withSpan("cli.command.dev", async () => {
|
|
41
|
-
const { port, projectDir, hmr = true, demoMode = false } = options;
|
|
41
|
+
const { port, projectDir, hmr = true, open = false, demoMode = false } = options;
|
|
42
42
|
let doneResolve;
|
|
43
43
|
const done = new Promise((resolve) => {
|
|
44
44
|
doneResolve = resolve;
|
|
@@ -207,6 +207,14 @@ export function devCommand(options) {
|
|
|
207
207
|
console.log(` ${dim("Press")} ${brand("s")} ${dim("to see your projects")}`);
|
|
208
208
|
}
|
|
209
209
|
console.log();
|
|
210
|
+
if (open) {
|
|
211
|
+
try {
|
|
212
|
+
await openBrowser(serverUrl);
|
|
213
|
+
}
|
|
214
|
+
catch {
|
|
215
|
+
console.log(` ${dim("Could not open browser automatically.")}`);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
210
218
|
if (!demoMode) {
|
|
211
219
|
keyboardHandler = createKeyboardHandler({
|
|
212
220
|
onOpen: () => void openBrowser(serverUrl),
|
|
@@ -277,5 +285,6 @@ export function devCommand(options) {
|
|
|
277
285
|
"cli.port": options.port,
|
|
278
286
|
"cli.projectDir": options.projectDir,
|
|
279
287
|
"cli.hmr": options.hmr ?? true,
|
|
288
|
+
"cli.open": options.open ?? false,
|
|
280
289
|
});
|
|
281
290
|
}
|
|
@@ -6,6 +6,8 @@ export declare const parseDevArgs: (args: ParsedArgs) => import("../../shared/ar
|
|
|
6
6
|
port: import("../../../src/internal-agents/schema.js").Schema<number>;
|
|
7
7
|
project: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
|
|
8
8
|
hmr: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
9
|
+
noHmr: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
10
|
+
open: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
9
11
|
debug: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
10
12
|
}>>;
|
|
11
13
|
export declare function handleDevCommand(args: ParsedArgs): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev/handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/dev/handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAexD,eAAO,MAAM,YAAY;;;;;;;GAOvB,CAAC;AAwBH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBtE"}
|
|
@@ -13,6 +13,8 @@ const getDevArgsSchema = defineSchema((v) => v.object({
|
|
|
13
13
|
port: v.number().default(DEFAULT_DEV_SERVER_PORT),
|
|
14
14
|
project: v.string().optional(),
|
|
15
15
|
hmr: v.boolean().default(true),
|
|
16
|
+
noHmr: v.boolean().default(false),
|
|
17
|
+
open: v.boolean().default(false),
|
|
16
18
|
debug: v.boolean().default(false),
|
|
17
19
|
}));
|
|
18
20
|
const DevArgsSchema = lazySchema(getDevArgsSchema);
|
|
@@ -20,6 +22,8 @@ export const parseDevArgs = createArgParser(DevArgsSchema, {
|
|
|
20
22
|
port: { keys: ["port", "p"], type: "number" },
|
|
21
23
|
project: { keys: ["project"], type: "string" },
|
|
22
24
|
hmr: { keys: ["hmr"], type: "boolean" },
|
|
25
|
+
noHmr: { keys: ["no-hmr"], type: "boolean" },
|
|
26
|
+
open: { keys: ["open"], type: "boolean" },
|
|
23
27
|
debug: { keys: ["debug", "d"], type: "boolean" },
|
|
24
28
|
});
|
|
25
29
|
async function resolveProjectDir(projectArg) {
|
|
@@ -52,7 +56,8 @@ export async function handleDevCommand(args) {
|
|
|
52
56
|
const { done } = await devCommand({
|
|
53
57
|
port: opts.port,
|
|
54
58
|
projectDir,
|
|
55
|
-
hmr: opts.hmr,
|
|
59
|
+
hmr: opts.hmr && !opts.noHmr,
|
|
60
|
+
open: opts.open,
|
|
56
61
|
});
|
|
57
62
|
// Block until the dev server shuts down.
|
|
58
63
|
// Without this, main.ts reaches exitProcess(0) and terminates immediately.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/doctor/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/doctor/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,UAAU,EAAE,WAgBxB,CAAC"}
|
|
@@ -4,10 +4,14 @@ export const doctorHelp = {
|
|
|
4
4
|
description: "Check system requirements and project health",
|
|
5
5
|
usage: "veryfront doctor [options]",
|
|
6
6
|
options: [
|
|
7
|
+
{
|
|
8
|
+
flag: "-p, --port <number>",
|
|
9
|
+
description: "Port used by the development server",
|
|
10
|
+
},
|
|
7
11
|
{
|
|
8
12
|
flag: "-s, --strict",
|
|
9
13
|
description: "Treat warnings as errors",
|
|
10
14
|
},
|
|
11
15
|
],
|
|
12
|
-
examples: ["veryfront doctor", "veryfront doctor --strict"],
|
|
16
|
+
examples: ["veryfront doctor", "veryfront doctor --port 4321", "veryfront doctor --strict"],
|
|
13
17
|
};
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import type { ParsedArgs } from "../../shared/types.js";
|
|
5
5
|
export declare const parseDoctorArgs: (args: ParsedArgs) => import("../../shared/args.js").SafeParseResult<import("../../../src/extensions/schema/schema-validator.js").InferShape<{
|
|
6
6
|
strict: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
7
|
+
port: import("../../../src/internal-agents/schema.js").Schema<number | undefined>;
|
|
7
8
|
}>>;
|
|
8
9
|
export declare function handleDoctorCommand(args: ParsedArgs): Promise<void>;
|
|
9
10
|
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/doctor/handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/doctor/handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAWxD,eAAO,MAAM,eAAe;;;GAG1B,CAAC;AAEH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE"}
|
|
@@ -8,10 +8,12 @@ import { showLogo } from "../../utils/index.js";
|
|
|
8
8
|
import { createArgParser, parseArgsOrThrow } from "../../shared/args.js";
|
|
9
9
|
const getDoctorArgsSchema = defineSchema((v) => v.object({
|
|
10
10
|
strict: v.boolean().default(false),
|
|
11
|
+
port: v.number().optional(),
|
|
11
12
|
}));
|
|
12
13
|
const DoctorArgsSchema = lazySchema(getDoctorArgsSchema);
|
|
13
14
|
export const parseDoctorArgs = createArgParser(DoctorArgsSchema, {
|
|
14
15
|
strict: { keys: ["strict", "s"], type: "boolean" },
|
|
16
|
+
port: { keys: ["port", "p"], type: "number" },
|
|
15
17
|
});
|
|
16
18
|
export async function handleDoctorCommand(args) {
|
|
17
19
|
showLogo();
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
import type { DiagnosticResult } from "./types.js";
|
|
2
|
+
export declare function resolveDoctorPort(projectDir: string, explicitPort?: number): Promise<number>;
|
|
3
|
+
export declare function reportDoctorResults(results: DiagnosticResult[], opts: {
|
|
4
|
+
port: number;
|
|
5
|
+
strict?: boolean;
|
|
6
|
+
}): Promise<void>;
|
|
1
7
|
export declare function doctorCommand(projectDir: string, opts?: {
|
|
2
8
|
strict?: boolean;
|
|
9
|
+
port?: number;
|
|
3
10
|
}): Promise<void>;
|
|
4
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/doctor/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/doctor/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAgBnD,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAoBD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,gBAAgB,EAAE,EAC3B,IAAI,EAAE;IACJ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAED,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7C,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|