veryfront 0.1.47 → 0.1.49
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/components/inline-input.d.ts +1 -4
- package/esm/cli/app/components/inline-input.d.ts.map +1 -1
- package/esm/cli/app/components/inline-input.js +1 -1
- package/esm/cli/app/components/list-select.d.ts +0 -8
- package/esm/cli/app/components/list-select.d.ts.map +1 -1
- package/esm/cli/app/components/list-select.js +0 -13
- package/esm/cli/app/operations/project-creation.d.ts +2 -14
- package/esm/cli/app/operations/project-creation.d.ts.map +1 -1
- package/esm/cli/app/operations/project-creation.js +3 -68
- package/esm/cli/app/shell.js +2 -2
- package/esm/cli/app/utils.d.ts +1 -2
- package/esm/cli/app/utils.d.ts.map +1 -1
- package/esm/cli/app/utils.js +1 -17
- package/esm/cli/app/views/dashboard.d.ts +0 -4
- package/esm/cli/app/views/dashboard.d.ts.map +1 -1
- package/esm/cli/app/views/dashboard.js +0 -15
- package/esm/cli/app/views/startup.d.ts +0 -4
- package/esm/cli/app/views/startup.d.ts.map +1 -1
- package/esm/cli/app/views/startup.js +0 -7
- package/esm/cli/auth/login.d.ts.map +1 -1
- package/esm/cli/auth/login.js +1 -2
- package/esm/cli/auth/token-store.js +1 -1
- package/esm/cli/auth/utils.d.ts +2 -1
- package/esm/cli/auth/utils.d.ts.map +1 -1
- package/esm/cli/commands/build/handler.d.ts +1 -1
- package/esm/cli/commands/generate/integration-generator.js +1 -1
- package/esm/cli/commands/init/catalog.js +3 -3
- package/esm/cli/commands/init/command-help.js +2 -2
- package/esm/cli/commands/init/config-generator.d.ts.map +1 -1
- package/esm/cli/commands/init/config-generator.js +8 -0
- package/esm/cli/commands/init/types.d.ts +1 -1
- package/esm/cli/commands/init/types.d.ts.map +1 -1
- package/esm/cli/commands/install/types.d.ts +2 -2
- package/esm/cli/commands/merge/command.d.ts +1 -1
- package/esm/cli/help/formatters.d.ts +1 -1
- package/esm/cli/help/formatters.d.ts.map +1 -1
- package/esm/cli/help/formatters.js +8 -4
- package/esm/cli/help/main-help.d.ts.map +1 -1
- package/esm/cli/help/main-help.js +2 -2
- package/esm/cli/help/tips.js +1 -1
- package/esm/cli/mcp/remote-file-tools.js +1 -1
- package/esm/cli/mcp/server.d.ts +0 -1
- package/esm/cli/mcp/server.d.ts.map +1 -1
- package/esm/cli/mcp/server.js +2 -5
- package/esm/cli/mcp/tools/catalog-tools.d.ts +3 -3
- package/esm/cli/mcp/tools/catalog-tools.js +3 -3
- package/esm/cli/mcp/tools/dev-tools.d.ts +1 -1
- package/esm/cli/mcp/tools/dev-tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools/dev-tools.js +1 -2
- package/esm/cli/mcp/tools/scaffold-tools.d.ts +2 -2
- package/esm/cli/mcp/tools.d.ts +1 -2
- package/esm/cli/mcp/tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools.js +1 -2
- package/esm/cli/shared/reserve-slug.d.ts.map +1 -1
- package/esm/cli/shared/reserve-slug.js +1 -3
- package/esm/cli/sync/ignore.d.ts +1 -1
- package/esm/cli/sync/ignore.d.ts.map +1 -1
- package/esm/cli/sync/ignore.js +22 -18
- package/esm/cli/templates/index.js +2 -2
- package/esm/cli/templates/manifest.d.ts +10 -8
- package/esm/cli/templates/manifest.js +15 -13
- package/esm/cli/templates/types.d.ts +1 -1
- package/esm/cli/templates/types.d.ts.map +1 -1
- package/esm/cli/ui/colors.d.ts +0 -1
- package/esm/cli/ui/colors.d.ts.map +1 -1
- package/esm/cli/ui/colors.js +0 -10
- package/esm/cli/ui/dot-matrix.d.ts.map +1 -1
- package/esm/cli/ui/dot-matrix.js +2 -5
- package/esm/cli/ui/tui.js +2 -3
- package/esm/cli/utils/index.js +1 -2
- package/esm/cli/utils/package-manager.d.ts.map +1 -1
- package/esm/cli/utils/package-manager.js +3 -4
- package/esm/deno.d.ts +10 -0
- package/esm/deno.js +30 -20
- package/esm/src/agent/chat-handler.d.ts +22 -0
- package/esm/src/agent/chat-handler.d.ts.map +1 -1
- package/esm/src/agent/chat-handler.js +88 -28
- package/esm/src/agent/factory.d.ts +0 -8
- package/esm/src/agent/factory.d.ts.map +1 -1
- package/esm/src/agent/factory.js +50 -1
- package/esm/src/agent/index.d.ts +17 -2
- package/esm/src/agent/index.d.ts.map +1 -1
- package/esm/src/agent/index.js +17 -2
- package/esm/src/agent/memory/memory.d.ts +2 -2
- package/esm/src/agent/memory/memory.d.ts.map +1 -1
- package/esm/src/agent/memory/memory.js +0 -1
- package/esm/src/agent/react/index.d.ts +1 -1
- package/esm/src/agent/react/index.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/index.d.ts +1 -1
- package/esm/src/agent/react/use-chat/index.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/streaming/handler.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/streaming/handler.js +42 -4
- package/esm/src/agent/react/use-chat/streaming/parts-builder.d.ts +2 -2
- package/esm/src/agent/react/use-chat/streaming/parts-builder.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/streaming/parts-builder.js +14 -1
- package/esm/src/agent/react/use-chat/streaming/types.d.ts +5 -0
- package/esm/src/agent/react/use-chat/streaming/types.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/types.d.ts +23 -1
- package/esm/src/agent/react/use-chat/types.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/use-chat.d.ts +15 -1
- package/esm/src/agent/react/use-chat/use-chat.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/use-chat.js +187 -35
- package/esm/src/agent/runtime/index.d.ts +18 -0
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +167 -36
- package/esm/src/agent/runtime/tool-helpers.d.ts +6 -1
- package/esm/src/agent/runtime/tool-helpers.d.ts.map +1 -1
- package/esm/src/agent/runtime/tool-helpers.js +10 -1
- package/esm/src/agent/schemas/agent.schema.d.ts +4 -4
- package/esm/src/agent/types.d.ts +10 -0
- package/esm/src/agent/types.d.ts.map +1 -1
- package/esm/src/ai/registry-manager.d.ts.map +1 -1
- package/esm/src/ai/registry-manager.js +2 -1
- package/esm/src/build/bundler/code-splitter/manifest-builder.d.ts +0 -2
- package/esm/src/build/bundler/code-splitter/manifest-builder.d.ts.map +1 -1
- package/esm/src/build/bundler/code-splitter/manifest-builder.js +1 -1
- package/esm/src/build/compiler/mdx-compiler/validator.d.ts.map +1 -1
- package/esm/src/build/compiler/mdx-compiler/validator.js +2 -3
- package/esm/src/build/compiler/mdx-to-js.d.ts +0 -2
- package/esm/src/build/compiler/mdx-to-js.d.ts.map +1 -1
- package/esm/src/build/compiler/mdx-to-js.js +0 -81
- package/esm/src/build/index.d.ts +0 -6
- package/esm/src/build/index.d.ts.map +1 -1
- package/esm/src/build/index.js +0 -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 +2 -3
- package/esm/src/build/production-build/client-runtime.d.ts +7 -3
- package/esm/src/build/production-build/client-runtime.d.ts.map +1 -1
- package/esm/src/build/production-build/client-runtime.js +9 -9
- package/esm/src/build/production-build/templates.d.ts +5 -9
- package/esm/src/build/production-build/templates.d.ts.map +1 -1
- package/esm/src/build/production-build/templates.js +6 -18
- package/esm/src/build/vendor-cache.d.ts.map +1 -1
- package/esm/src/build/vendor-cache.js +0 -5
- package/esm/src/cache/tokenizing-gateway.d.ts +0 -2
- package/esm/src/cache/tokenizing-gateway.d.ts.map +1 -1
- package/esm/src/cache/tokenizing-gateway.js +1 -3
- package/esm/src/chat/index.d.ts +33 -24
- package/esm/src/chat/index.d.ts.map +1 -1
- package/esm/src/chat/index.js +40 -26
- package/esm/src/config/define-config.d.ts.map +1 -1
- package/esm/src/config/define-config.js +28 -25
- package/esm/src/config/loader.d.ts.map +1 -1
- package/esm/src/config/loader.js +10 -7
- package/esm/src/config/schemas/config.schema.d.ts +58 -12
- package/esm/src/config/schemas/config.schema.d.ts.map +1 -1
- package/esm/src/config/schemas/config.schema.js +12 -0
- package/esm/src/data/data-fetcher.d.ts +1 -2
- package/esm/src/data/data-fetcher.d.ts.map +1 -1
- package/esm/src/data/data-fetcher.js +14 -15
- package/esm/src/data/server-data-fetcher.d.ts +0 -3
- package/esm/src/data/server-data-fetcher.d.ts.map +1 -1
- package/esm/src/data/server-data-fetcher.js +1 -8
- package/esm/src/data/static-data-fetcher.d.ts +1 -3
- package/esm/src/data/static-data-fetcher.d.ts.map +1 -1
- package/esm/src/data/static-data-fetcher.js +1 -3
- package/esm/src/discovery/discovery-engine.d.ts.map +1 -1
- package/esm/src/discovery/discovery-engine.js +19 -1
- package/esm/src/discovery/discovery-utils.d.ts +0 -4
- package/esm/src/discovery/discovery-utils.d.ts.map +1 -1
- package/esm/src/discovery/discovery-utils.js +0 -6
- package/esm/src/discovery/file-discovery.d.ts +3 -1
- package/esm/src/discovery/file-discovery.d.ts.map +1 -1
- package/esm/src/discovery/file-discovery.js +3 -8
- package/esm/src/discovery/handlers/index.d.ts +1 -0
- package/esm/src/discovery/handlers/index.d.ts.map +1 -1
- package/esm/src/discovery/handlers/index.js +1 -0
- package/esm/src/discovery/handlers/skill-handler.d.ts +26 -0
- package/esm/src/discovery/handlers/skill-handler.d.ts.map +1 -0
- package/esm/src/discovery/handlers/skill-handler.js +87 -0
- package/esm/src/discovery/handlers/task-handler.d.ts.map +1 -1
- package/esm/src/discovery/handlers/task-handler.js +1 -5
- package/esm/src/discovery/transpiler.d.ts.map +1 -1
- package/esm/src/discovery/transpiler.js +7 -2
- package/esm/src/discovery/types.d.ts +3 -0
- package/esm/src/discovery/types.d.ts.map +1 -1
- package/esm/src/embedding/chunk.d.ts +18 -0
- package/esm/src/embedding/chunk.d.ts.map +1 -0
- package/esm/src/embedding/chunk.js +48 -0
- package/esm/src/embedding/embedding.d.ts +23 -0
- package/esm/src/embedding/embedding.d.ts.map +1 -0
- package/esm/src/embedding/embedding.js +54 -0
- package/esm/src/embedding/index.d.ts +29 -0
- package/esm/src/embedding/index.d.ts.map +1 -0
- package/esm/src/embedding/index.js +26 -0
- package/esm/src/embedding/react/use-uploads.d.ts +31 -0
- package/esm/src/embedding/react/use-uploads.d.ts.map +1 -0
- package/esm/src/embedding/react/use-uploads.js +71 -0
- package/esm/src/embedding/resolve.d.ts +27 -0
- package/esm/src/embedding/resolve.d.ts.map +1 -0
- package/esm/src/embedding/resolve.js +94 -0
- package/esm/src/embedding/types.d.ts +90 -0
- package/esm/src/embedding/types.d.ts.map +1 -0
- package/esm/src/embedding/types.js +1 -0
- package/esm/src/embedding/upload-handler.d.ts +43 -0
- package/esm/src/embedding/upload-handler.d.ts.map +1 -0
- package/esm/src/embedding/upload-handler.js +144 -0
- package/esm/src/embedding/upload-loader.d.ts +14 -0
- package/esm/src/embedding/upload-loader.d.ts.map +1 -0
- package/esm/src/embedding/upload-loader.js +70 -0
- package/esm/src/embedding/upload-store.d.ts +27 -0
- package/esm/src/embedding/upload-store.d.ts.map +1 -0
- package/esm/src/embedding/upload-store.js +244 -0
- package/esm/src/embedding/vector-store.d.ts +33 -0
- package/esm/src/embedding/vector-store.d.ts.map +1 -0
- package/esm/src/embedding/vector-store.js +215 -0
- package/esm/src/errors/error-registry.d.ts +2 -1
- package/esm/src/errors/error-registry.d.ts.map +1 -1
- package/esm/src/errors/http-error.d.ts +1 -2
- package/esm/src/errors/http-error.d.ts.map +1 -1
- package/esm/src/errors/http-error.js +2 -2
- package/esm/src/errors/middleware/cli-error-boundary.d.ts.map +1 -1
- package/esm/src/errors/middleware/cli-error-boundary.js +13 -2
- package/esm/src/errors/middleware/wrap-unknown.d.ts +0 -7
- package/esm/src/errors/middleware/wrap-unknown.d.ts.map +1 -1
- package/esm/src/errors/middleware/wrap-unknown.js +0 -9
- package/esm/src/errors/veryfront-error.d.ts +0 -3
- package/esm/src/errors/veryfront-error.d.ts.map +1 -1
- package/esm/src/errors/veryfront-error.js +0 -5
- package/esm/src/html/schemas/html.schema.d.ts +2 -2
- package/esm/src/html/styles-builder/css-hash-cache.d.ts.map +1 -1
- package/esm/src/html/styles-builder/css-hash-cache.js +1 -2
- package/esm/src/html/styles-builder/plugin-loader.d.ts.map +1 -1
- package/esm/src/html/styles-builder/plugin-loader.js +50 -21
- package/esm/src/html/styles-builder/tailwind-compiler-cache.d.ts.map +1 -1
- package/esm/src/html/styles-builder/tailwind-compiler-cache.js +12 -4
- package/esm/src/html/utils.d.ts +0 -7
- package/esm/src/html/utils.d.ts.map +1 -1
- package/esm/src/html/utils.js +0 -25
- package/esm/src/modules/component-registry/registry.d.ts +0 -3
- package/esm/src/modules/component-registry/registry.d.ts.map +1 -1
- package/esm/src/modules/component-registry/registry.js +0 -3
- package/esm/src/modules/import-map/default-import-map.d.ts.map +1 -1
- package/esm/src/modules/import-map/default-import-map.js +8 -0
- package/esm/src/modules/react-loader/component-loader.d.ts.map +1 -1
- package/esm/src/modules/react-loader/component-loader.js +1 -0
- 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 +10 -1
- 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 +2 -0
- package/esm/src/modules/react-loader/types.d.ts.map +1 -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 +2 -1
- package/esm/src/oauth/handlers/callback-handler.d.ts +2 -0
- package/esm/src/oauth/handlers/callback-handler.d.ts.map +1 -1
- package/esm/src/oauth/handlers/callback-handler.js +10 -4
- package/esm/src/oauth/providers/common.d.ts.map +1 -1
- package/esm/src/oauth/providers/common.js +0 -23
- package/esm/src/observability/auto-instrument/react-instrumentation.js +2 -1
- package/esm/src/observability/instruments/instruments-factory.d.ts +1 -1
- package/esm/src/observability/instruments/instruments-factory.d.ts.map +1 -1
- package/esm/src/observability/instruments/instruments-factory.js +5 -4
- package/esm/src/observability/metrics/config.js +5 -4
- package/esm/src/observability/metrics/manager.js +1 -1
- package/esm/src/observability/tracing/span-operations.d.ts.map +1 -1
- package/esm/src/observability/tracing/span-operations.js +14 -8
- package/esm/src/platform/compat/console/node.d.ts +0 -1
- package/esm/src/platform/compat/console/node.d.ts.map +1 -1
- package/esm/src/platform/compat/console/node.js +4 -11
- package/esm/src/platform/compat/fs.d.ts.map +1 -1
- package/esm/src/platform/compat/fs.js +4 -2
- package/esm/src/platform/compat/opaque-deps.d.ts +18 -2
- package/esm/src/platform/compat/opaque-deps.d.ts.map +1 -1
- package/esm/src/platform/compat/opaque-deps.js +19 -0
- package/esm/src/platform/compat/path/basic-operations.d.ts.map +1 -1
- package/esm/src/platform/compat/path/basic-operations.js +17 -10
- package/esm/src/platform/compat/path/resolution.d.ts.map +1 -1
- package/esm/src/platform/compat/path/resolution.js +65 -20
- package/esm/src/platform/compat/path/url-conversion.d.ts.map +1 -1
- package/esm/src/platform/compat/path/url-conversion.js +3 -2
- package/esm/src/platform/compat/process.d.ts +2 -14
- package/esm/src/platform/compat/process.d.ts.map +1 -1
- package/esm/src/platform/compat/process.js +92 -70
- package/esm/src/provider/index.d.ts +1 -1
- package/esm/src/provider/index.d.ts.map +1 -1
- package/esm/src/provider/index.js +1 -1
- package/esm/src/provider/local/ai-sdk-adapter.d.ts.map +1 -1
- package/esm/src/provider/local/ai-sdk-adapter.js +18 -18
- package/esm/src/provider/local/env.d.ts.map +1 -1
- package/esm/src/provider/local/env.js +2 -1
- package/esm/src/provider/local/local-embedding-adapter.d.ts +19 -0
- package/esm/src/provider/local/local-embedding-adapter.d.ts.map +1 -0
- package/esm/src/provider/local/local-embedding-adapter.js +32 -0
- package/esm/src/provider/local/local-embedding-engine.d.ts +17 -0
- package/esm/src/provider/local/local-embedding-engine.d.ts.map +1 -0
- package/esm/src/provider/local/local-embedding-engine.js +63 -0
- package/esm/src/provider/local/local-engine.d.ts +7 -0
- package/esm/src/provider/local/local-engine.d.ts.map +1 -1
- package/esm/src/provider/local/local-engine.js +1 -1
- package/esm/src/provider/local/model-catalog.d.ts +10 -1
- package/esm/src/provider/local/model-catalog.d.ts.map +1 -1
- package/esm/src/provider/local/model-catalog.js +61 -0
- package/esm/src/provider/model-registry.d.ts +10 -0
- package/esm/src/provider/model-registry.d.ts.map +1 -1
- package/esm/src/provider/model-registry.js +43 -0
- package/esm/src/proxy/retry.d.ts +3 -3
- package/esm/src/proxy/retry.d.ts.map +1 -1
- package/esm/src/proxy/retry.js +0 -7
- package/esm/src/proxy/tracing.d.ts +1 -5
- package/esm/src/proxy/tracing.d.ts.map +1 -1
- package/esm/src/proxy/tracing.js +1 -7
- package/esm/src/react/components/ai/agent-card.js +13 -13
- package/esm/src/react/components/ai/chat/components/animations.d.ts +5 -0
- package/esm/src/react/components/ai/chat/components/animations.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/components/animations.js +13 -1
- package/esm/src/react/components/ai/chat/components/attachment-pill.d.ts +15 -0
- package/esm/src/react/components/ai/chat/components/attachment-pill.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/attachment-pill.js +40 -0
- package/esm/src/react/components/ai/chat/components/branch-picker.d.ts +9 -0
- package/esm/src/react/components/ai/chat/components/branch-picker.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/branch-picker.js +17 -0
- package/esm/src/react/components/ai/chat/components/code-block.d.ts +8 -0
- package/esm/src/react/components/ai/chat/components/code-block.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/code-block.js +38 -0
- package/esm/src/react/components/ai/chat/components/drop-zone.d.ts +7 -0
- package/esm/src/react/components/ai/chat/components/drop-zone.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/drop-zone.js +14 -0
- 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 +10 -8
- package/esm/src/react/components/ai/chat/components/inference-badge.js +1 -1
- package/esm/src/react/components/ai/chat/components/inline-citation.d.ts +10 -0
- package/esm/src/react/components/ai/chat/components/inline-citation.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/inline-citation.js +59 -0
- package/esm/src/react/components/ai/chat/components/message-actions.d.ts +3 -2
- 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 +10 -10
- package/esm/src/react/components/ai/chat/components/message-edit-form.d.ts +8 -0
- package/esm/src/react/components/ai/chat/components/message-edit-form.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/message-edit-form.js +46 -0
- package/esm/src/react/components/ai/chat/components/message-feedback.d.ts +9 -0
- package/esm/src/react/components/ai/chat/components/message-feedback.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/message-feedback.js +19 -0
- package/esm/src/react/components/ai/chat/components/quick-actions.d.ts +14 -0
- package/esm/src/react/components/ai/chat/components/quick-actions.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/quick-actions.js +7 -0
- package/esm/src/react/components/ai/chat/components/reasoning.d.ts +3 -4
- package/esm/src/react/components/ai/chat/components/reasoning.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/components/reasoning.js +11 -6
- package/esm/src/react/components/ai/chat/components/sidebar.d.ts +14 -0
- package/esm/src/react/components/ai/chat/components/sidebar.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/sidebar.js +92 -0
- package/esm/src/react/components/ai/chat/components/skill-badge.d.ts +12 -0
- package/esm/src/react/components/ai/chat/components/skill-badge.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/skill-badge.js +34 -0
- package/esm/src/react/components/ai/chat/components/sources.d.ts +13 -0
- package/esm/src/react/components/ai/chat/components/sources.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/sources.js +28 -0
- package/esm/src/react/components/ai/chat/components/step-indicator.d.ts +8 -0
- package/esm/src/react/components/ai/chat/components/step-indicator.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/step-indicator.js +15 -0
- package/esm/src/react/components/ai/chat/components/tab-switcher.d.ts +16 -0
- package/esm/src/react/components/ai/chat/components/tab-switcher.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/tab-switcher.js +28 -0
- 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 +23 -21
- package/esm/src/react/components/ai/chat/components/upgrade-cta.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/components/upgrade-cta.js +3 -3
- package/esm/src/react/components/ai/chat/components/uploads-panel.d.ts +16 -0
- package/esm/src/react/components/ai/chat/components/uploads-panel.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/components/uploads-panel.js +46 -0
- package/esm/src/react/components/ai/chat/composition/api.d.ts +10 -5
- package/esm/src/react/components/ai/chat/composition/api.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/composition/api.js +12 -20
- package/esm/src/react/components/ai/chat/composition/chat-composer.d.ts +35 -0
- package/esm/src/react/components/ai/chat/composition/chat-composer.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/composition/chat-composer.js +53 -0
- package/esm/src/react/components/ai/chat/composition/chat-empty.d.ts +20 -0
- package/esm/src/react/components/ai/chat/composition/chat-empty.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/composition/chat-empty.js +23 -0
- package/esm/src/react/components/ai/chat/composition/chat-if.d.ts +14 -0
- package/esm/src/react/components/ai/chat/composition/chat-if.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/composition/chat-if.js +11 -0
- package/esm/src/react/components/ai/chat/composition/chat-message-list.d.ts +36 -0
- package/esm/src/react/components/ai/chat/composition/chat-message-list.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/composition/chat-message-list.js +113 -0
- package/esm/src/react/components/ai/chat/composition/chat-root.d.ts +43 -0
- package/esm/src/react/components/ai/chat/composition/chat-root.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/composition/chat-root.js +78 -0
- package/esm/src/react/components/ai/chat/composition/error-banner.d.ts +12 -0
- package/esm/src/react/components/ai/chat/composition/error-banner.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/composition/error-banner.js +17 -0
- package/esm/src/react/components/ai/chat/composition/message.d.ts +54 -0
- package/esm/src/react/components/ai/chat/composition/message.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/composition/message.js +175 -0
- package/esm/src/react/components/ai/chat/composition/model-avatar.d.ts +14 -0
- package/esm/src/react/components/ai/chat/composition/model-avatar.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/composition/model-avatar.js +60 -0
- package/esm/src/react/components/ai/chat/contexts/chat-context.d.ts +45 -0
- package/esm/src/react/components/ai/chat/contexts/chat-context.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/contexts/chat-context.js +20 -0
- package/esm/src/react/components/ai/chat/contexts/composer-context.d.ts +34 -0
- package/esm/src/react/components/ai/chat/contexts/composer-context.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/contexts/composer-context.js +21 -0
- package/esm/src/react/components/ai/chat/contexts/index.d.ts +13 -0
- package/esm/src/react/components/ai/chat/contexts/index.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/contexts/index.js +12 -0
- package/esm/src/react/components/ai/chat/contexts/message-context.d.ts +30 -0
- package/esm/src/react/components/ai/chat/contexts/message-context.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/contexts/message-context.js +21 -0
- package/esm/src/react/components/ai/chat/contexts/thread-list-context.d.ts +23 -0
- package/esm/src/react/components/ai/chat/contexts/thread-list-context.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/contexts/thread-list-context.js +21 -0
- package/esm/src/react/components/ai/chat/hooks/use-threads.d.ts +24 -0
- package/esm/src/react/components/ai/chat/hooks/use-threads.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/hooks/use-threads.js +151 -0
- package/esm/src/react/components/ai/chat/index.d.ts +102 -17
- package/esm/src/react/components/ai/chat/index.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/index.js +164 -95
- package/esm/src/react/components/ai/chat/utils/export.d.ts +10 -0
- package/esm/src/react/components/ai/chat/utils/export.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat/utils/export.js +64 -0
- package/esm/src/react/components/ai/chat/utils/message-parts.d.ts +12 -0
- package/esm/src/react/components/ai/chat/utils/message-parts.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/utils/message-parts.js +55 -0
- package/esm/src/react/components/ai/chat-with-sidebar.d.ts +98 -0
- package/esm/src/react/components/ai/chat-with-sidebar.d.ts.map +1 -0
- package/esm/src/react/components/ai/chat-with-sidebar.js +165 -0
- package/esm/src/react/components/ai/chat.d.ts +10 -1
- package/esm/src/react/components/ai/chat.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat.js +25 -1
- package/esm/src/react/components/ai/error-boundary.js +6 -6
- package/esm/src/react/components/ai/icons/index.d.ts +9 -0
- package/esm/src/react/components/ai/icons/index.d.ts.map +1 -1
- package/esm/src/react/components/ai/icons/index.js +82 -0
- package/esm/src/react/components/ai/markdown.d.ts.map +1 -1
- package/esm/src/react/components/ai/markdown.js +12 -12
- package/esm/src/react/components/ai/model-selector.d.ts +10 -2
- package/esm/src/react/components/ai/model-selector.d.ts.map +1 -1
- package/esm/src/react/components/ai/model-selector.js +138 -4
- package/esm/src/react/components/ai/theme.d.ts +96 -13
- package/esm/src/react/components/ai/theme.d.ts.map +1 -1
- package/esm/src/react/components/ai/theme.js +177 -21
- package/esm/src/react/primitives/input-box.d.ts.map +1 -1
- package/esm/src/react/primitives/input-box.js +16 -3
- package/esm/src/rendering/cache/index.d.ts +1 -5
- package/esm/src/rendering/cache/index.d.ts.map +1 -1
- package/esm/src/rendering/cache/index.js +1 -5
- package/esm/src/rendering/component-handling.d.ts +2 -0
- package/esm/src/rendering/component-handling.d.ts.map +1 -1
- package/esm/src/rendering/component-handling.js +7 -9
- package/esm/src/rendering/orchestrator/pipeline.d.ts +11 -2
- package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
- package/esm/src/rendering/page-renderer.d.ts.map +1 -1
- package/esm/src/rendering/page-renderer.js +1 -0
- package/esm/src/rendering/shared/context-aware-cache.d.ts.map +1 -1
- package/esm/src/rendering/shared/context-aware-cache.js +0 -4
- package/esm/src/repositories/schemas/index.d.ts +1 -1
- package/esm/src/repositories/schemas/index.d.ts.map +1 -1
- package/esm/src/repositories/schemas/index.js +1 -1
- package/esm/src/repositories/schemas/repository.schema.d.ts +0 -11
- package/esm/src/repositories/schemas/repository.schema.d.ts.map +1 -1
- package/esm/src/repositories/schemas/repository.schema.js +0 -13
- package/esm/src/repositories/types.d.ts +1 -1
- package/esm/src/repositories/types.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/esbuild-plugin.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/esbuild-plugin.js +11 -24
- package/esm/src/routing/api/module-loader/loader.d.ts +1 -0
- package/esm/src/routing/api/module-loader/loader.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/loader.js +347 -27
- package/esm/src/routing/api/openapi/path-utils.d.ts +0 -19
- package/esm/src/routing/api/openapi/path-utils.d.ts.map +1 -1
- package/esm/src/routing/api/openapi/path-utils.js +0 -34
- package/esm/src/routing/api/openapi/spec-generator.d.ts.map +1 -1
- package/esm/src/routing/api/openapi/spec-generator.js +1 -19
- package/esm/src/routing/api/openapi/types.d.ts +1 -0
- package/esm/src/routing/api/openapi/types.d.ts.map +1 -1
- package/esm/src/routing/api/openapi/types.js +18 -0
- package/esm/src/sandbox/sandbox.d.ts +1 -0
- package/esm/src/sandbox/sandbox.d.ts.map +1 -1
- package/esm/src/sandbox/sandbox.js +7 -8
- package/esm/src/security/http/cors/constants.d.ts +0 -2
- package/esm/src/security/http/cors/constants.d.ts.map +1 -1
- package/esm/src/security/http/cors/constants.js +0 -2
- package/esm/src/security/http/response/index.d.ts +3 -4
- package/esm/src/security/http/response/index.d.ts.map +1 -1
- package/esm/src/security/http/response/index.js +2 -3
- package/esm/src/server/context/enriched-context.d.ts +0 -8
- package/esm/src/server/context/enriched-context.d.ts.map +1 -1
- package/esm/src/server/context/enriched-context.js +1 -12
- package/esm/src/server/dev-server/server.d.ts.map +1 -1
- package/esm/src/server/dev-server/server.js +11 -4
- package/esm/src/server/dev-ui/manifest.d.ts +20 -20
- package/esm/src/server/dev-ui/manifest.js +20 -20
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts +9 -0
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -0
- package/esm/src/server/handlers/dev/framework-candidates.generated.js +5187 -0
- package/esm/src/server/handlers/dev/styles-candidate-scanner.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/styles-candidate-scanner.js +3 -190
- package/esm/src/server/handlers/request/module/module-server-handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/module/module-server-handler.js +1 -0
- package/esm/src/server/runtime-handler/index.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/index.js +14 -24
- package/esm/src/server/shared/renderer/memory/pressure.d.ts +0 -7
- package/esm/src/server/shared/renderer/memory/pressure.d.ts.map +1 -1
- package/esm/src/server/shared/renderer/memory/pressure.js +1 -13
- package/esm/src/server/utils/domain-lookup.d.ts +0 -4
- package/esm/src/server/utils/domain-lookup.d.ts.map +1 -1
- package/esm/src/server/utils/domain-lookup.js +0 -3
- package/esm/src/skill/allowed-tools.d.ts +54 -0
- package/esm/src/skill/allowed-tools.d.ts.map +1 -0
- package/esm/src/skill/allowed-tools.js +87 -0
- package/esm/src/skill/executor.d.ts +28 -0
- package/esm/src/skill/executor.d.ts.map +1 -0
- package/esm/src/skill/executor.js +187 -0
- package/esm/src/skill/index.d.ts +19 -0
- package/esm/src/skill/index.d.ts.map +1 -0
- package/esm/src/skill/index.js +24 -0
- package/esm/src/skill/parser.d.ts +30 -0
- package/esm/src/skill/parser.d.ts.map +1 -0
- package/esm/src/skill/parser.js +162 -0
- package/esm/src/skill/path-safety.d.ts +22 -0
- package/esm/src/skill/path-safety.d.ts.map +1 -0
- package/esm/src/skill/path-safety.js +156 -0
- package/esm/src/skill/prompt-augmentation.d.ts +19 -0
- package/esm/src/skill/prompt-augmentation.d.ts.map +1 -0
- package/esm/src/skill/prompt-augmentation.js +36 -0
- package/esm/src/skill/registry.d.ts +25 -0
- package/esm/src/skill/registry.d.ts.map +1 -0
- package/esm/src/skill/registry.js +42 -0
- package/esm/src/skill/tools.d.ts +27 -0
- package/esm/src/skill/tools.d.ts.map +1 -0
- package/esm/src/skill/tools.js +149 -0
- package/esm/src/skill/types.d.ts +85 -0
- package/esm/src/skill/types.d.ts.map +1 -0
- package/esm/src/skill/types.js +27 -0
- package/esm/src/studio/bridge/bridge-bundle.generated.d.ts +1 -1
- package/esm/src/studio/bridge/bridge-bundle.generated.d.ts.map +1 -1
- package/esm/src/studio/bridge/bridge-bundle.generated.js +1 -1
- package/esm/src/studio/element-selector-injector.d.ts +0 -2
- package/esm/src/studio/element-selector-injector.d.ts.map +1 -1
- package/esm/src/task/runner.d.ts +6 -0
- package/esm/src/task/runner.d.ts.map +1 -1
- package/esm/src/task/runner.js +8 -8
- package/esm/src/tool/factory.js +31 -39
- package/esm/src/transforms/esm/http-cache-helpers.d.ts +0 -8
- package/esm/src/transforms/esm/http-cache-helpers.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache-helpers.js +0 -20
- package/esm/src/transforms/esm/path-resolver.d.ts +0 -14
- package/esm/src/transforms/esm/path-resolver.d.ts.map +1 -1
- package/esm/src/transforms/esm/path-resolver.js +1 -92
- package/esm/src/transforms/esm/source-url-embed.d.ts +0 -14
- package/esm/src/transforms/esm/source-url-embed.d.ts.map +1 -1
- package/esm/src/transforms/esm/source-url-embed.js +0 -47
- package/esm/src/transforms/esm/transform-cache.d.ts.map +1 -1
- package/esm/src/transforms/esm/transform-cache.js +2 -6
- package/esm/src/transforms/mdx/index.d.ts +0 -1
- package/esm/src/transforms/mdx/index.d.ts.map +1 -1
- package/esm/src/transforms/mdx/index.js +0 -4
- package/esm/src/transforms/pipeline/context.d.ts +0 -1
- package/esm/src/transforms/pipeline/context.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/context.js +0 -1
- package/esm/src/transforms/pipeline/index.d.ts +1 -2
- package/esm/src/transforms/pipeline/index.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/index.js +0 -3
- package/esm/src/transforms/pipeline/stages/ssr-http-cache.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-http-cache.js +0 -1
- package/esm/src/transforms/plugins/rehype-node-positions.d.ts.map +1 -1
- package/esm/src/transforms/plugins/rehype-node-positions.js +1 -0
- package/esm/src/types/entities/getEntityInfo.js +1 -1
- package/esm/src/types/index.d.ts +2 -13
- package/esm/src/types/index.d.ts.map +1 -1
- package/esm/src/types/server.d.ts +2 -1
- package/esm/src/types/server.d.ts.map +1 -1
- package/esm/src/utils/cache-file-ops.d.ts +1 -1
- package/esm/src/utils/cache-file-ops.d.ts.map +1 -1
- package/esm/src/utils/cache-file-ops.js +5 -6
- package/esm/src/utils/lru-wrapper.d.ts.map +1 -1
- package/esm/src/utils/lru-wrapper.js +2 -4
- package/esm/src/workflow/claude-code/event-publisher.d.ts +0 -4
- package/esm/src/workflow/claude-code/event-publisher.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/event-publisher.js +2 -6
- package/esm/src/workflow/executor/workflow-executor.d.ts.map +1 -1
- package/esm/src/workflow/executor/workflow-executor.js +6 -1
- package/esm/src/workflow/react/use-workflow-list.d.ts.map +1 -1
- package/esm/src/workflow/react/use-workflow-list.js +2 -1
- package/esm/src/workflow/schemas/workflow.schema.d.ts +8 -8
- package/package.json +10 -3
- package/src/cli/app/components/inline-input.ts +0 -5
- package/src/cli/app/components/list-select.ts +0 -21
- package/src/cli/app/operations/project-creation.ts +4 -109
- package/src/cli/app/shell.ts +2 -2
- package/src/cli/app/utils.ts +0 -22
- package/src/cli/app/views/dashboard.ts +0 -17
- package/src/cli/app/views/startup.ts +0 -13
- package/src/cli/auth/login.ts +1 -2
- package/src/cli/auth/token-store.ts +1 -1
- package/src/cli/auth/utils.ts +2 -1
- package/src/cli/commands/generate/integration-generator.ts +1 -1
- package/src/cli/commands/init/catalog.ts +3 -3
- package/src/cli/commands/init/command-help.ts +2 -2
- package/src/cli/commands/init/config-generator.ts +9 -0
- package/src/cli/commands/init/types.ts +1 -1
- package/src/cli/help/formatters.ts +11 -4
- package/src/cli/help/main-help.ts +2 -3
- package/src/cli/help/tips.ts +1 -1
- package/src/cli/mcp/remote-file-tools.ts +1 -1
- package/src/cli/mcp/server.ts +2 -5
- package/src/cli/mcp/tools/catalog-tools.ts +3 -3
- package/src/cli/mcp/tools/dev-tools.ts +1 -2
- package/src/cli/mcp/tools.ts +8 -2
- package/src/cli/shared/reserve-slug.ts +1 -4
- package/src/cli/sync/ignore.ts +26 -21
- package/src/cli/templates/index.ts +2 -2
- package/src/cli/templates/manifest.js +15 -13
- package/src/cli/templates/types.ts +1 -1
- package/src/cli/ui/colors.ts +0 -12
- package/src/cli/ui/dot-matrix.ts +3 -6
- package/src/cli/ui/tui.ts +3 -3
- package/src/cli/utils/index.ts +1 -1
- package/src/cli/utils/package-manager.ts +3 -4
- package/src/deno.js +30 -20
- package/src/src/agent/chat-handler.ts +138 -28
- package/src/src/agent/factory.ts +58 -9
- package/src/src/agent/index.ts +24 -2
- package/src/src/agent/memory/memory.ts +0 -9
- package/src/src/agent/react/index.ts +2 -0
- package/src/src/agent/react/use-chat/index.ts +2 -0
- package/src/src/agent/react/use-chat/streaming/handler.ts +66 -5
- package/src/src/agent/react/use-chat/streaming/parts-builder.ts +18 -1
- package/src/src/agent/react/use-chat/streaming/types.ts +6 -0
- package/src/src/agent/react/use-chat/types.ts +26 -1
- package/src/src/agent/react/use-chat/use-chat.ts +245 -36
- package/src/src/agent/runtime/index.ts +213 -35
- package/src/src/agent/runtime/tool-helpers.ts +9 -0
- package/src/src/agent/types.ts +10 -0
- package/src/src/ai/registry-manager.ts +2 -1
- package/src/src/build/bundler/code-splitter/manifest-builder.ts +1 -1
- package/src/src/build/compiler/mdx-compiler/validator.ts +3 -7
- package/src/src/build/compiler/mdx-to-js.ts +0 -101
- package/src/src/build/index.ts +0 -8
- package/src/src/build/production-build/build/route-collector.ts +2 -4
- package/src/src/build/production-build/client-runtime.ts +21 -5
- package/src/src/build/production-build/templates.ts +9 -18
- package/src/src/build/vendor-cache.ts +0 -6
- package/src/src/cache/tokenizing-gateway.ts +1 -9
- package/src/src/chat/index.ts +169 -34
- package/src/src/config/define-config.ts +30 -29
- package/src/src/config/loader.ts +10 -9
- package/src/src/config/schemas/config.schema.ts +12 -0
- package/src/src/data/data-fetcher.ts +15 -21
- package/src/src/data/server-data-fetcher.ts +1 -8
- package/src/src/data/static-data-fetcher.ts +1 -6
- package/src/src/discovery/discovery-engine.ts +27 -0
- package/src/src/discovery/discovery-utils.ts +0 -7
- package/src/src/discovery/file-discovery.ts +3 -9
- package/src/src/discovery/handlers/index.ts +1 -0
- package/src/src/discovery/handlers/skill-handler.ts +123 -0
- package/src/src/discovery/handlers/task-handler.ts +1 -5
- package/src/src/discovery/transpiler.ts +7 -2
- package/src/src/discovery/types.ts +3 -0
- package/src/src/embedding/chunk.ts +60 -0
- package/src/src/embedding/embedding.ts +62 -0
- package/src/src/embedding/index.ts +49 -0
- package/src/src/embedding/react/use-uploads.ts +101 -0
- package/src/src/embedding/resolve.ts +126 -0
- package/src/src/embedding/types.ts +103 -0
- package/src/src/embedding/upload-handler.ts +180 -0
- package/src/src/embedding/upload-loader.ts +76 -0
- package/src/src/embedding/upload-store.ts +299 -0
- package/src/src/embedding/vector-store.ts +282 -0
- package/src/src/errors/error-registry.ts +2 -2
- package/src/src/errors/http-error.ts +7 -3
- package/src/src/errors/middleware/cli-error-boundary.ts +28 -2
- package/src/src/errors/middleware/wrap-unknown.ts +0 -10
- package/src/src/errors/veryfront-error.ts +0 -9
- package/src/src/html/styles-builder/css-hash-cache.ts +5 -2
- package/src/src/html/styles-builder/plugin-loader.ts +58 -21
- package/src/src/html/styles-builder/tailwind-compiler-cache.ts +11 -4
- package/src/src/html/utils.ts +0 -33
- package/src/src/modules/component-registry/registry.ts +0 -3
- package/src/src/modules/import-map/default-import-map.ts +10 -0
- package/src/src/modules/react-loader/component-loader.ts +1 -0
- package/src/src/modules/react-loader/ssr-module-loader/loader.ts +12 -1
- package/src/src/modules/react-loader/ssr-module-loader/types.ts +2 -0
- package/src/src/modules/react-loader/types.ts +2 -0
- package/src/src/modules/server/module-server.ts +4 -1
- package/src/src/modules/server/websocket-handler.ts +1 -1
- package/src/src/oauth/handlers/callback-handler.ts +17 -5
- package/src/src/oauth/providers/base.ts +3 -3
- package/src/src/oauth/providers/common.ts +0 -23
- package/src/src/observability/auto-instrument/react-instrumentation.ts +2 -2
- package/src/src/observability/instruments/instruments-factory.ts +6 -6
- package/src/src/observability/metrics/config.ts +5 -5
- package/src/src/observability/metrics/manager.ts +1 -1
- package/src/src/observability/tracing/span-operations.ts +14 -9
- package/src/src/platform/compat/console/node.ts +4 -14
- package/src/src/platform/compat/fs.ts +14 -3
- package/src/src/platform/compat/opaque-deps.ts +32 -2
- package/src/src/platform/compat/path/basic-operations.ts +19 -10
- package/src/src/platform/compat/path/resolution.ts +69 -18
- package/src/src/platform/compat/path/url-conversion.ts +10 -6
- package/src/src/platform/compat/process.ts +133 -76
- package/src/src/provider/index.ts +1 -0
- package/src/src/provider/local/ai-sdk-adapter.ts +40 -37
- package/src/src/provider/local/env.ts +4 -1
- package/src/src/provider/local/local-embedding-adapter.ts +37 -0
- package/src/src/provider/local/local-embedding-engine.ts +88 -0
- package/src/src/provider/local/local-engine.ts +1 -1
- package/src/src/provider/local/model-catalog.ts +67 -1
- package/src/src/provider/model-registry.ts +47 -0
- package/src/src/proxy/retry.ts +0 -9
- package/src/src/proxy/tracing.ts +1 -9
- package/src/src/react/components/ai/agent-card.tsx +13 -13
- package/src/src/react/components/ai/chat/components/animations.tsx +31 -1
- package/src/src/react/components/ai/chat/components/attachment-pill.tsx +110 -0
- package/src/src/react/components/ai/chat/components/branch-picker.tsx +70 -0
- package/src/src/react/components/ai/chat/components/code-block.tsx +82 -0
- package/src/src/react/components/ai/chat/components/drop-zone.tsx +49 -0
- package/src/src/react/components/ai/chat/components/empty-state.tsx +20 -8
- package/src/src/react/components/ai/chat/components/inference-badge.tsx +1 -1
- package/src/src/react/components/ai/chat/components/inline-citation.tsx +150 -0
- package/src/src/react/components/ai/chat/components/message-actions.tsx +73 -51
- package/src/src/react/components/ai/chat/components/message-edit-form.tsx +95 -0
- package/src/src/react/components/ai/chat/components/message-feedback.tsx +72 -0
- package/src/src/react/components/ai/chat/components/quick-actions.tsx +38 -0
- package/src/src/react/components/ai/chat/components/reasoning.tsx +40 -35
- package/src/src/react/components/ai/chat/components/sidebar.tsx +204 -0
- package/src/src/react/components/ai/chat/components/skill-badge.tsx +51 -0
- package/src/src/react/components/ai/chat/components/sources.tsx +99 -0
- package/src/src/react/components/ai/chat/components/step-indicator.tsx +33 -0
- package/src/src/react/components/ai/chat/components/tab-switcher.tsx +69 -0
- package/src/src/react/components/ai/chat/components/tool-ui.tsx +31 -29
- package/src/src/react/components/ai/chat/components/upgrade-cta.tsx +3 -4
- package/src/src/react/components/ai/chat/components/uploads-panel.tsx +129 -0
- package/src/src/react/components/ai/chat/composition/api.tsx +12 -62
- package/src/src/react/components/ai/chat/composition/chat-composer.tsx +205 -0
- package/src/src/react/components/ai/chat/composition/chat-empty.tsx +77 -0
- package/src/src/react/components/ai/chat/composition/chat-if.tsx +25 -0
- package/src/src/react/components/ai/chat/composition/chat-message-list.tsx +356 -0
- package/src/src/react/components/ai/chat/composition/chat-root.tsx +181 -0
- package/src/src/react/components/ai/chat/composition/error-banner.tsx +38 -0
- package/src/src/react/components/ai/chat/composition/message.tsx +337 -0
- package/src/src/react/components/ai/chat/composition/model-avatar.tsx +103 -0
- package/src/src/react/components/ai/chat/contexts/chat-context.tsx +78 -0
- package/src/src/react/components/ai/chat/contexts/composer-context.tsx +59 -0
- package/src/src/react/components/ai/chat/contexts/index.ts +36 -0
- package/src/src/react/components/ai/chat/contexts/message-context.tsx +49 -0
- package/src/src/react/components/ai/chat/contexts/thread-list-context.tsx +40 -0
- package/src/src/react/components/ai/chat/hooks/use-threads.ts +208 -0
- package/src/src/react/components/ai/chat/index.tsx +389 -230
- package/src/src/react/components/ai/chat/utils/export.ts +77 -0
- package/src/src/react/components/ai/chat/utils/message-parts.ts +63 -1
- package/src/src/react/components/ai/chat-with-sidebar.tsx +371 -0
- package/src/src/react/components/ai/chat.tsx +122 -7
- package/src/src/react/components/ai/error-boundary.tsx +6 -6
- package/src/src/react/components/ai/icons/index.ts +100 -0
- package/src/src/react/components/ai/markdown.tsx +12 -15
- package/src/src/react/components/ai/model-selector.tsx +223 -15
- package/src/src/react/components/ai/theme.ts +205 -39
- package/src/src/react/primitives/input-box.tsx +27 -4
- package/src/src/rendering/cache/index.ts +12 -5
- package/src/src/rendering/component-handling.ts +9 -9
- package/src/src/rendering/orchestrator/pipeline.ts +12 -2
- package/src/src/rendering/page-renderer.ts +1 -0
- package/src/src/rendering/renderer.ts +1 -1
- package/src/src/rendering/shared/context-aware-cache.ts +0 -5
- package/src/src/repositories/schemas/index.ts +0 -2
- package/src/src/repositories/schemas/repository.schema.ts +0 -15
- package/src/src/repositories/types.ts +1 -6
- package/src/src/routing/api/module-loader/esbuild-plugin.ts +11 -25
- package/src/src/routing/api/module-loader/loader.ts +421 -17
- package/src/src/routing/api/openapi/path-utils.ts +0 -39
- package/src/src/routing/api/openapi/spec-generator.ts +1 -20
- package/src/src/routing/api/openapi/types.ts +20 -0
- package/src/src/sandbox/sandbox.ts +8 -8
- package/src/src/security/http/cors/constants.ts +0 -4
- package/src/src/security/http/response/index.ts +3 -9
- package/src/src/server/context/enriched-context.ts +1 -19
- package/src/src/server/dev-server/server.ts +11 -4
- package/src/src/server/dev-ui/manifest.js +20 -20
- package/src/src/server/handlers/dev/framework-candidates.generated.ts +5188 -0
- package/src/src/server/handlers/dev/styles-candidate-scanner.ts +3 -191
- package/src/src/server/handlers/request/module/module-server-handler.ts +1 -0
- package/src/src/server/runtime-handler/index.ts +17 -28
- package/src/src/server/shared/renderer/memory/pressure.ts +2 -15
- package/src/src/server/utils/domain-lookup.ts +0 -4
- package/src/src/skill/allowed-tools.ts +107 -0
- package/src/src/skill/executor.ts +215 -0
- package/src/src/skill/index.ts +60 -0
- package/src/src/skill/parser.ts +214 -0
- package/src/src/skill/path-safety.ts +203 -0
- package/src/src/skill/prompt-augmentation.ts +48 -0
- package/src/src/skill/registry.ts +51 -0
- package/src/src/skill/tools.ts +197 -0
- package/src/src/skill/types.ts +107 -0
- package/src/src/studio/bridge/bridge-bundle.generated.ts +1 -1
- package/src/src/studio/element-selector-injector.ts +0 -2
- package/src/src/task/runner.ts +10 -8
- package/src/src/tool/factory.ts +54 -54
- package/src/src/transforms/esm/http-cache-helpers.ts +0 -20
- package/src/src/transforms/esm/path-resolver.ts +1 -140
- package/src/src/transforms/esm/source-url-embed.ts +0 -53
- package/src/src/transforms/esm/transform-cache.ts +3 -7
- package/src/src/transforms/mdx/index.ts +0 -5
- package/src/src/transforms/pipeline/context.ts +0 -2
- package/src/src/transforms/pipeline/index.ts +0 -4
- package/src/src/transforms/pipeline/stages/ssr-http-cache.ts +0 -1
- package/src/src/transforms/plugins/rehype-node-positions.ts +1 -0
- package/src/src/types/entities/getEntityInfo.ts +1 -1
- package/src/src/types/index.ts +1 -20
- package/src/src/types/server.ts +1 -1
- package/src/src/utils/cache-file-ops.ts +5 -5
- package/src/src/utils/logger/logger.ts +2 -2
- package/src/src/utils/lru-wrapper.ts +2 -8
- package/src/src/workflow/claude-code/event-publisher.ts +13 -4
- package/src/src/workflow/executor/workflow-executor.ts +7 -2
- package/src/src/workflow/react/use-workflow-list.ts +3 -2
- package/esm/src/transforms/mdx/parser.d.ts +0 -4
- package/esm/src/transforms/mdx/parser.d.ts.map +0 -1
- package/esm/src/transforms/mdx/parser.js +0 -49
- package/src/src/transforms/mdx/parser.ts +0 -65
|
@@ -1,77 +1,12 @@
|
|
|
1
1
|
import { replaceSpecifiers } from "./lexer.js";
|
|
2
|
-
import {
|
|
3
|
-
import { stat } from "../../platform/compat/fs.js";
|
|
4
|
-
import { withSpan, withSpanSync } from "../../observability/tracing/otlp-setup.js";
|
|
2
|
+
import { withSpanSync } from "../../observability/tracing/otlp-setup.js";
|
|
5
3
|
import {
|
|
6
4
|
isCrossProjectImport,
|
|
7
5
|
parseCrossProjectImport,
|
|
8
6
|
} from "../shared/cross-project-import.js";
|
|
9
7
|
|
|
10
|
-
const logger = rendererLogger.component("cross-project-import");
|
|
11
|
-
|
|
12
|
-
export interface BlockExternalUrlResult {
|
|
13
|
-
code: string;
|
|
14
|
-
blockedUrls: string[];
|
|
15
|
-
}
|
|
16
|
-
|
|
17
8
|
export { isCrossProjectImport, parseCrossProjectImport };
|
|
18
9
|
|
|
19
|
-
export interface CrossProjectImportOptions {
|
|
20
|
-
apiBaseUrl?: string;
|
|
21
|
-
ssr?: boolean;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export function resolveCrossProjectImports(
|
|
25
|
-
code: string,
|
|
26
|
-
options: CrossProjectImportOptions,
|
|
27
|
-
): Promise<string> {
|
|
28
|
-
return Promise.resolve(
|
|
29
|
-
withSpanSync(
|
|
30
|
-
"transforms.esm.resolveCrossProjectImports",
|
|
31
|
-
() => {
|
|
32
|
-
if (options.ssr ?? false) return code;
|
|
33
|
-
|
|
34
|
-
return replaceSpecifiers(code, (specifier) => {
|
|
35
|
-
const parsed = parseCrossProjectImport(specifier);
|
|
36
|
-
if (!parsed) return null;
|
|
37
|
-
|
|
38
|
-
const { projectSlug, version, path } = parsed;
|
|
39
|
-
|
|
40
|
-
const modulePath = /\.(js|mjs|jsx|ts|tsx|mdx)$/.test(path) ? path : `${path}.tsx`;
|
|
41
|
-
const projectRef = version === "latest" ? projectSlug : `${projectSlug}@${version}`;
|
|
42
|
-
const moduleServerUrl = `/_vf_modules/_cross/${projectRef}/@/${modulePath}`;
|
|
43
|
-
|
|
44
|
-
logger.debug("Rewriting", { from: specifier, to: moduleServerUrl });
|
|
45
|
-
|
|
46
|
-
return moduleServerUrl;
|
|
47
|
-
});
|
|
48
|
-
},
|
|
49
|
-
{ "transforms.ssr": options.ssr ?? false },
|
|
50
|
-
),
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
export function blockExternalUrlImports(
|
|
55
|
-
code: string,
|
|
56
|
-
_filePath: string,
|
|
57
|
-
): Promise<BlockExternalUrlResult> {
|
|
58
|
-
return Promise.resolve({ code, blockedUrls: [] });
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export function resolveVeryfrontSubpathImports(code: string, ssr = false): Promise<string> {
|
|
62
|
-
if (ssr) return Promise.resolve(code);
|
|
63
|
-
|
|
64
|
-
return Promise.resolve(
|
|
65
|
-
replaceSpecifiers(code, (specifier) => {
|
|
66
|
-
if (!specifier.startsWith("#veryfront/")) return null;
|
|
67
|
-
|
|
68
|
-
const path = specifier.substring("#veryfront/".length);
|
|
69
|
-
const normalizedPath = path.replace(/\.(tsx?|jsx)$/, ".js");
|
|
70
|
-
return `/_vf_modules/_veryfront/${normalizedPath}`;
|
|
71
|
-
}),
|
|
72
|
-
);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
10
|
function getRelativeFilePath(filePath: string, normalizedProjectDir: string): string {
|
|
76
11
|
if (filePath.startsWith(normalizedProjectDir)) {
|
|
77
12
|
return filePath.substring(normalizedProjectDir.length + 1);
|
|
@@ -177,77 +112,3 @@ function resolvePath(baseParts: string[], relativePath: string): string[] {
|
|
|
177
112
|
|
|
178
113
|
return resolvedParts;
|
|
179
114
|
}
|
|
180
|
-
|
|
181
|
-
export function resolveRelativeImportsToAbsolute(
|
|
182
|
-
code: string,
|
|
183
|
-
filePath: string,
|
|
184
|
-
_projectDir: string,
|
|
185
|
-
): Promise<string> {
|
|
186
|
-
return withSpan(
|
|
187
|
-
"transforms.esm.resolveRelativeImportsToAbsolute",
|
|
188
|
-
async () => {
|
|
189
|
-
const normalizedFilePath = filePath.replace(/\\/g, "/");
|
|
190
|
-
const fileDir = normalizedFilePath.substring(0, normalizedFilePath.lastIndexOf("/"));
|
|
191
|
-
|
|
192
|
-
const specifiersToResolve: string[] = [];
|
|
193
|
-
await replaceSpecifiers(code, (specifier) => {
|
|
194
|
-
if (specifier.startsWith("./") || specifier.startsWith("../")) {
|
|
195
|
-
specifiersToResolve.push(specifier);
|
|
196
|
-
}
|
|
197
|
-
return null;
|
|
198
|
-
});
|
|
199
|
-
|
|
200
|
-
const resolvedImports = new Map<string, string>();
|
|
201
|
-
for (const specifier of specifiersToResolve) {
|
|
202
|
-
const absolutePath = resolveAbsolutePath(fileDir, specifier);
|
|
203
|
-
const resolvedPath = await findFileWithExtension(absolutePath);
|
|
204
|
-
resolvedImports.set(specifier, `file://${resolvedPath}`);
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
return replaceSpecifiers(code, (specifier) => resolvedImports.get(specifier) ?? null);
|
|
208
|
-
},
|
|
209
|
-
{ "transforms.specifiers_count": 0 },
|
|
210
|
-
);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
async function findFileWithExtension(basePath: string): Promise<string> {
|
|
214
|
-
if (/\.(tsx?|jsx?|mjs|cjs|mdx)$/.test(basePath)) return basePath;
|
|
215
|
-
|
|
216
|
-
const extensions = [".tsx", ".ts", ".jsx", ".js", ".mdx"];
|
|
217
|
-
for (const ext of extensions) {
|
|
218
|
-
const fullPath = basePath + ext;
|
|
219
|
-
try {
|
|
220
|
-
const fileStat = await stat(fullPath);
|
|
221
|
-
if (fileStat.isFile) return fullPath;
|
|
222
|
-
} catch {
|
|
223
|
-
// ignore
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
return basePath + ".ts";
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
export function resolveRelativeImportsForNodeSSR(code: string): Promise<string> {
|
|
231
|
-
return Promise.resolve(
|
|
232
|
-
replaceSpecifiers(code, (specifier) => {
|
|
233
|
-
if (!specifier.startsWith("./") && !specifier.startsWith("../")) return null;
|
|
234
|
-
return specifier.replace(/\.(tsx|ts|jsx)$/, ".js");
|
|
235
|
-
}),
|
|
236
|
-
);
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
export function resolveRelativeImportsForSSR(code: string): Promise<string> {
|
|
240
|
-
return Promise.resolve(
|
|
241
|
-
replaceSpecifiers(code, (specifier) => {
|
|
242
|
-
if (!specifier.startsWith("./") && !specifier.startsWith("../")) return null;
|
|
243
|
-
if (/\.(js|mjs|cjs)$/.test(specifier)) return null;
|
|
244
|
-
|
|
245
|
-
const withoutExt = specifier.replace(/\.(tsx?|jsx|mdx)$/, "");
|
|
246
|
-
return `${withoutExt}.js`;
|
|
247
|
-
}),
|
|
248
|
-
);
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
function resolveAbsolutePath(baseDir: string, relativePath: string): string {
|
|
252
|
-
return `/${resolvePath(baseDir.split("/").filter(Boolean), relativePath).join("/")}`;
|
|
253
|
-
}
|
|
@@ -7,11 +7,6 @@
|
|
|
7
7
|
* @module transforms/esm/source-url-embed
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { gunzipSync } from "node:zlib";
|
|
11
|
-
import { rendererLogger } from "../../utils/index.js";
|
|
12
|
-
|
|
13
|
-
const logger = rendererLogger.component("http-cache");
|
|
14
|
-
|
|
15
10
|
/** Preserved comment format that survives minification */
|
|
16
11
|
export const VF_SOURCE_PREFIX = "/*! @vf-source: ";
|
|
17
12
|
export const VF_SOURCE_SUFFIX = " */\n";
|
|
@@ -34,51 +29,3 @@ export function extractSourceUrl(code: string): string | null {
|
|
|
34
29
|
if (endIndex === -1) return null;
|
|
35
30
|
return code.slice(VF_SOURCE_PREFIX.length, endIndex).trim();
|
|
36
31
|
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Check if code has an embedded source URL.
|
|
40
|
-
*/
|
|
41
|
-
export function _hasEmbeddedSourceUrl(code: string): boolean {
|
|
42
|
-
return code.startsWith(VF_SOURCE_PREFIX);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Decode gzip-compressed cache content.
|
|
47
|
-
* Returns the decompressed string, or null if decompression fails.
|
|
48
|
-
*/
|
|
49
|
-
export function decodeGzipContent(content: string): string | null {
|
|
50
|
-
const base64Data = content.startsWith("gz:")
|
|
51
|
-
? content.slice(3)
|
|
52
|
-
: content.startsWith("gzip:")
|
|
53
|
-
? content.slice(5)
|
|
54
|
-
: null;
|
|
55
|
-
|
|
56
|
-
if (!base64Data) return null;
|
|
57
|
-
|
|
58
|
-
try {
|
|
59
|
-
const binaryString = atob(base64Data);
|
|
60
|
-
const bytes = new Uint8Array(binaryString.length);
|
|
61
|
-
for (let i = 0; i < binaryString.length; i++) {
|
|
62
|
-
bytes[i] = binaryString.charCodeAt(i);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
const decompressed = gunzipSync(bytes);
|
|
66
|
-
return new TextDecoder().decode(decompressed);
|
|
67
|
-
} catch (error) {
|
|
68
|
-
logger.debug("Failed to decode gzip content", { error });
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Try to decode content if it's gzip-encoded, otherwise return as-is.
|
|
75
|
-
* Returns [decodedContent, wasGzipped] tuple.
|
|
76
|
-
*/
|
|
77
|
-
export function _maybeDecodeGzip(content: string): [string, boolean] {
|
|
78
|
-
if (!content.startsWith("gz:") && !content.startsWith("gzip:")) return [content, false];
|
|
79
|
-
|
|
80
|
-
const decoded = decodeGzipContent(content);
|
|
81
|
-
if (decoded) return [decoded, true];
|
|
82
|
-
|
|
83
|
-
return [content, false];
|
|
84
|
-
}
|
|
@@ -61,12 +61,6 @@ function getEffectiveCacheGateway(): TokenizingCacheGateway | CacheBackend | nul
|
|
|
61
61
|
return injectedCacheGateway !== undefined ? injectedCacheGateway : cacheGateway;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
// Backward compatibility: provide CacheBackend interface
|
|
65
|
-
function _getEffectiveCacheBackend(): CacheBackend | null {
|
|
66
|
-
const gateway = getEffectiveCacheGateway();
|
|
67
|
-
return gateway as CacheBackend | null;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
64
|
/**
|
|
71
65
|
* Inject custom caches for testing.
|
|
72
66
|
* Call with null to restore default behavior.
|
|
@@ -438,7 +432,9 @@ export async function prewarmProjectTransforms(
|
|
|
438
432
|
for (const filePath of filePaths) {
|
|
439
433
|
try {
|
|
440
434
|
const pattern = `v*:${projectId}:${filePath}:*:ssr`;
|
|
441
|
-
const scan =
|
|
435
|
+
const scan =
|
|
436
|
+
(gateway as unknown as { scan?: (pattern: string, count: number) => Promise<string[]> })
|
|
437
|
+
.scan;
|
|
442
438
|
if (typeof scan !== "function") continue;
|
|
443
439
|
|
|
444
440
|
const keys = await scan.call(gateway, pattern, 10);
|
|
@@ -9,7 +9,6 @@ import { LRUCache } from "../../utils/lru-wrapper.js";
|
|
|
9
9
|
import { MDX_RENDERER_MAX_ENTRIES, MDX_RENDERER_TTL_MS } from "../../utils/constants/cache.js";
|
|
10
10
|
import React from "react";
|
|
11
11
|
import { type ESMLoaderContext, loadModuleESM } from "./esm-module-loader/index.js";
|
|
12
|
-
import { type ParsedMDX, parseMDXCode } from "./parser.js";
|
|
13
12
|
import type { MDXComponents, MDXFrontmatter, MDXGlobals, MDXModule } from "./types.js";
|
|
14
13
|
|
|
15
14
|
export interface MDXRenderOptions {
|
|
@@ -75,10 +74,6 @@ export class MDXRenderer {
|
|
|
75
74
|
React.createElement("code", {}, "await mdxRenderer.loadModuleESM(compiledCode)"),
|
|
76
75
|
);
|
|
77
76
|
}
|
|
78
|
-
|
|
79
|
-
private parseMDXCode(compiledCode: string): ParsedMDX {
|
|
80
|
-
return parseMDXCode(compiledCode);
|
|
81
|
-
}
|
|
82
77
|
}
|
|
83
78
|
|
|
84
79
|
let mdxRendererInstance: MDXRenderer | undefined;
|
|
@@ -122,5 +122,3 @@ export function isMDX(ctx: TransformContext): boolean {
|
|
|
122
122
|
export function isTypeScript(ctx: TransformContext): boolean {
|
|
123
123
|
return ctx.filePath.endsWith(".ts") || ctx.filePath.endsWith(".tsx");
|
|
124
124
|
}
|
|
125
|
-
|
|
126
|
-
export { getExtension } from "../../utils/path-utils.js";
|
|
@@ -366,10 +366,6 @@ function buildReadFile(adapter: unknown, projectDir: string): (path: string) =>
|
|
|
366
366
|
};
|
|
367
367
|
}
|
|
368
368
|
|
|
369
|
-
export function getDefaultPlugins(ssr: boolean): TransformPlugin[] {
|
|
370
|
-
return ssr ? [...SSR_PIPELINE] : [...BROWSER_PIPELINE];
|
|
371
|
-
}
|
|
372
|
-
|
|
373
369
|
export type {
|
|
374
370
|
PipelineConfig,
|
|
375
371
|
TransformContext,
|
|
@@ -20,7 +20,6 @@ const LOG_PREFIX = "[SSR-HTTP-CACHE]";
|
|
|
20
20
|
export const ssrHttpCachePlugin: TransformPlugin = {
|
|
21
21
|
name: "ssr-http-cache",
|
|
22
22
|
stage: TransformStage.FINALIZE - 1, // Run just before finalize
|
|
23
|
-
condition: () => true,
|
|
24
23
|
|
|
25
24
|
async transform(ctx) {
|
|
26
25
|
const cachedMap = ctx.metadata.get("importMap") as ImportMapConfig | undefined;
|
|
@@ -436,7 +436,7 @@ export async function getLayoutEntity(
|
|
|
436
436
|
function getSlugFromPath(filePath: string): string {
|
|
437
437
|
const parts = filePath.split(pathHelper.sep);
|
|
438
438
|
const fileName = parts[parts.length - 1] ?? "";
|
|
439
|
-
const slug = fileName.replace(/\.(mdx?|tsx?|jsx
|
|
439
|
+
const slug = fileName.replace(/\.(mdx?|tsx?|jsx?)$/, "");
|
|
440
440
|
if (slug !== "index") return slug;
|
|
441
441
|
|
|
442
442
|
const parentDir = parts[parts.length - 2];
|
package/src/src/types/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared type definitions — server/handler types, branded IDs, React component
|
|
3
|
-
* contracts, page/request contexts, bundler config
|
|
3
|
+
* contracts, page/request contexts, and bundler config.
|
|
4
4
|
*
|
|
5
5
|
* @module types
|
|
6
6
|
*/
|
|
@@ -23,7 +23,6 @@ export type {
|
|
|
23
23
|
HandlerMetadata,
|
|
24
24
|
HandlerResult,
|
|
25
25
|
MiddlewareFunction,
|
|
26
|
-
MiddlewareFunction as ServerMiddlewareFunction,
|
|
27
26
|
ParsedDomain,
|
|
28
27
|
RouteHandlerModule,
|
|
29
28
|
RoutePattern,
|
|
@@ -119,18 +118,8 @@ export interface RequestContext {
|
|
|
119
118
|
headers?: dntShim.Headers;
|
|
120
119
|
}
|
|
121
120
|
|
|
122
|
-
export interface CacheEntry<T = unknown> {
|
|
123
|
-
value: T;
|
|
124
|
-
ttl?: number;
|
|
125
|
-
timestamp?: number;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
121
|
export type MaybePromise<T> = T | Promise<T>;
|
|
129
122
|
|
|
130
|
-
export type DeepPartial<T> = {
|
|
131
|
-
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
|
|
132
|
-
};
|
|
133
|
-
|
|
134
123
|
export interface MdxBundle {
|
|
135
124
|
compiledCode: string;
|
|
136
125
|
frontmatter?: MDXFrontmatter;
|
|
@@ -177,14 +166,6 @@ export interface ScriptPageModule {
|
|
|
177
166
|
generateMetadata?: (ctx: PageContext) => MaybePromise<Record<string, unknown>>;
|
|
178
167
|
}
|
|
179
168
|
|
|
180
|
-
export interface Bundler {
|
|
181
|
-
bundleTsxSourceToComponent?: (
|
|
182
|
-
content: string,
|
|
183
|
-
filePath: string,
|
|
184
|
-
projectDir: string,
|
|
185
|
-
) => Promise<React.ComponentType>;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
169
|
export interface RenderMetadata {
|
|
189
170
|
title?: string;
|
|
190
171
|
description?: string;
|
package/src/src/types/server.ts
CHANGED
|
@@ -145,7 +145,7 @@ export interface RouteRegistryConfig {
|
|
|
145
145
|
enableMetrics?: boolean;
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
|
|
148
|
+
type RouteHandler = (
|
|
149
149
|
req: dntShim.Request,
|
|
150
150
|
ctx: { params: Record<string, string | string[]> },
|
|
151
151
|
) => Promise<dntShim.Response> | dntShim.Response;
|
|
@@ -80,8 +80,7 @@ export async function writeCacheFile(
|
|
|
80
80
|
export async function verifyCacheFileExists(
|
|
81
81
|
fs: FileSystem,
|
|
82
82
|
path: string,
|
|
83
|
-
|
|
84
|
-
label = "cache",
|
|
83
|
+
_label = "cache",
|
|
85
84
|
): Promise<boolean> {
|
|
86
85
|
try {
|
|
87
86
|
const stat = await fs.stat(path);
|
|
@@ -96,14 +95,15 @@ export async function verifyCacheFileExists(
|
|
|
96
95
|
* (directory removed between mkdir and write).
|
|
97
96
|
*/
|
|
98
97
|
export function isCacheWriteRaceError(error: unknown): boolean {
|
|
99
|
-
|
|
100
|
-
|
|
98
|
+
if (error == null || typeof error !== "object") return false;
|
|
99
|
+
|
|
100
|
+
if ("code" in error && (error as Record<string, unknown>).code === "ENOENT") return true;
|
|
101
101
|
|
|
102
102
|
// Deno-specific NotFound
|
|
103
103
|
if (typeof dntShim.Deno !== "undefined" && error instanceof dntShim.Deno.errors.NotFound) return true;
|
|
104
104
|
|
|
105
105
|
// os error 22 (EINVAL) on some platforms when path component is gone
|
|
106
|
-
if (error instanceof TypeError &&
|
|
106
|
+
if (error instanceof TypeError && error.message.includes("os error 22")) return true;
|
|
107
107
|
|
|
108
108
|
return false;
|
|
109
109
|
}
|
|
@@ -91,12 +91,12 @@ type LoggerConfig = {
|
|
|
91
91
|
|
|
92
92
|
// ---- Config helpers (must be declared before the eager init below) ----
|
|
93
93
|
|
|
94
|
-
const LOG_LEVEL_MAP: Record<string, LogLevel
|
|
94
|
+
const LOG_LEVEL_MAP: Readonly<Record<string, LogLevel>> = {
|
|
95
95
|
DEBUG: LogLevel.DEBUG,
|
|
96
96
|
INFO: LogLevel.INFO,
|
|
97
97
|
WARN: LogLevel.WARN,
|
|
98
98
|
ERROR: LogLevel.ERROR,
|
|
99
|
-
};
|
|
99
|
+
} as const;
|
|
100
100
|
|
|
101
101
|
function parseLogLevel(levelString: string | undefined): LogLevel | undefined {
|
|
102
102
|
if (!levelString) return undefined;
|
|
@@ -33,10 +33,7 @@ export class LRUCache<K, V> {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
private startPeriodicCleanup(): void {
|
|
36
|
-
if (shouldDisableInterval())
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
|
|
36
|
+
if (shouldDisableInterval()) return;
|
|
40
37
|
this.stopCleanupTimer();
|
|
41
38
|
|
|
42
39
|
this.cleanupTimer = dntShim.setInterval(() => {
|
|
@@ -48,10 +45,7 @@ export class LRUCache<K, V> {
|
|
|
48
45
|
}
|
|
49
46
|
|
|
50
47
|
private stopCleanupTimer(): void {
|
|
51
|
-
if (!this.cleanupTimer)
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
|
|
48
|
+
if (!this.cleanupTimer) return;
|
|
55
49
|
clearInterval(this.cleanupTimer);
|
|
56
50
|
this.cleanupTimer = undefined;
|
|
57
51
|
}
|
|
@@ -86,10 +86,19 @@ export interface RedisEventPublisherConfig {
|
|
|
86
86
|
* Redis-based event publisher for distributed streaming
|
|
87
87
|
* Uses Redis Pub/Sub for real-time event delivery
|
|
88
88
|
*/
|
|
89
|
+
/** Minimal structural type for a Redis Pub/Sub client */
|
|
90
|
+
interface RedisClient {
|
|
91
|
+
connect(): Promise<void>;
|
|
92
|
+
publish(channel: string, message: string): Promise<number>;
|
|
93
|
+
subscribe(channel: string, listener: (message: string) => void): Promise<void>;
|
|
94
|
+
unsubscribe(channel: string): Promise<void>;
|
|
95
|
+
quit(): Promise<void>;
|
|
96
|
+
}
|
|
97
|
+
|
|
89
98
|
export class RedisEventPublisher implements ClaudeCodeEventPublisher, ClaudeCodeEventSubscriber {
|
|
90
99
|
private config: Required<RedisEventPublisherConfig>;
|
|
91
|
-
private publishClient:
|
|
92
|
-
private subscribeClient:
|
|
100
|
+
private publishClient: RedisClient | null = null;
|
|
101
|
+
private subscribeClient: RedisClient | null = null;
|
|
93
102
|
private initialized = false;
|
|
94
103
|
|
|
95
104
|
constructor(config: RedisEventPublisherConfig) {
|
|
@@ -106,8 +115,8 @@ export class RedisEventPublisher implements ClaudeCodeEventPublisher, ClaudeCode
|
|
|
106
115
|
// Dynamic import to avoid loading Redis if not used
|
|
107
116
|
const { createClient } = await import("redis");
|
|
108
117
|
|
|
109
|
-
this.publishClient = createClient({ url: this.config.url });
|
|
110
|
-
this.subscribeClient = createClient({ url: this.config.url });
|
|
118
|
+
this.publishClient = createClient({ url: this.config.url }) as unknown as RedisClient;
|
|
119
|
+
this.subscribeClient = createClient({ url: this.config.url }) as unknown as RedisClient;
|
|
111
120
|
|
|
112
121
|
await Promise.all([this.publishClient.connect(), this.subscribeClient.connect()]);
|
|
113
122
|
|
|
@@ -123,10 +123,15 @@ export class WorkflowExecutor {
|
|
|
123
123
|
if (!bs) return;
|
|
124
124
|
|
|
125
125
|
const resolveIfBlob = <T>(
|
|
126
|
-
ref:
|
|
126
|
+
ref: unknown,
|
|
127
127
|
fn: (id: string) => Promise<T>,
|
|
128
128
|
fallback: T,
|
|
129
|
-
): Promise<T> =>
|
|
129
|
+
): Promise<T> => {
|
|
130
|
+
const blob = ref as Record<string, unknown> | null | undefined;
|
|
131
|
+
return blob?.__kind === "blob" && typeof blob.id === "string"
|
|
132
|
+
? fn(blob.id)
|
|
133
|
+
: Promise.resolve(fallback);
|
|
134
|
+
};
|
|
130
135
|
|
|
131
136
|
this.blobResolver = {
|
|
132
137
|
getText: (ref) => resolveIfBlob(ref, (id) => bs.getText(id), null),
|
|
@@ -87,8 +87,9 @@ export function useWorkflowList(options: UseWorkflowListOptions = {}): UseWorkfl
|
|
|
87
87
|
|
|
88
88
|
if (!response.ok) throw new Error(`Failed to fetch runs: ${response.status}`);
|
|
89
89
|
|
|
90
|
-
const data:
|
|
91
|
-
|
|
90
|
+
const data: { runs?: WorkflowRun[]; cursor?: string; totalCount?: number } = await response
|
|
91
|
+
.json();
|
|
92
|
+
const fetchedRuns: WorkflowRun[] = data.runs ?? (data as unknown as WorkflowRun[]);
|
|
92
93
|
const nextCursor: string | undefined = data.cursor;
|
|
93
94
|
const total: number | undefined = data.totalCount;
|
|
94
95
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/src/transforms/mdx/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA6B,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvE,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CA0D5D"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { rendererLogger as logger } from "../../utils/index.js";
|
|
2
|
-
import { extractFrontmatter, extractMetadata } from "./esm-module-loader/metadata/index.js";
|
|
3
|
-
export function parseMDXCode(compiledCode) {
|
|
4
|
-
logger.debug("Parsing MDX code, first 200 chars:", compiledCode.substring(0, 200));
|
|
5
|
-
const importRegex = /^\s*import\s+(?:{([^}]+)}|(\w+))\s+from\s+['"]([^'"]+)['"]\s*;?\s*$/gm;
|
|
6
|
-
const imports = new Map();
|
|
7
|
-
for (const match of compiledCode.matchAll(importRegex)) {
|
|
8
|
-
const path = match[3];
|
|
9
|
-
if (!path)
|
|
10
|
-
continue;
|
|
11
|
-
const namedImports = match[1];
|
|
12
|
-
if (namedImports) {
|
|
13
|
-
for (const name of namedImports.split(",").map((n) => n.trim())) {
|
|
14
|
-
imports.set(name, { name, path, isDefault: false });
|
|
15
|
-
}
|
|
16
|
-
continue;
|
|
17
|
-
}
|
|
18
|
-
const defaultImport = match[2];
|
|
19
|
-
if (!defaultImport)
|
|
20
|
-
continue;
|
|
21
|
-
imports.set(defaultImport, { name: defaultImport, path, isDefault: true });
|
|
22
|
-
}
|
|
23
|
-
const cleanedCode = compiledCode
|
|
24
|
-
.replace(importRegex, "")
|
|
25
|
-
.replace(/^\s*export\s+\{[\s\S]*?\};?\s*$/gm, "")
|
|
26
|
-
.replace(/^\s*export\s+default\s+function/gm, "function")
|
|
27
|
-
.replace(/^\s*export\s+default\s+/gm, "")
|
|
28
|
-
.replace(/^\s*export\s+(const|function)\s+/gm, "$1 ")
|
|
29
|
-
.replace(/^\s*import\s+React\s+from.*?;?\s*$/gm, "")
|
|
30
|
-
.replace(/^\s*const\s+(React|Fragment|Fragment2|jsx|jsx2|jsxs|jsxs2)\s*=.*?;?\s*$/gm, "");
|
|
31
|
-
if (cleanedCode.includes("import React")) {
|
|
32
|
-
logger.warn("Import React still in cleaned code");
|
|
33
|
-
}
|
|
34
|
-
if (cleanedCode.includes("const React") || cleanedCode.includes("var React")) {
|
|
35
|
-
logger.warn("React declaration found in cleaned code");
|
|
36
|
-
logger.debug("Code snippet:", cleanedCode.substring(0, 200));
|
|
37
|
-
}
|
|
38
|
-
const exports = {};
|
|
39
|
-
const frontmatter = extractFrontmatter(cleanedCode);
|
|
40
|
-
if (frontmatter)
|
|
41
|
-
exports.frontmatter = frontmatter;
|
|
42
|
-
const metadata = extractMetadata(cleanedCode);
|
|
43
|
-
for (const [key, value] of Object.entries(metadata)) {
|
|
44
|
-
if (value === undefined)
|
|
45
|
-
continue;
|
|
46
|
-
exports[key] = value;
|
|
47
|
-
}
|
|
48
|
-
return { code: cleanedCode, imports, exports };
|
|
49
|
-
}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { rendererLogger as logger } from "../../utils/index.js";
|
|
2
|
-
import type { MDXExports, MDXImportInfo, ParsedMDX } from "./types.js";
|
|
3
|
-
import { extractFrontmatter, extractMetadata } from "./esm-module-loader/metadata/index.js";
|
|
4
|
-
|
|
5
|
-
export type { ParsedMDX };
|
|
6
|
-
|
|
7
|
-
export function parseMDXCode(compiledCode: string): ParsedMDX {
|
|
8
|
-
logger.debug("Parsing MDX code, first 200 chars:", compiledCode.substring(0, 200));
|
|
9
|
-
|
|
10
|
-
const importRegex = /^\s*import\s+(?:{([^}]+)}|(\w+))\s+from\s+['"]([^'"]+)['"]\s*;?\s*$/gm;
|
|
11
|
-
|
|
12
|
-
const imports = new Map<string, MDXImportInfo>();
|
|
13
|
-
|
|
14
|
-
for (const match of compiledCode.matchAll(importRegex)) {
|
|
15
|
-
const path = match[3];
|
|
16
|
-
if (!path) continue;
|
|
17
|
-
|
|
18
|
-
const namedImports = match[1];
|
|
19
|
-
if (namedImports) {
|
|
20
|
-
for (const name of namedImports.split(",").map((n) => n.trim())) {
|
|
21
|
-
imports.set(name, { name, path, isDefault: false });
|
|
22
|
-
}
|
|
23
|
-
continue;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const defaultImport = match[2];
|
|
27
|
-
if (!defaultImport) continue;
|
|
28
|
-
|
|
29
|
-
imports.set(defaultImport, { name: defaultImport, path, isDefault: true });
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
const cleanedCode = compiledCode
|
|
33
|
-
.replace(importRegex, "")
|
|
34
|
-
.replace(/^\s*export\s+\{[\s\S]*?\};?\s*$/gm, "")
|
|
35
|
-
.replace(/^\s*export\s+default\s+function/gm, "function")
|
|
36
|
-
.replace(/^\s*export\s+default\s+/gm, "")
|
|
37
|
-
.replace(/^\s*export\s+(const|function)\s+/gm, "$1 ")
|
|
38
|
-
.replace(/^\s*import\s+React\s+from.*?;?\s*$/gm, "")
|
|
39
|
-
.replace(
|
|
40
|
-
/^\s*const\s+(React|Fragment|Fragment2|jsx|jsx2|jsxs|jsxs2)\s*=.*?;?\s*$/gm,
|
|
41
|
-
"",
|
|
42
|
-
);
|
|
43
|
-
|
|
44
|
-
if (cleanedCode.includes("import React")) {
|
|
45
|
-
logger.warn("Import React still in cleaned code");
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
if (cleanedCode.includes("const React") || cleanedCode.includes("var React")) {
|
|
49
|
-
logger.warn("React declaration found in cleaned code");
|
|
50
|
-
logger.debug("Code snippet:", cleanedCode.substring(0, 200));
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const exports: MDXExports = {};
|
|
54
|
-
|
|
55
|
-
const frontmatter = extractFrontmatter(cleanedCode);
|
|
56
|
-
if (frontmatter) exports.frontmatter = frontmatter;
|
|
57
|
-
|
|
58
|
-
const metadata = extractMetadata(cleanedCode);
|
|
59
|
-
for (const [key, value] of Object.entries(metadata)) {
|
|
60
|
-
if (value === undefined) continue;
|
|
61
|
-
(exports as Record<string, unknown>)[key] = value;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
return { code: cleanedCode, imports, exports };
|
|
65
|
-
}
|