veryfront 0.1.49 → 0.1.51
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/_dnt.polyfills.d.ts +8 -7
- package/esm/_dnt.polyfills.d.ts.map +1 -1
- package/esm/_dnt.polyfills.js +121 -109
- package/esm/cli/commands/dev/command.d.ts.map +1 -1
- package/esm/cli/commands/dev/command.js +0 -1
- package/esm/cli/commands/generate/integration-generator.d.ts +8 -0
- package/esm/cli/commands/generate/integration-generator.d.ts.map +1 -1
- package/esm/cli/commands/generate/integration-generator.js +322 -34
- package/esm/cli/commands/install/types.d.ts +2 -2
- package/esm/cli/commands/serve/handler.d.ts +1 -1
- package/esm/cli/commands/start/command.d.ts.map +1 -1
- package/esm/cli/commands/start/command.js +0 -1
- package/esm/cli/commands/studio/handler.d.ts +1 -1
- package/esm/cli/mcp/remote-file-tools.d.ts +6 -6
- package/esm/cli/mcp/server.d.ts.map +1 -1
- package/esm/cli/mcp/server.js +0 -2
- package/esm/cli/mcp/tools.d.ts +2 -2
- package/esm/cli/shared/server-startup.d.ts +0 -1
- package/esm/cli/shared/server-startup.d.ts.map +1 -1
- package/esm/cli/shared/server-startup.js +0 -1
- package/esm/cli/templates/index.d.ts.map +1 -1
- package/esm/cli/templates/index.js +1 -16
- package/esm/cli/templates/manifest.js +12 -12
- package/esm/cli/ui/ansi.js +1 -1
- package/esm/deno.js +1 -1
- package/esm/src/agent/ai-defaults.d.ts +0 -95
- package/esm/src/agent/ai-defaults.d.ts.map +1 -1
- package/esm/src/agent/ai-defaults.js +4 -56
- package/esm/src/agent/chat-handler.d.ts +1 -1
- package/esm/src/agent/chat-handler.d.ts.map +1 -1
- package/esm/src/agent/chat-handler.js +30 -14
- package/esm/src/agent/factory.d.ts.map +1 -1
- package/esm/src/agent/factory.js +13 -5
- package/esm/src/agent/index.d.ts +3 -10
- package/esm/src/agent/index.d.ts.map +1 -1
- package/esm/src/agent/index.js +2 -7
- package/esm/src/agent/memory/redis.d.ts.map +1 -1
- package/esm/src/agent/memory/redis.js +3 -2
- package/esm/src/agent/react/use-agent.d.ts +2 -2
- package/esm/src/agent/react/use-agent.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/browser-inference/browser-engine.d.ts +2 -1
- package/esm/src/agent/react/use-chat/browser-inference/browser-engine.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/browser-inference/browser-engine.js +9 -1
- package/esm/src/agent/react/use-chat/browser-inference/types.d.ts +7 -6
- package/esm/src/agent/react/use-chat/browser-inference/types.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/browser-inference/worker-client.d.ts +2 -1
- package/esm/src/agent/react/use-chat/browser-inference/worker-client.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 +11 -5
- package/esm/src/agent/react/use-chat/types.d.ts +3 -2
- package/esm/src/agent/react/use-chat/types.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/use-chat.js +4 -4
- package/esm/src/agent/react/use-voice-input.js +2 -2
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +16 -10
- package/esm/src/agent/runtime/input-utils.d.ts.map +1 -1
- package/esm/src/agent/runtime/input-utils.js +2 -1
- package/esm/src/agent/runtime/model-resolution.d.ts +4 -0
- package/esm/src/agent/runtime/model-resolution.d.ts.map +1 -0
- package/esm/src/agent/runtime/model-resolution.js +10 -0
- package/esm/src/agent/runtime/tool-helpers.d.ts.map +1 -1
- package/esm/src/agent/runtime/tool-helpers.js +3 -1
- package/esm/src/agent/types.d.ts +12 -2
- package/esm/src/agent/types.d.ts.map +1 -1
- package/esm/src/agent/types.js +4 -1
- package/esm/src/build/bundler/code-splitter/entry-points.d.ts +2 -1
- package/esm/src/build/bundler/code-splitter/entry-points.d.ts.map +1 -1
- package/esm/src/build/bundler/code-splitter/index.d.ts.map +1 -1
- package/esm/src/build/bundler/code-splitter/index.js +4 -2
- package/esm/src/build/compiler/mdx-compiler/directory-compiler.d.ts +0 -1
- package/esm/src/build/compiler/mdx-compiler/directory-compiler.d.ts.map +1 -1
- package/esm/src/build/compiler/mdx-compiler/directory-compiler.js +1 -1
- package/esm/src/build/compiler/mdx-compiler/frontmatter-parser.d.ts +2 -1
- package/esm/src/build/compiler/mdx-compiler/frontmatter-parser.d.ts.map +1 -1
- package/esm/src/build/compiler/mdx-compiler/frontmatter-parser.js +4 -2
- package/esm/src/build/compiler/mdx-compiler/mdx-processor.d.ts +2 -1
- package/esm/src/build/compiler/mdx-compiler/mdx-processor.d.ts.map +1 -1
- package/esm/src/build/compiler/mdx-compiler/types.d.ts +2 -1
- package/esm/src/build/compiler/mdx-compiler/types.d.ts.map +1 -1
- package/esm/src/build/compiler/mdx-compiler/validator.d.ts.map +1 -1
- package/esm/src/build/compiler/mdx-compiler/validator.js +4 -3
- package/esm/src/build/compiler/mdx-compiler/watcher.js +2 -1
- package/esm/src/build/compiler/mdx-to-js.d.ts +2 -1
- package/esm/src/build/compiler/mdx-to-js.d.ts.map +1 -1
- package/esm/src/build/config/environment.d.ts.map +1 -1
- package/esm/src/build/config/environment.js +8 -2
- package/esm/src/build/embedded/preset.d.ts +2 -1
- package/esm/src/build/embedded/preset.d.ts.map +1 -1
- package/esm/src/build/embedded/preset.js +6 -6
- package/esm/src/build/production-build/asset-generation.js +2 -2
- package/esm/src/build/production-build/build/build-cleanup.d.ts.map +1 -1
- package/esm/src/build/production-build/build/build-cleanup.js +2 -9
- package/esm/src/build/production-build/client-runtime.d.ts.map +1 -1
- package/esm/src/build/production-build/client-runtime.js +6 -4
- package/esm/src/build/production-build/templates.d.ts.map +1 -1
- package/esm/src/build/production-build/templates.js +2 -2
- package/esm/src/cache/backends/api.d.ts.map +1 -1
- package/esm/src/cache/backends/api.js +13 -5
- package/esm/src/cache/backends/disk.d.ts.map +1 -1
- package/esm/src/cache/backends/disk.js +2 -1
- package/esm/src/cache/backends/factory.d.ts.map +1 -1
- package/esm/src/cache/backends/factory.js +2 -1
- package/esm/src/cache/backends/memory.d.ts.map +1 -1
- package/esm/src/cache/backends/memory.js +5 -3
- package/esm/src/cache/cache-key-builder.d.ts.map +1 -1
- package/esm/src/cache/cache-key-builder.js +7 -3
- package/esm/src/cache/config-hash.d.ts +2 -1
- package/esm/src/cache/config-hash.d.ts.map +1 -1
- package/esm/src/cache/dependency-graph.js +2 -1
- package/esm/src/cache/distributed-cache-init.d.ts +2 -1
- package/esm/src/cache/distributed-cache-init.d.ts.map +1 -1
- package/esm/src/cache/keys/builders/file.d.ts.map +1 -1
- package/esm/src/cache/keys/builders/file.js +4 -1
- package/esm/src/cache/keys/builders/render.d.ts.map +1 -1
- package/esm/src/cache/keys/builders/render.js +7 -2
- package/esm/src/cache/registry.d.ts.map +1 -1
- package/esm/src/cache/registry.js +7 -2
- package/esm/src/config/environment-config.d.ts.map +1 -1
- package/esm/src/config/environment-config.js +10 -2
- package/esm/src/config/loader.d.ts.map +1 -1
- package/esm/src/config/loader.js +20 -4
- package/esm/src/config/runtime-config.d.ts.map +1 -1
- package/esm/src/config/runtime-config.js +3 -1
- package/esm/src/data/data-fetcher.d.ts +1 -1
- package/esm/src/data/data-fetcher.d.ts.map +1 -1
- package/esm/src/data/data-fetcher.js +1 -2
- package/esm/src/data/static-data-fetcher.js +2 -2
- package/esm/src/discovery/file-discovery.d.ts +0 -9
- package/esm/src/discovery/file-discovery.d.ts.map +1 -1
- package/esm/src/discovery/file-discovery.js +3 -2
- package/esm/src/discovery/handlers/skill-handler.d.ts +3 -2
- package/esm/src/discovery/handlers/skill-handler.d.ts.map +1 -1
- package/esm/src/discovery/import-rewriter.d.ts.map +1 -1
- package/esm/src/discovery/import-rewriter.js +8 -5
- package/esm/src/discovery/transpiler.d.ts.map +1 -1
- package/esm/src/discovery/transpiler.js +8 -2
- package/esm/src/embedding/chunk.d.ts.map +1 -1
- package/esm/src/embedding/chunk.js +6 -2
- package/esm/src/embedding/embedding.d.ts +0 -1
- package/esm/src/embedding/embedding.d.ts.map +1 -1
- package/esm/src/embedding/embedding.js +4 -3
- package/esm/src/embedding/index.d.ts +4 -4
- package/esm/src/embedding/index.d.ts.map +1 -1
- package/esm/src/embedding/index.js +3 -3
- package/esm/src/embedding/model-resolution.d.ts +4 -0
- package/esm/src/embedding/model-resolution.d.ts.map +1 -0
- package/esm/src/embedding/model-resolution.js +16 -0
- package/esm/src/embedding/rag-store.d.ts +27 -0
- package/esm/src/embedding/rag-store.d.ts.map +1 -0
- package/esm/src/embedding/{upload-store.js → rag-store.js} +153 -48
- package/esm/src/embedding/react/use-uploads.d.ts +2 -2
- package/esm/src/embedding/react/use-uploads.d.ts.map +1 -1
- package/esm/src/embedding/react/use-uploads.js +6 -3
- package/esm/src/embedding/resolve.d.ts +2 -1
- package/esm/src/embedding/resolve.d.ts.map +1 -1
- package/esm/src/embedding/resolve.js +4 -0
- package/esm/src/embedding/types.d.ts +27 -16
- package/esm/src/embedding/types.d.ts.map +1 -1
- package/esm/src/embedding/upload-handler.d.ts +6 -4
- package/esm/src/embedding/upload-handler.d.ts.map +1 -1
- package/esm/src/embedding/upload-handler.js +81 -7
- package/esm/src/embedding/upload-loader.js +1 -1
- package/esm/src/embedding/veryfront-cloud/provider.d.ts +3 -0
- package/esm/src/embedding/veryfront-cloud/provider.d.ts.map +1 -0
- package/esm/src/embedding/veryfront-cloud/provider.js +30 -0
- package/esm/src/embedding/veryfront-cloud/rag-store.d.ts +7 -0
- package/esm/src/embedding/veryfront-cloud/rag-store.d.ts.map +1 -0
- package/esm/src/embedding/veryfront-cloud/rag-store.js +360 -0
- package/esm/src/errors/catalog/general-errors.d.ts.map +1 -1
- package/esm/src/errors/catalog/general-errors.js +5 -0
- package/esm/src/errors/error-context.d.ts.map +1 -1
- package/esm/src/errors/error-context.js +3 -0
- package/esm/src/errors/error-handlers.d.ts.map +1 -1
- package/esm/src/errors/error-handlers.js +3 -2
- package/esm/src/errors/error-registry.d.ts +2 -0
- package/esm/src/errors/error-registry.d.ts.map +1 -1
- package/esm/src/errors/error-registry.js +8 -0
- package/esm/src/errors/index.d.ts +1 -1
- package/esm/src/errors/index.d.ts.map +1 -1
- package/esm/src/errors/index.js +1 -1
- package/esm/src/errors/logging.d.ts.map +1 -1
- package/esm/src/errors/logging.js +8 -6
- package/esm/src/errors/types.d.ts +2 -0
- package/esm/src/errors/types.d.ts.map +1 -1
- package/esm/src/errors/types.js +1 -1
- package/esm/src/errors/veryfront-error.d.ts +2 -6
- package/esm/src/errors/veryfront-error.d.ts.map +1 -1
- package/esm/src/errors/veryfront-error.js +0 -1
- package/esm/src/html/dev-scripts.d.ts +2 -1
- package/esm/src/html/dev-scripts.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/dev-error-logger.js +1 -1
- package/esm/src/html/hydration-script-builder/dev-scripts.d.ts +2 -1
- package/esm/src/html/hydration-script-builder/dev-scripts.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/renderer.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/renderer.js +4 -3
- package/esm/src/html/hydration-script-builder/templates/router.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/router.js +5 -4
- package/esm/src/html/schemas/html.schema.d.ts +2 -2
- package/esm/src/html/styles-builder/css-hash-cache.d.ts +2 -1
- package/esm/src/html/styles-builder/css-hash-cache.d.ts.map +1 -1
- package/esm/src/html/styles-builder/css-hash-cache.js +16 -14
- package/esm/src/html/styles-builder/css-pregeneration.d.ts +2 -1
- package/esm/src/html/styles-builder/css-pregeneration.d.ts.map +1 -1
- package/esm/src/html/styles-builder/index.d.ts +1 -1
- package/esm/src/html/styles-builder/index.d.ts.map +1 -1
- package/esm/src/html/styles-builder/index.js +1 -1
- package/esm/src/html/styles-builder/plugin-loader.d.ts +1 -1
- package/esm/src/html/styles-builder/plugin-loader.d.ts.map +1 -1
- package/esm/src/html/styles-builder/plugin-loader.js +35 -27
- package/esm/src/html/styles-builder/project-css-cache.d.ts +4 -3
- package/esm/src/html/styles-builder/project-css-cache.d.ts.map +1 -1
- package/esm/src/html/styles-builder/tailwind-compiler-cache.d.ts.map +1 -1
- package/esm/src/html/styles-builder/tailwind-compiler-cache.js +10 -4
- package/esm/src/html/styles-builder/tailwind-compiler-utils.d.ts +5 -4
- package/esm/src/html/styles-builder/tailwind-compiler-utils.d.ts.map +1 -1
- package/esm/src/html/styles-builder/tailwind-compiler-utils.js +4 -2
- package/esm/src/html/styles-builder/tailwind-compiler.d.ts +0 -2
- package/esm/src/html/styles-builder/tailwind-compiler.d.ts.map +1 -1
- package/esm/src/html/styles-builder/tailwind-compiler.js +5 -8
- package/esm/src/html/utils.d.ts +2 -1
- package/esm/src/html/utils.d.ts.map +1 -1
- package/esm/src/html/utils.js +2 -2
- package/esm/src/integrations/endpoint-executor.d.ts.map +1 -1
- package/esm/src/integrations/endpoint-executor.js +5 -2
- package/esm/src/integrations/schema.d.ts +2 -2
- package/esm/src/integrations/types.d.ts +2 -1
- package/esm/src/integrations/types.d.ts.map +1 -1
- package/esm/src/issues/core.d.ts.map +1 -1
- package/esm/src/issues/core.js +8 -5
- package/esm/src/issues/schemas/issue.schema.d.ts +14 -14
- package/esm/src/mcp/server.d.ts.map +1 -1
- package/esm/src/mcp/server.js +4 -3
- package/esm/src/mcp/types.d.ts.map +1 -1
- package/esm/src/middleware/builtin/security/redis-rate-limit.d.ts.map +1 -1
- package/esm/src/middleware/builtin/security/redis-rate-limit.js +2 -1
- package/esm/src/middleware/builtin/timeout.js +1 -1
- package/esm/src/modules/component-registry/registry.d.ts.map +1 -1
- package/esm/src/modules/component-registry/registry.js +5 -3
- package/esm/src/modules/import-map/default-import-map.js +1 -1
- package/esm/src/modules/import-map/loader.js +6 -6
- package/esm/src/modules/import-map/preloader.d.ts +3 -3
- package/esm/src/modules/import-map/preloader.d.ts.map +1 -1
- package/esm/src/modules/import-map/preloader.js +12 -10
- package/esm/src/modules/import-map/resolver.d.ts.map +1 -1
- package/esm/src/modules/import-map/resolver.js +2 -1
- package/esm/src/modules/react-loader/ssr-module-loader/cache/memory.js +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/concurrency/semaphore.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/concurrency/semaphore.js +3 -1
- package/esm/src/modules/react-loader/ssr-module-loader/cross-project-import-loader.d.ts +3 -2
- package/esm/src/modules/react-loader/ssr-module-loader/cross-project-import-loader.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/cross-project-import-loader.js +7 -2
- package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.d.ts +0 -5
- package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.js +8 -4
- package/esm/src/modules/react-loader/ssr-module-loader/loader.js +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/preflight-imports.d.ts +2 -1
- package/esm/src/modules/react-loader/ssr-module-loader/preflight-imports.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/preflight-imports.js +2 -1
- package/esm/src/modules/react-loader/ssr-module-loader/ssr-cache-manager.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/ssr-cache-manager.js +19 -7
- package/esm/src/modules/react-loader/ssr-module-loader/vf-module-resolver.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/vf-module-resolver.js +12 -2
- package/esm/src/modules/react-loader/unified-loader.js +2 -2
- package/esm/src/modules/server/module-batch-handler.d.ts.map +1 -1
- package/esm/src/modules/server/module-batch-handler.js +10 -6
- package/esm/src/modules/server/module-server.d.ts +0 -7
- package/esm/src/modules/server/module-server.d.ts.map +1 -1
- package/esm/src/modules/server/module-server.js +12 -36
- package/esm/src/modules/server/ssr-import-rewriter.d.ts +2 -1
- package/esm/src/modules/server/ssr-import-rewriter.d.ts.map +1 -1
- package/esm/src/modules/server/websocket-handler.js +1 -1
- package/esm/src/oauth/providers/base.d.ts.map +1 -1
- package/esm/src/oauth/providers/base.js +44 -16
- package/esm/src/oauth/token-store/memory.d.ts +0 -2
- package/esm/src/oauth/token-store/memory.d.ts.map +1 -1
- package/esm/src/oauth/token-store/memory.js +4 -4
- package/esm/src/observability/auto-instrument/http-instrumentation.js +2 -2
- package/esm/src/observability/auto-instrument/types.d.ts +3 -8
- package/esm/src/observability/auto-instrument/types.d.ts.map +1 -1
- package/esm/src/observability/error-collector.d.ts.map +1 -1
- package/esm/src/observability/error-collector.js +6 -3
- package/esm/src/observability/log-buffer.d.ts.map +1 -1
- package/esm/src/observability/log-buffer.js +4 -3
- package/esm/src/observability/metrics/config.d.ts.map +1 -1
- package/esm/src/observability/metrics/config.js +4 -3
- package/esm/src/observability/simple-metrics/metrics-recorder.d.ts.map +1 -1
- package/esm/src/observability/simple-metrics/metrics-recorder.js +9 -5
- package/esm/src/observability/simple-metrics/otel-instruments.js +2 -2
- package/esm/src/observability/tracing/config.js +2 -2
- package/esm/src/platform/adapters/detect.d.ts +0 -1
- package/esm/src/platform/adapters/detect.d.ts.map +1 -1
- package/esm/src/platform/adapters/detect.js +0 -2
- package/esm/src/platform/adapters/fs/factory.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/factory.js +2 -4
- package/esm/src/platform/adapters/fs/github/adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/github/adapter.js +2 -1
- package/esm/src/platform/adapters/fs/github/github-api-client.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/github/github-api-client.js +5 -2
- package/esm/src/platform/adapters/fs/github/stat-operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/github/stat-operations.js +2 -1
- package/esm/src/platform/adapters/fs/github/types.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/github/types.js +12 -6
- package/esm/src/platform/adapters/fs/veryfront/adapter-content-context.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/adapter-content-context.js +7 -2
- package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/adapter.js +12 -6
- package/esm/src/platform/adapters/fs/veryfront/api-search-circuit-breaker.d.ts +2 -1
- package/esm/src/platform/adapters/fs/veryfront/api-search-circuit-breaker.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/content-metrics.d.ts +1 -1
- package/esm/src/platform/adapters/fs/veryfront/content-metrics.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/file-list-index.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/file-list-index.js +2 -1
- package/esm/src/platform/adapters/fs/veryfront/in-flight-dedupe.d.ts +4 -3
- package/esm/src/platform/adapters/fs/veryfront/in-flight-dedupe.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.d.ts +1 -1
- package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.js +15 -7
- package/esm/src/platform/adapters/fs/veryfront/proxy-manager.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/proxy-manager.js +23 -16
- package/esm/src/platform/adapters/fs/veryfront/read-operations-helpers.d.ts +2 -2
- package/esm/src/platform/adapters/fs/veryfront/read-operations-helpers.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/read-operations-helpers.js +5 -2
- package/esm/src/platform/adapters/fs/veryfront/read-operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/read-operations.js +8 -4
- package/esm/src/platform/adapters/fs/veryfront/retry.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/retry.js +1 -0
- package/esm/src/platform/adapters/fs/veryfront/stat-operations-helpers.d.ts +2 -1
- package/esm/src/platform/adapters/fs/veryfront/stat-operations-helpers.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/stat-operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/stat-operations.js +6 -3
- package/esm/src/platform/adapters/fs/veryfront/types.d.ts +1 -4
- package/esm/src/platform/adapters/fs/veryfront/types.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/websocket-manager.d.ts +2 -1
- package/esm/src/platform/adapters/fs/veryfront/websocket-manager.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/websocket-manager.js +33 -20
- package/esm/src/platform/adapters/redis/modules.d.ts.map +1 -1
- package/esm/src/platform/adapters/redis/modules.js +9 -2
- package/esm/src/platform/adapters/registry.d.ts.map +1 -1
- package/esm/src/platform/adapters/registry.js +23 -10
- package/esm/src/platform/adapters/runtime/bun/filesystem-adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/bun/filesystem-adapter.js +5 -3
- package/esm/src/platform/adapters/runtime/deno/adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/deno/adapter.js +23 -12
- package/esm/src/platform/adapters/runtime/node/filesystem-adapter.js +2 -2
- package/esm/src/platform/adapters/runtime/node/http-server.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/node/http-server.js +14 -4
- package/esm/src/platform/adapters/runtime/node/websocket-adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/node/websocket-adapter.js +10 -6
- package/esm/src/platform/adapters/runtime/shared/server-lifecycle.d.ts +0 -1
- package/esm/src/platform/adapters/runtime/shared/server-lifecycle.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/shared/server-lifecycle.js +1 -1
- package/esm/src/platform/adapters/runtime/shared/shared-watcher.d.ts.map +1 -1
- package/esm/src/platform/adapters/runtime/shared/shared-watcher.js +8 -4
- package/esm/src/platform/adapters/veryfront-api-client/client.d.ts +6 -6
- package/esm/src/platform/adapters/veryfront-api-client/client.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/client.js +11 -6
- package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/operations.js +13 -4
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/retry-handler.js +1 -0
- package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.d.ts +34 -34
- package/esm/src/platform/cloud/resolver.d.ts +17 -0
- package/esm/src/platform/cloud/resolver.d.ts.map +1 -0
- package/esm/src/platform/cloud/resolver.js +67 -0
- package/esm/src/platform/compat/console/index.d.ts.map +1 -1
- package/esm/src/platform/compat/console/index.js +2 -1
- package/esm/src/platform/compat/dynamic-import.d.ts +1 -1
- package/esm/src/platform/compat/dynamic-import.d.ts.map +1 -1
- package/esm/src/platform/compat/dynamic-import.js +0 -1
- package/esm/src/platform/compat/esbuild-init.js +7 -6
- package/esm/src/platform/compat/esbuild.d.ts +0 -1
- package/esm/src/platform/compat/esbuild.d.ts.map +1 -1
- package/esm/src/platform/compat/esbuild.js +15 -13
- package/esm/src/platform/compat/fs.d.ts.map +1 -1
- package/esm/src/platform/compat/fs.js +29 -14
- package/esm/src/platform/compat/http/node-server.d.ts.map +1 -1
- package/esm/src/platform/compat/http/node-server.js +5 -3
- package/esm/src/platform/compat/http/responses.d.ts.map +1 -1
- package/esm/src/platform/compat/http/responses.js +4 -2
- package/esm/src/platform/compat/http/websocket.d.ts.map +1 -1
- package/esm/src/platform/compat/http/websocket.js +5 -2
- package/esm/src/platform/compat/opaque-deps.d.ts +0 -16
- package/esm/src/platform/compat/opaque-deps.d.ts.map +1 -1
- package/esm/src/platform/compat/opaque-deps.js +5 -0
- package/esm/src/platform/compat/path/basic-operations.d.ts.map +1 -1
- package/esm/src/platform/compat/path/basic-operations.js +4 -7
- package/esm/src/platform/compat/path/parse-format.js +3 -3
- package/esm/src/platform/compat/path/resolution.d.ts.map +1 -1
- package/esm/src/platform/compat/path/resolution.js +5 -8
- package/esm/src/platform/compat/path/runtime.js +2 -2
- package/esm/src/platform/compat/path/url-conversion.d.ts.map +1 -1
- package/esm/src/platform/compat/path/url-conversion.js +2 -1
- package/esm/src/platform/compat/process.d.ts +12 -0
- package/esm/src/platform/compat/process.d.ts.map +1 -1
- package/esm/src/platform/compat/process.js +86 -63
- package/esm/src/platform/compat/react-paths.js +2 -2
- package/esm/src/platform/compat/runtime.d.ts.map +1 -1
- package/esm/src/platform/compat/runtime.js +2 -1
- package/esm/src/platform/compat/stdin.d.ts.map +1 -1
- package/esm/src/platform/compat/stdin.js +12 -7
- package/esm/src/platform/core-platform.d.ts +3 -2
- package/esm/src/platform/core-platform.d.ts.map +1 -1
- package/esm/src/platform/core-platform.js +25 -8
- package/esm/src/prompt/schemas/prompt.schema.d.ts +2 -2
- package/esm/src/provider/local/ai-sdk-adapter.d.ts.map +1 -1
- package/esm/src/provider/local/ai-sdk-adapter.js +3 -1
- package/esm/src/provider/local/env.d.ts +1 -1
- package/esm/src/provider/local/env.d.ts.map +1 -1
- package/esm/src/provider/local/env.js +4 -4
- package/esm/src/provider/local/local-embedding-engine.d.ts.map +1 -1
- package/esm/src/provider/local/local-embedding-engine.js +2 -2
- package/esm/src/provider/local/local-engine.d.ts +16 -1
- package/esm/src/provider/local/local-engine.d.ts.map +1 -1
- package/esm/src/provider/local/local-engine.js +38 -36
- package/esm/src/provider/model-registry.d.ts.map +1 -1
- package/esm/src/provider/model-registry.js +28 -4
- package/esm/src/provider/veryfront-cloud/provider.d.ts +3 -0
- package/esm/src/provider/veryfront-cloud/provider.d.ts.map +1 -0
- package/esm/src/provider/veryfront-cloud/provider.js +48 -0
- package/esm/src/provider/veryfront-cloud/shared.d.ts +25 -0
- package/esm/src/provider/veryfront-cloud/shared.d.ts.map +1 -0
- package/esm/src/provider/veryfront-cloud/shared.js +89 -0
- package/esm/src/proxy/cache/memory-cache.d.ts.map +1 -1
- package/esm/src/proxy/cache/memory-cache.js +3 -2
- package/esm/src/proxy/cache/redis-cache.d.ts +1 -0
- package/esm/src/proxy/cache/redis-cache.d.ts.map +1 -1
- package/esm/src/proxy/cache/redis-cache.js +26 -19
- package/esm/src/proxy/cache/resilient-cache.d.ts.map +1 -1
- package/esm/src/proxy/cache/resilient-cache.js +11 -1
- package/esm/src/proxy/handler.d.ts.map +1 -1
- package/esm/src/proxy/handler.js +6 -4
- package/esm/src/proxy/logger.d.ts +1 -5
- package/esm/src/proxy/logger.d.ts.map +1 -1
- package/esm/src/proxy/logger.js +5 -4
- package/esm/src/proxy/main.js +9 -6
- package/esm/src/proxy/oauth-client.d.ts +2 -1
- package/esm/src/proxy/oauth-client.d.ts.map +1 -1
- package/esm/src/proxy/oauth-client.js +8 -3
- package/esm/src/proxy/renderer-router.js +1 -1
- package/esm/src/proxy/token-manager.d.ts +2 -1
- package/esm/src/proxy/token-manager.d.ts.map +1 -1
- package/esm/src/proxy/token-manager.js +12 -9
- package/esm/src/proxy/tracing.d.ts.map +1 -1
- package/esm/src/proxy/tracing.js +6 -5
- package/esm/src/react/compat/config-generator.d.ts +2 -1
- package/esm/src/react/compat/config-generator.d.ts.map +1 -1
- package/esm/src/react/compat/hooks-adapter.d.ts +4 -5
- package/esm/src/react/compat/hooks-adapter.d.ts.map +1 -1
- package/esm/src/react/compat/hooks-adapter.js +30 -21
- package/esm/src/react/compat/ssr-adapter/server-loader.d.ts.map +1 -1
- package/esm/src/react/compat/ssr-adapter/server-loader.js +7 -2
- package/esm/src/react/compat/version-detector/feature-detector.js +1 -1
- package/esm/src/react/compat/version-detector/version-cache.d.ts +2 -2
- package/esm/src/react/compat/version-detector/version-cache.d.ts.map +1 -1
- package/esm/src/react/compat/version-detector/version-cache.js +6 -5
- 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/ProviderComponent.d.ts +2 -1
- package/esm/src/react/components/ProviderComponent.d.ts.map +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/code-block.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/components/code-block.js +2 -1
- package/esm/src/react/components/ai/chat/components/message-actions.js +2 -2
- package/esm/src/react/components/ai/chat/components/reasoning.d.ts +0 -5
- package/esm/src/react/components/ai/chat/components/reasoning.d.ts.map +1 -1
- 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 +4 -3
- package/esm/src/react/components/ai/chat/components/uploads-panel.d.ts +1 -0
- package/esm/src/react/components/ai/chat/components/uploads-panel.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/components/uploads-panel.js +3 -1
- package/esm/src/react/components/ai/chat/composition/message.d.ts +0 -9
- package/esm/src/react/components/ai/chat/composition/message.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/composition/message.js +2 -1
- package/esm/src/react/components/ai/chat/contexts/chat-context.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/contexts/chat-context.js +4 -1
- package/esm/src/react/components/ai/chat/contexts/composer-context.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/contexts/composer-context.js +4 -1
- package/esm/src/react/components/ai/chat/contexts/message-context.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/contexts/message-context.js +4 -1
- package/esm/src/react/components/ai/chat/contexts/thread-list-context.d.ts.map +1 -1
- package/esm/src/react/components/ai/chat/contexts/thread-list-context.js +4 -1
- package/esm/src/react/components/ai/chat/hooks/use-threads.js +2 -2
- package/esm/src/react/components/ai/theme.d.ts +0 -69
- package/esm/src/react/components/ai/theme.d.ts.map +1 -1
- package/esm/src/react/components/ai/theme.js +2 -2
- package/esm/src/react/head-collector.d.ts +2 -1
- package/esm/src/react/head-collector.d.ts.map +1 -1
- package/esm/src/react/primitives/input-box.d.ts.map +1 -1
- package/esm/src/react/primitives/input-box.js +2 -6
- package/esm/src/rendering/app-reserved.js +2 -2
- package/esm/src/rendering/app-route-resolver.js +10 -9
- package/esm/src/rendering/cache/cache-coordinator.d.ts.map +1 -1
- package/esm/src/rendering/cache/cache-coordinator.js +3 -1
- package/esm/src/rendering/cache/stores/api-store.d.ts.map +1 -1
- package/esm/src/rendering/cache/stores/api-store.js +33 -23
- package/esm/src/rendering/cache/stores/filesystem-store.d.ts.map +1 -1
- package/esm/src/rendering/cache/stores/filesystem-store.js +10 -8
- package/esm/src/rendering/cache/stores/memory-store.d.ts +2 -1
- package/esm/src/rendering/cache/stores/memory-store.d.ts.map +1 -1
- package/esm/src/rendering/cache/stores/redis-store.d.ts.map +1 -1
- package/esm/src/rendering/cache/stores/redis-store.js +15 -7
- package/esm/src/rendering/component-handling.d.ts +2 -1
- package/esm/src/rendering/component-handling.d.ts.map +1 -1
- package/esm/src/rendering/component-handling.js +1 -1
- package/esm/src/rendering/context/render-context.d.ts.map +1 -1
- package/esm/src/rendering/context/render-context.js +15 -9
- package/esm/src/rendering/element-validator/primitive-checks.d.ts.map +1 -1
- package/esm/src/rendering/element-validator/primitive-checks.js +2 -1
- package/esm/src/rendering/factories/service-factories.d.ts.map +1 -1
- package/esm/src/rendering/factories/service-factories.js +3 -1
- package/esm/src/rendering/layouts/layout-applicator.d.ts.map +1 -1
- package/esm/src/rendering/layouts/layout-applicator.js +3 -3
- package/esm/src/rendering/layouts/layout-collector.d.ts +2 -8
- package/esm/src/rendering/layouts/layout-collector.d.ts.map +1 -1
- package/esm/src/rendering/layouts/layout-collector.js +11 -4
- package/esm/src/rendering/layouts/utils/app-resolver.d.ts.map +1 -1
- package/esm/src/rendering/layouts/utils/app-resolver.js +7 -2
- package/esm/src/rendering/layouts/utils/component-loader.js +1 -1
- package/esm/src/rendering/layouts/utils/hash-calculator.d.ts.map +1 -1
- package/esm/src/rendering/layouts/utils/hash-calculator.js +10 -7
- package/esm/src/rendering/orchestrator/css-cache.d.ts +0 -2
- package/esm/src/rendering/orchestrator/css-cache.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/css-cache.js +2 -2
- package/esm/src/rendering/orchestrator/css-candidate-manifest.js +1 -1
- package/esm/src/rendering/orchestrator/file-resolver/candidates.js +2 -2
- package/esm/src/rendering/orchestrator/html.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/html.js +9 -5
- package/esm/src/rendering/orchestrator/layout.d.ts +2 -7
- package/esm/src/rendering/orchestrator/layout.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/layout.js +52 -42
- package/esm/src/rendering/orchestrator/lifecycle.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/lifecycle.js +9 -2
- package/esm/src/rendering/orchestrator/module-collection.d.ts +1 -1
- package/esm/src/rendering/orchestrator/module-collection.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-collection.js +1 -1
- package/esm/src/rendering/orchestrator/module-loader/esm-rewriter.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/esm-rewriter.js +4 -2
- package/esm/src/rendering/orchestrator/module-loader/index.d.ts +1 -1
- package/esm/src/rendering/orchestrator/module-loader/index.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/index.js +7 -7
- package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/pipeline.js +135 -119
- package/esm/src/rendering/page-renderer.d.ts +3 -2
- package/esm/src/rendering/page-renderer.d.ts.map +1 -1
- package/esm/src/rendering/page-rendering.d.ts +2 -1
- package/esm/src/rendering/page-rendering.d.ts.map +1 -1
- package/esm/src/rendering/page-rendering.js +3 -1
- package/esm/src/rendering/page-resolution/page-resolver.d.ts +2 -0
- package/esm/src/rendering/page-resolution/page-resolver.d.ts.map +1 -1
- package/esm/src/rendering/page-resolution/page-resolver.js +4 -2
- package/esm/src/rendering/renderer-concurrency.d.ts +0 -11
- package/esm/src/rendering/renderer-concurrency.d.ts.map +1 -1
- package/esm/src/rendering/renderer-concurrency.js +6 -5
- package/esm/src/rendering/renderer.d.ts +0 -12
- package/esm/src/rendering/renderer.d.ts.map +1 -1
- package/esm/src/rendering/renderer.js +16 -28
- package/esm/src/rendering/router-detection.d.ts +12 -3
- package/esm/src/rendering/router-detection.d.ts.map +1 -1
- package/esm/src/rendering/router-detection.js +28 -10
- package/esm/src/rendering/rsc/client-boot.ts +1 -1
- package/esm/src/rendering/rsc/client-dom.ts +9 -11
- package/esm/src/rendering/rsc/client-hydrator.ts +11 -8
- package/esm/src/rendering/rsc/hydrate-client.ts +3 -2
- package/esm/src/rendering/rsc/server-renderer/component-detector.d.ts.map +1 -1
- package/esm/src/rendering/rsc/server-renderer/prop-serializer.js +2 -1
- package/esm/src/rendering/rsc/server-renderer/rsc-renderer.d.ts.map +1 -1
- package/esm/src/rendering/rsc/server-renderer/rsc-renderer.js +3 -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 +3 -1
- package/esm/src/rendering/script-page-handling.js +3 -2
- package/esm/src/rendering/shared/context-aware-cache.d.ts.map +1 -1
- package/esm/src/rendering/shared/context-aware-cache.js +6 -2
- package/esm/src/rendering/shared/shared-services.d.ts.map +1 -1
- package/esm/src/rendering/shared/shared-services.js +4 -1
- package/esm/src/rendering/snippet-renderer.d.ts.map +1 -1
- package/esm/src/rendering/snippet-renderer.js +53 -39
- package/esm/src/rendering/ssr-globals/dom-stubs.d.ts.map +1 -1
- package/esm/src/rendering/ssr-globals/dom-stubs.js +9 -4
- package/esm/src/rendering/ssr-globals/fetch-interceptor.d.ts.map +1 -1
- package/esm/src/rendering/ssr-globals/fetch-interceptor.js +6 -4
- package/esm/src/rendering/ssr-globals/index.d.ts.map +1 -1
- package/esm/src/rendering/ssr-globals/index.js +2 -1
- package/esm/src/rendering/ssr-renderer.d.ts +2 -1
- package/esm/src/rendering/ssr-renderer.d.ts.map +1 -1
- package/esm/src/rendering/ssr-renderer.js +4 -2
- package/esm/src/rendering/utils/stream-utils.js +2 -2
- package/esm/src/routing/api/api-route-matcher.d.ts +0 -2
- package/esm/src/routing/api/api-route-matcher.d.ts.map +1 -1
- package/esm/src/routing/api/api-route-matcher.js +8 -5
- package/esm/src/routing/api/handler.d.ts +1 -1
- package/esm/src/routing/api/handler.d.ts.map +1 -1
- package/esm/src/routing/api/handler.js +5 -3
- package/esm/src/routing/api/index.d.ts +1 -1
- package/esm/src/routing/api/index.d.ts.map +1 -1
- package/esm/src/routing/api/index.js +1 -1
- package/esm/src/routing/api/module-loader/esbuild-plugin.d.ts +2 -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 +3 -2
- package/esm/src/routing/api/module-loader/http-validator.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/http-validator.js +2 -1
- package/esm/src/routing/api/module-loader/loader.d.ts.map +1 -1
- package/esm/src/routing/api/module-loader/loader.js +16 -15
- package/esm/src/routing/api/openapi/path-utils.d.ts +2 -1
- package/esm/src/routing/api/openapi/path-utils.d.ts.map +1 -1
- package/esm/src/routing/api/openapi/spec-generator.d.ts +5 -4
- package/esm/src/routing/api/openapi/spec-generator.d.ts.map +1 -1
- package/esm/src/routing/api/openapi/spec-generator.js +5 -5
- package/esm/src/routing/api/openapi/types.d.ts +6 -5
- package/esm/src/routing/api/openapi/types.d.ts.map +1 -1
- package/esm/src/routing/api/route-discovery.d.ts +3 -3
- package/esm/src/routing/api/route-discovery.d.ts.map +1 -1
- package/esm/src/routing/index.d.ts +1 -1
- package/esm/src/routing/index.d.ts.map +1 -1
- package/esm/src/routing/index.js +1 -1
- package/esm/src/routing/matchers/index.d.ts +1 -1
- package/esm/src/routing/matchers/index.d.ts.map +1 -1
- package/esm/src/routing/matchers/index.js +1 -1
- package/esm/src/routing/matchers/pattern-route-matcher.d.ts +0 -2
- package/esm/src/routing/matchers/pattern-route-matcher.d.ts.map +1 -1
- package/esm/src/routing/matchers/pattern-route-matcher.js +0 -2
- package/esm/src/sandbox/index.d.ts +1 -1
- package/esm/src/sandbox/index.js +1 -1
- package/esm/src/sandbox/sandbox.d.ts +6 -12
- package/esm/src/sandbox/sandbox.d.ts.map +1 -1
- package/esm/src/sandbox/sandbox.js +42 -19
- package/esm/src/security/client/html-sanitizer.d.ts +1 -9
- package/esm/src/security/client/html-sanitizer.d.ts.map +1 -1
- package/esm/src/security/client/html-sanitizer.js +4 -14
- package/esm/src/security/csrf/helpers.js +4 -4
- package/esm/src/security/http/auth.js +3 -3
- package/esm/src/security/http/base-handler.js +2 -2
- package/esm/src/security/http/middleware/config-loader.d.ts.map +1 -1
- package/esm/src/security/http/middleware/config-loader.js +2 -1
- package/esm/src/security/http/response/fluent-methods.d.ts.map +1 -1
- package/esm/src/security/http/response/fluent-methods.js +4 -3
- package/esm/src/security/http/response/security-handler.d.ts.map +1 -1
- package/esm/src/security/http/response/security-handler.js +6 -2
- package/esm/src/security/path-validation/canonical.d.ts.map +1 -1
- package/esm/src/security/path-validation/canonical.js +2 -1
- package/esm/src/security/path-validation/index.d.ts.map +1 -1
- package/esm/src/security/path-validation/index.js +2 -1
- package/esm/src/security/path-validation/rules.d.ts.map +1 -1
- package/esm/src/security/path-validation/rules.js +1 -2
- package/esm/src/security/secure-fs.d.ts +1 -1
- package/esm/src/security/secure-fs.d.ts.map +1 -1
- package/esm/src/security/secure-fs.js +7 -1
- package/esm/src/server/bootstrap.d.ts.map +1 -1
- package/esm/src/server/bootstrap.js +5 -3
- package/esm/src/server/build-app-route-renderer.d.ts.map +1 -1
- package/esm/src/server/build-app-route-renderer.js +3 -2
- package/esm/src/server/build-routes.js +2 -2
- package/esm/src/server/build-service-worker.d.ts.map +1 -1
- package/esm/src/server/build-service-worker.js +2 -1
- package/esm/src/server/context/cache-invalidation.d.ts +2 -1
- package/esm/src/server/context/cache-invalidation.d.ts.map +1 -1
- package/esm/src/server/context/cache-invalidation.js +8 -3
- package/esm/src/server/context/enriched-context.d.ts +4 -3
- package/esm/src/server/context/enriched-context.d.ts.map +1 -1
- package/esm/src/server/context/enriched-context.js +2 -1
- package/esm/src/server/dev-server/error-overlay/html-template.d.ts.map +1 -1
- package/esm/src/server/dev-server/error-overlay/html-template.js +8 -2
- package/esm/src/server/dev-server/file-watch-setup.d.ts +5 -0
- package/esm/src/server/dev-server/file-watch-setup.d.ts.map +1 -1
- package/esm/src/server/dev-server/file-watch-setup.js +19 -4
- package/esm/src/server/dev-server/middleware.d.ts +0 -6
- package/esm/src/server/dev-server/middleware.d.ts.map +1 -1
- package/esm/src/server/dev-server/middleware.js +11 -9
- package/esm/src/server/dev-server/request-handler.d.ts.map +1 -1
- package/esm/src/server/dev-server/request-handler.js +12 -7
- package/esm/src/server/dev-server/route-discovery.d.ts +2 -2
- package/esm/src/server/dev-server/route-discovery.d.ts.map +1 -1
- package/esm/src/server/dev-server/server.d.ts.map +1 -1
- package/esm/src/server/dev-server/server.js +11 -11
- package/esm/src/server/dev-server/types.d.ts +0 -2
- package/esm/src/server/dev-server/types.d.ts.map +1 -1
- package/esm/src/server/dev-ui/manifest.js +10 -10
- package/esm/src/server/handlers/dev/dashboard/api.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/dashboard/api.js +26 -7
- package/esm/src/server/handlers/dev/dashboard/ui-handler.js +6 -6
- package/esm/src/server/handlers/dev/debug-context.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/debug-context.handler.js +4 -2
- package/esm/src/server/handlers/dev/endpoints.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/endpoints.handler.js +2 -1
- package/esm/src/server/handlers/dev/files/esbuild-plugins.d.ts +2 -1
- package/esm/src/server/handlers/dev/files/esbuild-plugins.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/files/esbuild-plugins.js +9 -5
- package/esm/src/server/handlers/dev/files/path-validator.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/files/path-validator.js +2 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.js +13 -6
- package/esm/src/server/handlers/dev/projects/ui-handler.js +6 -6
- package/esm/src/server/handlers/dev/scripts/hmr-scripts.d.ts +0 -6
- package/esm/src/server/handlers/dev/scripts/hmr-scripts.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/scripts/hmr-scripts.js +12 -12
- package/esm/src/server/handlers/dev/shared/ui-module-transform.d.ts +2 -1
- package/esm/src/server/handlers/dev/shared/ui-module-transform.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/styles-candidate-scanner.js +4 -3
- package/esm/src/server/handlers/dev/styles-css.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/styles-css.handler.js +2 -1
- package/esm/src/server/handlers/monitoring/client-log.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/monitoring/client-log.handler.js +6 -2
- package/esm/src/server/handlers/monitoring/health.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/monitoring/health.handler.js +4 -2
- package/esm/src/server/handlers/monitoring/memory.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/monitoring/memory.handler.js +7 -1
- package/esm/src/server/handlers/monitoring/metrics.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/monitoring/metrics.handler.js +3 -0
- package/esm/src/server/handlers/preview/hmr-client-manager.d.ts +2 -3
- package/esm/src/server/handlers/preview/hmr-client-manager.d.ts.map +1 -1
- package/esm/src/server/handlers/preview/hmr-client-manager.js +2 -11
- package/esm/src/server/handlers/preview/hmr-message-router.d.ts +2 -3
- package/esm/src/server/handlers/preview/hmr-message-router.d.ts.map +1 -1
- package/esm/src/server/handlers/preview/hmr-message-router.js +2 -2
- package/esm/src/server/handlers/preview/hmr-ping-keepalive.js +3 -3
- package/esm/src/server/handlers/preview/hmr.handler.js +8 -8
- package/esm/src/server/handlers/preview/markdown-html-generator.d.ts +2 -1
- package/esm/src/server/handlers/preview/markdown-html-generator.d.ts.map +1 -1
- package/esm/src/server/handlers/preview/markdown-html-generator.js +2 -2
- package/esm/src/server/handlers/preview/markdown-preview.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/preview/markdown-preview.handler.js +6 -5
- package/esm/src/server/handlers/request/api/app-router-resolver.d.ts.map +1 -1
- package/esm/src/server/handlers/request/api/app-router-resolver.js +94 -50
- package/esm/src/server/handlers/request/api/pages-api-handler.js +2 -2
- package/esm/src/server/handlers/request/module/page-data-endpoint-handler.js +1 -1
- package/esm/src/server/handlers/request/openapi-docs.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/openapi-docs.handler.js +3 -1
- package/esm/src/server/handlers/request/openapi.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/openapi.handler.js +7 -5
- package/esm/src/server/handlers/request/rsc/index.d.ts.map +1 -1
- package/esm/src/server/handlers/request/rsc/index.js +1 -0
- package/esm/src/server/handlers/request/ssr/error-page-fallback.d.ts.map +1 -1
- package/esm/src/server/handlers/request/ssr/error-page-fallback.js +8 -6
- package/esm/src/server/handlers/request/ssr/not-found-fallback.d.ts.map +1 -1
- package/esm/src/server/handlers/request/ssr/not-found-fallback.js +8 -5
- package/esm/src/server/handlers/request/ssr/ssr.handler.js +2 -2
- package/esm/src/server/handlers/response/cors.d.ts +0 -2
- package/esm/src/server/handlers/response/cors.d.ts.map +1 -1
- package/esm/src/server/handlers/response/cors.js +2 -74
- package/esm/src/server/handlers/studio/bridge-modules.handler.d.ts +0 -5
- package/esm/src/server/handlers/studio/bridge-modules.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/studio/bridge-modules.handler.js +3 -8
- package/esm/src/server/index.d.ts +0 -2
- package/esm/src/server/index.d.ts.map +1 -1
- package/esm/src/server/index.js +19 -19
- package/esm/src/server/production-server.d.ts.map +1 -1
- package/esm/src/server/production-server.js +14 -5
- package/esm/src/server/project-env/cache.js +2 -2
- package/esm/src/server/project-env/fetcher.d.ts.map +1 -1
- package/esm/src/server/project-env/fetcher.js +2 -1
- package/esm/src/server/reload-notifier.d.ts +1 -1
- package/esm/src/server/reload-notifier.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/adapter-factory.d.ts +3 -2
- package/esm/src/server/runtime-handler/adapter-factory.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/environment-resolution.d.ts +3 -2
- package/esm/src/server/runtime-handler/environment-resolution.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/handler-context-builder.d.ts +3 -2
- package/esm/src/server/runtime-handler/handler-context-builder.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/index.js +15 -13
- package/esm/src/server/runtime-handler/isolation.d.ts +1 -1
- package/esm/src/server/runtime-handler/isolation.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/local-project-discovery.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/local-project-discovery.js +14 -4
- package/esm/src/server/runtime-handler/project-isolation.d.ts +2 -1
- package/esm/src/server/runtime-handler/project-isolation.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/project-resolution.d.ts +4 -4
- package/esm/src/server/runtime-handler/project-resolution.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/request-lifecycle.d.ts +1 -1
- package/esm/src/server/runtime-handler/request-lifecycle.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/request-tracker.d.ts +1 -1
- package/esm/src/server/runtime-handler/request-tracker.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/request-tracker.js +6 -2
- package/esm/src/server/runtime-handler/request-utils.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/request-utils.js +1 -1
- package/esm/src/server/runtime-handler/tracing.d.ts +1 -1
- package/esm/src/server/runtime-handler/tracing.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/action-handler.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/action-handler.js +2 -1
- package/esm/src/server/services/rsc/endpoints/endpoint-router.d.ts +1 -1
- package/esm/src/server/services/rsc/endpoints/endpoint-router.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/endpoint-router.js +11 -4
- package/esm/src/server/services/rsc/endpoints/handler-registry.d.ts +1 -1
- package/esm/src/server/services/rsc/endpoints/handler-registry.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/handler-registry.js +6 -4
- package/esm/src/server/services/rsc/endpoints/script-handlers.d.ts +0 -2
- package/esm/src/server/services/rsc/endpoints/script-handlers.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/script-handlers.js +2 -2
- package/esm/src/server/services/rsc/endpoints/types.d.ts +1 -0
- package/esm/src/server/services/rsc/endpoints/types.d.ts.map +1 -1
- package/esm/src/server/services/rsc/orchestrators/component-resolver.d.ts.map +1 -1
- package/esm/src/server/services/rsc/orchestrators/component-resolver.js +2 -1
- package/esm/src/server/services/rsc/orchestrators/manifest-handler.js +1 -1
- package/esm/src/server/services/rsc/orchestrators/page-handler.d.ts.map +1 -1
- package/esm/src/server/services/rsc/orchestrators/page-handler.js +2 -1
- package/esm/src/server/services/rsc/orchestrators/stream-handler.js +1 -1
- package/esm/src/server/services/static/static-file.service.d.ts +1 -1
- package/esm/src/server/services/static/static-file.service.d.ts.map +1 -1
- package/esm/src/server/services/static/static-file.service.js +6 -3
- package/esm/src/server/shared/renderer/adapter.d.ts.map +1 -1
- package/esm/src/server/shared/renderer/adapter.js +7 -4
- package/esm/src/server/utils/domain-lookup.d.ts +2 -1
- package/esm/src/server/utils/domain-lookup.d.ts.map +1 -1
- package/esm/src/server/utils/error-html.d.ts +2 -1
- package/esm/src/server/utils/error-html.d.ts.map +1 -1
- package/esm/src/skill/allowed-tools.d.ts +2 -1
- package/esm/src/skill/allowed-tools.d.ts.map +1 -1
- package/esm/src/skill/executor.d.ts +2 -9
- package/esm/src/skill/executor.d.ts.map +1 -1
- package/esm/src/skill/executor.js +19 -21
- package/esm/src/skill/parser.d.ts +2 -1
- package/esm/src/skill/parser.d.ts.map +1 -1
- package/esm/src/skill/parser.js +4 -4
- package/esm/src/skill/path-safety.d.ts.map +1 -1
- package/esm/src/skill/path-safety.js +8 -1
- package/esm/src/skill/tools.d.ts.map +1 -1
- package/esm/src/skill/tools.js +4 -2
- 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/task/discovery.d.ts +1 -5
- package/esm/src/task/discovery.d.ts.map +1 -1
- package/esm/src/task/discovery.js +72 -7
- package/esm/src/tool/factory.d.ts.map +1 -1
- package/esm/src/tool/factory.js +1 -3
- package/esm/src/tool/schema/zod-json-schema.d.ts.map +1 -1
- package/esm/src/tool/schema/zod-json-schema.js +2 -1
- package/esm/src/tool/types.d.ts +2 -14
- package/esm/src/tool/types.d.ts.map +1 -1
- package/esm/src/transforms/esm/bundle-deps-validator.d.ts.map +1 -1
- package/esm/src/transforms/esm/bundle-deps-validator.js +15 -7
- package/esm/src/transforms/esm/bundle-manifest.d.ts +3 -6
- package/esm/src/transforms/esm/bundle-manifest.d.ts.map +1 -1
- package/esm/src/transforms/esm/bundle-manifest.js +9 -4
- package/esm/src/transforms/esm/bundle-recovery.d.ts.map +1 -1
- package/esm/src/transforms/esm/bundle-recovery.js +20 -15
- package/esm/src/transforms/esm/http-bundler.d.ts +0 -4
- package/esm/src/transforms/esm/http-bundler.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-bundler.js +6 -15
- package/esm/src/transforms/esm/http-cache-helpers.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache-helpers.js +2 -1
- package/esm/src/transforms/esm/http-cache-invariants.d.ts +0 -24
- package/esm/src/transforms/esm/http-cache-invariants.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache-invariants.js +1 -27
- package/esm/src/transforms/esm/http-cache-types.d.ts +0 -15
- package/esm/src/transforms/esm/http-cache-types.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache-wrapper.d.ts +2 -2
- package/esm/src/transforms/esm/http-cache-wrapper.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache-wrapper.js +5 -3
- package/esm/src/transforms/esm/http-cache.d.ts +1 -3
- package/esm/src/transforms/esm/http-cache.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache.js +19 -8
- package/esm/src/transforms/esm/import-parser.d.ts +2 -1
- package/esm/src/transforms/esm/import-parser.d.ts.map +1 -1
- package/esm/src/transforms/esm/import-parser.js +10 -5
- package/esm/src/transforms/esm/in-flight-manager.d.ts +0 -5
- package/esm/src/transforms/esm/in-flight-manager.d.ts.map +1 -1
- package/esm/src/transforms/esm/in-flight-manager.js +16 -12
- package/esm/src/transforms/esm/package-registry.d.ts +0 -8
- package/esm/src/transforms/esm/package-registry.d.ts.map +1 -1
- package/esm/src/transforms/esm/package-registry.js +2 -17
- package/esm/src/transforms/esm/source-url-embed.d.ts +0 -3
- package/esm/src/transforms/esm/source-url-embed.d.ts.map +1 -1
- package/esm/src/transforms/esm/source-url-embed.js +2 -2
- package/esm/src/transforms/esm/specifier-resolver.d.ts +0 -7
- package/esm/src/transforms/esm/specifier-resolver.d.ts.map +1 -1
- package/esm/src/transforms/esm/specifier-resolver.js +1 -1
- package/esm/src/transforms/esm/transform-cache.d.ts +5 -29
- package/esm/src/transforms/esm/transform-cache.d.ts.map +1 -1
- package/esm/src/transforms/esm/transform-cache.js +1 -104
- package/esm/src/transforms/import-rewriter/strategies/import-map-strategy.d.ts.map +1 -1
- package/esm/src/transforms/import-rewriter/strategies/import-map-strategy.js +4 -2
- package/esm/src/transforms/md/utils.d.ts +0 -5
- package/esm/src/transforms/md/utils.d.ts.map +1 -1
- package/esm/src/transforms/md/utils.js +1 -1
- package/esm/src/transforms/mdx/compiler/import-rewriter.d.ts.map +1 -1
- package/esm/src/transforms/mdx/compiler/import-rewriter.js +2 -1
- 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 +21 -12
- package/esm/src/transforms/mdx/esm-module-loader/constants.d.ts +0 -1
- package/esm/src/transforms/mdx/esm-module-loader/constants.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/constants.js +0 -1
- package/esm/src/transforms/mdx/esm-module-loader/import-transformer.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/import-transformer.js +13 -5
- package/esm/src/transforms/mdx/esm-module-loader/jsx/runtime-loader.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/jsx/runtime-loader.js +3 -4
- package/esm/src/transforms/mdx/esm-module-loader/loader-helpers.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/loader-helpers.js +17 -6
- package/esm/src/transforms/mdx/esm-module-loader/metadata/string-parser.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/metadata/string-parser.js +2 -1
- package/esm/src/transforms/mdx/esm-module-loader/missing-module.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/missing-module.js +4 -3
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/distributed-cache.d.ts +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/distributed-cache.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/distributed-cache.js +14 -10
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.d.ts +0 -5
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.js +9 -7
- 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 +2 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/module-cache.js +2 -2
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/render-sessions.d.ts +0 -14
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/render-sessions.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/render-sessions.js +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-writer.d.ts +0 -14
- package/esm/src/transforms/mdx/esm-module-loader/module-writer.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-writer.js +22 -9
- package/esm/src/transforms/mdx/esm-module-loader/resolution/file-finder.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/resolution/file-finder.js +4 -3
- package/esm/src/transforms/mdx/esm-module-loader/types.d.ts +0 -13
- package/esm/src/transforms/mdx/esm-module-loader/types.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/utils/stub-module.js +2 -2
- package/esm/src/transforms/pipeline/index.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/index.js +3 -2
- package/esm/src/transforms/pipeline/stages/compile.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/compile.js +5 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.js +18 -18
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/transform.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-vf-modules/transform.js +9 -4
- package/esm/src/transforms/plugins/babel-node-positions.d.ts.map +1 -1
- package/esm/src/transforms/plugins/babel-node-positions.js +2 -1
- package/esm/src/transforms/plugins/plugin-loader.d.ts +0 -3
- package/esm/src/transforms/plugins/plugin-loader.d.ts.map +1 -1
- package/esm/src/transforms/plugins/rehype-node-positions.d.ts +2 -1
- package/esm/src/transforms/plugins/rehype-node-positions.d.ts.map +1 -1
- package/esm/src/transforms/shared/cross-project-import.d.ts +2 -1
- package/esm/src/transforms/shared/cross-project-import.d.ts.map +1 -1
- package/esm/src/transforms/veryfront-module-urls.d.ts +0 -1
- package/esm/src/transforms/veryfront-module-urls.d.ts.map +1 -1
- package/esm/src/transforms/veryfront-module-urls.js +0 -3
- package/esm/src/types/entities/getEntityInfo.d.ts.map +1 -1
- package/esm/src/types/entities/getEntityInfo.js +16 -12
- package/esm/src/types/entities.d.ts +0 -5
- package/esm/src/types/entities.d.ts.map +1 -1
- package/esm/src/types/entities.js +0 -32
- package/esm/src/utils/box.js +1 -1
- package/esm/src/utils/bundle-manifest-init.d.ts +0 -2
- package/esm/src/utils/bundle-manifest-init.d.ts.map +1 -1
- package/esm/src/utils/bundle-manifest-init.js +0 -19
- package/esm/src/utils/bundle-manifest-kv.d.ts +2 -1
- package/esm/src/utils/bundle-manifest-kv.d.ts.map +1 -1
- package/esm/src/utils/bundle-manifest-redis.d.ts +2 -1
- package/esm/src/utils/bundle-manifest-redis.d.ts.map +1 -1
- package/esm/src/utils/cache-dir.d.ts.map +1 -1
- package/esm/src/utils/cache-dir.js +4 -5
- package/esm/src/utils/cache-file-ops.d.ts.map +1 -1
- package/esm/src/utils/cache-file-ops.js +2 -1
- package/esm/src/utils/circuit-breaker.d.ts +3 -9
- package/esm/src/utils/circuit-breaker.d.ts.map +1 -1
- package/esm/src/utils/circuit-breaker.js +13 -21
- package/esm/src/utils/constants/cache.js +2 -2
- package/esm/src/utils/env-loader.d.ts.map +1 -1
- package/esm/src/utils/env-loader.js +2 -1
- package/esm/src/utils/file-discovery.d.ts +3 -2
- package/esm/src/utils/file-discovery.d.ts.map +1 -1
- package/esm/src/utils/file-discovery.js +4 -4
- package/esm/src/utils/hash-utils.d.ts.map +1 -1
- package/esm/src/utils/hash-utils.js +5 -2
- package/esm/src/utils/import-lockfile.d.ts.map +1 -1
- package/esm/src/utils/import-lockfile.js +10 -4
- package/esm/src/utils/logger/core.d.ts.map +1 -1
- package/esm/src/utils/logger/core.js +2 -1
- package/esm/src/utils/logger/logger.d.ts +5 -5
- package/esm/src/utils/logger/logger.d.ts.map +1 -1
- package/esm/src/utils/logger/logger.js +12 -2
- package/esm/src/utils/lru-wrapper.d.ts +2 -1
- package/esm/src/utils/lru-wrapper.d.ts.map +1 -1
- package/esm/src/utils/lru-wrapper.js +3 -1
- package/esm/src/utils/memoize.d.ts.map +1 -1
- package/esm/src/utils/memoize.js +2 -2
- package/esm/src/utils/memory/profiler.d.ts.map +1 -1
- package/esm/src/utils/memory/profiler.js +15 -7
- package/esm/src/utils/parallel.d.ts.map +1 -1
- package/esm/src/utils/parallel.js +4 -1
- package/esm/src/utils/path-utils.d.ts.map +1 -1
- package/esm/src/utils/path-utils.js +13 -7
- package/esm/src/utils/platform.d.ts.map +1 -1
- package/esm/src/utils/platform.js +2 -1
- package/esm/src/utils/redis-client.d.ts +2 -4
- package/esm/src/utils/redis-client.d.ts.map +1 -1
- package/esm/src/utils/redis-client.js +9 -27
- package/esm/src/utils/route-path-utils.d.ts +3 -4
- package/esm/src/utils/route-path-utils.d.ts.map +1 -1
- package/esm/src/utils/route-path-utils.js +1 -1
- package/esm/src/workflow/api.d.ts +22 -2
- package/esm/src/workflow/api.d.ts.map +1 -1
- package/esm/src/workflow/api.js +14 -9
- package/esm/src/workflow/backends/memory.d.ts +2 -1
- package/esm/src/workflow/backends/memory.d.ts.map +1 -1
- package/esm/src/workflow/backends/memory.js +12 -7
- package/esm/src/workflow/backends/redis/index.d.ts.map +1 -1
- package/esm/src/workflow/backends/redis/index.js +35 -19
- package/esm/src/workflow/blob/veryfront-cloud-storage.d.ts +41 -0
- package/esm/src/workflow/blob/veryfront-cloud-storage.d.ts.map +1 -0
- package/esm/src/workflow/blob/veryfront-cloud-storage.js +348 -0
- package/esm/src/workflow/claude-code/agent.d.ts +15 -0
- package/esm/src/workflow/claude-code/agent.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/agent.js +20 -7
- package/esm/src/workflow/claude-code/event-publisher.d.ts +2 -0
- package/esm/src/workflow/claude-code/event-publisher.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/event-publisher.js +31 -10
- package/esm/src/workflow/claude-code/react/use-claude-code-stream.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/react/use-claude-code-stream.js +11 -3
- package/esm/src/workflow/claude-code/react/use-claude-code-websocket.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/react/use-claude-code-websocket.js +12 -4
- package/esm/src/workflow/claude-code/tool.d.ts +7 -7
- package/esm/src/workflow/claude-code/tool.js +3 -3
- package/esm/src/workflow/claude-code/types.d.ts +7 -6
- package/esm/src/workflow/claude-code/types.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/websocket-publisher.d.ts +0 -15
- package/esm/src/workflow/claude-code/websocket-publisher.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/websocket-publisher.js +28 -16
- package/esm/src/workflow/claude-code/workspace-sync.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/workspace-sync.js +27 -16
- package/esm/src/workflow/dsl/branch.d.ts.map +1 -1
- package/esm/src/workflow/dsl/branch.js +7 -4
- package/esm/src/workflow/dsl/loop.d.ts.map +1 -1
- package/esm/src/workflow/dsl/loop.js +16 -7
- package/esm/src/workflow/dsl/map.d.ts.map +1 -1
- package/esm/src/workflow/dsl/map.js +9 -4
- package/esm/src/workflow/dsl/parallel.d.ts.map +1 -1
- package/esm/src/workflow/dsl/parallel.js +7 -2
- package/esm/src/workflow/dsl/step.d.ts.map +1 -1
- package/esm/src/workflow/dsl/step.js +5 -2
- package/esm/src/workflow/dsl/sub-workflow.d.ts.map +1 -1
- package/esm/src/workflow/dsl/sub-workflow.js +4 -1
- package/esm/src/workflow/dsl/validation.d.ts.map +1 -1
- package/esm/src/workflow/dsl/validation.js +2 -1
- package/esm/src/workflow/dsl/wait.d.ts.map +1 -1
- package/esm/src/workflow/dsl/wait.js +2 -1
- package/esm/src/workflow/dsl/workflow.d.ts.map +1 -1
- package/esm/src/workflow/dsl/workflow.js +6 -4
- package/esm/src/workflow/executor/dag/graph.d.ts +2 -2
- package/esm/src/workflow/executor/dag/graph.d.ts.map +1 -1
- package/esm/src/workflow/executor/dag/graph.js +5 -2
- package/esm/src/workflow/executor/dag/index.d.ts.map +1 -1
- package/esm/src/workflow/executor/dag/index.js +9 -4
- package/esm/src/workflow/executor/dag/utils.d.ts.map +1 -1
- package/esm/src/workflow/executor/dag/utils.js +1 -0
- package/esm/src/workflow/executor/step-executor.d.ts.map +1 -1
- package/esm/src/workflow/executor/step-executor.js +24 -11
- package/esm/src/workflow/executor/workflow-executor.d.ts.map +1 -1
- package/esm/src/workflow/executor/workflow-executor.js +67 -34
- package/esm/src/workflow/react/use-approval.d.ts.map +1 -1
- package/esm/src/workflow/react/use-approval.js +9 -2
- package/esm/src/workflow/react/use-workflow-list.d.ts.map +1 -1
- package/esm/src/workflow/react/use-workflow-list.js +10 -3
- package/esm/src/workflow/react/use-workflow-start.d.ts.map +1 -1
- package/esm/src/workflow/react/use-workflow-start.js +5 -1
- package/esm/src/workflow/react/use-workflow.d.ts.map +1 -1
- package/esm/src/workflow/react/use-workflow.js +17 -5
- package/esm/src/workflow/registry.js +2 -2
- package/esm/src/workflow/runtime/approval-manager.d.ts.map +1 -1
- package/esm/src/workflow/runtime/approval-manager.js +9 -6
- package/esm/src/workflow/types.d.ts +0 -1
- package/esm/src/workflow/types.d.ts.map +1 -1
- package/esm/src/workflow/types.js +20 -11
- package/esm/src/workflow/worker/dynamic-job-entrypoint.d.ts +26 -0
- package/esm/src/workflow/worker/dynamic-job-entrypoint.d.ts.map +1 -1
- package/esm/src/workflow/worker/dynamic-job-entrypoint.js +8 -8
- package/esm/src/workflow/worker/executors/k8s.d.ts.map +1 -1
- package/esm/src/workflow/worker/executors/k8s.js +5 -2
- package/esm/src/workflow/worker/executors/process.d.ts.map +1 -1
- package/esm/src/workflow/worker/executors/process.js +41 -30
- package/esm/src/workflow/worker/job-entrypoint.d.ts +21 -0
- package/esm/src/workflow/worker/job-entrypoint.d.ts.map +1 -1
- package/esm/src/workflow/worker/job-entrypoint.js +7 -7
- package/esm/src/workflow/worker/job-manager.d.ts.map +1 -1
- package/esm/src/workflow/worker/job-manager.js +11 -4
- package/esm/src/workflow/worker/workflow-worker.d.ts.map +1 -1
- package/esm/src/workflow/worker/workflow-worker.js +15 -7
- package/package.json +1 -1
- package/src/_dnt.polyfills.ts +147 -147
- package/src/cli/commands/dev/command.ts +0 -1
- package/src/cli/commands/generate/integration-generator.ts +369 -34
- package/src/cli/commands/start/command.ts +0 -1
- package/src/cli/mcp/server.ts +18 -5
- package/src/cli/shared/server-startup.ts +0 -2
- package/src/cli/templates/index.ts +1 -17
- package/src/cli/templates/manifest.js +12 -12
- package/src/cli/ui/ansi.ts +1 -1
- package/src/deno.js +1 -1
- package/src/src/agent/ai-defaults.ts +4 -64
- package/src/src/agent/chat-handler.ts +39 -21
- package/src/src/agent/factory.ts +22 -6
- package/src/src/agent/index.ts +3 -9
- package/src/src/agent/memory/redis.ts +3 -2
- package/src/src/agent/react/use-agent.ts +4 -4
- package/src/src/agent/react/use-chat/browser-inference/browser-engine.ts +11 -2
- package/src/src/agent/react/use-chat/browser-inference/types.ts +6 -6
- package/src/src/agent/react/use-chat/browser-inference/worker-client.ts +1 -1
- package/src/src/agent/react/use-chat/streaming/handler.ts +10 -5
- package/src/src/agent/react/use-chat/types.ts +2 -2
- package/src/src/agent/react/use-chat/use-chat.ts +4 -4
- package/src/src/agent/react/use-voice-input.ts +2 -2
- package/src/src/agent/runtime/index.ts +16 -9
- package/src/src/agent/runtime/input-utils.ts +2 -1
- package/src/src/agent/runtime/model-resolution.ts +13 -0
- package/src/src/agent/runtime/tool-helpers.ts +2 -1
- package/src/src/agent/types.ts +16 -5
- package/src/src/build/bundler/code-splitter/entry-points.ts +1 -1
- package/src/src/build/bundler/code-splitter/index.ts +4 -2
- package/src/src/build/compiler/mdx-compiler/directory-compiler.ts +1 -1
- package/src/src/build/compiler/mdx-compiler/frontmatter-parser.ts +5 -3
- package/src/src/build/compiler/mdx-compiler/mdx-processor.ts +1 -1
- package/src/src/build/compiler/mdx-compiler/types.ts +1 -1
- package/src/src/build/compiler/mdx-compiler/validator.ts +4 -3
- package/src/src/build/compiler/mdx-compiler/watcher.ts +2 -1
- package/src/src/build/compiler/mdx-to-js.ts +1 -1
- package/src/src/build/config/environment.ts +9 -2
- package/src/src/build/embedded/preset.ts +7 -7
- package/src/src/build/production-build/asset-generation.ts +2 -2
- package/src/src/build/production-build/build/build-cleanup.ts +2 -9
- package/src/src/build/production-build/client-runtime.ts +6 -4
- package/src/src/build/production-build/templates.ts +2 -2
- package/src/src/cache/backends/api.ts +14 -5
- package/src/src/cache/backends/disk.ts +2 -1
- package/src/src/cache/backends/factory.ts +3 -1
- package/src/src/cache/backends/memory.ts +6 -3
- package/src/src/cache/cache-key-builder.ts +6 -4
- package/src/src/cache/config-hash.ts +1 -1
- package/src/src/cache/dependency-graph.ts +2 -1
- package/src/src/cache/distributed-cache-init.ts +1 -1
- package/src/src/cache/keys/builders/file.ts +4 -3
- package/src/src/cache/keys/builders/render.ts +7 -2
- package/src/src/cache/registry.ts +8 -2
- package/src/src/config/environment-config.ts +11 -2
- package/src/src/config/loader.ts +21 -4
- package/src/src/config/runtime-config.ts +4 -1
- package/src/src/data/data-fetcher.ts +1 -2
- package/src/src/data/static-data-fetcher.ts +2 -2
- package/src/src/discovery/file-discovery.ts +3 -2
- package/src/src/discovery/handlers/skill-handler.ts +2 -2
- package/src/src/discovery/import-rewriter.ts +8 -5
- package/src/src/discovery/transpiler.ts +8 -4
- package/src/src/embedding/chunk.ts +8 -2
- package/src/src/embedding/embedding.ts +4 -3
- package/src/src/embedding/index.ts +11 -10
- package/src/src/embedding/model-resolution.ts +23 -0
- package/src/src/embedding/rag-store.ts +431 -0
- package/src/src/embedding/react/use-uploads.ts +9 -6
- package/src/src/embedding/resolve.ts +6 -1
- package/src/src/embedding/types.ts +29 -17
- package/src/src/embedding/upload-handler.ts +94 -9
- package/src/src/embedding/upload-loader.ts +1 -1
- package/src/src/embedding/veryfront-cloud/provider.ts +42 -0
- package/src/src/embedding/veryfront-cloud/rag-store.ts +599 -0
- package/src/src/errors/catalog/general-errors.ts +11 -0
- package/src/src/errors/error-context.ts +3 -0
- package/src/src/errors/error-handlers.ts +3 -2
- package/src/src/errors/error-registry.ts +9 -0
- package/src/src/errors/index.ts +1 -0
- package/src/src/errors/logging.ts +8 -6
- package/src/src/errors/types.ts +3 -1
- package/src/src/errors/veryfront-error.ts +1 -2
- package/src/src/html/dev-scripts.ts +1 -1
- package/src/src/html/hydration-script-builder/dev-error-logger.ts +1 -1
- package/src/src/html/hydration-script-builder/dev-scripts.ts +1 -1
- package/src/src/html/hydration-script-builder/templates/renderer.ts +4 -3
- package/src/src/html/hydration-script-builder/templates/router.ts +5 -4
- package/src/src/html/styles-builder/css-hash-cache.ts +9 -8
- package/src/src/html/styles-builder/css-pregeneration.ts +1 -1
- package/src/src/html/styles-builder/index.ts +0 -1
- package/src/src/html/styles-builder/plugin-loader.ts +48 -28
- package/src/src/html/styles-builder/project-css-cache.ts +3 -3
- package/src/src/html/styles-builder/tailwind-compiler-cache.ts +12 -5
- package/src/src/html/styles-builder/tailwind-compiler-utils.ts +8 -6
- package/src/src/html/styles-builder/tailwind-compiler.ts +6 -11
- package/src/src/html/utils.ts +3 -3
- package/src/src/integrations/endpoint-executor.ts +5 -2
- package/src/src/integrations/types.ts +1 -1
- package/src/src/issues/core.ts +8 -5
- package/src/src/mcp/server.ts +4 -3
- package/src/src/mcp/types.ts +2 -3
- package/src/src/middleware/builtin/security/redis-rate-limit.ts +2 -1
- package/src/src/middleware/builtin/timeout.ts +1 -1
- package/src/src/modules/component-registry/registry.ts +5 -3
- package/src/src/modules/import-map/default-import-map.ts +1 -1
- package/src/src/modules/import-map/loader.ts +6 -6
- package/src/src/modules/import-map/preloader.ts +12 -9
- package/src/src/modules/import-map/resolver.ts +2 -1
- package/src/src/modules/react-loader/ssr-module-loader/cache/memory.ts +1 -1
- package/src/src/modules/react-loader/ssr-module-loader/concurrency/semaphore.ts +5 -1
- package/src/src/modules/react-loader/ssr-module-loader/cross-project-import-loader.ts +9 -6
- package/src/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.ts +9 -4
- package/src/src/modules/react-loader/ssr-module-loader/loader.ts +1 -1
- package/src/src/modules/react-loader/ssr-module-loader/preflight-imports.ts +3 -2
- package/src/src/modules/react-loader/ssr-module-loader/ssr-cache-manager.ts +21 -11
- package/src/src/modules/react-loader/ssr-module-loader/vf-module-resolver.ts +11 -2
- package/src/src/modules/react-loader/unified-loader.ts +2 -2
- package/src/src/modules/server/module-batch-handler.ts +12 -6
- package/src/src/modules/server/module-server.ts +12 -44
- package/src/src/modules/server/ssr-import-rewriter.ts +1 -1
- package/src/src/modules/server/websocket-handler.ts +1 -1
- package/src/src/oauth/providers/base.ts +49 -15
- package/src/src/oauth/token-store/memory.ts +5 -5
- package/src/src/observability/auto-instrument/http-instrumentation.ts +2 -2
- package/src/src/observability/auto-instrument/types.ts +3 -3
- package/src/src/observability/error-collector.ts +7 -5
- package/src/src/observability/log-buffer.ts +4 -3
- package/src/src/observability/metrics/config.ts +4 -3
- package/src/src/observability/simple-metrics/metrics-recorder.ts +7 -4
- package/src/src/observability/simple-metrics/otel-instruments.ts +2 -2
- package/src/src/observability/tracing/config.ts +2 -2
- package/src/src/platform/adapters/detect.ts +0 -3
- package/src/src/platform/adapters/fs/factory.ts +2 -10
- package/src/src/platform/adapters/fs/github/adapter.ts +2 -1
- package/src/src/platform/adapters/fs/github/github-api-client.ts +6 -2
- package/src/src/platform/adapters/fs/github/stat-operations.ts +2 -1
- package/src/src/platform/adapters/fs/github/types.ts +13 -6
- package/src/src/platform/adapters/fs/veryfront/adapter-content-context.ts +7 -4
- package/src/src/platform/adapters/fs/veryfront/adapter.ts +13 -6
- package/src/src/platform/adapters/fs/veryfront/api-search-circuit-breaker.ts +1 -1
- package/src/src/platform/adapters/fs/veryfront/content-metrics.ts +1 -1
- package/src/src/platform/adapters/fs/veryfront/file-list-index.ts +2 -1
- package/src/src/platform/adapters/fs/veryfront/in-flight-dedupe.ts +3 -3
- package/src/src/platform/adapters/fs/veryfront/multi-project-adapter.ts +16 -9
- package/src/src/platform/adapters/fs/veryfront/proxy-manager.ts +18 -21
- package/src/src/platform/adapters/fs/veryfront/read-operations-helpers.ts +6 -5
- package/src/src/platform/adapters/fs/veryfront/read-operations.ts +9 -7
- package/src/src/platform/adapters/fs/veryfront/retry.ts +1 -0
- package/src/src/platform/adapters/fs/veryfront/stat-operations-helpers.ts +1 -1
- package/src/src/platform/adapters/fs/veryfront/stat-operations.ts +7 -3
- package/src/src/platform/adapters/fs/veryfront/types.ts +1 -4
- package/src/src/platform/adapters/fs/veryfront/websocket-manager.ts +37 -19
- package/src/src/platform/adapters/redis/modules.ts +10 -4
- package/src/src/platform/adapters/registry.ts +21 -18
- package/src/src/platform/adapters/runtime/bun/filesystem-adapter.ts +5 -3
- package/src/src/platform/adapters/runtime/deno/adapter.ts +23 -12
- package/src/src/platform/adapters/runtime/node/filesystem-adapter.ts +2 -2
- package/src/src/platform/adapters/runtime/node/http-server.ts +15 -5
- package/src/src/platform/adapters/runtime/node/websocket-adapter.ts +8 -5
- package/src/src/platform/adapters/runtime/shared/server-lifecycle.ts +1 -1
- package/src/src/platform/adapters/runtime/shared/shared-watcher.ts +7 -4
- package/src/src/platform/adapters/veryfront-api-client/client.ts +12 -6
- package/src/src/platform/adapters/veryfront-api-client/operations.ts +15 -4
- package/src/src/platform/adapters/veryfront-api-client/retry-handler.ts +1 -0
- package/src/src/platform/cloud/resolver.ts +104 -0
- package/src/src/platform/compat/console/index.ts +2 -1
- package/src/src/platform/compat/dynamic-import.ts +3 -2
- package/src/src/platform/compat/esbuild-init.ts +7 -6
- package/src/src/platform/compat/esbuild.ts +12 -13
- package/src/src/platform/compat/fs.ts +30 -15
- package/src/src/platform/compat/http/node-server.ts +5 -3
- package/src/src/platform/compat/http/responses.ts +4 -2
- package/src/src/platform/compat/http/websocket.ts +4 -3
- package/src/src/platform/compat/opaque-deps.ts +6 -1
- package/src/src/platform/compat/path/basic-operations.ts +5 -9
- package/src/src/platform/compat/path/parse-format.ts +5 -5
- package/src/src/platform/compat/path/resolution.ts +6 -10
- package/src/src/platform/compat/path/runtime.ts +2 -2
- package/src/src/platform/compat/path/url-conversion.ts +2 -1
- package/src/src/platform/compat/process.ts +78 -49
- package/src/src/platform/compat/react-paths.ts +2 -2
- package/src/src/platform/compat/runtime.ts +2 -1
- package/src/src/platform/compat/stdin.ts +10 -8
- package/src/src/platform/core-platform.ts +33 -10
- package/src/src/provider/local/ai-sdk-adapter.ts +7 -5
- package/src/src/provider/local/env.ts +6 -4
- package/src/src/provider/local/local-embedding-engine.ts +10 -5
- package/src/src/provider/local/local-engine.ts +76 -41
- package/src/src/provider/model-registry.ts +36 -5
- package/src/src/provider/veryfront-cloud/provider.ts +62 -0
- package/src/src/provider/veryfront-cloud/shared.ts +136 -0
- package/src/src/proxy/cache/memory-cache.ts +3 -2
- package/src/src/proxy/cache/redis-cache.ts +28 -19
- package/src/src/proxy/cache/resilient-cache.ts +11 -1
- package/src/src/proxy/handler.ts +6 -4
- package/src/src/proxy/logger.ts +6 -5
- package/src/src/proxy/main.ts +11 -6
- package/src/src/proxy/oauth-client.ts +9 -6
- package/src/src/proxy/renderer-router.ts +1 -1
- package/src/src/proxy/token-manager.ts +13 -10
- package/src/src/proxy/tracing.ts +6 -5
- package/src/src/react/compat/config-generator.ts +1 -1
- package/src/src/react/compat/hooks-adapter.ts +44 -23
- package/src/src/react/compat/ssr-adapter/server-loader.ts +7 -2
- package/src/src/react/compat/version-detector/feature-detector.ts +1 -1
- package/src/src/react/compat/version-detector/version-cache.ts +9 -5
- package/src/src/react/components/LayoutComponent.tsx +1 -1
- package/src/src/react/components/ProviderComponent.tsx +1 -1
- package/src/src/react/components/ai/agent-card.tsx +3 -3
- package/src/src/react/components/ai/chat/components/code-block.tsx +2 -1
- package/src/src/react/components/ai/chat/components/message-actions.tsx +2 -2
- package/src/src/react/components/ai/chat/components/reasoning.tsx +1 -1
- package/src/src/react/components/ai/chat/components/upgrade-cta.tsx +4 -3
- package/src/src/react/components/ai/chat/components/uploads-panel.tsx +17 -3
- package/src/src/react/components/ai/chat/composition/message.tsx +5 -4
- package/src/src/react/components/ai/chat/contexts/chat-context.tsx +4 -1
- package/src/src/react/components/ai/chat/contexts/composer-context.tsx +4 -1
- package/src/src/react/components/ai/chat/contexts/message-context.tsx +4 -1
- package/src/src/react/components/ai/chat/contexts/thread-list-context.tsx +4 -1
- package/src/src/react/components/ai/chat/hooks/use-threads.ts +2 -2
- package/src/src/react/components/ai/theme.ts +2 -2
- package/src/src/react/head-collector.ts +1 -1
- package/src/src/react/primitives/input-box.tsx +2 -4
- package/src/src/rendering/app-reserved.ts +2 -2
- package/src/src/rendering/app-route-resolver.ts +10 -9
- package/src/src/rendering/cache/cache-coordinator.ts +4 -1
- package/src/src/rendering/cache/stores/api-store.ts +23 -14
- package/src/src/rendering/cache/stores/filesystem-store.ts +10 -8
- package/src/src/rendering/cache/stores/memory-store.ts +1 -1
- package/src/src/rendering/cache/stores/redis-store.ts +15 -7
- package/src/src/rendering/component-handling.ts +2 -2
- package/src/src/rendering/context/render-context.ts +15 -6
- package/src/src/rendering/element-validator/primitive-checks.ts +3 -2
- package/src/src/rendering/factories/service-factories.ts +3 -1
- package/src/src/rendering/layouts/layout-applicator.ts +8 -5
- package/src/src/rendering/layouts/layout-collector.ts +14 -7
- package/src/src/rendering/layouts/utils/app-resolver.ts +9 -6
- package/src/src/rendering/layouts/utils/component-loader.ts +1 -1
- package/src/src/rendering/layouts/utils/hash-calculator.ts +7 -5
- package/src/src/rendering/orchestrator/css-cache.ts +2 -2
- package/src/src/rendering/orchestrator/css-candidate-manifest.ts +1 -1
- package/src/src/rendering/orchestrator/file-resolver/candidates.ts +2 -2
- package/src/src/rendering/orchestrator/html.ts +9 -5
- package/src/src/rendering/orchestrator/layout.ts +42 -31
- package/src/src/rendering/orchestrator/lifecycle.ts +10 -2
- package/src/src/rendering/orchestrator/module-collection.ts +2 -3
- package/src/src/rendering/orchestrator/module-loader/esm-rewriter.ts +4 -1
- package/src/src/rendering/orchestrator/module-loader/index.ts +11 -8
- package/src/src/rendering/orchestrator/pipeline.ts +36 -25
- package/src/src/rendering/page-renderer.ts +2 -2
- package/src/src/rendering/page-rendering.ts +4 -2
- package/src/src/rendering/page-resolution/page-resolver.ts +5 -0
- package/src/src/rendering/renderer-concurrency.ts +6 -5
- package/src/src/rendering/renderer.ts +16 -31
- package/src/src/rendering/router-detection.ts +40 -9
- package/src/src/rendering/rsc/server-renderer/component-detector.ts +1 -0
- package/src/src/rendering/rsc/server-renderer/prop-serializer.ts +2 -1
- package/src/src/rendering/rsc/server-renderer/rsc-renderer.ts +1 -0
- package/src/src/rendering/rsc/server-renderer/tree-processor.ts +1 -0
- package/src/src/rendering/script-page-handling.ts +3 -2
- package/src/src/rendering/shared/context-aware-cache.ts +7 -2
- package/src/src/rendering/shared/shared-services.ts +4 -1
- package/src/src/rendering/snippet-renderer.ts +46 -37
- package/src/src/rendering/ssr-globals/dom-stubs.ts +10 -4
- package/src/src/rendering/ssr-globals/fetch-interceptor.ts +6 -4
- package/src/src/rendering/ssr-globals/index.ts +2 -1
- package/src/src/rendering/ssr-renderer.ts +9 -2
- package/src/src/rendering/utils/stream-utils.ts +2 -2
- package/src/src/routing/api/api-route-matcher.ts +10 -6
- package/src/src/routing/api/handler.ts +7 -4
- package/src/src/routing/api/index.ts +1 -1
- package/src/src/routing/api/module-loader/esbuild-plugin.ts +4 -3
- package/src/src/routing/api/module-loader/http-validator.ts +2 -1
- package/src/src/routing/api/module-loader/loader.ts +15 -14
- package/src/src/routing/api/openapi/path-utils.ts +1 -1
- package/src/src/routing/api/openapi/spec-generator.ts +9 -8
- package/src/src/routing/api/openapi/types.ts +5 -5
- package/src/src/routing/api/route-discovery.ts +3 -3
- package/src/src/routing/index.ts +1 -1
- package/src/src/routing/matchers/index.ts +1 -1
- package/src/src/routing/matchers/pattern-route-matcher.ts +0 -3
- package/src/src/sandbox/index.ts +1 -1
- package/src/src/sandbox/sandbox.ts +58 -23
- package/src/src/security/client/html-sanitizer.ts +5 -16
- package/src/src/security/csrf/helpers.ts +4 -4
- package/src/src/security/http/auth.ts +3 -3
- package/src/src/security/http/base-handler.ts +2 -2
- package/src/src/security/http/middleware/config-loader.ts +2 -1
- package/src/src/security/http/response/fluent-methods.ts +7 -3
- package/src/src/security/http/response/security-handler.ts +8 -2
- package/src/src/security/path-validation/canonical.ts +2 -1
- package/src/src/security/path-validation/index.ts +2 -1
- package/src/src/security/path-validation/rules.ts +1 -2
- package/src/src/security/secure-fs.ts +8 -2
- package/src/src/server/bootstrap.ts +5 -5
- package/src/src/server/build-app-route-renderer.ts +3 -2
- package/src/src/server/build-routes.ts +2 -2
- package/src/src/server/build-service-worker.ts +2 -1
- package/src/src/server/context/cache-invalidation.ts +11 -4
- package/src/src/server/context/enriched-context.ts +5 -4
- package/src/src/server/dev-server/error-overlay/html-template.ts +11 -2
- package/src/src/server/dev-server/file-watch-setup.ts +23 -4
- package/src/src/server/dev-server/middleware.ts +11 -8
- package/src/src/server/dev-server/request-handler.ts +11 -7
- package/src/src/server/dev-server/route-discovery.ts +2 -2
- package/src/src/server/dev-server/server.ts +12 -15
- package/src/src/server/dev-server/types.ts +0 -2
- package/src/src/server/dev-ui/manifest.js +10 -10
- package/src/src/server/handlers/dev/dashboard/api.ts +28 -9
- package/src/src/server/handlers/dev/dashboard/ui-handler.ts +6 -6
- package/src/src/server/handlers/dev/debug-context.handler.ts +4 -2
- package/src/src/server/handlers/dev/endpoints.handler.ts +3 -1
- package/src/src/server/handlers/dev/files/esbuild-plugins.ts +10 -5
- package/src/src/server/handlers/dev/files/path-validator.ts +2 -1
- package/src/src/server/handlers/dev/framework-candidates.generated.ts +13 -6
- package/src/src/server/handlers/dev/projects/ui-handler.ts +6 -6
- package/src/src/server/handlers/dev/scripts/hmr-scripts.ts +13 -13
- package/src/src/server/handlers/dev/shared/ui-module-transform.ts +1 -1
- package/src/src/server/handlers/dev/styles-candidate-scanner.ts +4 -3
- package/src/src/server/handlers/dev/styles-css.handler.ts +2 -1
- package/src/src/server/handlers/monitoring/client-log.handler.ts +9 -3
- package/src/src/server/handlers/monitoring/health.handler.ts +4 -2
- package/src/src/server/handlers/monitoring/memory.handler.ts +9 -1
- package/src/src/server/handlers/monitoring/metrics.handler.ts +3 -0
- package/src/src/server/handlers/preview/hmr-client-manager.ts +3 -12
- package/src/src/server/handlers/preview/hmr-message-router.ts +3 -3
- package/src/src/server/handlers/preview/hmr-ping-keepalive.ts +3 -3
- package/src/src/server/handlers/preview/hmr.handler.ts +8 -8
- package/src/src/server/handlers/preview/markdown-html-generator.ts +3 -3
- package/src/src/server/handlers/preview/markdown-preview.handler.ts +6 -5
- package/src/src/server/handlers/request/api/app-router-resolver.ts +130 -51
- package/src/src/server/handlers/request/api/pages-api-handler.ts +2 -2
- package/src/src/server/handlers/request/module/page-data-endpoint-handler.ts +1 -1
- package/src/src/server/handlers/request/openapi-docs.handler.ts +4 -1
- package/src/src/server/handlers/request/openapi.handler.ts +8 -5
- package/src/src/server/handlers/request/rsc/index.ts +1 -0
- package/src/src/server/handlers/request/ssr/error-page-fallback.ts +8 -6
- package/src/src/server/handlers/request/ssr/not-found-fallback.ts +8 -5
- package/src/src/server/handlers/request/ssr/ssr.handler.ts +2 -2
- package/src/src/server/handlers/response/cors.ts +2 -82
- package/src/src/server/handlers/studio/bridge-modules.handler.ts +4 -9
- package/src/src/server/index.ts +20 -26
- package/src/src/server/production-server.ts +22 -5
- package/src/src/server/project-env/cache.ts +2 -2
- package/src/src/server/project-env/fetcher.ts +2 -1
- package/src/src/server/reload-notifier.ts +1 -1
- package/src/src/server/runtime-handler/adapter-factory.ts +2 -2
- package/src/src/server/runtime-handler/environment-resolution.ts +2 -2
- package/src/src/server/runtime-handler/handler-context-builder.ts +2 -2
- package/src/src/server/runtime-handler/index.ts +16 -16
- package/src/src/server/runtime-handler/isolation.ts +1 -1
- package/src/src/server/runtime-handler/local-project-discovery.ts +14 -4
- package/src/src/server/runtime-handler/project-isolation.ts +1 -1
- package/src/src/server/runtime-handler/project-resolution.ts +4 -4
- package/src/src/server/runtime-handler/request-lifecycle.ts +1 -1
- package/src/src/server/runtime-handler/request-tracker.ts +9 -3
- package/src/src/server/runtime-handler/request-utils.ts +1 -1
- package/src/src/server/runtime-handler/tracing.ts +1 -1
- package/src/src/server/services/rsc/endpoints/action-handler.ts +2 -1
- package/src/src/server/services/rsc/endpoints/endpoint-router.ts +12 -4
- package/src/src/server/services/rsc/endpoints/handler-registry.ts +9 -4
- package/src/src/server/services/rsc/endpoints/script-handlers.ts +2 -2
- package/src/src/server/services/rsc/endpoints/types.ts +1 -0
- package/src/src/server/services/rsc/orchestrators/component-resolver.ts +2 -1
- package/src/src/server/services/rsc/orchestrators/manifest-handler.ts +1 -1
- package/src/src/server/services/rsc/orchestrators/page-handler.ts +2 -1
- package/src/src/server/services/rsc/orchestrators/render-handler.ts +3 -3
- package/src/src/server/services/rsc/orchestrators/stream-handler.ts +1 -1
- package/src/src/server/services/static/static-file.service.ts +7 -4
- package/src/src/server/shared/renderer/adapter.ts +9 -4
- package/src/src/server/utils/domain-lookup.ts +1 -1
- package/src/src/server/utils/error-html.ts +1 -1
- package/src/src/skill/allowed-tools.ts +1 -1
- package/src/src/skill/executor.ts +21 -23
- package/src/src/skill/parser.ts +5 -5
- package/src/src/skill/path-safety.ts +11 -2
- package/src/src/skill/tools.ts +5 -2
- package/src/src/studio/bridge/bridge-bundle.generated.ts +1 -1
- package/src/src/task/discovery.ts +81 -7
- package/src/src/tool/factory.ts +1 -2
- package/src/src/tool/schema/zod-json-schema.ts +14 -8
- package/src/src/tool/types.ts +4 -4
- package/src/src/transforms/esm/bundle-deps-validator.ts +14 -7
- package/src/src/transforms/esm/bundle-manifest.ts +9 -5
- package/src/src/transforms/esm/bundle-recovery.ts +19 -15
- package/src/src/transforms/esm/http-bundler.ts +6 -20
- package/src/src/transforms/esm/http-cache-helpers.ts +2 -1
- package/src/src/transforms/esm/http-cache-invariants.ts +1 -30
- package/src/src/transforms/esm/http-cache-types.ts +2 -2
- package/src/src/transforms/esm/http-cache-wrapper.ts +6 -4
- package/src/src/transforms/esm/http-cache.ts +25 -17
- package/src/src/transforms/esm/import-parser.ts +11 -6
- package/src/src/transforms/esm/in-flight-manager.ts +15 -12
- package/src/src/transforms/esm/package-registry.ts +2 -22
- package/src/src/transforms/esm/source-url-embed.ts +2 -2
- package/src/src/transforms/esm/specifier-resolver.ts +1 -1
- package/src/src/transforms/esm/transform-cache.ts +5 -154
- package/src/src/transforms/import-rewriter/strategies/import-map-strategy.ts +4 -2
- package/src/src/transforms/md/utils.ts +1 -1
- package/src/src/transforms/mdx/compiler/import-rewriter.ts +2 -1
- package/src/src/transforms/mdx/esm-module-loader/cache/index.ts +22 -12
- package/src/src/transforms/mdx/esm-module-loader/constants.ts +0 -1
- package/src/src/transforms/mdx/esm-module-loader/import-transformer.ts +13 -5
- package/src/src/transforms/mdx/esm-module-loader/jsx/runtime-loader.ts +5 -6
- package/src/src/transforms/mdx/esm-module-loader/loader-helpers.ts +18 -14
- package/src/src/transforms/mdx/esm-module-loader/metadata/string-parser.ts +2 -1
- package/src/src/transforms/mdx/esm-module-loader/missing-module.ts +4 -3
- package/src/src/transforms/mdx/esm-module-loader/module-fetcher/distributed-cache.ts +18 -15
- package/src/src/transforms/mdx/esm-module-loader/module-fetcher/framework-validator.ts +9 -7
- package/src/src/transforms/mdx/esm-module-loader/module-fetcher/index.ts +2 -1
- package/src/src/transforms/mdx/esm-module-loader/module-fetcher/module-cache.ts +2 -2
- package/src/src/transforms/mdx/esm-module-loader/module-fetcher/render-sessions.ts +1 -1
- package/src/src/transforms/mdx/esm-module-loader/module-writer.ts +30 -21
- package/src/src/transforms/mdx/esm-module-loader/resolution/file-finder.ts +4 -3
- package/src/src/transforms/mdx/esm-module-loader/types.ts +3 -3
- package/src/src/transforms/mdx/esm-module-loader/utils/stub-module.ts +2 -2
- package/src/src/transforms/pipeline/index.ts +3 -2
- package/src/src/transforms/pipeline/stages/compile.ts +5 -1
- package/src/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.ts +18 -18
- package/src/src/transforms/pipeline/stages/ssr-vf-modules/transform.ts +9 -6
- package/src/src/transforms/plugins/babel-node-positions.ts +2 -2
- package/src/src/transforms/plugins/plugin-loader.ts +1 -1
- package/src/src/transforms/plugins/rehype-node-positions.ts +1 -1
- package/src/src/transforms/shared/cross-project-import.ts +1 -1
- package/src/src/transforms/veryfront-module-urls.ts +0 -4
- package/src/src/types/entities/getEntityInfo.ts +22 -16
- package/src/src/types/entities.ts +0 -45
- package/src/src/utils/box.ts +1 -1
- package/src/src/utils/bundle-manifest-init.ts +0 -25
- package/src/src/utils/bundle-manifest-kv.ts +1 -1
- package/src/src/utils/bundle-manifest-redis.ts +1 -1
- package/src/src/utils/cache-dir.ts +4 -5
- package/src/src/utils/cache-file-ops.ts +2 -1
- package/src/src/utils/circuit-breaker.ts +19 -28
- package/src/src/utils/constants/cache.ts +2 -2
- package/src/src/utils/env-loader.ts +2 -1
- package/src/src/utils/file-discovery.ts +6 -6
- package/src/src/utils/hash-utils.ts +6 -2
- package/src/src/utils/import-lockfile.ts +12 -8
- package/src/src/utils/logger/core.ts +2 -1
- package/src/src/utils/logger/logger.ts +17 -7
- package/src/src/utils/lru-wrapper.ts +5 -2
- package/src/src/utils/memoize.ts +2 -3
- package/src/src/utils/memory/profiler.ts +18 -7
- package/src/src/utils/parallel.ts +5 -3
- package/src/src/utils/path-utils.ts +11 -9
- package/src/src/utils/platform.ts +2 -1
- package/src/src/utils/redis-client.ts +11 -33
- package/src/src/utils/route-path-utils.ts +3 -3
- package/src/src/workflow/api.ts +9 -9
- package/src/src/workflow/backends/memory.ts +13 -6
- package/src/src/workflow/backends/redis/index.ts +32 -16
- package/src/src/workflow/blob/veryfront-cloud-storage.ts +520 -0
- package/src/src/workflow/claude-code/agent.ts +35 -8
- package/src/src/workflow/claude-code/event-publisher.ts +33 -10
- package/src/src/workflow/claude-code/react/use-claude-code-stream.ts +13 -4
- package/src/src/workflow/claude-code/react/use-claude-code-websocket.ts +14 -5
- package/src/src/workflow/claude-code/tool.ts +3 -3
- package/src/src/workflow/claude-code/types.ts +5 -6
- package/src/src/workflow/claude-code/websocket-publisher.ts +32 -17
- package/src/src/workflow/claude-code/workspace-sync.ts +29 -18
- package/src/src/workflow/dsl/branch.ts +7 -2
- package/src/src/workflow/dsl/loop.ts +18 -8
- package/src/src/workflow/dsl/map.ts +9 -2
- package/src/src/workflow/dsl/parallel.ts +7 -4
- package/src/src/workflow/dsl/step.ts +5 -2
- package/src/src/workflow/dsl/sub-workflow.ts +4 -1
- package/src/src/workflow/dsl/validation.ts +3 -1
- package/src/src/workflow/dsl/wait.ts +2 -1
- package/src/src/workflow/dsl/workflow.ts +6 -3
- package/src/src/workflow/executor/dag/graph.ts +6 -3
- package/src/src/workflow/executor/dag/index.ts +10 -7
- package/src/src/workflow/executor/dag/utils.ts +1 -0
- package/src/src/workflow/executor/step-executor.ts +33 -12
- package/src/src/workflow/executor/workflow-executor.ts +73 -33
- package/src/src/workflow/react/use-approval.ts +9 -2
- package/src/src/workflow/react/use-workflow-list.ts +11 -2
- package/src/src/workflow/react/use-workflow-start.ts +5 -3
- package/src/src/workflow/react/use-workflow.ts +18 -5
- package/src/src/workflow/registry.ts +2 -2
- package/src/src/workflow/runtime/approval-manager.ts +10 -6
- package/src/src/workflow/types.ts +24 -12
- package/src/src/workflow/worker/dynamic-job-entrypoint.ts +10 -10
- package/src/src/workflow/worker/executors/k8s.ts +6 -2
- package/src/src/workflow/worker/executors/process.ts +41 -32
- package/src/src/workflow/worker/job-entrypoint.ts +7 -8
- package/src/src/workflow/worker/job-manager.ts +14 -4
- package/src/src/workflow/worker/workflow-worker.ts +14 -6
- package/esm/src/build/vendor-bundle.d.ts +0 -32
- package/esm/src/build/vendor-bundle.d.ts.map +0 -1
- package/esm/src/build/vendor-bundle.js +0 -110
- package/esm/src/build/vendor-cache.d.ts +0 -18
- package/esm/src/build/vendor-cache.d.ts.map +0 -1
- package/esm/src/build/vendor-cache.js +0 -76
- package/esm/src/embedding/upload-store.d.ts +0 -27
- package/esm/src/embedding/upload-store.d.ts.map +0 -1
- package/src/src/build/vendor-bundle.ts +0 -154
- package/src/src/build/vendor-cache.ts +0 -111
- package/src/src/embedding/upload-store.ts +0 -299
|
@@ -9,8 +9,8 @@ export default {
|
|
|
9
9
|
"app/layout.tsx": "import { Head } from \"veryfront/head\";\n\nexport default function RootLayout({\n children,\n}: {\n children: React.ReactNode;\n}): React.ReactNode {\n return (\n <>\n <Head>\n <title>AI Workflows</title>\n </Head>\n {children}\n </>\n );\n}\n",
|
|
10
10
|
"app/page.tsx": "'use client'\n\nimport { useState } from 'react'\nimport { useWorkflowStart, useWorkflowList } from 'veryfront/workflow'\n\nconst STATUS_STYLES: Record<string, string> = {\n running: 'bg-blue-100 text-blue-700 dark:bg-blue-900/30 dark:text-blue-400',\n completed: 'bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400',\n waiting_for_approval: 'bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400',\n failed: 'bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400',\n pending: 'bg-neutral-100 text-neutral-600 dark:bg-neutral-800 dark:text-neutral-400',\n}\n\nexport default function WorkflowDashboard(): JSX.Element {\n const [topic, setTopic] = useState('')\n const { start, isStarting } = useWorkflowStart({ workflowId: 'content-pipeline' })\n const { runs, isLoading } = useWorkflowList()\n\n async function handleStart(e: React.FormEvent) {\n e.preventDefault()\n if (!topic.trim()) return\n await start({ topic: topic.trim() })\n setTopic('')\n }\n\n return (\n <div className=\"min-h-screen bg-neutral-50 dark:bg-neutral-950\">\n <div className=\"max-w-2xl mx-auto px-4 py-12\">\n <div className=\"mb-10\">\n <h1 className=\"text-2xl font-bold text-neutral-900 dark:text-white\">Content Pipeline</h1>\n <p className=\"mt-1 text-neutral-500 dark:text-neutral-400\">Research → Write → Review → Publish</p>\n </div>\n\n {/* Start new workflow */}\n <form onSubmit={handleStart} className=\"mb-10\">\n <div className=\"flex gap-3\">\n <input\n type=\"text\"\n value={topic}\n onChange={(e) => setTopic(e.target.value)}\n placeholder=\"Enter a topic to research and write about...\"\n className=\"flex-1 px-4 py-2.5 bg-white dark:bg-neutral-900 border border-neutral-200 dark:border-neutral-800 rounded-xl text-neutral-900 dark:text-white placeholder-neutral-400 focus:outline-none focus:ring-2 focus:ring-blue-500/30 focus:border-blue-500\"\n />\n <button\n type=\"submit\"\n disabled={isStarting || !topic.trim()}\n className=\"px-5 py-2.5 bg-blue-500 text-white font-medium rounded-xl hover:bg-blue-600 disabled:opacity-50 disabled:cursor-not-allowed transition-colors\"\n >\n {isStarting ? 'Starting...' : 'Start'}\n </button>\n </div>\n </form>\n\n {/* Workflow runs */}\n <div>\n <h2 className=\"text-sm font-medium text-neutral-500 dark:text-neutral-400 uppercase tracking-wider mb-4\">Recent Runs</h2>\n\n {isLoading ? (\n <p className=\"text-neutral-400 text-sm py-8 text-center\">Loading...</p>\n ) : runs.length === 0 ? (\n <div className=\"text-center py-12 bg-white dark:bg-neutral-900 rounded-2xl border border-neutral-200 dark:border-neutral-800\">\n <p className=\"text-neutral-500 dark:text-neutral-400\">No workflows yet. Start one above.</p>\n </div>\n ) : (\n <div className=\"space-y-3\">\n {runs.map((wf) => (\n <a\n key={wf.id}\n href={`/workflows/${wf.id}`}\n className=\"block bg-white dark:bg-neutral-900 border border-neutral-200 dark:border-neutral-800 rounded-xl p-4 hover:border-neutral-300 dark:hover:border-neutral-700 transition-colors\"\n >\n <div className=\"flex items-center justify-between\">\n <div>\n <p className=\"font-medium text-neutral-900 dark:text-white text-sm\">{wf.input?.topic || 'Untitled'}</p>\n <p className=\"text-xs text-neutral-500 mt-1\">{new Date(wf.createdAt).toLocaleString()}</p>\n </div>\n <span className={`px-2.5 py-1 rounded-full text-xs font-medium ${STATUS_STYLES[wf.status] || STATUS_STYLES.pending}`}>\n {wf.status.replace(/_/g, ' ')}\n </span>\n </div>\n </a>\n ))}\n </div>\n )}\n </div>\n </div>\n </div>\n )\n}\n",
|
|
11
11
|
"tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"ES2022\",\n \"module\": \"ESNext\",\n \"moduleResolution\": \"bundler\",\n \"strict\": true,\n \"jsx\": \"react-jsx\",\n \"skipLibCheck\": true,\n \"esModuleInterop\": true,\n \"paths\": {\n \"@/*\": [\"./*\"]\n }\n },\n \"include\": [\"**/*.ts\", \"**/*.tsx\"],\n \"exclude\": [\"node_modules\"]\n}\n",
|
|
12
|
-
"agents/researcher.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"researcher\",\n
|
|
13
|
-
"agents/writer.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"writer\",\n
|
|
12
|
+
"agents/researcher.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"researcher\",\n system:\n \"You research topics thoroughly and return structured findings. \" +\n \"Present results as clear bullet points with key facts, data, and sources.\",\n maxSteps: 3,\n});\n",
|
|
13
|
+
"agents/writer.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"writer\",\n system:\n \"You transform research notes into polished, publication-ready content. \" +\n \"Use a professional but approachable tone.\",\n maxSteps: 3,\n});\n"
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
"saas-starter": {
|
|
@@ -22,7 +22,7 @@ export default {
|
|
|
22
22
|
"app/layout.tsx": "import { Head } from \"veryfront/head\";\n\nexport default function RootLayout({\n children,\n}: {\n children: React.ReactNode;\n}): React.ReactNode {\n return (\n <>\n <Head>\n <title>AI SaaS</title>\n </Head>\n <div className=\"antialiased\">\n {children}\n </div>\n </>\n );\n}\n",
|
|
23
23
|
"app/page.tsx": "export default function LandingPage(): JSX.Element {\n return (\n <div className=\"min-h-screen bg-white dark:bg-neutral-950\">\n {/* Nav */}\n <nav className=\"border-b border-neutral-100 dark:border-neutral-900\">\n <div className=\"max-w-5xl mx-auto flex items-center justify-between px-6 h-14\">\n <span className=\"font-semibold text-neutral-900 dark:text-white\">\n AI SaaS\n </span>\n <div className=\"flex items-center gap-4\">\n <a\n href=\"/login\"\n className=\"text-sm text-neutral-600 dark:text-neutral-400 hover:text-neutral-900 dark:hover:text-white transition-colors\"\n >\n Sign in\n </a>\n <a\n href=\"/login\"\n className=\"text-sm px-4 py-1.5 bg-neutral-900 dark:bg-white text-white dark:text-neutral-900 rounded-full font-medium hover:opacity-90 transition-opacity\"\n >\n Get started\n </a>\n </div>\n </div>\n </nav>\n\n {/* Hero */}\n <main className=\"max-w-5xl mx-auto px-6\">\n <div className=\"pt-24 pb-16 text-center\">\n <h1 className=\"text-4xl md:text-5xl font-bold tracking-tight text-neutral-900 dark:text-white\">\n Your AI-powered platform\n </h1>\n <p className=\"mt-4 text-lg text-neutral-500 dark:text-neutral-400 max-w-lg mx-auto\">\n Built with Veryfront. Agents, tools, and memory — ready for\n production.\n </p>\n <div className=\"mt-8 flex gap-3 justify-center\">\n <a\n href=\"/login\"\n className=\"px-6 py-2.5 bg-neutral-900 dark:bg-white text-white dark:text-neutral-900 rounded-full font-medium hover:opacity-90 transition-opacity\"\n >\n Start free\n </a>\n <a\n href=\"https://veryfront.com/code/guides\"\n className=\"px-6 py-2.5 border border-neutral-200 dark:border-neutral-800 text-neutral-700 dark:text-neutral-300 rounded-full font-medium hover:bg-neutral-50 dark:hover:bg-neutral-900 transition-colors\"\n >\n Documentation\n </a>\n </div>\n </div>\n\n {/* Features */}\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-6 py-16 border-t border-neutral-100 dark:border-neutral-900\">\n {[\n {\n title: \"AI Agents\",\n desc: \"Define agents with tools, memory, and streaming — auto-discovered from your project.\",\n },\n {\n title: \"Per-User Memory\",\n desc: \"Each user gets their own conversation history, persisted across sessions.\",\n },\n {\n title: \"Production Ready\",\n desc: \"Auth, rate limiting, and deploy — ship to production with one command.\",\n },\n ].map(({ title, desc }) => (\n <div key={title}>\n <h3 className=\"font-medium text-neutral-900 dark:text-white\">\n {title}\n </h3>\n <p className=\"mt-1 text-sm text-neutral-500 dark:text-neutral-400\">\n {desc}\n </p>\n </div>\n ))}\n </div>\n </main>\n </div>\n );\n}\n",
|
|
24
24
|
"tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"ES2022\",\n \"module\": \"ESNext\",\n \"moduleResolution\": \"bundler\",\n \"strict\": true,\n \"jsx\": \"react-jsx\",\n \"skipLibCheck\": true,\n \"esModuleInterop\": true,\n \"paths\": {\n \"@/*\": [\"./*\"]\n }\n },\n \"include\": [\"**/*.ts\", \"**/*.tsx\"],\n \"exclude\": [\"node_modules\"]\n}\n",
|
|
25
|
-
"agents/assistant.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"assistant\",\n
|
|
25
|
+
"agents/assistant.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"assistant\",\n system: \"You are a helpful AI assistant. Be concise and direct.\",\n tools: true,\n memory: { type: \"conversation\", maxMessages: 50 },\n maxSteps: 10,\n});\n",
|
|
26
26
|
"tools/search.ts": "import { tool } from \"veryfront/tool\";\nimport { z } from \"zod\";\n\nexport default tool({\n id: \"search\",\n description: \"Search your knowledge base\",\n inputSchema: z.object({\n query: z.string().describe(\"Search query\"),\n }),\n execute: async ({ query }) => {\n // Replace with your domain-specific search logic\n return {\n results: [],\n query,\n message: \"Connect your data source for real results.\",\n };\n },\n});\n"
|
|
27
27
|
}
|
|
28
28
|
},
|
|
@@ -33,21 +33,21 @@ export default {
|
|
|
33
33
|
"app/layout.tsx": "import { Head } from \"veryfront/head\";\n\nexport default function RootLayout({\n children,\n}: {\n children: React.ReactNode;\n}): React.ReactNode {\n return (\n <>\n <Head>\n <title>AI Chat</title>\n </Head>\n <div className=\"flex flex-col h-screen bg-white dark:bg-neutral-900\">\n {children}\n </div>\n </>\n );\n}\n",
|
|
34
34
|
"app/page.tsx": "'use client'\n\nimport { Chat, useChat } from 'veryfront/chat'\n\nexport default function ChatPage(): JSX.Element {\n const chat = useChat({ api: '/api/chat' })\n\n return <Chat {...chat} className=\"flex-1 min-h-0\" placeholder=\"Message\" />\n}\n",
|
|
35
35
|
"tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"ES2022\",\n \"module\": \"ESNext\",\n \"moduleResolution\": \"bundler\",\n \"strict\": true,\n \"jsx\": \"react-jsx\",\n \"skipLibCheck\": true,\n \"esModuleInterop\": true,\n \"paths\": {\n \"@/*\": [\"./*\"]\n }\n },\n \"include\": [\"**/*.ts\", \"**/*.tsx\"],\n \"exclude\": [\"node_modules\"]\n}\n",
|
|
36
|
-
"agents/assistant.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"assistant\",\n
|
|
36
|
+
"agents/assistant.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"assistant\",\n system: \"You are a helpful assistant. Answer questions clearly and concisely.\",\n tools: true,\n maxSteps: 10,\n});\n",
|
|
37
37
|
"tools/calculator.ts": "import { tool } from \"veryfront/tool\";\nimport { z } from \"zod\";\n\nexport default tool({\n id: \"calculator\",\n description: \"Perform basic arithmetic operations\",\n inputSchema: z.object({\n operation: z.enum([\"add\", \"subtract\", \"multiply\", \"divide\"]),\n a: z.number(),\n b: z.number(),\n }),\n execute: async ({ operation, a, b }) => {\n if (operation === \"divide\" && b === 0) {\n throw new Error(\"Cannot divide by zero\");\n }\n\n if (operation === \"add\") return { result: a + b };\n if (operation === \"subtract\") return { result: a - b };\n if (operation === \"multiply\") return { result: a * b };\n return { result: a / b };\n },\n});\n"
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
"docs-agent": {
|
|
41
41
|
"files": {
|
|
42
|
-
"README.md": "# Docs Agent\n\nA chatbot that answers questions from your own documents using Retrieval-Augmented Generation (RAG).\n\n## What's included\n\n- Q&A agent with source citation\n- Embedding-based semantic search
|
|
42
|
+
"README.md": "# Docs Agent\n\nA chatbot that answers questions from your own documents using Retrieval-Augmented Generation (RAG).\n\n## What's included\n\n- Q&A agent with source citation\n- Embedding-based semantic search with convention-based model selection\n- Document upload supporting PDF, DOCX, XLSX, PPTX, CSV, HTML, RTF, EPUB, TXT, and Markdown\n- `ragStore()` with local JSON storage by default, and Veryfront Cloud RAG when bootstrap is present\n- Original uploaded files stored in Veryfront Cloud project uploads when cloud bootstrap is present\n- Sample content in `/content` directory auto-indexed on first search\n\n## Getting started\n\n1. Set your Veryfront Cloud bootstrap vars:\n\n ```bash\n export VERYFRONT_API_TOKEN=vf_...\n export VERYFRONT_PROJECT_SLUG=my-project\n ```\n\n2. Start the dev server:\n\n ```bash\n npx veryfront dev\n ```\n\n3. Open the app and upload a document or ask a question — the sample docs in `content/` are indexed automatically.\n\nIf you are using a self-hosted Veryfront API, also set `VERYFRONT_API_URL`.\n\n## Architecture\n\nRAG grounds LLM responses in your documents through three pipelines — **Ingestion**, **Query**, and **RAG** — orchestrated around a shared vector store.\n\n```mermaid\nflowchart LR\n ChatUI_L[\"Chat UI\"]\n\n subgraph IngestionFlow[\"Ingestion Pipeline\"]\n D[\"Documents\"] --> EXT[\"Extraction\"] --> DC[\"Chunking\"] --> DE[\"Document\\nEmbedding\"] --> ING[\"Storage\"]\n end\n\n subgraph QueryFlow[\"Query Pipeline\"]\n Q[\"Query\"] --> QE[\"Query\\nEmbedding\"] --> SS[\"Similarity\\nSearch\"]\n end\n\n subgraph RAGFlow[\"RAG Pipeline\"]\n BF[\"beforeStream\\nHook\"] --> RET[\"Retrieval\"] --> AUG[\"Augmentation\"] --> AG[\"Agent\"] --> GEN[\"Generation\"]\n end\n\n EMB((\"Embedding\\nModel\"))\n GEN_LLM((\"Generative\\nModel\"))\n VS[(\"Vector\\nStore\")]\n ChatUI_R[\"Chat UI\"]\n\n ChatUI_L --> D\n ChatUI_L --> Q\n\n QE -.- EMB\n DE -.- EMB\n\n SS --> VS\n ING --> VS\n\n Q --> BF\n VS --> RET\n AG -.- GEN_LLM\n GEN -.- GEN_LLM\n GEN --> ChatUI_R\n```\n\n### Pipelines\n\n**Ingestion** — Documents are parsed into plain text via the built-in kreuzberg extraction engine (supporting PDF, DOCX, XLSX, PPTX, HTML, RTF, EPUB, and 76+ formats), split into overlapping chunks (~1000 chars, 200 char overlap), and stored in the default `ragStore()`. In local mode that means `data/index.json`; with Veryfront Cloud bootstrap it upgrades to the cloud RAG backend automatically. The original uploaded binary is also stored in the project's Veryfront Cloud uploads store so remote projects retain the source file, not just the extracted text. Embeddings are generated lazily on first search to keep uploads fast.\n\n**Query** — The user's query is embedded into the same vector space as the documents, then compared against all stored chunks using cosine similarity to find the top-*k* most relevant results.\n\n**RAG** — The `beforeStream` hook in the chat route intercepts each message before it reaches the agent. It searches the document store for relevant chunks, assembles them into context, and prepends them as a system message. The agent then generates a cited response streamed back to the user.\n\n## Structure\n\n```\nstore.ts RAG store config\nagents/rag.ts Q&A agent with citation instructions\ncontent/\n getting-started.md Sample document\n architecture.md Sample document\napp/\n api/chat/route.ts Chat API endpoint\n api/uploads/route.ts Upload (POST) and list (GET) uploads\n api/uploads/[id]/route.ts Delete upload\n page.tsx Chat UI with document upload panel\n layout.tsx Root layout with header\n```\n\n## Framework usage\n\n| What | Framework | Template code |\n|------|-----------|---------------|\n| Chat UI + streaming | `Chat`, `useChat` | `page.tsx` |\n| Upload management | `useUploads` hook | `page.tsx` |\n| Source display | `showSources` prop on `Chat` | `page.tsx` |\n| Upload API routes | `createUploadHandler` | 1-line per route file |\n| Chat API route | `createChatHandler` | 1 line in `route.ts` |\n| Agent definition | `agent()` | Config object in `agents/rag.ts` |\n| RAG retrieval | `beforeStream` hook | Context injection in `api/chat/route.ts` |\n| Vector store | `ragStore()` | Config in `store.ts` |\n\n## Adding documents\n\n- Drop files into `content/` — they're indexed automatically on first search\n- Or use the upload panel in the UI for PDF, DOCX, XLSX, PPTX, CSV, HTML, RTF, EPUB, TXT, and MD files\n\n## Production notes\n\nThis is a starter template — not a production-ready setup. For production, consider:\n\n- **Vector store** — Replace the default store with pgvector, Pinecone, or Qdrant for datasets beyond ~10k chunks\n- **Reranking** — Add a cross-encoder reranker (e.g. Cohere Rerank) after retrieval to improve precision\n- **Hybrid search** — Combine dense vectors with BM25 keyword matching for better recall\n",
|
|
43
43
|
"app/api/uploads/route.ts": "import { createUploadHandler } from \"veryfront/embedding\";\nimport { store } from \"../../../store.ts\";\n\nexport const { POST, GET } = createUploadHandler(store);\n",
|
|
44
44
|
"app/api/uploads/[id]/route.ts": "import { createUploadHandler } from \"veryfront/embedding\";\nimport { store } from \"../../../../store.ts\";\n\nexport const { DELETE } = createUploadHandler(store);\n",
|
|
45
45
|
"app/api/chat/route.ts": "import { createChatHandler } from \"veryfront/agent\";\nimport { store } from \"../../../store.ts\";\n\nexport const POST = createChatHandler(\"rag\", {\n beforeStream: async ({ lastUserText }) => {\n const query = lastUserText.trim();\n if (!query) return;\n\n try {\n await store.indexContentDir();\n const results = await store.search(query, { topK: 5 });\n if (results.length === 0) return;\n\n const contextBlock = results\n .map(\n (result) =>\n `[${result.title}] (score: ${\n result.score.toFixed(2)\n })\\n${result.text}`,\n )\n .join(\"\\n\\n---\\n\\n\");\n\n return {\n prepend: [\n {\n role: \"system\",\n parts: [\n {\n type: \"text\",\n text:\n `Here are relevant documents retrieved for the user's question:\\n\\n${contextBlock}\\n\\n` +\n \"Use these documents to answer. Cite the document title when referencing information.\",\n },\n ],\n },\n ],\n };\n } catch (e) {\n console.error(\"[RAG] Retrieval failed:\", e);\n return;\n }\n },\n});\n",
|
|
46
46
|
"app/layout.tsx": "import { Head } from \"veryfront/head\";\n\nexport default function RootLayout({ children }: { children: React.ReactNode }): React.ReactNode {\n return (\n <>\n <Head><title>Docs Agent</title></Head>\n <div className=\"flex flex-col h-screen\">\n {children}\n </div>\n </>\n );\n}\n",
|
|
47
|
-
"app/page.tsx": "'use client'\n\nimport { useState, useEffect, useCallback, useMemo } from 'react'\nimport { ChatWithSidebar, useChat, type QuickAction } from 'veryfront/chat'\n\nconst UPLOAD_API = '/api/uploads'\nconst ACCEPT = '.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.csv,.txt,.md,.mdx,.html,.rtf,.epub,.json,.xml'\n\nconst QUICK_ACTIONS: QuickAction[] = [\n { id: 'ask-question', label: 'Ask Question', prompt: 'I have a question about this document: ' },\n { id: 'extract-insights', label: 'Extract Insights', prompt: 'Extract the key insights from the uploaded documents.' },\n { id: 'find-sources', label: 'Find Sources', prompt: 'Find relevant sources and references in the documents for: ' },\n]\n\ninterface Doc { id: string; title: string; source: string }\n\nfunction useUploads(api: string) {\n const [docs, setDocs] = useState<Doc[]>([])\n const [uploading, setUploading] = useState(false)\n const [error, setError] = useState<string | null>(null)\n\n const refresh = useCallback(async () => {\n try {\n const res = await fetch(api)\n if (res.ok) {\n const data = await res.json()\n setDocs(Array.isArray(data) ? data : data.uploads ?? [])\n }\n } catch { /* ignore */ }\n }, [api])\n\n useEffect(() => { refresh() }, [refresh])\n\n const upload = useCallback(async (file: File) => {\n setUploading(true)\n setError(null)\n try {\n const form = new FormData()\n form.append('file', file)\n const res = await fetch(api, { method: 'POST', body: form })\n if (!res.ok) throw new Error(await res.text())\n await refresh()\n } catch (e) {\n setError(e instanceof Error ? e.message : 'Upload failed')\n } finally {\n setUploading(false)\n }\n }, [api, refresh])\n\n const remove = useCallback(async (id: string) => {\n await fetch(`${api}/${id}`, { method: 'DELETE' })\n await refresh()\n }, [api, refresh])\n\n const uploads = useMemo(\n () => docs.filter((d) => d.source.startsWith('upload:')),\n [docs],\n )\n\n return { uploads, uploading, error, upload, remove }\n}\n\nexport default function DocsChat() {\n const chat = useChat({ api: '/api/chat' })\n const docs = useUploads(UPLOAD_API)\n\n const attachmentItems = useMemo(() => {\n const items = docs.uploads.map((d) => ({\n id: d.id,\n name: d.title,\n status: 'ready' as const,\n }))\n if (docs.uploading) {\n items.push({ id: '__uploading', name: 'Uploading...', status: 'uploading' as const })\n }\n return items\n }, [docs.uploads, docs.uploading])\n\n const uploadFiles = useMemo(\n () => docs.uploads.map((d) => ({ id: d.id, name: d.title })),\n [docs.uploads],\n )\n\n const handleAttach = useCallback((files: FileList) => {\n for (const file of Array.from(files)) {\n docs.upload(file)\n }\n }, [docs.upload])\n\n const handleQuickAction = useCallback((action: QuickAction) => {\n if (action.prompt) chat.setInput(action.prompt)\n }, [chat.setInput])\n\n return (\n <ChatWithSidebar\n chat={chat}\n sidebar={{ storageKey: 'rag-threads' }}\n features={{ steps: true, tabs: true, sources: true, export: true }}\n models={{\n options: [\n {
|
|
47
|
+
"app/page.tsx": "'use client'\n\nimport { useState, useEffect, useCallback, useMemo } from 'react'\nimport { ChatWithSidebar, useChat, type QuickAction } from 'veryfront/chat'\n\nconst UPLOAD_API = '/api/uploads'\nconst ACCEPT = '.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.csv,.txt,.md,.mdx,.html,.rtf,.epub,.json,.xml'\n\nconst QUICK_ACTIONS: QuickAction[] = [\n { id: 'ask-question', label: 'Ask Question', prompt: 'I have a question about this document: ' },\n { id: 'extract-insights', label: 'Extract Insights', prompt: 'Extract the key insights from the uploaded documents.' },\n { id: 'find-sources', label: 'Find Sources', prompt: 'Find relevant sources and references in the documents for: ' },\n]\n\ninterface Doc { id: string; title: string; source: string; url?: string }\n\nfunction useUploads(api: string) {\n const [docs, setDocs] = useState<Doc[]>([])\n const [uploading, setUploading] = useState(false)\n const [error, setError] = useState<string | null>(null)\n\n const refresh = useCallback(async () => {\n try {\n const res = await fetch(api)\n if (res.ok) {\n const data = await res.json()\n setDocs(Array.isArray(data) ? data : data.uploads ?? [])\n }\n } catch { /* ignore */ }\n }, [api])\n\n useEffect(() => { refresh() }, [refresh])\n\n const upload = useCallback(async (file: File) => {\n setUploading(true)\n setError(null)\n try {\n const form = new FormData()\n form.append('file', file)\n const res = await fetch(api, { method: 'POST', body: form })\n if (!res.ok) throw new Error(await res.text())\n await refresh()\n } catch (e) {\n setError(e instanceof Error ? e.message : 'Upload failed')\n } finally {\n setUploading(false)\n }\n }, [api, refresh])\n\n const remove = useCallback(async (id: string) => {\n await fetch(`${api}/${id}`, { method: 'DELETE' })\n await refresh()\n }, [api, refresh])\n\n const uploads = useMemo(\n () => docs.filter((d) => d.source.startsWith('upload:')),\n [docs],\n )\n\n return { uploads, uploading, error, upload, remove }\n}\n\nexport default function DocsChat() {\n const chat = useChat({ api: '/api/chat' })\n const docs = useUploads(UPLOAD_API)\n\n const attachmentItems = useMemo(() => {\n const items = docs.uploads.map((d) => ({\n id: d.id,\n name: d.title,\n status: 'ready' as const,\n }))\n if (docs.uploading) {\n items.push({ id: '__uploading', name: 'Uploading...', status: 'uploading' as const })\n }\n return items\n }, [docs.uploads, docs.uploading])\n\n const uploadFiles = useMemo(\n () => docs.uploads.map((d) => ({ id: d.id, name: d.title, url: d.url })),\n [docs.uploads],\n )\n\n const handleAttach = useCallback((files: FileList) => {\n for (const file of Array.from(files)) {\n docs.upload(file)\n }\n }, [docs.upload])\n\n const handleQuickAction = useCallback((action: QuickAction) => {\n if (action.prompt) chat.setInput(action.prompt)\n }, [chat.setInput])\n\n return (\n <ChatWithSidebar\n chat={chat}\n sidebar={{ storageKey: 'rag-threads' }}\n features={{ steps: true, tabs: true, sources: true, export: true }}\n models={{\n options: [\n {\n value: 'veryfront-cloud/anthropic/claude-sonnet-4-6',\n label: 'Claude Sonnet',\n provider: 'Veryfront Cloud',\n },\n {\n value: 'veryfront-cloud/openai/gpt-5.2',\n label: 'GPT-5.2',\n provider: 'Veryfront Cloud',\n },\n {\n value: 'veryfront-cloud/google/gemini-2.5-flash',\n label: 'Gemini 2.5 Flash',\n provider: 'Veryfront Cloud',\n badge: 'Fast',\n },\n ],\n }}\n attachments={{\n uploads: uploadFiles,\n onRemoveUpload: docs.remove,\n onAttach: handleAttach,\n accept: ACCEPT,\n items: attachmentItems,\n onRemoveItem: docs.remove,\n }}\n quickActions={{\n actions: QUICK_ACTIONS,\n onAction: handleQuickAction,\n }}\n message={{\n renderTool: () => null,\n }}\n className=\"flex-1 min-h-0\"\n placeholder=\"Ask anything about your documents...\"\n emptyState={{ title: 'Docs Agent', description: 'Upload files and ask questions' }}\n />\n )\n}\n",
|
|
48
48
|
"tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"ES2022\",\n \"module\": \"ESNext\",\n \"moduleResolution\": \"bundler\",\n \"strict\": true,\n \"jsx\": \"react-jsx\",\n \"skipLibCheck\": true,\n \"esModuleInterop\": true,\n \"paths\": {\n \"@/*\": [\"./*\"]\n }\n },\n \"include\": [\"**/*.ts\", \"**/*.tsx\"],\n \"exclude\": [\"node_modules\"]\n}\n",
|
|
49
|
-
"store.ts": "import {
|
|
50
|
-
"agents/rag.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"rag\",\n
|
|
49
|
+
"store.ts": "import { ragStore } from \"veryfront/embedding\";\n\nexport const store = ragStore({\n storagePath: \"data/index.json\",\n contentDir: \"content\",\n});\n",
|
|
50
|
+
"agents/rag.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"rag\",\n system:\n `You answer questions using the provided documents. ` +\n `Always cite your sources by referencing the document title. ` +\n `If the search results don't contain a clear answer, say so honestly.`,\n});\n",
|
|
51
51
|
"content/getting-started.md": "# Getting Started\n\nWelcome to Acme Platform. This guide covers initial setup and core concepts.\n\n## Installation\n\nInstall the CLI globally:\n\n```bash\nnpm install -g @acme/cli\n```\n\n## Creating a Project\n\nRun the init command to scaffold a new project:\n\n```bash\nacme init my-project\ncd my-project\n```\n\n## Project Structure\n\n- `src/` — Application source code\n- `config/` — Configuration files\n- `tests/` — Test suite\n- `docs/` — Documentation\n\n## Configuration\n\nCreate an `acme.config.ts` file in your project root:\n\n```ts\nexport default {\n name: \"my-project\",\n region: \"us-east-1\",\n features: [\"auth\", \"storage\"],\n};\n```\n\n## Next Steps\n\n- Read the [Architecture Guide](./architecture) to understand the system design\n- Check [API Reference](./api-reference) for available endpoints\n- Join our Discord community for support\n",
|
|
52
52
|
"content/architecture.md": "# Architecture\n\nAcme Platform uses a modular, event-driven architecture.\n\n## Core Components\n\n### API Gateway\nRoutes incoming requests to the appropriate microservice. Handles authentication, rate limiting, and request validation.\n\n### Event Bus\nAsynchronous message broker connecting all services. Supports pub/sub and point-to-point messaging patterns.\n\n### Data Layer\nMulti-tenant data storage with automatic sharding. Supports PostgreSQL for relational data and Redis for caching.\n\n## Request Flow\n\n1. Client sends request to API Gateway\n2. Gateway validates authentication token\n3. Request is routed to the target service\n4. Service processes request and publishes events\n5. Response is returned through the gateway\n\n## Scaling\n\nEach component scales independently. The API Gateway uses horizontal scaling with load balancing. Services auto-scale based on queue depth and CPU utilization.\n\n## Security\n\n- All inter-service communication uses mTLS\n- API tokens are rotated every 24 hours\n- Data at rest is encrypted with AES-256\n- Audit logs are retained for 90 days\n"
|
|
53
53
|
}
|
|
@@ -67,9 +67,9 @@ export default {
|
|
|
67
67
|
"app/layout.tsx": "import { Head } from \"veryfront/head\";\n\nexport default function RootLayout({\n children,\n}: {\n children: React.ReactNode;\n}): React.ReactNode {\n return (\n <>\n <Head>\n <title>Multi-Agent System</title>\n </Head>\n <div className=\"flex flex-col h-screen bg-white dark:bg-neutral-950\">\n <header className=\"flex-shrink-0 border-b border-neutral-200 dark:border-neutral-800\">\n <div className=\"max-w-3xl mx-auto flex items-center gap-3 px-4 py-3\">\n <div className=\"flex -space-x-2\">\n <div className=\"w-7 h-7 rounded-full bg-blue-500 ring-2 ring-white dark:ring-neutral-950 flex items-center justify-center text-[10px] font-bold text-white\">\n O\n </div>\n <div className=\"w-7 h-7 rounded-full bg-amber-500 ring-2 ring-white dark:ring-neutral-950 flex items-center justify-center text-[10px] font-bold text-white\">\n R\n </div>\n <div className=\"w-7 h-7 rounded-full bg-violet-500 ring-2 ring-white dark:ring-neutral-950 flex items-center justify-center text-[10px] font-bold text-white\">\n W\n </div>\n </div>\n <div>\n <h1 className=\"font-medium text-neutral-900 dark:text-white text-sm\">\n Agent Team\n </h1>\n <p className=\"text-xs text-neutral-500 dark:text-neutral-400\">\n Orchestrator, Researcher, Writer\n </p>\n </div>\n </div>\n </header>\n {children}\n </div>\n </>\n );\n}\n",
|
|
68
68
|
"app/page.tsx": "'use client'\n\nimport { Chat, useChat } from 'veryfront/chat'\n\nexport default function MultiAgentChat(): JSX.Element {\n const chat = useChat({ api: '/api/chat' })\n\n return <Chat {...chat} className=\"flex-1 min-h-0\" placeholder=\"Give the team a task...\" />\n}\n",
|
|
69
69
|
"tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"ES2022\",\n \"module\": \"ESNext\",\n \"moduleResolution\": \"bundler\",\n \"strict\": true,\n \"jsx\": \"react-jsx\",\n \"skipLibCheck\": true,\n \"esModuleInterop\": true,\n \"paths\": {\n \"@/*\": [\"./*\"]\n }\n },\n \"include\": [\"**/*.ts\", \"**/*.tsx\"],\n \"exclude\": [\"node_modules\"]\n}\n",
|
|
70
|
-
"agents/researcher.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"researcher\",\n
|
|
71
|
-
"agents/writer.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"writer\",\n
|
|
72
|
-
"agents/orchestrator.ts": "import { agent, getAgentsAsTools } from \"veryfront/agent\";\n\nexport default agent({\n id: \"orchestrator\",\n
|
|
70
|
+
"agents/researcher.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"researcher\",\n system:\n \"You are a research specialist. \" +\n \"Gather comprehensive information on the given topic. \" +\n \"Present findings as structured bullet points with key facts and data.\",\n tools: true,\n maxSteps: 5,\n});\n",
|
|
71
|
+
"agents/writer.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"writer\",\n system:\n \"You are a writing specialist. \" +\n \"Take research notes and transform them into clear, engaging prose. \" +\n \"Use a professional but approachable tone.\",\n maxSteps: 3,\n});\n",
|
|
72
|
+
"agents/orchestrator.ts": "import { agent, getAgentsAsTools } from \"veryfront/agent\";\n\nexport default agent({\n id: \"orchestrator\",\n system:\n \"You coordinate a team of AI agents. \" +\n \"Delegate research tasks to the researcher and writing tasks to the writer. \" +\n \"Combine their outputs into a polished response.\",\n tools: getAgentsAsTools([\"researcher\", \"writer\"]),\n maxSteps: 10,\n});\n",
|
|
73
73
|
"tools/web-search.ts": "import { tool } from \"veryfront/tool\";\nimport { z } from \"zod\";\n\nexport default tool({\n id: \"web-search\",\n description: \"Search the web for information on a topic\",\n inputSchema: z.object({\n query: z.string().describe(\"Search query\"),\n }),\n execute: async ({ query: _query }) => {\n // Connect a real search API to use this tool.\n // Popular options: Tavily, SerpAPI, Brave Search\n throw new Error(\n \"No search API configured. \" +\n \"See https://veryfront.com/code/guides/tools for setup instructions.\",\n );\n },\n});\n"
|
|
74
74
|
}
|
|
75
75
|
},
|
|
@@ -80,7 +80,7 @@ export default {
|
|
|
80
80
|
"app/layout.tsx": "import { Head } from \"veryfront/head\";\n\nexport default function RootLayout({\n children,\n}: {\n children: React.ReactNode;\n}): React.ReactNode {\n return (\n <>\n <Head>\n <title>Code Agent</title>\n </Head>\n <div className=\"dark\">\n <div className=\"flex flex-col h-screen bg-neutral-950\">\n <header className=\"flex-shrink-0 border-b border-neutral-800\">\n <div className=\"max-w-4xl mx-auto flex items-center gap-3 px-4 py-3\">\n <div className=\"w-8 h-8 rounded-lg bg-emerald-500/10 flex items-center justify-center\">\n <svg\n className=\"w-4 h-4 text-emerald-400\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth={2}\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5\"\n />\n </svg>\n </div>\n <div>\n <h1 className=\"font-medium text-white text-sm font-mono\">\n code-agent\n </h1>\n <p className=\"text-xs text-neutral-500\">\n read, search, edit project files\n </p>\n </div>\n <div className=\"ml-auto flex items-center gap-1.5\">\n <span className=\"w-2 h-2 rounded-full bg-emerald-400 animate-pulse\" />\n <span className=\"text-xs text-neutral-500 font-mono\">ready</span>\n </div>\n </div>\n </header>\n {children}\n </div>\n </div>\n </>\n );\n}\n",
|
|
81
81
|
"app/page.tsx": "'use client'\n\nimport { Chat, useChat } from 'veryfront/chat'\n\nexport default function CodeAgent(): JSX.Element {\n const chat = useChat({ api: '/api/chat' })\n\n return (\n <Chat\n {...chat}\n className=\"flex-1 min-h-0\"\n placeholder=\"Describe what you want to build or fix...\"\n />\n )\n}\n",
|
|
82
82
|
"tsconfig.json": "{\n \"compilerOptions\": {\n \"target\": \"ES2022\",\n \"module\": \"ESNext\",\n \"moduleResolution\": \"bundler\",\n \"strict\": true,\n \"jsx\": \"react-jsx\",\n \"skipLibCheck\": true,\n \"esModuleInterop\": true,\n \"paths\": {\n \"@/*\": [\"./*\"]\n }\n },\n \"include\": [\"**/*.ts\", \"**/*.tsx\"],\n \"exclude\": [\"node_modules\"]\n}\n",
|
|
83
|
-
"agents/coder.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"coder\",\n
|
|
83
|
+
"agents/coder.ts": "import { agent } from \"veryfront/agent\";\n\nexport default agent({\n id: \"coder\",\n system: `You are an expert coding assistant. You can read, search, and modify code files in the project.\n\nWhen asked to make changes:\n1. First read the relevant files to understand the codebase\n2. Explain what you'll change and why\n3. Make the changes\n4. Verify the result\n\nAlways explain your reasoning before making edits.`,\n tools: true,\n maxSteps: 15,\n});\n",
|
|
84
84
|
"tools/list-files.ts": "import { tool } from \"veryfront/tool\";\nimport { z } from \"zod\";\nimport { readDir, resolve, cwd } from \"veryfront/fs\";\n\nexport default tool({\n id: \"list-files\",\n description: \"List files in a project directory\",\n inputSchema: z.object({\n directory: z\n .string()\n .default(\".\")\n .describe(\"Directory path relative to project root\"),\n extensions: z\n .array(z.string())\n .optional()\n .describe(\"Filter by file extensions (e.g. ['.ts', '.tsx'])\"),\n }),\n execute: async ({ directory, extensions }) => {\n const absolute = resolve(cwd(), directory);\n const entries = await readDir(absolute);\n\n let files = entries\n .filter((e) => e.isFile)\n .map((e) => e.name);\n\n if (extensions?.length) {\n files = files.filter((f) =>\n extensions.some((ext) => f.endsWith(ext))\n );\n }\n\n return { directory, files, count: files.length };\n },\n});\n",
|
|
85
85
|
"tools/edit-file.ts": "import { tool } from \"veryfront/tool\";\nimport { z } from \"zod\";\nimport { readTextFile, writeTextFile, resolve, cwd } from \"veryfront/fs\";\n\nexport default tool({\n id: \"edit-file\",\n description: \"Edit a file by replacing a specific string with new content\",\n inputSchema: z.object({\n path: z.string().describe(\"File path relative to the project root\"),\n search: z.string().describe(\"Exact string to find in the file\"),\n replace: z.string().describe(\"String to replace it with\"),\n }),\n execute: async ({ path, search, replace }) => {\n const absolute = resolve(cwd(), path);\n\n let content: string;\n try {\n content = await readTextFile(absolute);\n } catch {\n return { error: `File not found: ${path}` };\n }\n\n if (!content.includes(search)) {\n return { error: \"Search string not found in file\" };\n }\n\n const updated = content.replace(search, replace);\n await writeTextFile(absolute, updated);\n return { path, success: true };\n },\n});\n",
|
|
86
86
|
"tools/read-file.ts": "import { tool } from \"veryfront/tool\";\nimport { z } from \"zod\";\nimport { readTextFile, resolve, cwd } from \"veryfront/fs\";\n\nexport default tool({\n id: \"read-file\",\n description: \"Read the contents of a file in the project\",\n inputSchema: z.object({\n path: z.string().describe(\"File path relative to the project root\"),\n }),\n execute: async ({ path }) => {\n try {\n const absolute = resolve(cwd(), path);\n const content = await readTextFile(absolute);\n return { path, content };\n } catch {\n return { error: `File not found: ${path}` };\n }\n },\n});\n"
|
package/src/cli/ui/ansi.ts
CHANGED
|
@@ -77,7 +77,7 @@ export function bg16(color: number): string {
|
|
|
77
77
|
return `${CSI}${40 + color}m`;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
// deno-lint-ignore no-control-regex
|
|
80
|
+
// deno-lint-ignore no-control-regex -- intentional: matches ANSI escape sequences for terminal color stripping
|
|
81
81
|
export const ANSI_REGEX = /\x1b\[[0-9;]*m/g;
|
|
82
82
|
|
|
83
83
|
export function stripAnsi(text: string): string {
|
package/src/deno.js
CHANGED
|
@@ -1,72 +1,12 @@
|
|
|
1
1
|
export const AGENT_DEFAULTS = {
|
|
2
|
-
maxTokens:
|
|
2
|
+
maxTokens: 4_096,
|
|
3
3
|
temperature: 0.7,
|
|
4
4
|
maxSteps: 20,
|
|
5
5
|
memoryType: "conversation",
|
|
6
|
-
memoryMaxTokens:
|
|
6
|
+
memoryMaxTokens: 4_000,
|
|
7
7
|
} as const;
|
|
8
8
|
|
|
9
9
|
export const STREAMING_DEFAULTS = {
|
|
10
|
-
maxBufferSize:
|
|
11
|
-
chunkSize:
|
|
12
|
-
} as const;
|
|
13
|
-
|
|
14
|
-
export const MEMORY_DEFAULTS = {
|
|
15
|
-
bufferSize: 10,
|
|
16
|
-
summaryThreshold: 20,
|
|
17
|
-
redisTtl: 86400,
|
|
18
|
-
redisKeyPrefix: "veryfront:agent:memory:",
|
|
19
|
-
} as const;
|
|
20
|
-
|
|
21
|
-
export const RATE_LIMIT_DEFAULTS = {
|
|
22
|
-
requestsPerMinute: 60,
|
|
23
|
-
tokensPerMinute: 100000,
|
|
24
|
-
windowMs: 60000,
|
|
25
|
-
} as const;
|
|
26
|
-
|
|
27
|
-
export const COST_TRACKING_DEFAULTS = {
|
|
28
|
-
dailyBudget: 100,
|
|
29
|
-
monthlyBudget: 1000,
|
|
30
|
-
warningThreshold: 0.8,
|
|
31
|
-
} as const;
|
|
32
|
-
|
|
33
|
-
export const RETRY_DEFAULTS = {
|
|
34
|
-
maxAttempts: 3,
|
|
35
|
-
initialDelayMs: 1000,
|
|
36
|
-
maxDelayMs: 30000,
|
|
37
|
-
backoffMultiplier: 2,
|
|
38
|
-
} as const;
|
|
39
|
-
|
|
40
|
-
export const WORKFLOW_DEFAULTS = {
|
|
41
|
-
timeoutMs: 300000,
|
|
42
|
-
maxParallel: 10,
|
|
43
|
-
checkpointIntervalMs: 5000,
|
|
44
|
-
approvalTimeoutMs: 86400000,
|
|
45
|
-
} as const;
|
|
46
|
-
|
|
47
|
-
export const PROVIDER_DEFAULTS = {
|
|
48
|
-
models: {
|
|
49
|
-
openai: "gpt-4o",
|
|
50
|
-
anthropic: "claude-sonnet-4-20250514",
|
|
51
|
-
google: "gemini-1.5-pro",
|
|
52
|
-
},
|
|
53
|
-
requestTimeoutMs: 120000,
|
|
54
|
-
} as const;
|
|
55
|
-
|
|
56
|
-
export const SECURITY_DEFAULTS = {
|
|
57
|
-
maxInputLength: 100000,
|
|
58
|
-
maxOutputLength: 100000,
|
|
59
|
-
redactPii: false,
|
|
60
|
-
} as const;
|
|
61
|
-
|
|
62
|
-
export const AI_DEFAULTS = {
|
|
63
|
-
agent: AGENT_DEFAULTS,
|
|
64
|
-
streaming: STREAMING_DEFAULTS,
|
|
65
|
-
memory: MEMORY_DEFAULTS,
|
|
66
|
-
rateLimit: RATE_LIMIT_DEFAULTS,
|
|
67
|
-
costTracking: COST_TRACKING_DEFAULTS,
|
|
68
|
-
retry: RETRY_DEFAULTS,
|
|
69
|
-
workflow: WORKFLOW_DEFAULTS,
|
|
70
|
-
provider: PROVIDER_DEFAULTS,
|
|
71
|
-
security: SECURITY_DEFAULTS,
|
|
10
|
+
maxBufferSize: 1_024 * 1_024, // 1 MB
|
|
11
|
+
chunkSize: 16_384,
|
|
72
12
|
} as const;
|
|
@@ -3,7 +3,14 @@ import { z } from "zod";
|
|
|
3
3
|
import { getAgent } from "./composition/index.js";
|
|
4
4
|
import type { Message } from "./types.js";
|
|
5
5
|
import { fromError } from "../errors/veryfront-error.js";
|
|
6
|
+
import { INVALID_ARGUMENT } from "../errors/index.js";
|
|
6
7
|
import { DEFAULT_LOCAL_MODEL } from "../provider/local/model-catalog.js";
|
|
8
|
+
import { agentLogger } from "../utils/logger/logger.js";
|
|
9
|
+
|
|
10
|
+
/** Maximum character length for a single text part */
|
|
11
|
+
const MAX_TEXT_PART_LENGTH = 10_000;
|
|
12
|
+
/** Maximum number of messages in a single chat request */
|
|
13
|
+
const MAX_MESSAGES_PER_REQUEST = 100;
|
|
7
14
|
|
|
8
15
|
// ---------------------------------------------------------------------------
|
|
9
16
|
// Zod schemas for validating AI SDK v5 chat UI messages
|
|
@@ -11,7 +18,7 @@ import { DEFAULT_LOCAL_MODEL } from "../provider/local/model-catalog.js";
|
|
|
11
18
|
|
|
12
19
|
const textPartSchema = z.object({
|
|
13
20
|
type: z.literal("text"),
|
|
14
|
-
text: z.string().max(
|
|
21
|
+
text: z.string().max(MAX_TEXT_PART_LENGTH),
|
|
15
22
|
state: z.string().optional(),
|
|
16
23
|
});
|
|
17
24
|
|
|
@@ -66,7 +73,7 @@ const messageSchema = z.object({
|
|
|
66
73
|
});
|
|
67
74
|
|
|
68
75
|
const chatRequestSchema = z.object({
|
|
69
|
-
messages: z.array(messageSchema).min(1).max(
|
|
76
|
+
messages: z.array(messageSchema).min(1).max(MAX_MESSAGES_PER_REQUEST),
|
|
70
77
|
model: z.string().optional(),
|
|
71
78
|
});
|
|
72
79
|
|
|
@@ -87,13 +94,10 @@ type ToolPartWithOutput = {
|
|
|
87
94
|
function isToolPartWithOutput(part: unknown): part is ToolPartWithOutput {
|
|
88
95
|
if (!part || typeof part !== "object") return false;
|
|
89
96
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
if (typeof type !== "string") return false;
|
|
94
|
-
if (!type.startsWith("tool-") || type === "tool-result") return false;
|
|
97
|
+
if (!("type" in part) || typeof part.type !== "string") return false;
|
|
98
|
+
if (!part.type.startsWith("tool-") || part.type === "tool-result") return false;
|
|
95
99
|
|
|
96
|
-
return
|
|
100
|
+
return "output" in part && part.output !== undefined;
|
|
97
101
|
}
|
|
98
102
|
|
|
99
103
|
/**
|
|
@@ -134,7 +138,7 @@ function transformUIMessages(messages: ParsedMessage[]): Message[] {
|
|
|
134
138
|
}
|
|
135
139
|
|
|
136
140
|
function isTextPart(part: unknown): part is ParsedTextPart {
|
|
137
|
-
return typeof part === "object" && part !== null &&
|
|
141
|
+
return typeof part === "object" && part !== null && "type" in part && part.type === "text";
|
|
138
142
|
}
|
|
139
143
|
|
|
140
144
|
function extractLastUserText(messages: ParsedMessage[]): string {
|
|
@@ -158,9 +162,12 @@ function isResponseLike(value: unknown): value is dntShim.Response {
|
|
|
158
162
|
return (
|
|
159
163
|
typeof value === "object" &&
|
|
160
164
|
value !== null &&
|
|
161
|
-
|
|
162
|
-
typeof
|
|
163
|
-
|
|
165
|
+
"status" in value &&
|
|
166
|
+
typeof value.status === "number" &&
|
|
167
|
+
"headers" in value &&
|
|
168
|
+
typeof value.headers === "object" &&
|
|
169
|
+
"bodyUsed" in value &&
|
|
170
|
+
typeof value.bodyUsed === "boolean"
|
|
164
171
|
);
|
|
165
172
|
}
|
|
166
173
|
|
|
@@ -249,18 +256,29 @@ function isRequest(obj: unknown): obj is dntShim.Request {
|
|
|
249
256
|
return (
|
|
250
257
|
typeof obj === "object" &&
|
|
251
258
|
obj !== null &&
|
|
252
|
-
|
|
253
|
-
typeof
|
|
254
|
-
|
|
259
|
+
"json" in obj &&
|
|
260
|
+
typeof obj.json === "function" &&
|
|
261
|
+
"url" in obj &&
|
|
262
|
+
typeof obj.url === "string" &&
|
|
263
|
+
"method" in obj &&
|
|
264
|
+
typeof obj.method === "string"
|
|
255
265
|
);
|
|
256
266
|
}
|
|
257
267
|
|
|
258
268
|
function extractRequest(requestOrCtx: unknown): dntShim.Request {
|
|
259
269
|
if (isRequest(requestOrCtx)) return requestOrCtx;
|
|
260
270
|
// Pages Router APIContext — has a .request property
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
271
|
+
if (
|
|
272
|
+
typeof requestOrCtx === "object" &&
|
|
273
|
+
requestOrCtx !== null &&
|
|
274
|
+
"request" in requestOrCtx
|
|
275
|
+
) {
|
|
276
|
+
const candidate = (requestOrCtx as Record<string, unknown>).request;
|
|
277
|
+
if (isRequest(candidate)) return candidate;
|
|
278
|
+
}
|
|
279
|
+
throw INVALID_ARGUMENT.create({
|
|
280
|
+
detail: "Invalid handler argument: expected Request or APIContext",
|
|
281
|
+
});
|
|
264
282
|
}
|
|
265
283
|
|
|
266
284
|
/**
|
|
@@ -280,13 +298,13 @@ export function createChatHandler(
|
|
|
280
298
|
agentId: string,
|
|
281
299
|
options?: ChatHandlerOptions,
|
|
282
300
|
) {
|
|
283
|
-
|
|
284
|
-
return async function POST(requestOrCtx: any): Promise<dntShim.Response> {
|
|
301
|
+
return async function POST(requestOrCtx: unknown): Promise<dntShim.Response> {
|
|
285
302
|
const request = extractRequest(requestOrCtx);
|
|
286
303
|
let agent: ReturnType<typeof getAgent> | undefined;
|
|
287
304
|
try {
|
|
288
305
|
agent = getAgent(agentId);
|
|
289
|
-
} catch {
|
|
306
|
+
} catch (error) {
|
|
307
|
+
agentLogger.debug("getAgent lookup failed", { error });
|
|
290
308
|
return dntShim.Response.json({ error: "Agent not found" }, { status: 404 });
|
|
291
309
|
}
|
|
292
310
|
if (!agent) {
|
package/src/src/agent/factory.ts
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import * as dntShim from "../../_dnt.shims.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
Agent,
|
|
4
|
+
AgentConfig,
|
|
5
|
+
AgentResponse,
|
|
6
|
+
AgentStreamResult,
|
|
7
|
+
Message,
|
|
8
|
+
ResolvedAgentConfig,
|
|
9
|
+
} from "./types.js";
|
|
3
10
|
import { AgentRuntime } from "./runtime/index.js";
|
|
4
11
|
import {
|
|
5
12
|
detectPlatform,
|
|
@@ -18,6 +25,7 @@ import { agentRegistry } from "./composition/index.js";
|
|
|
18
25
|
import { agentLogger } from "../utils/logger/logger.js";
|
|
19
26
|
import { createError, toError } from "../errors/veryfront-error.js";
|
|
20
27
|
import { withSpan } from "../observability/tracing/otlp-setup.js";
|
|
28
|
+
import { resolveConfiguredAgentModel } from "./runtime/model-resolution.js";
|
|
21
29
|
|
|
22
30
|
const STREAMING_HEADERS: Record<string, string> = {
|
|
23
31
|
"Content-Type": "text/event-stream",
|
|
@@ -56,6 +64,11 @@ export function agent(config: AgentConfig): Agent {
|
|
|
56
64
|
|
|
57
65
|
const id = config.id ?? generateAgentId();
|
|
58
66
|
|
|
67
|
+
const publicConfig: ResolvedAgentConfig = {
|
|
68
|
+
...config,
|
|
69
|
+
model: resolveConfiguredAgentModel(config.model),
|
|
70
|
+
};
|
|
71
|
+
|
|
59
72
|
if (config.tools && config.tools !== true) {
|
|
60
73
|
for (const [name, entry] of Object.entries(config.tools)) {
|
|
61
74
|
if (!entry || typeof entry !== "object") continue;
|
|
@@ -132,14 +145,17 @@ export function agent(config: AgentConfig): Agent {
|
|
|
132
145
|
}
|
|
133
146
|
|
|
134
147
|
const runtime = new AgentRuntime(id, {
|
|
135
|
-
...
|
|
148
|
+
...publicConfig,
|
|
136
149
|
tools: mergedToolsConfig,
|
|
137
150
|
system: augmentedSystem,
|
|
138
151
|
});
|
|
139
152
|
|
|
140
153
|
const agentInstance: Agent = {
|
|
141
154
|
id,
|
|
142
|
-
config
|
|
155
|
+
config: {
|
|
156
|
+
...publicConfig,
|
|
157
|
+
tools: mergedToolsConfig,
|
|
158
|
+
},
|
|
143
159
|
|
|
144
160
|
generate(input): Promise<AgentResponse> {
|
|
145
161
|
return withSpan(
|
|
@@ -186,12 +202,12 @@ export function agent(config: AgentConfig): Agent {
|
|
|
186
202
|
|
|
187
203
|
// Validate model override against allowlist when configured
|
|
188
204
|
const modelOverride = body.model;
|
|
189
|
-
if (modelOverride &&
|
|
190
|
-
if (!
|
|
205
|
+
if (modelOverride && publicConfig.allowedModels?.length) {
|
|
206
|
+
if (!publicConfig.allowedModels.includes(modelOverride)) {
|
|
191
207
|
return new dntShim.Response(
|
|
192
208
|
JSON.stringify({
|
|
193
209
|
error: `Model "${modelOverride}" is not allowed. Allowed models: ${
|
|
194
|
-
|
|
210
|
+
publicConfig.allowedModels.join(", ")
|
|
195
211
|
}`,
|
|
196
212
|
}),
|
|
197
213
|
{ status: 403, headers: { "Content-Type": "application/json" } },
|
package/src/src/agent/index.ts
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
* import { agent } from "veryfront/agent";
|
|
9
9
|
*
|
|
10
10
|
* const assistant = agent({
|
|
11
|
-
* model: "openai/gpt-4o",
|
|
12
11
|
* system: "You are a helpful assistant.",
|
|
13
12
|
* });
|
|
14
13
|
* ```
|
|
@@ -27,7 +26,6 @@
|
|
|
27
26
|
* });
|
|
28
27
|
*
|
|
29
28
|
* const assistant = agent({
|
|
30
|
-
* model: "openai/gpt-4o",
|
|
31
29
|
* system: "You are a helpful assistant.",
|
|
32
30
|
* tools: { search: searchTool },
|
|
33
31
|
* memory: { type: "conversation", maxMessages: 50 },
|
|
@@ -39,7 +37,6 @@
|
|
|
39
37
|
* import { agent } from "veryfront/agent";
|
|
40
38
|
*
|
|
41
39
|
* const assistant = agent({
|
|
42
|
-
* model: "openai/gpt-4o",
|
|
43
40
|
* system: "You are a support engineer. Use skills when relevant.",
|
|
44
41
|
* skills: ["incident-response", "repo-maintainer"], // or `true` for all discovered skills
|
|
45
42
|
* tools: {
|
|
@@ -55,7 +52,6 @@
|
|
|
55
52
|
* import { agent } from "veryfront/agent";
|
|
56
53
|
*
|
|
57
54
|
* const assistant = agent({
|
|
58
|
-
* model: "openai/gpt-4o",
|
|
59
55
|
* system: "You are a helpful assistant.",
|
|
60
56
|
* });
|
|
61
57
|
*
|
|
@@ -70,14 +66,13 @@
|
|
|
70
66
|
* ```ts
|
|
71
67
|
* import { agent, registerAgent, getAgentsAsTools } from "veryfront/agent";
|
|
72
68
|
*
|
|
73
|
-
* const researcher = agent({
|
|
74
|
-
* const writer = agent({
|
|
69
|
+
* const researcher = agent({ system: "Research topics thoroughly." });
|
|
70
|
+
* const writer = agent({ system: "Write clear prose." });
|
|
75
71
|
*
|
|
76
72
|
* registerAgent(researcher);
|
|
77
73
|
* registerAgent(writer);
|
|
78
74
|
*
|
|
79
75
|
* const orchestrator = agent({
|
|
80
|
-
* model: "openai/gpt-4o",
|
|
81
76
|
* system: "Coordinate research and writing.",
|
|
82
77
|
* tools: getAgentsAsTools(["researcher", "writer"]),
|
|
83
78
|
* });
|
|
@@ -96,12 +91,11 @@ export type {
|
|
|
96
91
|
AgentStreamResult,
|
|
97
92
|
EdgeConfig,
|
|
98
93
|
MemoryConfig,
|
|
99
|
-
/** @deprecated Use `AgentMessage` instead to avoid collision with chat `Message` component. */
|
|
100
|
-
Message,
|
|
101
94
|
Message as AgentMessage,
|
|
102
95
|
MessagePart,
|
|
103
96
|
ModelProvider,
|
|
104
97
|
ModelString,
|
|
98
|
+
ResolvedAgentConfig,
|
|
105
99
|
StreamToolCall,
|
|
106
100
|
ToolCall,
|
|
107
101
|
ToolCallPart,
|
|
@@ -37,7 +37,7 @@ export interface RedisMemoryConfig extends MemoryConfigBase {
|
|
|
37
37
|
ttl?: number;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
const DEFAULT_TTL =
|
|
40
|
+
const DEFAULT_TTL = 86_400; // 24 hours
|
|
41
41
|
const DEFAULT_KEY_PREFIX = "veryfront:agent:memory:";
|
|
42
42
|
|
|
43
43
|
export class RedisMemory<M extends MinimalMessage = MinimalMessage> implements Memory<M> {
|
|
@@ -63,7 +63,8 @@ export class RedisMemory<M extends MinimalMessage = MinimalMessage> implements M
|
|
|
63
63
|
if (!data) return [];
|
|
64
64
|
try {
|
|
65
65
|
return JSON.parse(data);
|
|
66
|
-
} catch {
|
|
66
|
+
} catch (_) {
|
|
67
|
+
/* expected: corrupted JSON in Redis, return empty message list */
|
|
67
68
|
return [];
|
|
68
69
|
}
|
|
69
70
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as dntShim from "../../../_dnt.shims.js";
|
|
2
2
|
import { useCallback, useRef, useState } from "react";
|
|
3
|
-
import type { AgentStatus, Message, ToolCall } from "../types.js";
|
|
3
|
+
import type { AgentStatus, Message as AgentMessage, ToolCall } from "../types.js";
|
|
4
4
|
import { createError, ensureError, toError } from "../../errors/veryfront-error.js";
|
|
5
5
|
|
|
6
6
|
export interface UseAgentOptions {
|
|
@@ -19,7 +19,7 @@ export interface UseAgentOptions {
|
|
|
19
19
|
|
|
20
20
|
export interface UseAgentResult {
|
|
21
21
|
/** Message history */
|
|
22
|
-
messages:
|
|
22
|
+
messages: AgentMessage[];
|
|
23
23
|
|
|
24
24
|
/** Active tool calls */
|
|
25
25
|
toolCalls: ToolCall[];
|
|
@@ -44,7 +44,7 @@ export interface UseAgentResult {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
export function useAgent(options: UseAgentOptions): UseAgentResult {
|
|
47
|
-
const [messages, setMessages] = useState<
|
|
47
|
+
const [messages, setMessages] = useState<AgentMessage[]>([]);
|
|
48
48
|
const [toolCalls, setToolCalls] = useState<ToolCall[]>([]);
|
|
49
49
|
const [status, setStatus] = useState<AgentStatus>("idle");
|
|
50
50
|
const [thinking, setThinking] = useState<string | undefined>();
|
|
@@ -80,7 +80,7 @@ export function useAgent(options: UseAgentOptions): UseAgentResult {
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
const data = (await response.json()) as {
|
|
83
|
-
messages?:
|
|
83
|
+
messages?: AgentMessage[];
|
|
84
84
|
toolCalls?: ToolCall[];
|
|
85
85
|
status?: AgentStatus;
|
|
86
86
|
thinking?: string;
|
|
@@ -10,7 +10,12 @@ import type { UIMessage, UIMessagePart } from "../types.js";
|
|
|
10
10
|
import { generateClientId } from "../utils.js";
|
|
11
11
|
import { BrowserInferenceClient } from "./worker-client.js";
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
/** Default max tokens for browser-side inference */
|
|
14
|
+
const DEFAULT_BROWSER_MAX_TOKENS = 512;
|
|
15
|
+
/** Default temperature for browser-side inference */
|
|
16
|
+
const DEFAULT_BROWSER_TEMPERATURE = 0.7;
|
|
17
|
+
|
|
18
|
+
interface BrowserInferenceCallbacks {
|
|
14
19
|
onUpdate: (parts: UIMessagePart[], messageId: string) => void;
|
|
15
20
|
onMessage: (message: UIMessage) => void;
|
|
16
21
|
onStatusChange: (status: BrowserInferenceStatus) => void;
|
|
@@ -45,7 +50,11 @@ export function runBrowserInference(
|
|
|
45
50
|
client.generate(
|
|
46
51
|
messageId,
|
|
47
52
|
simpleMessages,
|
|
48
|
-
{
|
|
53
|
+
{
|
|
54
|
+
systemPrompt,
|
|
55
|
+
maxNewTokens: DEFAULT_BROWSER_MAX_TOKENS,
|
|
56
|
+
temperature: DEFAULT_BROWSER_TEMPERATURE,
|
|
57
|
+
},
|
|
49
58
|
{
|
|
50
59
|
onStatus: (status) => callbacks.onStatusChange(status),
|
|
51
60
|
onDownloadProgress: (progress) => callbacks.onDownloadProgress?.(progress),
|