veryfront 0.0.84 → 0.0.88
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/README.md +18 -44
- package/esm/deno.d.ts +0 -1
- package/esm/deno.js +8 -9
- package/esm/deps/esm.sh/react-dom@19.1.1/client.d.ts +2 -0
- package/esm/deps/esm.sh/react-dom@19.1.1/client.d.ts.map +1 -0
- package/esm/deps/esm.sh/react-dom@19.1.1/client.js +5 -0
- package/esm/deps/esm.sh/react-dom@19.1.1/server.d.ts +2 -0
- package/esm/deps/esm.sh/react-dom@19.1.1/server.d.ts.map +1 -0
- package/esm/deps/esm.sh/react-dom@19.1.1/server.js +5 -0
- package/esm/deps/esm.sh/react@19.1.1/jsx-runtime.d.ts +2 -0
- package/esm/deps/esm.sh/react@19.1.1/jsx-runtime.d.ts.map +1 -0
- package/esm/deps/esm.sh/react@19.1.1/jsx-runtime.js +3 -0
- package/esm/deps/esm.sh/react@19.1.1.d.ts +2 -0
- package/esm/deps/esm.sh/react@19.1.1.d.ts.map +1 -0
- package/esm/deps/esm.sh/react@19.1.1.js +3 -0
- package/esm/deps/esm.sh/scheduler@^0.26.0.d.ts +2 -0
- package/esm/deps/esm.sh/scheduler@^0.26.0.d.ts.map +1 -0
- package/esm/deps/esm.sh/scheduler@^0.26.0.js +3 -0
- package/esm/proxy/main.d.ts +2 -0
- package/esm/proxy/main.d.ts.map +1 -0
- package/esm/proxy/main.js +400 -0
- package/esm/src/agent/react/use-agent.js +1 -1
- package/esm/src/agent/react/use-chat/use-chat.js +1 -1
- 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/cli/app/components/list-select.js +2 -2
- package/esm/src/cli/app/index.d.ts +1 -1
- package/esm/src/cli/app/index.d.ts.map +1 -1
- package/esm/src/cli/app/index.js +26 -33
- package/esm/src/cli/app/state.d.ts +3 -0
- package/esm/src/cli/app/state.d.ts.map +1 -1
- package/esm/src/cli/app/state.js +4 -0
- package/esm/src/cli/app/views/dashboard.d.ts.map +1 -1
- package/esm/src/cli/app/views/dashboard.js +45 -57
- package/esm/src/cli/app/views/startup.d.ts +39 -0
- package/esm/src/cli/app/views/startup.d.ts.map +1 -0
- package/esm/src/cli/app/views/startup.js +103 -0
- package/esm/src/cli/commands/init/config-generator.js +1 -1
- package/esm/src/cli/index/arg-parser.d.ts.map +1 -1
- package/esm/src/cli/index/arg-parser.js +1 -0
- package/esm/src/cli/index/command-router.d.ts.map +1 -1
- package/esm/src/cli/index/command-router.js +54 -39
- package/esm/src/cli/index/types.d.ts +4 -0
- package/esm/src/cli/index/types.d.ts.map +1 -1
- package/esm/src/cli/mcp/advanced-tools.d.ts +2 -2
- package/esm/src/cli/ui/colors.d.ts +8 -0
- package/esm/src/cli/ui/colors.d.ts.map +1 -1
- package/esm/src/cli/ui/colors.js +34 -0
- package/esm/src/cli/ui/dot-matrix.d.ts +8 -0
- package/esm/src/cli/ui/dot-matrix.d.ts.map +1 -1
- package/esm/src/cli/ui/dot-matrix.js +67 -2
- package/esm/src/config/loader.d.ts.map +1 -1
- package/esm/src/config/loader.js +5 -4
- package/esm/src/html/utils.js +2 -2
- 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/import-map/default-import-map.d.ts +1 -11
- package/esm/src/modules/import-map/default-import-map.d.ts.map +1 -1
- package/esm/src/modules/import-map/default-import-map.js +3 -20
- package/esm/src/modules/import-map/loader.d.ts.map +1 -1
- package/esm/src/modules/import-map/loader.js +7 -22
- package/esm/src/modules/import-map/resolver.d.ts.map +1 -1
- package/esm/src/modules/import-map/resolver.js +12 -8
- 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/component-loader.js +2 -0
- 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/loader.d.ts +2 -7
- package/esm/src/modules/react-loader/ssr-module-loader/loader.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/loader.js +68 -38
- package/esm/src/modules/react-loader/ssr-module-loader/types.d.ts +2 -0
- package/esm/src/modules/react-loader/ssr-module-loader/types.d.ts.map +1 -1
- package/esm/src/modules/react-loader/types.d.ts +3 -1
- package/esm/src/modules/react-loader/types.d.ts.map +1 -1
- package/esm/src/modules/react-loader/unified-loader.d.ts.map +1 -1
- package/esm/src/modules/react-loader/unified-loader.js +7 -4
- package/esm/src/modules/server/module-batch-handler.d.ts +2 -0
- package/esm/src/modules/server/module-batch-handler.d.ts.map +1 -1
- package/esm/src/modules/server/module-batch-handler.js +3 -1
- package/esm/src/modules/server/module-server.d.ts +2 -0
- package/esm/src/modules/server/module-server.d.ts.map +1 -1
- package/esm/src/modules/server/module-server.js +4 -2
- package/esm/src/modules/server/ssr-import-rewriter.d.ts.map +1 -1
- package/esm/src/modules/server/ssr-import-rewriter.js +9 -17
- 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/server-loader.d.ts +5 -5
- package/esm/src/react/compat/ssr-adapter/server-loader.d.ts.map +1 -1
- package/esm/src/react/compat/ssr-adapter/server-loader.js +2 -2
- 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/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 +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/Head.d.ts +1 -1
- package/esm/src/react/components/Head.d.ts.map +1 -1
- package/esm/src/react/components/Head.js +7 -3
- 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/Link.d.ts +1 -1
- package/esm/src/react/components/Link.d.ts.map +1 -1
- package/esm/src/react/components/Link.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 +2 -2
- 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/ai/agent-card.d.ts +2 -2
- package/esm/src/react/components/ai/agent-card.d.ts.map +1 -1
- package/esm/src/react/components/ai/agent-card.js +1 -1
- package/esm/src/react/components/ai/chat/components/animations.d.ts +1 -1
- package/esm/src/react/components/ai/chat/components/animations.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/components/animations.js +1 -1
- package/esm/src/react/components/ai/chat/components/empty-state.d.ts +1 -1
- package/esm/src/react/components/ai/chat/components/empty-state.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/components/empty-state.js +1 -1
- package/esm/src/react/components/ai/chat/components/message-actions.d.ts +1 -1
- package/esm/src/react/components/ai/chat/components/message-actions.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/components/message-actions.js +1 -1
- package/esm/src/react/components/ai/chat/components/reasoning.d.ts +1 -1
- package/esm/src/react/components/ai/chat/components/reasoning.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/components/reasoning.js +1 -1
- package/esm/src/react/components/ai/chat/components/tool-ui.d.ts +1 -1
- package/esm/src/react/components/ai/chat/components/tool-ui.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/components/tool-ui.js +1 -1
- package/esm/src/react/components/ai/chat/composition/api.d.ts +5 -4
- package/esm/src/react/components/ai/chat/composition/api.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/composition/api.js +1 -1
- package/esm/src/react/components/ai/chat/index.d.ts +8 -3
- package/esm/src/react/components/ai/chat/index.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/index.js +1 -1
- package/esm/src/react/components/ai/error-boundary.d.ts +1 -1
- package/esm/src/react/components/ai/error-boundary.d.ts.map +1 -1
- package/esm/src/react/components/ai/error-boundary.js +1 -1
- package/esm/src/react/components/ai/icons/index.d.ts +1 -1
- package/esm/src/react/components/ai/icons/index.d.ts.map +1 -1
- package/esm/src/react/components/ai/icons/index.js +1 -1
- package/esm/src/react/components/ai/markdown.d.ts +1 -1
- package/esm/src/react/components/ai/markdown.d.ts.map +1 -1
- package/esm/src/react/components/ai/markdown.js +1 -1
- package/esm/src/react/components/ai/message.d.ts +3 -3
- package/esm/src/react/components/ai/message.d.ts.map +1 -1
- package/esm/src/react/components/ai/message.js +1 -1
- 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/context/index.d.ts +1 -1
- package/esm/src/react/context/index.d.ts.map +1 -1
- package/esm/src/react/context/index.js +1 -1
- 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 +7 -3
- 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/router/index.d.ts +1 -1
- package/esm/src/react/router/index.d.ts.map +1 -1
- package/esm/src/react/router/index.js +1 -1
- 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 +1 -1
- package/esm/src/rendering/client/router.js +1 -1
- package/esm/src/rendering/client/state-bridge.d.ts +1 -1
- package/esm/src/rendering/client/state-bridge.d.ts.map +1 -1
- package/esm/src/rendering/client/state-bridge.js +1 -1
- package/esm/src/rendering/component-handling.d.ts +3 -1
- package/esm/src/rendering/component-handling.d.ts.map +1 -1
- package/esm/src/rendering/component-handling.js +4 -2
- 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/layouts/layout-applicator.d.ts +1 -1
- package/esm/src/rendering/layouts/layout-applicator.d.ts.map +1 -1
- package/esm/src/rendering/layouts/layout-applicator.js +2 -0
- package/esm/src/rendering/layouts/utils/applicator.d.ts +1 -1
- package/esm/src/rendering/layouts/utils/applicator.d.ts.map +1 -1
- package/esm/src/rendering/layouts/utils/component-loader.d.ts +1 -1
- package/esm/src/rendering/layouts/utils/component-loader.d.ts.map +1 -1
- 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/layout.d.ts +1 -1
- package/esm/src/rendering/orchestrator/layout.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/index.d.ts +3 -0
- package/esm/src/rendering/orchestrator/module-loader/index.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/index.js +74 -19
- package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/pipeline.js +2 -0
- 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/page-renderer.d.ts +1 -1
- package/esm/src/rendering/page-renderer.d.ts.map +1 -1
- package/esm/src/rendering/page-rendering.d.ts +1 -1
- package/esm/src/rendering/page-rendering.d.ts.map +1 -1
- 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/rsc-renderer.d.ts +1 -1
- package/esm/src/rendering/rsc/server-renderer/rsc-renderer.d.ts.map +1 -1
- package/esm/src/rendering/rsc/server-renderer/tree-processor.d.ts +1 -1
- package/esm/src/rendering/rsc/server-renderer/tree-processor.d.ts.map +1 -1
- package/esm/src/rendering/rsc/server-renderer/tree-processor.js +4 -2
- 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-renderer.d.ts +1 -1
- package/esm/src/rendering/ssr-renderer.d.ts.map +1 -1
- 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/server/handlers/request/ssr/error-page-fallback.js +1 -1
- package/esm/src/server/handlers/request/ssr/not-found-fallback.js +1 -1
- package/esm/src/transforms/esm/http-bundler.d.ts +15 -4
- package/esm/src/transforms/esm/http-bundler.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-bundler.js +105 -12
- package/esm/src/transforms/esm/http-cache.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache.js +51 -44
- package/esm/src/transforms/esm/import-rewriter.d.ts.map +1 -1
- package/esm/src/transforms/esm/import-rewriter.js +3 -3
- package/esm/src/transforms/esm/package-registry.d.ts +15 -13
- package/esm/src/transforms/esm/package-registry.d.ts.map +1 -1
- package/esm/src/transforms/esm/package-registry.js +45 -32
- package/esm/src/transforms/esm/react-imports.d.ts.map +1 -1
- package/esm/src/transforms/esm/react-imports.js +3 -7
- package/esm/src/transforms/esm/types.d.ts +2 -0
- package/esm/src/transforms/esm/types.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/cache/index.d.ts +14 -0
- package/esm/src/transforms/mdx/esm-module-loader/cache/index.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/cache/index.js +67 -0
- package/esm/src/transforms/mdx/esm-module-loader/loader.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/loader.js +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.d.ts +1 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.js +1 -0
- package/esm/src/transforms/mdx/esm-module-loader/types.d.ts +4 -0
- package/esm/src/transforms/mdx/esm-module-loader/types.d.ts.map +1 -1
- 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 +1 -1
- 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/context.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/context.js +7 -15
- package/esm/src/transforms/pipeline/stages/finalize.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/finalize.js +1 -1
- package/esm/src/types/app.d.ts +1 -1
- package/esm/src/types/app.d.ts.map +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 +1 -1
- package/esm/src/types/index.d.ts.map +1 -1
- package/esm/src/utils/constants/cdn.d.ts.map +1 -1
- package/esm/src/utils/constants/cdn.js +22 -11
- package/esm/src/utils/hash-utils.d.ts +2 -0
- package/esm/src/utils/hash-utils.d.ts.map +1 -1
- package/esm/src/utils/hash-utils.js +4 -0
- 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 +2 -1
- package/src/deno.js +8 -9
- package/src/deps/esm.sh/@types/react-dom@19.1.11/X-ZGNzc3R5cGVAMy4yLjMKZXJlYWN0/client.d.ts +105 -0
- package/src/deps/esm.sh/@types/react-dom@19.1.11/X-ZGNzc3R5cGVAMy4yLjMKZXJlYWN0/server.d.ts +162 -0
- package/src/deps/esm.sh/@types/react@19.1.17/X-ZGNzc3R5cGVAMy4yLjM/global.d.ts +165 -0
- package/src/deps/esm.sh/@types/react@19.1.17/X-ZGNzc3R5cGVAMy4yLjM/index.d.ts +4267 -0
- package/src/deps/esm.sh/@types/react@19.1.17/X-ZGNzc3R5cGVAMy4yLjMKZXJlYWN0/global.d.ts +165 -0
- package/src/deps/esm.sh/@types/react@19.1.17/X-ZGNzc3R5cGVAMy4yLjMKZXJlYWN0/index.d.ts +4267 -0
- package/src/deps/esm.sh/@types/react@19.1.17/X-ZGNzc3R5cGVAMy4yLjMKZXJlYWN0/jsx-runtime.d.ts +36 -0
- package/src/deps/esm.sh/@types/scheduler@0.26.0/index.d.ts +30 -0
- package/src/deps/esm.sh/csstype@3.2.3/index.d.ts +22569 -0
- package/src/deps/esm.sh/react-dom@19.1.1/client.d.ts +105 -0
- package/src/deps/esm.sh/react-dom@19.1.1/client.js +5 -0
- package/src/deps/esm.sh/react-dom@19.1.1/server.d.ts +162 -0
- package/src/deps/esm.sh/react-dom@19.1.1/server.js +5 -0
- package/src/deps/esm.sh/react@19.1.1/jsx-runtime.d.ts +36 -0
- package/src/deps/esm.sh/react@19.1.1/jsx-runtime.js +3 -0
- package/src/deps/esm.sh/react@19.1.1.d.ts +4267 -0
- package/src/deps/esm.sh/react@19.1.1.js +3 -0
- package/src/deps/esm.sh/scheduler@^0.26.0.d.ts +30 -0
- package/src/deps/esm.sh/scheduler@^0.26.0.js +3 -0
- package/src/proxy/main.ts +471 -0
- package/src/src/agent/react/use-agent.ts +1 -1
- package/src/src/agent/react/use-chat/use-chat.ts +1 -1
- package/src/src/agent/react/use-completion.ts +1 -1
- package/src/src/agent/react/use-streaming.ts +1 -1
- package/src/src/agent/react/use-voice-input.ts +1 -1
- package/src/src/cli/app/components/list-select.ts +2 -2
- package/src/src/cli/app/index.ts +34 -35
- package/src/src/cli/app/state.ts +7 -0
- package/src/src/cli/app/views/dashboard.ts +46 -60
- package/src/src/cli/app/views/startup.ts +132 -0
- package/src/src/cli/commands/init/config-generator.ts +1 -1
- package/src/src/cli/index/arg-parser.ts +1 -0
- package/src/src/cli/index/command-router.ts +57 -40
- package/src/src/cli/index/types.ts +5 -0
- package/src/src/cli/ui/colors.ts +37 -0
- package/src/src/cli/ui/dot-matrix.ts +77 -1
- package/src/src/config/loader.ts +5 -4
- package/src/src/html/utils.ts +2 -2
- package/src/src/modules/component-registry/registry.ts +1 -1
- package/src/src/modules/import-map/default-import-map.ts +3 -25
- package/src/src/modules/import-map/loader.ts +7 -23
- package/src/src/modules/import-map/resolver.ts +13 -8
- package/src/src/modules/react-loader/component-loader.ts +3 -1
- package/src/src/modules/react-loader/extract-component.ts +1 -1
- package/src/src/modules/react-loader/ssr-module-loader/loader.ts +95 -68
- package/src/src/modules/react-loader/ssr-module-loader/types.ts +2 -0
- package/src/src/modules/react-loader/types.ts +3 -1
- package/src/src/modules/react-loader/unified-loader.ts +7 -4
- package/src/src/modules/server/module-batch-handler.ts +7 -0
- package/src/src/modules/server/module-server.ts +6 -1
- package/src/src/modules/server/ssr-import-rewriter.ts +9 -17
- package/src/src/react/compat/hooks-adapter.ts +1 -1
- package/src/src/react/compat/ssr-adapter/response-builder.ts +1 -1
- package/src/src/react/compat/ssr-adapter/server-loader.ts +10 -10
- package/src/src/react/compat/ssr-adapter/stream-renderer.ts +2 -2
- package/src/src/react/compat/ssr-adapter/string-renderer.ts +3 -3
- package/src/src/react/compat/version-detector/feature-detector.ts +1 -1
- package/src/src/react/components/AppWrapper.tsx +1 -1
- package/src/src/react/components/Head.tsx +7 -3
- package/src/src/react/components/LayoutComponent.tsx +2 -2
- package/src/src/react/components/Link.tsx +1 -1
- package/src/src/react/components/MDXProvider.tsx +2 -2
- package/src/src/react/components/ProviderComponent.tsx +2 -2
- package/src/src/react/components/ai/agent-card.tsx +1 -1
- package/src/src/react/components/ai/chat/components/animations.tsx +1 -1
- package/src/src/react/components/ai/chat/components/empty-state.tsx +1 -1
- package/src/src/react/components/ai/chat/components/message-actions.tsx +1 -1
- package/src/src/react/components/ai/chat/components/reasoning.tsx +1 -1
- package/src/src/react/components/ai/chat/components/tool-ui.tsx +1 -1
- package/src/src/react/components/ai/chat/composition/api.tsx +1 -1
- package/src/src/react/components/ai/chat/index.tsx +1 -1
- package/src/src/react/components/ai/error-boundary.tsx +1 -1
- package/src/src/react/components/ai/icons/index.ts +1 -1
- package/src/src/react/components/ai/markdown.tsx +1 -1
- package/src/src/react/components/ai/message.tsx +1 -1
- package/src/src/react/components/optimized-image/OptimizedBackgroundImage.tsx +1 -1
- package/src/src/react/components/optimized-image/OptimizedImage.tsx +1 -1
- package/src/src/react/components/optimized-image/SimpleOptimizedImage.tsx +1 -1
- package/src/src/react/components/optimized-image/utils.tsx +1 -1
- package/src/src/react/context/index.ts +1 -1
- package/src/src/react/fonts/index.ts +1 -1
- package/src/src/react/primitives/agent-primitives.tsx +1 -1
- package/src/src/react/primitives/chat-container.tsx +1 -1
- package/src/src/react/primitives/input-box.tsx +5 -3
- package/src/src/react/primitives/message-list.tsx +1 -1
- package/src/src/react/primitives/tool-primitives.tsx +1 -1
- package/src/src/react/router/index.ts +1 -1
- package/src/src/rendering/app-reserved.ts +1 -1
- package/src/src/rendering/client/router.ts +2 -2
- package/src/src/rendering/client/state-bridge.ts +2 -2
- package/src/src/rendering/component-handling.ts +7 -1
- package/src/src/rendering/element-validator/element-inspector.ts +1 -1
- package/src/src/rendering/element-validator/element-normalizer.ts +1 -1
- package/src/src/rendering/element-validator/primitive-checks.ts +1 -1
- package/src/src/rendering/element-validator/validator-core.ts +1 -1
- package/src/src/rendering/layouts/layout-applicator.ts +5 -6
- package/src/src/rendering/layouts/utils/applicator.ts +1 -1
- package/src/src/rendering/layouts/utils/component-loader.ts +1 -1
- package/src/src/rendering/layouts/utils/ensure-valid-child.ts +1 -1
- package/src/src/rendering/orchestrator/layout.ts +1 -1
- package/src/src/rendering/orchestrator/module-loader/index.ts +91 -20
- package/src/src/rendering/orchestrator/pipeline.ts +2 -0
- package/src/src/rendering/orchestrator/ssr-orchestrator.ts +2 -2
- package/src/src/rendering/page-renderer.ts +1 -1
- package/src/src/rendering/page-rendering.ts +1 -1
- package/src/src/rendering/rsc/server-renderer/component-detector.ts +1 -1
- package/src/src/rendering/rsc/server-renderer/rsc-renderer.ts +1 -1
- package/src/src/rendering/rsc/server-renderer/tree-processor.ts +14 -4
- package/src/src/rendering/snippet-renderer.ts +2 -2
- package/src/src/rendering/ssr/component-registry.ts +1 -1
- package/src/src/rendering/ssr-renderer.ts +1 -1
- package/src/src/rendering/utils/react-helpers.ts +1 -1
- package/src/src/server/build-app-route-renderer.ts +2 -2
- package/src/src/server/handlers/request/rsc/handlers/render-handler.ts +1 -1
- package/src/src/server/handlers/request/ssr/error-page-fallback.ts +2 -2
- package/src/src/server/handlers/request/ssr/not-found-fallback.ts +1 -1
- package/src/src/transforms/esm/http-bundler.ts +101 -11
- package/src/src/transforms/esm/http-cache.ts +53 -45
- package/src/src/transforms/esm/import-rewriter.ts +5 -3
- package/src/src/transforms/esm/package-registry.ts +46 -32
- package/src/src/transforms/esm/react-imports.ts +3 -7
- package/src/src/transforms/esm/types.ts +2 -0
- package/src/src/transforms/mdx/esm-module-loader/cache/index.ts +84 -0
- package/src/src/transforms/mdx/esm-module-loader/loader.ts +2 -1
- package/src/src/transforms/mdx/esm-module-loader/module-fetcher/index.ts +2 -1
- package/src/src/transforms/mdx/esm-module-loader/types.ts +4 -0
- package/src/src/transforms/mdx/index.ts +1 -1
- package/src/src/transforms/mdx/mdx-cache-adapter.ts +1 -1
- package/src/src/transforms/mdx/module-loader/types.ts +1 -1
- package/src/src/transforms/mdx/types.ts +2 -2
- package/src/src/transforms/pipeline/context.ts +7 -18
- package/src/src/transforms/pipeline/stages/finalize.ts +6 -1
- package/src/src/transforms/plugins/babel-node-positions.ts +2 -2
- package/src/src/types/app.ts +1 -1
- package/src/src/types/global-guards.ts +1 -1
- package/src/src/types/index.ts +1 -1
- package/src/src/utils/constants/cdn.ts +21 -12
- package/src/src/utils/hash-utils.ts +5 -0
- package/src/src/workflow/react/use-approval.ts +1 -1
- package/src/src/workflow/react/use-workflow-list.ts +1 -1
- package/src/src/workflow/react/use-workflow-start.ts +1 -1
- package/src/src/workflow/react/use-workflow.ts +1 -1
|
@@ -170,47 +170,62 @@ export async function routeCommand(args) {
|
|
|
170
170
|
break;
|
|
171
171
|
case "preview":
|
|
172
172
|
case "serve": {
|
|
173
|
-
|
|
174
|
-
const { runtime } = await import("../../platform/adapters/detect.js");
|
|
175
|
-
const adapter = await runtime.get();
|
|
176
|
-
const { startUniversalServer } = await import("../../server/production-server.js");
|
|
177
|
-
const projectDir = cwd();
|
|
173
|
+
const mode = (args.mode || args.m || "renderer");
|
|
178
174
|
const port = args.port ?? DEFAULT_DEV_SERVER_PORT;
|
|
179
175
|
const bindAddress = String(args.hostname || args.host || "0.0.0.0");
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
176
|
+
if (mode === "proxy") {
|
|
177
|
+
// Proxy-only mode: run OAuth token proxy
|
|
178
|
+
showLogo();
|
|
179
|
+
cliLogger.info(`Starting proxy server on ${bindAddress}:${port}`);
|
|
180
|
+
// Set environment variables for proxy
|
|
181
|
+
const { setEnv } = await import("../../platform/compat/process.js");
|
|
182
|
+
setEnv("PORT", String(port));
|
|
183
|
+
setEnv("HOST", bindAddress);
|
|
184
|
+
// Import and run proxy main
|
|
185
|
+
await import("../../../proxy/main.js");
|
|
186
|
+
}
|
|
187
|
+
else if (mode === "renderer" || mode === "combined") {
|
|
188
|
+
// Renderer mode: run SSR production server
|
|
189
|
+
showLogo();
|
|
190
|
+
const { runtime } = await import("../../platform/adapters/detect.js");
|
|
191
|
+
const adapter = await runtime.get();
|
|
192
|
+
const { startUniversalServer } = await import("../../server/production-server.js");
|
|
193
|
+
const projectDir = cwd();
|
|
194
|
+
const debug = Boolean(args.debug);
|
|
195
|
+
const shutdownController = new AbortController();
|
|
196
|
+
const server = await startUniversalServer({
|
|
197
|
+
projectDir,
|
|
198
|
+
port,
|
|
199
|
+
bindAddress,
|
|
200
|
+
debug,
|
|
201
|
+
adapter,
|
|
202
|
+
signal: shutdownController.signal,
|
|
203
|
+
});
|
|
204
|
+
await server.ready;
|
|
205
|
+
let shuttingDown = false;
|
|
206
|
+
const shutdown = async (signal) => {
|
|
207
|
+
if (shuttingDown)
|
|
208
|
+
return;
|
|
209
|
+
shuttingDown = true;
|
|
210
|
+
cliLogger.info(`Received ${signal}, shutting down production server...`);
|
|
211
|
+
try {
|
|
212
|
+
shutdownController.abort();
|
|
213
|
+
await server.stop();
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
cliLogger.warn("Error while shutting down production server:", error);
|
|
217
|
+
}
|
|
218
|
+
finally {
|
|
219
|
+
exitProcess(0);
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
registerTerminationSignals((signal) => {
|
|
223
|
+
void shutdown(signal);
|
|
224
|
+
});
|
|
225
|
+
await new Promise(() => {
|
|
226
|
+
/* never resolve */
|
|
227
|
+
});
|
|
228
|
+
}
|
|
214
229
|
break;
|
|
215
230
|
}
|
|
216
231
|
case "doctor":
|
|
@@ -16,6 +16,7 @@ export interface BuildCommandArgs {
|
|
|
16
16
|
export interface GenerateCommandArgs {
|
|
17
17
|
_: (string | number)[];
|
|
18
18
|
}
|
|
19
|
+
export type ServerMode = "combined" | "proxy" | "renderer";
|
|
19
20
|
export interface ParsedArgs {
|
|
20
21
|
_: (string | number)[];
|
|
21
22
|
port?: number;
|
|
@@ -39,6 +40,9 @@ export interface ParsedArgs {
|
|
|
39
40
|
j?: boolean;
|
|
40
41
|
with?: string[];
|
|
41
42
|
w?: string[];
|
|
43
|
+
/** Server mode: combined (default), proxy, or renderer */
|
|
44
|
+
mode?: ServerMode;
|
|
45
|
+
m?: ServerMode;
|
|
42
46
|
[key: string]: unknown;
|
|
43
47
|
}
|
|
44
48
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/cli/index/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/cli/index/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,CAAC,CAAC,EAAE,OAAO,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IACb,0DAA0D;IAC1D,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,CAAC,CAAC,EAAE,UAAU,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
|
|
@@ -303,13 +303,13 @@ declare const createProjectInput: z.ZodObject<{
|
|
|
303
303
|
}, "strip", z.ZodTypeAny, {
|
|
304
304
|
name: string;
|
|
305
305
|
template: "app" | "docs" | "ai" | "blog" | "minimal";
|
|
306
|
-
integrations?: string[] | undefined;
|
|
307
306
|
directory?: string | undefined;
|
|
307
|
+
integrations?: string[] | undefined;
|
|
308
308
|
}, {
|
|
309
309
|
name: string;
|
|
310
310
|
template?: "app" | "docs" | "ai" | "blog" | "minimal" | undefined;
|
|
311
|
-
integrations?: string[] | undefined;
|
|
312
311
|
directory?: string | undefined;
|
|
312
|
+
integrations?: string[] | undefined;
|
|
313
313
|
}>;
|
|
314
314
|
type CreateProjectInput = z.infer<typeof createProjectInput>;
|
|
315
315
|
interface CreateProjectResult {
|
|
@@ -20,4 +20,12 @@ export declare const successBold: (text: string) => string;
|
|
|
20
20
|
export declare const errorBold: (text: string) => string;
|
|
21
21
|
export { RESET as reset };
|
|
22
22
|
export declare function animatedMatrix(frame: number): string;
|
|
23
|
+
/**
|
|
24
|
+
* Apply shimmer effect to text - creates a wave of brightness moving across
|
|
25
|
+
* @param text The text to shimmer
|
|
26
|
+
* @param frame Current animation frame (increments over time)
|
|
27
|
+
* @param waveWidth Width of the bright wave (default: 3 characters)
|
|
28
|
+
* @returns Text with shimmer effect applied
|
|
29
|
+
*/
|
|
30
|
+
export declare function shimmer(text: string, frame: number, waveWidth?: number): string;
|
|
23
31
|
//# sourceMappingURL=colors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../../src/src/cli/ui/colors.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AAE7D,wBAAgB,aAAa,IAAI,UAAU,CA+B1C;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AASD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAgED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGzD;AAMD,eAAO,MAAM,KAAK,SAJsC,MAAM,WAIxB,CAAC;AACvC,eAAO,MAAM,OAAO,SAJsC,MAAM,WAItB,CAAC;AAE3C,eAAO,MAAM,OAAO,SAPoC,MAAM,WAOvB,CAAC;AACxC,eAAO,MAAM,KAAK,SARsC,MAAM,WAQzB,CAAC;AACtC,eAAO,MAAM,OAAO,SAToC,MAAM,WASvB,CAAC;AACxC,eAAO,MAAM,KAAK,SAVsC,MAAM,WAUvB,CAAC;AAExC,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,WAA+B,CAAC;AACjE,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,WAA+B,CAAC;AAChE,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,WAA+B,CAAC;AACnE,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,WAA+B,CAAC;AAEtE,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,WAAsB,CAAC;AAC7D,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,WAAwB,CAAC;AACjE,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,WAAsB,CAAC;AAE7D,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,CAAC;AAS1B,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGpD"}
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../../src/src/cli/ui/colors.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,KAAK,GAAG,IAAI,GAAG,MAAM,CAAC;AAE7D,wBAAgB,aAAa,IAAI,UAAU,CA+B1C;AAED,wBAAgB,cAAc,IAAI,OAAO,CAExC;AASD,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAgED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGzD;AAMD,eAAO,MAAM,KAAK,SAJsC,MAAM,WAIxB,CAAC;AACvC,eAAO,MAAM,OAAO,SAJsC,MAAM,WAItB,CAAC;AAE3C,eAAO,MAAM,OAAO,SAPoC,MAAM,WAOvB,CAAC;AACxC,eAAO,MAAM,KAAK,SARsC,MAAM,WAQzB,CAAC;AACtC,eAAO,MAAM,OAAO,SAToC,MAAM,WASvB,CAAC;AACxC,eAAO,MAAM,KAAK,SAVsC,MAAM,WAUvB,CAAC;AAExC,eAAO,MAAM,IAAI,GAAI,MAAM,MAAM,WAA+B,CAAC;AACjE,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,WAA+B,CAAC;AAChE,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,WAA+B,CAAC;AACnE,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,WAA+B,CAAC;AAEtE,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,WAAsB,CAAC;AAC7D,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,WAAwB,CAAC;AACjE,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,WAAsB,CAAC;AAE7D,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,CAAC;AAS1B,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,MAAM,CA4B1E"}
|
package/esm/src/cli/ui/colors.js
CHANGED
|
@@ -132,3 +132,37 @@ export function animatedMatrix(frame) {
|
|
|
132
132
|
const state = MATRIX_STATES[frame % MATRIX_STATES.length] ?? ["●", "○", "○"];
|
|
133
133
|
return state.map((dot) => (dot === "●" ? brand(dot) : muted(dot))).join("");
|
|
134
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Apply shimmer effect to text - creates a wave of brightness moving across
|
|
137
|
+
* @param text The text to shimmer
|
|
138
|
+
* @param frame Current animation frame (increments over time)
|
|
139
|
+
* @param waveWidth Width of the bright wave (default: 3 characters)
|
|
140
|
+
* @returns Text with shimmer effect applied
|
|
141
|
+
*/
|
|
142
|
+
export function shimmer(text, frame, waveWidth = 3) {
|
|
143
|
+
// Brand orange gradient: bright → normal → dim
|
|
144
|
+
const bright = (char) => applyColor(char, 255, 180, 140, false); // Brighter orange
|
|
145
|
+
const normal = (char) => applyColor(char, 252, 143, 93, false); // Brand orange
|
|
146
|
+
const dimmed = (char) => applyColor(char, 180, 100, 65, false); // Dimmer orange
|
|
147
|
+
const len = text.length;
|
|
148
|
+
const wavePos = frame % (len + waveWidth * 2);
|
|
149
|
+
let result = "";
|
|
150
|
+
for (let i = 0; i < len; i++) {
|
|
151
|
+
const char = text[i];
|
|
152
|
+
const distFromWave = i - (wavePos - waveWidth);
|
|
153
|
+
if (distFromWave >= 0 && distFromWave < waveWidth) {
|
|
154
|
+
// In the bright wave
|
|
155
|
+
const intensity = 1 - Math.abs(distFromWave - waveWidth / 2) / (waveWidth / 2);
|
|
156
|
+
if (intensity > 0.6) {
|
|
157
|
+
result += bright(char);
|
|
158
|
+
}
|
|
159
|
+
else {
|
|
160
|
+
result += normal(char);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
result += dimmed(char);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return result;
|
|
168
|
+
}
|
|
@@ -48,6 +48,14 @@ export declare function getAgentFace(options?: DotMatrixOptions): string;
|
|
|
48
48
|
* Text lines appear to the right of the face, vertically centered
|
|
49
49
|
*/
|
|
50
50
|
export declare function getAgentFaceWithText(textLines: string[], options?: DotMatrixOptions): string;
|
|
51
|
+
/**
|
|
52
|
+
* Get the agent face with spinning blade animation
|
|
53
|
+
* Orange and purple dots rotate around the logo
|
|
54
|
+
* @param textLines Text to show next to the face
|
|
55
|
+
* @param frame Animation frame (0-15 for full rotation)
|
|
56
|
+
* @param options Dot matrix options
|
|
57
|
+
*/
|
|
58
|
+
export declare function getSpinningAgentFace(textLines: string[], frame: number, options?: DotMatrixOptions): string;
|
|
51
59
|
/**
|
|
52
60
|
* Animated dot matrix display with spinner support
|
|
53
61
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dot-matrix.d.ts","sourceRoot":"","sources":["../../../../src/src/cli/ui/dot-matrix.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,UAAU,EAAE,MAAM,EAAE,EAQhC,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAiB9C,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"dot-matrix.d.ts","sourceRoot":"","sources":["../../../../src/src/cli/ui/dot-matrix.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,UAAU,EAAE,MAAM,EAAE,EAQhC,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAiB9C,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAqHD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAE3F;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,MAAM,EAAE,EAAE,CAWnF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,SAAI,GAAG,MAAM,EAAE,EAAE,EAAE,CAElE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAEnE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,GAAE,gBAAqB,GAC7B,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,gBAAqB,GAC7B,MAAM,CAER;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAuD;IACzE,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,aAAa,CAAe;gBAExB,OAAO,GAAE,gBAAqB;IAM1C;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;IAI3C;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,UAAU,SAAK,GAAG,IAAI;IAerE;;OAEG;IACH,oBAAoB,CAClB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAChC,UAAU,SAAK,GACd,IAAI;IAeP;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B5F;;;OAGG;IACH,kBAAkB,CAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAChC,UAAU,SAAK,GACd,OAAO,CAAC,IAAI,CAAC;IA2BhB;;OAEG;IACH,WAAW,IAAI,IAAI;IAMnB;;OAEG;IACH,IAAI,IAAI,IAAI;IAMZ;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI;CAGtC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM,CAEjF;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
|
@@ -52,6 +52,13 @@ const COMPACT_OPTIONS = {
|
|
|
52
52
|
spacing: " ",
|
|
53
53
|
};
|
|
54
54
|
const RESET = "\x1b[0m";
|
|
55
|
+
// Colors for spinning animation - shades of orange
|
|
56
|
+
const SPIN_COLORS = {
|
|
57
|
+
bright: "\x1b[38;2;255;165;120m", // Bright orange (leading edge, toned down)
|
|
58
|
+
orange: "\x1b[38;2;252;143;93m", // Brand orange
|
|
59
|
+
mid: "\x1b[38;2;200;110;70m", // Mid orange (trailing)
|
|
60
|
+
dim: "\x1b[38;2;140;80;50m", // Dim orange/brown
|
|
61
|
+
};
|
|
55
62
|
function resolveOptions(options) {
|
|
56
63
|
if (options.compact)
|
|
57
64
|
return { ...DEFAULT_OPTIONS, ...COMPACT_OPTIONS, ...options };
|
|
@@ -65,8 +72,56 @@ function renderPattern(pattern, opts) {
|
|
|
65
72
|
return opts.prefix + dots.join(opts.spacing);
|
|
66
73
|
});
|
|
67
74
|
}
|
|
68
|
-
|
|
69
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Render the pattern with a spinning blade effect
|
|
77
|
+
* The blade sweeps across the lit dots, creating orange → purple gradient
|
|
78
|
+
*/
|
|
79
|
+
function renderSpinningPattern(pattern, frame, opts) {
|
|
80
|
+
const centerRow = 3;
|
|
81
|
+
const centerCol = 3;
|
|
82
|
+
const totalFrames = 16; // Full rotation in 16 frames
|
|
83
|
+
const bladeAngle = ((frame % totalFrames) / totalFrames) * Math.PI * 2;
|
|
84
|
+
return pattern.map((row, rowIdx) => {
|
|
85
|
+
const dots = row.map((dot, colIdx) => {
|
|
86
|
+
if (dot !== 1) {
|
|
87
|
+
return `${opts.offColor}${opts.offChar}${RESET}`;
|
|
88
|
+
}
|
|
89
|
+
// Calculate angle from center to this dot
|
|
90
|
+
const dy = rowIdx - centerRow;
|
|
91
|
+
const dx = colIdx - centerCol;
|
|
92
|
+
let dotAngle = Math.atan2(dy, dx);
|
|
93
|
+
if (dotAngle < 0)
|
|
94
|
+
dotAngle += Math.PI * 2;
|
|
95
|
+
// Calculate angular distance from the blade
|
|
96
|
+
let angleDiff = dotAngle - bladeAngle;
|
|
97
|
+
if (angleDiff < 0)
|
|
98
|
+
angleDiff += Math.PI * 2;
|
|
99
|
+
if (angleDiff > Math.PI)
|
|
100
|
+
angleDiff = Math.PI * 2 - angleDiff;
|
|
101
|
+
// Color based on angular distance from blade
|
|
102
|
+
const normalizedDiff = angleDiff / Math.PI; // 0 = at blade, 1 = opposite
|
|
103
|
+
let color;
|
|
104
|
+
if (normalizedDiff < 0.15) {
|
|
105
|
+
color = SPIN_COLORS.bright; // Leading edge - brightest orange
|
|
106
|
+
}
|
|
107
|
+
else if (normalizedDiff < 0.35) {
|
|
108
|
+
color = SPIN_COLORS.orange; // Near blade - brand orange
|
|
109
|
+
}
|
|
110
|
+
else if (normalizedDiff < 0.6) {
|
|
111
|
+
color = SPIN_COLORS.mid; // Trailing - mid orange
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
color = SPIN_COLORS.dim; // Far from blade - dim orange
|
|
115
|
+
}
|
|
116
|
+
return `${color}${opts.litChar}${RESET}`;
|
|
117
|
+
});
|
|
118
|
+
return opts.prefix + dots.join(opts.spacing);
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
function renderPatternWithText(pattern, textLines, opts, spinFrame) {
|
|
122
|
+
const faceLines = spinFrame !== undefined
|
|
123
|
+
? renderSpinningPattern(pattern, spinFrame, opts)
|
|
124
|
+
: renderPattern(pattern, opts);
|
|
70
125
|
const faceHeight = faceLines.length;
|
|
71
126
|
const startLine = Math.floor((faceHeight - textLines.length) / 2);
|
|
72
127
|
const result = faceLines.map((line, i) => {
|
|
@@ -120,6 +175,16 @@ export function getAgentFace(options = {}) {
|
|
|
120
175
|
export function getAgentFaceWithText(textLines, options = {}) {
|
|
121
176
|
return renderPatternWithText(AGENT_FACE, textLines, resolveOptions(options));
|
|
122
177
|
}
|
|
178
|
+
/**
|
|
179
|
+
* Get the agent face with spinning blade animation
|
|
180
|
+
* Orange and purple dots rotate around the logo
|
|
181
|
+
* @param textLines Text to show next to the face
|
|
182
|
+
* @param frame Animation frame (0-15 for full rotation)
|
|
183
|
+
* @param options Dot matrix options
|
|
184
|
+
*/
|
|
185
|
+
export function getSpinningAgentFace(textLines, frame, options = {}) {
|
|
186
|
+
return renderPatternWithText(AGENT_FACE, textLines, resolveOptions(options), frame);
|
|
187
|
+
}
|
|
123
188
|
/**
|
|
124
189
|
* Animated dot matrix display with spinner support
|
|
125
190
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/src/config/loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/src/config/loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAgBnE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAqSlD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,SAAS,CACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,CAAC,CAsE1B;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAI9E"}
|
package/esm/src/config/loader.js
CHANGED
|
@@ -6,7 +6,8 @@ import { isBun } from "../platform/compat/runtime.js";
|
|
|
6
6
|
import { serverLogger } from "../utils/logger/logger.js";
|
|
7
7
|
import { getReactImportMap, REACT_DEFAULT_VERSION } from "../utils/constants/cdn.js";
|
|
8
8
|
import { DEFAULT_CACHE_DIR } from "../utils/constants/server.js";
|
|
9
|
-
|
|
9
|
+
// React version is now passed per-request via TransformOptions.reactVersion
|
|
10
|
+
// No longer using global singleton: import { setReactVersion } from "#veryfront/transforms/esm/package-registry.ts";
|
|
10
11
|
import { buildConfigCacheKey } from "../cache/keys.js";
|
|
11
12
|
import { DEFAULT_PORT } from "./defaults.js";
|
|
12
13
|
import { createFileSystem } from "../platform/compat/fs.js";
|
|
@@ -174,10 +175,10 @@ function validateAndCacheConfig(userConfig, cacheKey) {
|
|
|
174
175
|
validateCorsConfig(userConfig);
|
|
175
176
|
validateConfigShape(userConfig);
|
|
176
177
|
const merged = mergeConfigs(userConfig);
|
|
177
|
-
//
|
|
178
|
+
// React version is now passed per-request via TransformOptions.reactVersion
|
|
179
|
+
// Config stores it at merged.react.version, accessed wherever needed
|
|
178
180
|
if (merged.react?.version) {
|
|
179
|
-
|
|
180
|
-
serverLogger.debug("[CONFIG] React version set from config", { version: merged.react.version });
|
|
181
|
+
serverLogger.debug("[CONFIG] React version from config", { version: merged.react.version });
|
|
181
182
|
}
|
|
182
183
|
configCacheByProject.set(cacheKey, { revision: cacheRevision, config: merged });
|
|
183
184
|
return merged;
|
package/esm/src/html/utils.js
CHANGED
|
@@ -62,8 +62,8 @@ const PLATFORM_UTILITIES = {
|
|
|
62
62
|
const CDN_URL_TEMPLATES = {
|
|
63
63
|
"esm.sh": {
|
|
64
64
|
react: (v) => `https://esm.sh/react@${v}?target=es2022`,
|
|
65
|
-
reactDom: (v) => `https://esm.sh/react-dom@${v}?target=es2022`,
|
|
66
|
-
reactDomClient: (v) => `https://esm.sh/react-dom@${v}/client?target=es2022`,
|
|
65
|
+
reactDom: (v) => `https://esm.sh/react-dom@${v}?external=react&target=es2022`,
|
|
66
|
+
reactDomClient: (v) => `https://esm.sh/react-dom@${v}/client?external=react&target=es2022`,
|
|
67
67
|
jsxRuntime: (v) => `https://esm.sh/react@${v}/jsx-runtime?target=es2022`,
|
|
68
68
|
jsxDevRuntime: (v) => `https://esm.sh/react@${v}/jsx-dev-runtime?target=es2022`,
|
|
69
69
|
veryfrontAgentReact: (v) => `https://esm.sh/veryfront@${v}/agent/react?external=react,react-dom&target=es2022`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/component-registry/registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,KAAK,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/component-registry/registry.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,KAAK,KAAK,MAAM,sCAAsC,CAAC;AAGnE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/F,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,qBAAa,iBAAiB;IAOhB,OAAO,CAAC,OAAO;IAN3B,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,aAAa,CAAW;IAChC,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,WAAW,CAAS;gBAER,OAAO,EAAE,wBAAwB;IAUrD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAcX,iBAAiB;YAsBjB,aAAa;IAmC3B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IA4B1D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUxB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAI5C,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;IAIpC;;OAEG;IACH,SAAS,IAAI,eAAe,GAAG,SAAS;IAIxC;;OAEG;IACH,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAWlE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAUrD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI1B,KAAK,IAAI,IAAI;IAMb,iBAAiB,IAAI,MAAM,EAAE;IAIvB,cAAc,IAAI,OAAO,CAC7B,KAAK,CAAC;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CACH;CA8BF"}
|
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
import type { ImportMapConfig } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Get React import map for SSR in Deno.
|
|
4
|
-
* Uses npm: specifiers which Deno handles natively with automatic deduplication.
|
|
5
|
-
* See: https://deno.com/blog/not-using-npm-specifiers-doing-it-wrong
|
|
6
|
-
*
|
|
7
|
-
* This replaces the previous shared-*.ts approach which required manual re-exports.
|
|
8
|
-
*/
|
|
9
|
-
export declare function getDenoReactImportMap(): Record<string, string>;
|
|
10
2
|
/**
|
|
11
3
|
* Get the default import map for SSR transforms.
|
|
12
|
-
*
|
|
13
|
-
* For Deno SSR: Uses npm: specifiers with automatic deduplication.
|
|
14
|
-
* For other runtimes: Uses esm.sh URLs with external=react.
|
|
4
|
+
* Uses esm.sh URLs consistently (NO npm: specifiers per plan requirements).
|
|
15
5
|
*/
|
|
16
6
|
export declare function getDefaultImportMap(): ImportMapConfig;
|
|
17
7
|
//# sourceMappingURL=default-import-map.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-import-map.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/import-map/default-import-map.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"default-import-map.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/import-map/default-import-map.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA0ClD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,CAOrD"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as dntShim from "../../../_dnt.shims.js";
|
|
2
|
-
import {
|
|
3
|
-
import { getDenoNpmReactMap, getReactImportMap, } from "../../transforms/esm/package-registry.js";
|
|
2
|
+
import { getReactImportMap } from "../../transforms/esm/package-registry.js";
|
|
4
3
|
function ensureTrailingSlash(path) {
|
|
5
4
|
return path.endsWith("/") ? path : `${path}/`;
|
|
6
5
|
}
|
|
@@ -34,30 +33,14 @@ function getVeryfrontSsrImportMap() {
|
|
|
34
33
|
"veryfront/react/fonts": fonts,
|
|
35
34
|
};
|
|
36
35
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Get React import map for SSR in Deno.
|
|
39
|
-
* Uses npm: specifiers which Deno handles natively with automatic deduplication.
|
|
40
|
-
* See: https://deno.com/blog/not-using-npm-specifiers-doing-it-wrong
|
|
41
|
-
*
|
|
42
|
-
* This replaces the previous shared-*.ts approach which required manual re-exports.
|
|
43
|
-
*/
|
|
44
|
-
export function getDenoReactImportMap() {
|
|
45
|
-
return getDenoNpmReactMap();
|
|
46
|
-
}
|
|
47
36
|
/**
|
|
48
37
|
* Get the default import map for SSR transforms.
|
|
49
|
-
*
|
|
50
|
-
* For Deno SSR: Uses npm: specifiers with automatic deduplication.
|
|
51
|
-
* For other runtimes: Uses esm.sh URLs with external=react.
|
|
38
|
+
* Uses esm.sh URLs consistently (NO npm: specifiers per plan requirements).
|
|
52
39
|
*/
|
|
53
40
|
export function getDefaultImportMap() {
|
|
54
|
-
const reactMap =
|
|
41
|
+
const reactMap = getReactImportMap();
|
|
55
42
|
const veryfrontMap = getVeryfrontSsrImportMap();
|
|
56
|
-
// For Deno SSR, add scopes so that esm.sh modules with external=react
|
|
57
|
-
// resolve their bare `react` imports to npm: specifiers.
|
|
58
|
-
const scopes = isDeno ? { "https://esm.sh/": getDenoReactImportMap() } : undefined;
|
|
59
43
|
return {
|
|
60
44
|
imports: { ...veryfrontMap, ...reactMap },
|
|
61
|
-
scopes,
|
|
62
45
|
};
|
|
63
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/import-map/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/import-map/loader.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAqDlD,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,eAAe,CAAC,CA+C1B"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { rendererLogger as logger } from "../../utils/index.js";
|
|
2
2
|
import { dirname, join } from "../../platform/compat/path/index.js";
|
|
3
3
|
import { getConfig } from "../../config/index.js";
|
|
4
|
-
import { getDefaultImportMap
|
|
4
|
+
import { getDefaultImportMap } from "./default-import-map.js";
|
|
5
5
|
import { mergeImportMaps } from "./merger.js";
|
|
6
6
|
import { withSpan } from "../../observability/tracing/otlp-setup.js";
|
|
7
|
-
import {
|
|
7
|
+
import { getReactImportMap } from "../../transforms/esm/package-registry.js";
|
|
8
8
|
function normalizeImportMapForRuntime(importMap) {
|
|
9
9
|
const normalizeValue = (value) => {
|
|
10
10
|
if (!value.startsWith("npm:"))
|
|
11
11
|
return value;
|
|
12
|
+
// Convert npm: specifiers to esm.sh URLs (should not happen with new code)
|
|
12
13
|
const spec = value.slice(4);
|
|
13
14
|
const [base, query] = spec.split("?");
|
|
14
15
|
const url = `https://esm.sh/${base}`;
|
|
@@ -17,35 +18,19 @@ function normalizeImportMapForRuntime(importMap) {
|
|
|
17
18
|
let imports = importMap.imports
|
|
18
19
|
? Object.fromEntries(Object.entries(importMap.imports).map(([k, v]) => [k, normalizeValue(v)]))
|
|
19
20
|
: undefined;
|
|
20
|
-
|
|
21
|
+
const scopes = importMap.scopes
|
|
21
22
|
? Object.fromEntries(Object.entries(importMap.scopes).map(([scope, mappings]) => [
|
|
22
23
|
scope,
|
|
23
24
|
Object.fromEntries(Object.entries(mappings).map(([k, v]) => [k, normalizeValue(v)])),
|
|
24
25
|
]))
|
|
25
26
|
: undefined;
|
|
26
|
-
// CRITICAL: For Deno SSR, always use shared-*.ts files for React.
|
|
27
|
-
// Project configs may have esm.sh URLs which would create multiple React instances.
|
|
28
27
|
// Override React mappings AFTER all other processing to ensure single instance.
|
|
29
|
-
//
|
|
30
|
-
if (
|
|
31
|
-
const reactMap =
|
|
32
|
-
// Remove any esm.sh "react/" prefix mapping that would break subpath resolution
|
|
28
|
+
// Remove any "react/" prefix match since we have explicit mappings.
|
|
29
|
+
if (imports) {
|
|
30
|
+
const reactMap = getReactImportMap();
|
|
33
31
|
delete imports["react/"];
|
|
34
32
|
imports = { ...imports, ...reactMap };
|
|
35
33
|
}
|
|
36
|
-
// For Deno SSR, ensure esm.sh scope has React mappings to shared-*.ts files.
|
|
37
|
-
// This is critical because esm.sh modules with external=react have bare `react`
|
|
38
|
-
// imports that need to resolve to our shared React instance.
|
|
39
|
-
if (isDeno) {
|
|
40
|
-
const reactMap = getDenoReactImportMap();
|
|
41
|
-
const esmShScope = scopes?.["https://esm.sh/"] ?? {};
|
|
42
|
-
// Remove any "react/" prefix match from scope as well
|
|
43
|
-
delete esmShScope["react/"];
|
|
44
|
-
scopes = {
|
|
45
|
-
...scopes,
|
|
46
|
-
"https://esm.sh/": { ...esmShScope, ...reactMap },
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
34
|
return { imports, scopes };
|
|
50
35
|
}
|
|
51
36
|
function mergeWithDefault(importMap) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/import-map/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA8ClD,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,EAC1B,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/import-map/resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA8ClD,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,EAC1B,KAAK,CAAC,EAAE,MAAM,GACb,MAAM,CAuDR"}
|
|
@@ -46,21 +46,25 @@ export function resolveImport(specifier, importMap, scope) {
|
|
|
46
46
|
if (isEsmShUrl(specifier)) {
|
|
47
47
|
const esmShPackage = extractEsmShPackage(specifier);
|
|
48
48
|
if (esmShPackage) {
|
|
49
|
+
const subpath = extractEsmShSubpath(specifier);
|
|
50
|
+
// Always check for explicit subpath mapping first (e.g., "react/jsx-runtime")
|
|
51
|
+
// This takes priority over appending subpath to base package mapping
|
|
52
|
+
if (subpath) {
|
|
53
|
+
const fullKey = esmShPackage + subpath; // e.g., "react/jsx-runtime"
|
|
54
|
+
const subpathMapping = scopedImports?.[fullKey] ?? importMap.imports?.[fullKey];
|
|
55
|
+
if (subpathMapping)
|
|
56
|
+
return subpathMapping;
|
|
57
|
+
}
|
|
49
58
|
const mapping = scopedImports?.[esmShPackage] ?? importMap.imports?.[esmShPackage];
|
|
50
59
|
if (mapping) {
|
|
51
|
-
const subpath = extractEsmShSubpath(specifier);
|
|
52
60
|
if (!subpath)
|
|
53
61
|
return mapping;
|
|
54
|
-
// If mapping target is a file path (not HTTP URL or npm: specifier),
|
|
55
|
-
//
|
|
56
|
-
// npm: specifiers are URL-like and should have subpaths appended
|
|
62
|
+
// If mapping target is a file path (not HTTP URL or npm: specifier),
|
|
63
|
+
// fall back to base mapping since explicit subpath wasn't found above
|
|
57
64
|
const isFilePath = !mapping.startsWith("http://") && !mapping.startsWith("https://") &&
|
|
58
65
|
!mapping.startsWith("npm:");
|
|
59
66
|
if (isFilePath) {
|
|
60
|
-
|
|
61
|
-
const subpathMapping = scopedImports?.[fullKey] ?? importMap.imports?.[fullKey];
|
|
62
|
-
// Use explicit subpath mapping if available, otherwise fall back to base mapping
|
|
63
|
-
return subpathMapping ?? mapping;
|
|
67
|
+
return mapping;
|
|
64
68
|
}
|
|
65
69
|
return mapping + subpath;
|
|
66
70
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type * as React from "react";
|
|
1
|
+
import type * as React from "../../../deps/esm.sh/react@19.1.1.js";
|
|
2
2
|
import type { RuntimeAdapter } from "../../platform/adapters/base.js";
|
|
3
3
|
import type { LoadComponentOptions } from "./types.js";
|
|
4
4
|
export declare function loadComponentFromSource(source: string, filePath: string, projectDir: string, adapter: RuntimeAdapter, options?: LoadComponentOptions): Promise<React.ComponentType<Record<string, unknown>>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-loader.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/react-loader/component-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"component-loader.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/react-loader/component-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,sCAAsC,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAKtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMvD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,EACvB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CA0DvD"}
|
|
@@ -19,6 +19,7 @@ export function loadComponentFromSource(source, filePath, projectDir, adapter, o
|
|
|
19
19
|
adapter,
|
|
20
20
|
dev,
|
|
21
21
|
contentSourceId: options?.contentSourceId,
|
|
22
|
+
reactVersion: options?.reactVersion,
|
|
22
23
|
});
|
|
23
24
|
return loader.loadModule(filePath, source);
|
|
24
25
|
}
|
|
@@ -28,6 +29,7 @@ export function loadComponentFromSource(source, filePath, projectDir, adapter, o
|
|
|
28
29
|
moduleServerUrl: options?.moduleServerUrl ?? "/_vf_modules",
|
|
29
30
|
vendorBundleHash: options?.vendorBundleHash,
|
|
30
31
|
ssr: false,
|
|
32
|
+
reactVersion: options?.reactVersion,
|
|
31
33
|
};
|
|
32
34
|
const transformedCode = await transformToESM(source, filePath, projectDir, adapter, transformOpts);
|
|
33
35
|
const tmpDir = await getProjectTmpDir(projectId);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type * as React from "react";
|
|
1
|
+
import type * as React from "../../../deps/esm.sh/react@19.1.1.js";
|
|
2
2
|
export declare function extractComponent(mod: unknown, filePath: string): React.ComponentType<Record<string, unknown>>;
|
|
3
3
|
//# sourceMappingURL=extract-component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-component.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/react-loader/extract-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"extract-component.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/react-loader/extract-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,sCAAsC,CAAC;AAGnE,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,MAAM,GACf,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAgB9C"}
|