veryfront 0.1.502 → 0.1.503
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/cli/commands/analyze-chunks/handler.d.ts +4 -4
- package/esm/cli/commands/analyze-chunks/handler.d.ts.map +1 -1
- package/esm/cli/commands/analyze-chunks/handler.js +6 -5
- package/esm/cli/commands/build/handler.d.ts +39 -27
- package/esm/cli/commands/build/handler.d.ts.map +1 -1
- package/esm/cli/commands/build/handler.js +15 -14
- package/esm/cli/commands/clean/command.js +1 -1
- package/esm/cli/commands/clean/handler.d.ts.map +1 -1
- package/esm/cli/commands/clean/handler.js +9 -8
- package/esm/cli/commands/demo/handler.d.ts +5 -5
- package/esm/cli/commands/demo/handler.d.ts.map +1 -1
- package/esm/cli/commands/demo/handler.js +7 -6
- package/esm/cli/commands/deploy/command.d.ts +30 -19
- package/esm/cli/commands/deploy/command.d.ts.map +1 -1
- package/esm/cli/commands/deploy/command.js +11 -10
- package/esm/cli/commands/dev/handler.d.ts +6 -6
- package/esm/cli/commands/dev/handler.d.ts.map +1 -1
- package/esm/cli/commands/dev/handler.js +8 -7
- package/esm/cli/commands/doctor/handler.d.ts +3 -3
- package/esm/cli/commands/doctor/handler.d.ts.map +1 -1
- package/esm/cli/commands/doctor/handler.js +5 -4
- package/esm/cli/commands/files/command.d.ts +38 -36
- package/esm/cli/commands/files/command.d.ts.map +1 -1
- package/esm/cli/commands/files/command.js +35 -31
- package/esm/cli/commands/generate/handler.d.ts +4 -4
- package/esm/cli/commands/generate/handler.d.ts.map +1 -1
- package/esm/cli/commands/generate/handler.js +6 -5
- package/esm/cli/commands/generate/integration-generator-helpers.js +4 -4
- package/esm/cli/commands/generate/integration-generator.js +8 -4
- package/esm/cli/commands/install/handler.d.ts +5 -5
- package/esm/cli/commands/install/handler.d.ts.map +1 -1
- package/esm/cli/commands/install/handler.js +7 -6
- package/esm/cli/commands/install/install.d.ts.map +1 -1
- package/esm/cli/commands/install/install.js +7 -4
- package/esm/cli/commands/install/types.d.ts +52 -43
- package/esm/cli/commands/install/types.d.ts.map +1 -1
- package/esm/cli/commands/install/types.js +26 -21
- package/esm/cli/commands/install/uninstall.d.ts.map +1 -1
- package/esm/cli/commands/install/uninstall.js +4 -2
- package/esm/cli/commands/knowledge/command.d.ts +19 -17
- package/esm/cli/commands/knowledge/command.d.ts.map +1 -1
- package/esm/cli/commands/knowledge/command.js +21 -20
- package/esm/cli/commands/lock/handler.d.ts.map +1 -1
- package/esm/cli/commands/lock/handler.js +10 -9
- package/esm/cli/commands/mcp/handler.d.ts +3 -3
- package/esm/cli/commands/mcp/handler.d.ts.map +1 -1
- package/esm/cli/commands/mcp/handler.js +5 -4
- package/esm/cli/commands/merge/command.d.ts +21 -15
- package/esm/cli/commands/merge/command.d.ts.map +1 -1
- package/esm/cli/commands/merge/command.js +9 -8
- package/esm/cli/commands/open/command.d.ts +17 -12
- package/esm/cli/commands/open/command.d.ts.map +1 -1
- package/esm/cli/commands/open/command.js +7 -6
- package/esm/cli/commands/pull/command.d.ts +36 -25
- package/esm/cli/commands/pull/command.d.ts.map +1 -1
- package/esm/cli/commands/pull/command.js +14 -13
- package/esm/cli/commands/push/command.d.ts +27 -19
- package/esm/cli/commands/push/command.d.ts.map +1 -1
- package/esm/cli/commands/push/command.js +11 -10
- package/esm/cli/commands/routes/handler.d.ts +4 -4
- package/esm/cli/commands/routes/handler.d.ts.map +1 -1
- package/esm/cli/commands/routes/handler.js +6 -5
- package/esm/cli/commands/schema/handler.d.ts.map +1 -1
- package/esm/cli/commands/schema/handler.js +5 -4
- package/esm/cli/commands/serve/handler.d.ts +9 -9
- package/esm/cli/commands/serve/handler.d.ts.map +1 -1
- package/esm/cli/commands/serve/handler.js +10 -9
- package/esm/cli/commands/start/handler.d.ts +6 -6
- package/esm/cli/commands/start/handler.d.ts.map +1 -1
- package/esm/cli/commands/start/handler.js +8 -7
- package/esm/cli/commands/studio/handler.d.ts +5 -5
- package/esm/cli/commands/studio/handler.d.ts.map +1 -1
- package/esm/cli/commands/studio/handler.js +7 -6
- package/esm/cli/commands/styles/command.d.ts.map +1 -1
- package/esm/cli/commands/styles/command.js +9 -8
- package/esm/cli/commands/styles/handler.d.ts +12 -12
- package/esm/cli/commands/styles/handler.d.ts.map +1 -1
- package/esm/cli/commands/styles/handler.js +7 -6
- package/esm/cli/commands/task/handler.d.ts +12 -12
- package/esm/cli/commands/task/handler.d.ts.map +1 -1
- package/esm/cli/commands/task/handler.js +7 -6
- package/esm/cli/commands/test/handler.d.ts.map +1 -1
- package/esm/cli/commands/test/handler.js +6 -5
- package/esm/cli/commands/up/command.d.ts +14 -10
- package/esm/cli/commands/up/command.d.ts.map +1 -1
- package/esm/cli/commands/up/command.js +6 -5
- package/esm/cli/commands/uploads/command.d.ts +43 -41
- package/esm/cli/commands/uploads/command.d.ts.map +1 -1
- package/esm/cli/commands/uploads/command.js +40 -36
- package/esm/cli/commands/worker/handler.d.ts +20 -23
- package/esm/cli/commands/worker/handler.d.ts.map +1 -1
- package/esm/cli/commands/worker/handler.js +11 -10
- package/esm/cli/commands/workflow/handler.d.ts +14 -16
- package/esm/cli/commands/workflow/handler.d.ts.map +1 -1
- package/esm/cli/commands/workflow/handler.js +8 -7
- package/esm/cli/mcp/jsonrpc.d.ts +34 -18
- package/esm/cli/mcp/jsonrpc.d.ts.map +1 -1
- package/esm/cli/mcp/jsonrpc.js +21 -17
- package/esm/cli/mcp/remote-file-tools.d.ts +79 -83
- package/esm/cli/mcp/remote-file-tools.d.ts.map +1 -1
- package/esm/cli/mcp/remote-file-tools.js +79 -67
- package/esm/cli/mcp/server.d.ts +0 -1
- package/esm/cli/mcp/server.d.ts.map +1 -1
- package/esm/cli/mcp/server.js +2 -60
- package/esm/cli/mcp/tools/bootstrap-tool.d.ts +5 -5
- package/esm/cli/mcp/tools/bootstrap-tool.d.ts.map +1 -1
- package/esm/cli/mcp/tools/bootstrap-tool.js +5 -4
- package/esm/cli/mcp/tools/build-tool.d.ts +9 -9
- package/esm/cli/mcp/tools/build-tool.d.ts.map +1 -1
- package/esm/cli/mcp/tools/build-tool.js +9 -8
- package/esm/cli/mcp/tools/catalog-tools.d.ts +18 -33
- package/esm/cli/mcp/tools/catalog-tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools/catalog-tools.js +19 -14
- package/esm/cli/mcp/tools/context7-tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools/context7-tools.js +9 -9
- package/esm/cli/mcp/tools/deploy-tool.d.ts +7 -7
- package/esm/cli/mcp/tools/deploy-tool.d.ts.map +1 -1
- package/esm/cli/mcp/tools/deploy-tool.js +7 -6
- package/esm/cli/mcp/tools/dev-tools.d.ts +31 -35
- package/esm/cli/mcp/tools/dev-tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools/dev-tools.js +31 -25
- package/esm/cli/mcp/tools/introspection-tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools/introspection-tools.js +6 -6
- package/esm/cli/mcp/tools/project-tools.d.ts +20 -25
- package/esm/cli/mcp/tools/project-tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools/project-tools.js +20 -16
- package/esm/cli/mcp/tools/run-lint-tool.d.ts +5 -5
- package/esm/cli/mcp/tools/run-lint-tool.d.ts.map +1 -1
- package/esm/cli/mcp/tools/run-lint-tool.js +5 -4
- package/esm/cli/mcp/tools/run-tests-tool.d.ts +7 -7
- package/esm/cli/mcp/tools/run-tests-tool.d.ts.map +1 -1
- package/esm/cli/mcp/tools/run-tests-tool.js +7 -6
- package/esm/cli/mcp/tools/scaffold-tools.d.ts +12 -33
- package/esm/cli/mcp/tools/scaffold-tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools/scaffold-tools.js +23 -21
- package/esm/cli/mcp/tools/skill-tools.d.ts +10 -10
- package/esm/cli/mcp/tools/skill-tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools/skill-tools.js +8 -8
- package/esm/cli/mcp/tools.d.ts +27 -48
- package/esm/cli/mcp/tools.d.ts.map +1 -1
- package/esm/cli/mcp/tools.js +26 -21
- package/esm/cli/shared/args.d.ts +11 -8
- package/esm/cli/shared/args.d.ts.map +1 -1
- package/esm/cli/shared/args.js +9 -6
- package/esm/cli/shared/config.d.ts +38 -20
- package/esm/cli/shared/config.d.ts.map +1 -1
- package/esm/cli/shared/config.js +20 -17
- package/esm/cli/shared/types.d.ts +4 -7
- package/esm/cli/shared/types.d.ts.map +1 -1
- package/esm/cli/shared/types.js +3 -2
- package/esm/cli/skills/types.d.ts +30 -16
- package/esm/cli/skills/types.d.ts.map +1 -1
- package/esm/cli/skills/types.js +17 -15
- package/esm/cli/templates/manifest.js +211 -211
- package/esm/deno.d.ts +5 -0
- package/esm/deno.js +10 -4
- package/esm/extensions/ext-zod/src/adapter.d.ts +22 -0
- package/esm/extensions/ext-zod/src/adapter.d.ts.map +1 -0
- package/esm/extensions/ext-zod/src/adapter.js +159 -0
- package/esm/extensions/ext-zod/src/index.d.ts +19 -0
- package/esm/extensions/ext-zod/src/index.d.ts.map +1 -0
- package/esm/extensions/ext-zod/src/index.js +32 -0
- package/esm/extensions/ext-zod/src/json-schema.d.ts +15 -0
- package/esm/extensions/ext-zod/src/json-schema.d.ts.map +1 -0
- package/esm/extensions/ext-zod/src/json-schema.js +247 -0
- package/esm/src/agent/ag-ui-detached-start.d.ts +97 -50
- package/esm/src/agent/ag-ui-detached-start.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-detached-start.js +26 -17
- package/esm/src/agent/ag-ui-forwarded-context.d.ts +3 -3
- package/esm/src/agent/ag-ui-forwarded-context.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-forwarded-context.js +3 -2
- package/esm/src/agent/ag-ui-handler.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-handler.js +5 -3
- package/esm/src/agent/ag-ui-host-support.d.ts +119 -65
- package/esm/src/agent/ag-ui-host-support.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-host-support.js +48 -42
- package/esm/src/agent/ag-ui-request-shared.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-request-shared.js +11 -2
- package/esm/src/agent/ag-ui-run-control.d.ts +15 -8
- package/esm/src/agent/ag-ui-run-control.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-run-control.js +18 -13
- package/esm/src/agent/ag-ui-runtime-handler.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-runtime-handler.js +5 -3
- package/esm/src/agent/ag-ui-sse-parser.d.ts +57 -0
- package/esm/src/agent/ag-ui-sse-parser.d.ts.map +1 -0
- package/esm/src/agent/ag-ui-sse-parser.js +227 -0
- package/esm/src/agent/ag-ui-tool-shared.d.ts.map +1 -1
- package/esm/src/agent/ag-ui-tool-shared.js +3 -2
- package/esm/src/agent/chat-handler.d.ts.map +1 -1
- package/esm/src/agent/chat-handler.js +58 -57
- package/esm/src/agent/composition/composition.js +2 -2
- package/esm/src/agent/conversation-bootstrap.d.ts +13 -16
- package/esm/src/agent/conversation-bootstrap.d.ts.map +1 -1
- package/esm/src/agent/conversation-bootstrap.js +19 -12
- package/esm/src/agent/conversation-hosted-lifecycle.d.ts.map +1 -1
- package/esm/src/agent/conversation-run-context.d.ts +1 -10
- package/esm/src/agent/conversation-run-context.d.ts.map +1 -1
- package/esm/src/agent/conversation-run-events.d.ts +9 -5
- package/esm/src/agent/conversation-run-events.d.ts.map +1 -1
- package/esm/src/agent/conversation-run-events.js +6 -4
- package/esm/src/agent/default-hosted-invoke-agent-tool.d.ts +37 -16
- package/esm/src/agent/default-hosted-invoke-agent-tool.d.ts.map +1 -1
- package/esm/src/agent/default-hosted-invoke-agent-tool.js +10 -5
- package/esm/src/agent/durable.d.ts +70 -129
- package/esm/src/agent/durable.d.ts.map +1 -1
- package/esm/src/agent/durable.js +107 -109
- package/esm/src/agent/hosted-ag-ui-chat-request.d.ts +29 -11
- package/esm/src/agent/hosted-ag-ui-chat-request.d.ts.map +1 -1
- package/esm/src/agent/hosted-ag-ui-chat-request.js +16 -15
- package/esm/src/agent/hosted-agent-service-config.d.ts +6 -6
- package/esm/src/agent/hosted-agent-service-routes.d.ts.map +1 -1
- package/esm/src/agent/hosted-agent-service-routes.js +4 -3
- package/esm/src/agent/hosted-chat-request-parser.d.ts.map +1 -1
- package/esm/src/agent/hosted-chat-request-parser.js +7 -4
- package/esm/src/agent/hosted-chat-request.d.ts +291 -20
- package/esm/src/agent/hosted-chat-request.d.ts.map +1 -1
- package/esm/src/agent/hosted-chat-request.js +33 -31
- package/esm/src/agent/hosted-child-fork-step-message-preparation.d.ts.map +1 -1
- package/esm/src/agent/hosted-child-status.d.ts.map +1 -1
- package/esm/src/agent/hosted-child-status.js +2 -0
- package/esm/src/agent/hosted-child-tool-input.d.ts +21 -11
- package/esm/src/agent/hosted-child-tool-input.d.ts.map +1 -1
- package/esm/src/agent/hosted-child-tool-input.js +12 -10
- package/esm/src/agent/hosted-form-input-tool.d.ts +78 -86
- package/esm/src/agent/hosted-form-input-tool.d.ts.map +1 -1
- package/esm/src/agent/hosted-form-input-tool.js +10 -3
- package/esm/src/agent/human-input.d.ts +337 -277
- package/esm/src/agent/human-input.d.ts.map +1 -1
- package/esm/src/agent/human-input.js +88 -72
- package/esm/src/agent/index.d.ts +8 -7
- package/esm/src/agent/index.d.ts.map +1 -1
- package/esm/src/agent/index.js +8 -7
- package/esm/src/agent/input-request-protocol.d.ts +461 -1611
- package/esm/src/agent/input-request-protocol.d.ts.map +1 -1
- package/esm/src/agent/input-request-protocol.js +120 -107
- package/esm/src/agent/invoke-agent-child-runs.d.ts +109 -107
- package/esm/src/agent/invoke-agent-child-runs.d.ts.map +1 -1
- package/esm/src/agent/invoke-agent-child-runs.js +36 -29
- package/esm/src/agent/runtime-ag-ui-contract.d.ts +206 -206
- package/esm/src/agent/runtime-ag-ui-contract.d.ts.map +1 -1
- package/esm/src/agent/runtime-ag-ui-contract.js +96 -91
- package/esm/src/agent/runtime-agent-definition.d.ts +47 -24
- package/esm/src/agent/runtime-agent-definition.d.ts.map +1 -1
- package/esm/src/agent/runtime-agent-definition.js +26 -20
- package/esm/src/agent/runtime-agent-invocation-contract.d.ts +306 -168
- package/esm/src/agent/runtime-agent-invocation-contract.d.ts.map +1 -1
- package/esm/src/agent/runtime-agent-invocation-contract.js +116 -101
- package/esm/src/agent/runtime-client-profile.d.ts +23 -32
- package/esm/src/agent/runtime-client-profile.d.ts.map +1 -1
- package/esm/src/agent/runtime-client-profile.js +29 -27
- package/esm/src/agent/runtime-load-skill-tool.d.ts +6 -7
- package/esm/src/agent/runtime-load-skill-tool.d.ts.map +1 -1
- package/esm/src/agent/runtime-load-skill-tool.js +7 -6
- package/esm/src/agent/runtime-project-files-client.d.ts +19 -10
- package/esm/src/agent/runtime-project-files-client.d.ts.map +1 -1
- package/esm/src/agent/runtime-project-files-client.js +33 -35
- package/esm/src/agent/runtime-skill-metadata.d.ts +6 -20
- package/esm/src/agent/runtime-skill-metadata.d.ts.map +1 -1
- package/esm/src/agent/runtime-skill-metadata.js +24 -18
- package/esm/src/agent/runtime-upload-url-client.d.ts.map +1 -1
- package/esm/src/agent/runtime-upload-url-client.js +19 -25
- package/esm/src/agent/schemas/agent.schema.d.ts +258 -307
- package/esm/src/agent/schemas/agent.schema.d.ts.map +1 -1
- package/esm/src/agent/schemas/agent.schema.js +105 -101
- package/esm/src/agent/schemas/index.d.ts +2 -2
- package/esm/src/agent/schemas/index.d.ts.map +1 -1
- package/esm/src/agent/schemas/index.js +2 -2
- package/esm/src/agent/schemas/tool.schema.d.ts +5 -5
- package/esm/src/agent/schemas/tool.schema.d.ts.map +1 -1
- package/esm/src/agent/schemas/tool.schema.js +4 -4
- package/esm/src/cache/schemas/cache-backend.schema.d.ts +15 -14
- package/esm/src/cache/schemas/cache-backend.schema.d.ts.map +1 -1
- package/esm/src/cache/schemas/cache-backend.schema.js +10 -7
- package/esm/src/cache/schemas/cache-key.schema.d.ts +12 -10
- package/esm/src/cache/schemas/cache-key.schema.d.ts.map +1 -1
- package/esm/src/cache/schemas/cache-key.schema.js +8 -6
- package/esm/src/channels/control-plane.d.ts +246 -156
- package/esm/src/channels/control-plane.d.ts.map +1 -1
- package/esm/src/channels/control-plane.js +80 -73
- package/esm/src/channels/invoke.d.ts +220 -134
- package/esm/src/channels/invoke.d.ts.map +1 -1
- package/esm/src/channels/invoke.js +105 -93
- package/esm/src/chat/ag-ui.d.ts +494 -273
- package/esm/src/chat/ag-ui.d.ts.map +1 -1
- package/esm/src/chat/ag-ui.js +164 -180
- package/esm/src/chat/conversation.d.ts +273 -183
- package/esm/src/chat/conversation.d.ts.map +1 -1
- package/esm/src/chat/conversation.js +97 -111
- package/esm/src/chat/types.d.ts +635 -14
- package/esm/src/chat/types.d.ts.map +1 -1
- package/esm/src/chat/types.js +146 -174
- package/esm/src/config/schemas/config.schema.d.ts +799 -395
- package/esm/src/config/schemas/config.schema.d.ts.map +1 -1
- package/esm/src/config/schemas/config.schema.js +300 -268
- package/esm/src/data/schemas/data.schema.d.ts +89 -48
- package/esm/src/data/schemas/data.schema.d.ts.map +1 -1
- package/esm/src/data/schemas/data.schema.js +36 -29
- package/esm/src/extensions/builtin-extensions.d.ts.map +1 -1
- package/esm/src/extensions/builtin-extensions.js +9 -0
- package/esm/src/extensions/schema/index.d.ts +1 -1
- package/esm/src/extensions/schema/index.d.ts.map +1 -1
- package/esm/src/extensions/schema/json-schema.d.ts +23 -0
- package/esm/src/extensions/schema/json-schema.d.ts.map +1 -0
- package/esm/src/extensions/schema/json-schema.js +8 -0
- package/esm/src/extensions/schema/schema-validator.d.ts +97 -4
- package/esm/src/extensions/schema/schema-validator.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/hydration-data-generator.js +1 -1
- package/esm/src/html/schemas/html.schema.d.ts +107 -90
- package/esm/src/html/schemas/html.schema.d.ts.map +1 -1
- package/esm/src/html/schemas/html.schema.js +60 -52
- package/esm/src/html/utils.d.ts.map +1 -1
- package/esm/src/html/utils.js +1 -1
- package/esm/src/integrations/schema.d.ts +455 -433
- package/esm/src/integrations/schema.d.ts.map +1 -1
- package/esm/src/integrations/schema.js +105 -95
- package/esm/src/internal-agents/ag-ui-sse.d.ts.map +1 -1
- package/esm/src/internal-agents/ag-ui-sse.js +60 -82
- package/esm/src/internal-agents/control-plane-auth.d.ts +10 -10
- package/esm/src/internal-agents/control-plane-auth.d.ts.map +1 -1
- package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
- package/esm/src/internal-agents/run-stream.js +3 -2
- package/esm/src/internal-agents/schema.d.ts +272 -281
- package/esm/src/internal-agents/schema.d.ts.map +1 -1
- package/esm/src/internal-agents/schema.js +55 -47
- package/esm/src/issues/core.d.ts.map +1 -1
- package/esm/src/issues/mcp.d.ts.map +1 -1
- package/esm/src/issues/mcp.js +47 -41
- package/esm/src/issues/schemas/index.d.ts +1 -1
- package/esm/src/issues/schemas/index.d.ts.map +1 -1
- package/esm/src/issues/schemas/index.js +1 -1
- package/esm/src/issues/schemas/issue.schema.d.ts +151 -116
- package/esm/src/issues/schemas/issue.schema.d.ts.map +1 -1
- package/esm/src/issues/schemas/issue.schema.js +64 -55
- package/esm/src/jobs/schemas.d.ts +1087 -658
- package/esm/src/jobs/schemas.d.ts.map +1 -1
- package/esm/src/jobs/schemas.js +244 -214
- package/esm/src/mcp/index.d.ts +6 -2
- package/esm/src/mcp/index.d.ts.map +1 -1
- package/esm/src/mcp/index.js +6 -2
- package/esm/src/mcp/schemas/index.d.ts +1 -1
- package/esm/src/mcp/schemas/index.d.ts.map +1 -1
- package/esm/src/mcp/schemas/index.js +1 -1
- package/esm/src/mcp/schemas/mcp.schema.d.ts +59 -31
- package/esm/src/mcp/schemas/mcp.schema.d.ts.map +1 -1
- package/esm/src/mcp/schemas/mcp.schema.js +28 -24
- package/esm/src/mcp/types.d.ts +2 -2
- package/esm/src/mcp/types.d.ts.map +1 -1
- package/esm/src/oauth/providers/atlassian.d.ts +36 -30
- package/esm/src/oauth/providers/atlassian.d.ts.map +1 -1
- package/esm/src/oauth/providers/common.d.ts +312 -260
- package/esm/src/oauth/providers/common.d.ts.map +1 -1
- package/esm/src/oauth/providers/google.d.ts +48 -40
- package/esm/src/oauth/providers/google.d.ts.map +1 -1
- package/esm/src/oauth/providers/microsoft.d.ts +48 -40
- package/esm/src/oauth/providers/microsoft.d.ts.map +1 -1
- package/esm/src/oauth/schemas/oauth.schema.d.ts +180 -92
- package/esm/src/oauth/schemas/oauth.schema.d.ts.map +1 -1
- package/esm/src/oauth/schemas/oauth.schema.js +67 -59
- 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 +4 -4
- package/esm/src/platform/adapters/fs/github/index.d.ts +1 -1
- package/esm/src/platform/adapters/fs/github/index.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/github/index.js +1 -1
- package/esm/src/platform/adapters/fs/github/schemas/github-api.schema.d.ts +97 -140
- package/esm/src/platform/adapters/fs/github/schemas/github-api.schema.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/github/schemas/github-api.schema.js +40 -37
- package/esm/src/platform/adapters/fs/github/schemas/index.d.ts +1 -1
- package/esm/src/platform/adapters/fs/github/schemas/index.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/github/schemas/index.js +1 -1
- package/esm/src/platform/adapters/fs/veryfront/proxy-manager.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/proxy-manager.js +7 -4
- package/esm/src/platform/adapters/fs/veryfront/schemas/index.d.ts +1 -1
- package/esm/src/platform/adapters/fs/veryfront/schemas/index.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/schemas/index.js +1 -1
- package/esm/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.d.ts +11 -11
- package/esm/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.js +10 -10
- package/esm/src/platform/adapters/fs/veryfront/stat-operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/stat-operations.js +1 -0
- package/esm/src/platform/adapters/veryfront-api-client/client.d.ts +63 -63
- package/esm/src/platform/adapters/veryfront-api-client/index.d.ts +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/index.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/index.js +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/operations.js +11 -21
- package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.d.ts +444 -471
- package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/schemas/api.schema.js +150 -122
- package/esm/src/platform/adapters/veryfront-api-client/schemas/index.d.ts +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/schemas/index.d.ts.map +1 -1
- package/esm/src/platform/adapters/veryfront-api-client/schemas/index.js +1 -1
- package/esm/src/prompt/schemas/prompt.schema.d.ts +10 -9
- package/esm/src/prompt/schemas/prompt.schema.d.ts.map +1 -1
- package/esm/src/prompt/schemas/prompt.schema.js +8 -8
- package/esm/src/proxy/handler.d.ts.map +1 -1
- package/esm/src/proxy/handler.js +0 -1
- package/esm/src/repositories/schemas/repository.schema.d.ts +40 -25
- package/esm/src/repositories/schemas/repository.schema.d.ts.map +1 -1
- package/esm/src/repositories/schemas/repository.schema.js +23 -19
- package/esm/src/resource/index.d.ts +6 -2
- package/esm/src/resource/index.d.ts.map +1 -1
- package/esm/src/resource/index.js +6 -2
- package/esm/src/resource/schemas/index.d.ts +1 -1
- package/esm/src/resource/schemas/index.d.ts.map +1 -1
- package/esm/src/resource/schemas/index.js +1 -1
- package/esm/src/resource/schemas/resource.schema.d.ts +13 -16
- package/esm/src/resource/schemas/resource.schema.d.ts.map +1 -1
- package/esm/src/resource/schemas/resource.schema.js +9 -6
- package/esm/src/resource/types.d.ts +3 -3
- package/esm/src/resource/types.d.ts.map +1 -1
- package/esm/src/routing/api/openapi/types.d.ts +4 -4
- package/esm/src/routing/api/openapi/types.d.ts.map +1 -1
- package/esm/src/sandbox/hosted-tools.d.ts.map +1 -1
- package/esm/src/sandbox/hosted-tools.js +11 -13
- package/esm/src/schemas/common.d.ts +48 -28
- package/esm/src/schemas/common.d.ts.map +1 -1
- package/esm/src/schemas/common.js +67 -28
- package/esm/src/schemas/define.d.ts +3 -2
- package/esm/src/schemas/define.d.ts.map +1 -1
- package/esm/src/schemas/define.js +12 -6
- package/esm/src/schemas/index.d.ts +8 -4
- package/esm/src/schemas/index.d.ts.map +1 -1
- package/esm/src/schemas/index.js +8 -7
- package/esm/src/schemas/json-schema.d.ts +25 -0
- package/esm/src/schemas/json-schema.d.ts.map +1 -0
- package/esm/src/schemas/json-schema.js +27 -0
- package/esm/src/schemas/primitives.d.ts +34 -23
- package/esm/src/schemas/primitives.d.ts.map +1 -1
- package/esm/src/schemas/primitives.js +25 -18
- package/esm/src/security/input-validation/handler.d.ts +3 -3
- package/esm/src/security/input-validation/handler.d.ts.map +1 -1
- package/esm/src/security/input-validation/parsers.d.ts +4 -4
- package/esm/src/security/input-validation/parsers.d.ts.map +1 -1
- package/esm/src/security/input-validation/parsers.js +35 -45
- package/esm/src/server/bootstrap.js +2 -2
- package/esm/src/server/dev-ui/manifest.js +1 -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 +1 -0
- package/esm/src/server/handlers/request/agent-run-cancel.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/agent-run-cancel.handler.js +2 -3
- package/esm/src/server/handlers/request/agent-run-resume.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/agent-run-resume.handler.js +4 -5
- package/esm/src/server/handlers/request/agent-stream.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/agent-stream.handler.js +3 -4
- package/esm/src/server/handlers/request/internal-agents-list.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/internal-agents-list.handler.js +2 -4
- package/esm/src/server/runtime-handler/environment-resolution.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/environment-resolution.js +4 -5
- package/esm/src/server/runtime-handler/request-utils.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/request-utils.js +1 -2
- package/esm/src/server/schemas/action.schema.d.ts +10 -6
- package/esm/src/server/schemas/action.schema.d.ts.map +1 -1
- package/esm/src/server/schemas/action.schema.js +7 -5
- package/esm/src/skill/tools.d.ts.map +1 -1
- package/esm/src/skill/tools.js +24 -21
- package/esm/src/tool/factory.d.ts +1 -1
- package/esm/src/tool/factory.d.ts.map +1 -1
- package/esm/src/tool/factory.js +12 -1
- package/esm/src/tool/host-tools.d.ts +1 -1
- package/esm/src/tool/host-tools.d.ts.map +1 -1
- package/esm/src/tool/host-tools.js +17 -3
- package/esm/src/tool/index.d.ts +9 -5
- package/esm/src/tool/index.d.ts.map +1 -1
- package/esm/src/tool/index.js +9 -5
- package/esm/src/tool/remote-source-tools.d.ts.map +1 -1
- package/esm/src/tool/remote-source-tools.js +9 -2
- package/esm/src/tool/schema/json-schema.d.ts +8 -15
- package/esm/src/tool/schema/json-schema.d.ts.map +1 -1
- package/esm/src/tool/schema/json-schema.js +7 -0
- package/esm/src/tool/schema/zod-json-schema.d.ts +33 -4
- package/esm/src/tool/schema/zod-json-schema.d.ts.map +1 -1
- package/esm/src/tool/schema/zod-json-schema.js +70 -159
- package/esm/src/tool/sleep.d.ts +21 -11
- package/esm/src/tool/sleep.d.ts.map +1 -1
- package/esm/src/tool/sleep.js +42 -4
- package/esm/src/tool/types.d.ts +12 -8
- package/esm/src/tool/types.d.ts.map +1 -1
- package/esm/src/transforms/npm-import-rewrites.d.ts +1 -1
- package/esm/src/transforms/npm-import-rewrites.d.ts.map +1 -1
- package/esm/src/transforms/npm-import-rewrites.js +1 -3
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/api.d.ts +22 -22
- package/esm/src/workflow/blob/veryfront-cloud-storage.d.ts.map +1 -1
- package/esm/src/workflow/blob/veryfront-cloud-storage.js +37 -33
- package/esm/src/workflow/claude-code/tool.d.ts +37 -44
- package/esm/src/workflow/claude-code/tool.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/tool.js +11 -19
- package/esm/src/workflow/dsl/workflow.d.ts +3 -3
- package/esm/src/workflow/dsl/workflow.d.ts.map +1 -1
- package/esm/src/workflow/schemas/index.d.ts +1 -1
- package/esm/src/workflow/schemas/index.d.ts.map +1 -1
- package/esm/src/workflow/schemas/index.js +1 -1
- package/esm/src/workflow/schemas/workflow.schema.d.ts +194 -177
- package/esm/src/workflow/schemas/workflow.schema.d.ts.map +1 -1
- package/esm/src/workflow/schemas/workflow.schema.js +101 -83
- package/esm/src/workflow/types.d.ts +3 -3
- package/esm/src/workflow/types.d.ts.map +1 -1
- package/package.json +4 -1
- package/src/cli/commands/analyze-chunks/handler.ts +9 -5
- package/src/cli/commands/build/handler.ts +20 -15
- package/src/cli/commands/clean/command.ts +1 -1
- package/src/cli/commands/clean/handler.ts +12 -8
- package/src/cli/commands/demo/handler.ts +12 -7
- package/src/cli/commands/deploy/command.ts +17 -12
- package/src/cli/commands/dev/handler.ts +11 -7
- package/src/cli/commands/doctor/handler.ts +8 -4
- package/src/cli/commands/files/command.ts +64 -44
- package/src/cli/commands/generate/handler.ts +9 -5
- package/src/cli/commands/generate/integration-generator-helpers.ts +4 -4
- package/src/cli/commands/generate/integration-generator.ts +8 -4
- package/src/cli/commands/install/detect.ts +1 -1
- package/src/cli/commands/install/handler.ts +10 -6
- package/src/cli/commands/install/install.ts +20 -12
- package/src/cli/commands/install/types.ts +58 -41
- package/src/cli/commands/install/uninstall.ts +6 -2
- package/src/cli/commands/knowledge/command.ts +60 -52
- package/src/cli/commands/lock/handler.ts +13 -9
- package/src/cli/commands/mcp/handler.ts +8 -4
- package/src/cli/commands/merge/command.ts +14 -9
- package/src/cli/commands/open/command.ts +12 -7
- package/src/cli/commands/pull/command.ts +20 -15
- package/src/cli/commands/push/command.ts +17 -12
- package/src/cli/commands/routes/handler.ts +9 -5
- package/src/cli/commands/schema/handler.ts +8 -4
- package/src/cli/commands/serve/handler.ts +15 -11
- package/src/cli/commands/start/handler.ts +11 -7
- package/src/cli/commands/studio/handler.ts +10 -6
- package/src/cli/commands/styles/command.ts +22 -17
- package/src/cli/commands/styles/handler.ts +12 -7
- package/src/cli/commands/task/handler.ts +12 -7
- package/src/cli/commands/test/handler.ts +9 -5
- package/src/cli/commands/up/command.ts +11 -6
- package/src/cli/commands/uploads/command.ts +72 -52
- package/src/cli/commands/worker/handler.ts +16 -11
- package/src/cli/commands/workflow/handler.ts +13 -8
- package/src/cli/mcp/jsonrpc.ts +32 -19
- package/src/cli/mcp/remote-file-tools.ts +134 -97
- package/src/cli/mcp/server.ts +2 -80
- package/src/cli/mcp/tools/bootstrap-tool.ts +11 -7
- package/src/cli/mcp/tools/build-tool.ts +32 -28
- package/src/cli/mcp/tools/catalog-tools.ts +53 -42
- package/src/cli/mcp/tools/context7-tools.ts +29 -25
- package/src/cli/mcp/tools/deploy-tool.ts +17 -13
- package/src/cli/mcp/tools/dev-tools.ts +90 -66
- package/src/cli/mcp/tools/introspection-tools.ts +8 -6
- package/src/cli/mcp/tools/project-tools.ts +45 -32
- package/src/cli/mcp/tools/run-lint-tool.ts +11 -7
- package/src/cli/mcp/tools/run-tests-tool.ts +17 -13
- package/src/cli/mcp/tools/scaffold-tools.ts +43 -36
- package/src/cli/mcp/tools/skill-tools.ts +17 -12
- package/src/cli/mcp/tools.ts +65 -51
- package/src/cli/shared/args.ts +12 -9
- package/src/cli/shared/config.ts +32 -22
- package/src/cli/shared/project-source-context.ts +1 -1
- package/src/cli/shared/types.ts +5 -3
- package/src/cli/skills/types.ts +29 -24
- package/src/cli/templates/manifest.js +211 -211
- package/src/deno.js +10 -4
- package/src/extensions/ext-zod/src/adapter.ts +238 -0
- package/src/extensions/ext-zod/src/index.ts +36 -0
- package/src/extensions/ext-zod/src/json-schema.ts +311 -0
- package/src/src/agent/ag-ui-detached-start.ts +44 -21
- package/src/src/agent/ag-ui-forwarded-context.ts +6 -4
- package/src/src/agent/ag-ui-handler.ts +7 -3
- package/src/src/agent/ag-ui-host-support.ts +84 -66
- package/src/src/agent/ag-ui-request-shared.ts +16 -2
- package/src/src/agent/ag-ui-run-control.ts +26 -15
- package/src/src/agent/ag-ui-runtime-handler.ts +7 -3
- package/src/src/agent/ag-ui-sse-parser.ts +306 -0
- package/src/src/agent/ag-ui-tool-shared.ts +5 -2
- package/src/src/agent/chat-handler.ts +89 -67
- package/src/src/agent/composition/composition.ts +2 -2
- package/src/src/agent/conversation-bootstrap.ts +38 -17
- package/src/src/agent/conversation-hosted-lifecycle.ts +12 -10
- package/src/src/agent/conversation-run-events.ts +13 -5
- package/src/src/agent/default-hosted-invoke-agent-tool.ts +19 -8
- package/src/src/agent/durable.ts +186 -144
- package/src/src/agent/hosted-ag-ui-chat-request.ts +26 -16
- package/src/src/agent/hosted-agent-service-routes.ts +4 -3
- package/src/src/agent/hosted-chat-request-parser.ts +8 -4
- package/src/src/agent/hosted-chat-request.ts +46 -32
- package/src/src/agent/hosted-child-fork-step-message-preparation.ts +3 -1
- package/src/src/agent/hosted-child-status.ts +8 -1
- package/src/src/agent/hosted-child-tool-input.ts +27 -19
- package/src/src/agent/hosted-durable-child-fork-execution.ts +3 -3
- package/src/src/agent/hosted-form-input-tool.ts +15 -5
- package/src/src/agent/human-input.ts +129 -92
- package/src/src/agent/index.ts +38 -20
- package/src/src/agent/input-request-protocol.ts +193 -124
- package/src/src/agent/invoke-agent-child-runs.ts +64 -44
- package/src/src/agent/runtime-ag-ui-contract.ts +159 -123
- package/src/src/agent/runtime-agent-definition.ts +45 -24
- package/src/src/agent/runtime-agent-invocation-contract.ts +241 -174
- package/src/src/agent/runtime-client-profile.ts +51 -34
- package/src/src/agent/runtime-load-skill-tool.ts +19 -12
- package/src/src/agent/runtime-project-files-client.ts +51 -39
- package/src/src/agent/runtime-skill-metadata.ts +41 -24
- package/src/src/agent/runtime-upload-url-client.ts +24 -24
- package/src/src/agent/schemas/agent.schema.ts +179 -142
- package/src/src/agent/schemas/index.ts +15 -15
- package/src/src/agent/schemas/tool.schema.ts +8 -5
- package/src/src/cache/schemas/cache-backend.schema.ts +18 -9
- package/src/src/cache/schemas/cache-key.schema.ts +13 -7
- package/src/src/channels/control-plane.ts +132 -96
- package/src/src/channels/invoke.ts +165 -120
- package/src/src/chat/ag-ui.ts +229 -225
- package/src/src/chat/conversation.ts +121 -124
- package/src/src/chat/types.ts +230 -205
- package/src/src/config/schemas/config.schema.ts +653 -610
- package/src/src/data/schemas/data.schema.ts +62 -39
- package/src/src/extensions/builtin-extensions.ts +9 -0
- package/src/src/extensions/schema/index.ts +3 -0
- package/src/src/extensions/schema/json-schema.ts +23 -0
- package/src/src/extensions/schema/schema-validator.ts +105 -6
- package/src/src/html/html-shell-generator.ts +1 -1
- package/src/src/html/hydration-script-builder/hydration-data-generator.ts +2 -2
- package/src/src/html/schemas/html.schema.ts +81 -65
- package/src/src/html/utils.ts +4 -1
- package/src/src/integrations/schema.ts +140 -111
- package/src/src/internal-agents/ag-ui-sse.ts +85 -83
- package/src/src/internal-agents/run-stream.ts +4 -2
- package/src/src/internal-agents/schema.ts +120 -89
- package/src/src/issues/core.ts +3 -1
- package/src/src/issues/mcp.ts +81 -58
- package/src/src/issues/schemas/index.ts +11 -0
- package/src/src/issues/schemas/issue.schema.ts +99 -73
- package/src/src/jobs/jobs-client.ts +4 -4
- package/src/src/jobs/schemas.ts +414 -297
- package/src/src/mcp/index.ts +6 -2
- package/src/src/mcp/schemas/index.ts +3 -0
- package/src/src/mcp/schemas/mcp.schema.ts +45 -29
- package/src/src/mcp/types.ts +2 -3
- package/src/src/oauth/schemas/oauth.schema.ts +96 -70
- package/src/src/platform/adapters/fs/github/github-api-client.ts +6 -6
- package/src/src/platform/adapters/fs/github/index.ts +5 -5
- package/src/src/platform/adapters/fs/github/schemas/github-api.schema.ts +58 -42
- package/src/src/platform/adapters/fs/github/schemas/index.ts +5 -5
- package/src/src/platform/adapters/fs/veryfront/proxy-manager.ts +9 -5
- package/src/src/platform/adapters/fs/veryfront/schemas/index.ts +1 -1
- package/src/src/platform/adapters/fs/veryfront/schemas/proxy-manager.schema.ts +14 -11
- package/src/src/platform/adapters/fs/veryfront/stat-operations.ts +1 -0
- package/src/src/platform/adapters/veryfront-api-client/index.ts +17 -16
- package/src/src/platform/adapters/veryfront-api-client/operations.ts +20 -31
- package/src/src/platform/adapters/veryfront-api-client/schemas/api.schema.ts +231 -150
- package/src/src/platform/adapters/veryfront-api-client/schemas/index.ts +17 -16
- package/src/src/prompt/schemas/prompt.schema.ts +13 -10
- package/src/src/proxy/handler.ts +0 -1
- package/src/src/rendering/orchestrator/html-project-css.ts +1 -1
- package/src/src/rendering/renderer.ts +2 -2
- package/src/src/repositories/schemas/repository.schema.ts +36 -22
- package/src/src/resource/index.ts +6 -2
- package/src/src/resource/schemas/index.ts +2 -0
- package/src/src/resource/schemas/resource.schema.ts +17 -8
- package/src/src/resource/types.ts +3 -3
- package/src/src/routing/api/openapi/types.ts +5 -5
- package/src/src/sandbox/hosted-tools.ts +17 -13
- package/src/src/schemas/common.ts +83 -31
- package/src/src/schemas/define.ts +13 -6
- package/src/src/schemas/index.ts +29 -17
- package/src/src/schemas/json-schema.ts +33 -0
- package/src/src/schemas/primitives.ts +71 -35
- package/src/src/security/http/config.ts +1 -1
- package/src/src/security/input-validation/handler.ts +3 -3
- package/src/src/security/input-validation/parsers.ts +40 -45
- package/src/src/server/bootstrap.ts +3 -3
- package/src/src/server/dev-ui/manifest.js +1 -1
- package/src/src/server/handlers/dev/framework-candidates.generated.ts +1 -0
- package/src/src/server/handlers/request/agent-run-cancel.handler.ts +2 -6
- package/src/src/server/handlers/request/agent-run-resume.handler.ts +4 -9
- package/src/src/server/handlers/request/agent-stream.handler.ts +2 -4
- package/src/src/server/handlers/request/internal-agents-list.handler.ts +2 -5
- package/src/src/server/runtime-handler/environment-resolution.ts +4 -5
- package/src/src/server/runtime-handler/request-utils.ts +1 -2
- package/src/src/server/schemas/action.schema.ts +12 -6
- package/src/src/skill/tools.ts +37 -25
- package/src/src/tool/factory.ts +23 -5
- package/src/src/tool/host-tools.ts +16 -6
- package/src/src/tool/index.ts +9 -5
- package/src/src/tool/remote-source-tools.ts +10 -2
- package/src/src/tool/schema/json-schema.ts +9 -15
- package/src/src/tool/schema/zod-json-schema.ts +75 -209
- package/src/src/tool/sleep.ts +55 -7
- package/src/src/tool/types.ts +12 -8
- package/src/src/transforms/npm-import-rewrites.ts +1 -3
- package/src/src/utils/version-constant.ts +1 -1
- package/src/src/workflow/blob/veryfront-cloud-storage.ts +53 -39
- package/src/src/workflow/claude-code/tool.ts +29 -38
- package/src/src/workflow/dsl/workflow.ts +3 -3
- package/src/src/workflow/schemas/index.ts +17 -0
- package/src/src/workflow/schemas/workflow.schema.ts +183 -123
- package/src/src/workflow/types.ts +3 -3
- package/esm/src/schemas/zod-adapter.d.ts +0 -25
- package/esm/src/schemas/zod-adapter.d.ts.map +0 -1
- package/esm/src/schemas/zod-adapter.js +0 -120
- package/src/src/schemas/zod-adapter.ts +0 -180
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { defineSchema } from "../../schemas/index.js";
|
|
2
2
|
import { createError, toError } from "../../errors/veryfront-error.js";
|
|
3
3
|
// Sub-schemas
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
username:
|
|
7
|
-
password:
|
|
8
|
-
realm:
|
|
9
|
-
});
|
|
10
|
-
const
|
|
11
|
-
token:
|
|
12
|
-
});
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
]);
|
|
4
|
+
const getCorsSchema = defineSchema((v) => v.union([v.boolean(), v.object({ origin: v.string().optional() }).strict()]));
|
|
5
|
+
const getBasicAuthSchema = defineSchema((v) => v.object({
|
|
6
|
+
username: v.string(),
|
|
7
|
+
password: v.string(),
|
|
8
|
+
realm: v.string().optional(),
|
|
9
|
+
}));
|
|
10
|
+
const getBearerAuthSchema = defineSchema((v) => v.object({
|
|
11
|
+
token: v.string(),
|
|
12
|
+
}));
|
|
13
|
+
const getEmbeddingDimensionSchema = defineSchema((v) => v.union([
|
|
14
|
+
v.literal(768),
|
|
15
|
+
v.literal(1024),
|
|
16
|
+
v.literal(1536),
|
|
17
|
+
v.literal(3072),
|
|
18
|
+
v.literal(4096),
|
|
19
|
+
]));
|
|
20
20
|
// Main config schema
|
|
21
|
-
export const
|
|
21
|
+
export const getVeryfrontConfigSchema = defineSchema((v) => v
|
|
22
22
|
.object({
|
|
23
|
-
projectSlug:
|
|
24
|
-
title:
|
|
25
|
-
description:
|
|
26
|
-
react:
|
|
23
|
+
projectSlug: v.string().optional(),
|
|
24
|
+
title: v.string().optional(),
|
|
25
|
+
description: v.string().optional(),
|
|
26
|
+
react: v
|
|
27
27
|
.object({
|
|
28
28
|
/** React version to use (e.g., "18.3.1", "19.1.1"). Defaults to auto-detect from package.json or 19.1.1 */
|
|
29
|
-
version:
|
|
29
|
+
version: v.string().optional(),
|
|
30
30
|
})
|
|
31
31
|
.partial()
|
|
32
32
|
.optional(),
|
|
33
|
-
directories:
|
|
33
|
+
directories: v
|
|
34
34
|
.object({
|
|
35
|
-
app:
|
|
36
|
-
pages:
|
|
37
|
-
components:
|
|
38
|
-
ai:
|
|
35
|
+
app: v.string().optional(),
|
|
36
|
+
pages: v.string().optional(),
|
|
37
|
+
components: v.array(v.string()).optional(),
|
|
38
|
+
ai: v.string().optional(),
|
|
39
39
|
})
|
|
40
40
|
.partial()
|
|
41
41
|
.optional(),
|
|
42
|
-
experimental:
|
|
42
|
+
experimental: v
|
|
43
43
|
.object({
|
|
44
|
-
esmLayouts:
|
|
45
|
-
precompileMDX:
|
|
46
|
-
rsc:
|
|
44
|
+
esmLayouts: v.boolean().optional(),
|
|
45
|
+
precompileMDX: v.boolean().optional(),
|
|
46
|
+
rsc: v.boolean().optional(),
|
|
47
47
|
})
|
|
48
48
|
.partial()
|
|
49
49
|
.optional(),
|
|
50
|
-
router:
|
|
50
|
+
router: v.enum(["app", "pages"]).optional(),
|
|
51
51
|
/** Path to the layout component (e.g., 'components/layout.tsx'), or false to disable */
|
|
52
|
-
layout:
|
|
52
|
+
layout: v.union([v.string(), v.literal(false)]).optional(),
|
|
53
53
|
/** Path to the app wrapper component (e.g., 'components/app.tsx'), or false to disable */
|
|
54
|
-
app:
|
|
55
|
-
theme:
|
|
56
|
-
build:
|
|
54
|
+
app: v.union([v.string(), v.literal(false)]).optional(),
|
|
55
|
+
theme: v.object({ colors: v.record(v.string(), v.string()).optional() }).partial().optional(),
|
|
56
|
+
build: v
|
|
57
57
|
.object({
|
|
58
|
-
outDir:
|
|
59
|
-
trailingSlash:
|
|
60
|
-
esbuild:
|
|
58
|
+
outDir: v.string().optional(),
|
|
59
|
+
trailingSlash: v.boolean().optional(),
|
|
60
|
+
esbuild: v
|
|
61
61
|
.object({
|
|
62
|
-
wasmURL:
|
|
63
|
-
worker:
|
|
62
|
+
wasmURL: v.string().url().optional(),
|
|
63
|
+
worker: v.boolean().optional(),
|
|
64
64
|
})
|
|
65
65
|
.partial()
|
|
66
66
|
.optional(),
|
|
67
67
|
})
|
|
68
68
|
.partial()
|
|
69
69
|
.optional(),
|
|
70
|
-
cache:
|
|
70
|
+
cache: v
|
|
71
71
|
.object({
|
|
72
|
-
dir:
|
|
73
|
-
bundleManifest:
|
|
72
|
+
dir: v.string().optional(),
|
|
73
|
+
bundleManifest: v
|
|
74
74
|
.object({
|
|
75
|
-
type:
|
|
76
|
-
redisUrl:
|
|
77
|
-
keyPrefix:
|
|
78
|
-
ttl:
|
|
79
|
-
enabled:
|
|
75
|
+
type: v.enum(["redis", "kv", "memory"]).optional(),
|
|
76
|
+
redisUrl: v.string().optional(),
|
|
77
|
+
keyPrefix: v.string().optional(),
|
|
78
|
+
ttl: v.number().int().positive().optional(),
|
|
79
|
+
enabled: v.boolean().optional(),
|
|
80
80
|
})
|
|
81
81
|
.partial()
|
|
82
82
|
.optional(),
|
|
83
|
-
render:
|
|
83
|
+
render: v
|
|
84
84
|
.object({
|
|
85
|
-
type:
|
|
86
|
-
ttl:
|
|
87
|
-
maxEntries:
|
|
88
|
-
kvPath:
|
|
89
|
-
redisUrl:
|
|
90
|
-
redisKeyPrefix:
|
|
85
|
+
type: v.enum(["memory", "filesystem", "kv", "redis"]).optional(),
|
|
86
|
+
ttl: v.number().optional(),
|
|
87
|
+
maxEntries: v.number().optional(),
|
|
88
|
+
kvPath: v.string().optional(),
|
|
89
|
+
redisUrl: v.string().optional(),
|
|
90
|
+
redisKeyPrefix: v.string().optional(),
|
|
91
91
|
})
|
|
92
92
|
.partial()
|
|
93
93
|
.optional(),
|
|
@@ -109,53 +109,53 @@ export const veryfrontConfigSchema = z
|
|
|
109
109
|
* // Only vary cache by specific params
|
|
110
110
|
* cache: { queryParams: { policy: "include-list", params: ["page", "sort"] } }
|
|
111
111
|
*/
|
|
112
|
-
queryParams:
|
|
112
|
+
queryParams: v
|
|
113
113
|
.object({
|
|
114
|
-
policy:
|
|
114
|
+
policy: v.enum(["ignore-all", "include-all", "include-list", "exclude-list"])
|
|
115
115
|
.optional(),
|
|
116
|
-
params:
|
|
116
|
+
params: v.array(v.string()).optional(),
|
|
117
117
|
})
|
|
118
118
|
.partial()
|
|
119
119
|
.optional(),
|
|
120
120
|
})
|
|
121
121
|
.partial()
|
|
122
122
|
.optional(),
|
|
123
|
-
dev:
|
|
123
|
+
dev: v
|
|
124
124
|
.object({
|
|
125
|
-
port:
|
|
126
|
-
host:
|
|
127
|
-
open:
|
|
128
|
-
hmr:
|
|
129
|
-
hmrPort:
|
|
130
|
-
components:
|
|
131
|
-
moduleServerUrl:
|
|
125
|
+
port: v.number().int().positive().optional(),
|
|
126
|
+
host: v.string().optional(),
|
|
127
|
+
open: v.boolean().optional(),
|
|
128
|
+
hmr: v.boolean().optional(),
|
|
129
|
+
hmrPort: v.number().optional(),
|
|
130
|
+
components: v.array(v.string()).optional(),
|
|
131
|
+
moduleServerUrl: v.string().optional(),
|
|
132
132
|
})
|
|
133
133
|
.partial()
|
|
134
134
|
.optional(),
|
|
135
|
-
resolve:
|
|
135
|
+
resolve: v
|
|
136
136
|
.object({
|
|
137
|
-
importMap:
|
|
137
|
+
importMap: v
|
|
138
138
|
.object({
|
|
139
|
-
imports:
|
|
140
|
-
scopes:
|
|
139
|
+
imports: v.record(v.string(), v.string()).optional(),
|
|
140
|
+
scopes: v.record(v.string(), v.record(v.string(), v.string())).optional(),
|
|
141
141
|
})
|
|
142
142
|
.partial()
|
|
143
143
|
.optional(),
|
|
144
144
|
})
|
|
145
145
|
.partial()
|
|
146
146
|
.optional(),
|
|
147
|
-
security:
|
|
147
|
+
security: v
|
|
148
148
|
.object({
|
|
149
|
-
auth:
|
|
149
|
+
auth: v
|
|
150
150
|
.object({
|
|
151
|
-
basic:
|
|
152
|
-
bearer:
|
|
151
|
+
basic: getBasicAuthSchema().optional(),
|
|
152
|
+
bearer: getBearerAuthSchema().optional(),
|
|
153
153
|
})
|
|
154
154
|
.partial()
|
|
155
155
|
.optional(),
|
|
156
|
-
csp:
|
|
157
|
-
remoteHosts:
|
|
158
|
-
cors:
|
|
156
|
+
csp: v.record(v.string(), v.array(v.string())).optional(),
|
|
157
|
+
remoteHosts: v.array(v.string().url()).optional(),
|
|
158
|
+
cors: getCorsSchema().optional(),
|
|
159
159
|
/**
|
|
160
160
|
* CSRF protection using the double-submit cookie pattern.
|
|
161
161
|
* Set `true` for defaults, or pass an object to customize.
|
|
@@ -167,105 +167,105 @@ export const veryfrontConfigSchema = z
|
|
|
167
167
|
* Server Actions (`/_veryfront/rsc/action`) are CSRF-protected;
|
|
168
168
|
* client code must forward the cookie value as the header.
|
|
169
169
|
*/
|
|
170
|
-
csrf:
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
cookieName:
|
|
174
|
-
headerName:
|
|
175
|
-
excludePaths:
|
|
176
|
-
ttlSec:
|
|
170
|
+
csrf: v.union([
|
|
171
|
+
v.boolean(),
|
|
172
|
+
v.object({
|
|
173
|
+
cookieName: v.string().optional(),
|
|
174
|
+
headerName: v.string().optional(),
|
|
175
|
+
excludePaths: v.array(v.string()).optional(),
|
|
176
|
+
ttlSec: v.number().int().positive().optional(),
|
|
177
177
|
}).strict(),
|
|
178
178
|
]).optional(),
|
|
179
|
-
coop:
|
|
180
|
-
corp:
|
|
181
|
-
coep:
|
|
179
|
+
coop: v.enum(["same-origin", "same-origin-allow-popups", "unsafe-none"]).optional(),
|
|
180
|
+
corp: v.enum(["same-origin", "same-site", "cross-origin"]).optional(),
|
|
181
|
+
coep: v.enum(["require-corp", "unsafe-none"]).optional(),
|
|
182
182
|
/**
|
|
183
183
|
* Restrict module imports to specific directories (opt-in security).
|
|
184
184
|
* When not set, users can import from any directory in the project.
|
|
185
185
|
* When set, only imports from these directories are allowed.
|
|
186
186
|
* @example ["app", "pages", "components", "lib", "src", "utils"]
|
|
187
187
|
*/
|
|
188
|
-
allowedImportDirs:
|
|
188
|
+
allowedImportDirs: v.array(v.string()).optional(),
|
|
189
189
|
})
|
|
190
190
|
.partial()
|
|
191
191
|
.optional(),
|
|
192
|
-
middleware:
|
|
192
|
+
middleware: v
|
|
193
193
|
.object({
|
|
194
|
-
custom:
|
|
194
|
+
custom: v.array(v.any()).optional(),
|
|
195
195
|
})
|
|
196
196
|
.partial()
|
|
197
197
|
.optional(),
|
|
198
|
-
theming:
|
|
198
|
+
theming: v
|
|
199
199
|
.object({
|
|
200
|
-
brandName:
|
|
201
|
-
logoHtml:
|
|
200
|
+
brandName: v.string().optional(),
|
|
201
|
+
logoHtml: v.string().optional(),
|
|
202
202
|
})
|
|
203
203
|
.partial()
|
|
204
204
|
.optional(),
|
|
205
|
-
assetPipeline:
|
|
205
|
+
assetPipeline: v
|
|
206
206
|
.object({
|
|
207
|
-
images:
|
|
207
|
+
images: v
|
|
208
208
|
.object({
|
|
209
|
-
enabled:
|
|
210
|
-
formats:
|
|
211
|
-
sizes:
|
|
212
|
-
quality:
|
|
213
|
-
inputDir:
|
|
214
|
-
outputDir:
|
|
215
|
-
preserveOriginal:
|
|
209
|
+
enabled: v.boolean().optional(),
|
|
210
|
+
formats: v.array(v.enum(["webp", "avif", "jpeg", "png"])).optional(),
|
|
211
|
+
sizes: v.array(v.number().int().positive()).optional(),
|
|
212
|
+
quality: v.number().int().min(1).max(100).optional(),
|
|
213
|
+
inputDir: v.string().optional(),
|
|
214
|
+
outputDir: v.string().optional(),
|
|
215
|
+
preserveOriginal: v.boolean().optional(),
|
|
216
216
|
})
|
|
217
217
|
.partial()
|
|
218
218
|
.optional(),
|
|
219
|
-
css:
|
|
219
|
+
css: v
|
|
220
220
|
.object({
|
|
221
|
-
enabled:
|
|
222
|
-
minify:
|
|
223
|
-
autoprefixer:
|
|
224
|
-
purge:
|
|
225
|
-
criticalCSS:
|
|
226
|
-
inputDir:
|
|
227
|
-
outputDir:
|
|
228
|
-
browsers:
|
|
229
|
-
purgeContent:
|
|
230
|
-
sourceMap:
|
|
221
|
+
enabled: v.boolean().optional(),
|
|
222
|
+
minify: v.boolean().optional(),
|
|
223
|
+
autoprefixer: v.boolean().optional(),
|
|
224
|
+
purge: v.boolean().optional(),
|
|
225
|
+
criticalCSS: v.boolean().optional(),
|
|
226
|
+
inputDir: v.string().optional(),
|
|
227
|
+
outputDir: v.string().optional(),
|
|
228
|
+
browsers: v.array(v.string()).optional(),
|
|
229
|
+
purgeContent: v.array(v.string()).optional(),
|
|
230
|
+
sourceMap: v.boolean().optional(),
|
|
231
231
|
})
|
|
232
232
|
.partial()
|
|
233
233
|
.optional(),
|
|
234
234
|
})
|
|
235
235
|
.partial()
|
|
236
236
|
.optional(),
|
|
237
|
-
observability:
|
|
237
|
+
observability: v
|
|
238
238
|
.object({
|
|
239
|
-
tracing:
|
|
239
|
+
tracing: v
|
|
240
240
|
.object({
|
|
241
|
-
enabled:
|
|
242
|
-
exporter:
|
|
243
|
-
endpoint:
|
|
244
|
-
serviceName:
|
|
245
|
-
sampleRate:
|
|
241
|
+
enabled: v.boolean().optional(),
|
|
242
|
+
exporter: v.enum(["jaeger", "zipkin", "otlp", "console"]).optional(),
|
|
243
|
+
endpoint: v.string().optional(),
|
|
244
|
+
serviceName: v.string().optional(),
|
|
245
|
+
sampleRate: v.number().min(0).max(1).optional(),
|
|
246
246
|
})
|
|
247
247
|
.partial()
|
|
248
248
|
.optional(),
|
|
249
|
-
metrics:
|
|
249
|
+
metrics: v
|
|
250
250
|
.object({
|
|
251
|
-
enabled:
|
|
252
|
-
exporter:
|
|
253
|
-
endpoint:
|
|
254
|
-
prefix:
|
|
255
|
-
collectInterval:
|
|
251
|
+
enabled: v.boolean().optional(),
|
|
252
|
+
exporter: v.enum(["prometheus", "otlp", "console"]).optional(),
|
|
253
|
+
endpoint: v.string().optional(),
|
|
254
|
+
prefix: v.string().optional(),
|
|
255
|
+
collectInterval: v.number().int().positive().optional(),
|
|
256
256
|
})
|
|
257
257
|
.partial()
|
|
258
258
|
.optional(),
|
|
259
|
-
logging:
|
|
259
|
+
logging: v
|
|
260
260
|
.object({
|
|
261
|
-
file:
|
|
261
|
+
file: v
|
|
262
262
|
.object({
|
|
263
|
-
enabled:
|
|
264
|
-
path:
|
|
265
|
-
maxSize:
|
|
266
|
-
maxFiles:
|
|
267
|
-
level:
|
|
268
|
-
format:
|
|
263
|
+
enabled: v.boolean().optional(),
|
|
264
|
+
path: v.string().optional(),
|
|
265
|
+
maxSize: v.union([v.number().int().positive(), v.string()]).optional(),
|
|
266
|
+
maxFiles: v.number().int().positive().optional(),
|
|
267
|
+
level: v.enum(["debug", "info", "warn", "error"]).optional(),
|
|
268
|
+
format: v.enum(["json", "text"]).optional(),
|
|
269
269
|
})
|
|
270
270
|
.partial()
|
|
271
271
|
.optional(),
|
|
@@ -275,96 +275,97 @@ export const veryfrontConfigSchema = z
|
|
|
275
275
|
})
|
|
276
276
|
.partial()
|
|
277
277
|
.optional(),
|
|
278
|
-
search:
|
|
278
|
+
search: v
|
|
279
279
|
.object({
|
|
280
|
-
enabled:
|
|
281
|
-
embedding:
|
|
280
|
+
enabled: v.boolean().optional(),
|
|
281
|
+
embedding: v
|
|
282
282
|
.object({
|
|
283
|
-
provider:
|
|
284
|
-
model:
|
|
285
|
-
dimension:
|
|
286
|
-
apiKey:
|
|
287
|
-
batchSize:
|
|
283
|
+
provider: v.enum(["openai", "cohere", "voyageai", "custom"]).optional(),
|
|
284
|
+
model: v.string().optional(),
|
|
285
|
+
dimension: getEmbeddingDimensionSchema().optional(),
|
|
286
|
+
apiKey: v.string().optional(),
|
|
287
|
+
batchSize: v.number().int().positive().optional(),
|
|
288
288
|
})
|
|
289
289
|
.partial()
|
|
290
290
|
.optional(),
|
|
291
|
-
chunking:
|
|
291
|
+
chunking: v
|
|
292
292
|
.object({
|
|
293
|
-
maxTokens:
|
|
294
|
-
overlapTokens:
|
|
295
|
-
include:
|
|
296
|
-
exclude:
|
|
293
|
+
maxTokens: v.number().int().positive().optional(),
|
|
294
|
+
overlapTokens: v.number().int().min(0).optional(),
|
|
295
|
+
include: v.array(v.string()).optional(),
|
|
296
|
+
exclude: v.array(v.string()).optional(),
|
|
297
297
|
})
|
|
298
298
|
.partial()
|
|
299
299
|
.optional(),
|
|
300
|
-
autoIndex:
|
|
300
|
+
autoIndex: v.boolean().optional(),
|
|
301
301
|
})
|
|
302
302
|
.partial()
|
|
303
303
|
.optional(),
|
|
304
|
-
fs:
|
|
304
|
+
fs: v
|
|
305
305
|
.object({
|
|
306
|
-
type:
|
|
307
|
-
local:
|
|
308
|
-
veryfront:
|
|
306
|
+
type: v.enum(["local", "veryfront-api", "memory", "github"]).optional(),
|
|
307
|
+
local: v.object({ baseDir: v.string().optional() }).partial().optional(),
|
|
308
|
+
veryfront: v
|
|
309
309
|
.object({
|
|
310
|
-
apiBaseUrl:
|
|
310
|
+
apiBaseUrl: v.string().url(),
|
|
311
311
|
/** API token - optional in proxy mode (token provided per-request via headers) */
|
|
312
|
-
apiToken:
|
|
312
|
+
apiToken: v.string().optional(),
|
|
313
313
|
/** Project slug - optional in proxy mode (slug provided per-request via headers) */
|
|
314
|
-
projectSlug:
|
|
314
|
+
projectSlug: v.string().optional(),
|
|
315
315
|
/** Enable proxy mode for multi-project handling (tokens/slugs from headers) */
|
|
316
|
-
proxyMode:
|
|
316
|
+
proxyMode: v.boolean().optional(),
|
|
317
317
|
/** Production mode - fetch from releases instead of draft files */
|
|
318
|
-
productionMode:
|
|
319
|
-
cache:
|
|
318
|
+
productionMode: v.boolean().optional(),
|
|
319
|
+
cache: v
|
|
320
320
|
.object({
|
|
321
|
-
enabled:
|
|
322
|
-
ttl:
|
|
323
|
-
maxSize:
|
|
321
|
+
enabled: v.boolean().optional(),
|
|
322
|
+
ttl: v.number().int().positive().optional(),
|
|
323
|
+
maxSize: v.number().int().positive().optional(),
|
|
324
324
|
})
|
|
325
325
|
.partial()
|
|
326
326
|
.optional(),
|
|
327
|
-
retry:
|
|
327
|
+
retry: v
|
|
328
328
|
.object({
|
|
329
|
-
maxRetries:
|
|
330
|
-
initialDelay:
|
|
331
|
-
maxDelay:
|
|
329
|
+
maxRetries: v.number().int().min(0).optional(),
|
|
330
|
+
initialDelay: v.number().int().positive().optional(),
|
|
331
|
+
maxDelay: v.number().int().positive().optional(),
|
|
332
332
|
})
|
|
333
333
|
.partial()
|
|
334
334
|
.optional(),
|
|
335
335
|
})
|
|
336
336
|
.partial()
|
|
337
337
|
.optional(),
|
|
338
|
-
memory:
|
|
338
|
+
memory: v
|
|
339
339
|
.object({
|
|
340
|
-
files:
|
|
340
|
+
files: v.record(v.string(), v.union([v.string(), v.instanceof(Uint8Array)]))
|
|
341
|
+
.optional(),
|
|
341
342
|
})
|
|
342
343
|
.partial()
|
|
343
344
|
.optional(),
|
|
344
|
-
github:
|
|
345
|
+
github: v
|
|
345
346
|
.object({
|
|
346
347
|
/** GitHub Personal Access Token */
|
|
347
|
-
token:
|
|
348
|
+
token: v.string(),
|
|
348
349
|
/** Repository owner (user or organization) */
|
|
349
|
-
owner:
|
|
350
|
+
owner: v.string(),
|
|
350
351
|
/** Repository name */
|
|
351
|
-
repo:
|
|
352
|
+
repo: v.string(),
|
|
352
353
|
/** Branch, tag, or commit SHA (default: "main") */
|
|
353
|
-
ref:
|
|
354
|
-
cache:
|
|
354
|
+
ref: v.string().optional(),
|
|
355
|
+
cache: v
|
|
355
356
|
.object({
|
|
356
|
-
enabled:
|
|
357
|
-
ttl:
|
|
358
|
-
maxSize:
|
|
359
|
-
maxMemory:
|
|
357
|
+
enabled: v.boolean().optional(),
|
|
358
|
+
ttl: v.number().int().positive().optional(),
|
|
359
|
+
maxSize: v.number().int().positive().optional(),
|
|
360
|
+
maxMemory: v.number().int().positive().optional(),
|
|
360
361
|
})
|
|
361
362
|
.partial()
|
|
362
363
|
.optional(),
|
|
363
|
-
retry:
|
|
364
|
+
retry: v
|
|
364
365
|
.object({
|
|
365
|
-
maxRetries:
|
|
366
|
-
initialDelay:
|
|
367
|
-
maxDelay:
|
|
366
|
+
maxRetries: v.number().int().min(0).optional(),
|
|
367
|
+
initialDelay: v.number().int().positive().optional(),
|
|
368
|
+
maxDelay: v.number().int().positive().optional(),
|
|
368
369
|
})
|
|
369
370
|
.partial()
|
|
370
371
|
.optional(),
|
|
@@ -373,125 +374,125 @@ export const veryfrontConfigSchema = z
|
|
|
373
374
|
})
|
|
374
375
|
.partial()
|
|
375
376
|
.optional(),
|
|
376
|
-
ai:
|
|
377
|
+
ai: v
|
|
377
378
|
.object({
|
|
378
|
-
enabled:
|
|
379
|
-
providers:
|
|
380
|
-
apiKey:
|
|
381
|
-
baseURL:
|
|
382
|
-
defaultModel:
|
|
383
|
-
organization:
|
|
379
|
+
enabled: v.boolean().optional(),
|
|
380
|
+
providers: v.record(v.string(), v.object({
|
|
381
|
+
apiKey: v.string().optional(),
|
|
382
|
+
baseURL: v.string().optional(),
|
|
383
|
+
defaultModel: v.string().optional(),
|
|
384
|
+
organization: v.string().optional(),
|
|
384
385
|
}).passthrough()).optional(),
|
|
385
|
-
tools:
|
|
386
|
+
tools: v
|
|
386
387
|
.object({
|
|
387
|
-
discovery:
|
|
388
|
+
discovery: v
|
|
388
389
|
.object({
|
|
389
|
-
enabled:
|
|
390
|
-
paths:
|
|
390
|
+
enabled: v.boolean().optional(),
|
|
391
|
+
paths: v.array(v.string()).optional(),
|
|
391
392
|
})
|
|
392
393
|
.partial()
|
|
393
394
|
.optional(),
|
|
394
395
|
})
|
|
395
396
|
.partial()
|
|
396
397
|
.optional(),
|
|
397
|
-
agents:
|
|
398
|
+
agents: v
|
|
398
399
|
.object({
|
|
399
|
-
discovery:
|
|
400
|
+
discovery: v
|
|
400
401
|
.object({
|
|
401
|
-
enabled:
|
|
402
|
-
paths:
|
|
402
|
+
enabled: v.boolean().optional(),
|
|
403
|
+
paths: v.array(v.string()).optional(),
|
|
403
404
|
})
|
|
404
405
|
.partial()
|
|
405
406
|
.optional(),
|
|
406
407
|
})
|
|
407
408
|
.partial()
|
|
408
409
|
.optional(),
|
|
409
|
-
skills:
|
|
410
|
+
skills: v
|
|
410
411
|
.object({
|
|
411
|
-
discovery:
|
|
412
|
+
discovery: v
|
|
412
413
|
.object({
|
|
413
|
-
enabled:
|
|
414
|
-
paths:
|
|
414
|
+
enabled: v.boolean().optional(),
|
|
415
|
+
paths: v.array(v.string()).optional(),
|
|
415
416
|
})
|
|
416
417
|
.partial()
|
|
417
418
|
.optional(),
|
|
418
419
|
})
|
|
419
420
|
.partial()
|
|
420
421
|
.optional(),
|
|
421
|
-
resources:
|
|
422
|
+
resources: v
|
|
422
423
|
.object({
|
|
423
|
-
discovery:
|
|
424
|
+
discovery: v
|
|
424
425
|
.object({
|
|
425
|
-
enabled:
|
|
426
|
-
paths:
|
|
426
|
+
enabled: v.boolean().optional(),
|
|
427
|
+
paths: v.array(v.string()).optional(),
|
|
427
428
|
})
|
|
428
429
|
.partial()
|
|
429
430
|
.optional(),
|
|
430
431
|
})
|
|
431
432
|
.partial()
|
|
432
433
|
.optional(),
|
|
433
|
-
prompts:
|
|
434
|
+
prompts: v
|
|
434
435
|
.object({
|
|
435
|
-
discovery:
|
|
436
|
+
discovery: v
|
|
436
437
|
.object({
|
|
437
|
-
enabled:
|
|
438
|
-
paths:
|
|
438
|
+
enabled: v.boolean().optional(),
|
|
439
|
+
paths: v.array(v.string()).optional(),
|
|
439
440
|
})
|
|
440
441
|
.partial()
|
|
441
442
|
.optional(),
|
|
442
443
|
})
|
|
443
444
|
.partial()
|
|
444
445
|
.optional(),
|
|
445
|
-
workflows:
|
|
446
|
+
workflows: v
|
|
446
447
|
.object({
|
|
447
|
-
discovery:
|
|
448
|
+
discovery: v
|
|
448
449
|
.object({
|
|
449
|
-
enabled:
|
|
450
|
-
paths:
|
|
450
|
+
enabled: v.boolean().optional(),
|
|
451
|
+
paths: v.array(v.string()).optional(),
|
|
451
452
|
})
|
|
452
453
|
.partial()
|
|
453
454
|
.optional(),
|
|
454
455
|
})
|
|
455
456
|
.partial()
|
|
456
457
|
.optional(),
|
|
457
|
-
tasks:
|
|
458
|
+
tasks: v
|
|
458
459
|
.object({
|
|
459
|
-
discovery:
|
|
460
|
+
discovery: v
|
|
460
461
|
.object({
|
|
461
|
-
enabled:
|
|
462
|
-
paths:
|
|
462
|
+
enabled: v.boolean().optional(),
|
|
463
|
+
paths: v.array(v.string()).optional(),
|
|
463
464
|
})
|
|
464
465
|
.partial()
|
|
465
466
|
.optional(),
|
|
466
467
|
})
|
|
467
468
|
.partial()
|
|
468
469
|
.optional(),
|
|
469
|
-
mcp:
|
|
470
|
+
mcp: v
|
|
470
471
|
.object({
|
|
471
|
-
enabled:
|
|
472
|
-
port:
|
|
473
|
-
expose:
|
|
472
|
+
enabled: v.boolean().optional(),
|
|
473
|
+
port: v.number().optional(),
|
|
474
|
+
expose: v.array(v.string()).optional(),
|
|
474
475
|
})
|
|
475
476
|
.partial()
|
|
476
477
|
.optional(),
|
|
477
478
|
})
|
|
478
479
|
.partial()
|
|
479
480
|
.optional(),
|
|
480
|
-
client:
|
|
481
|
+
client: v
|
|
481
482
|
.object({
|
|
482
483
|
/** How to resolve veryfront client modules in browser */
|
|
483
|
-
moduleResolution:
|
|
484
|
+
moduleResolution: v.enum(["cdn", "self-hosted", "bundled"]).optional(),
|
|
484
485
|
/** CDN options when moduleResolution is 'cdn' */
|
|
485
|
-
cdn:
|
|
486
|
+
cdn: v
|
|
486
487
|
.object({
|
|
487
|
-
provider:
|
|
488
|
+
provider: v.enum(["esm.sh", "unpkg", "jsdelivr"]).optional(),
|
|
488
489
|
/** 'auto' detects from package.json, or pin specific versions */
|
|
489
|
-
versions:
|
|
490
|
+
versions: v
|
|
490
491
|
.union([
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
react:
|
|
494
|
-
veryfront:
|
|
492
|
+
v.literal("auto"),
|
|
493
|
+
v.object({
|
|
494
|
+
react: v.string().optional(),
|
|
495
|
+
veryfront: v.string().optional(),
|
|
495
496
|
}),
|
|
496
497
|
])
|
|
497
498
|
.optional(),
|
|
@@ -502,44 +503,44 @@ export const veryfrontConfigSchema = z
|
|
|
502
503
|
.partial()
|
|
503
504
|
.optional(),
|
|
504
505
|
/** CLI generate command preferences */
|
|
505
|
-
generate:
|
|
506
|
+
generate: v
|
|
506
507
|
.object({
|
|
507
508
|
/** Preferred router for generated pages */
|
|
508
|
-
preferredRouter:
|
|
509
|
+
preferredRouter: v.enum(["app-router", "pages-router"]).optional(),
|
|
509
510
|
})
|
|
510
511
|
.partial()
|
|
511
512
|
.optional(),
|
|
512
|
-
tailwind:
|
|
513
|
+
tailwind: v
|
|
513
514
|
.object({
|
|
514
515
|
/** Path to the global stylesheet (default: "globals.css") */
|
|
515
|
-
stylesheet:
|
|
516
|
+
stylesheet: v.string().optional(),
|
|
516
517
|
/** Enable built-in Tailwind CDN plugins (forms, typography, aspect-ratio, container-queries) */
|
|
517
|
-
plugins:
|
|
518
|
+
plugins: v.array(v.enum(["forms", "typography", "aspect-ratio", "container-queries"]))
|
|
518
519
|
.optional(),
|
|
519
520
|
/** Extend the Tailwind theme (merged with veryfront defaults) */
|
|
520
|
-
theme:
|
|
521
|
+
theme: v
|
|
521
522
|
.object({
|
|
522
|
-
extend:
|
|
523
|
+
extend: v.record(v.string(), v.unknown()).optional(),
|
|
523
524
|
})
|
|
524
525
|
.partial()
|
|
525
526
|
.optional(),
|
|
526
527
|
/** Custom CSS content to add (for @layer, @apply directives, etc.) */
|
|
527
|
-
customCSS:
|
|
528
|
+
customCSS: v.string().optional(),
|
|
528
529
|
})
|
|
529
530
|
.partial()
|
|
530
531
|
.optional(),
|
|
531
532
|
/** Third-party integration configuration (e.g., Slack, GitHub) */
|
|
532
|
-
integrations:
|
|
533
|
-
.record(
|
|
533
|
+
integrations: v
|
|
534
|
+
.record(v.string(), v
|
|
534
535
|
.object({
|
|
535
536
|
/** Token scope: "project" (shared) or "endUser" (per-end-user OAuth). */
|
|
536
|
-
scope:
|
|
537
|
+
scope: v.enum(["project", "endUser"]).optional(),
|
|
537
538
|
/** @deprecated Use `scope: "endUser"` instead. */
|
|
538
|
-
perUser:
|
|
539
|
+
perUser: v.boolean().optional(),
|
|
539
540
|
/** Allowlist of tool IDs to expose. When set, only these tools are registered.
|
|
540
541
|
* This keeps the MCP context narrow by excluding unused tools.
|
|
541
542
|
* @example ["list-issues", "create-issue"] */
|
|
542
|
-
tools:
|
|
543
|
+
tools: v.array(v.string()).optional(),
|
|
543
544
|
})
|
|
544
545
|
.partial()
|
|
545
546
|
.optional())
|
|
@@ -551,44 +552,44 @@ export const veryfrontConfigSchema = z
|
|
|
551
552
|
* disable directive `{ name, enabled: false }` that vetoes an extension
|
|
552
553
|
* discovered from a lower-priority source. The runtime type is
|
|
553
554
|
* tightened at the `veryfront/extensions` barrel — we keep this as
|
|
554
|
-
* `
|
|
555
|
+
* `v.unknown()` here to avoid pulling the extensions module into the
|
|
555
556
|
* config layer (would introduce a circular import).
|
|
556
557
|
*/
|
|
557
|
-
extensions:
|
|
558
|
+
extensions: v.array(v.unknown()).optional(),
|
|
558
559
|
/** OpenAPI documentation configuration */
|
|
559
|
-
openapi:
|
|
560
|
+
openapi: v
|
|
560
561
|
.object({
|
|
561
562
|
/** Enable OpenAPI endpoint (default: true) */
|
|
562
|
-
enabled:
|
|
563
|
+
enabled: v.boolean().optional(),
|
|
563
564
|
/** Enable interactive docs page using Scalar (default: true) */
|
|
564
|
-
docs:
|
|
565
|
+
docs: v.boolean().optional(),
|
|
565
566
|
/** API title for OpenAPI info section */
|
|
566
|
-
title:
|
|
567
|
+
title: v.string().optional(),
|
|
567
568
|
/** API version (default: "1.0.0") */
|
|
568
|
-
version:
|
|
569
|
+
version: v.string().optional(),
|
|
569
570
|
/** API description */
|
|
570
|
-
description:
|
|
571
|
+
description: v.string().optional(),
|
|
571
572
|
/** Custom path configuration */
|
|
572
|
-
paths:
|
|
573
|
+
paths: v
|
|
573
574
|
.object({
|
|
574
575
|
/** Path for JSON spec (default: "/_openapi.json") */
|
|
575
|
-
json:
|
|
576
|
+
json: v.string().optional(),
|
|
576
577
|
/** Path for YAML spec (default: "/_openapi.yaml") */
|
|
577
|
-
yaml:
|
|
578
|
+
yaml: v.string().optional(),
|
|
578
579
|
/** Path for interactive docs (default: "/_docs") */
|
|
579
|
-
docs:
|
|
580
|
+
docs: v.string().optional(),
|
|
580
581
|
})
|
|
581
582
|
.partial()
|
|
582
583
|
.optional(),
|
|
583
584
|
/** MCP integration configuration */
|
|
584
|
-
mcp:
|
|
585
|
+
mcp: v
|
|
585
586
|
.object({
|
|
586
587
|
/** Expose OpenAPI spec as MCP resource at openapi://spec (default: true) */
|
|
587
|
-
resource:
|
|
588
|
+
resource: v.boolean().optional(),
|
|
588
589
|
/** Auto-generate MCP tools from API routes (default: true) */
|
|
589
|
-
tools:
|
|
590
|
+
tools: v.boolean().optional(),
|
|
590
591
|
/** Tool naming prefix (default: "api") - tools named as prefix:operationId */
|
|
591
|
-
toolPrefix:
|
|
592
|
+
toolPrefix: v.string().optional(),
|
|
592
593
|
})
|
|
593
594
|
.partial()
|
|
594
595
|
.optional(),
|
|
@@ -596,13 +597,15 @@ export const veryfrontConfigSchema = z
|
|
|
596
597
|
.partial()
|
|
597
598
|
.optional(),
|
|
598
599
|
})
|
|
599
|
-
.partial();
|
|
600
|
+
.partial());
|
|
601
|
+
export const veryfrontConfigSchema = getVeryfrontConfigSchema();
|
|
600
602
|
// Validation function
|
|
601
603
|
export function validateVeryfrontConfig(input) {
|
|
602
|
-
const
|
|
603
|
-
if (
|
|
604
|
-
return
|
|
605
|
-
const
|
|
604
|
+
const result = veryfrontConfigSchema.safeParse(input);
|
|
605
|
+
if (result.success)
|
|
606
|
+
return result.data;
|
|
607
|
+
const issues = result.issues ?? [];
|
|
608
|
+
const first = issues[0];
|
|
606
609
|
const path = first?.path?.length ? first.path.join(".") : "<root>";
|
|
607
610
|
const expected = first?.message ?? String(first);
|
|
608
611
|
const corsHint = path.includes("security.cors")
|
|
@@ -621,10 +624,39 @@ export function validateVeryfrontConfig(input) {
|
|
|
621
624
|
}));
|
|
622
625
|
}
|
|
623
626
|
/**
|
|
624
|
-
*
|
|
625
|
-
*
|
|
627
|
+
* Known top-level keys from the config schema definition.
|
|
628
|
+
* Maintained in sync with the `getVeryfrontConfigSchema` shape above.
|
|
626
629
|
*/
|
|
627
|
-
const knownConfigKeys = new Set(
|
|
630
|
+
const knownConfigKeys = new Set([
|
|
631
|
+
"projectSlug",
|
|
632
|
+
"title",
|
|
633
|
+
"description",
|
|
634
|
+
"react",
|
|
635
|
+
"directories",
|
|
636
|
+
"experimental",
|
|
637
|
+
"router",
|
|
638
|
+
"layout",
|
|
639
|
+
"app",
|
|
640
|
+
"theme",
|
|
641
|
+
"build",
|
|
642
|
+
"cache",
|
|
643
|
+
"dev",
|
|
644
|
+
"resolve",
|
|
645
|
+
"security",
|
|
646
|
+
"middleware",
|
|
647
|
+
"theming",
|
|
648
|
+
"assetPipeline",
|
|
649
|
+
"observability",
|
|
650
|
+
"search",
|
|
651
|
+
"fs",
|
|
652
|
+
"ai",
|
|
653
|
+
"client",
|
|
654
|
+
"generate",
|
|
655
|
+
"tailwind",
|
|
656
|
+
"integrations",
|
|
657
|
+
"extensions",
|
|
658
|
+
"openapi",
|
|
659
|
+
]);
|
|
628
660
|
export function findUnknownTopLevelKeys(input) {
|
|
629
661
|
return Object.keys(input).filter((key) => !knownConfigKeys.has(key));
|
|
630
662
|
}
|