veryfront 0.1.1122 → 0.1.1123
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/deno.js +1 -1
- package/esm/extensions/ext-llm-openai/src/openai-responses-request-builder.d.ts.map +1 -1
- package/esm/extensions/ext-llm-openai/src/openai-responses-request-builder.js +5 -0
- package/esm/src/agent/hosted/child-lifecycle.d.ts.map +1 -1
- package/esm/src/agent/hosted/child-lifecycle.js +1 -12
- package/esm/src/agent/hosted/cloud-agent-chat-execution.d.ts +38 -0
- package/esm/src/agent/hosted/cloud-agent-chat-execution.d.ts.map +1 -0
- package/esm/src/agent/hosted/cloud-agent-chat-execution.js +349 -0
- package/esm/src/agent/hosted/cloud-agent-child-tools.d.ts +80 -0
- package/esm/src/agent/hosted/cloud-agent-child-tools.d.ts.map +1 -0
- package/esm/src/agent/hosted/cloud-agent-child-tools.js +280 -0
- package/esm/src/agent/hosted/cloud-agent-config.d.ts +69 -0
- package/esm/src/agent/hosted/cloud-agent-config.d.ts.map +1 -0
- package/esm/src/agent/hosted/cloud-agent-config.js +129 -0
- package/esm/src/agent/hosted/cloud-agent-paths.d.ts +42 -0
- package/esm/src/agent/hosted/cloud-agent-paths.d.ts.map +1 -0
- package/esm/src/agent/hosted/cloud-agent-paths.js +117 -0
- package/esm/src/agent/hosted/cloud-agent-provider-bootstrap.d.ts +49 -0
- package/esm/src/agent/hosted/cloud-agent-provider-bootstrap.d.ts.map +1 -0
- package/esm/src/agent/hosted/cloud-agent-provider-bootstrap.js +96 -0
- package/esm/src/agent/hosted/durable-child-fork-execution.d.ts.map +1 -1
- package/esm/src/agent/hosted/durable-child-fork-execution.js +1 -12
- package/esm/src/agent/hosted/runtime-request-config.js +2 -2
- package/esm/src/agent/hosted/stream-finalization.d.ts.map +1 -1
- package/esm/src/agent/hosted/stream-finalization.js +2 -26
- package/esm/src/agent/hosted/veryfront-cloud-agent-service.d.ts +11 -93
- package/esm/src/agent/hosted/veryfront-cloud-agent-service.d.ts.map +1 -1
- package/esm/src/agent/hosted/veryfront-cloud-agent-service.js +8 -901
- package/esm/src/agent/project/agent-runtime.d.ts.map +1 -1
- package/esm/src/agent/project/agent-runtime.js +3 -0
- package/esm/src/agent/runtime/chat-stream-handler.d.ts.map +1 -1
- package/esm/src/agent/runtime/chat-stream-handler.js +1 -28
- package/esm/src/agent/streaming/stream-outcome.d.ts +30 -0
- package/esm/src/agent/streaming/stream-outcome.d.ts.map +1 -0
- package/esm/src/agent/streaming/stream-outcome.js +62 -0
- package/esm/src/agent/types.d.ts +3 -0
- package/esm/src/agent/types.d.ts.map +1 -1
- package/esm/src/eval/studio.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 +4 -2
- package/esm/src/modules/server/classify.d.ts +54 -0
- package/esm/src/modules/server/classify.d.ts.map +1 -0
- package/esm/src/modules/server/classify.js +50 -0
- package/esm/src/modules/server/fs-probe.d.ts +14 -0
- package/esm/src/modules/server/fs-probe.d.ts.map +1 -0
- package/esm/src/modules/server/fs-probe.js +17 -0
- package/esm/src/modules/server/module-batch-handler.d.ts.map +1 -1
- package/esm/src/modules/server/module-batch-handler.js +31 -45
- package/esm/src/modules/server/module-server.d.ts.map +1 -1
- package/esm/src/modules/server/module-server.js +77 -93
- package/esm/src/modules/server/module-transform.d.ts +73 -0
- package/esm/src/modules/server/module-transform.d.ts.map +1 -0
- package/esm/src/modules/server/module-transform.js +64 -0
- package/esm/src/modules/server/ssr-import-rewriter.d.ts +1 -1
- package/esm/src/modules/server/ssr-import-rewriter.d.ts.map +1 -1
- package/esm/src/observability/error-collector.d.ts.map +1 -1
- package/esm/src/observability/error-collector.js +4 -11
- package/esm/src/observability/log-buffer.d.ts.map +1 -1
- package/esm/src/observability/log-buffer.js +4 -11
- package/esm/src/observability/request-profiler.d.ts +4 -0
- package/esm/src/observability/request-profiler.d.ts.map +1 -1
- package/esm/src/observability/request-profiler.js +9 -4
- package/esm/src/proxy/server-timing.d.ts.map +1 -1
- package/esm/src/proxy/server-timing.js +2 -14
- package/esm/src/react/components/chat/agent-card.d.ts +2 -3
- package/esm/src/react/components/chat/agent-card.d.ts.map +1 -1
- package/esm/src/react/components/chat/agent-card.js +3 -12
- package/esm/src/react/components/chat/agent-picker-context.d.ts +2 -3
- package/esm/src/react/components/chat/agent-picker-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/agent-picker-context.js +3 -13
- package/esm/src/react/components/chat/chat/components/attachment-pill.d.ts +2 -6
- package/esm/src/react/components/chat/chat/components/attachment-pill.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/attachment-pill.js +3 -15
- package/esm/src/react/components/chat/chat/components/attachments-panel.d.ts +2 -12
- package/esm/src/react/components/chat/chat/components/attachments-panel.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/attachments-panel.js +3 -21
- package/esm/src/react/components/chat/chat/components/branch-picker.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/branch-picker.js +2 -11
- package/esm/src/react/components/chat/chat/components/inline-citation.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/inline-citation.js +2 -11
- package/esm/src/react/components/chat/chat/components/message-actions.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/message-actions.js +2 -11
- package/esm/src/react/components/chat/chat/components/message-feedback.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/message-feedback.js +2 -11
- package/esm/src/react/components/chat/chat/components/reasoning.d.ts +2 -3
- package/esm/src/react/components/chat/chat/components/reasoning.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/reasoning.js +3 -12
- package/esm/src/react/components/chat/chat/components/sidebar.d.ts +2 -3
- package/esm/src/react/components/chat/chat/components/sidebar.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/sidebar.js +4 -22
- package/esm/src/react/components/chat/chat/components/sources.d.ts +2 -3
- package/esm/src/react/components/chat/chat/components/sources.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/sources.js +3 -12
- package/esm/src/react/components/chat/chat/components/step-indicator.d.ts +2 -6
- package/esm/src/react/components/chat/chat/components/step-indicator.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/step-indicator.js +3 -15
- package/esm/src/react/components/chat/chat/components/tool-ui.d.ts +2 -3
- package/esm/src/react/components/chat/chat/components/tool-ui.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/tool-ui.js +3 -12
- package/esm/src/react/components/chat/chat/composition/chat-message-list.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-message-list.js +2 -11
- package/esm/src/react/components/chat/chat/contexts/chat-context.d.ts +2 -2
- package/esm/src/react/components/chat/chat/contexts/chat-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/chat-context.js +3 -12
- package/esm/src/react/components/chat/chat/contexts/composer-context.d.ts +2 -2
- package/esm/src/react/components/chat/chat/contexts/composer-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/composer-context.js +3 -12
- package/esm/src/react/components/chat/chat/contexts/conversations-context.d.ts +2 -2
- package/esm/src/react/components/chat/chat/contexts/conversations-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/conversations-context.js +3 -12
- package/esm/src/react/components/chat/chat/contexts/message-context.d.ts +2 -2
- package/esm/src/react/components/chat/chat/contexts/message-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/message-context.js +3 -12
- package/esm/src/react/components/chat/chat-actions.d.ts +2 -6
- package/esm/src/react/components/chat/chat-actions.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat-actions.js +3 -15
- package/esm/src/react/components/chat/model-selector.d.ts +2 -6
- package/esm/src/react/components/chat/model-selector.d.ts.map +1 -1
- package/esm/src/react/components/chat/model-selector.js +3 -15
- package/esm/src/react/components/create-strict-context.d.ts +44 -0
- package/esm/src/react/components/create-strict-context.d.ts.map +1 -0
- package/esm/src/react/components/create-strict-context.js +56 -0
- package/esm/src/react/components/ui/app-shell.d.ts +2 -2
- package/esm/src/react/components/ui/app-shell.d.ts.map +1 -1
- package/esm/src/react/components/ui/app-shell.js +3 -7
- package/esm/src/react/components/ui/color-mode.d.ts +2 -2
- package/esm/src/react/components/ui/color-mode.d.ts.map +1 -1
- package/esm/src/react/components/ui/color-mode.js +3 -11
- package/esm/src/react/components/ui/command.d.ts.map +1 -1
- package/esm/src/react/components/ui/command.js +2 -7
- package/esm/src/react/components/ui/select.d.ts.map +1 -1
- package/esm/src/react/components/ui/select.js +2 -7
- package/esm/src/react/components/ui/tabs.d.ts.map +1 -1
- package/esm/src/react/components/ui/tabs.js +3 -4
- package/esm/src/runs/schemas.d.ts +9 -9
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.js +79 -106
- package/esm/src/server/reload-notifier.d.ts +0 -1
- package/esm/src/server/reload-notifier.d.ts.map +1 -1
- package/esm/src/server/reload-notifier.js +7 -25
- package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.js +1 -1
- package/esm/src/utils/base64url.d.ts +9 -1
- package/esm/src/utils/base64url.d.ts.map +1 -1
- package/esm/src/utils/base64url.js +25 -11
- package/esm/src/utils/index.d.ts +2 -1
- package/esm/src/utils/index.d.ts.map +1 -1
- package/esm/src/utils/index.js +2 -1
- package/esm/src/utils/subscriber-set.d.ts +19 -0
- package/esm/src/utils/subscriber-set.d.ts.map +1 -0
- package/esm/src/utils/subscriber-set.js +38 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/claude-code/websocket-publisher.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/websocket-publisher.js +8 -15
- package/esm/src/workflow/schemas/workflow.schema.d.ts +4 -4
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/project/agent-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAKhE,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAKzE,OAAO,KAAK,EACV,8BAA8B,EAE/B,MAAM,gCAAgC,CAAC;AAKxC,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,aAAa,CAAC;AACtD,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,qCAAqC,CAAC;AAO7C,kEAAkE;AAClE,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1E,yEAAyE;AACzE,MAAM,MAAM,oCAAoC,GAAG;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,gCAAgC,GAAG;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yFAAyF;IACzF,uBAAuB,CAAC,EAAE,+BAA+B,CAAC;CAC3D,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,4BAA4B,GAAG,eAAe,GAAG;IAC3D,uBAAuB,EAAE,+BAA+B,CAAC;CAC1D,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAAE,yBAAyB,CAAC,EACtE,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAEH;AA8CD,8CAA8C;AAC9C,wBAAgB,kCAAkC,IAAI,IAAI,CAMzD;AAED,6CAA6C;AAC7C,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,4BAA4B,CAAC,CA+BvC;AAED,4DAA4D;AAC5D,wBAAgB,uCAAuC,CACrD,YAAY,EAAE,KAAK,EACnB,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAOT;AAED,kDAAkD;AAClD,wBAAsB,qCAAqC,CACzD,YAAY,EAAE,KAAK,GAClB,OAAO,CAAC,8BAA8B,CAAC,
|
|
1
|
+
{"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/project/agent-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAKhE,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAKzE,OAAO,KAAK,EACV,8BAA8B,EAE/B,MAAM,gCAAgC,CAAC;AAKxC,OAAO,KAAK,EAAE,KAAK,EAAe,MAAM,aAAa,CAAC;AACtD,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,qCAAqC,CAAC;AAO7C,kEAAkE;AAClE,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1E,yEAAyE;AACzE,MAAM,MAAM,oCAAoC,GAAG;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,wDAAwD;AACxD,MAAM,MAAM,gCAAgC,GAAG;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,MAAM,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yFAAyF;IACzF,uBAAuB,CAAC,EAAE,+BAA+B,CAAC;CAC3D,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,4BAA4B,GAAG,eAAe,GAAG;IAC3D,uBAAuB,EAAE,+BAA+B,CAAC;CAC1D,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,OAAO,EAAE,IAAI,CAAC,4BAA4B,EAAE,yBAAyB,CAAC,EACtE,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAEH;AA8CD,8CAA8C;AAC9C,wBAAgB,kCAAkC,IAAI,IAAI,CAMzD;AAED,6CAA6C;AAC7C,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,4BAA4B,CAAC,CA+BvC;AAED,4DAA4D;AAC5D,wBAAgB,uCAAuC,CACrD,YAAY,EAAE,KAAK,EACnB,MAAM,EAAE,8BAA8B,GACrC,OAAO,CAOT;AAED,kDAAkD;AAClD,wBAAsB,qCAAqC,CACzD,YAAY,EAAE,KAAK,GAClB,OAAO,CAAC,8BAA8B,CAAC,CAkCzC;AAED,wDAAwD;AACxD,wBAAgB,uCAAuC,CACrD,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG,IAAI,GAAG,SAAS,GAClE,oCAAoC,CAgBtC;AAED,iEAAiE;AACjE,wBAAgB,4CAA4C,CAC1D,KAAK,EAAE,oCAAoC,GAC1C,MAAM,CAKR;AAED,sDAAsD;AACtD,wBAAgB,uCAAuC,CAAC,KAAK,EAAE;IAC7D,UAAU,EAAE,oCAAoC,CAAC;IACjD,MAAM,EAAE,8BAA8B,CAAC;CACxC,GAAG,MAAM,GAAG,IAAI,CAiBhB"}
|
|
@@ -105,6 +105,9 @@ export async function createRuntimeAgentDefinitionFromAgent(runtimeAgent) {
|
|
|
105
105
|
...(runtimeAgent.config.temperature === undefined
|
|
106
106
|
? {}
|
|
107
107
|
: { temperature: runtimeAgent.config.temperature }),
|
|
108
|
+
...(runtimeAgent.config.thinking === undefined
|
|
109
|
+
? {}
|
|
110
|
+
: { thinking: runtimeAgent.config.thinking }),
|
|
108
111
|
maxSteps: runtimeAgent.config.maxSteps,
|
|
109
112
|
...(runtimeAgent.config.providerTools
|
|
110
113
|
? { providerTools: runtimeAgent.config.providerTools }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-stream-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/chat-stream-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAqB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-stream-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/chat-stream-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAqB,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAqCtF,KAAK,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACzD,KAAK,mBAAmB,GAAG,uBAAuB,GAAG,SAAS,uBAAuB,EAAE,CAAC;AAExF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,sBAAsB,EAAE,CAAC;IACzC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC1C,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,mBAAmB,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpD,KAAK,EAAE;QACL,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;QAC/C,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;QACpC,kBAAkB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;KACzD,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;QAC/C,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;QACpC,kBAAkB,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;KACzD,KAAK,IAAI,CAAC;IACX,yBAAyB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9C,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACvD;AAuBD,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAevE;AA+HD,wBAAgB,iBAAiB,IAAI,eAAe,CAUnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,+BAA+B,EAC3C,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,SAAS,CAAC,EAAE,mBAAmB,EAC/B,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,IAAI,CAAC,CAuuBf"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import { sendSSE } from "./sse-utils.js";
|
|
11
11
|
import { mergeToolCallInput, mergeToolInputDelta, parseToolInputObject, stripLeadingEmptyObjectPlaceholder, } from "../streaming/data-stream.js";
|
|
12
12
|
import { isDynamicTool } from "./tool-helpers.js";
|
|
13
|
+
import { getStreamErrorMessage, hasCompletedStepSignal, isLateProviderBodyReadError, } from "../streaming/stream-outcome.js";
|
|
13
14
|
import { serverLogger } from "../../utils/index.js";
|
|
14
15
|
import { isAnyDebugEnabled } from "../../utils/constants/env.js";
|
|
15
16
|
import { setActiveSpanAttributes, SpanKind } from "../../observability/index.js";
|
|
@@ -94,34 +95,6 @@ function logProviderToolPart(partType, part) {
|
|
|
94
95
|
input: summarizeProviderToolDebugValue(part.input),
|
|
95
96
|
});
|
|
96
97
|
}
|
|
97
|
-
function getStreamErrorMessage(error) {
|
|
98
|
-
if (error instanceof Error) {
|
|
99
|
-
return error.message;
|
|
100
|
-
}
|
|
101
|
-
if (typeof error === "string") {
|
|
102
|
-
return error;
|
|
103
|
-
}
|
|
104
|
-
if (typeof error === "object" && error !== null && "message" in error &&
|
|
105
|
-
typeof error.message === "string") {
|
|
106
|
-
return error.message;
|
|
107
|
-
}
|
|
108
|
-
return String(error);
|
|
109
|
-
}
|
|
110
|
-
function isLateProviderBodyReadError(error) {
|
|
111
|
-
return /error reading a body from connection/i.test(getStreamErrorMessage(error));
|
|
112
|
-
}
|
|
113
|
-
function hasCompletedStepSignal(finishReason) {
|
|
114
|
-
switch (finishReason) {
|
|
115
|
-
case "stop":
|
|
116
|
-
case "length":
|
|
117
|
-
case "tool-calls":
|
|
118
|
-
case "content-filter":
|
|
119
|
-
case "other":
|
|
120
|
-
return true;
|
|
121
|
-
default:
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
98
|
function hasStreamOutput(state) {
|
|
126
99
|
return state.accumulatedText.length > 0 || state.toolCalls.size > 0 ||
|
|
127
100
|
state.toolResults.length > 0;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stream Outcome: the single place that interprets how a provider stream ended.
|
|
3
|
+
*
|
|
4
|
+
* Both the runtime layer (which starts streams) and the hosted layer (which
|
|
5
|
+
* finishes them) need to answer the same questions: what error message does a
|
|
6
|
+
* thrown value carry, was it the late body-read failure, did the final step
|
|
7
|
+
* complete, and does the error map to a known terminal provider error. Before
|
|
8
|
+
* this module those answers were byte-identical private copies on both sides
|
|
9
|
+
* of the runtime/hosted boundary with nothing keeping them in sync.
|
|
10
|
+
*/
|
|
11
|
+
/** Extract a human-readable message from any value a provider stream can throw. */
|
|
12
|
+
export declare function getStreamErrorMessage(error: unknown): string;
|
|
13
|
+
/**
|
|
14
|
+
* True for the "error reading a body from connection" failure some providers
|
|
15
|
+
* raise after all output has already streamed. Treated as a completed stream
|
|
16
|
+
* when output and a completion signal are present.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isLateProviderBodyReadError(error: unknown): boolean;
|
|
19
|
+
/** True when the provider finish reason marks a completed step. */
|
|
20
|
+
export declare function hasCompletedStepSignal(finishReason: string | null): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Map a thrown provider error to a terminal `{code, message}` pair, or null
|
|
23
|
+
* for the generic "LLM provider service error" (which callers treat as
|
|
24
|
+
* unknown/retryable rather than terminal).
|
|
25
|
+
*/
|
|
26
|
+
export declare function resolveKnownProviderTerminalError(error: unknown): {
|
|
27
|
+
code: string;
|
|
28
|
+
message: string;
|
|
29
|
+
} | null;
|
|
30
|
+
//# sourceMappingURL=stream-outcome.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream-outcome.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/streaming/stream-outcome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,mFAAmF;AACnF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAiB5D;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEnE;AAED,mEAAmE;AACnE,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAW3E;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAaP"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stream Outcome: the single place that interprets how a provider stream ended.
|
|
3
|
+
*
|
|
4
|
+
* Both the runtime layer (which starts streams) and the hosted layer (which
|
|
5
|
+
* finishes them) need to answer the same questions: what error message does a
|
|
6
|
+
* thrown value carry, was it the late body-read failure, did the final step
|
|
7
|
+
* complete, and does the error map to a known terminal provider error. Before
|
|
8
|
+
* this module those answers were byte-identical private copies on both sides
|
|
9
|
+
* of the runtime/hosted boundary with nothing keeping them in sync.
|
|
10
|
+
*/
|
|
11
|
+
import { parseProviderError } from "../../chat/provider-errors.js";
|
|
12
|
+
/** Extract a human-readable message from any value a provider stream can throw. */
|
|
13
|
+
export function getStreamErrorMessage(error) {
|
|
14
|
+
if (error instanceof Error) {
|
|
15
|
+
return error.message;
|
|
16
|
+
}
|
|
17
|
+
if (typeof error === "string") {
|
|
18
|
+
return error;
|
|
19
|
+
}
|
|
20
|
+
if (typeof error === "object" && error !== null && "message" in error &&
|
|
21
|
+
typeof error.message === "string") {
|
|
22
|
+
return error.message;
|
|
23
|
+
}
|
|
24
|
+
return String(error);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* True for the "error reading a body from connection" failure some providers
|
|
28
|
+
* raise after all output has already streamed. Treated as a completed stream
|
|
29
|
+
* when output and a completion signal are present.
|
|
30
|
+
*/
|
|
31
|
+
export function isLateProviderBodyReadError(error) {
|
|
32
|
+
return /error reading a body from connection/i.test(getStreamErrorMessage(error));
|
|
33
|
+
}
|
|
34
|
+
/** True when the provider finish reason marks a completed step. */
|
|
35
|
+
export function hasCompletedStepSignal(finishReason) {
|
|
36
|
+
switch (finishReason) {
|
|
37
|
+
case "stop":
|
|
38
|
+
case "length":
|
|
39
|
+
case "tool-calls":
|
|
40
|
+
case "content-filter":
|
|
41
|
+
case "other":
|
|
42
|
+
return true;
|
|
43
|
+
default:
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Map a thrown provider error to a terminal `{code, message}` pair, or null
|
|
49
|
+
* for the generic "LLM provider service error" (which callers treat as
|
|
50
|
+
* unknown/retryable rather than terminal).
|
|
51
|
+
*/
|
|
52
|
+
export function resolveKnownProviderTerminalError(error) {
|
|
53
|
+
const parsedError = parseProviderError(error);
|
|
54
|
+
if (parsedError.code === "EXTERNAL_SERVICE_ERROR" &&
|
|
55
|
+
parsedError.message === "LLM provider service error") {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
return {
|
|
59
|
+
code: parsedError.code,
|
|
60
|
+
message: parsedError.message,
|
|
61
|
+
};
|
|
62
|
+
}
|
package/esm/src/agent/types.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import type { Tool, ToolExecutionContext } from "../tool/index.js";
|
|
|
6
6
|
import type { Memory } from "./memory/memory-interface.js";
|
|
7
7
|
export type { AgentContext, AgentResponse, AgentStatus, EdgeConfig, MemoryConfig, Message, MessagePart, ModelProvider, StreamToolCall, ToolCall, ToolCallPart, ToolCallPartWithArgs, ToolCallPartWithInput, ToolResultPart, } from "./schemas/index.js";
|
|
8
8
|
import type { Message, MessagePart, ToolCall, ToolCallPart, ToolCallPartWithArgs, ToolCallPartWithInput } from "./schemas/index.js";
|
|
9
|
+
import type { RuntimeAgentThinkingConfig } from "./runtime/agent-definition.js";
|
|
9
10
|
/**
|
|
10
11
|
* Model configuration string format: "provider/model-name"
|
|
11
12
|
* Examples: "openai/gpt-4", "anthropic/claude-3-5-sonnet"
|
|
@@ -125,6 +126,8 @@ export interface AgentConfig {
|
|
|
125
126
|
maxSteps?: number;
|
|
126
127
|
/** Sampling temperature for model generation. Defaults to 0. */
|
|
127
128
|
temperature?: number;
|
|
129
|
+
/** Provider-neutral reasoning / thinking configuration for hosted runtimes. */
|
|
130
|
+
thinking?: RuntimeAgentThinkingConfig;
|
|
128
131
|
streaming?: boolean;
|
|
129
132
|
/**
|
|
130
133
|
* Conversation memory persisted across `stream()` / `generate()` calls on this
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/agent/types.ts"],"names":[],"mappings":"AAAA;;4BAE4B;AAE5B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAG3D,YAAY,EACV,YAAY,EACZ,aAAa,EACb,WAAW,EACX,UAAU,EACV,YAAY,EACZ,OAAO,EACP,WAAW,EACX,aAAa,EACb,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/agent/types.ts"],"names":[],"mappings":"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"}
|
package/esm/src/eval/studio.d.ts
CHANGED
|
@@ -206,7 +206,7 @@ export declare const getEvalRunSchema: () => import("../internal-agents/schema.j
|
|
|
206
206
|
kind: import("../internal-agents/schema.js").Schema<"eval-run">;
|
|
207
207
|
runId: import("../internal-agents/schema.js").Schema<string>;
|
|
208
208
|
evalId: import("../internal-agents/schema.js").Schema<string>;
|
|
209
|
-
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "
|
|
209
|
+
status: import("../internal-agents/schema.js").Schema<"waiting" | "failed" | "completed" | "pending" | "cancelled" | "running">;
|
|
210
210
|
targetKind: import("../internal-agents/schema.js").Schema<"agent" | "tool">;
|
|
211
211
|
target: import("../internal-agents/schema.js").Schema<string>;
|
|
212
212
|
source: import("../internal-agents/schema.js").Schema<import("../extensions/schema/schema-validator.js").InferShape<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../../../src/src/html/styles-builder/plugin-loader.ts"],"names":[],"mappings":"AA6EA;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBpE;
|
|
1
|
+
{"version":3,"file":"plugin-loader.d.ts","sourceRoot":"","sources":["../../../../src/src/html/styles-builder/plugin-loader.ts"],"names":[],"mappings":"AA6EA;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAiBpE;AAoCD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA6D/E;AAED,wBAAsB,UAAU,CAC9B,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAC/B,OAAO,CAAC,OAAO,CAAC,CAsClB"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module html/styles-builder/plugin-loader
|
|
8
8
|
*/
|
|
9
9
|
import * as dntShim from "../../../_dnt.shims.js";
|
|
10
|
-
import {
|
|
10
|
+
import { encodeBase64Bytes, serverLogger } from "../../utils/index.js";
|
|
11
11
|
import { getErrorBySlug, IMPORT_RESOLUTION_ERROR, NETWORK_ERROR, SECURITY_VIOLATION, VeryfrontError, } from "../../errors/index.js";
|
|
12
12
|
import { getTailwindPluginBundleUrl } from "../../build/binary-plugin-includes.js";
|
|
13
13
|
import { getDenoRuntime, isDeno } from "../../platform/compat/runtime.js";
|
|
@@ -71,7 +71,9 @@ export function rewriteEsmShRootRelativeImports(code) {
|
|
|
71
71
|
}
|
|
72
72
|
async function importBundledModule(code) {
|
|
73
73
|
if (!isDeno) {
|
|
74
|
-
|
|
74
|
+
// Encode as UTF-8 bytes: the data: URL importer decodes UTF-8, and btoa on
|
|
75
|
+
// the raw string would emit Latin-1 bytes for chars in [0x80, 0xFF].
|
|
76
|
+
const dataUrl = `data:text/javascript;base64,${encodeBase64Bytes(new TextEncoder().encode(code))}`;
|
|
75
77
|
return await import(dataUrl);
|
|
76
78
|
}
|
|
77
79
|
const deno = getDenoRuntime();
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module Request Classification
|
|
3
|
+
*
|
|
4
|
+
* Classifies incoming module request URLs into a discriminated union, moving
|
|
5
|
+
* the four URL-pattern regexes out of `serveModule` and providing a single
|
|
6
|
+
* pure function that callers can switch on.
|
|
7
|
+
*
|
|
8
|
+
* @module modules/server/classify
|
|
9
|
+
*/
|
|
10
|
+
/** Prefix for dev-module URLs; exported for path stripping in module-server. */
|
|
11
|
+
export declare const DEV_MODULE_PREFIX: RegExp;
|
|
12
|
+
/** URL does not start with any module prefix — not a module request. */
|
|
13
|
+
export interface NotModuleKind {
|
|
14
|
+
kind: "not-module";
|
|
15
|
+
}
|
|
16
|
+
/** A compiled snippet module identified by its content hash. */
|
|
17
|
+
export interface SnippetKind {
|
|
18
|
+
kind: "snippet";
|
|
19
|
+
/** Hex hash of the snippet source. */
|
|
20
|
+
hash: string;
|
|
21
|
+
}
|
|
22
|
+
/** A cross-project import pinned to a specific semver / range version. */
|
|
23
|
+
export interface CrossProjectVersionedKind {
|
|
24
|
+
kind: "cross-project-versioned";
|
|
25
|
+
slug: string;
|
|
26
|
+
version: string;
|
|
27
|
+
path: string;
|
|
28
|
+
}
|
|
29
|
+
/** A cross-project import resolved to the latest published version. */
|
|
30
|
+
export interface CrossProjectLatestKind {
|
|
31
|
+
kind: "cross-project-latest";
|
|
32
|
+
slug: string;
|
|
33
|
+
path: string;
|
|
34
|
+
}
|
|
35
|
+
/** A regular project dev-module (including framework modules). */
|
|
36
|
+
export interface DevModuleKind {
|
|
37
|
+
kind: "dev-module";
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Discriminated union of all recognised module URL shapes.
|
|
41
|
+
*
|
|
42
|
+
* Switch on `kind` to dispatch to the appropriate handler.
|
|
43
|
+
*/
|
|
44
|
+
export type ModuleRequestKind = NotModuleKind | SnippetKind | CrossProjectVersionedKind | CrossProjectLatestKind | DevModuleKind;
|
|
45
|
+
/**
|
|
46
|
+
* Classify a module request URL into one of the known module kinds.
|
|
47
|
+
*
|
|
48
|
+
* This is a pure function — it performs no I/O and has no side-effects.
|
|
49
|
+
*
|
|
50
|
+
* @param url - The parsed request URL.
|
|
51
|
+
* @returns A `ModuleRequestKind` discriminated union.
|
|
52
|
+
*/
|
|
53
|
+
export declare function classifyModuleRequest(url: URL): ModuleRequestKind;
|
|
54
|
+
//# sourceMappingURL=classify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"classify.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/classify.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,QAA6C,CAAC;AAO5E,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,0EAA0E;AAC1E,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,yBAAyB,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,WAAW,GACX,yBAAyB,GACzB,sBAAsB,GACtB,aAAa,CAAC;AAElB;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,GAAG,iBAAiB,CA8BjE"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Module Request Classification
|
|
3
|
+
*
|
|
4
|
+
* Classifies incoming module request URLs into a discriminated union, moving
|
|
5
|
+
* the four URL-pattern regexes out of `serveModule` and providing a single
|
|
6
|
+
* pure function that callers can switch on.
|
|
7
|
+
*
|
|
8
|
+
* @module modules/server/classify
|
|
9
|
+
*/
|
|
10
|
+
/** Prefix for dev-module URLs; exported for path stripping in module-server. */
|
|
11
|
+
export const DEV_MODULE_PREFIX = /^\/(?:_vf_modules|_veryfront\/modules)\//;
|
|
12
|
+
const SNIPPET_MODULE_PREFIX = /^\/_vf_modules\/_snippets\/([a-f0-9]+)\.js/;
|
|
13
|
+
// Cross-project import patterns: /_vf_modules/_cross/<slug>[@<version>]/@/<path>
|
|
14
|
+
const CROSS_PROJECT_VERSIONED_PREFIX = /^\/_vf_modules\/_cross\/([a-z0-9-]+)@([\d^~x][\d.x^~-]*)\/\@\/(.+)$/;
|
|
15
|
+
const CROSS_PROJECT_LATEST_PREFIX = /^\/_vf_modules\/_cross\/([a-z0-9-]+)\/\@\/(.+)$/;
|
|
16
|
+
/**
|
|
17
|
+
* Classify a module request URL into one of the known module kinds.
|
|
18
|
+
*
|
|
19
|
+
* This is a pure function — it performs no I/O and has no side-effects.
|
|
20
|
+
*
|
|
21
|
+
* @param url - The parsed request URL.
|
|
22
|
+
* @returns A `ModuleRequestKind` discriminated union.
|
|
23
|
+
*/
|
|
24
|
+
export function classifyModuleRequest(url) {
|
|
25
|
+
if (!DEV_MODULE_PREFIX.test(url.pathname)) {
|
|
26
|
+
return { kind: "not-module" };
|
|
27
|
+
}
|
|
28
|
+
const snippetMatch = url.pathname.match(SNIPPET_MODULE_PREFIX);
|
|
29
|
+
if (snippetMatch) {
|
|
30
|
+
return { kind: "snippet", hash: snippetMatch[1] ?? "" };
|
|
31
|
+
}
|
|
32
|
+
const versionedMatch = url.pathname.match(CROSS_PROJECT_VERSIONED_PREFIX);
|
|
33
|
+
if (versionedMatch) {
|
|
34
|
+
return {
|
|
35
|
+
kind: "cross-project-versioned",
|
|
36
|
+
slug: versionedMatch[1] ?? "",
|
|
37
|
+
version: versionedMatch[2] ?? "",
|
|
38
|
+
path: versionedMatch[3] ?? "",
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
const latestMatch = url.pathname.match(CROSS_PROJECT_LATEST_PREFIX);
|
|
42
|
+
if (latestMatch) {
|
|
43
|
+
return {
|
|
44
|
+
kind: "cross-project-latest",
|
|
45
|
+
slug: latestMatch[1] ?? "",
|
|
46
|
+
path: latestMatch[2] ?? "",
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return { kind: "dev-module" };
|
|
50
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Minimal stat surface shared by the secure and platform filesystems. */
|
|
2
|
+
interface StatCapableFs {
|
|
3
|
+
stat(path: string): Promise<{
|
|
4
|
+
isFile: boolean;
|
|
5
|
+
}>;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Resolve the first path in `paths` order that exists as a file, or null.
|
|
9
|
+
* All candidates are stat-probed in parallel; order of `paths` decides the
|
|
10
|
+
* winner, not which probe resolves first.
|
|
11
|
+
*/
|
|
12
|
+
export declare function findFirstExistingFile(fs: StatCapableFs, paths: string[]): Promise<string | null>;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=fs-probe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs-probe.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/fs-probe.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,UAAU,aAAa;IACrB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAClD;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,MAAM,EAAE,GACd,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolve the first path in `paths` order that exists as a file, or null.
|
|
3
|
+
* All candidates are stat-probed in parallel; order of `paths` decides the
|
|
4
|
+
* winner, not which probe resolves first.
|
|
5
|
+
*/
|
|
6
|
+
export async function findFirstExistingFile(fs, paths) {
|
|
7
|
+
const results = await Promise.all(paths.map(async (path) => {
|
|
8
|
+
try {
|
|
9
|
+
const stat = await fs.stat(path);
|
|
10
|
+
return stat.isFile ? path : null;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
}));
|
|
16
|
+
return results.find((path) => path !== null) ?? null;
|
|
17
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-batch-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/module-batch-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"module-batch-handler.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/module-batch-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AA4DtE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6K/F;AA8QD;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAc1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAKrE"}
|
|
@@ -17,10 +17,10 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { HTTP_BAD_REQUEST, HTTP_NOT_FOUND, HTTP_OK, MAX_BATCH_SIZE, serverLogger, } from "../../utils/index.js";
|
|
19
19
|
import { createSecureFs } from "../../security/index.js";
|
|
20
|
-
import { transformToESM } from "../../transforms/esm-transform.js";
|
|
21
20
|
import { createFileSystem } from "../../platform/compat/fs.js";
|
|
22
21
|
import { join } from "../../platform/compat/path/index.js";
|
|
23
|
-
import {
|
|
22
|
+
import { resolveSSRImportTargetModulePath, stripSSRModuleJsExtension, } from "./ssr-import-rewriter.js";
|
|
23
|
+
import { transformModuleToServable } from "./module-transform.js";
|
|
24
24
|
import { buildModuleTransformCacheKey } from "../../cache/keys.js";
|
|
25
25
|
import { withSpan } from "../../observability/tracing/otlp-setup.js";
|
|
26
26
|
import { getFrameworkSourceLookupDirs } from "../../platform/compat/framework-source-resolver.js";
|
|
@@ -28,6 +28,7 @@ import { LRUCache } from "../../utils/lru-wrapper.js";
|
|
|
28
28
|
import { registerLRUCache } from "../../cache/index.js";
|
|
29
29
|
import { sha256Short } from "../../cache/hash.js";
|
|
30
30
|
import { buildSourceMissCacheKey, clearSourceMissCache, hasSourceMiss, rememberSourceMiss, } from "./module-source-resolution-cache.js";
|
|
31
|
+
import { findFirstExistingFile } from "./fs-probe.js";
|
|
31
32
|
const logger = serverLogger.component("module-batch");
|
|
32
33
|
/** Slow request threshold in milliseconds */
|
|
33
34
|
const SLOW_REQUEST_THRESHOLD_MS = 500;
|
|
@@ -55,30 +56,6 @@ const FRAMEWORK_EXTENSIONS = [
|
|
|
55
56
|
".jsx",
|
|
56
57
|
".js", // Regular sources for dev mode
|
|
57
58
|
];
|
|
58
|
-
async function findFirstSecureFile(secureFs, paths) {
|
|
59
|
-
const results = await Promise.all(paths.map(async (path) => {
|
|
60
|
-
try {
|
|
61
|
-
const stat = await secureFs.stat(path);
|
|
62
|
-
return stat.isFile ? path : null;
|
|
63
|
-
}
|
|
64
|
-
catch {
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
}));
|
|
68
|
-
return results.find((path) => path !== null) ?? null;
|
|
69
|
-
}
|
|
70
|
-
async function findFirstPlatformFile(platformFs, paths) {
|
|
71
|
-
const results = await Promise.all(paths.map(async (path) => {
|
|
72
|
-
try {
|
|
73
|
-
const stat = await platformFs.stat(path);
|
|
74
|
-
return stat.isFile ? path : null;
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
return null;
|
|
78
|
-
}
|
|
79
|
-
}));
|
|
80
|
-
return results.find((path) => path !== null) ?? null;
|
|
81
|
-
}
|
|
82
59
|
/**
|
|
83
60
|
* Handle a batch module request
|
|
84
61
|
*/
|
|
@@ -231,7 +208,7 @@ async function loadAndTransformModule(modulePath, projectDir, adapter, secureFs,
|
|
|
231
208
|
});
|
|
232
209
|
if (hasSourceMiss(missCacheKey))
|
|
233
210
|
return null;
|
|
234
|
-
const sourcePath = await
|
|
211
|
+
const sourcePath = await findFirstExistingFile(secureFs, EXTENSIONS.map((ext) => join(projectDir, basePath + ext)));
|
|
235
212
|
if (sourcePath) {
|
|
236
213
|
const source = await secureFs.readFile(sourcePath);
|
|
237
214
|
return transformModule(source, sourcePath, modulePath, projectDir, adapter, secureFs, options);
|
|
@@ -243,7 +220,7 @@ async function loadAndTransformModule(modulePath, projectDir, adapter, secureFs,
|
|
|
243
220
|
const frameworkLookupDirs = getFrameworkSourceLookupDirs();
|
|
244
221
|
const platformFs = createFileSystem();
|
|
245
222
|
for (const lookupDir of frameworkLookupDirs) {
|
|
246
|
-
const frameworkPath = await
|
|
223
|
+
const frameworkPath = await findFirstExistingFile(platformFs, FRAMEWORK_EXTENSIONS.map((ext) => join(lookupDir, basePath + ext)));
|
|
247
224
|
if (frameworkPath) {
|
|
248
225
|
const source = await platformFs.readTextFile(frameworkPath);
|
|
249
226
|
return transformModule(source, frameworkPath, modulePath, projectDir, adapter, secureFs, options);
|
|
@@ -253,24 +230,33 @@ async function loadAndTransformModule(modulePath, projectDir, adapter, secureFs,
|
|
|
253
230
|
return null;
|
|
254
231
|
}
|
|
255
232
|
async function transformModule(source, sourceFile, modulePath, projectDir, adapter, secureFs, options) {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
233
|
+
return transformModuleToServable({
|
|
234
|
+
source,
|
|
235
|
+
sourceFile,
|
|
236
|
+
projectDir,
|
|
237
|
+
adapter,
|
|
238
|
+
transformOpts: {
|
|
239
|
+
projectId: options.projectId ?? projectDir,
|
|
240
|
+
dev: options.dev,
|
|
241
|
+
ssr: options.ssr,
|
|
242
|
+
reactVersion: options.reactVersion,
|
|
243
|
+
},
|
|
244
|
+
isSSR: options.ssr,
|
|
245
|
+
ssrRewriteOptions: options.ssr
|
|
246
|
+
? {
|
|
247
|
+
projectSlug: options.projectSlug,
|
|
248
|
+
branch: options.branch,
|
|
249
|
+
resolveCacheBuster: createBatchSSRTargetCacheBusterResolver({
|
|
250
|
+
projectDir,
|
|
251
|
+
secureFs,
|
|
252
|
+
currentModulePath: modulePath,
|
|
253
|
+
}),
|
|
254
|
+
}
|
|
255
|
+
: undefined,
|
|
256
|
+
// No releaseRewriteOptions: the batch handler does not rewrite release
|
|
257
|
+
// dependency imports on the non-SSR path (intentional difference vs
|
|
258
|
+
// the module-server paths; noted in module-transform.ts JSDoc).
|
|
261
259
|
});
|
|
262
|
-
if (options.ssr) {
|
|
263
|
-
code = await applySSRImportRewritesAsync(code, {
|
|
264
|
-
projectSlug: options.projectSlug,
|
|
265
|
-
branch: options.branch,
|
|
266
|
-
resolveCacheBuster: createBatchSSRTargetCacheBusterResolver({
|
|
267
|
-
projectDir,
|
|
268
|
-
secureFs,
|
|
269
|
-
currentModulePath: modulePath,
|
|
270
|
-
}),
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
return code;
|
|
274
260
|
}
|
|
275
261
|
async function readBatchTargetSource(projectDir, secureFs, modulePath) {
|
|
276
262
|
const basePath = stripSSRModuleJsExtension(modulePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-server.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/module-server.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAG5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"module-server.d.ts","sourceRoot":"","sources":["../../../../src/src/modules/server/module-server.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAG5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AA4DtE;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAyDrD,CAAC;AAkEF,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,uBAAuB;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,sDAAsD;AACtD,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA6czF;AAwUD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAGrD;AAiBD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CA8BlE"}
|