veryfront 0.1.1046 → 0.1.1048
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/app/handlers/view-handlers.js +2 -2
- package/esm/cli/auth/index.d.ts +1 -1
- package/esm/cli/auth/index.d.ts.map +1 -1
- package/esm/cli/auth/index.js +1 -1
- package/esm/cli/auth/login.d.ts +14 -6
- package/esm/cli/auth/login.d.ts.map +1 -1
- package/esm/cli/auth/login.js +91 -47
- 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 +7 -0
- package/esm/cli/commands/dev/command.d.ts.map +1 -1
- package/esm/cli/commands/dev/command.js +37 -20
- 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/commands/whoami/command-help.js +2 -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/sync/project-discovery.d.ts +2 -1
- package/esm/cli/sync/project-discovery.d.ts.map +1 -1
- package/esm/cli/sync/project-discovery.js +16 -7
- package/esm/cli/utils/index.d.ts.map +1 -1
- package/esm/cli/utils/index.js +3 -0
- package/esm/deno.js +5 -5
- package/esm/src/agent/child-run/execution-cleanup.d.ts.map +1 -1
- package/esm/src/agent/child-run/execution-cleanup.js +11 -1
- package/esm/src/agent/hosted/child-fork-tool-sources.d.ts.map +1 -1
- package/esm/src/agent/hosted/child-fork-tool-sources.js +9 -1
- package/esm/src/agent/hosted/child-requested-tools.d.ts.map +1 -1
- package/esm/src/agent/hosted/child-requested-tools.js +3 -2
- package/esm/src/agent/memory/memory.d.ts.map +1 -1
- package/esm/src/agent/memory/memory.js +4 -1
- package/esm/src/agent/memory/redis.d.ts.map +1 -1
- package/esm/src/agent/memory/redis.js +14 -3
- package/esm/src/agent/streaming/data-stream.d.ts.map +1 -1
- package/esm/src/agent/streaming/data-stream.js +7 -2
- package/esm/src/agent/streaming/fork-runtime-stream.d.ts.map +1 -1
- package/esm/src/agent/streaming/fork-runtime-stream.js +22 -10
- package/esm/src/agent/streaming/tool-input.d.ts.map +1 -1
- package/esm/src/agent/streaming/tool-input.js +11 -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/cache-key-builder.d.ts.map +1 -1
- package/esm/src/cache/cache-key-builder.js +11 -5
- package/esm/src/cache/dependency-graph.d.ts.map +1 -1
- package/esm/src/cache/dependency-graph.js +21 -4
- package/esm/src/cache/hash.d.ts.map +1 -1
- package/esm/src/cache/hash.js +13 -1
- 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/eval/agent-service/durable-run-canaries/runner.d.ts.map +1 -1
- package/esm/src/eval/agent-service/durable-run-canaries/runner.js +4 -3
- 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/integrations/remote-tools.d.ts.map +1 -1
- package/esm/src/integrations/remote-tools.js +8 -0
- package/esm/src/knowledge/index.js +1 -1
- package/esm/src/mcp/http-transport.d.ts.map +1 -1
- package/esm/src/mcp/http-transport.js +13 -6
- package/esm/src/mcp/server.d.ts +9 -0
- package/esm/src/mcp/server.d.ts.map +1 -1
- package/esm/src/mcp/server.js +48 -5
- package/esm/src/mcp/task-store.d.ts.map +1 -1
- package/esm/src/mcp/task-store.js +17 -13
- 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/server/module-batch-handler.d.ts.map +1 -1
- package/esm/src/modules/server/module-batch-handler.js +3 -10
- package/esm/src/oauth/handlers/callback-handler.d.ts.map +1 -1
- package/esm/src/oauth/handlers/callback-handler.js +9 -1
- package/esm/src/oauth/handlers/init-handler.d.ts.map +1 -1
- package/esm/src/oauth/handlers/init-handler.js +9 -1
- package/esm/src/oauth/providers/base.d.ts.map +1 -1
- package/esm/src/oauth/providers/base.js +4 -0
- package/esm/src/platform/adapters/base.d.ts +16 -0
- package/esm/src/platform/adapters/base.d.ts.map +1 -1
- 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 +1 -0
- 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 +4 -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/mock.d.ts.map +1 -1
- package/esm/src/platform/adapters/mock.js +3 -2
- package/esm/src/platform/adapters/runtime/deno/adapter.d.ts +2 -0
- package/esm/src/platform/adapters/runtime/deno/adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/deno/adapter.js +15 -0
- package/esm/src/platform/adapters/runtime/node/filesystem-adapter.d.ts +2 -0
- package/esm/src/platform/adapters/runtime/node/filesystem-adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/node/filesystem-adapter.js +15 -0
- 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/prompt/factory.js +10 -1
- package/esm/src/provider/runtime-loader/provider-http.d.ts.map +1 -1
- package/esm/src/provider/runtime-loader/provider-http.js +21 -1
- package/esm/src/provider/runtime-loader/provider-sse.d.ts.map +1 -1
- package/esm/src/provider/runtime-loader/provider-sse.js +6 -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 +22 -15
- package/esm/src/proxy/retry.d.ts +10 -0
- package/esm/src/proxy/retry.d.ts.map +1 -1
- package/esm/src/proxy/retry.js +27 -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/ssr-adapter/response-builder.js +1 -1
- package/esm/src/react/compat/ssr-adapter/server-loader.d.ts +6 -3
- 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.js +5 -5
- 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/components/chat/markdown.d.ts +1 -0
- package/esm/src/react/components/chat/markdown.d.ts.map +1 -1
- package/esm/src/react/components/chat/markdown.js +4 -2
- package/esm/src/rendering/app-reserved.d.ts +1 -1
- package/esm/src/rendering/app-reserved.d.ts.map +1 -1
- package/esm/src/rendering/app-reserved.js +2 -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/factories/service-factories.js +1 -1
- package/esm/src/rendering/layouts/layout-applicator.d.ts +7 -1
- 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 +2 -2
- 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 +6 -6
- 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/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 +5 -1
- 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.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 +2 -0
- 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 +2 -0
- 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/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 +3 -1
- 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 +3 -3
- package/esm/src/rendering/rsc/server-renderer/tree-processor.d.ts.map +1 -1
- package/esm/src/rendering/rsc/server-renderer/tree-processor.js +64 -13
- 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/ssr-renderer.d.ts +6 -5
- package/esm/src/rendering/ssr-renderer.d.ts.map +1 -1
- package/esm/src/rendering/ssr-renderer.js +37 -30
- package/esm/src/routing/api/api-route-matcher.d.ts.map +1 -1
- package/esm/src/routing/api/api-route-matcher.js +10 -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/pattern-route-matcher.d.ts +1 -0
- package/esm/src/routing/matchers/pattern-route-matcher.d.ts.map +1 -1
- package/esm/src/routing/matchers/pattern-route-matcher.js +32 -1
- 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/runtime/runtime-bridge.d.ts.map +1 -1
- package/esm/src/runtime/runtime-bridge.js +29 -5
- package/esm/src/sandbox/config.d.ts.map +1 -1
- package/esm/src/sandbox/config.js +6 -7
- package/esm/src/sandbox/lazy-sandbox.d.ts.map +1 -1
- package/esm/src/sandbox/lazy-sandbox.js +7 -7
- package/esm/src/sandbox/sandbox.d.ts.map +1 -1
- package/esm/src/sandbox/sandbox.js +7 -7
- 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/deno-permissions.d.ts +9 -0
- package/esm/src/security/deno-permissions.d.ts.map +1 -1
- package/esm/src/security/deno-permissions.js +9 -0
- package/esm/src/security/http/config.d.ts.map +1 -1
- package/esm/src/security/http/config.js +12 -13
- package/esm/src/security/path-validation/canonical.d.ts +10 -1
- package/esm/src/security/path-validation/canonical.d.ts.map +1 -1
- package/esm/src/security/path-validation/canonical.js +56 -8
- package/esm/src/security/path-validation/index.d.ts +1 -1
- package/esm/src/security/path-validation/index.d.ts.map +1 -1
- package/esm/src/security/path-validation/index.js +7 -3
- package/esm/src/security/sandbox/worker-egress-guard.d.ts.map +1 -1
- package/esm/src/security/sandbox/worker-egress-guard.js +4 -0
- 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 +46 -45
- 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 +24 -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 +4 -3
- package/esm/src/server/handlers/request/api/app-router-resolver.js +1 -1
- package/esm/src/server/handlers/request/channel-dispatch-request.d.ts.map +1 -1
- package/esm/src/server/handlers/request/channel-dispatch-request.js +16 -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 +28 -16
- 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/project-env/cache.d.ts.map +1 -1
- package/esm/src/server/project-env/cache.js +12 -1
- 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/services/static/static-file.service.d.ts.map +1 -1
- package/esm/src/server/services/static/static-file.service.js +20 -2
- 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/tool/host-tools.d.ts.map +1 -1
- package/esm/src/tool/host-tools.js +3 -1
- package/esm/src/tool/remote-mcp.d.ts.map +1 -1
- package/esm/src/tool/remote-mcp.js +83 -20
- 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/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 +1 -1
- package/esm/src/transforms/mdx/index.d.ts.map +1 -1
- package/esm/src/transforms/mdx/index.js +2 -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/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/index.d.ts +1 -1
- 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/cache-file-ops.d.ts.map +1 -1
- package/esm/src/utils/cache-file-ops.js +5 -1
- package/esm/src/utils/import-map.d.ts.map +1 -1
- package/esm/src/utils/import-map.js +8 -1
- 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/backends/memory.d.ts +2 -2
- package/esm/src/workflow/backends/memory.d.ts.map +1 -1
- package/esm/src/workflow/backends/memory.js +11 -4
- package/esm/src/workflow/backends/redis/index.d.ts +2 -2
- package/esm/src/workflow/backends/redis/index.d.ts.map +1 -1
- package/esm/src/workflow/backends/redis/index.js +5 -3
- package/esm/src/workflow/backends/types.d.ts +4 -2
- package/esm/src/workflow/backends/types.d.ts.map +1 -1
- package/esm/src/workflow/blob/local-storage.d.ts.map +1 -1
- package/esm/src/workflow/blob/local-storage.js +19 -6
- 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 +91 -35
- package/esm/src/workflow/executor/dag/loop-node-strategy.d.ts.map +1 -1
- package/esm/src/workflow/executor/dag/loop-node-strategy.js +16 -3
- 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 -0
- package/esm/src/workflow/executor/workflow-executor.d.ts.map +1 -1
- package/esm/src/workflow/executor/workflow-executor.js +186 -51
- package/esm/src/workflow/worker/executors/process.d.ts.map +1 -1
- package/esm/src/workflow/worker/executors/process.js +49 -2
- package/esm/src/workflow/worker/run-manager.d.ts +2 -0
- package/esm/src/workflow/worker/run-manager.d.ts.map +1 -1
- package/esm/src/workflow/worker/run-manager.js +25 -5
- package/package.json +4 -4
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { navigateTo } from "../state.js";
|
|
8
8
|
import { moveDown, moveUp } from "../components/list-select.js";
|
|
9
|
-
import { login } from "../../auth/login.js";
|
|
9
|
+
import { isApiKeyIdentity, login } from "../../auth/login.js";
|
|
10
10
|
import { fetchRemoteProjects } from "../../sync/index.js";
|
|
11
11
|
import { addLog, updateRemote } from "../state.js";
|
|
12
12
|
const KEY_UP = "\x1b[A";
|
|
@@ -112,7 +112,7 @@ export function handleAuthKey(key, ctx) {
|
|
|
112
112
|
update(navigateTo("dashboard"));
|
|
113
113
|
void (async () => {
|
|
114
114
|
const user = await login(provider);
|
|
115
|
-
if (user) {
|
|
115
|
+
if (user && !isApiKeyIdentity(user)) {
|
|
116
116
|
const result = await fetchRemoteProjects();
|
|
117
117
|
update(updateRemote({
|
|
118
118
|
user,
|
package/esm/cli/auth/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { type AuthMethod, createOAuthAuthorizationUrl, createOAuthState, deleteToken, ensureAuthenticated, hasToken, login, logout, readToken, saveToken, type UserInfo, validateToken, whoami, } from "./login.js";
|
|
1
|
+
export { type ApiKeyIdentity, type AuthIdentity, type AuthMethod, createOAuthAuthorizationUrl, createOAuthState, deleteToken, ensureAuthenticated, hasToken, isApiKeyIdentity, login, logout, readToken, saveToken, type UserInfo, validateCredential, validateToken, whoami, } from "./login.js";
|
|
2
2
|
export { type CallbackServer, getCallbackUrl, startCallbackServer } from "./callback-server.js";
|
|
3
3
|
export { getTokenLocation } from "./token-store.js";
|
|
4
4
|
export { canOpenBrowser, openBrowser } from "./browser.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,KAAK,QAAQ,EACb,aAAa,EACb,MAAM,GACP,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,2BAA2B,EAC3B,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,EACT,KAAK,QAAQ,EACb,kBAAkB,EAClB,aAAa,EACb,MAAM,GACP,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,KAAK,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
package/esm/cli/auth/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createOAuthAuthorizationUrl, createOAuthState, deleteToken, ensureAuthenticated, hasToken, login, logout, readToken, saveToken, validateToken, whoami, } from "./login.js";
|
|
1
|
+
export { createOAuthAuthorizationUrl, createOAuthState, deleteToken, ensureAuthenticated, hasToken, isApiKeyIdentity, login, logout, readToken, saveToken, validateCredential, validateToken, whoami, } from "./login.js";
|
|
2
2
|
export { getCallbackUrl, startCallbackServer } from "./callback-server.js";
|
|
3
3
|
export { getTokenLocation } from "./token-store.js";
|
|
4
4
|
export { canOpenBrowser, openBrowser } from "./browser.js";
|
package/esm/cli/auth/login.d.ts
CHANGED
|
@@ -6,12 +6,20 @@ export interface UserInfo {
|
|
|
6
6
|
email: string;
|
|
7
7
|
name?: string;
|
|
8
8
|
}
|
|
9
|
+
export interface ApiKeyIdentity {
|
|
10
|
+
authenticated: true;
|
|
11
|
+
type: "apiKey";
|
|
12
|
+
}
|
|
13
|
+
export type AuthIdentity = UserInfo | ApiKeyIdentity;
|
|
9
14
|
export declare function createOAuthState(): string;
|
|
10
|
-
export declare function createOAuthAuthorizationUrl(provider: "google" | "github" | "microsoft", callbackUrl: string, state: string): string;
|
|
11
|
-
export declare function validateToken(token: string): Promise<UserInfo | null>;
|
|
12
|
-
export declare function
|
|
13
|
-
export declare function
|
|
14
|
-
export declare function
|
|
15
|
-
export declare function
|
|
15
|
+
export declare function createOAuthAuthorizationUrl(provider: "google" | "github" | "microsoft", callbackUrl: string, state: string, env?: EnvironmentConfig): string;
|
|
16
|
+
export declare function validateToken(token: string, env?: EnvironmentConfig): Promise<UserInfo | null>;
|
|
17
|
+
export declare function isApiKeyToken(token: string): boolean;
|
|
18
|
+
export declare function isApiKeyIdentity(identity: AuthIdentity): identity is ApiKeyIdentity;
|
|
19
|
+
export declare function validateCredential(token: string, env?: EnvironmentConfig): Promise<AuthIdentity | null>;
|
|
20
|
+
export declare function login(method?: AuthMethod, env?: EnvironmentConfig): Promise<AuthIdentity | null>;
|
|
21
|
+
export declare function ensureAuthenticated(env?: EnvironmentConfig): Promise<AuthIdentity | null>;
|
|
22
|
+
export declare function logout(env?: EnvironmentConfig): Promise<void>;
|
|
23
|
+
export declare function whoami(env?: EnvironmentConfig): Promise<AuthIdentity | null>;
|
|
16
24
|
export { deleteToken, hasToken, readToken, saveToken };
|
|
17
25
|
//# sourceMappingURL=login.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/login.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,WAAW,EAAoB,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQjG,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/login.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,WAAW,EAAoB,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQjG,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,IAAI,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,cAAc,CAAC;AASrD,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,EAC3C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,iBAA0C,GAC9C,MAAM,CAQR;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAgB1B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,IAAI,cAAc,CAEnF;AAqBD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAQ9B;AAgJD,wBAAsB,KAAK,CACzB,MAAM,CAAC,EAAE,UAAU,EACnB,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAkC9B;AAED,wBAAsB,mBAAmB,CACvC,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAqB9B;AAED,wBAAsB,MAAM,CAAC,GAAG,GAAE,iBAA0C,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3F;AAyCD,wBAAsB,MAAM,CAC1B,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiC9B;AAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC"}
|
package/esm/cli/auth/login.js
CHANGED
|
@@ -20,17 +20,17 @@ export function createOAuthState() {
|
|
|
20
20
|
dntShim.crypto.getRandomValues(bytes);
|
|
21
21
|
return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
|
|
22
22
|
}
|
|
23
|
-
export function createOAuthAuthorizationUrl(provider, callbackUrl, state) {
|
|
23
|
+
export function createOAuthAuthorizationUrl(provider, callbackUrl, state, env = getEnvironmentConfig()) {
|
|
24
24
|
const stateBoundCallbackUrl = new URL(callbackUrl);
|
|
25
25
|
stateBoundCallbackUrl.searchParams.set("state", state);
|
|
26
|
-
const authUrl = new URL(`${getApiUrl().replace(/\/$/, "")}/auth/${provider}`);
|
|
26
|
+
const authUrl = new URL(`${getApiUrl(env).replace(/\/$/, "")}/auth/${provider}`);
|
|
27
27
|
authUrl.searchParams.set("redirect_uri", stateBoundCallbackUrl.toString());
|
|
28
28
|
authUrl.searchParams.set("state", state);
|
|
29
29
|
return authUrl.toString();
|
|
30
30
|
}
|
|
31
|
-
export async function validateToken(token) {
|
|
31
|
+
export async function validateToken(token, env = getEnvironmentConfig()) {
|
|
32
32
|
try {
|
|
33
|
-
const response = await fetch(`${getApiUrl()}/me`, {
|
|
33
|
+
const response = await fetch(`${getApiUrl(env).replace(/\/$/, "")}/me`, {
|
|
34
34
|
headers: { Authorization: `Bearer ${token}`, Accept: "application/json" },
|
|
35
35
|
});
|
|
36
36
|
if (!response.ok) {
|
|
@@ -44,6 +44,36 @@ export async function validateToken(token) {
|
|
|
44
44
|
return null;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
+
export function isApiKeyToken(token) {
|
|
48
|
+
return token.startsWith("vf_");
|
|
49
|
+
}
|
|
50
|
+
export function isApiKeyIdentity(identity) {
|
|
51
|
+
return "type" in identity && identity.type === "apiKey";
|
|
52
|
+
}
|
|
53
|
+
async function validateApiKey(token, env = getEnvironmentConfig()) {
|
|
54
|
+
if (!isApiKeyToken(token))
|
|
55
|
+
return false;
|
|
56
|
+
try {
|
|
57
|
+
const url = new URL(`${getApiUrl(env).replace(/\/$/, "")}/projects`);
|
|
58
|
+
url.searchParams.set("limit", "1");
|
|
59
|
+
const response = await fetch(url, {
|
|
60
|
+
headers: { Authorization: `Bearer ${token}`, Accept: "application/json" },
|
|
61
|
+
});
|
|
62
|
+
await response.body?.cancel();
|
|
63
|
+
return response.ok;
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
export async function validateCredential(token, env = getEnvironmentConfig()) {
|
|
70
|
+
if (!token)
|
|
71
|
+
return null;
|
|
72
|
+
if (isApiKeyToken(token)) {
|
|
73
|
+
return (await validateApiKey(token, env)) ? { authenticated: true, type: "apiKey" } : null;
|
|
74
|
+
}
|
|
75
|
+
return validateToken(token, env);
|
|
76
|
+
}
|
|
47
77
|
async function promptAuthMethod() {
|
|
48
78
|
console.log();
|
|
49
79
|
console.log(" " + dim("Choose authentication method:"));
|
|
@@ -97,9 +127,9 @@ async function promptAuthMethod() {
|
|
|
97
127
|
setRawMode(false);
|
|
98
128
|
}
|
|
99
129
|
}
|
|
100
|
-
async function loginWithOAuth(provider) {
|
|
130
|
+
async function loginWithOAuth(provider, env) {
|
|
101
131
|
console.log();
|
|
102
|
-
if (!canOpenBrowser()) {
|
|
132
|
+
if (!canOpenBrowser(env)) {
|
|
103
133
|
console.log(" " + warning("Browser login not available in this environment."));
|
|
104
134
|
console.log(" " + dim("Please use the API token option instead."));
|
|
105
135
|
return null;
|
|
@@ -115,7 +145,7 @@ async function loginWithOAuth(provider) {
|
|
|
115
145
|
return null;
|
|
116
146
|
}
|
|
117
147
|
const callbackUrl = getCallbackUrl(server.port);
|
|
118
|
-
const authUrl = createOAuthAuthorizationUrl(provider, callbackUrl, state);
|
|
148
|
+
const authUrl = createOAuthAuthorizationUrl(provider, callbackUrl, state, env);
|
|
119
149
|
console.log(" " + brand("Opening browser to log in..."));
|
|
120
150
|
console.log();
|
|
121
151
|
try {
|
|
@@ -162,14 +192,14 @@ async function loginWithToken() {
|
|
|
162
192
|
}
|
|
163
193
|
return token;
|
|
164
194
|
}
|
|
165
|
-
export async function login(method) {
|
|
195
|
+
export async function login(method, env = getEnvironmentConfig()) {
|
|
166
196
|
const authMethod = method ?? (isTTY() ? await promptAuthMethod() : "token");
|
|
167
197
|
let token = null;
|
|
168
198
|
switch (authMethod) {
|
|
169
199
|
case "google":
|
|
170
200
|
case "github":
|
|
171
201
|
case "microsoft":
|
|
172
|
-
token = await loginWithOAuth(authMethod);
|
|
202
|
+
token = await loginWithOAuth(authMethod, env);
|
|
173
203
|
break;
|
|
174
204
|
case "token":
|
|
175
205
|
token = await loginWithToken();
|
|
@@ -178,29 +208,31 @@ export async function login(method) {
|
|
|
178
208
|
if (!token)
|
|
179
209
|
return null;
|
|
180
210
|
console.log(" " + dim("Validating token..."));
|
|
181
|
-
const
|
|
182
|
-
if (!
|
|
211
|
+
const identity = await validateCredential(token, env);
|
|
212
|
+
if (!identity) {
|
|
183
213
|
console.log();
|
|
184
214
|
console.log(" " + error("✗") + " Invalid token");
|
|
185
215
|
return null;
|
|
186
216
|
}
|
|
187
|
-
await saveToken(token);
|
|
217
|
+
await saveToken(token, env);
|
|
188
218
|
console.log();
|
|
189
|
-
console.log(
|
|
190
|
-
|
|
219
|
+
console.log(isApiKeyIdentity(identity)
|
|
220
|
+
? " " + success("✓") + " Authenticated with an API key"
|
|
221
|
+
: " " + success("✓") + " Logged in as " + brand(identity.email));
|
|
222
|
+
return identity;
|
|
191
223
|
}
|
|
192
224
|
export async function ensureAuthenticated(env = getEnvironmentConfig()) {
|
|
193
225
|
if (env.apiToken) {
|
|
194
|
-
const
|
|
195
|
-
if (
|
|
196
|
-
return
|
|
226
|
+
const credential = await validateCredential(env.apiToken, env);
|
|
227
|
+
if (credential)
|
|
228
|
+
return credential;
|
|
197
229
|
console.log(" " + warning("Warning: VERYFRONT_API_TOKEN is invalid"));
|
|
198
230
|
}
|
|
199
231
|
const storedToken = await readToken(env);
|
|
200
232
|
if (storedToken) {
|
|
201
|
-
const
|
|
202
|
-
if (
|
|
203
|
-
return
|
|
233
|
+
const credential = await validateCredential(storedToken, env);
|
|
234
|
+
if (credential)
|
|
235
|
+
return credential;
|
|
204
236
|
await deleteToken(env);
|
|
205
237
|
console.log(" " + warning("Session expired. Please log in again."));
|
|
206
238
|
}
|
|
@@ -208,40 +240,52 @@ export async function ensureAuthenticated(env = getEnvironmentConfig()) {
|
|
|
208
240
|
cliLogger.error("Not logged in. Set VERYFRONT_API_TOKEN or run in interactive mode.");
|
|
209
241
|
return null;
|
|
210
242
|
}
|
|
211
|
-
return login();
|
|
243
|
+
return login(undefined, env);
|
|
212
244
|
}
|
|
213
|
-
export async function logout() {
|
|
214
|
-
await deleteToken();
|
|
245
|
+
export async function logout(env = getEnvironmentConfig()) {
|
|
246
|
+
await deleteToken(env);
|
|
215
247
|
console.log();
|
|
216
248
|
console.log(" " + success("✓") + " Logged out");
|
|
217
249
|
}
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
}
|
|
226
|
-
console.log();
|
|
227
|
-
console.log(" " + success("✓") + " Logged in as " + brand(userInfo.email));
|
|
228
|
-
console.log(" " + dim("(via VERYFRONT_API_TOKEN)"));
|
|
250
|
+
async function reportCredential(token, source, env) {
|
|
251
|
+
const credential = await validateCredential(token, env);
|
|
252
|
+
if (!credential)
|
|
253
|
+
return null;
|
|
254
|
+
if (!isApiKeyIdentity(credential)) {
|
|
255
|
+
const userInfo = credential;
|
|
256
|
+
if (isJsonMode()) {
|
|
257
|
+
await outputJson(createSuccessEnvelope("whoami", { ...userInfo, source }));
|
|
229
258
|
return userInfo;
|
|
230
259
|
}
|
|
260
|
+
console.log();
|
|
261
|
+
console.log(" " + success("✓") + " Logged in as " + brand(userInfo.email));
|
|
231
262
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
}
|
|
240
|
-
console.log();
|
|
241
|
-
console.log(" " + success("✓") + " Logged in as " + brand(userInfo.email));
|
|
242
|
-
console.log(" " + dim(`Token stored at: ${getTokenLocation()}`));
|
|
243
|
-
return userInfo;
|
|
263
|
+
else {
|
|
264
|
+
if (isJsonMode()) {
|
|
265
|
+
await outputJson(createSuccessEnvelope("whoami", {
|
|
266
|
+
authenticated: true,
|
|
267
|
+
credential_type: "api_key",
|
|
268
|
+
source,
|
|
269
|
+
}));
|
|
270
|
+
return { authenticated: true, type: "apiKey" };
|
|
244
271
|
}
|
|
272
|
+
console.log();
|
|
273
|
+
console.log(" " + success("✓") + " Authenticated with an API key");
|
|
274
|
+
}
|
|
275
|
+
console.log(" " + dim(source === "env" ? "(via VERYFRONT_API_TOKEN)" : `Token stored at: ${getTokenLocation(env)}`));
|
|
276
|
+
return credential;
|
|
277
|
+
}
|
|
278
|
+
export async function whoami(env = getEnvironmentConfig()) {
|
|
279
|
+
if (env.apiToken) {
|
|
280
|
+
const result = await reportCredential(env.apiToken, "env", env);
|
|
281
|
+
if (result)
|
|
282
|
+
return result;
|
|
283
|
+
}
|
|
284
|
+
const storedToken = await readToken(env);
|
|
285
|
+
if (storedToken) {
|
|
286
|
+
const result = await reportCredential(storedToken, "token-store", env);
|
|
287
|
+
if (result)
|
|
288
|
+
return result;
|
|
245
289
|
}
|
|
246
290
|
if (isJsonMode()) {
|
|
247
291
|
await outputJson(createSuccessEnvelope("whoami", { authenticated: false }));
|
|
@@ -253,7 +297,7 @@ export async function whoami(env = getEnvironmentConfig()) {
|
|
|
253
297
|
// Show provider tokens
|
|
254
298
|
try {
|
|
255
299
|
const { listProviderTokens } = await import("./provider-store.js");
|
|
256
|
-
const providers = await listProviderTokens();
|
|
300
|
+
const providers = await listProviderTokens(env);
|
|
257
301
|
for (const p of providers) {
|
|
258
302
|
console.log(" " + success("✓") + ` ${p} API key configured`);
|
|
259
303
|
}
|
|
@@ -7,14 +7,15 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @module cli/auth/provider-store
|
|
9
9
|
*/
|
|
10
|
+
import { type EnvironmentConfig } from "../../src/config/index.js";
|
|
10
11
|
export type ProviderName = "anthropic" | "openai";
|
|
11
12
|
export interface ProviderCredential {
|
|
12
13
|
apiKey: string;
|
|
13
14
|
validatedAt: string;
|
|
14
15
|
provider: ProviderName;
|
|
15
16
|
}
|
|
16
|
-
export declare function saveProviderToken(provider: ProviderName, credential: ProviderCredential): Promise<void>;
|
|
17
|
-
export declare function readProviderToken(provider: ProviderName): Promise<ProviderCredential | null>;
|
|
18
|
-
export declare function deleteProviderToken(provider: ProviderName): Promise<void>;
|
|
19
|
-
export declare function listProviderTokens(): Promise<ProviderName[]>;
|
|
17
|
+
export declare function saveProviderToken(provider: ProviderName, credential: ProviderCredential, env?: EnvironmentConfig): Promise<void>;
|
|
18
|
+
export declare function readProviderToken(provider: ProviderName, env?: EnvironmentConfig): Promise<ProviderCredential | null>;
|
|
19
|
+
export declare function deleteProviderToken(provider: ProviderName, env?: EnvironmentConfig): Promise<void>;
|
|
20
|
+
export declare function listProviderTokens(env?: EnvironmentConfig): Promise<ProviderName[]>;
|
|
20
21
|
//# sourceMappingURL=provider-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-store.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/provider-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"provider-store.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/provider-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,2BAA2B,CAAC;AAKzF,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAYD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,kBAAkB,EAC9B,GAAG,CAAC,EAAE,iBAAiB,GACtB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,iBAAiB,GACtB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAQpC;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,iBAAiB,GACtB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,kBAAkB,CAAC,GAAG,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBzF"}
|
|
@@ -10,45 +10,49 @@
|
|
|
10
10
|
import { getEnvironmentConfig } from "../../src/config/index.js";
|
|
11
11
|
import { join } from "../../src/platform/compat/path/index.js";
|
|
12
12
|
import { createFileSystem } from "../../src/platform/index.js";
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
import { CONFIG_DIR_NAME, TOKEN_FILE_PERMISSIONS } from "../shared/constants.js";
|
|
14
|
+
function getTokenDir(env = getEnvironmentConfig()) {
|
|
15
15
|
const configDir = env.xdgConfigHome
|
|
16
|
-
? join(env.xdgConfigHome,
|
|
17
|
-
:
|
|
16
|
+
? join(env.xdgConfigHome, CONFIG_DIR_NAME)
|
|
17
|
+
: env.homeDir
|
|
18
|
+
? join(env.homeDir, ".config", CONFIG_DIR_NAME)
|
|
19
|
+
: null;
|
|
20
|
+
if (!configDir)
|
|
21
|
+
throw new Error("Could not determine home directory");
|
|
18
22
|
return join(configDir, "tokens");
|
|
19
23
|
}
|
|
20
|
-
export async function saveProviderToken(provider, credential) {
|
|
24
|
+
export async function saveProviderToken(provider, credential, env) {
|
|
21
25
|
const fs = createFileSystem();
|
|
22
|
-
const dir = getTokenDir();
|
|
26
|
+
const dir = getTokenDir(env);
|
|
23
27
|
await fs.mkdir(dir, { recursive: true });
|
|
24
28
|
const path = join(dir, provider);
|
|
25
29
|
await fs.writeTextFile(path, JSON.stringify(credential));
|
|
26
|
-
await fs.chmod(path,
|
|
30
|
+
await fs.chmod(path, TOKEN_FILE_PERMISSIONS);
|
|
27
31
|
}
|
|
28
|
-
export async function readProviderToken(provider) {
|
|
32
|
+
export async function readProviderToken(provider, env) {
|
|
29
33
|
const fs = createFileSystem();
|
|
30
34
|
try {
|
|
31
|
-
const raw = await fs.readTextFile(join(getTokenDir(), provider));
|
|
35
|
+
const raw = await fs.readTextFile(join(getTokenDir(env), provider));
|
|
32
36
|
return JSON.parse(raw);
|
|
33
37
|
}
|
|
34
38
|
catch {
|
|
35
39
|
return null;
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
|
-
export async function deleteProviderToken(provider) {
|
|
42
|
+
export async function deleteProviderToken(provider, env) {
|
|
39
43
|
const fs = createFileSystem();
|
|
40
44
|
try {
|
|
41
|
-
await fs.remove(join(getTokenDir(), provider));
|
|
45
|
+
await fs.remove(join(getTokenDir(env), provider));
|
|
42
46
|
}
|
|
43
47
|
catch {
|
|
44
48
|
// Token doesn't exist — fine
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
|
-
export async function listProviderTokens() {
|
|
51
|
+
export async function listProviderTokens(env) {
|
|
48
52
|
const fs = createFileSystem();
|
|
49
53
|
const providers = [];
|
|
50
54
|
try {
|
|
51
|
-
for await (const entry of fs.readDir(getTokenDir())) {
|
|
55
|
+
for await (const entry of fs.readDir(getTokenDir(env))) {
|
|
52
56
|
if (entry.isFile &&
|
|
53
57
|
(entry.name === "anthropic" || entry.name === "openai")) {
|
|
54
58
|
providers.push(entry.name);
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import type { BuildOptions } from "./types.js";
|
|
2
|
+
/** @internal */
|
|
3
|
+
export declare function runWithBundlerShutdown<T>(operation: () => Promise<T>, stopBundler?: () => Promise<void>): Promise<T>;
|
|
2
4
|
export declare function buildCommand(options: BuildOptions): Promise<void>;
|
|
3
5
|
//# sourceMappingURL=command.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/build/command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/build/command.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,gBAAgB;AAChB,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,WAAW,GAAE,MAAM,OAAO,CAAC,IAAI,CAG9B,GACA,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFjE"}
|
|
@@ -3,11 +3,35 @@ import { runtime } from "../../../src/platform/index.js";
|
|
|
3
3
|
import { getConfig } from "../../../src/config/index.js";
|
|
4
4
|
import { buildProduction } from "../../../src/build/index.js";
|
|
5
5
|
import { withSpan } from "../../../src/observability/tracing/otlp-setup.js";
|
|
6
|
+
import { cliLogger } from "../../utils/index.js";
|
|
6
7
|
import { displayBuildConfig, displayBuildStart } from "./config-display.js";
|
|
7
8
|
import { handleBuildError } from "./error-handler.js";
|
|
8
9
|
import { displayBuildSuccess } from "./stats-display.js";
|
|
9
10
|
import { isJsonMode, streamJsonLine } from "../../shared/json-output.js";
|
|
10
11
|
import { ensureBuiltinContentProcessor } from "../../shared/ensure-content-processor.js";
|
|
12
|
+
/** @internal */
|
|
13
|
+
export async function runWithBundlerShutdown(operation, stopBundler = async () => {
|
|
14
|
+
const { stop } = await import("../../../src/extensions/bundler/index.js");
|
|
15
|
+
await stop();
|
|
16
|
+
}) {
|
|
17
|
+
let result;
|
|
18
|
+
try {
|
|
19
|
+
result = await operation();
|
|
20
|
+
}
|
|
21
|
+
catch (operationError) {
|
|
22
|
+
try {
|
|
23
|
+
await stopBundler();
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
if (!isJsonMode()) {
|
|
27
|
+
cliLogger.warn("Bundler shutdown also failed after the build error");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
throw operationError;
|
|
31
|
+
}
|
|
32
|
+
await stopBundler();
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
11
35
|
export function buildCommand(options) {
|
|
12
36
|
return withSpan("cli.command.build", async () => {
|
|
13
37
|
const outputDir = options.outputDir ?? join(options.projectDir, "dist");
|
|
@@ -20,26 +44,28 @@ export function buildCommand(options) {
|
|
|
20
44
|
else {
|
|
21
45
|
displayBuildConfig({ ...options, outputDir });
|
|
22
46
|
}
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
47
|
+
const stats = await runWithBundlerShutdown(async () => {
|
|
48
|
+
const adapter = await runtime.get();
|
|
49
|
+
await getConfig(options.projectDir, adapter);
|
|
50
|
+
await ensureBuiltinContentProcessor();
|
|
51
|
+
if (isJsonMode()) {
|
|
52
|
+
streamJsonLine({ type: "step", name: "config", status: "completed" });
|
|
53
|
+
streamJsonLine({ type: "step", name: "build", status: "started" });
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
displayBuildStart();
|
|
57
|
+
}
|
|
58
|
+
return await buildProduction({
|
|
59
|
+
projectDir: options.projectDir,
|
|
60
|
+
outputDir,
|
|
61
|
+
enableSplitting: options.splitting ?? true,
|
|
62
|
+
enableCompression: options.compress ?? true,
|
|
63
|
+
enablePrefetch: options.prefetch ?? true,
|
|
64
|
+
ssg: options.ssg ?? false,
|
|
65
|
+
include: options.include,
|
|
66
|
+
exclude: options.exclude,
|
|
67
|
+
dryRun,
|
|
68
|
+
});
|
|
43
69
|
});
|
|
44
70
|
const elapsed = Date.now() - startTime;
|
|
45
71
|
if (isJsonMode()) {
|
|
@@ -7,7 +7,9 @@ export declare const getBuildArgsSchema: () => import("../../../src/internal-age
|
|
|
7
7
|
output: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
|
|
8
8
|
preset: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
|
|
9
9
|
split: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
10
|
+
noSplit: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
10
11
|
compress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
12
|
+
noCompress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
11
13
|
prefetch: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
12
14
|
ssg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
13
15
|
noSsg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
@@ -19,7 +21,9 @@ export declare const BuildArgsSchema: import("../../../src/internal-agents/schem
|
|
|
19
21
|
output: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
|
|
20
22
|
preset: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
|
|
21
23
|
split: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
24
|
+
noSplit: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
22
25
|
compress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
26
|
+
noCompress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
23
27
|
prefetch: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
24
28
|
ssg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
25
29
|
noSsg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
@@ -38,7 +42,9 @@ export declare const parseBuildArgs: (args: ParsedArgs) => import("../../shared/
|
|
|
38
42
|
output: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
|
|
39
43
|
preset: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
|
|
40
44
|
split: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
45
|
+
noSplit: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
41
46
|
compress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
47
|
+
noCompress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
42
48
|
prefetch: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
43
49
|
ssg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
44
50
|
noSsg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/build/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAQ3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/build/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAQ3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;GAe9B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;GAAiC,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;GAazB,CAAC;AAEH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBxE"}
|
|
@@ -5,7 +5,8 @@ import { cliLogger } from "../../utils/index.js";
|
|
|
5
5
|
import { cwd } from "../../../src/platform/index.js";
|
|
6
6
|
import { CommonArgs, createArgParser, parseArgsOrThrow } from "../../shared/args.js";
|
|
7
7
|
import { ensureCliBundlerContracts } from "../../shared/default-contracts.js";
|
|
8
|
-
import {
|
|
8
|
+
import { showLogo } from "../../utils/index.js";
|
|
9
|
+
import { ensureBuiltinContentProcessor } from "../../shared/ensure-content-processor.js";
|
|
9
10
|
/**
|
|
10
11
|
* Schema factory for build command arguments
|
|
11
12
|
*/
|
|
@@ -13,7 +14,9 @@ export const getBuildArgsSchema = defineSchema((v) => v.object({
|
|
|
13
14
|
output: v.string().optional(),
|
|
14
15
|
preset: v.string().optional(),
|
|
15
16
|
split: v.boolean().default(true),
|
|
17
|
+
noSplit: v.boolean().default(false),
|
|
16
18
|
compress: v.boolean().default(true),
|
|
19
|
+
noCompress: v.boolean().default(false),
|
|
17
20
|
prefetch: v.boolean().default(true),
|
|
18
21
|
ssg: v.boolean().default(false),
|
|
19
22
|
noSsg: v.boolean().default(false),
|
|
@@ -29,7 +32,9 @@ export const parseBuildArgs = createArgParser(BuildArgsSchema, {
|
|
|
29
32
|
output: CommonArgs.output,
|
|
30
33
|
preset: { keys: ["preset"], type: "string" },
|
|
31
34
|
split: { keys: ["split"], type: "boolean" },
|
|
35
|
+
noSplit: { keys: ["no-split"], type: "boolean" },
|
|
32
36
|
compress: { keys: ["compress"], type: "boolean" },
|
|
37
|
+
noCompress: { keys: ["no-compress"], type: "boolean" },
|
|
33
38
|
prefetch: { keys: ["prefetch"], type: "boolean" },
|
|
34
39
|
ssg: { keys: ["ssg"], type: "boolean" },
|
|
35
40
|
noSsg: { keys: ["no-ssg"], type: "boolean" },
|
|
@@ -44,6 +49,7 @@ export async function handleBuildCommand(args) {
|
|
|
44
49
|
const projectDir = cwd();
|
|
45
50
|
const preset = opts.preset?.toLowerCase();
|
|
46
51
|
if (preset === "embedded") {
|
|
52
|
+
await ensureBuiltinContentProcessor();
|
|
47
53
|
await handleEmbeddedBuild(projectDir, opts.output);
|
|
48
54
|
return;
|
|
49
55
|
}
|
|
@@ -51,16 +57,14 @@ export async function handleBuildCommand(args) {
|
|
|
51
57
|
await buildCommand({
|
|
52
58
|
projectDir,
|
|
53
59
|
outputDir: opts.output,
|
|
54
|
-
splitting: opts.split,
|
|
55
|
-
compress: opts.compress,
|
|
60
|
+
splitting: opts.split && !opts.noSplit,
|
|
61
|
+
compress: opts.compress && !opts.noCompress,
|
|
56
62
|
prefetch: opts.prefetch,
|
|
57
63
|
ssg: opts.ssg && !opts.noSsg,
|
|
58
64
|
include: opts.include,
|
|
59
65
|
exclude: opts.exclude,
|
|
60
66
|
dryRun: opts.dryRun,
|
|
61
67
|
});
|
|
62
|
-
// Build tools (esbuild) may leave hanging timers; force clean exit
|
|
63
|
-
exitProcess(0);
|
|
64
68
|
}
|
|
65
69
|
async function handleEmbeddedBuild(projectDir, outputDir) {
|
|
66
70
|
const { buildEmbeddedPreset } = await import("../../../src/build/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/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/deploy/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,UAAU,EAAE,WAwCxB,CAAC"}
|
|
@@ -34,7 +34,8 @@ export const deployHelp = {
|
|
|
34
34
|
],
|
|
35
35
|
notes: [
|
|
36
36
|
"Requires VERYFRONT_API_TOKEN env var or veryfront.json config",
|
|
37
|
+
"Requires a successful veryfront push for the same project and branch",
|
|
37
38
|
"Creates a new release from the specified branch",
|
|
38
|
-
"
|
|
39
|
+
"Verifies the target environment points to the created deployment before succeeding",
|
|
39
40
|
],
|
|
40
41
|
};
|