eve 0.80.0 → 0.80.1
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/CHANGELOG.md +9 -0
- package/dist/src/compiled/.vendor-stamp.json +3 -3
- package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/adapters/ai-sdk-telemetry.d.ts +2 -2
- package/dist/src/compiled/{@eve/tracing/agent-tracing.d.ts → @vercel/agent-runs/agent-run.d.ts} +3 -3
- package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/index.d.ts +1 -1
- package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/index.js +1 -1
- package/dist/src/compiled/@workflow/world-vercel/index.js +3 -3
- package/dist/src/execution/dynamic-workflow/tool.js +1 -1
- package/dist/src/execution/tools/agent-router-workflow.js +1 -1
- package/dist/src/harness/compaction/engine.js +2 -2
- package/dist/src/harness/compaction/prompt.d.ts +6 -0
- package/dist/src/harness/compaction/prompt.js +1 -1
- package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
- package/dist/src/instrumentation/principal-summary.js +1 -1
- package/dist/src/instrumentation/runtime.d.ts +1 -1
- package/dist/src/instrumentation/runtime.js +1 -1
- package/dist/src/instrumentation/session-init.js +1 -1
- package/dist/src/internal/application/stamped-package-version.js +1 -1
- package/dist/src/internal/authored-package-boundary.d.ts +4 -0
- package/dist/src/internal/authored-package-boundary.js +1 -1
- package/dist/src/internal/bundler/nitro-rolldown.d.ts +2 -2
- package/dist/src/internal/logging.js +1 -1
- package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
- package/dist/src/internal/nitro/host/external-dependency-output-check-plugin.d.ts +23 -0
- package/dist/src/internal/nitro/host/external-dependency-output-check-plugin.js +3 -0
- package/dist/src/internal/nitro/routes/channel-request-instrumentation.js +1 -1
- package/dist/src/runtime/connections/openapi-client.js +1 -1
- package/dist/src/setup/scaffold/create/project.js +1 -1
- package/dist/src/tools/provided/ask-question-workflow.js +1 -1
- package/dist/src/tools/provided/sleep-workflow.js +1 -1
- package/dist/src/tracing/eve/agent-approval-instrumentation.d.ts +2 -2
- package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.js +1 -1
- package/dist/src/tracing/eve/agent-memory-instrumentation.d.ts +2 -2
- package/dist/src/tracing/eve/agent-memory-instrumentation.js +1 -1
- package/dist/src/tracing/eve/agent-otel-provider.d.ts +1 -1
- package/dist/src/tracing/eve/agent-tool-instrumentation.d.ts +3 -3
- package/dist/src/tracing/eve/agent-trace-context.js +1 -1
- package/dist/src/tracing/eve/agent-trace-state.d.ts +1 -1
- package/dist/src/tracing/eve/connection-events.js +1 -1
- package/dist/src/tracing/eve/content-span-processor.js +1 -1
- package/dist/src/tracing/eve/delegation.js +1 -1
- package/dist/src/tracing/eve/gateway.d.ts +1 -1
- package/dist/src/tracing/eve/install-instrumentation-runtime.js +1 -1
- package/dist/src/tracing/eve/invoke-tool-span.js +1 -1
- package/dist/src/tracing/eve/mcp.d.ts +1 -1
- package/dist/src/tracing/eve/mcp.js +1 -1
- package/dist/src/tracing/eve/metadata.d.ts +1 -1
- package/dist/src/tracing/eve/operation-input.d.ts +2 -2
- package/dist/src/tracing/eve/operation-input.js +1 -1
- package/dist/src/tracing/eve/otel-registration.d.ts +2 -2
- package/dist/src/tracing/eve/otel-registration.js +1 -1
- package/dist/src/tracing/eve/profile.d.ts +1 -1
- package/dist/src/tracing/eve/session.d.ts +2 -2
- package/dist/src/tracing/local/trace-summary.js +1 -1
- package/docs/connections/openapi.mdx +2 -0
- package/package.json +2 -2
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/adapters/agent-transport.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/adapters/ai-sdk-payload.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/adapters/otel-error.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/adapters/otel-ids.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/adapters/otel.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/adapters/serialization.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/ai-sdk.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/ai-sdk.js +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/capture.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/core/activation.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/core/attributes.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/core/content-policy.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/core/context.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/core/delegation.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/core/mcp.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/core/scopes.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/core/snapshot.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/core/span-kinds.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/core/types.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/core/writer.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/delegation.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/delegation.js +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/operations.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/otel.d.ts +0 -0
- /package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/otel.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# eve
|
|
2
2
|
|
|
3
|
+
## 0.80.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- a3654ef: Compaction now keeps the start and end of an oversized tool result instead of only its start, so failures, errors, and the `bash` exit code at the end of the output survive.
|
|
8
|
+
- 5666d2f: Hosted builds now fail with a clear error when the build output imports a `build.externalDependencies` package, or a subpath of one, that Node's ESM resolver does not resolve to a file inside the output. Previously the build succeeded and the deployed function crashed at boot with `ERR_MODULE_NOT_FOUND` (for example when only a workspace package installed the dependency) or `ERR_PACKAGE_PATH_NOT_EXPORTED` (when the copied version does not export the imported subpath). The error names the import and the app `package.json` to add the package to.
|
|
9
|
+
- c1b079c: Publish framework-neutral tracing as `@vercel/agent-runs` with singular `createAgentRun` and `AgentRun` APIs; eve still bundles it without a new runtime dependency. Also fix a development-server build failure in npm-installed apps when generating source maps.
|
|
10
|
+
- 0857ff4: Reject OpenAPI path parameter values equal to `.` or `..` before sending requests, so URL normalization cannot change the intended route. This validation also applies to application-provided arguments.
|
|
11
|
+
|
|
3
12
|
## 0.80.0
|
|
4
13
|
|
|
5
14
|
### Minor Changes
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"moduleFingerprints": {
|
|
3
3
|
"@eve/catalog": "d5babf703f0f589f123ee2043b72bcb4823ccccbe5034315c3b70fbae7cd76a0",
|
|
4
|
-
"@eve/tracing": "f9d137e4e8838f1a359a8897b7229ecb243f441386b8e5e78fd71445be04b4ad",
|
|
5
4
|
"just-secrets": "1ce67d437d0bb06df02e4e99180a3c5f5edf0010314010226e97b96d462bba5d",
|
|
5
|
+
"@vercel/agent-runs": "94231f05d03adf6e62c1c56a941d763e7ed8a25a7c2f3c17a920f68225319325",
|
|
6
6
|
"@workflow/world-local": "a10e78551f65fc607cf75261a569d852c40bc9cfac13a7fb6e15c88bf1ccf429"
|
|
7
7
|
},
|
|
8
8
|
"moduleVersions": {
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
"eventsource-parser": "3.1.0",
|
|
21
21
|
"env-runner": "0.1.16",
|
|
22
22
|
"@eve/catalog": "0.0.1",
|
|
23
|
-
"@eve/tracing": "0.0.0",
|
|
24
23
|
"@ai-sdk/google": "4.0.93",
|
|
25
24
|
"jose": "6.2.3",
|
|
26
25
|
"js-yaml": "4.3.2",
|
|
@@ -43,6 +42,7 @@
|
|
|
43
42
|
"@shadcn/registry": "0.1.3",
|
|
44
43
|
"@standard-schema/spec": "1.1.0",
|
|
45
44
|
"turndown": "7.2.4",
|
|
45
|
+
"@vercel/agent-runs": "0.0.1",
|
|
46
46
|
"@vercel/blob": "2.8.0",
|
|
47
47
|
"@vercel/connect": "2.5.2",
|
|
48
48
|
"@vercel/detect-agent": "1.2.3",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"zod": "4.5.4",
|
|
62
62
|
"zod-validation-error": "5.0.0"
|
|
63
63
|
},
|
|
64
|
-
"scriptHash": "
|
|
64
|
+
"scriptHash": "b055ff3422ddffe62e6ae90372223ff24902f7043d6f3fc1fb85f93565b81a1d",
|
|
65
65
|
"toolVersions": {
|
|
66
66
|
"rolldown": "1.2.9",
|
|
67
67
|
"typescript": "7.0.2"
|
package/dist/src/compiled/{@eve/tracing → @vercel/agent-runs}/adapters/ai-sdk-telemetry.d.ts
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Telemetry } from "ai";
|
|
2
|
-
import type {
|
|
2
|
+
import type { AgentRun, TurnInput } from "../agent-run.js";
|
|
3
3
|
export interface AiSdkTelemetryOptions {
|
|
4
4
|
/** The turn a generation records. Called once per AI SDK call. */
|
|
5
5
|
readonly turn: TurnInput | ((call: {
|
|
@@ -11,4 +11,4 @@ export interface AiSdkTelemetryOptions {
|
|
|
11
11
|
* Pass it to `telemetry.integrations` of `generateText`, `streamText`, or an
|
|
12
12
|
* agent such as `HarnessAgent`.
|
|
13
13
|
*/
|
|
14
|
-
export declare function aiSdkTelemetry(
|
|
14
|
+
export declare function aiSdkTelemetry(run: AgentRun, options: AiSdkTelemetryOptions): Telemetry;
|
package/dist/src/compiled/{@eve/tracing/agent-tracing.d.ts → @vercel/agent-runs/agent-run.d.ts}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type TurnOperation } from "./operations.js";
|
|
2
2
|
import type { AgentTelemetry, Attributes, CaptureDecision, ContentSerializer, ExecutionContext, FrameworkIdentity, RunIdentity, TraceCheckpointer, TraceErrorHandler, TraceLink, TraceReference } from "./core/types.js";
|
|
3
|
-
export interface
|
|
3
|
+
export interface AgentRunOptions {
|
|
4
4
|
/** Span output and context propagation. Defaults to the global OpenTelemetry provider. */
|
|
5
5
|
readonly telemetry?: AgentTelemetry;
|
|
6
6
|
/**
|
|
@@ -68,7 +68,7 @@ interface MemoryInput<T> {
|
|
|
68
68
|
}[];
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
|
-
export interface
|
|
71
|
+
export interface AgentRun {
|
|
72
72
|
turn: import("./operations.js").WrappedOperation<TurnInput, TurnOperation>;
|
|
73
73
|
/** Returns a saved durable turn, without starting one. */
|
|
74
74
|
resume(input: ResumeInput): Promise<TurnOperation | undefined>;
|
|
@@ -80,5 +80,5 @@ export interface AgentMemoryTracing {
|
|
|
80
80
|
search<T>(data: MemoryInput<T>, execute: () => T | PromiseLike<T>): Promise<T>;
|
|
81
81
|
write<T>(data: MemoryInput<T>, execute: () => T | PromiseLike<T>): Promise<T>;
|
|
82
82
|
}
|
|
83
|
-
export declare function
|
|
83
|
+
export declare function createAgentRun(input: AgentRunOptions): AgentRun;
|
|
84
84
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { createAgentRun, type AgentRun, type AgentRunOptions, type AgentMemoryTracing, type TurnInput, type ResumeInput, } from "./agent-run.js";
|
|
2
2
|
export { otelTelemetry, type OtelTelemetryOptions } from "./adapters/otel.js";
|
|
3
3
|
export { AgentSpanIdGenerator } from "./adapters/otel-ids.js";
|
|
4
4
|
export type { Operation, TurnOperation, AttemptInput, AttemptOperation, ToolInput, ModelOperation, ToolOperation, ApprovalOperation, MemoryOperation, ModelCallReturn, ModelStreamReturn, } from "./operations.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as e,f as t,g as n,i as r,l as i,m as a,n as o,o as s,r as c,s as l,t as u,u as d,v as f}from"../../_chunks/workflow/mcp-Bwx_LQ4q.js";import{n as p,t as m}from"../../_chunks/workflow/delegation-BqhZ398D.js";import{createHash as h,randomBytes as g,randomUUID as _}from"node:crypto";var v=class{#e;#t;allocateSpanId(){return b(16)}deriveSpanId(e){return y(e)}deriveTraceId(e){let t=h(`sha256`).update(e).digest(`hex`).slice(0,32);return/^0+$/u.test(t)?`00000000000000000000000000000001`:t}generateSpanId(){let e=this.#e;return e===void 0?b(16):(this.#e=void 0,e)}generateTraceId(){let e=this.#t;return e===void 0?b(32):(this.#t=void 0,e)}withSpanId(e,t){this.#e=e;try{return t()}finally{this.#e=void 0}}withTraceId(e,t){this.#t=e;try{return t()}finally{this.#t=void 0}}};function y(e){let t=h(`sha256`).update(e).digest(`hex`).slice(0,16);return/^0+$/u.test(t)?`0000000000000001`:t}function b(e){let t;do{t=``;for(let n=0;n<e;n+=1)t+=`0123456789abcdef`[Math.trunc(Math.random()*16)]}while(!/[1-9a-f]/u.test(t));return t}function x(e,t,n,r){let i=!1;try{return e.run(t,()=>(i=!0,n()),r)}catch(t){if(i)throw t;if(e.suppressed!==void 0)try{return e.suppressed(()=>(i=!0,n()))}catch(e){if(i)throw e}return n()}}function S(e){function t(t,n=`complete`,r){try{return t()}catch(t){try{e.onError?.(t,{phase:n,reference:r})}catch{}return}}function r(r,i,a,o){let s=d(r.attributes,i)??r.attributes,c=i.emit?t(()=>e.telemetry.startSpan({...r,attributes:s},{reference:o,context:a}),`start`,o):void 0,l=c?.reference??{traceId:`0`.repeat(32),spanId:`0`.repeat(16),traceFlags:0},u=!1;return{reference:l,get capture(){return i},narrow(e){i=n(i,e)},get finished(){return u},setAttribute(e,n){let r=d({[e]:n},i);!u&&(r===void 0||e in r)&&t(()=>c?.setAttribute(e,r===void 0?n:r[e]))},addEvent(e,n,r){u||t(()=>c?.addEvent(e,n===void 0?void 0:d(n,i)??n,r))},fail(e,n){u||t(()=>c?.fail(i.recordOutputs?e:void 0,n??(e instanceof Error?e.name:void 0)))},setStatus(e){u||t(()=>c?.setStatus(e))},end(e){u||(u=!0,t(()=>c?.end(e)))},run(t){return u?t():x(e.telemetry,{type:r.type,reference:l,capture:i},t,a)}}}return{start:r,startReserved:(e,t,n,i)=>r(e,n,i,t)}}const C=32768,w=65536;function T(e,t){function n(t,n){return r(()=>Reflect.apply(e[t],e,n))}function r(e){try{let t=e();return t===void 0||new TextEncoder().encode(t).length>C?void 0:t}catch(e){try{t?.(e,{phase:`serialize`})}catch{}return}}return{json:e=>n(`json`,[e]),text:e=>n(`text`,[e]),inputMessages:t=>{let n=0,i=r(()=>{let r=e.inputMessages(t);return n=r?.omitted??0,r?.json});return i===void 0?void 0:{json:i,omitted:n}},instructions:e=>n(`instructions`,[e]),toolDefinitions:e=>n(`toolDefinitions`,[e]),outputMessages:(e,t)=>n(`outputMessages`,[e,t]),toolResults:e=>n(`toolResults`,[e])}}function E(e){return new TextEncoder().encode(JSON.stringify({...e,children:void 0})).length}function ee(e){return JSON.parse(JSON.stringify(e))}function D(e,t=w,n=0){try{if(n>16||typeof e!=`object`||!e)return!1;let r=e;if(r.children!==void 0&&(!Array.isArray(r.children)||r.children.length>1e4||!r.children.every(e=>D(e,t,n+1)))||r.version!==1||r.finished!==void 0&&typeof r.finished!=`boolean`||r.childSequence!==void 0&&(!Number.isSafeInteger(r.childSequence)||r.childSequence<0)||typeof r.key!=`string`||typeof r.startTimeMs!=`number`||!Number.isFinite(r.startTimeMs)||r.reference.traceFlags!==0&&r.reference.traceFlags!==1||r.reference.tracestate!==void 0&&(typeof r.reference.tracestate!=`string`||r.reference.tracestate.length>512)||r.parent!==void 0&&(!/^[a-f0-9]{32}$/u.test(r.parent.traceId)||!/^[a-f0-9]{16}$/u.test(r.parent.spanId))||![r.identity.conversationId,r.identity.runId,r.identity.turnId].every(e=>typeof e==`string`))return!1;let i=r.data.options;return!(!{activation:[],step:[],model:[`provider`,`modelId`],tool:[`callId`,`name`],approval:[`requestId`,`callId`,`toolName`],memory:[`operation`,`phase`,`slot`,`storeId`]}[r.data.type].every(e=>typeof i[e]==`string`)||r.data.type===`activation`&&!Number.isSafeInteger(i.sequence)||r.data.type===`step`&&!Number.isSafeInteger(i.index)||r.data.type===`memory`&&i.operation!==`search_memory`&&i.operation!==`upsert_memory`||!/^[a-f0-9]{32}$/u.test(r.reference.traceId)||!/^[a-f0-9]{16}$/u.test(r.reference.spanId)||typeof r.reference.traceFlags!=`number`||![r.capture.emit,r.capture.recordInputs,r.capture.recordOutputs].every(e=>typeof e==`boolean`)||![`activation`,`step`,`model`,`tool`,`approval`,`memory`].includes(r.data.type)||typeof r.data.options!=`object`||r.data.options===null||E(r)>t)}catch{return!1}}function O(e,t){let n=e.terminal;e={...e,children:e.children?.map(n=>O({...n,capture:{emit:n.capture.emit&&e.capture.emit,recordInputs:n.capture.recordInputs&&e.capture.recordInputs,recordOutputs:n.capture.recordOutputs&&e.capture.recordOutputs}},t))},e={...e,terminal:n===void 0||e.finished?void 0:{...n,errorCode:n.errorCode??(n.error instanceof Error?n.error.name:void 0),error:e.capture.recordOutputs?n.error instanceof Error?{name:n.error.name,message:t.text(n.error.message)}:n.error:void 0,output:e.capture.recordOutputs?n.output:void 0,response:e.capture.recordOutputs?n.response:void 0,records:e.capture.recordInputs?n.records:void 0,model:n.model===void 0?void 0:{...n.model,content:e.capture.recordOutputs?n.model.content:void 0}}},e={...e,attributes:d(e.attributes??{},e.capture)??e.attributes};let r=c(e.data,e.capture),i;try{i=t.json(r)}catch{}let a=()=>{let t=c(r,{emit:e.capture.emit,recordInputs:!1,recordOutputs:!1});return t.type===`step`&&(t={...t,options:{...t.options,runtimeContext:void 0}}),t.type===`model`&&(t={...t,options:{...t.options,runtimeContext:void 0}}),JSON.parse(JSON.stringify({...e,version:1,data:t,terminal:e.terminal===void 0?void 0:{outcome:e.terminal.outcome,failed:e.terminal.failed,errorCode:e.terminal.errorCode,usage:e.terminal.usage},attributes:d(e.attributes??{},{recordInputs:!1,recordOutputs:!1})??e.attributes}))};if(i===void 0||new TextEncoder().encode(i).length>C)return a();try{let t=JSON.parse(JSON.stringify({...e,version:1,data:JSON.parse(i)}));return E(t)<=w?t:a()}catch{return a()}}const k=1e4,A={emit:!1,recordInputs:!1,recordOutputs:!1},te=new Set([`activation`,`tool`,`approval`]),ne=new Set([`tool`,`approval`]);function j(e){return encodeURIComponent(String(e))}function re(e){switch(e.type){case`step`:return`step:${j(e.options.index)}:${j(e.options.attempt??0)}`;case`tool`:return`tool:${j(e.options.callId)}`;case`approval`:return`approval:${j(e.options.requestId)}`;default:return}}function ie(e){let t=e.failed||e.outcome===`failed`;return{...e,model:`result`in e?e.result:e.model,failed:t,errorCode:`errorType`in e?e.errorType:e.errorCode}}function M(t){let a=t.telemetry,f=T(t.serializer,t.onError),m=S({telemetry:a,onError:t.onError}),h=(e,n)=>{try{t.onError?.(e,n)}catch{}};function _(e){let t=f.json(e);try{return t===void 0?void 0:JSON.parse(t)}catch{return}}function v(e,n,r,i,o){let s=a.ids;if(t.durable&&s!==void 0&&e.type!==`model`&&e.type!==`memory`){if(e.type===`activation`&&r!==void 0)return{traceId:r.traceId,spanId:s.spanId(n),traceFlags:o.emit?r.traceFlags&1:0};if(e.type===`activation`){let e=s.traceId(n);return{traceId:e,spanId:s.spanId(n),traceFlags:o.emit&&(a.samples?.(e,i)??!0)?1:0}}return r===void 0?void 0:{...r,spanId:s.spanId(n),isRemote:!1}}}async function y(e,t,n,r,i,a,o){try{return await b(e,t,n,r,i,a,o)}catch(t){return h(t,{phase:`start`,operation:n.type,reference:a.reference}),b(e,A,c(n,A),r,i,{...a,sample:!1,reference:{traceId:a.reference?.traceId??r?.reference.traceId??a.parent?.traceId??g(16).toString(`hex`),spanId:a.reference?.spanId??g(8).toString(`hex`),traceFlags:0}},o)}}async function b(g,b,S,C,w,T,E){if(T.terminal?.error!==null&&typeof T.terminal?.error==`object`&&!(T.terminal.error instanceof Error)&&`message`in T.terminal.error&&typeof T.terminal.error.message==`string`){let e=Error(T.terminal.error.message);e.name=T.terminal.errorCode??`Error`,T={...T,terminal:{...T.terminal,error:e}}}let D=T.key,M=T.startTimeMs??Date.now(),N=T.parent??C?.reference;b.emit&&(b=n(b,a.active()?.capture));let P=b,F=c(S,P),I=l({identity:g,data:F,attempt:w,capture:P,key:D,parent:N,startTimeMs:M,links:T.links},f);I={...I,attributes:{...I.attributes,...T.attributes}},F=O({key:D,identity:g,data:F,capture:P,reference:T.reference??{traceId:`0`.repeat(32),spanId:`0`.repeat(16),traceFlags:0},startTimeMs:M},f).data;let L=T.deferred??(t.durable&&te.has(F.type)),R=T.executionContext,z=T.reference??v(S,D,N,I,P);T.sample===!0&&z!==void 0&&(z={...z,traceFlags:z.traceFlags&1&&P.emit&&(N!==void 0||(a.samples?.(z.traceId,I)??!0))?1:0});let B=L?void 0:m.start(I,P,R,z),V=z??B?.reference;if(V===void 0)throw Error(`A deferred trace scope requires a reserved reference.`);let H=!!(V.traceFlags&1);P={emit:P.emit&&H,recordInputs:P.emit&&H&&P.recordInputs,recordOutputs:P.emit&&H&&P.recordOutputs},F=c(F,P);let U=T.finished??!1,W=T.terminal,G=new Map,K=new Set,ae=T.childSequence??0,q=T.usage,J=new Set(T.usageKeys??[]),Y={},oe=F.type===`tool`?F.options.callId:void 0;function X(){E()}function Z(){return n(P,a.active()?.capture)}async function se(e,n,r={}){let i=G.get(n);if(t.durable&&i!==void 0&&!i.settled)return i.refine(e,r.startTimeMs),i;if(U)throw Error(`The operation is not permitted in this trace scope.`);for(let[e,t]of G)t.settled&&G.delete(e);let a=P;G.size>=k&&(h(Error(`Trace unfinished-child limit reached.`),{phase:`start`,operation:e.type,reference:V}),a=A),e.type===`model`&&B!==void 0&&o(B,{"agent.model.id":e.options.modelId});let s=await y(g,a,e,$,e.type===`step`?{index:e.options.index,attempt:e.options.attempt??0}:w,{key:n,executionContext:R,links:r.links,startTimeMs:r.startTimeMs},E);return(a.emit||G.size<k)&&G.set(n,s),await E(),s}async function Q(e,t){let n=F.type===`step`||F.type===`activation`;for(let r of G.values())(t||!n||!ne.has(r.type))&&await r.release({failed:e.failed,error:e.error,outcome:`abandoned`})}async function ce(e){if(K.size>0&&await Promise.allSettled(K),U)return;let n=Z();n.recordOutputs||(e={...e,error:void 0}),W?.failed&&(e={...e,outcome:e.outcome===`completed`?`failed`:e.outcome,failed:!0,error:W.error,errorCode:e.errorCode??W.errorCode}),U=!0,W=e,await Q(e,e.failed===!0||!t.durable),B??=m.start(I,P,R,V);let i=F.type===`activation`&&e.usage===void 0?{...e,usage:q}:e;try{r(B,F,i,{...n,emit:P.emit},M,f)}catch(e){h(e,{phase:`complete`,operation:F.type,reference:V})}if(o(B,Y),F.type===`model`&&e.model!==void 0){await C?.usage(e.model.usage,D);let t=e.model.content;if(n.recordOutputs&&P.recordOutputs&&t!==void 0){let n=f.outputMessages(t,e.model.finishReason);n!==void 0&&C?.turnContent({output:n})}}B.end(e.endTimeMs),await E()}let $={waitUntil(e){K.add(e),C?.waitUntil(e),e.then(()=>K.delete(e),()=>K.delete(e))},snapshot:()=>ee($.record()),attributes:e=>$.update({attributes:e}),modelCall:(e,t)=>$.child({type:`model`,options:e},t),fail(e){return $.error(e),$.complete({outcome:`failed`,failed:!0})},update(e){if(U)return;let t=d(e.attributes??{},Z())??e.attributes;F.type===`activation`&&(F={...F,options:{...F.options,attributes:{...F.options.attributes,...t}}}),I={...I,attributes:{...I.attributes,...t},links:e.links??I.links},B!==void 0&&o(B,t),X()},useContext(e){R=e;for(let t of G.values())t.useContext(e)},refine(e,t){if(U||B!==void 0)return;if(t!==void 0&&t<M&&(M=t),e.type===`tool`&&F.type===`tool`){let t=F.options;F=c({type:`tool`,options:{...t,kind:t.kind??e.options.kind,arguments:t.arguments??(Z().recordInputs?_(e.options.arguments):void 0)}},P)}let n=l({identity:g,data:F,attempt:w,capture:P,key:D,parent:N,startTimeMs:M,links:I.links},f),r=Object.fromEntries(Object.entries(n.attributes).filter(([,e])=>e!==void 0));I={...I,name:n.name,kind:n.kind,startTimeMs:M,attributes:{...I.attributes,...r}},X()},narrow(e){P={...n(P,e),emit:P.emit},F=c(F,P);let t=d(I.attributes,P)??I.attributes;I={...I,attributes:F.type===`activation`?{...t,"agent.trace.content.input":P.recordInputs,"agent.trace.content.output":P.recordOutputs}:t};let r=d(Y,P)??Y;for(let e of Object.keys(Y))e in r||delete Y[e];!P.recordOutputs&&W?.error!==void 0&&(W={...W,error:void 0}),B?.narrow(P);for(let e of G.values())e.narrow(P);X()},async release(e){U?await Q(e,e.failed===!0||!t.durable):await ce(ie(e))},record(){return O({version:1,finished:U,terminal:W,usage:q,usageKeys:[...J],attributes:{...I.attributes,...Y},childSequence:ae,children:[...G.values()].filter(e=>!e.settled).map(e=>e.record()),key:D,identity:g,data:F,capture:P,reference:V,parent:N,startTimeMs:M,attempt:w,links:I.links},f)},get parent(){return N},get startTimeMs(){return M},child(e,n,r){if(!s(e).includes(F.type))throw Error(`The operation is not permitted in this trace scope.`);let i=n===void 0?(t.durable?re(e):void 0)??`${e.type}:${ae++}`:`${e.type}:${j(n)}`;return se(e,`${D}/${i}`,r)},find(e){let t=re(e),n=t===void 0?void 0:G.get(`${D}/${t}`);return n===void 0||n.settled?void 0:n},get children(){return[...G.values()].filter(e=>!e.settled)},type:F.type,reference:V,callId:oe,get capture(){return P},mcp:u({serializer:f,...P,write(e){let t=d(e,Z())??e;Object.assign(Y,t),B!==void 0&&o(B,t)},error(e,t){$.error(e,t)}}),get finished(){return U},get settled(){return U&&[...G.values()].every(e=>e.settled)},run(e,t){if(U)throw Error(`The trace scope has already finished.`);let r=n(n(P,t),a.active()?.capture),i=F.type===`tool`&&(F.options.kind===`subagent-call`||F.options.kind===`remote-agent-call`)?F.options:void 0,o=i===void 0?e:()=>p({caller:V,conversationId:g.conversationId,parentRunId:g.runId,parentCallId:i.callId,agentName:i.name,capture:r},e);return x(a,{type:$.type,reference:V,capture:r,mcp:$.mcp},o,R)},async complete(e=W??{}){U||await ce(ie(e))},async usage(e,t){t!==void 0&&J.has(t)||(t!==void 0&&J.add(t),B!==void 0&&o(B,i(e)),q={inputTokens:e.inputTokens===void 0?q?.inputTokens:(q?.inputTokens??0)+e.inputTokens,outputTokens:e.outputTokens===void 0?q?.outputTokens:(q?.outputTokens??0)+e.outputTokens,costUsd:e.costUsd===void 0?q?.costUsd:(q?.costUsd??0)+e.costUsd},await C?.usage(e,t))},turnContent(e){if(F.type!==`activation`)return C?.turnContent(e);if(U)return;let t={};e.input!==void 0&&I.attributes[`gen_ai.input.messages`]===void 0&&(t[`gen_ai.input.messages`]=e.input),e.output!==void 0&&(t[`gen_ai.output.messages`]=e.output),Object.keys(t).length>0&&$.update({attributes:t})},error(t,n){W={...W,failed:!0,error:Z().recordOutputs?t instanceof Error?e(t):_(t):void 0,errorCode:n??(t instanceof Error?t.name:void 0)},B!==void 0&&B.fail(W.error,W.errorCode),X()}};for(let e of T.children??[])G.set(e.key,await y(e.identity,n(e.capture,P),e.data,$,e.attempt,{...e,deferred:!0,executionContext:R},E));!U&&B!==void 0&&F.type===`step`&&B.addEvent(`step.started`,void 0,M);let le=I.attributes[`gen_ai.input.messages`];return!U&&F.type===`model`&&typeof le==`string`&&C?.turnContent({input:le}),$}return{start(e){return y(e.identity,e.capture,e.data,void 0,void 0,{key:e.key,parent:e.parent,reference:e.reference,sample:e.reference!==void 0&&e.data.type===`activation`,startTimeMs:e.startTimeMs,links:e.links,executionContext:e.context},e.onChange??(()=>Promise.resolve()))},async restore(e,t={}){if(!D(e)){h(Error(`Invalid tracing checkpoint.`),{phase:`restore`});return}return y(e.identity,n(e.capture,t.capture),e.data,void 0,e.attempt,{...e,deferred:!0,executionContext:t.context},t.onChange??(()=>Promise.resolve()))}}}function N(e,t,n){try{e?.(t,{phase:n})}catch{}}function P(e,t={outcome:`completed`},n){async function r(r,i){if(i===void 0)return e(r);let a=await e(r),o=t;try{let e=await a.run(()=>i(a));try{o=r.describe?.(e)??t}catch(e){N(n,e,`complete`)}return e}catch(e){throw o={outcome:`failed`,errorType:e instanceof Error?e.name:`_OTHER`,error:e},e}finally{try{await a.complete(o)}catch(e){N(n,e,`complete`)}}}return r}function F(e,t,n){let r=t=>Object.defineProperties(t,{finished:{get:()=>e.finished},capture:{get:()=>e.capture},parent:{get:()=>e.parent}}),i={type:e.type,reference:e.reference,get startTimeMs(){return e.startTimeMs},get parent(){return e.parent},get finished(){return e.finished},get capture(){return e.capture},run:(t,n)=>e.run(t,n),attributes:t=>e.attributes(t),complete:t=>e.complete(t),fail:t=>e.fail(t),recordError:(t,n)=>e.error(t,n)},a=async(t,r,i)=>F(await e.child(t,r,i),t,n),o=P(async({startTimeMs:e,...t})=>a({type:`tool`,options:t},void 0,{startTimeMs:e}),void 0,n),s=e=>e===void 0?void 0:F(e,e.record().data,n),c=P(async e=>a({type:`memory`,options:e}),void 0,n);if(t.type===`activation`)return r({...i,memory:c,links:t=>e.update({links:t}),findAttempt:t=>s(e.find({type:`step`,options:{index:t.stepIndex,attempt:t.attempt}})),findTool:t=>s(I(e,t)),attempt:P(async e=>a({type:`step`,options:{index:e.stepIndex,attempt:e.attempt,runtimeContext:e.runtimeContext,channel:e.channel}},void 0,{links:e.links}),void 0,n)});if(t.type===`step`){let t=e=>P(async t=>a({type:`tool`,options:{callId:t.callId,name:t.agentName,kind:e}}),void 0,n),s=(e,t)=>a({type:`model`,options:e},t);async function l(e,t){if(typeof t!=`function`)return s(e,t);let r=await s(e),i;try{i=await r.run(t)}catch(e){try{await r.fail(e)}catch(e){N(n,e,`complete`)}throw e}try{await r.complete({outcome:`completed`,result:i})}catch(e){N(n,e,`complete`)}return i.result}return r({...i,memory:c,tool:o,callSubAgent:t(`subagent-call`),callRemoteAgent:t(`remote-agent-call`),modelCall:l,async modelStream(t,r){let i=await s(t);try{let t=await i.run(r),a=Promise.resolve(t.completion).then(e=>i.complete({outcome:`completed`,result:e}),e=>i.fail(e)).catch(e=>N(n,e,`complete`));return e.waitUntil(a),t.result}catch(e){try{await i.fail(e)}catch(e){N(n,e,`complete`)}throw e}}})}return t.type===`tool`?r({...i,memory:c,tool:o,findApproval:n=>s(e.find({type:`approval`,options:{requestId:n,callId:t.options.callId,toolName:t.options.name}})),approval:P(async e=>a({type:`approval`,options:{...e,callId:t.options.callId,toolName:t.options.name}}),{outcome:`ignored`},n)}):i}function I(e,t){for(let n of e.children){if(n.type===`tool`&&n.callId===t)return n;if(n.type===`step`||n.type===`tool`){let e=I(n,t);if(e!==void 0)return e}}}const L={emit:!0,recordInputs:!1,recordOutputs:!1};function R(e){let r=e.telemetry??t(),i=e.checkpointer;if(i!==void 0&&r.ids===void 0)throw Error(`Durable agent tracing needs stable span IDs. Pass the AgentSpanIdGenerator installed on your tracer provider to otelTelemetry({ idGenerator }).`);let a=(t,n)=>{try{e.onError?.(t,n)}catch{}},o=M({telemetry:r,serializer:e.serializer??f,durable:i!==void 0,onError:e.onError}),s=new Map;function c(e){return i===void 0?`turn:${_()}`:[`turn`,e.runId,e.turnId].map(encodeURIComponent).join(`:`)}function l(e,t){let n=Promise.resolve();return()=>{let r=t();return i===void 0||r===void 0?n:(r.writes++,n=n.then(async()=>{try{if(r.root.settled)s.delete(e),await i.delete(e);else{let t=_();await i.set(e,ee({...r.root.record(),revision:t})),r.revision=t}}catch(e){a(e,{phase:`checkpoint`,operation:`activation`})}finally{r.writes--}}),n)}}async function u(e){try{return await i.get(e)}catch(e){a(e,{phase:`restore`,operation:`activation`});return}}async function d(e,t,r,a,s){let c=m()?.capture;s=s===void 0?c:n(s,c);let d=i===void 0?void 0:await u(e);if(t!==void 0&&(t.writes>0||d?.revision===t.revision))return a!==void 0&&t.root.useContext(a),s!==void 0&&t.root.narrow(s),t;let f,p=l(e,()=>f),h=d===void 0?void 0:await o.restore(d,{capture:s,context:a,onChange:p}),g=h??await r?.(p);if(g!==void 0)return f={root:g,revision:d?.revision,writes:0},h===void 0&&await p(),f}function p(e,t){let n=s.get(e),r=(async()=>t(n===void 0?void 0:await n.catch(()=>void 0)))();return s.set(e,r),r.then(t=>{(t===void 0||t.root.settled)&&s.delete(e)},()=>s.delete(e)),s.size>1e3&&s.delete(s.keys().next().value),r}function h(e,t){return i=>{let a=m(),s=n(e.capture??L,a?.capture),c=a!==void 0&&e.sequence===0,l=e.parent??(c&&a?.remote!==!0?a?.caller:void 0),u=[...c&&a?.remote===!0?[{relationship:`agent.dispatch`,context:a.caller}]:[],...e.links??[]];return o.start({identity:{...e.identity,conversationId:a?.conversationId??e.identity.conversationId,agentName:e.agentName,framework:e.framework},key:t,capture:s,parent:l,reference:r.ids===void 0?void 0:e.reference,startTimeMs:e.startTimeMs,data:{type:`activation`,options:{sequence:e.sequence,attributes:e.attributes,channel:e.channel,subagent:a!==void 0||e.lineage!==void 0,subagentName:a?.agentName??e.lineage?.agentName,parentRunId:a?.parentRunId??e.lineage?.parentRunId,parentCallId:a?.parentCallId??e.lineage?.parentCallId}},links:u.length===0?void 0:u,context:e.context,onChange:i})}}function g(t){return F(t,{type:`activation`,options:{sequence:0}},e.onError)}async function v(e){let t=c(e.identity);return g((i===void 0?await d(t,void 0,h(e,t),e.context):await p(t,n=>d(t,n,h(e,t),e.context,e.capture))).root)}async function y(e){if(i===void 0)return;let t=c(e.identity),n=await p(t,n=>d(t,n,void 0,e.context));return n===void 0?void 0:g(n.root)}async function b(e){try{await e()}catch(e){a(e,{phase:`complete`})}}async function x(e,t,n){let i=r.active(),s=await o.start({identity:t.identity,key:`memory:${_()}`,capture:t.capture??i?.capture??L,parent:t.parent??i?.reference,context:t.context,data:{type:`memory`,options:{operation:e,phase:t.phase,slot:t.slot,storeId:t.storeId}}}),c;try{c=await s.run(n)}catch(e){throw await s.fail(e).catch(e=>a(e,{phase:`complete`})),e}return await s.complete({outcome:`completed`,...t.describe?.(c)}).catch(e=>a(e,{phase:`complete`})),c}return{turn:P(v,void 0,e.onError),resume:y,memory:{search:(e,t)=>x(`search_memory`,e,t),write:(e,t)=>x(`upsert_memory`,e,t)},forceFlush:()=>b(()=>r.forceFlush()),shutdown:()=>b(()=>r.shutdown())}}export{v as AgentSpanIdGenerator,R as createAgentTracing,a as currentCapture,t as otelTelemetry};
|
|
1
|
+
import{b as e,f as t,g as n,i as r,l as i,m as a,n as o,o as s,r as c,s as l,t as u,u as d,v as f}from"../../_chunks/workflow/mcp-Bwx_LQ4q.js";import{n as p,t as m}from"../../_chunks/workflow/delegation-BqhZ398D.js";import{createHash as h,randomBytes as g,randomUUID as _}from"node:crypto";var v=class{#e;#t;allocateSpanId(){return b(16)}deriveSpanId(e){return y(e)}deriveTraceId(e){let t=h(`sha256`).update(e).digest(`hex`).slice(0,32);return/^0+$/u.test(t)?`00000000000000000000000000000001`:t}generateSpanId(){let e=this.#e;return e===void 0?b(16):(this.#e=void 0,e)}generateTraceId(){let e=this.#t;return e===void 0?b(32):(this.#t=void 0,e)}withSpanId(e,t){this.#e=e;try{return t()}finally{this.#e=void 0}}withTraceId(e,t){this.#t=e;try{return t()}finally{this.#t=void 0}}};function y(e){let t=h(`sha256`).update(e).digest(`hex`).slice(0,16);return/^0+$/u.test(t)?`0000000000000001`:t}function b(e){let t;do{t=``;for(let n=0;n<e;n+=1)t+=`0123456789abcdef`[Math.trunc(Math.random()*16)]}while(!/[1-9a-f]/u.test(t));return t}function x(e,t,n,r){let i=!1;try{return e.run(t,()=>(i=!0,n()),r)}catch(t){if(i)throw t;if(e.suppressed!==void 0)try{return e.suppressed(()=>(i=!0,n()))}catch(e){if(i)throw e}return n()}}function S(e){function t(t,n=`complete`,r){try{return t()}catch(t){try{e.onError?.(t,{phase:n,reference:r})}catch{}return}}function r(r,i,a,o){let s=d(r.attributes,i)??r.attributes,c=i.emit?t(()=>e.telemetry.startSpan({...r,attributes:s},{reference:o,context:a}),`start`,o):void 0,l=c?.reference??{traceId:`0`.repeat(32),spanId:`0`.repeat(16),traceFlags:0},u=!1;return{reference:l,get capture(){return i},narrow(e){i=n(i,e)},get finished(){return u},setAttribute(e,n){let r=d({[e]:n},i);!u&&(r===void 0||e in r)&&t(()=>c?.setAttribute(e,r===void 0?n:r[e]))},addEvent(e,n,r){u||t(()=>c?.addEvent(e,n===void 0?void 0:d(n,i)??n,r))},fail(e,n){u||t(()=>c?.fail(i.recordOutputs?e:void 0,n??(e instanceof Error?e.name:void 0)))},setStatus(e){u||t(()=>c?.setStatus(e))},end(e){u||(u=!0,t(()=>c?.end(e)))},run(t){return u?t():x(e.telemetry,{type:r.type,reference:l,capture:i},t,a)}}}return{start:r,startReserved:(e,t,n,i)=>r(e,n,i,t)}}const C=32768,w=65536;function T(e,t){function n(t,n){return r(()=>Reflect.apply(e[t],e,n))}function r(e){try{let t=e();return t===void 0||new TextEncoder().encode(t).length>C?void 0:t}catch(e){try{t?.(e,{phase:`serialize`})}catch{}return}}return{json:e=>n(`json`,[e]),text:e=>n(`text`,[e]),inputMessages:t=>{let n=0,i=r(()=>{let r=e.inputMessages(t);return n=r?.omitted??0,r?.json});return i===void 0?void 0:{json:i,omitted:n}},instructions:e=>n(`instructions`,[e]),toolDefinitions:e=>n(`toolDefinitions`,[e]),outputMessages:(e,t)=>n(`outputMessages`,[e,t]),toolResults:e=>n(`toolResults`,[e])}}function E(e){return new TextEncoder().encode(JSON.stringify({...e,children:void 0})).length}function ee(e){return JSON.parse(JSON.stringify(e))}function D(e,t=w,n=0){try{if(n>16||typeof e!=`object`||!e)return!1;let r=e;if(r.children!==void 0&&(!Array.isArray(r.children)||r.children.length>1e4||!r.children.every(e=>D(e,t,n+1)))||r.version!==1||r.finished!==void 0&&typeof r.finished!=`boolean`||r.childSequence!==void 0&&(!Number.isSafeInteger(r.childSequence)||r.childSequence<0)||typeof r.key!=`string`||typeof r.startTimeMs!=`number`||!Number.isFinite(r.startTimeMs)||r.reference.traceFlags!==0&&r.reference.traceFlags!==1||r.reference.tracestate!==void 0&&(typeof r.reference.tracestate!=`string`||r.reference.tracestate.length>512)||r.parent!==void 0&&(!/^[a-f0-9]{32}$/u.test(r.parent.traceId)||!/^[a-f0-9]{16}$/u.test(r.parent.spanId))||![r.identity.conversationId,r.identity.runId,r.identity.turnId].every(e=>typeof e==`string`))return!1;let i=r.data.options;return!(!{activation:[],step:[],model:[`provider`,`modelId`],tool:[`callId`,`name`],approval:[`requestId`,`callId`,`toolName`],memory:[`operation`,`phase`,`slot`,`storeId`]}[r.data.type].every(e=>typeof i[e]==`string`)||r.data.type===`activation`&&!Number.isSafeInteger(i.sequence)||r.data.type===`step`&&!Number.isSafeInteger(i.index)||r.data.type===`memory`&&i.operation!==`search_memory`&&i.operation!==`upsert_memory`||!/^[a-f0-9]{32}$/u.test(r.reference.traceId)||!/^[a-f0-9]{16}$/u.test(r.reference.spanId)||typeof r.reference.traceFlags!=`number`||![r.capture.emit,r.capture.recordInputs,r.capture.recordOutputs].every(e=>typeof e==`boolean`)||![`activation`,`step`,`model`,`tool`,`approval`,`memory`].includes(r.data.type)||typeof r.data.options!=`object`||r.data.options===null||E(r)>t)}catch{return!1}}function O(e,t){let n=e.terminal;e={...e,children:e.children?.map(n=>O({...n,capture:{emit:n.capture.emit&&e.capture.emit,recordInputs:n.capture.recordInputs&&e.capture.recordInputs,recordOutputs:n.capture.recordOutputs&&e.capture.recordOutputs}},t))},e={...e,terminal:n===void 0||e.finished?void 0:{...n,errorCode:n.errorCode??(n.error instanceof Error?n.error.name:void 0),error:e.capture.recordOutputs?n.error instanceof Error?{name:n.error.name,message:t.text(n.error.message)}:n.error:void 0,output:e.capture.recordOutputs?n.output:void 0,response:e.capture.recordOutputs?n.response:void 0,records:e.capture.recordInputs?n.records:void 0,model:n.model===void 0?void 0:{...n.model,content:e.capture.recordOutputs?n.model.content:void 0}}},e={...e,attributes:d(e.attributes??{},e.capture)??e.attributes};let r=c(e.data,e.capture),i;try{i=t.json(r)}catch{}let a=()=>{let t=c(r,{emit:e.capture.emit,recordInputs:!1,recordOutputs:!1});return t.type===`step`&&(t={...t,options:{...t.options,runtimeContext:void 0}}),t.type===`model`&&(t={...t,options:{...t.options,runtimeContext:void 0}}),JSON.parse(JSON.stringify({...e,version:1,data:t,terminal:e.terminal===void 0?void 0:{outcome:e.terminal.outcome,failed:e.terminal.failed,errorCode:e.terminal.errorCode,usage:e.terminal.usage},attributes:d(e.attributes??{},{recordInputs:!1,recordOutputs:!1})??e.attributes}))};if(i===void 0||new TextEncoder().encode(i).length>C)return a();try{let t=JSON.parse(JSON.stringify({...e,version:1,data:JSON.parse(i)}));return E(t)<=w?t:a()}catch{return a()}}const k=1e4,A={emit:!1,recordInputs:!1,recordOutputs:!1},te=new Set([`activation`,`tool`,`approval`]),ne=new Set([`tool`,`approval`]);function j(e){return encodeURIComponent(String(e))}function re(e){switch(e.type){case`step`:return`step:${j(e.options.index)}:${j(e.options.attempt??0)}`;case`tool`:return`tool:${j(e.options.callId)}`;case`approval`:return`approval:${j(e.options.requestId)}`;default:return}}function ie(e){let t=e.failed||e.outcome===`failed`;return{...e,model:`result`in e?e.result:e.model,failed:t,errorCode:`errorType`in e?e.errorType:e.errorCode}}function M(t){let a=t.telemetry,f=T(t.serializer,t.onError),m=S({telemetry:a,onError:t.onError}),h=(e,n)=>{try{t.onError?.(e,n)}catch{}};function _(e){let t=f.json(e);try{return t===void 0?void 0:JSON.parse(t)}catch{return}}function v(e,n,r,i,o){let s=a.ids;if(t.durable&&s!==void 0&&e.type!==`model`&&e.type!==`memory`){if(e.type===`activation`&&r!==void 0)return{traceId:r.traceId,spanId:s.spanId(n),traceFlags:o.emit?r.traceFlags&1:0};if(e.type===`activation`){let e=s.traceId(n);return{traceId:e,spanId:s.spanId(n),traceFlags:o.emit&&(a.samples?.(e,i)??!0)?1:0}}return r===void 0?void 0:{...r,spanId:s.spanId(n),isRemote:!1}}}async function y(e,t,n,r,i,a,o){try{return await b(e,t,n,r,i,a,o)}catch(t){return h(t,{phase:`start`,operation:n.type,reference:a.reference}),b(e,A,c(n,A),r,i,{...a,sample:!1,reference:{traceId:a.reference?.traceId??r?.reference.traceId??a.parent?.traceId??g(16).toString(`hex`),spanId:a.reference?.spanId??g(8).toString(`hex`),traceFlags:0}},o)}}async function b(g,b,S,C,w,T,E){if(T.terminal?.error!==null&&typeof T.terminal?.error==`object`&&!(T.terminal.error instanceof Error)&&`message`in T.terminal.error&&typeof T.terminal.error.message==`string`){let e=Error(T.terminal.error.message);e.name=T.terminal.errorCode??`Error`,T={...T,terminal:{...T.terminal,error:e}}}let D=T.key,M=T.startTimeMs??Date.now(),N=T.parent??C?.reference;b.emit&&(b=n(b,a.active()?.capture));let P=b,F=c(S,P),I=l({identity:g,data:F,attempt:w,capture:P,key:D,parent:N,startTimeMs:M,links:T.links},f);I={...I,attributes:{...I.attributes,...T.attributes}},F=O({key:D,identity:g,data:F,capture:P,reference:T.reference??{traceId:`0`.repeat(32),spanId:`0`.repeat(16),traceFlags:0},startTimeMs:M},f).data;let L=T.deferred??(t.durable&&te.has(F.type)),R=T.executionContext,z=T.reference??v(S,D,N,I,P);T.sample===!0&&z!==void 0&&(z={...z,traceFlags:z.traceFlags&1&&P.emit&&(N!==void 0||(a.samples?.(z.traceId,I)??!0))?1:0});let B=L?void 0:m.start(I,P,R,z),V=z??B?.reference;if(V===void 0)throw Error(`A deferred trace scope requires a reserved reference.`);let H=!!(V.traceFlags&1);P={emit:P.emit&&H,recordInputs:P.emit&&H&&P.recordInputs,recordOutputs:P.emit&&H&&P.recordOutputs},F=c(F,P);let U=T.finished??!1,W=T.terminal,G=new Map,K=new Set,ae=T.childSequence??0,q=T.usage,J=new Set(T.usageKeys??[]),Y={},oe=F.type===`tool`?F.options.callId:void 0;function X(){E()}function Z(){return n(P,a.active()?.capture)}async function se(e,n,r={}){let i=G.get(n);if(t.durable&&i!==void 0&&!i.settled)return i.refine(e,r.startTimeMs),i;if(U)throw Error(`The operation is not permitted in this trace scope.`);for(let[e,t]of G)t.settled&&G.delete(e);let a=P;G.size>=k&&(h(Error(`Trace unfinished-child limit reached.`),{phase:`start`,operation:e.type,reference:V}),a=A),e.type===`model`&&B!==void 0&&o(B,{"agent.model.id":e.options.modelId});let s=await y(g,a,e,$,e.type===`step`?{index:e.options.index,attempt:e.options.attempt??0}:w,{key:n,executionContext:R,links:r.links,startTimeMs:r.startTimeMs},E);return(a.emit||G.size<k)&&G.set(n,s),await E(),s}async function Q(e,t){let n=F.type===`step`||F.type===`activation`;for(let r of G.values())(t||!n||!ne.has(r.type))&&await r.release({failed:e.failed,error:e.error,outcome:`abandoned`})}async function ce(e){if(K.size>0&&await Promise.allSettled(K),U)return;let n=Z();n.recordOutputs||(e={...e,error:void 0}),W?.failed&&(e={...e,outcome:e.outcome===`completed`?`failed`:e.outcome,failed:!0,error:W.error,errorCode:e.errorCode??W.errorCode}),U=!0,W=e,await Q(e,e.failed===!0||!t.durable),B??=m.start(I,P,R,V);let i=F.type===`activation`&&e.usage===void 0?{...e,usage:q}:e;try{r(B,F,i,{...n,emit:P.emit},M,f)}catch(e){h(e,{phase:`complete`,operation:F.type,reference:V})}if(o(B,Y),F.type===`model`&&e.model!==void 0){await C?.usage(e.model.usage,D);let t=e.model.content;if(n.recordOutputs&&P.recordOutputs&&t!==void 0){let n=f.outputMessages(t,e.model.finishReason);n!==void 0&&C?.turnContent({output:n})}}B.end(e.endTimeMs),await E()}let $={waitUntil(e){K.add(e),C?.waitUntil(e),e.then(()=>K.delete(e),()=>K.delete(e))},snapshot:()=>ee($.record()),attributes:e=>$.update({attributes:e}),modelCall:(e,t)=>$.child({type:`model`,options:e},t),fail(e){return $.error(e),$.complete({outcome:`failed`,failed:!0})},update(e){if(U)return;let t=d(e.attributes??{},Z())??e.attributes;F.type===`activation`&&(F={...F,options:{...F.options,attributes:{...F.options.attributes,...t}}}),I={...I,attributes:{...I.attributes,...t},links:e.links??I.links},B!==void 0&&o(B,t),X()},useContext(e){R=e;for(let t of G.values())t.useContext(e)},refine(e,t){if(U||B!==void 0)return;if(t!==void 0&&t<M&&(M=t),e.type===`tool`&&F.type===`tool`){let t=F.options;F=c({type:`tool`,options:{...t,kind:t.kind??e.options.kind,arguments:t.arguments??(Z().recordInputs?_(e.options.arguments):void 0)}},P)}let n=l({identity:g,data:F,attempt:w,capture:P,key:D,parent:N,startTimeMs:M,links:I.links},f),r=Object.fromEntries(Object.entries(n.attributes).filter(([,e])=>e!==void 0));I={...I,name:n.name,kind:n.kind,startTimeMs:M,attributes:{...I.attributes,...r}},X()},narrow(e){P={...n(P,e),emit:P.emit},F=c(F,P);let t=d(I.attributes,P)??I.attributes;I={...I,attributes:F.type===`activation`?{...t,"agent.trace.content.input":P.recordInputs,"agent.trace.content.output":P.recordOutputs}:t};let r=d(Y,P)??Y;for(let e of Object.keys(Y))e in r||delete Y[e];!P.recordOutputs&&W?.error!==void 0&&(W={...W,error:void 0}),B?.narrow(P);for(let e of G.values())e.narrow(P);X()},async release(e){U?await Q(e,e.failed===!0||!t.durable):await ce(ie(e))},record(){return O({version:1,finished:U,terminal:W,usage:q,usageKeys:[...J],attributes:{...I.attributes,...Y},childSequence:ae,children:[...G.values()].filter(e=>!e.settled).map(e=>e.record()),key:D,identity:g,data:F,capture:P,reference:V,parent:N,startTimeMs:M,attempt:w,links:I.links},f)},get parent(){return N},get startTimeMs(){return M},child(e,n,r){if(!s(e).includes(F.type))throw Error(`The operation is not permitted in this trace scope.`);let i=n===void 0?(t.durable?re(e):void 0)??`${e.type}:${ae++}`:`${e.type}:${j(n)}`;return se(e,`${D}/${i}`,r)},find(e){let t=re(e),n=t===void 0?void 0:G.get(`${D}/${t}`);return n===void 0||n.settled?void 0:n},get children(){return[...G.values()].filter(e=>!e.settled)},type:F.type,reference:V,callId:oe,get capture(){return P},mcp:u({serializer:f,...P,write(e){let t=d(e,Z())??e;Object.assign(Y,t),B!==void 0&&o(B,t)},error(e,t){$.error(e,t)}}),get finished(){return U},get settled(){return U&&[...G.values()].every(e=>e.settled)},run(e,t){if(U)throw Error(`The trace scope has already finished.`);let r=n(n(P,t),a.active()?.capture),i=F.type===`tool`&&(F.options.kind===`subagent-call`||F.options.kind===`remote-agent-call`)?F.options:void 0,o=i===void 0?e:()=>p({caller:V,conversationId:g.conversationId,parentRunId:g.runId,parentCallId:i.callId,agentName:i.name,capture:r},e);return x(a,{type:$.type,reference:V,capture:r,mcp:$.mcp},o,R)},async complete(e=W??{}){U||await ce(ie(e))},async usage(e,t){t!==void 0&&J.has(t)||(t!==void 0&&J.add(t),B!==void 0&&o(B,i(e)),q={inputTokens:e.inputTokens===void 0?q?.inputTokens:(q?.inputTokens??0)+e.inputTokens,outputTokens:e.outputTokens===void 0?q?.outputTokens:(q?.outputTokens??0)+e.outputTokens,costUsd:e.costUsd===void 0?q?.costUsd:(q?.costUsd??0)+e.costUsd},await C?.usage(e,t))},turnContent(e){if(F.type!==`activation`)return C?.turnContent(e);if(U)return;let t={};e.input!==void 0&&I.attributes[`gen_ai.input.messages`]===void 0&&(t[`gen_ai.input.messages`]=e.input),e.output!==void 0&&(t[`gen_ai.output.messages`]=e.output),Object.keys(t).length>0&&$.update({attributes:t})},error(t,n){W={...W,failed:!0,error:Z().recordOutputs?t instanceof Error?e(t):_(t):void 0,errorCode:n??(t instanceof Error?t.name:void 0)},B!==void 0&&B.fail(W.error,W.errorCode),X()}};for(let e of T.children??[])G.set(e.key,await y(e.identity,n(e.capture,P),e.data,$,e.attempt,{...e,deferred:!0,executionContext:R},E));!U&&B!==void 0&&F.type===`step`&&B.addEvent(`step.started`,void 0,M);let le=I.attributes[`gen_ai.input.messages`];return!U&&F.type===`model`&&typeof le==`string`&&C?.turnContent({input:le}),$}return{start(e){return y(e.identity,e.capture,e.data,void 0,void 0,{key:e.key,parent:e.parent,reference:e.reference,sample:e.reference!==void 0&&e.data.type===`activation`,startTimeMs:e.startTimeMs,links:e.links,executionContext:e.context},e.onChange??(()=>Promise.resolve()))},async restore(e,t={}){if(!D(e)){h(Error(`Invalid tracing checkpoint.`),{phase:`restore`});return}return y(e.identity,n(e.capture,t.capture),e.data,void 0,e.attempt,{...e,deferred:!0,executionContext:t.context},t.onChange??(()=>Promise.resolve()))}}}function N(e,t,n){try{e?.(t,{phase:n})}catch{}}function P(e,t={outcome:`completed`},n){async function r(r,i){if(i===void 0)return e(r);let a=await e(r),o=t;try{let e=await a.run(()=>i(a));try{o=r.describe?.(e)??t}catch(e){N(n,e,`complete`)}return e}catch(e){throw o={outcome:`failed`,errorType:e instanceof Error?e.name:`_OTHER`,error:e},e}finally{try{await a.complete(o)}catch(e){N(n,e,`complete`)}}}return r}function F(e,t,n){let r=t=>Object.defineProperties(t,{finished:{get:()=>e.finished},capture:{get:()=>e.capture},parent:{get:()=>e.parent}}),i={type:e.type,reference:e.reference,get startTimeMs(){return e.startTimeMs},get parent(){return e.parent},get finished(){return e.finished},get capture(){return e.capture},run:(t,n)=>e.run(t,n),attributes:t=>e.attributes(t),complete:t=>e.complete(t),fail:t=>e.fail(t),recordError:(t,n)=>e.error(t,n)},a=async(t,r,i)=>F(await e.child(t,r,i),t,n),o=P(async({startTimeMs:e,...t})=>a({type:`tool`,options:t},void 0,{startTimeMs:e}),void 0,n),s=e=>e===void 0?void 0:F(e,e.record().data,n),c=P(async e=>a({type:`memory`,options:e}),void 0,n);if(t.type===`activation`)return r({...i,memory:c,links:t=>e.update({links:t}),findAttempt:t=>s(e.find({type:`step`,options:{index:t.stepIndex,attempt:t.attempt}})),findTool:t=>s(I(e,t)),attempt:P(async e=>a({type:`step`,options:{index:e.stepIndex,attempt:e.attempt,runtimeContext:e.runtimeContext,channel:e.channel}},void 0,{links:e.links}),void 0,n)});if(t.type===`step`){let t=e=>P(async t=>a({type:`tool`,options:{callId:t.callId,name:t.agentName,kind:e}}),void 0,n),s=(e,t)=>a({type:`model`,options:e},t);async function l(e,t){if(typeof t!=`function`)return s(e,t);let r=await s(e),i;try{i=await r.run(t)}catch(e){try{await r.fail(e)}catch(e){N(n,e,`complete`)}throw e}try{await r.complete({outcome:`completed`,result:i})}catch(e){N(n,e,`complete`)}return i.result}return r({...i,memory:c,tool:o,callSubAgent:t(`subagent-call`),callRemoteAgent:t(`remote-agent-call`),modelCall:l,async modelStream(t,r){let i=await s(t);try{let t=await i.run(r),a=Promise.resolve(t.completion).then(e=>i.complete({outcome:`completed`,result:e}),e=>i.fail(e)).catch(e=>N(n,e,`complete`));return e.waitUntil(a),t.result}catch(e){try{await i.fail(e)}catch(e){N(n,e,`complete`)}throw e}}})}return t.type===`tool`?r({...i,memory:c,tool:o,findApproval:n=>s(e.find({type:`approval`,options:{requestId:n,callId:t.options.callId,toolName:t.options.name}})),approval:P(async e=>a({type:`approval`,options:{...e,callId:t.options.callId,toolName:t.options.name}}),{outcome:`ignored`},n)}):i}function I(e,t){for(let n of e.children){if(n.type===`tool`&&n.callId===t)return n;if(n.type===`step`||n.type===`tool`){let e=I(n,t);if(e!==void 0)return e}}}const L={emit:!0,recordInputs:!1,recordOutputs:!1};function R(e){let r=e.telemetry??t(),i=e.checkpointer;if(i!==void 0&&r.ids===void 0)throw Error(`Durable agent tracing needs stable span IDs. Pass the AgentSpanIdGenerator installed on your tracer provider to otelTelemetry({ idGenerator }).`);let a=(t,n)=>{try{e.onError?.(t,n)}catch{}},o=M({telemetry:r,serializer:e.serializer??f,durable:i!==void 0,onError:e.onError}),s=new Map;function c(e){return i===void 0?`turn:${_()}`:[`turn`,e.runId,e.turnId].map(encodeURIComponent).join(`:`)}function l(e,t){let n=Promise.resolve();return()=>{let r=t();return i===void 0||r===void 0?n:(r.writes++,n=n.then(async()=>{try{if(r.root.settled)s.delete(e),await i.delete(e);else{let t=_();await i.set(e,ee({...r.root.record(),revision:t})),r.revision=t}}catch(e){a(e,{phase:`checkpoint`,operation:`activation`})}finally{r.writes--}}),n)}}async function u(e){try{return await i.get(e)}catch(e){a(e,{phase:`restore`,operation:`activation`});return}}async function d(e,t,r,a,s){let c=m()?.capture;s=s===void 0?c:n(s,c);let d=i===void 0?void 0:await u(e);if(t!==void 0&&(t.writes>0||d?.revision===t.revision))return a!==void 0&&t.root.useContext(a),s!==void 0&&t.root.narrow(s),t;let f,p=l(e,()=>f),h=d===void 0?void 0:await o.restore(d,{capture:s,context:a,onChange:p}),g=h??await r?.(p);if(g!==void 0)return f={root:g,revision:d?.revision,writes:0},h===void 0&&await p(),f}function p(e,t){let n=s.get(e),r=(async()=>t(n===void 0?void 0:await n.catch(()=>void 0)))();return s.set(e,r),r.then(t=>{(t===void 0||t.root.settled)&&s.delete(e)},()=>s.delete(e)),s.size>1e3&&s.delete(s.keys().next().value),r}function h(e,t){return i=>{let a=m(),s=n(e.capture??L,a?.capture),c=a!==void 0&&e.sequence===0,l=e.parent??(c&&a?.remote!==!0?a?.caller:void 0),u=[...c&&a?.remote===!0?[{relationship:`agent.dispatch`,context:a.caller}]:[],...e.links??[]];return o.start({identity:{...e.identity,conversationId:a?.conversationId??e.identity.conversationId,agentName:e.agentName,framework:e.framework},key:t,capture:s,parent:l,reference:r.ids===void 0?void 0:e.reference,startTimeMs:e.startTimeMs,data:{type:`activation`,options:{sequence:e.sequence,attributes:e.attributes,channel:e.channel,subagent:a!==void 0||e.lineage!==void 0,subagentName:a?.agentName??e.lineage?.agentName,parentRunId:a?.parentRunId??e.lineage?.parentRunId,parentCallId:a?.parentCallId??e.lineage?.parentCallId}},links:u.length===0?void 0:u,context:e.context,onChange:i})}}function g(t){return F(t,{type:`activation`,options:{sequence:0}},e.onError)}async function v(e){let t=c(e.identity);return g((i===void 0?await d(t,void 0,h(e,t),e.context):await p(t,n=>d(t,n,h(e,t),e.context,e.capture))).root)}async function y(e){if(i===void 0)return;let t=c(e.identity),n=await p(t,n=>d(t,n,void 0,e.context));return n===void 0?void 0:g(n.root)}async function b(e){try{await e()}catch(e){a(e,{phase:`complete`})}}async function x(e,t,n){let i=r.active(),s=await o.start({identity:t.identity,key:`memory:${_()}`,capture:t.capture??i?.capture??L,parent:t.parent??i?.reference,context:t.context,data:{type:`memory`,options:{operation:e,phase:t.phase,slot:t.slot,storeId:t.storeId}}}),c;try{c=await s.run(n)}catch(e){throw await s.fail(e).catch(e=>a(e,{phase:`complete`})),e}return await s.complete({outcome:`completed`,...t.describe?.(c)}).catch(e=>a(e,{phase:`complete`})),c}return{turn:P(v,void 0,e.onError),resume:y,memory:{search:(e,t)=>x(`search_memory`,e,t),write:(e,t)=>x(`upsert_memory`,e,t)},forceFlush:()=>b(()=>r.forceFlush()),shutdown:()=>b(()=>r.shutdown())}}export{v as AgentSpanIdGenerator,R as createAgentRun,a as currentCapture,t as otelTelemetry};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{a as e,r as t,s as n,t as r}from"../../_chunks/workflow/rolldown-runtime-B_knIduE.js";import{i,n as a,o,t as s}from"../../_chunks/workflow/undici-D-ILjOKD.js";import{$ as c,A as l,B as u,C as d,E as f,F as p,I as m,K as h,M as g,N as _,O as v,P as y,R as b,S as x,U as S,V as C,W as w,Z as ee,_t as T,c as te,ct as ne,dt as re,g as ie,h as ae,ht as oe,it as se,j as ce,k as le,l as ue,m as de,nt as fe,o as pe,pt as me,r as he,rt as ge,v as _e,x as ve,y as ye,z as be}from"../../_chunks/workflow/dist-CyBgVS7g.js";import{A as xe,_ as E,b as Se,f as Ce,j as D,k as we,l as Te,o as Ee,r as De,s as Oe,t as ke,v as Ae,y as je}from"../../_chunks/workflow/dist-T5NnW-0k.js";import{a as Me,i as Ne,n as Pe,o as Fe,r as Ie,s as Le,t as Re}from"../../_chunks/workflow/run-id-Ct9AjQDR.js";import{i as ze,r as Be,t as Ve}from"../../_chunks/workflow/token-util-Bla5Z0G9.js";import{n as He,t as Ue}from"../../_chunks/workflow/wrapper-Dq4OeGmJ.js";import*as We from"#compiled/zod/index.js";import Ge,{z as O}from"#compiled/zod/index.js";import{
|
|
1
|
+
import{a as e,r as t,s as n,t as r}from"../../_chunks/workflow/rolldown-runtime-B_knIduE.js";import{i,n as a,o,t as s}from"../../_chunks/workflow/undici-D-ILjOKD.js";import{$ as c,A as l,B as u,C as d,E as f,F as p,I as m,K as h,M as g,N as _,O as v,P as y,R as b,S as x,U as S,V as C,W as w,Z as ee,_t as T,c as te,ct as ne,dt as re,g as ie,h as ae,ht as oe,it as se,j as ce,k as le,l as ue,m as de,nt as fe,o as pe,pt as me,r as he,rt as ge,v as _e,x as ve,y as ye,z as be}from"../../_chunks/workflow/dist-CyBgVS7g.js";import{A as xe,_ as E,b as Se,f as Ce,j as D,k as we,l as Te,o as Ee,r as De,s as Oe,t as ke,v as Ae,y as je}from"../../_chunks/workflow/dist-T5NnW-0k.js";import{a as Me,i as Ne,n as Pe,o as Fe,r as Ie,s as Le,t as Re}from"../../_chunks/workflow/run-id-Ct9AjQDR.js";import{i as ze,r as Be,t as Ve}from"../../_chunks/workflow/token-util-Bla5Z0G9.js";import{n as He,t as Ue}from"../../_chunks/workflow/wrapper-Dq4OeGmJ.js";import*as We from"#compiled/zod/index.js";import Ge,{z as O}from"#compiled/zod/index.js";import{randomUUID as Ke}from"crypto";import{webcrypto as qe}from"node:crypto";import{createRequire as Je}from"module";import*as Ye from"path";import{inspect as Xe}from"node:util";import{AsyncLocalStorage as Ze}from"node:async_hooks";import Qe from"node:assert/strict";import $e from"node:os";import*as et from"fs";import tt from"assert/strict";import*as nt from"net";var rt=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{SYMBOL_FOR_REQ_CONTEXT:()=>u,getContext:()=>d}),t.exports=c(l);let u=Symbol.for(`@vercel/request-context`);function d(){return globalThis[u]?.get?.()??{}}0&&(t.exports={SYMBOL_FOR_REQ_CONTEXT:u,getContext:d})})),it=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{VercelOidcTokenError:()=>u}),t.exports=c(l);var u=class extends Error{constructor(e,t){super(e),this.name=`VercelOidcTokenError`,this.cause=t}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}};0&&(t.exports={VercelOidcTokenError:u})})),at=r(((e,t)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{getVercelOidcToken:()=>p,getVercelOidcTokenSync:()=>m}),t.exports=l(u);var d=rt(),f=it();async function p(e){let t=``,r;try{t=m()}catch(e){r=e}try{let[{getTokenPayload:r,isExpired:i},{refreshToken:a}]=await Promise.all([await Promise.resolve().then(()=>n(ut())),await import(`../../_chunks/workflow/token-Cv2GYj9A.js`).then(e=>n(e.default))]);(!t||i(r(t),e?.expirationBufferMs))&&(await a(e),t=m())}catch(e){let t=r instanceof Error?r.message:``;throw e instanceof Error&&(t=`${t}
|
|
2
2
|
${e.message}`),t?new f.VercelOidcTokenError(t):e}return t}function m(){let e=(0,d.getContext)().headers?.[`x-vercel-oidc-token`]??process.env.VERCEL_OIDC_TOKEN;if(!e)throw Error(`The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?`);return e}0&&(t.exports={getVercelOidcToken:p,getVercelOidcTokenSync:m})})),ot=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>u,RefreshAccessTokenFailedError:()=>d}),t.exports=c(l);var u=class extends Error{constructor(){super(`No authentication found. Please log in with the Vercel CLI (vercel login).`),this.name=`AccessTokenMissingError`}},d=class extends Error{constructor(e){super(`Failed to refresh authentication token.`,{cause:e}),this.name=`RefreshAccessTokenFailedError`}};0&&(t.exports={AccessTokenMissingError:u,RefreshAccessTokenFailedError:d})})),st=r(((t,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{findRootDir:()=>v,getUserDataDir:()=>y}),n.exports=f(p);var m=d(e(`path`)),h=d(e(`fs`)),g=d(e(`os`)),_=it();function v(){try{let e=process.cwd();for(;e!==m.default.dirname(e);){let t=m.default.join(e,`.vercel`);if(h.default.existsSync(t))return e;e=m.default.dirname(e)}}catch{throw new _.VercelOidcTokenError(`Token refresh only supported in node server environments`)}return null}function y(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(g.default.platform()){case`darwin`:return m.default.join(g.default.homedir(),`Library/Application Support`);case`linux`:return m.default.join(g.default.homedir(),`.local/share`);case`win32`:return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}0&&(n.exports={findRootDir:v,getUserDataDir:y})})),ct=r(((t,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{isValidAccessToken:()=>b,readAuthConfig:()=>v,writeAuthConfig:()=>y}),n.exports=f(p);var m=d(e(`fs`)),h=d(e(`path`)),g=ut();function _(){let e=(0,g.getVercelDataDir)();if(!e)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return h.join(e,`auth.json`)}function v(){try{let e=_();if(!m.existsSync(e))return null;let t=m.readFileSync(e,`utf8`);return t?JSON.parse(t):null}catch{return null}}function y(e){let t=_(),n=h.dirname(t);m.existsSync(n)||m.mkdirSync(n,{mode:504,recursive:!0}),m.writeFileSync(t,JSON.stringify(e,null,2),{mode:384})}function b(e,t=0){if(!e.token)return!1;if(typeof e.expiresAt!=`number`)return!0;let n=Math.floor(Date.now()/1e3),r=t/1e3;return e.expiresAt>=n+r}0&&(n.exports={isValidAccessToken:b,readAuthConfig:v,writeAuthConfig:y})})),lt=r(((t,n)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{processTokenResponse:()=>g,refreshTokenRequest:()=>h}),n.exports=l(u);var d=e(`os`);let f=`@vercel/oidc node-${process.version} ${(0,d.platform)()} (${(0,d.arch)()}) ${(0,d.hostname)()}`,p=null;async function m(){if(p)return p;let e=await fetch(`https://vercel.com/.well-known/openid-configuration`,{headers:{"user-agent":f}});if(!e.ok)throw Error(`Failed to discover OAuth endpoints`);let t=await e.json();if(!t||typeof t.token_endpoint!=`string`)throw Error(`Invalid OAuth discovery response`);let n=t.token_endpoint;return p=n,n}async function h(e){let t=await m();return await fetch(t,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,"user-agent":f},body:new URLSearchParams({client_id:`cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp`,grant_type:`refresh_token`,...e})})}async function g(e){let t=await e.json();if(!e.ok){let e=typeof t==`object`&&t&&`error`in t?String(t.error):`Token refresh failed`;return[Error(e)]}return typeof t!=`object`||!t?[Error(`Invalid token response`)]:typeof t.access_token==`string`?t.token_type===`Bearer`?typeof t.expires_in==`number`?[null,t]:[Error(`Missing expires_in in response`)]:[Error(`Invalid token_type in response`)]:[Error(`Missing access_token in response`)]}0&&(n.exports={processTokenResponse:g,refreshTokenRequest:h})})),ut=r(((t,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{assertVercelOidcTokenResponse:()=>w,findProjectInfo:()=>ee,getTokenPayload:()=>ne,getVercelDataDir:()=>x,getVercelOidcToken:()=>C,getVercelToken:()=>S,isExpired:()=>re,loadToken:()=>te,saveToken:()=>T}),n.exports=f(p);var m=d(e(`path`)),h=d(e(`fs`)),g=it(),_=st(),v=ct(),y=lt(),b=ot();function x(){let e=(0,_.getUserDataDir)();return e?m.join(e,`com.vercel.cli`):null}async function S(e){let t=(0,v.readAuthConfig)();if(!t?.token)throw new b.AccessTokenMissingError;if((0,v.isValidAccessToken)(t,e?.expirationBufferMs))return t.token;if(!t.refreshToken)throw(0,v.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError(`No refresh token available`);try{let e=await(0,y.refreshTokenRequest)({refresh_token:t.refreshToken}),[n,r]=await(0,y.processTokenResponse)(e);if(n||!r)throw(0,v.writeAuthConfig)({}),new b.RefreshAccessTokenFailedError(n);let i={token:r.access_token,expiresAt:Math.floor(Date.now()/1e3)+r.expires_in};return r.refresh_token&&(i.refreshToken=r.refresh_token),(0,v.writeAuthConfig)(i),i.token}catch(e){throw(0,v.writeAuthConfig)({}),e instanceof b.AccessTokenMissingError||e instanceof b.RefreshAccessTokenFailedError?e:new b.RefreshAccessTokenFailedError(e)}}async function C(e,t,n){let r=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${n?`&teamId=${n}`:``}`,i=await fetch(r,{method:`POST`,headers:{Authorization:`Bearer ${e}`}});if(!i.ok)throw new g.VercelOidcTokenError(`Failed to refresh OIDC token: ${i.statusText}`);let a=await i.json();return w(a),a}function w(e){if(!e||typeof e!=`object`)throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!(`token`in e)||typeof e.token!=`string`)throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function ee(){let e=(0,_.findRootDir)();if(!e)throw new g.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let t=m.join(e,`.vercel`,`project.json`);if(!h.existsSync(t))throw new g.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let n=JSON.parse(h.readFileSync(t,`utf8`));if(typeof n.projectId!=`string`&&typeof n.orgId!=`string`)throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:n.projectId,teamId:n.orgId}}function T(e,t){let n=(0,_.getUserDataDir)();if(!n)throw new g.VercelOidcTokenError(`Unable to find user data directory. Please reach out to Vercel support.`);let r=m.join(n,`com.vercel.token`,`${t}.json`),i=JSON.stringify(e);h.mkdirSync(m.dirname(r),{mode:504,recursive:!0}),h.writeFileSync(r,i),h.chmodSync(r,432)}function te(e){let t=(0,_.getUserDataDir)();if(!t)throw new g.VercelOidcTokenError(`Unable to find user data directory. Please reach out to Vercel support.`);let n=m.join(t,`com.vercel.token`,`${e}.json`);if(!h.existsSync(n))return null;let r=JSON.parse(h.readFileSync(n,`utf8`));return w(r),r}function ne(e){let t=e.split(`.`);if(t.length!==3)throw new g.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`),r=n.padEnd(n.length+(4-n.length%4)%4,`=`);return JSON.parse(Buffer.from(r,`base64`).toString(`utf8`))}function re(e,t=0){return e.exp*1e3<Date.now()+t}0&&(n.exports={assertVercelOidcTokenResponse:w,findProjectInfo:ee,getTokenPayload:ne,getVercelDataDir:x,getVercelOidcToken:C,getVercelToken:S,isExpired:re,loadToken:te,saveToken:T})})),dt=r(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>f.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>f.RefreshAccessTokenFailedError,getContext:()=>d.getContext,getVercelOidcToken:()=>u.getVercelOidcToken,getVercelOidcTokenSync:()=>u.getVercelOidcTokenSync,getVercelToken:()=>p.getVercelToken}),t.exports=c(l);var u=at(),d=rt(),f=ot(),p=ut();0&&(t.exports={AccessTokenMissingError,RefreshAccessTokenFailedError,getContext,getVercelOidcToken,getVercelOidcTokenSync,getVercelToken})}))();let ft;try{ft=new TextDecoder}catch{}let k,pt,A=0;const mt=[],ht=57337,gt={};let _t=11281e4,vt=1681e4,yt=mt,bt=0,j={},M,xt,St=0,Ct=0,N,wt,P=[],Tt=[],Et,F,Dt,Ot={useRecords:!1,mapsAsObjects:!0},kt=!1,At=2;try{Function(``)}catch{At=1/0}var jt=class e{constructor(e){if(e&&((e.keyMap||e._keyMap)&&!e.useRecords&&(e.useRecords=!1,e.mapsAsObjects=!0),e.useRecords===!1&&e.mapsAsObjects===void 0&&(e.mapsAsObjects=!0),e.getStructures&&(e.getShared=e.getStructures),e.getShared&&!e.structures&&((e.structures=[]).uninitialized=!0),e.keyMap)){this.mapKey=new Map;for(let[t,n]of Object.entries(e.keyMap))this.mapKey.set(n,t)}Object.assign(this,e)}decodeKey(e){return this.keyMap&&this.mapKey.get(e)||e}encodeKey(e){return this.keyMap&&this.keyMap.hasOwnProperty(e)?this.keyMap[e]:e}encodeKeys(e){if(!this._keyMap)return e;let t=new Map;for(let[n,r]of Object.entries(e))t.set(this._keyMap.hasOwnProperty(n)?this._keyMap[n]:n,r);return t}decodeKeys(e){if(!this._keyMap||e.constructor.name!=`Map`)return e;if(!this._mapKey){this._mapKey=new Map;for(let[e,t]of Object.entries(this._keyMap))this._mapKey.set(t,e)}let t={};return e.forEach((e,n)=>t[Ft(this._mapKey.has(n)?this._mapKey.get(n):n)]=e),t}mapDecode(e,t){let n=this.decode(e);if(this._keyMap)switch(n.constructor.name){case`Array`:return n.map(e=>this.decodeKeys(e))}return n}decode(t,n){if(k)return an(()=>(on(),this?this.decode(t,n):e.prototype.decode.call(Ot,t,n)));pt=n>-1?n:t.length,A=0,bt=0,Ct=0,xt=null,yt=mt,N=null,k=t;try{F=t.dataView||=new DataView(t.buffer,t.byteOffset,t.byteLength)}catch(e){throw k=null,t instanceof Uint8Array?e:Error(`Source must be a Uint8Array or Buffer but was a `+(t&&typeof t==`object`?t.constructor.name:typeof t))}if(this instanceof e){if(j=this,Et=this.sharedValues&&(this.pack?Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return M=this.structures,Mt();(!M||M.length>0)&&(M=[])}else j=Ot,(!M||M.length>0)&&(M=[]),Et=null;return Mt()}decodeMultiple(e,t){let n,r=0;try{let i=e.length;kt=!0;let a=this?this.decode(e,i):cn.decode(e,i);if(t){if(t(a)===!1)return;for(;A<i;)if(r=A,t(Mt())===!1)return}else{for(n=[a];A<i;)r=A,n.push(Mt());return n}}catch(e){throw e.lastPosition=r,e.values=n,e}finally{kt=!1,on()}}};function Mt(){try{let e=I();if(N){if(A>=N.postBundlePosition){let e=Error(`Unexpected bundle position`);throw e.incomplete=!0,e}A=N.postBundlePosition,N=null}if(A==pt)M=null,k=null,wt&&=null;else if(A>pt){let e=Error(`Unexpected end of CBOR data`);throw e.incomplete=!0,e}else if(!kt)throw Error(`Data read, but end of buffer not reached`);return e}catch(e){throw on(),(e instanceof RangeError||e.message.startsWith(`Unexpected end of buffer`))&&(e.incomplete=!0),e}}function I(){let e=k[A++],t=e>>5;if(e&=31,e>23)switch(e){case 24:e=k[A++];break;case 25:if(t==7)return Wt();e=F.getUint16(A),A+=2;break;case 26:if(t==7){let e=F.getFloat32(A);if(j.useFloat32>2){let t=sn[(k[A]&127)<<1|k[A+1]>>7];return A+=4,(t*e+(e>0?.5:-.5)>>0)/t}return A+=4,e}e=F.getUint32(A),A+=4;break;case 27:if(t==7){let e=F.getFloat64(A);return A+=8,e}if(t>1){if(F.getUint32(A)>0)throw Error(`JavaScript does not support arrays, maps, or strings with length over 4294967295`);e=F.getUint32(A+4)}else j.int64AsNumber?(e=F.getUint32(A)*4294967296,e+=F.getUint32(A+4)):e=F.getBigUint64(A);A+=8;break;case 31:switch(t){case 2:case 3:throw Error(`Indefinite length not supported for byte or text strings`);case 4:let e=[],n,r=0;for(;(n=I())!=gt;){if(r>=_t)throw Error(`Array length exceeds ${_t}`);e[r++]=n}return t==4?e:t==3?e.join(``):Buffer.concat(e);case 5:let i;if(j.mapsAsObjects){let e={},t=0;if(j.keyMap)for(;(i=I())!=gt;){if(t++>=vt)throw Error(`Property count exceeds ${vt}`);e[Ft(j.decodeKey(i))]=I()}else for(;(i=I())!=gt;){if(t++>=vt)throw Error(`Property count exceeds ${vt}`);e[Ft(i)]=I()}return e}{Dt&&=(j.mapsAsObjects=!0,!1);let e=new Map;if(j.keyMap){let t=0;for(;(i=I())!=gt;){if(t++>=vt)throw Error(`Map size exceeds ${vt}`);e.set(j.decodeKey(i),I())}}else{let t=0;for(;(i=I())!=gt;){if(t++>=vt)throw Error(`Map size exceeds ${vt}`);e.set(i,I())}}return e}case 7:return gt;default:throw Error(`Invalid major type for indefinite length `+t)}default:throw Error(`Unknown token `+e)}switch(t){case 0:return e;case 1:return~e;case 2:return Vt(e);case 3:if(Ct>=A)return xt.slice(A-St,(A+=e)-St);if(Ct==0&&pt<140&&e<32){let t=e<16?Bt(e):zt(e);if(t!=null)return t}return It(e);case 4:if(e>=_t)throw Error(`Array length exceeds ${_t}`);let t=Array(e);for(let n=0;n<e;n++)t[n]=I();return t;case 5:if(e>=vt)throw Error(`Map size exceeds ${_t}`);if(j.mapsAsObjects){let t={};if(j.keyMap)for(let n=0;n<e;n++)t[Ft(j.decodeKey(I()))]=I();else for(let n=0;n<e;n++)t[Ft(I())]=I();return t}{Dt&&=(j.mapsAsObjects=!0,!1);let t=new Map;if(j.keyMap)for(let n=0;n<e;n++)t.set(j.decodeKey(I()),I());else for(let n=0;n<e;n++)t.set(I(),I());return t}case 6:if(e>=ht){let t=M[e&8191];if(t)return t.read||(t.read=Pt(t)),t.read();if(e<65536){if(e==57343){let e=nn(),t=I(),n=I();Kt(t,n);let r={};if(j.keyMap)for(let t=2;t<e;t++){let e=j.decodeKey(n[t-2]);r[Ft(e)]=I()}else for(let t=2;t<e;t++){let e=n[t-2];r[Ft(e)]=I()}return r}if(e==57342){let e=nn(),t=I();for(let n=2;n<e;n++)Kt(t++,I());return I()}if(e==ht)return tn();if(j.getShared&&(rn(),t=M[e&8191],t))return t.read||(t.read=Pt(t)),t.read()}}let n=P[e];if(n)return n.handlesRead?n(I):n(I());{let t=I();for(let n=0;n<Tt.length;n++){let r=Tt[n](e,t);if(r!==void 0)return r}return new Gt(t,e)}case 7:switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;default:let t=(Et||Xt())[e];if(t!==void 0)return t;throw Error(`Unknown token `+e)}default:if(isNaN(e)){let e=Error(`Unexpected end of CBOR data`);throw e.incomplete=!0,e}throw Error(`Unknown CBOR token `+e)}}const Nt=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;function Pt(e){if(!e)throw Error(`Structure is required in record definition`);function t(){let e=k[A++];if(e&=31,e>23)switch(e){case 24:e=k[A++];break;case 25:e=F.getUint16(A),A+=2;break;case 26:e=F.getUint32(A),A+=4;break;default:throw Error(`Expected array header, but got `+k[A-1])}let t=this.compiledReader;for(;t;){if(t.propertyCount===e)return t(I);t=t.next}if(this.slowReads++>=At){let n=this.length==e?this:this.slice(0,e);return t=j.keyMap?Function(`r`,`return {`+n.map(e=>j.decodeKey(e)).map(e=>Nt.test(e)?Ft(e)+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`}`):Function(`r`,`return {`+n.map(e=>Nt.test(e)?Ft(e)+`:r()`:`[`+JSON.stringify(e)+`]:r()`).join(`,`)+`}`),this.compiledReader&&(t.next=this.compiledReader),t.propertyCount=e,this.compiledReader=t,t(I)}let n={};if(j.keyMap)for(let t=0;t<e;t++)n[Ft(j.decodeKey(this[t]))]=I();else for(let t=0;t<e;t++)n[Ft(this[t])]=I();return n}return e.slowReads=0,t}function Ft(e){if(typeof e==`string`)return e===`__proto__`?`__proto_`:e;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return e.toString();if(e==null)return e+``;throw Error(`Invalid property name type `+typeof e)}let It=Rt;function Lt(e){It=t(1);function t(t){return function(t){let n=yt[bt++];if(n==null){if(N)return Rt(t);let r=e(A,pt,t,k);if(typeof r==`string`)n=r,yt=mt;else if(yt=r,bt=1,Ct=1,n=yt[0],n===void 0)throw Error(`Unexpected end of buffer`)}let r=n.length;return r<=t?(A+=t,n):(xt=n,St=A,Ct=A+r,A+=t,n.slice(0,t))}}}function Rt(e){let t;if(e<16&&(t=Bt(e)))return t;if(e>64&&ft)return ft.decode(k.subarray(A,A+=e));let n=A+e,r=[];for(t=``;A<n;){let e=k[A++];if(!(e&128))r.push(e);else if((e&224)==192){let t=k[A++]&63;r.push((e&31)<<6|t)}else if((e&240)==224){let t=k[A++]&63,n=k[A++]&63;r.push((e&31)<<12|t<<6|n)}else if((e&248)==240){let t=k[A++]&63,n=k[A++]&63,i=k[A++]&63,a=(e&7)<<18|t<<12|n<<6|i;a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|a&1023),r.push(a)}else r.push(e);r.length>=4096&&(t+=L.apply(String,r),r.length=0)}return r.length>0&&(t+=L.apply(String,r)),t}let L=String.fromCharCode;function zt(e){let t=A,n=Array(e);for(let r=0;r<e;r++){let e=k[A++];if((e&128)>0){A=t;return}n[r]=e}return L.apply(String,n)}function Bt(e){if(e<4){if(e<2){if(e===0)return``;{let e=k[A++];if((e&128)>1){--A;return}return L(e)}}{let t=k[A++],n=k[A++];if((t&128)>0||(n&128)>0){A-=2;return}if(e<3)return L(t,n);let r=k[A++];if((r&128)>0){A-=3;return}return L(t,n,r)}}{let t=k[A++],n=k[A++],r=k[A++],i=k[A++];if((t&128)>0||(n&128)>0||(r&128)>0||(i&128)>0){A-=4;return}if(e<6){if(e===4)return L(t,n,r,i);{let e=k[A++];if((e&128)>0){A-=5;return}return L(t,n,r,i,e)}}if(e<8){let a=k[A++],o=k[A++];if((a&128)>0||(o&128)>0){A-=6;return}if(e<7)return L(t,n,r,i,a,o);let s=k[A++];if((s&128)>0){A-=7;return}return L(t,n,r,i,a,o,s)}{let a=k[A++],o=k[A++],s=k[A++],c=k[A++];if((a&128)>0||(o&128)>0||(s&128)>0||(c&128)>0){A-=8;return}if(e<10){if(e===8)return L(t,n,r,i,a,o,s,c);{let e=k[A++];if((e&128)>0){A-=9;return}return L(t,n,r,i,a,o,s,c,e)}}if(e<12){let l=k[A++],u=k[A++];if((l&128)>0||(u&128)>0){A-=10;return}if(e<11)return L(t,n,r,i,a,o,s,c,l,u);let d=k[A++];if((d&128)>0){A-=11;return}return L(t,n,r,i,a,o,s,c,l,u,d)}{let l=k[A++],u=k[A++],d=k[A++],f=k[A++];if((l&128)>0||(u&128)>0||(d&128)>0||(f&128)>0){A-=12;return}if(e<14){if(e===12)return L(t,n,r,i,a,o,s,c,l,u,d,f);{let e=k[A++];if((e&128)>0){A-=13;return}return L(t,n,r,i,a,o,s,c,l,u,d,f,e)}}{let p=k[A++],m=k[A++];if((p&128)>0||(m&128)>0){A-=14;return}if(e<15)return L(t,n,r,i,a,o,s,c,l,u,d,f,p,m);let h=k[A++];if((h&128)>0){A-=15;return}return L(t,n,r,i,a,o,s,c,l,u,d,f,p,m,h)}}}}}function Vt(e){return j.copyBuffers?Uint8Array.prototype.slice.call(k,A,A+=e):k.subarray(A,A+=e)}let Ht=new Float32Array(1),Ut=new Uint8Array(Ht.buffer,0,4);function Wt(){let e=k[A++],t=k[A++],n=(e&127)>>2;if(n===31)return t||e&3?NaN:e&128?-1/0:1/0;if(n===0){let n=((e&3)<<8|t)/(1<<24);return e&128?-n:n}return Ut[3]=e&128|(n>>1)+56,Ut[2]=(e&7)<<5|t>>3,Ut[1]=t<<5,Ut[0]=0,Ht[0]}Array(4096);var Gt=class{constructor(e,t){this.value=e,this.tag=t}};P[0]=e=>new Date(e),P[1]=e=>new Date(Math.round(e*1e3)),P[2]=e=>{let t=BigInt(0);for(let n=0,r=e.byteLength;n<r;n++)t=BigInt(e[n])+(t<<BigInt(8));return t},P[3]=e=>BigInt(-1)-P[2](e),P[4]=e=>+(e[1]+`e`+e[0]),P[5]=e=>e[1]*Math.exp(e[0]*Math.log(2));const Kt=(e,t)=>{e-=57344;let n=M[e];n&&n.isShared&&((M.restoreStructures||(M.restoreStructures=[]))[e]=n),M[e]=t,t.read=Pt(t)};P[105]=e=>{let t=e.length,n=e[1];Kt(e[0],n);let r={};for(let i=2;i<t;i++){let t=n[i-2];r[Ft(t)]=e[i]}return r},P[14]=e=>N?N[0].slice(N.position0,N.position0+=e):new Gt(e,14),P[15]=e=>N?N[1].slice(N.position1,N.position1+=e):new Gt(e,15);let qt={Error,RegExp};P[27]=e=>(qt[e[0]]||Error)(e[1],e[2]);const Jt=e=>{if(k[A++]!=132){let e=Error(`Packed values structure must be followed by a 4 element array`);throw k.length<A&&(e.incomplete=!0),e}let t=e();if(!t||!t.length){let e=Error(`Packed values structure must be followed by a 4 element array`);throw e.incomplete=!0,e}return Et=Et?t.concat(Et.slice(t.length)):t,Et.prefixes=e(),Et.suffixes=e(),e()};Jt.handlesRead=!0,P[51]=Jt,P[6]=e=>{if(!Et){if(j.getShared)rn();else return new Gt(e,6)}if(typeof e==`number`)return Et[16+(e>=0?2*e:-2*e-1)];let t=Error(`No support for non-integer packed references yet`);throw e===void 0&&(t.incomplete=!0),t},P[28]=e=>{wt||(wt=new Map,wt.id=0);let t=wt.id++,n=A,r=k[A],i;i=r>>5==4?[]:{};let a={target:i};wt.set(t,a);let o=e();return a.used?(Object.getPrototypeOf(i)!==Object.getPrototypeOf(o)&&(A=n,i=o,wt.set(t,{target:i}),o=e()),Object.assign(i,o)):(a.target=o,o)},P[28].handlesRead=!0,P[29]=e=>{let t=wt.get(e);return t.used=!0,t.target},P[258]=e=>new Set(e),(P[259]=e=>(j.mapsAsObjects&&(j.mapsAsObjects=!1,Dt=!0),e())).handlesRead=!0;function Yt(e,t){return typeof e==`string`?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function Xt(){if(!Et){if(j.getShared)rn();else throw Error(`No packed values available`)}return Et}Tt.push((e,t)=>{if(e>=225&&e<=255)return Yt(Xt().prefixes[e-224],t);if(e>=28704&&e<=32767)return Yt(Xt().prefixes[e-28672],t);if(e>=1879052288&&e<=2147483647)return Yt(Xt().prefixes[e-1879048192],t);if(e>=216&&e<=223)return Yt(t,Xt().suffixes[e-216]);if(e>=27647&&e<=28671)return Yt(t,Xt().suffixes[e-27639]);if(e>=1811940352&&e<=1879048191)return Yt(t,Xt().suffixes[e-1811939328]);if(e==1399353956)return{packedValues:Et,structures:M.slice(0),version:t};if(e==55799)return t});const Zt=new Uint8Array(new Uint16Array([1]).buffer)[0]==1,Qt=[Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>`u`?{name:`BigUint64Array`}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>`u`?{name:`BigInt64Array`}:BigInt64Array,Float32Array,Float64Array],$t=[64,68,69,70,71,72,77,78,79,85,86];for(let e=0;e<Qt.length;e++)en(Qt[e],$t[e]);function en(e,t){let n=`get`+e.name.slice(0,-5),r;typeof e==`function`?r=e.BYTES_PER_ELEMENT:e=null;for(let i=0;i<2;i++){if(!i&&r==1)continue;let a=r==2?1:r==4?2:r==8?3:0;P[i?t:t-4]=r==1||i==Zt?n=>{if(!e)throw Error(`Could not find typed array for code `+t);return!j.copyBuffers&&(r===1||r===2&&!(n.byteOffset&1)||r===4&&!(n.byteOffset&3)||r===8&&!(n.byteOffset&7))?new e(n.buffer,n.byteOffset,n.byteLength>>a):new e(Uint8Array.prototype.slice.call(n,0).buffer)}:r=>{if(!e)throw Error(`Could not find typed array for code `+t);let o=new DataView(r.buffer,r.byteOffset,r.byteLength),s=r.length>>a,c=new e(s),l=o[n];for(let e=0;e<s;e++)c[e]=l.call(o,e<<a,i);return c}}}function tn(){let e=nn(),t=A+I();for(let t=2;t<e;t++){let e=nn();A+=e}let n=A;return A=t,N=[Rt(nn()),Rt(nn())],N.position0=0,N.position1=0,N.postBundlePosition=A,A=n,I()}function nn(){let e=k[A++]&31;if(e>23)switch(e){case 24:e=k[A++];break;case 25:e=F.getUint16(A),A+=2;break;case 26:e=F.getUint32(A),A+=4}return e}function rn(){if(j.getShared){let e=an(()=>(k=null,j.getShared()))||{},t=e.structures||[];j.sharedVersion=e.version,Et=j.sharedValues=e.packedValues,M===!0?j.structures=M=t:M.splice.apply(M,[0,t.length].concat(t))}}function an(e){let t=pt,n=A,r=bt,i=St,a=Ct,o=xt,s=yt,c=wt,l=N,u=new Uint8Array(k.slice(0,pt)),d=M,f=j,p=kt,m=e();return pt=t,A=n,bt=r,St=i,Ct=a,xt=o,yt=s,wt=c,N=l,k=u,kt=p,M=d,j=f,F=new DataView(k.buffer,k.byteOffset,k.byteLength),m}function on(){k=null,wt=null,M=null}const sn=Array(147);for(let e=0;e<256;e++)sn[e]=+(`1e`+Math.floor(45.15-e*.30103));let cn=new jt({useRecords:!1});const ln=cn.decode;cn.decodeMultiple;const un={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};let dn;try{dn=new TextEncoder}catch{}let fn,pn;const mn=typeof globalThis==`object`&&globalThis.Buffer,hn=mn!==void 0,gn=hn?mn.allocUnsafeSlow:Uint8Array,_n=hn?mn:Uint8Array,vn=hn?4294967296:2144337920;let yn,R,z,B=0,bn,V=null;const xn=/[\u0080-\uFFFF]/,Sn=Symbol(`record-id`);var Cn=class extends jt{constructor(e){super(e),this.offset=0;let t,n,r,i,a;e||={};let o=_n.prototype.utf8Write?function(e,t,n){return R.utf8Write(e,t,n)}:dn&&dn.encodeInto?function(e,t){return dn.encodeInto(e,R.subarray(t)).written}:!1,s=this,c=e.structures||e.saveStructures,l=e.maxSharedStructures;if(l??=c?128:0,l>8190)throw Error(`Maximum maxSharedStructure is 8190`);let u=e.sequential;u&&(l=0),this.structures||=[],this.saveStructures&&(this.saveShared=this.saveStructures);let d,f,p=e.sharedValues,m;if(p){m=Object.create(null);for(let e=0,t=p.length;e<t;e++)m[p[e]]=e}let h=[],g=0,_=0;this.mapEncode=function(e,t){if(this._keyMap&&!this._mapped)switch(e.constructor.name){case`Array`:e=e.map(e=>this.encodeKeys(e))}return this.encode(e,t)},this.encode=function(o,c){if(R||(R=new gn(8192),z=new DataView(R.buffer,0,8192),B=0),bn=R.length-10,bn-B<2048?(R=new gn(R.length),z=new DataView(R.buffer,0,R.length),bn=R.length-10,B=0):c===512&&(B=B+7&2147483640),t=B,s.useSelfDescribedHeader&&(z.setUint32(B,3654940416),B+=3),a=s.structuredClone?new Map:null,s.bundleStrings&&typeof o!=`string`?(V=[],V.size=1/0):V=null,n=s.structures,n){if(n.uninitialized){let e=s.getShared()||{};s.structures=n=e.structures||[],s.sharedVersion=e.version;let t=s.sharedValues=e.packedValues;if(t){m={};for(let e=0,n=t.length;e<n;e++)m[t[e]]=e}}let e=n.length;if(e>l&&!u&&(e=l),!n.transitions){n.transitions=Object.create(null);for(let t=0;t<e;t++){let e=n[t];if(!e)continue;let r,i=n.transitions;for(let n=0,a=e.length;n<a;n++){i[Sn]===void 0&&(i[Sn]=t);let a=e[n];r=i[a],r||=i[a]=Object.create(null),i=r}i[Sn]=t|1048576}}u||(n.nextId=e)}if(r&&=!1,i=n||[],f=m,e.pack){let t=new Map;if(t.values=[],t.encoder=s,t.maxValues=e.maxPrivatePackedValues||(m?16:1/0),t.objectMap=m||!1,t.samplingPackedValues=d,kn(o,t),t.values.length>0){R[B++]=216,R[B++]=51,En(4);let e=t.values;v(e),En(0),En(0),f=Object.create(m||null);for(let t=0,n=e.length;t<n;t++)f[e[t]]=t}}yn=c&Vn;try{if(yn)return;if(v(o),V&&Pn(t,v),s.offset=B,a&&a.idsToInsert){B+=a.idsToInsert.length*2,B>bn&&b(B),s.offset=B;let e=Nn(R.subarray(t,B),a.idsToInsert);return a=null,e}return c&512?(R.start=t,R.end=B,R):R.subarray(t,B)}finally{if(n){if(_<10&&_++,n.length>l&&(n.length=l),g>1e4)n.transitions=null,_=0,g=0,h.length>0&&(h=[]);else if(h.length>0&&!u){for(let e=0,t=h.length;e<t;e++)h[e][Sn]=void 0;h=[]}}if(r&&s.saveShared){s.structures.length>l&&(s.structures=s.structures.slice(0,l));let e=R.subarray(t,B);return s.updateSharedData()===!1?s.encode(o):e}c&1024&&(B=t)}},this.findCommonStringsToPack=()=>(d=new Map,m||=Object.create(null),e=>{let t=e&&e.threshold||4,n=this.pack?e.maxPrivatePackedValues||16:0;p||=this.sharedValues=[];for(let[e,i]of d)i.count>t&&(m[e]=n++,p.push(e),r=!0);for(;this.saveShared&&this.updateSharedData()===!1;);d=null});let v=n=>{B>bn&&(R=b(B));var r=typeof n,i;if(r===`string`){if(f){let t=f[n];if(t>=0){t<16?R[B++]=t+224:(R[B++]=198,t&1?v(15-t>>1):v(t-16>>1));return}if(d&&!e.pack){let e=d.get(n);e?e.count++:d.set(n,{count:1})}}let r=n.length;if(V&&r>=4&&r<1024){if((V.size+=r)>61440){let e,n=(V[0]?V[0].length*3+V[1].length:0)+10;B+n>bn&&(R=b(B+n)),R[B++]=217,R[B++]=223,R[B++]=249,R[B++]=V.position?132:130,R[B++]=26,e=B-t,B+=4,V.position&&Pn(t,v),V=[``,``],V.size=0,V.position=e}let e=xn.test(n);V[+!e]+=n,R[B++]=e?206:207,v(r);return}let a;a=r<32?1:r<256?2:r<65536?3:5;let s=r*3;if(B+s>bn&&(R=b(B+s)),r<64||!o){let e,t,o,s=B+a;for(e=0;e<r;e++)t=n.charCodeAt(e),t<128?R[s++]=t:t<2048?(R[s++]=t>>6|192,R[s++]=t&63|128):(t&64512)==55296&&((o=n.charCodeAt(e+1))&64512)==56320?(t=65536+((t&1023)<<10)+(o&1023),e++,R[s++]=t>>18|240,R[s++]=t>>12&63|128,R[s++]=t>>6&63|128,R[s++]=t&63|128):(R[s++]=t>>12|224,R[s++]=t>>6&63|128,R[s++]=t&63|128);i=s-B-a}else i=o(n,B+a,s);i<24?R[B++]=96|i:i<256?(a<2&&R.copyWithin(B+2,B+1,B+1+i),R[B++]=120,R[B++]=i):i<65536?(a<3&&R.copyWithin(B+3,B+2,B+2+i),R[B++]=121,R[B++]=i>>8,R[B++]=i&255):(a<5&&R.copyWithin(B+5,B+3,B+3+i),R[B++]=122,z.setUint32(B,i),B+=4),B+=i}else if(r===`number`){if(!this.alwaysUseFloat&&n>>>0===n)n<24?R[B++]=n:n<256?(R[B++]=24,R[B++]=n):n<65536?(R[B++]=25,R[B++]=n>>8,R[B++]=n&255):(R[B++]=26,z.setUint32(B,n),B+=4);else if(!this.alwaysUseFloat&&n>>0===n)n>=-24?R[B++]=31-n:n>=-256?(R[B++]=56,R[B++]=~n):n>=-65536?(R[B++]=57,z.setUint16(B,~n),B+=2):(R[B++]=58,z.setUint32(B,~n),B+=4);else{let e;if((e=this.useFloat32)>0&&n<4294967296&&n>=-2147483648){R[B++]=250,z.setFloat32(B,n);let t;if(e<4||(t=n*sn[(R[B]&127)<<1|R[B+1]>>7])>>0===t){B+=4;return}B--}R[B++]=251,z.setFloat64(B,n),B+=8}}else if(r===`object`){if(!n)R[B++]=246;else{if(a){let e=a.get(n);if(e){if(R[B++]=216,R[B++]=29,R[B++]=25,!e.references){let t=a.idsToInsert||(a.idsToInsert=[]);e.references=[],t.push(e)}e.references.push(B-t),B+=2;return}a.set(n,{offset:B-t})}let e=n.constructor;if(e===Object)y(n);else if(e===Array){i=n.length,i<24?R[B++]=128|i:En(i);for(let e=0;e<i;e++)v(n[e])}else if(e===Map){if((this.mapsAsObjects?this.useTag259ForMaps!==!1:this.useTag259ForMaps)&&(R[B++]=217,R[B++]=1,R[B++]=3),i=n.size,i<24?R[B++]=160|i:i<256?(R[B++]=184,R[B++]=i):i<65536?(R[B++]=185,R[B++]=i>>8,R[B++]=i&255):(R[B++]=186,z.setUint32(B,i),B+=4),s.keyMap)for(let[e,t]of n)v(s.encodeKey(e)),v(t);else for(let[e,t]of n)v(e),v(t)}else{for(let e=0,t=fn.length;e<t;e++){let t=pn[e];if(n instanceof t){let t=fn[e],r=t.tag;r??=t.getTag&&t.getTag.call(this,n),r<24?R[B++]=192|r:r<256?(R[B++]=216,R[B++]=r):r<65536?(R[B++]=217,R[B++]=r>>8,R[B++]=r&255):r>-1&&(R[B++]=218,z.setUint32(B,r),B+=4),t.encode.call(this,n,v,b);return}}if(n[Symbol.iterator]){if(yn){let e=Error(`Iterable should be serialized as iterator`);throw e.iteratorNotHandled=!0,e}R[B++]=159;for(let e of n)v(e);R[B++]=255;return}if(n[Symbol.asyncIterator]||On(n)){let e=Error(`Iterable/blob should be serialized as iterator`);throw e.iteratorNotHandled=!0,e}if(this.useToJSON&&n.toJSON){let e=n.toJSON();if(e!==n)return v(e)}y(n)}}}else if(r===`boolean`)R[B++]=n?245:244;else if(r===`bigint`){if(n<BigInt(1)<<BigInt(64)&&n>=0)R[B++]=27,z.setBigUint64(B,n);else if(n>-(BigInt(1)<<BigInt(64))&&n<0)R[B++]=59,z.setBigUint64(B,-n-BigInt(1));else if(this.largeBigIntToFloat)R[B++]=251,z.setFloat64(B,Number(n));else{n>=BigInt(0)?R[B++]=194:(R[B++]=195,n=BigInt(-1)-n);let e=[];for(;n;)e.push(Number(n&BigInt(255))),n>>=BigInt(8);Mn(new Uint8Array(e.reverse()),b);return}B+=8}else if(r===`undefined`)R[B++]=247;else throw Error(`Unknown type: `+r)},y=this.useRecords===!1?this.variableMapSize?e=>{let t=Object.keys(e),n=Object.values(e),r=t.length;if(r<24?R[B++]=160|r:r<256?(R[B++]=184,R[B++]=r):r<65536?(R[B++]=185,R[B++]=r>>8,R[B++]=r&255):(R[B++]=186,z.setUint32(B,r),B+=4),s.keyMap)for(let e=0;e<r;e++)v(s.encodeKey(t[e])),v(n[e]);else for(let e=0;e<r;e++)v(t[e]),v(n[e])}:e=>{R[B++]=185;let n=B-t;B+=2;let r=0;if(s.keyMap)for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(v(s.encodeKey(t)),v(e[t]),r++);else for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(v(t),v(e[t]),r++);R[n+++t]=r>>8,R[n+t]=r&255}:(e,t)=>{let n,a=i.transitions||(i.transitions=Object.create(null)),o=0,s=0,c,u;if(this.keyMap){u=Object.keys(e).map(e=>this.encodeKey(e)),s=u.length;for(let e=0;e<s;e++){let t=u[e];n=a[t],n||(n=a[t]=Object.create(null),o++),a=n}}else for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&(n=a[t],n||(a[Sn]&1048576&&(c=a[Sn]&65535),n=a[t]=Object.create(null),o++),a=n,s++);let d=a[Sn];if(d!==void 0)d&=65535,R[B++]=217,R[B++]=d>>8|224,R[B++]=d&255;else if(u||=a.__keys__||(a.__keys__=Object.keys(e)),c===void 0?(d=i.nextId++,d||(d=0,i.nextId=1),d>=256&&(i.nextId=(d=l)+1)):d=c,i[d]=u,d<l){R[B++]=217,R[B++]=d>>8|224,R[B++]=d&255,a=i.transitions;for(let e=0;e<s;e++)(a[Sn]===void 0||a[Sn]&1048576)&&(a[Sn]=d),a=a[u[e]];a[Sn]=d|1048576,r=!0}else{if(a[Sn]=d,z.setUint32(B,3655335680),B+=3,o&&(g+=_*o),h.length>=256-l&&(h.shift()[Sn]=void 0),h.push(a),En(s+2),v(57344+d),v(u),t)return;for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&v(e[t]);return}if(s<24?R[B++]=128|s:En(s),!t)for(let t in e)(typeof e.hasOwnProperty!=`function`||e.hasOwnProperty(t))&&v(e[t])},b=e=>{let n;if(e>16777216){if(e-t>vn)throw Error(`Encoded buffer would be larger than maximum buffer size`);n=Math.min(vn,Math.round(Math.max((e-t)*(e>67108864?1.25:2),4194304)/4096)*4096)}else n=(Math.max(e-t<<2,R.length-1)>>12)+1<<12;let r=new gn(n);return z=new DataView(r.buffer,0,n),R.copy?R.copy(r,0,t,e):r.set(R.slice(t,e)),B-=t,t=0,bn=r.length-10,R=r},x=100,S=1e3;this.encodeAsIterable=function(e,t){return T(e,t,C)},this.encodeAsAsyncIterable=function(e,t){return T(e,t,te)};function*C(e,n,r){let i=e.constructor;if(i===Object){let t=s.useRecords!==!1;t?y(e,!0):wn(Object.keys(e).length,160);for(let r in e){let i=e[r];t||v(r),i&&typeof i==`object`?n[r]?yield*C(i,n[r]):yield*w(i,n,r):v(i)}}else if(i===Array){let r=e.length;En(r);for(let i=0;i<r;i++){let r=e[i];r&&(typeof r==`object`||B-t>x)?n.element?yield*C(r,n.element):yield*w(r,n,`element`):v(r)}}else if(e[Symbol.iterator]&&!e.buffer){R[B++]=159;for(let r of e)r&&(typeof r==`object`||B-t>x)?n.element?yield*C(r,n.element):yield*w(r,n,`element`):v(r);R[B++]=255}else On(e)?(wn(e.size,64),yield R.subarray(t,B),yield e,ee()):e[Symbol.asyncIterator]?(R[B++]=159,yield R.subarray(t,B),yield e,ee(),R[B++]=255):v(e);r&&B>t?yield R.subarray(t,B):B-t>x&&(yield R.subarray(t,B),ee())}function*w(e,n,r){let i=B-t;try{v(e),B-t>x&&(yield R.subarray(t,B),ee())}catch(a){if(a.iteratorNotHandled)n[r]={},B=t+i,yield*C.call(this,e,n[r]);else throw a}}function ee(){x=S,s.encode(null,Vn)}function T(e,t,n){return x=t&&t.chunkThreshold?S=t.chunkThreshold:100,e&&typeof e==`object`?(s.encode(null,Vn),n(e,s.iterateProperties||={},!0)):[s.encode(e)]}async function*te(e,t){for(let n of C(e,t,!0)){let e=n.constructor;if(e===_n||e===Uint8Array)yield n;else if(On(n)){let e=n.stream().getReader(),t;for(;!(t=await e.read()).done;)yield t.value}else if(n[Symbol.asyncIterator])for await(let e of n)ee(),e?yield*te(e,t.async||={}):yield s.encode(e);else yield n}}}useBuffer(e){R=e,z=new DataView(R.buffer,R.byteOffset,R.byteLength),B=0}clearSharedData(){this.structures&&=[],this.sharedValues&&=void 0}updateSharedData(){let e=this.sharedVersion||0;this.sharedVersion=e+1;let t=this.structures.slice(0),n=new Tn(t,this.sharedValues,this.sharedVersion),r=this.saveShared(n,t=>(t&&t.version||0)==e);return r===!1?(n=this.getShared()||{},this.structures=n.structures||[],this.sharedValues=n.packedValues,this.sharedVersion=n.version,this.structures.nextId=this.structures.length):t.forEach((e,t)=>this.structures[t]=e),r}};function wn(e,t){e<24?R[B++]=t|e:e<256?(R[B++]=t|24,R[B++]=e):e<65536?(R[B++]=t|25,R[B++]=e>>8,R[B++]=e&255):(R[B++]=t|26,z.setUint32(B,e),B+=4)}var Tn=class{constructor(e,t,n){this.structures=e,this.packedValues=t,this.version=n}};function En(e){e<24?R[B++]=128|e:e<256?(R[B++]=152,R[B++]=e):e<65536?(R[B++]=153,R[B++]=e>>8,R[B++]=e&255):(R[B++]=154,z.setUint32(B,e),B+=4)}const Dn=typeof Blob>`u`?function(){}:Blob;function On(e){if(e instanceof Dn)return!0;let t=e[Symbol.toStringTag];return t===`Blob`||t===`File`}function kn(e,t){switch(typeof e){case`string`:if(e.length>3){if(t.objectMap[e]>-1||t.values.length>=t.maxValues)return;let n=t.get(e);if(n)++n.count==2&&t.values.push(e);else if(t.set(e,{count:1}),t.samplingPackedValues){let n=t.samplingPackedValues.get(e);n?n.count++:t.samplingPackedValues.set(e,{count:1})}}break;case`object`:if(e){if(e instanceof Array)for(let n=0,r=e.length;n<r;n++)kn(e[n],t);else{let r=!t.encoder.useRecords;for(var n in e)e.hasOwnProperty(n)&&(r&&kn(n,t),kn(e[n],t))}}break;case`function`:console.log(e)}}const An=new Uint8Array(new Uint16Array([1]).buffer)[0]==1;pn=[Date,Set,Error,RegExp,Gt,ArrayBuffer,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,typeof BigUint64Array>`u`?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,typeof BigInt64Array>`u`?function(){}:BigInt64Array,Float32Array,Float64Array,Tn],fn=[{tag:1,encode(e,t){let n=e.getTime()/1e3;(this.useTimestamp32||e.getMilliseconds()===0)&&n>=0&&n<4294967296?(R[B++]=26,z.setUint32(B,n),B+=4):(R[B++]=251,z.setFloat64(B,n),B+=8)}},{tag:258,encode(e,t){t(Array.from(e))}},{tag:27,encode(e,t){t([e.name,e.message])}},{tag:27,encode(e,t){t([`RegExp`,e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,n){Mn(e,n)}},{getTag(e){if(e.constructor===Uint8Array&&(this.tagUint8Array||hn&&this.tagUint8Array!==!1))return 64},encode(e,t,n){Mn(e,n)}},jn(68,1),jn(69,2),jn(70,4),jn(71,8),jn(72,1),jn(77,2),jn(78,4),jn(79,8),jn(85,4),jn(86,8),{encode(e,t){let n=e.packedValues||[],r=e.structures||[];if(n.values.length>0){R[B++]=216,R[B++]=51,En(4);let e=n.values;t(e),En(0),En(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let t=0,n=e.length;t<n;t++)packedObjectMap[e[t]]=t}if(r){z.setUint32(B,3655335424),B+=3;let n=r.slice(0);n.unshift(57344),n.push(new Gt(e.version,1399353956)),t(n)}else t(new Gt(e.version,1399353956))}}];function jn(e,t){return!An&&t>1&&(e-=4),{tag:e,encode:function(e,t){let n=e.byteLength,r=e.byteOffset||0,i=e.buffer||e;t(hn?mn.from(i,r,n):new Uint8Array(i,r,n))}}}function Mn(e,t){let n=e.byteLength;n<24?R[B++]=64+n:n<256?(R[B++]=88,R[B++]=n):n<65536?(R[B++]=89,R[B++]=n>>8,R[B++]=n&255):(R[B++]=90,z.setUint32(B,n),B+=4),B+n>=R.length&&t(B+n),R.set(e.buffer?e:new Uint8Array(e),B),B+=n}function Nn(e,t){let n,r=t.length*2,i=e.length-r;t.sort((e,t)=>e.offset>t.offset?1:-1);for(let n=0;n<t.length;n++){let r=t[n];r.id=n;for(let t of r.references)e[t++]=n>>8,e[t]=n&255}for(;n=t.pop();){let t=n.offset;e.copyWithin(t+r,t,i),r-=2;let a=t+r;e[a++]=216,e[a++]=28,i=t}return e}function Pn(e,t){z.setUint32(V.position+e,B-V.position-e+1);let n=V;V=null,t(n[0]),t(n[1])}let Fn=new Cn({useRecords:!1});const In=Fn.encode;Fn.encodeAsIterable,Fn.encodeAsAsyncIterable;const{NEVER:Ln,ALWAYS:Rn,DECIMAL_ROUND:zn,DECIMAL_FIT:Bn}=un,Vn=2048;if(process.env.CBOR_NATIVE_ACCELERATION_DISABLED===void 0||process.env.CBOR_NATIVE_ACCELERATION_DISABLED.toLowerCase()!==`true`){let t;try{t=typeof e==`function`?e(`cbor-extract`):Je(import.meta.url)(`cbor-extract`),t&&Lt(t.extractStrings)}catch{}}var Hn=s();const Un=`5.2.0`,Wn=T(`@workflow/world-vercel//httpPools`,1,()=>({dispatcher:void 0,queueDispatcher:void 0,streamDispatcher:void 0,streamCloseDispatcher:void 0,nodeHttpAgents:void 0})),Gn={connections:8,keepAliveTimeout:1e4},Kn=3e5,qn=3e5,Jn={...Gn,allowH2:!1,pipelining:1},Yn=()=>oe(`WORKFLOW_VERCEL_QUEUE_TIMEOUT_MS`,3e4,{integer:!0,min:5e3,max:12e4});function Xn(){let e=Yn();return{...Jn,connections:oe(`WORKFLOW_VERCEL_QUEUE_CONNECTIONS`,64,{integer:!0,min:1,max:1024}),headersTimeout:e,bodyTimeout:e}}const Zn=Hn.DecoratorHandler;function Qn(e){class t extends Zn{#e=!1;#t;#n;constructor(t){super(t),this.#n=setTimeout(()=>{this.#e=!0,this.#r()},e),this.#n.unref?.()}#r(){this.#t?.abort(Error(`Queue request exceeded its ${e}ms deadline`))}onRequestStart(e,t){this.#t=e,super.onRequestStart(e,t),this.#e&&this.#r()}onResponseEnd(e,t){clearTimeout(this.#n),super.onResponseEnd(e,t)}onResponseError(e,t){clearTimeout(this.#n),super.onResponseError(e,t)}}return e=>(n,r)=>e(n,new t(r))}const $n=6e4,er={...Gn,headersTimeout:$n,bodyTimeout:$n,allowH2:!0,pipelining:100,initialWindowSize:4194304,connectionWindowSize:16777216},tr={...Gn,headersTimeout:$n,bodyTimeout:$n,allowH2:!1,pipelining:1},nr={...Gn,allowH2:!0,pipelining:1},rr={retryAfter:!0,statusCodes:[500,502,503,504]},ir={...rr,errorCodes:[`ECONNRESET`,`ECONNREFUSED`,`ENOTFOUND`,`ENETDOWN`,`ENETUNREACH`,`EHOSTDOWN`,`EHOSTUNREACH`,`EPIPE`,`UND_ERR_SOCKET`,`ERR_HTTP2_STREAM_ERROR`]},ar={retryAfter:!0,methods:[`PUT`],statusCodes:[429]},or={retryAfter:!0,methods:[`PUT`],statusCodes:[429,500,502,503,504]};function sr(){return process.env.WORKFLOW_H2_MULTIPLEX!==`0`}function cr(e){if(!e||typeof e!=`object`||Array.isArray(e))return NaN;let t=e,n=t[`content-length`]??t[`Content-Length`];return typeof n==`string`||typeof n==`number`?Number(n):NaN}function lr(e){return t=>(n,r)=>{let i=n.body,a=!!i&&typeof i!=`string`&&!Buffer.isBuffer(i)&&typeof i[Symbol.asyncIterator]==`function`,o=cr(n.headers);return a?!(o>=0)||o>1048576?e?e.dispatch(n,r):t({...n,idempotent:!0},r):((async()=>{try{let e=[];for await(let t of i)e.push(Buffer.from(t));t({...n,body:Buffer.concat(e),idempotent:!0},r)}catch(e){r.onError?.(e)}})(),!0):t({...n,idempotent:!0},r)}}const ur=new Set([`UND_ERR_INFO`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`ERR_HTTP2_GOAWAY_SESSION`,`ERR_HTTP2_INVALID_SESSION`,`ERR_HTTP2_SESSION_ERROR`,`ERR_HTTP2_STREAM_ERROR`]);function dr(e){let t=e;for(let e=0;t&&e<8;e++){let e=t.code;if(typeof e==`string`&&ur.has(e))return!0;t=t.cause}return!1}function fr(e,t){let n,r=0,i=0;function a(e){let t=setTimeout(()=>{Promise.resolve(e.close?.()).catch(()=>void 0)},5e3),n=setTimeout(()=>{Promise.resolve(e.destroy?.()).catch(()=>void 0)},6e4);t.unref?.(),n.unref?.()}return{get(){return n??=e(),n},note(e,o){if(!n||e!==n)return;if(o===void 0){r=0;return}if(!dr(o)||(r++,r<3))return;let s=Date.now();if(s-i<5e3)return;i=s,r=0;let c=n;n=void 0,console.warn(`[workflow] ${t}: rebuilding connection pool after 3 consecutive transport failures`),a(c)}}}const pr=T(`@workflow/world-vercel//eventsDispatcherRecycler@${Un}`,1,()=>fr(()=>Cr(),`events transport`));function mr(e,t){pr.note(e,t)}function hr(e,t){return e?.dispatcher?e.dispatcher:_e()?void 0:t()}function gr(e){if(!e?.dispatcher&&_e())return Wn.nodeHttpAgents??=a({maxSockets:Gn.connections,keepAliveMs:Gn.keepAliveTimeout}),Wn.nodeHttpAgents}function _r(e){return hr(e,kr)}function vr(e){return hr(e,Or)}function yr(e){return hr(e,()=>pr.get())}function br(e){return hr(e,Ar)}function xr(e){return hr(e,jr)}function Sr(e,t){return new Hn.RetryAgent(new Hn.Agent(e),t)}function Cr(e){let t=sr(),n=new Hn.RetryAgent(new Hn.Agent({...t?er:tr,...e}),ir);if(!t||!wr(n))return n;let r=new Hn.RetryAgent(new Hn.Agent({...tr,...e}),ir);return Tr(n,n.compose(lr(r)),r)}function wr(e){return typeof e.compose==`function`}function Tr(e,t,n){return new Proxy(t,{get:(t,r)=>{if(r!==`close`&&r!==`destroy`)return t[r];let i=e[r].bind(e);if(!n)return i;let a=n[r].bind(n);return async(...e)=>{await Promise.all([i(...e),a(...e)])}}})}function Er(e,t){return new Hn.RetryAgent(new Hn.Agent({...nr,...t}),e)}function Dr(){let e=new Hn.Agent(Xn());return new Hn.RetryAgent(wr(e)?e.compose(Qn(Yn())):e,rr)}function Or(){return Wn.queueDispatcher??=Dr(),Wn.queueDispatcher}function kr(){return Wn.dispatcher??=Sr(Jn,rr),Wn.dispatcher}function Ar(){return Wn.streamDispatcher??=Er(ar),Wn.streamDispatcher}function jr(){return Wn.streamCloseDispatcher??=Er(or),Wn.streamCloseDispatcher}const Mr=T(`@workflow/world-vercel//telemetry`,1,()=>({apiPromise:null,tracerPromise:null}));async function Nr(){return Mr.apiPromise||=import(`../../@opentelemetry/api/index.js`).catch(e=>(typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`)&&console.warn(`[workflow] @opentelemetry/api unavailable — world-vercel spans disabled:`,e instanceof Error?e.message:e),null)),Mr.apiPromise}function Pr(){return typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`)}let Fr=!1;function Ir(e,t){if(!Fr&&Pr()){Fr=!0;try{let n=globalThis[Symbol.for(`opentelemetry.js.api.1`)],r=e.trace.getTracerProvider(),i=r.getDelegate?.()??r,a=t.startSpan(`workflow.otel.probe.world_vercel`);console.warn(`[workflow:otel-diag] world-vercel`,JSON.stringify({globalRegistrationVersion:n?.version??null,providerCtor:r?.constructor?.name??null,delegateCtor:i?.constructor?.name??null,tracerCtor:t?.constructor?.name??null,probeCtor:a?.constructor?.name??null,probeRecording:a.isRecording()})),a.end()}catch(e){console.warn(`[workflow:otel-diag] world-vercel failed:`,e instanceof Error?e.message:e)}}}async function Lr(){return Mr.tracerPromise||=Nr().then(e=>{if(!e)return null;let t=e.trace.getTracer(`workflow`);return Ir(e,t),t}),Mr.tracerPromise}async function Rr(e,...t){let[n,r]=await Promise.all([Lr(),Nr()]),{fn:i,opts:a}=typeof t[0]==`function`?{fn:t[0],opts:{}}:{fn:t[1],opts:t[0]};if(!i)throw Error(`Function to trace must be provided`);return!n||!r?await i():n.startActiveSpan(e,a,async e=>{try{let t=await i(e);return e.setStatus({code:r.SpanStatusCode.OK}),t}catch(t){throw e.setStatus({code:r.SpanStatusCode.ERROR,message:t.message}),t}finally{e.end()}})}async function zr(e){let t=await Nr();if(t)return t.SpanKind[e]}async function Br(e){for(let[t,n]of Object.entries(await Vr()))e.set(t,n)}async function Vr(){let e=await Nr();if(!e)return{};let t={};return e.propagation.inject(e.context.active(),t),t}function H(...e){return t=>Object.fromEntries(e.map(e=>[e,t]))}const Hr=H(`http.request.method`),Ur=H(`url.full`),Wr=H(`server.address`),Gr=H(`server.port`),Kr=H(`http.response.status_code`),qr=H(`error.type`),Jr=H(`network.protocol.name`),Yr=H(`workflow.world.parse.format`),Xr=H(`peer.service`),Zr=H(`rpc.system`),Qr=H(`rpc.service`),$r=H(`rpc.method`),ei=H(`workflow.run.id`),ti=H(`step.id`),ni=H(`workflow.stream.name`),ri=H(`workflow.stream.operation`),ii=H(`workflow.stream.start_index`),ai=H(`workflow.events.transport`),oi=H(`workflow.http.transport`),si=H(`workflow.event.type`),ci=H(`workflow.step_start.mode`),li=H(`workflow.step_start.owner_stamped`),ui=H(`workflow.client.version`),di=H(`step.stso_ms`),fi=H(`step.latency_optimizations`),pi=H(`workflow.events.ws.url`),mi=H(`workflow.events.ws.req_id`),hi=H(`workflow.events.ws.request_parts`),gi=H(`workflow.events.ws.reply_parts`),_i=H(`workflow.events.ws.reconnect_attempt`),vi=new Set([`UND_ERR_INFO`,`UND_ERR_REQ_RETRY`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`UND_ERR_CLOSED`,`ECONNRESET`,`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`EPIPE`,`ETIMEDOUT`]);function yi(e){let t=e;for(let e=0;t&&e<8;e++){let e=t.code;if(typeof e==`string`&&vi.has(e))return e;t=t.cause}}function bi(e){let{protocol:t,username:n,password:r}=new URL(e);if(t!==`http:`&&t!==`https:`)throw TypeError(`Unsupported URL protocol ${t}; expected http: or https:`);if(n||r)throw TypeError(`HTTP(S) URLs with embedded credentials are unsupported`)}const xi=new Set([`ERR_INVALID_URL`,`ERR_INVALID_ARG_TYPE`,`ERR_INVALID_ARG_VALUE`,`ERR_INVALID_CHAR`,`ERR_INVALID_HTTP_TOKEN`,`ERR_HTTP_INVALID_HEADER_VALUE`,`ERR_UNESCAPED_CHARACTERS`,`UND_ERR_INVALID_ARG`,`UND_ERR_NOT_SUPPORTED`]);function Si(e){let t=yi(e);if(t)return t;let n,r,i=e;for(let e=0;i&&e<8;e++){let{code:e,name:t,message:a}=i;if(t===`Error`&&a===`bad port`&&e===void 0)return;if(typeof e==`string`&&e){if(xi.has(e))return;n??=e}typeof t==`string`&&t&&(r=t),i=i.cause}return n??r??`unknown`}const Ci=()=>oe(`WORKFLOW_REQUEST_TIMEOUT_MS`,6e4,{integer:!0,min:1e4,max:12e4}),wi=typeof process<`u`&&typeof process.env.DEBUG==`string`&&(process.env.DEBUG.includes(`workflow:`)||process.env.DEBUG===`*`),Ti=[`x-vercel-id`,`x-vercel-error`,`x-vercel-mitigated`];function Ei(e){return Ti.flatMap(t=>{let n=e.get(t);return n?[`${t}=${n}`]:[]})}function Di(e){let t=Ei(e);return t.length>0?` (${t.join(`; `)})`:``}function Oi(e,t,n,r){if(!wi)return;let i=Ei(n.headers),a=i.length>0?`; ${i.join(`; `)}`:``;console.debug(`[workflow:world-vercel:http] ${e} ${t} -> ${n.status} (${r}ms${a})`)}function ki(e,t,n){if(!process.env.DEBUG)return;let r=Array.from(n.entries()).filter(([e])=>e.toLowerCase()!==`authorization`).map(([e,t])=>`-H "${e}: ${t}"`).join(` `);console.error(`Failed to fetch, reproduce with:\ncurl -X ${e} ${r} "${t}"`)}function Ai(e){if(!e)return;let t=parseInt(e,10);return Number.isNaN(t)?void 0:t}function ji(e){let t={};return e.forEach((e,n)=>{t[n]=e}),t}function Mi(e,t,n={}){let{retryAfter:r,code:i,url:a,mitigated:o,details:s}=n;if(e===409&&i===`hook-force-claimed`){let e=s&&typeof s==`object`?s.claimedBy:void 0;return new Ee(``,typeof e?.runId==`string`?e.runId:`unknown`,typeof e?.hookId==`string`?e.hookId:void 0)}if(e===409)return new De(t);if(e===410){if(i===`stream-expired`){let e=s&&typeof s==`object`?s:void 0,n=typeof e?.expiredAt==`string`?new Date(e.expiredAt):void 0;return new Ae(t,typeof e?.runId==`string`?e.runId:void 0,typeof e?.streamId==`string`?e.streamId:void 0,n&&!Number.isNaN(n.getTime())?n:void 0)}return new Ce(t)}return e===412?new Te(t,{retryAfter:r,details:s}):e===425?new Se(t,{retryAfter:r}):e===429?Ni(e,o)?new D(`${t} (x-vercel-mitigated=challenge)`,{url:a,status:e,code:`TRANSPORT`,retryAfter:r}):new je(t,{retryAfter:r}):new D(t,{url:a,status:e,code:i,retryAfter:r})}function Ni(e,t){return e===429&&t===`challenge`}async function Pi(e){return e?.token??process.env.VERCEL_TOKEN??await(0,dt.getVercelOidcToken)().catch(()=>null)}function Fi(e){try{let t=new URL(e),n=t.protocol===`https:`||t.protocol===`wss:`;return{serverAddress:t.hostname,serverPort:t.port?parseInt(t.port,10):n?443:80}}catch{return{}}}function Ii(e){let{method:t,url:n,peerService:r}=e,{serverAddress:i,serverPort:a}=Fi(n);return{...Hr(t),...Ur(n),...i?Wr(i):{},...a?Gr(a):{},...Xr(r),...Zr(`http`),...Qr(r)}}async function Li(e,t){let{method:n,url:r,peerService:i=`workflow-server`,spanName:a,attributes:o}=e;return Rr(a??`http ${n}`,{kind:await zr(`CLIENT`)},async e=>{if(a&&wi&&e){let t=e.spanContext();console.warn(`[workflow:otel-diag] span-open`,JSON.stringify({spanName:a,traceId:t.traceId,spanId:t.spanId,recording:e.isRecording()}))}return e?.setAttributes(Ii({method:n,url:r,peerService:i})),o&&e?.setAttributes(o),t(e)})}function Ri(e,t){e?.setAttributes({...Kr(t)}),(t<200||t>=300)&&e?.setAttributes({...qr(`HTTP ${t}`)})}async function zi(e){let{method:t,url:n,headers:r,body:a,dispatcher:o,peerService:s,timeoutMs:c=Ci(),signal:l,injectTraceContext:u=!0,cacheBust:d=!0,logLabel:f,buildError:p,spanName:m,attributes:h,durationAttribute:g,onTransportOutcome:_,deferTransportSuccessUntilBody:v=!1,onRequestDispatched:y,transportErrorCode:b=`TRANSPORT`}=e,x=f??n;return bi(n),Li({method:t,url:n,peerService:s,spanName:m,attributes:h},async e=>{u&&await Br(r),d&&r.set(`X-Request-Time`,Date.now().toString());let s=c==null?void 0:AbortSignal.timeout(c),f=l&&s?AbortSignal.any([l,s]):l??s,m=o?void 0:gr();e?.setAttributes({...oi(m?`node-http`:`undici`)});let h=Date.now(),S;try{let e=m?i(n,{method:t,headers:r,body:a,signal:f,agents:m,headersTimeoutMs:Kn,bodyTimeoutMs:qn}):fetch(n,{method:t,headers:r,body:a,signal:f,dispatcher:o});y?.(),S=await e}catch(r){let i=Date.now()-h;if(_?.(r),r instanceof Error&&(r.name===`TimeoutError`||r.name===`AbortError`)){let a=`${t} ${x} timed out after ${i}ms`,o=b===`STREAM_ERROR`?`STREAM_ERROR`:`TIMEOUT`,s=o===`STREAM_ERROR`?new E(a,{url:n,cause:r}):new D(a,{url:n,code:o,cause:r});throw e?.setAttributes({...qr(o)}),e?.recordException?.(s),s}let a=Si(r);if(a){let o=`${t} ${x} transport failure after ${i}ms (${a})`,s=b===`STREAM_ERROR`?`STREAM_ERROR`:`TRANSPORT`,c=s===`STREAM_ERROR`?new E(o,{url:n,cause:r}):new D(o,{url:n,code:s,cause:r});throw e?.setAttributes({...qr(s)}),e?.recordException?.(c),c}throw r}let C=Date.now()-h;if(S.ok&&!v&&_?.(void 0,S),Oi(t,x,S,C),Ri(e,S.status),g&&e?.setAttributes({[g]:C}),!S.ok){if(ki(t,n,r),p){let r;try{r=await p(S)}catch(r){let i=yi(r);if(i){_?.(r,S);let a=`${t} ${x} response body transport failure (${i})`,o=b===`STREAM_ERROR`?new E(a,{url:n,cause:r}):new D(a,{url:n,code:`TRANSPORT`,cause:r});throw e?.setAttributes({...qr(b)}),e?.recordException?.(o),o}throw _?.(void 0,S),r}throw _?.(void 0,S),e?.recordException?.(r),r}let i=``;try{i=await S.text(),_?.(void 0,S)}catch(e){_?.(e,S)}let a=Mi(S.status,`${t} ${x} -> HTTP ${S.status}: ${S.statusText}${i?` ${i}`:``}${Di(S.headers)}`,{url:n,retryAfter:Ai(S.headers.get(`Retry-After`))});throw e?.recordException?.(a),a}return S})}const Bi=new Set([`GET`,`HEAD`]),Vi=()=>process.env.VERCEL_WORKFLOW_SERVER_URL||``,Hi=()=>process.env.WORKFLOW_TEST_LIMIT_OVERRIDES?.trim()||``;function Ui(e){return e}const Wi=(...e)=>e.filter(Boolean).join(` `),Gi=()=>{let e=process.env.VERCEL_DEPLOYMENT_ID;return e?`@workflow/world-vercel/${Un} node-${process.version} ${$e.platform()} (${$e.arch()}) ${e}`:`@workflow/world-vercel/${Un} node-${process.version} ${$e.platform()} (${$e.arch()})`},Ki=e=>{let t=e?.projectConfig,n=Vi()||`https://vercel-workflow.com`,r=process.env.WORKFLOW_VERCEL_BACKEND_URL,i=!!(t?.projectId&&t?.teamId);return{baseUrl:i?r||`https://api.vercel.com/v1/workflow`:`${n}/api`,usingProxy:i}},qi=e=>{let t=e?.projectConfig;return t?t.environment||`production`:process.env.VERCEL_TARGET_ENV||process.env.VERCEL_ENV||void 0},Ji=(e,t)=>{let n=e?.projectConfig,r=new Headers(e?.headers);r.set(`User-Agent`,Wi(Gi(),r.get(`User-Agent`)));let i=Hi();i&&r.set(`x-workflow-test-limit-overrides`,i),n&&(r.set(`x-vercel-environment`,qi(e)),n.projectId&&r.set(`x-vercel-project-id`,n.projectId),n.teamId&&r.set(`x-vercel-team-id`,n.teamId));let a=Vi();return a&&t.usingProxy&&r.set(`x-vercel-workflow-api-url`,a),r};async function U(e){let{baseUrl:t,usingProxy:n}=Ki(e),r=Ji(e,{usingProxy:n});if(n){if(!e?.token)throw Error(`world-vercel: api-workflow proxy requested (${t}) but no Vercel auth token was provided. Pass one as \`config.token\` (the SDK reads it from \`WORKFLOW_VERCEL_AUTH_TOKEN\`).`);r.set(`Authorization`,`Bearer ${e.token}`)}else{let t;try{t=await(0,dt.getVercelOidcToken)()}catch{}let n=e?.token??t;n&&r.set(`Authorization`,`Bearer ${n}`),t&&r.set(`x-vercel-trusted-oidc-idp-token`,t)}return{baseUrl:t,headers:r,usingProxy:n}}async function W({endpoint:e,options:t={},config:n={},schema:r,data:a,onResponse:o,retryConnectTimeout:s=!1}){let c=(t.method||`GET`).toUpperCase(),{baseUrl:l,headers:u}=await U(n),d=`${l}${e}`;return bi(d),Rr(`http ${c}`,{kind:await zr(`CLIENT`)},async l=>{l?.setAttributes(Ii({method:c,url:d,peerService:`workflow-server`})),u.set(`Accept`,`application/cbor`),await Br(u);let f;a!==void 0&&(u.set(`Content-Type`,`application/cbor`),f=In(a));let p=Bi.has(c),m,h=``;for(let r=0;;r++){u.set(`X-Request-Time`,Date.now().toString());let a=AbortSignal.timeout(Ci()),g=t.signal?AbortSignal.any([t.signal,a]):a,_=gr(n),v=_?void 0:new Request(d,{...t,body:f,headers:u,signal:g}),y=_?void 0:_r(n);l?.setAttributes({...oi(_?`node-http`:`undici`)});let b=Date.now(),x;try{x=_?await i(d,{method:c,headers:u,body:f,signal:g,agents:_,headersTimeoutMs:Kn,bodyTimeoutMs:qn}):await fetch(v,{dispatcher:y})}catch(t){let n=Date.now()-b;if(t instanceof Error&&(t.name===`TimeoutError`||t.name===`AbortError`)){let r=new D(`${c} ${e} timed out after ${n}ms`,{url:d,code:`TIMEOUT`,cause:t});throw l?.setAttributes({...qr(`TIMEOUT`)}),l?.recordException?.(r),r}let i=Si(t);if(i){if(s&&p&&i===`UND_ERR_CONNECT_TIMEOUT`&&r===0){await new Promise(e=>setTimeout(e,100));continue}let a=new D(`${c} ${e} transport failure after ${n}ms (${i})`,{url:d,code:`TRANSPORT`,cause:t});throw l?.setAttributes({...qr(`TRANSPORT`)}),l?.recordException?.(a),a}throw t}let S=Date.now()-b;if(h=Di(x.headers),Oi(c,e,x,S),l?.setAttributes({...Kr(x.status)}),!x.ok){let t=await Xi(x).then(e=>e.data).catch(()=>({})),n=t.code??t.error;ki(c,d,u);let r=Ai(x.headers.get(`Retry-After`)),i=(t.message||`${c} ${e} -> HTTP ${x.status}: ${x.statusText}`)+h,a=Mi(x.status,i,{url:d,code:n,retryAfter:r,mitigated:x.headers.get(`x-vercel-mitigated`),details:t.details});throw l?.setAttributes({...qr(n||`HTTP ${x.status}`)}),l?.recordException?.(a),a}o?.(x);try{m=await Rr(`world.parse`,async e=>{let t=await Xi(x),n=(x.headers.get(`Content-Type`)||``).includes(`application/cbor`);return e?.setAttributes({...Yr(n?`cbor`:`json`)}),t});break}catch(t){if(p&&r<2){let n=100*2**r;l?.setAttributes({...qr(`PARSE_ERROR_RETRYING`)}),wi&&console.debug(`[workflow:world-vercel:http] ${c} ${e} body parse failed (attempt ${r+1}/3); retrying in ${n}ms: ${t}`),await new Promise(e=>setTimeout(e,n));continue}let n=x.headers.get(`Content-Type`)||`unknown`;throw new D(`Failed to parse response body for ${c} ${e}${h} (Content-Type: ${n}):\n\n${t}`,{url:d,code:`PARSE_ERROR`,cause:t})}}return await Rr(`world.validate`,async()=>{let t=r.safeParse(m.data);if(!t.success){let n=t.error.issues.map(e=>` ${e.path.length>0?e.path.join(`.`):`<root>`}: ${e.message}`).join(`
|
|
3
|
-
`),r=process.env.DEBUG?`\n\nResponse context: ${m.getDebugContext()}`:``;throw new D(`Schema validation failed for ${c} ${e}${h}:\n${n}${r}`,{url:d,code:`SCHEMA_VALIDATION`,cause:t.error})}return t.data})})}function Yi(e){let t=Xe(e,{depth:3,maxArrayLength:10,breakLength:120});return t.length>500?`${t.slice(0,500)}...`:t}async function Xi(e){let t=e.headers.get(`Content-Type`)||``;if(t.includes(`application/cbor`)){let n=await e.arrayBuffer(),r=ln(new Uint8Array(n));return{data:r,getDebugContext:()=>`Content-Type: ${t}, ${n.byteLength} bytes (CBOR), preview: ${Yi(r)}`}}let n=await e.text(),r=JSON.parse(n);return{data:r,getDebugContext:()=>`Content-Type: ${t}, ${n.length} bytes, preview: ${Yi(r)}`}}function G(e,t,n){return new D(`${e}: ${t} ${n}`,{code:`INVALID_ARGUMENT`,field:t})}const Zi=`[01234567][0123456789ABCDEFGHJKMNPQRSTVWXYZ]{25}`,Qi=RegExp(`^wrun_${Zi}$`),$i=RegExp(`^(?:step|hook|wait|attr)_${Zi}$`),ea=RegExp(`^evnt_${Zi}$`),ta=RegExp(`^step_${Zi}$`),na=RegExp(`^hook_${Zi}$`),ra=RegExp(`^wait_${Zi}$`);function ia(e,t,n){if(!Number.isInteger(t)||t<1||t>n)throw G(e,`pagination.limit`,`must be an integer between 1 and ${n} (received ${t})`)}function aa(e,t){if(!Qi.test(t))throw G(e,`runId`,`must be a workflow run id ('wrun_' followed by a ULID), received ${JSON.stringify(t)}`)}function oa(e,t){if(!$i.test(t))throw G(e,`correlationId`,`must be a step, hook, wait, or attribute id, received ${JSON.stringify(t)}`)}function sa(e,t){if(!ea.test(t))throw G(e,`eventId`,`must be an event id ('evnt_' followed by a ULID), received ${JSON.stringify(t)}`)}function ca(e,t){if(!ta.test(t))throw G(e,`stepId`,`must be a step id ('step_' followed by a ULID), received ${JSON.stringify(t)}`)}function la(e,t){if(!na.test(t))throw G(e,`hookId`,`must be a hook id ('hook_' followed by a ULID), received ${JSON.stringify(t)}`)}function ua(e,t){if(!ra.test(t))throw G(e,`waitId`,`must be a wait id ('wait_' followed by a ULID), received ${JSON.stringify(t)}`)}function da(e,t){let n=Object.entries(t);if(n.length>8)throw G(e,`attributes`,`may filter by at most 8 pairs (received ${n.length})`);for(let[t,r]of n){if(!fe.safeParse(t).success)throw G(e,`attributes`,`key must be 1 to 256 characters, received ${t.length} in ${JSON.stringify(t)}`);if(!ge.safeParse(r).success)throw G(e,`attributes`,`value for ${JSON.stringify(t)} must be at most 256 UTF-8 bytes (received ${new TextEncoder().encode(r).length})`)}}function fa(e,t,n){if(t===void 0&&n===void 0)return;if(t===void 0||n===void 0)throw G(e,t===void 0?`startTime`:`endTime`,`is required when ${t===void 0?`endTime`:`startTime`} is provided; supply both or neither`);let r=new Date(t).getTime(),i=new Date(n).getTime();if(!Number.isFinite(r))throw G(e,`startTime`,`must be a parseable datetime, received ${JSON.stringify(t)}`);if(!Number.isFinite(i))throw G(e,`endTime`,`must be a parseable datetime, received ${JSON.stringify(n)}`);if(r>i)throw G(e,`startTime`,`must be before or equal to endTime (received startTime=${JSON.stringify(t)}, endTime=${JSON.stringify(n)})`)}function pa(e,t,n,r){n?.limit!==void 0&&(ia(e,n.limit,r),t.set(`limit`,n.limit.toString())),n?.cursor&&t.set(`cursor`,n.cursor),n?.sortOrder&&t.set(`sortOrder`,n.sortOrder)}function ma(e){let t=e.toString();return t?`?${t}`:``}function ha(e,t){let n=[...new Set(t)];if(n.length===0)throw G(e,`eventIds`,`must contain at least one id`);if(n.length>100)throw G(e,`eventIds`,`must contain at most 100 unique ids (received ${n.length})`);for(let t of n)sa(e,t);return n}function ga(e,t,n){fa(e,n.startTime,n.endTime),n.workflowName!==void 0&&t.set(`workflowName`,n.workflowName),n.startTime!==void 0&&n.endTime!==void 0&&(t.set(`startTime`,n.startTime),t.set(`endTime`,n.endTime)),pa(e,t,n.pagination,100)}function _a(e){return{runs:{get(t){return aa(`analytics.runs.get`,t),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}`,config:e,schema:g})},list(t={}){fa(`analytics.runs.list`,t.startTime,t.endTime);let n=new URLSearchParams;return t.workflowName!==void 0&&n.set(`workflowName`,t.workflowName),t.status&&n.set(`status`,t.status),t.startTime!==void 0&&t.endTime!==void 0&&(n.set(`startTime`,t.startTime),n.set(`endTime`,t.endTime)),t.attributes&&Object.keys(t.attributes).length>0&&(da(`analytics.runs.list`,t.attributes),n.set(`attributes`,JSON.stringify(t.attributes))),pa(`analytics.runs.list`,n,t.pagination,100),W({endpoint:`/v2/analytics/runs${ma(n)}`,config:e,schema:de(g)})}},attributes:{list(t={}){let n=new URLSearchParams;return ga(`analytics.attributes.list`,n,t),W({endpoint:`/v2/analytics/attributes${ma(n)}`,config:e,schema:de(le)})}},steps:{get(t,n){return aa(`analytics.steps.get`,t),ca(`analytics.steps.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/steps/${encodeURIComponent(n)}`,config:e,schema:_})},list(t){aa(`analytics.steps.list`,t.runId);let n=new URLSearchParams;return pa(`analytics.steps.list`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/steps${ma(n)}`,config:e,schema:de(_)})}},events:{get(t,n){return aa(`analytics.events.get`,t),sa(`analytics.events.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`,config:e,schema:l})},getMany(t,n){return aa(`analytics.events.getMany`,t),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/events/get-many`,options:{method:`POST`},data:{eventIds:ha(`analytics.events.getMany`,n)},config:e,schema:l.array()})},list(t){aa(`analytics.events.list`,t.runId);let n=new URLSearchParams;return t.eventType&&n.set(`eventType`,t.eventType),t.correlationId!==void 0&&(oa(`analytics.events.list`,t.correlationId),n.set(`correlationId`,t.correlationId)),pa(`analytics.events.list`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/events${ma(n)}`,config:e,schema:de(l)})},listByCorrelationId(t){aa(`analytics.events.listByCorrelationId`,t.runId),oa(`analytics.events.listByCorrelationId`,t.correlationId);let n=new URLSearchParams;return n.set(`correlationId`,t.correlationId),pa(`analytics.events.listByCorrelationId`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/events${ma(n)}`,config:e,schema:de(l)})}},hooks:{get(t,n){la(`analytics.hooks.get`,t);let r=new URLSearchParams;return n?.runId!==void 0&&(aa(`analytics.hooks.get`,n.runId),r.set(`runId`,n.runId)),W({endpoint:`/v2/analytics/hooks/${encodeURIComponent(t)}${ma(r)}`,config:e,schema:ce})},list(t){aa(`analytics.hooks.list`,t.runId);let n=new URLSearchParams;return n.set(`runId`,t.runId),pa(`analytics.hooks.list`,n,t.pagination,100),W({endpoint:`/v2/analytics/hooks${ma(n)}`,config:e,schema:de(ce)})}},waits:{get(t,n){return aa(`analytics.waits.get`,t),ua(`analytics.waits.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/waits/${encodeURIComponent(n)}`,config:e,schema:y})},list(t){aa(`analytics.waits.list`,t.runId);let n=new URLSearchParams;return t.status&&n.set(`status`,t.status),pa(`analytics.waits.list`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/waits${ma(n)}`,config:e,schema:de(y)})}}}}const va=T(`@workflow/world-vercel//runIdFactory`,1,()=>({ulid:me(),lastRunId:void 0}));function ya(e){let t=Le(e),n=5,r=1;for(;n>=0&&r>0;){let e=t[n]+r;t[n]=e&255,r=e>>8,n--}if(r>0)throw Error(`ULID space exhausted`);return Fe(t)}function ba(e){return typeof e!=`string`||e===``||e===`unknown`?null:Object.hasOwn(Ne,e)?e:null}function xa(e){return ba(e?.region)??ba(process.env.VERCEL_REGION)??`iad1`}function Sa(e){let t=xa(e),n=Ne[t],r=Pe(va.ulid(),n);if(va.lastRunId!==void 0)for(;r<=va.lastRunId;)r=Pe(ya(va.lastRunId),n);return va.lastRunId=r,r}function Ca(e){let t=e.startsWith(`wrun_`)?e.slice(5):e;try{let e=Re(t);return e.tagged&&e.region?e.region:Ie}catch{return null}}function wa(e){let t=e.runId;return typeof t!=`string`||t.length===0?null:{region:Ca(t)}}const Ta=O.object({ref:O.string().min(1),byteSize:O.number().int().nonnegative().optional()});async function Ea(e,t,n){let{baseUrl:r,headers:i}=await U(n),a=`${r}/v4/runs/${encodeURIComponent(e)}/dynamic-code?workflowName=${encodeURIComponent(t.workflowName)}`,o=new Headers(i);o.set(`Content-Type`,`application/octet-stream`),o.set(`Accept`,`application/json`),o.set(`Content-Length`,String(t.code.byteLength));let s=await zi({method:`POST`,url:a,headers:o,body:t.code,dispatcher:yr(n),logLabel:`uploadDynamicWorkflowCode`});return Ta.parse(await s.json()).ref}var Da=class extends Error{status;constructor(e,t){super(e),this.name=`RunKeyFetchError`,this.status=t}};async function Oa(e,t,n){if(e.length!==32)throw Error(`Invalid deployment key length: expected 32 bytes for AES-256, got ${e.length} bytes`);if(!t||typeof t!=`string`)throw Error(`projectId must be a non-empty string`);let r=await Ke.subtle.importKey(`raw`,e,`HKDF`,!1,[`deriveBits`]),i=new TextEncoder().encode(`${t}|${n}`),a=await Ke.subtle.deriveBits({name:`HKDF`,hash:`SHA-256`,salt:new Uint8Array(32),info:i},r,256);return new Uint8Array(a)}async function ka(e,t,n,r){let i=await Pi({token:r?.token});if(!i)throw Error(`Cannot fetch run key: no OIDC token or VERCEL_TOKEN available`);let a=new URLSearchParams({projectId:t,runId:n});r?.teamId&&a.set(`teamId`,r.teamId);let o=await(await zi({method:`GET`,url:`https://api.vercel.com/v1/workflow/run-key/${e}?${a}`,headers:new Headers({Authorization:`Bearer ${i}`}),dispatcher:_r({dispatcher:r?.dispatcher}),peerService:`vercel-api`,timeoutMs:null,buildError:async t=>{let r;try{r=await t.text()}catch{r=`<unable to read response body>`}return new Da(`Failed to fetch run key for ${n} (deployment ${e}): HTTP ${t.status} ${t.statusText}${r?` — ${r}`:``}`,t.status)}})).json(),s=We.compile(We.object({key:We.string().nullable()})).safeParse(o);if(!s.success)throw Error(`Invalid response from Vercel API: expected { key: string | null }. Zod error: ${s.error.message}`);if(s.data.key!==null)return Buffer.from(s.data.key,`base64`)}function Aa(e,t,n,r){if(!e)return;let i=process.env.VERCEL===`1`,a;function o(){if(a)return a;let e=process.env.VERCEL_DEPLOYMENT_KEY;if(e)return a=Buffer.from(e,`base64`),a}return async function(a,s){let c=typeof a==`string`?a:a.runId,l=typeof a==`string`?s?.deploymentId:a.deploymentId;if(i&&(!l||l===process.env.VERCEL_DEPLOYMENT_ID)){let t=o();return t?Oa(t,e,c):void 0}if(l)return ka(l,e,c,{token:n,teamId:t,dispatcher:r})}}const ja=2048;function Ma(e){let t;try{t=JSON.stringify(e)}catch(e){throw new xe(`Dynamic workflow execution context must be JSON serializable.`,{cause:e})}let n=new TextEncoder().encode(t).byteLength;if(n>2048)throw new xe(`Dynamic workflow execution context is ${n} bytes, exceeding the ${ja}-byte limit, so no run was created. Each step binding counts its alias and its step ID, which comes from the step's file path and function name and is usually the longer of the two; the \`exportName\` counts too. Bind fewer steps through \`experimental_dynamic.steps\`, or shorten the aliases, the step files' paths or names, or the \`exportName\`.`)}async function Na(){let{getDeadline:e}=await import(`../../_chunks/workflow/functions-CKkqf9V6.js`).then(e=>n(e.default,1));return e()}const Pa={peerService:`workflow-server`,rpcSystem:`http`,rpcService:`workflow-server`},Fa={"world.runs.get":0,"world.runs.experimentalSetAttributes":0,"world.steps.get":0,"world.events.create":0,"world.events.get":0},Ia=new Set([`world.steps.list`,`world.events.list`,`world.hooks.list`]);function La(e){if(e.length>=2&&typeof e[1]==`object`&&e[1]!==null){let t=e[1];if(typeof t.eventType==`string`)return t.eventType}}function Ra(e,t){return typeof e[t]==`string`?e[t]:void 0}function za(e){if(typeof e!=`object`||!e)return;let t=e.runId;return typeof t==`string`?t:void 0}function Ba(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.runId==`string`)return t.runId;for(let e of[`run`,`step`,`hook`,`wait`]){let n=t[e];if(typeof n==`object`&&n){let e=n.runId;if(typeof e==`string`)return e}}}function Va(e,t,n){let r=`${e}.${t}`,i={},a=Fa[r],o=a===void 0?Ia.has(r)?za(n[0]):void 0:Ra(n,a);if(o&&Object.assign(i,ei(o)),r===`world.steps.get`){let e=Ra(n,1);e&&Object.assign(i,ti(e))}return i}function Ha(e,t){let n={};for(let r of Object.keys(t))if(typeof t[r]!=`function`)n[r]=t[r];else{let i=t[r],a=String(r);n[r]=async(...t)=>{let n=`${e}.${a}`;if(e===`world.events`&&a===`create`){let r=La(t);r&&(n=`${e}.${a} ${r}`)}let r;if(e===`world.events`&&a===`createBatch`){let e=t[1];if(Array.isArray(e)){let t=new Map;for(let n of e){let e=n?.event?.eventType;typeof e==`string`&&t.set(e,(t.get(e)??0)+1)}r={"workflow.batch.size":e.length,"workflow.batch.shape":[...t].sort(([e],[t])=>e<t?-1:+(e>t)).map(([e,t])=>`${e}:${t}`).join(`,`)}}}return Rr(n,{kind:await zr(`CLIENT`)},async o=>{o?.setAttributes({...Xr(Pa.peerService),...Zr(Pa.rpcSystem),...Qr(Pa.rpcService),...$r(n),...Va(e,a,t),...r});let s=await i(...t),c=Ba(s);return c&&o?.setAttributes(ei(c)),s})}}return n}var K=class extends Error{constructor(e){super(e),this.name=`MultipartParseError`}};function Ua(e){let t=new TextEncoder().encode(e);return(e,n=0)=>Buffer.prototype.indexOf.call(e,t,n)}function Wa(e){let t=new TextEncoder().encode(e),n={};for(let e=0;e<t.length;++e){let r=t[e];n[r]===void 0&&(n[r]=[]),n[r].push(e)}return function(e){let r=e.length-1;if(e[r]in n){let i=n[e[r]];for(let n=i.length-1;n>=0;--n)for(let a=i[n],o=r;a>=0&&e[o]===t[a];--a,--o)if(a===0)return o}return-1}}function Ga(e){let t=new TextDecoder(`iso-8859-1`).decode(e).trim().split(/\r?\n/),n=[];for(let e of t){let t=e.indexOf(`:`);if(t>0){let r=e.slice(0,t).trim(),i=e.slice(t+1).trim();n.push([r,i])}}return new Headers(n)}function Ka(e){let t=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!t)throw new K(`No boundary found in Content-Type header`);return t[1]??t[2]}var qa=class{queue=[];waiters=[];finished=!1;cancelled=!1;error=null;enqueue(e){this.finished||this.cancelled||(this.waiters.length>0?this.waiters.shift().resolve(e):this.queue.push(e))}finish(e){if(!this.finished)for(this.finished=!0,this.error=e||null;this.waiters.length>0;){let t=this.waiters.shift();e?t.reject(e):t.resolve(null)}}cancel(){if(!(this.cancelled||this.finished))for(this.cancelled=!0;this.waiters.length>0;)this.waiters.shift().resolve(null)}async dequeue(){if(this.queue.length>0)return this.queue.shift();if(this.finished||this.cancelled){if(this.error)throw this.error;return null}return new Promise((e,t)=>{this.waiters.push({resolve:e,reject:t})})}get isTerminal(){return this.finished||this.cancelled}};async function*Ja(e,t){if(!e.body)throw new K(`Response body is null`);let n=e.headers.get(`content-type`);if(!n)throw new K(`Missing Content-Type header`);yield*new Ya(Ka(n),t).parseStream(e.body)}var Ya=class{boundary;findOpeningBoundary;openingBoundaryLength;findBoundary;findPartialTailBoundary;boundaryLength;findDoubleNewline;maxHeaderSize;maxBoundaryBuffer;state=0;buffer=null;currentHeaders=new Headers;currentPayloadController=null;constructor(e,t={}){this.boundary=e,this.findOpeningBoundary=Ua(`--${e}`),this.openingBoundaryLength=2+e.length,this.findBoundary=Ua(`\r
|
|
3
|
+
`),r=process.env.DEBUG?`\n\nResponse context: ${m.getDebugContext()}`:``;throw new D(`Schema validation failed for ${c} ${e}${h}:\n${n}${r}`,{url:d,code:`SCHEMA_VALIDATION`,cause:t.error})}return t.data})})}function Yi(e){let t=Xe(e,{depth:3,maxArrayLength:10,breakLength:120});return t.length>500?`${t.slice(0,500)}...`:t}async function Xi(e){let t=e.headers.get(`Content-Type`)||``;if(t.includes(`application/cbor`)){let n=await e.arrayBuffer(),r=ln(new Uint8Array(n));return{data:r,getDebugContext:()=>`Content-Type: ${t}, ${n.byteLength} bytes (CBOR), preview: ${Yi(r)}`}}let n=await e.text(),r=JSON.parse(n);return{data:r,getDebugContext:()=>`Content-Type: ${t}, ${n.length} bytes, preview: ${Yi(r)}`}}function G(e,t,n){return new D(`${e}: ${t} ${n}`,{code:`INVALID_ARGUMENT`,field:t})}const Zi=`[01234567][0123456789ABCDEFGHJKMNPQRSTVWXYZ]{25}`,Qi=RegExp(`^wrun_${Zi}$`),$i=RegExp(`^(?:step|hook|wait|attr)_${Zi}$`),ea=RegExp(`^evnt_${Zi}$`),ta=RegExp(`^step_${Zi}$`),na=RegExp(`^hook_${Zi}$`),ra=RegExp(`^wait_${Zi}$`);function ia(e,t,n){if(!Number.isInteger(t)||t<1||t>n)throw G(e,`pagination.limit`,`must be an integer between 1 and ${n} (received ${t})`)}function aa(e,t){if(!Qi.test(t))throw G(e,`runId`,`must be a workflow run id ('wrun_' followed by a ULID), received ${JSON.stringify(t)}`)}function oa(e,t){if(!$i.test(t))throw G(e,`correlationId`,`must be a step, hook, wait, or attribute id, received ${JSON.stringify(t)}`)}function sa(e,t){if(!ea.test(t))throw G(e,`eventId`,`must be an event id ('evnt_' followed by a ULID), received ${JSON.stringify(t)}`)}function ca(e,t){if(!ta.test(t))throw G(e,`stepId`,`must be a step id ('step_' followed by a ULID), received ${JSON.stringify(t)}`)}function la(e,t){if(!na.test(t))throw G(e,`hookId`,`must be a hook id ('hook_' followed by a ULID), received ${JSON.stringify(t)}`)}function ua(e,t){if(!ra.test(t))throw G(e,`waitId`,`must be a wait id ('wait_' followed by a ULID), received ${JSON.stringify(t)}`)}function da(e,t){let n=Object.entries(t);if(n.length>8)throw G(e,`attributes`,`may filter by at most 8 pairs (received ${n.length})`);for(let[t,r]of n){if(!fe.safeParse(t).success)throw G(e,`attributes`,`key must be 1 to 256 characters, received ${t.length} in ${JSON.stringify(t)}`);if(!ge.safeParse(r).success)throw G(e,`attributes`,`value for ${JSON.stringify(t)} must be at most 256 UTF-8 bytes (received ${new TextEncoder().encode(r).length})`)}}function fa(e,t,n){if(t===void 0&&n===void 0)return;if(t===void 0||n===void 0)throw G(e,t===void 0?`startTime`:`endTime`,`is required when ${t===void 0?`endTime`:`startTime`} is provided; supply both or neither`);let r=new Date(t).getTime(),i=new Date(n).getTime();if(!Number.isFinite(r))throw G(e,`startTime`,`must be a parseable datetime, received ${JSON.stringify(t)}`);if(!Number.isFinite(i))throw G(e,`endTime`,`must be a parseable datetime, received ${JSON.stringify(n)}`);if(r>i)throw G(e,`startTime`,`must be before or equal to endTime (received startTime=${JSON.stringify(t)}, endTime=${JSON.stringify(n)})`)}function pa(e,t,n,r){n?.limit!==void 0&&(ia(e,n.limit,r),t.set(`limit`,n.limit.toString())),n?.cursor&&t.set(`cursor`,n.cursor),n?.sortOrder&&t.set(`sortOrder`,n.sortOrder)}function ma(e){let t=e.toString();return t?`?${t}`:``}function ha(e,t){let n=[...new Set(t)];if(n.length===0)throw G(e,`eventIds`,`must contain at least one id`);if(n.length>100)throw G(e,`eventIds`,`must contain at most 100 unique ids (received ${n.length})`);for(let t of n)sa(e,t);return n}function ga(e,t,n){fa(e,n.startTime,n.endTime),n.workflowName!==void 0&&t.set(`workflowName`,n.workflowName),n.startTime!==void 0&&n.endTime!==void 0&&(t.set(`startTime`,n.startTime),t.set(`endTime`,n.endTime)),pa(e,t,n.pagination,100)}function _a(e){return{runs:{get(t){return aa(`analytics.runs.get`,t),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}`,config:e,schema:g})},list(t={}){fa(`analytics.runs.list`,t.startTime,t.endTime);let n=new URLSearchParams;return t.workflowName!==void 0&&n.set(`workflowName`,t.workflowName),t.status&&n.set(`status`,t.status),t.startTime!==void 0&&t.endTime!==void 0&&(n.set(`startTime`,t.startTime),n.set(`endTime`,t.endTime)),t.attributes&&Object.keys(t.attributes).length>0&&(da(`analytics.runs.list`,t.attributes),n.set(`attributes`,JSON.stringify(t.attributes))),pa(`analytics.runs.list`,n,t.pagination,100),W({endpoint:`/v2/analytics/runs${ma(n)}`,config:e,schema:de(g)})}},attributes:{list(t={}){let n=new URLSearchParams;return ga(`analytics.attributes.list`,n,t),W({endpoint:`/v2/analytics/attributes${ma(n)}`,config:e,schema:de(le)})}},steps:{get(t,n){return aa(`analytics.steps.get`,t),ca(`analytics.steps.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/steps/${encodeURIComponent(n)}`,config:e,schema:_})},list(t){aa(`analytics.steps.list`,t.runId);let n=new URLSearchParams;return pa(`analytics.steps.list`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/steps${ma(n)}`,config:e,schema:de(_)})}},events:{get(t,n){return aa(`analytics.events.get`,t),sa(`analytics.events.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/events/${encodeURIComponent(n)}`,config:e,schema:l})},getMany(t,n){return aa(`analytics.events.getMany`,t),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/events/get-many`,options:{method:`POST`},data:{eventIds:ha(`analytics.events.getMany`,n)},config:e,schema:l.array()})},list(t){aa(`analytics.events.list`,t.runId);let n=new URLSearchParams;return t.eventType&&n.set(`eventType`,t.eventType),t.correlationId!==void 0&&(oa(`analytics.events.list`,t.correlationId),n.set(`correlationId`,t.correlationId)),pa(`analytics.events.list`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/events${ma(n)}`,config:e,schema:de(l)})},listByCorrelationId(t){aa(`analytics.events.listByCorrelationId`,t.runId),oa(`analytics.events.listByCorrelationId`,t.correlationId);let n=new URLSearchParams;return n.set(`correlationId`,t.correlationId),pa(`analytics.events.listByCorrelationId`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/events${ma(n)}`,config:e,schema:de(l)})}},hooks:{get(t,n){la(`analytics.hooks.get`,t);let r=new URLSearchParams;return n?.runId!==void 0&&(aa(`analytics.hooks.get`,n.runId),r.set(`runId`,n.runId)),W({endpoint:`/v2/analytics/hooks/${encodeURIComponent(t)}${ma(r)}`,config:e,schema:ce})},list(t){aa(`analytics.hooks.list`,t.runId);let n=new URLSearchParams;return n.set(`runId`,t.runId),pa(`analytics.hooks.list`,n,t.pagination,100),W({endpoint:`/v2/analytics/hooks${ma(n)}`,config:e,schema:de(ce)})}},waits:{get(t,n){return aa(`analytics.waits.get`,t),ua(`analytics.waits.get`,n),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t)}/waits/${encodeURIComponent(n)}`,config:e,schema:y})},list(t){aa(`analytics.waits.list`,t.runId);let n=new URLSearchParams;return t.status&&n.set(`status`,t.status),pa(`analytics.waits.list`,n,t.pagination,v),W({endpoint:`/v2/analytics/runs/${encodeURIComponent(t.runId)}/waits${ma(n)}`,config:e,schema:de(y)})}}}}const va=T(`@workflow/world-vercel//runIdFactory`,1,()=>({ulid:me(),lastRunId:void 0}));function ya(e){let t=Le(e),n=5,r=1;for(;n>=0&&r>0;){let e=t[n]+r;t[n]=e&255,r=e>>8,n--}if(r>0)throw Error(`ULID space exhausted`);return Fe(t)}function ba(e){return typeof e!=`string`||e===``||e===`unknown`?null:Object.hasOwn(Ne,e)?e:null}function xa(e){return ba(e?.region)??ba(process.env.VERCEL_REGION)??`iad1`}function Sa(e){let t=xa(e),n=Ne[t],r=Pe(va.ulid(),n);if(va.lastRunId!==void 0)for(;r<=va.lastRunId;)r=Pe(ya(va.lastRunId),n);return va.lastRunId=r,r}function Ca(e){let t=e.startsWith(`wrun_`)?e.slice(5):e;try{let e=Re(t);return e.tagged&&e.region?e.region:Ie}catch{return null}}function wa(e){let t=e.runId;return typeof t!=`string`||t.length===0?null:{region:Ca(t)}}const Ta=O.object({ref:O.string().min(1),byteSize:O.number().int().nonnegative().optional()});async function Ea(e,t,n){let{baseUrl:r,headers:i}=await U(n),a=`${r}/v4/runs/${encodeURIComponent(e)}/dynamic-code?workflowName=${encodeURIComponent(t.workflowName)}`,o=new Headers(i);o.set(`Content-Type`,`application/octet-stream`),o.set(`Accept`,`application/json`),o.set(`Content-Length`,String(t.code.byteLength));let s=await zi({method:`POST`,url:a,headers:o,body:t.code,dispatcher:yr(n),logLabel:`uploadDynamicWorkflowCode`});return Ta.parse(await s.json()).ref}var Da=class extends Error{status;constructor(e,t){super(e),this.name=`RunKeyFetchError`,this.status=t}};async function Oa(e,t,n){if(e.length!==32)throw Error(`Invalid deployment key length: expected 32 bytes for AES-256, got ${e.length} bytes`);if(!t||typeof t!=`string`)throw Error(`projectId must be a non-empty string`);let r=await qe.subtle.importKey(`raw`,e,`HKDF`,!1,[`deriveBits`]),i=new TextEncoder().encode(`${t}|${n}`),a=await qe.subtle.deriveBits({name:`HKDF`,hash:`SHA-256`,salt:new Uint8Array(32),info:i},r,256);return new Uint8Array(a)}async function ka(e,t,n,r){let i=await Pi({token:r?.token});if(!i)throw Error(`Cannot fetch run key: no OIDC token or VERCEL_TOKEN available`);let a=new URLSearchParams({projectId:t,runId:n});r?.teamId&&a.set(`teamId`,r.teamId);let o=await(await zi({method:`GET`,url:`https://api.vercel.com/v1/workflow/run-key/${e}?${a}`,headers:new Headers({Authorization:`Bearer ${i}`}),dispatcher:_r({dispatcher:r?.dispatcher}),peerService:`vercel-api`,timeoutMs:null,buildError:async t=>{let r;try{r=await t.text()}catch{r=`<unable to read response body>`}return new Da(`Failed to fetch run key for ${n} (deployment ${e}): HTTP ${t.status} ${t.statusText}${r?` — ${r}`:``}`,t.status)}})).json(),s=We.compile(We.object({key:We.string().nullable()})).safeParse(o);if(!s.success)throw Error(`Invalid response from Vercel API: expected { key: string | null }. Zod error: ${s.error.message}`);if(s.data.key!==null)return Buffer.from(s.data.key,`base64`)}function Aa(e,t,n,r){if(!e)return;let i=process.env.VERCEL===`1`,a;function o(){if(a)return a;let e=process.env.VERCEL_DEPLOYMENT_KEY;if(e)return a=Buffer.from(e,`base64`),a}return async function(a,s){let c=typeof a==`string`?a:a.runId,l=typeof a==`string`?s?.deploymentId:a.deploymentId;if(i&&(!l||l===process.env.VERCEL_DEPLOYMENT_ID)){let t=o();return t?Oa(t,e,c):void 0}if(l)return ka(l,e,c,{token:n,teamId:t,dispatcher:r})}}const ja=2048;function Ma(e){let t;try{t=JSON.stringify(e)}catch(e){throw new xe(`Dynamic workflow execution context must be JSON serializable.`,{cause:e})}let n=new TextEncoder().encode(t).byteLength;if(n>2048)throw new xe(`Dynamic workflow execution context is ${n} bytes, exceeding the ${ja}-byte limit, so no run was created. Each step binding counts its alias and its step ID, which comes from the step's file path and function name and is usually the longer of the two; the \`exportName\` counts too. Bind fewer steps through \`experimental_dynamic.steps\`, or shorten the aliases, the step files' paths or names, or the \`exportName\`.`)}async function Na(){let{getDeadline:e}=await import(`../../_chunks/workflow/functions-CKkqf9V6.js`).then(e=>n(e.default,1));return e()}const Pa={peerService:`workflow-server`,rpcSystem:`http`,rpcService:`workflow-server`},Fa={"world.runs.get":0,"world.runs.experimentalSetAttributes":0,"world.steps.get":0,"world.events.create":0,"world.events.get":0},Ia=new Set([`world.steps.list`,`world.events.list`,`world.hooks.list`]);function La(e){if(e.length>=2&&typeof e[1]==`object`&&e[1]!==null){let t=e[1];if(typeof t.eventType==`string`)return t.eventType}}function Ra(e,t){return typeof e[t]==`string`?e[t]:void 0}function za(e){if(typeof e!=`object`||!e)return;let t=e.runId;return typeof t==`string`?t:void 0}function Ba(e){if(typeof e!=`object`||!e)return;let t=e;if(typeof t.runId==`string`)return t.runId;for(let e of[`run`,`step`,`hook`,`wait`]){let n=t[e];if(typeof n==`object`&&n){let e=n.runId;if(typeof e==`string`)return e}}}function Va(e,t,n){let r=`${e}.${t}`,i={},a=Fa[r],o=a===void 0?Ia.has(r)?za(n[0]):void 0:Ra(n,a);if(o&&Object.assign(i,ei(o)),r===`world.steps.get`){let e=Ra(n,1);e&&Object.assign(i,ti(e))}return i}function Ha(e,t){let n={};for(let r of Object.keys(t))if(typeof t[r]!=`function`)n[r]=t[r];else{let i=t[r],a=String(r);n[r]=async(...t)=>{let n=`${e}.${a}`;if(e===`world.events`&&a===`create`){let r=La(t);r&&(n=`${e}.${a} ${r}`)}let r;if(e===`world.events`&&a===`createBatch`){let e=t[1];if(Array.isArray(e)){let t=new Map;for(let n of e){let e=n?.event?.eventType;typeof e==`string`&&t.set(e,(t.get(e)??0)+1)}r={"workflow.batch.size":e.length,"workflow.batch.shape":[...t].sort(([e],[t])=>e<t?-1:+(e>t)).map(([e,t])=>`${e}:${t}`).join(`,`)}}}return Rr(n,{kind:await zr(`CLIENT`)},async o=>{o?.setAttributes({...Xr(Pa.peerService),...Zr(Pa.rpcSystem),...Qr(Pa.rpcService),...$r(n),...Va(e,a,t),...r});let s=await i(...t),c=Ba(s);return c&&o?.setAttributes(ei(c)),s})}}return n}var K=class extends Error{constructor(e){super(e),this.name=`MultipartParseError`}};function Ua(e){let t=new TextEncoder().encode(e);return(e,n=0)=>Buffer.prototype.indexOf.call(e,t,n)}function Wa(e){let t=new TextEncoder().encode(e),n={};for(let e=0;e<t.length;++e){let r=t[e];n[r]===void 0&&(n[r]=[]),n[r].push(e)}return function(e){let r=e.length-1;if(e[r]in n){let i=n[e[r]];for(let n=i.length-1;n>=0;--n)for(let a=i[n],o=r;a>=0&&e[o]===t[a];--a,--o)if(a===0)return o}return-1}}function Ga(e){let t=new TextDecoder(`iso-8859-1`).decode(e).trim().split(/\r?\n/),n=[];for(let e of t){let t=e.indexOf(`:`);if(t>0){let r=e.slice(0,t).trim(),i=e.slice(t+1).trim();n.push([r,i])}}return new Headers(n)}function Ka(e){let t=e.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!t)throw new K(`No boundary found in Content-Type header`);return t[1]??t[2]}var qa=class{queue=[];waiters=[];finished=!1;cancelled=!1;error=null;enqueue(e){this.finished||this.cancelled||(this.waiters.length>0?this.waiters.shift().resolve(e):this.queue.push(e))}finish(e){if(!this.finished)for(this.finished=!0,this.error=e||null;this.waiters.length>0;){let t=this.waiters.shift();e?t.reject(e):t.resolve(null)}}cancel(){if(!(this.cancelled||this.finished))for(this.cancelled=!0;this.waiters.length>0;)this.waiters.shift().resolve(null)}async dequeue(){if(this.queue.length>0)return this.queue.shift();if(this.finished||this.cancelled){if(this.error)throw this.error;return null}return new Promise((e,t)=>{this.waiters.push({resolve:e,reject:t})})}get isTerminal(){return this.finished||this.cancelled}};async function*Ja(e,t){if(!e.body)throw new K(`Response body is null`);let n=e.headers.get(`content-type`);if(!n)throw new K(`Missing Content-Type header`);yield*new Ya(Ka(n),t).parseStream(e.body)}var Ya=class{boundary;findOpeningBoundary;openingBoundaryLength;findBoundary;findPartialTailBoundary;boundaryLength;findDoubleNewline;maxHeaderSize;maxBoundaryBuffer;state=0;buffer=null;currentHeaders=new Headers;currentPayloadController=null;constructor(e,t={}){this.boundary=e,this.findOpeningBoundary=Ua(`--${e}`),this.openingBoundaryLength=2+e.length,this.findBoundary=Ua(`\r
|
|
4
4
|
--${e}`),this.findPartialTailBoundary=Wa(`\r
|
|
5
5
|
--${e}`),this.boundaryLength=4+e.length,this.findDoubleNewline=Ua(`\r
|
|
6
6
|
\r
|
|
@@ -19,7 +19,7 @@ Prime failures: `+n.primeFailures.slice(0,3).map(e=>`${e.url} (${e.reason})`).jo
|
|
|
19
19
|
${o}${s}${c}
|
|
20
20
|
Ensure your dev server is running, set PORT if needed, and confirm mapped route files call handleCallback()/handleNodeCallback() at module scope.
|
|
21
21
|
`+(a.length>0?`Try opening: ${a.join(` or `)}`:`Set PORT (or NEXT_PORT/NUXT_PORT/VITE_PORT) and try sending again.`)}function Du(e,t){return lu(e).some(e=>e.consumerGroup===t)}var Ou=10,ku=2,Au=10,ju=86400;function Mu(e,t){let n=Math.min(Math.max(t,0),Ou);console.log(`${Q} ${Gl} Scheduling re-delivery in ${n}s: topic="${e.topicName}" consumer="${e.consumerGroup}" messageId="${e.messageId}"`),setTimeout(async()=>{let t=e.deliveryCount+1,n=new Date(e.createdAt.getTime()+e.retentionSeconds*1e3);if(Date.now()>=n.getTime()){console.log(`${Q} Message expired, stopping retries: topic="${e.topicName}" messageId="${e.messageId}"`);return}if(t>Au){console.log(`${Q} Max re-deliveries (${Au}) reached: topic="${e.topicName}" messageId="${e.messageId}"`);return}let r={messageId:e.messageId,deliveryCount:t,createdAt:e.createdAt,expiresAt:n,topicName:e.topicName,consumerGroup:e.consumerGroup,region:e.region};console.log(`${Q} Re-delivering: topic="${e.topicName}" consumer="${e.consumerGroup}" messageId="${e.messageId}" deliveryCount=${t}`);let i=!0,a=null,o=!1;try{await e.handler(e.payload,r)}catch(t){if(i=!1,e.retry){let n;try{n=e.retry(t,r)}catch(e){console.warn(`${Q} retry handler threw:`,e)}n&&`afterSeconds`in n?a=n.afterSeconds:n&&`acknowledge`in n&&(o=!0)}o||console.error(`${Q} ${Wl} Handler error on re-delivery: topic="${e.topicName}" messageId="${e.messageId}"`,t)}if(i)console.log(`${Q} ${Ul} Message processed on re-delivery: topic="${e.topicName}" consumer="${e.consumerGroup}" messageId="${e.messageId}"`);else if(o)console.log(`${Q} ${Ul} Message acknowledged (will not retry): topic="${e.topicName}" consumer="${e.consumerGroup}" messageId="${e.messageId}"`);else{let n=a??e.defaultRetryDelayS;Mu({...e,deliveryCount:t},n)}},n*1e3)}function Nu(e,t,n,r,i){if(r&&r>0){console.log(`${Q} Message sent with delay: topic="${e}" messageId="${t}" delay=${r}s`),setTimeout(()=>{Nu(e,t,n,void 0,i)},r*1e3);return}console.log(`${Q} Message sent: topic="${e}" messageId="${t}"`),(async()=>{let r=lu(e),a=null;if(r.length>0?(await Tu(e,{refreshRegistered:!0}),r=lu(e)):(a=await Tu(e),r=lu(e)),r.length===0){let t=Xl(e);if(t.length>0){let n=a??{triedPorts:bu(),listeningPorts:[],unavailablePorts:[],importFailures:[],primeFailures:[]};console.warn(Eu(e,t,n))}else console.warn(`${Q} No registered handler for topic "${e}".
|
|
22
|
-
Ensure vercel.json has a matching experimentalTriggers entry and the route file calls handleCallback().`);return}let o=r.map(e=>e.consumerGroup);console.log(`${Q} Invoking handlers for topic="${e}" messageId="${t}" \u2192 consumers: [${o.join(`, `)}]`);let s=i??ju;for(let i of r){let r,a=new Date,o=1,c=!0,l=null,u=!1,d=async(e,t)=>{r=e,a=t.createdAt,o=t.deliveryCount;try{await i.handler(e,t)}catch(e){throw c=!1,e}},f=i.options?.retry?(e,t)=>{let n=i.options.retry(e,t);return n&&`afterSeconds`in n?l=n.afterSeconds:n&&`acknowledge`in n&&(u=!0),n}:void 0,p={queueName:e,consumerGroup:i.consumerGroup,messageId:t,region:n},m={client:i.client,visibilityTimeoutSeconds:i.options?.visibilityTimeoutSeconds,retry:f},h=Math.min(Zl(e,i.consumerGroup)??ku,Ou),g=()=>({handler:i.handler,retry:i.options?.retry,payload:r,topicName:e,consumerGroup:i.consumerGroup,messageId:t,region:n,createdAt:a,retentionSeconds:s,deliveryCount:o,defaultRetryDelayS:h});try{if(await Su(d,p,m),c)console.log(`${Q} ${Ul} Message processed: topic="${e}" consumer="${i.consumerGroup}" messageId="${t}"`);else if(u)console.log(`${Q} ${Ul} Message acknowledged (will not retry): topic="${e}" consumer="${i.consumerGroup}" messageId="${t}"`);else if(l!==null){let e=Math.min(l,Ou);Mu(g(),e)}}catch(n){console.error(`${Q} ${Wl} Handler failed: topic="${e}" consumer="${i.consumerGroup}" messageId="${t}"`,n),c||Mu(g(),h)}}})()}function Pu(){let e=globalThis;delete e[ql],delete e[au]}(process.env.NODE_ENV===`test`||process.env.VITEST)&&(globalThis.__clearDevState=Pu,globalThis.__filePathToConsumerGroup=Jl,globalThis.__filePathToUrlPath=Cu,globalThis.__matchesFunctionsPattern=$l,globalThis.__stripSrcPrefix=Ql);var Fu=new TextEncoder;function Iu(e){let t=`vqs-${
|
|
22
|
+
Ensure vercel.json has a matching experimentalTriggers entry and the route file calls handleCallback().`);return}let o=r.map(e=>e.consumerGroup);console.log(`${Q} Invoking handlers for topic="${e}" messageId="${t}" \u2192 consumers: [${o.join(`, `)}]`);let s=i??ju;for(let i of r){let r,a=new Date,o=1,c=!0,l=null,u=!1,d=async(e,t)=>{r=e,a=t.createdAt,o=t.deliveryCount;try{await i.handler(e,t)}catch(e){throw c=!1,e}},f=i.options?.retry?(e,t)=>{let n=i.options.retry(e,t);return n&&`afterSeconds`in n?l=n.afterSeconds:n&&`acknowledge`in n&&(u=!0),n}:void 0,p={queueName:e,consumerGroup:i.consumerGroup,messageId:t,region:n},m={client:i.client,visibilityTimeoutSeconds:i.options?.visibilityTimeoutSeconds,retry:f},h=Math.min(Zl(e,i.consumerGroup)??ku,Ou),g=()=>({handler:i.handler,retry:i.options?.retry,payload:r,topicName:e,consumerGroup:i.consumerGroup,messageId:t,region:n,createdAt:a,retentionSeconds:s,deliveryCount:o,defaultRetryDelayS:h});try{if(await Su(d,p,m),c)console.log(`${Q} ${Ul} Message processed: topic="${e}" consumer="${i.consumerGroup}" messageId="${t}"`);else if(u)console.log(`${Q} ${Ul} Message acknowledged (will not retry): topic="${e}" consumer="${i.consumerGroup}" messageId="${t}"`);else if(l!==null){let e=Math.min(l,Ou);Mu(g(),e)}}catch(n){console.error(`${Q} ${Wl} Handler failed: topic="${e}" consumer="${i.consumerGroup}" messageId="${t}"`,n),c||Mu(g(),h)}}})()}function Pu(){let e=globalThis;delete e[ql],delete e[au]}(process.env.NODE_ENV===`test`||process.env.VITEST)&&(globalThis.__clearDevState=Pu,globalThis.__filePathToConsumerGroup=Jl,globalThis.__filePathToUrlPath=Cu,globalThis.__matchesFunctionsPattern=$l,globalThis.__stripSrcPrefix=Ql);var Fu=new TextEncoder;function Iu(e){let t=`vqs-${Ke()}`,n=null,r=0,i,a;function o(t){return i??=Promise.resolve().then(async()=>{await Promise.allSettled([n?.cancel(t),...e.slice(r).map(async e=>{let n=e.body();Buffer.isBuffer(n)||await n.cancel(t)})]),await c.return(void 0)}),i}async function*s(){for(let[i,a]of e.entries()){let e=Array.from(a.headers).map(([e,t])=>`${e}: ${t}\r
|
|
23
23
|
`).join(``);yield Fu.encode(`--${t}\r
|
|
24
24
|
${e}\r
|
|
25
25
|
`),r=i+1;let o=a.body();if(Buffer.isBuffer(o))yield o;else{n=o.getReader();try{for(;;){let{done:e,value:t}=await n.read();if(e)break;yield t}}finally{n.releaseLock(),n=null}}yield Fu.encode(`\r
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{runJsProgram}from"#execution/dynamic-workflow/workflow.js";async function runWorkflowProgramTask(e,t){"use workflow";return runJsProgram(e.js,t,{maxSubagents:e.maxSubagents??0})}runWorkflowProgramTask.workflowId=`workflow//eve@0.80.
|
|
1
|
+
import{runJsProgram}from"#execution/dynamic-workflow/workflow.js";async function runWorkflowProgramTask(e,t){"use workflow";return runJsProgram(e.js,t,{maxSubagents:e.maxSubagents??0})}runWorkflowProgramTask.workflowId=`workflow//eve@0.80.1//runWorkflowProgramTask`;export{runWorkflowProgramTask};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{decide}from"#ai/decide.js";async function runAgentRouterTask(e,t){"use workflow";let n=await chooseTarget(e.message,descriptions(t),t.abortSignal),{message:r,status:i}=await(await t.agent(n).send(e.message,{signal:t.abortSignal})).result();if(i===`failed`)throw Error(`Agent "${n}" failed to handle the task.`);return r??null}async function chooseTarget(e,t,n){"use step";let r=Object.keys(t);if(r.length===0)throw Error(`agentRouter requires at least one available agent with a description.`);return r.length===1?r[0]:(await decide({abortSignal:n,state:{message:e},questions:{route:{type:`choice`,instructions:`Which subagent should handle this task?`,criteria:t}}})).answers.route.choice}function descriptions(e){return Object.fromEntries(Object.entries(e.agents).flatMap(([e,t])=>{let n=t.description.trim();return n.length===0?[]:[[e,n]]}))}runAgentRouterTask.workflowId=`workflow//eve@0.80.
|
|
1
|
+
import{decide}from"#ai/decide.js";async function runAgentRouterTask(e,t){"use workflow";let n=await chooseTarget(e.message,descriptions(t),t.abortSignal),{message:r,status:i}=await(await t.agent(n).send(e.message,{signal:t.abortSignal})).result();if(i===`failed`)throw Error(`Agent "${n}" failed to handle the task.`);return r??null}async function chooseTarget(e,t,n){"use step";let r=Object.keys(t);if(r.length===0)throw Error(`agentRouter requires at least one available agent with a description.`);return r.length===1?r[0]:(await decide({abortSignal:n,state:{message:e},questions:{route:{type:`choice`,instructions:`Which subagent should handle this task?`,criteria:t}}})).answers.route.choice}function descriptions(e){return Object.fromEntries(Object.entries(e.agents).flatMap(([e,t])=>{let n=t.description.trim();return n.length===0?[]:[[e,n]]}))}runAgentRouterTask.workflowId=`workflow//eve@0.80.1//runAgentRouterTask`;export{runAgentRouterTask};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{createFrameworkUserMessage,isFrameworkUserMessage}from"#harness/messages.js";import{COMPACTION_CHECKPOINT_MARKER,COMPACTION_PROMPT_ENVELOPE,COMPACTION_RESUMPTION_MESSAGE,TRANSCRIPT_PAYLOAD_LIMIT,createCompactionPrompt,serializeToolResultOutput,
|
|
1
|
+
import{createFrameworkUserMessage,isFrameworkUserMessage}from"#harness/messages.js";import{COMPACTION_CHECKPOINT_MARKER,COMPACTION_PROMPT_ENVELOPE,COMPACTION_RESUMPTION_MESSAGE,TRANSCRIPT_PAYLOAD_LIMIT,clipMiddleUtf16Safe,createCompactionPrompt,serializeToolResultOutput,stubContentOutputFileParts}from"#harness/compaction/prompt.js";import{estimateTokens}from"#harness/token-estimate.js";const COMPACTION_PROMPT_OVERHEAD_TOKENS=estimateTokens([{content:COMPACTION_PROMPT_ENVELOPE.system,role:`system`},createFrameworkUserMessage(`context.compaction`,COMPACTION_PROMPT_ENVELOPE.prompt)]);function getInputTokenCount(e,t,n=0,r=0){let i=t.lastKnownInputTokens,a=t.lastKnownPromptMessageCount;return i===void 0||a===void 0||!Number.isInteger(a)||a<0||a>e.length?estimateTokens(e)+n:i+estimateTokens(e.slice(a))+Math.max(0,n-r)}function shouldCompact(e,t,n=0,r=0){return e.length>0&&getInputTokenCount(e,t,n,r)+COMPACTION_PROMPT_OVERHEAD_TOKENS>t.threshold}const COMPACTION_HEURISTICS=[toolResultCapHeuristic];function toolResultCapHeuristic(e){let t=withResumptionGuard([...e.previousCheckpoint===void 0?[]:[createFrameworkUserMessage(`context.compaction`,COMPACTION_CHECKPOINT_MARKER),{content:e.previousCheckpoint,role:`assistant`}],...capToolResults(e.older),...e.recent],e.conversation,e.config.threshold);return evaluateThreshold(t,e.config,`should-compact`,e.tokenEstimateAdjustment).type===`within-limit`?{messages:t,type:`within-limit`}:{type:`insufficient`}}function evaluateThreshold(e,t,n,r=0){let i=n===`should-compact`?COMPACTION_PROMPT_OVERHEAD_TOKENS:0,a=estimateTokens(e)+i+r;return{estimatedTokens:a,type:a<=t.threshold?`within-limit`:`over-limit`}}async function compactMessages(e,t,n,r=!1,i){let{conversation:a,previousCheckpoint:o}=extractPreviousCheckpoint(e),s=selectRecentWindowSize(a,r?{...t,recentWindowSize:1}:t);if(!r){let{older:n,recent:r}=splitMessagesForCompaction(a,s);if(n.length===0&&o===void 0)return keepNonToolResultMessages(r);let c=Math.max(0,(i??getInputTokenCount(e,t))-estimateTokens(e));for(let e of COMPACTION_HEURISTICS){let i=e({config:t,conversation:a,older:n,previousCheckpoint:o,recent:r,tokenEstimateAdjustment:c});if(i.type===`within-limit`)return i.messages}}for(;;){let{older:e,recent:r}=splitMessagesForCompaction(a,s),i=createCompactionPrompt({messages:e,previousCheckpoint:o,transcriptBudgetTokens:t.threshold}),c=await n({messages:[createFrameworkUserMessage(`context.compaction`,i.prompt)],system:i.system}),l=[createFrameworkUserMessage(`context.compaction`,COMPACTION_CHECKPOINT_MARKER),{content:c,role:`assistant`}],u=withResumptionGuard([...l,...r],a,t.threshold);if(evaluateThreshold(u,t,`estimate`).type===`within-limit`)return u;let d=withResumptionGuard([...l,...keepNonToolResultMessages(r)],a,t.threshold);if(evaluateThreshold(d,t,`estimate`).type===`within-limit`||s===0)return d;--s}}function capToolResults(e){return e.map(e=>{if(e.role!==`tool`||typeof e.content==`string`)return e;let t=!1,n=e.content.map(e=>{if(e.type!==`tool-result`)return e;let n=stubContentOutputFileParts(e.output),r=serializeToolResultOutput(n);return r.length<=TRANSCRIPT_PAYLOAD_LIMIT?n===e.output?e:(t=!0,{...e,output:n}):(t=!0,{...e,output:{type:`text`,value:`[Truncated by eve: tool result reduced during context compaction. Re-run the tool if you need the full output.]
|
|
2
2
|
|
|
3
|
-
${
|
|
3
|
+
${clipMiddleUtf16Safe(r,TRANSCRIPT_PAYLOAD_LIMIT-113)}`}})});return t?{...e,content:n}:e})}function withResumptionGuard(e,t,n){let r=e.at(-1)?.role,i=findLastRealUserMessage(t),a=i!==void 0&&e.some(e=>e.role===`user`&&e.content===i.content);return r!==void 0&&r!==`assistant`?r===`tool`&&i!==void 0&&!a&&estimateTokens([i])<=n?[...e,i]:e:[...e,i!==void 0&&!a?i:createFrameworkUserMessage(`execution.continuation`,COMPACTION_RESUMPTION_MESSAGE)]}function findLastRealUserMessage(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n?.role===`user`&&typeof n.content==`string`&&!isFrameworkUserMessage(n))return n}}function extractPreviousCheckpoint(e){let t=e[0],n=e[1];return t?.role!==`user`||t.content!==COMPACTION_CHECKPOINT_MARKER||n?.role!==`assistant`?{conversation:[...e],previousCheckpoint:void 0}:{conversation:e.slice(2),previousCheckpoint:assistantMessageText(n)}}function keepNonToolResultMessages(e){let t=[];for(let n of e)if(n.role!==`tool`){if(n.role===`assistant`){let e=assistantMessageText(n);e.length>0&&t.push({content:e,role:`assistant`});continue}t.push(n)}return t}function assistantMessageText(e){return typeof e.content==`string`?e.content.trim():e.content.filter(e=>e.type===`text`).map(e=>e.text).join(``).trim()}function selectRecentWindowSize(e,t){let n=Math.min(t.recentWindowSize,Math.max(e.length-1,0)),r=resolveCompactionSummaryReserve(t),i=0,a=0;for(let o=e.length-1;o>=0&&i<n;--o){let n=e[o];if(n===void 0)continue;let s=estimateTokens([n]);if(a+s+r>t.threshold)break;a+=s,i+=1}return i}function resolveCompactionSummaryReserve(e){return Math.min(2048,Math.max(64,Math.floor(e.threshold/4)))}function splitMessagesForCompaction(e,t){if(t<=0)return{older:[...e],recent:[]};let n=e.length-t;for(;n<e.length&&e[n]?.role===`tool`;)n+=1;return{older:e.slice(0,n),recent:e.slice(n)}}export{compactMessages,getInputTokenCount,shouldCompact};
|
|
@@ -41,4 +41,10 @@ export declare function serializeToolResultOutput(output: unknown): string;
|
|
|
41
41
|
*/
|
|
42
42
|
export declare function stubContentOutputFileParts(output: unknown): unknown;
|
|
43
43
|
export declare function sliceUtf16Safe(value: string, limit: number): string;
|
|
44
|
+
/**
|
|
45
|
+
* Keeps the head and tail of an oversized tool payload, never exceeding
|
|
46
|
+
* `limit`. Tool output often ends with what matters most: the failing test,
|
|
47
|
+
* the error, or the `exitCode` and `status` that `bash` serializes last.
|
|
48
|
+
*/
|
|
49
|
+
export declare function clipMiddleUtf16Safe(value: string, limit: number): string;
|
|
44
50
|
export {};
|
|
@@ -23,4 +23,4 @@ Make completed work explicit so the next model does not repeat it. Keep complete
|
|
|
23
23
|
Large tool outputs are the main thing to compress: reduce each to the findings the next model needs — what was searched or read, what it established, and the exact identifiers involved — rather than reproducing the output. The next model cannot see the originals, so nothing it would need to act on may be lost.`}function formatCompactionTranscript(e){let t=e.filter(e=>e.content.trim().length>0).map(e=>`### ${e.role}\n${e.content.trim()}`);return t.length===0?`(empty)`:t.join(`
|
|
24
24
|
|
|
25
25
|
`)}function renderCompactionMessageContent(e,t){return typeof e.content==`string`?renderConversationText(e.content,t):e.content.map(e=>renderCompactionContentPart(e,t)).filter(e=>e.length>0).join(`
|
|
26
|
-
`).trim()}function renderCompactionContentPart(e,t){switch(e.type){case`text`:return renderConversationText(e.text,t);case`reasoning`:return``;case`file`:return renderAttachedFileStub(e.filename,e.mediaType);case`tool-call`:return renderTranscriptToolCall(e,t);case`tool-result`:return renderTranscriptToolResult(e,t);default:return``}}const TRANSCRIPT_PAYLOAD_LIMIT=2e3;function renderTranscriptToolCall(e,t){return renderToolCall(e,t===void 0?TRANSCRIPT_PAYLOAD_LIMIT:280)}function renderTranscriptToolResult(e,t){let n=t===void 0?TRANSCRIPT_PAYLOAD_LIMIT:280,r=e.isError?`errored`:`returned`,i=renderToolResultOutput(e.output,n);return i?`Tool ${e.toolName} ${r} ${i}`:`Tool ${e.toolName} ${r}`}function renderToolResultOutput(e,t){let n=contentToolOutputParts(e);return
|
|
26
|
+
`).trim()}function renderCompactionContentPart(e,t){switch(e.type){case`text`:return renderConversationText(e.text,t);case`reasoning`:return``;case`file`:return renderAttachedFileStub(e.filename,e.mediaType);case`tool-call`:return renderTranscriptToolCall(e,t);case`tool-result`:return renderTranscriptToolResult(e,t);default:return``}}const TRANSCRIPT_PAYLOAD_LIMIT=2e3;function renderTranscriptToolCall(e,t){return renderToolCall(e,t===void 0?TRANSCRIPT_PAYLOAD_LIMIT:280)}function renderTranscriptToolResult(e,t){let n=t===void 0?TRANSCRIPT_PAYLOAD_LIMIT:280,r=e.isError?`errored`:`returned`,i=renderToolResultOutput(e.output,n);return i?`Tool ${e.toolName} ${r} ${i}`:`Tool ${e.toolName} ${r}`}function renderToolResultOutput(e,t){let n=contentToolOutputParts(e);return capPayload(n===void 0?serializeToolResultOutput(e):n.map(e=>renderContentToolOutputPart(e,t)).filter(e=>e.length>0).join(` `),t)}function serializeToolResultOutput(e){if(typeof e==`object`&&e){let t=e;if(t.type===`text`&&typeof t.value==`string`)return t.value}return JSON.stringify(e)??``}function contentToolOutputParts(e){if(typeof e!=`object`||!e)return;let t=e;return t.type===`content`&&Array.isArray(t.value)?t.value:void 0}function stubContentOutputFileParts(e){let t=contentToolOutputParts(e);if(t===void 0)return e;let n=!1,r=t.map(e=>{if(typeof e!=`object`||!e)return e;let t=e;return t.type!==`file`&&t.type!==`media`?e:(n=!0,{text:renderAttachedFileStub(contentFileName(e),typeof t.mediaType==`string`?t.mediaType:`unknown`),type:`text`})});return n?{type:`content`,value:r}:e}function renderContentToolOutputPart(e,t){if(typeof e!=`object`||!e)return renderPayload(e,t);let n=e;return n.type===`text`&&typeof n.text==`string`?n.text:n.type===`file`||n.type===`media`?renderAttachedFileStub(contentFileName(e),typeof n.mediaType==`string`?n.mediaType:`unknown`):renderPayload(e,t)}function contentFileName(e){let{data:t,filename:n}=e,r=t;return r?.type===`url`&&isSandboxRefUrl(r.url)?decodeSandboxRef(r.url).path:typeof n==`string`?n:void 0}function renderToolCall(e,t){let n=renderPayload(e.input,t);return n?`Called ${e.toolName} with ${n}`:`Called ${e.toolName}`}function renderPayload(e,t){return e===void 0?``:capPayload(JSON.stringify(e)??``,t)}function renderAttachedFileStub(e,t){return`Attached file ${e??`attachment`} (${t})`}function renderConversationText(e,t){return t===void 0?e.trim():capText(e,t)}function sliceUtf16Safe(e,t){if(t<=0)return``;if(e.length<=t)return e;let n=t,r=e.charCodeAt(n-1);return r>=55296&&r<=56319&&--n,e.slice(0,n)}function clipMiddleUtf16Safe(e,t){if(e.length<=t)return e;let n=t-elisionMarker(e.length).length,r=sliceUtf16Safe(e,Math.ceil(n*.6)),i=e.length-(n-r.length),a=e.charCodeAt(i);a>=56320&&a<=57343&&(i+=1);let o=e.slice(i);return`${r}${elisionMarker(i-r.length)}${o}`}function elisionMarker(e){return` … [${e} chars omitted] … `}function capPayload(e,t){return clipMiddleUtf16Safe(e.replace(/\s+/g,` `).trim(),t)}function capText(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${sliceUtf16Safe(n,t).trimEnd()}…`}export{COMPACTION_CHECKPOINT_MARKER,COMPACTION_PROMPT_ENVELOPE,COMPACTION_RESUMPTION_MESSAGE,TRANSCRIPT_PAYLOAD_LIMIT,clipMiddleUtf16Safe,createCompactionPrompt,serializeToolResultOutput,sliceUtf16Safe,stubContentOutputFileParts};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{attemptIdempotencyKey,modelCallIdempotencyKey,toolCallIdempotencyKey}from"#instrumentation/lifecycle.js";import{structuralProviderMetadata}from"#instrumentation/content.js";import{modelContent,modelUsage}from"#compiled/@
|
|
1
|
+
import{attemptIdempotencyKey,modelCallIdempotencyKey,toolCallIdempotencyKey}from"#instrumentation/lifecycle.js";import{structuralProviderMetadata}from"#instrumentation/content.js";import{modelContent,modelUsage}from"#compiled/@vercel/agent-runs/ai-sdk.js";function createAiSdkHookBridge(e,t,n=directRunInContext,r,i){let a={capturesInputs:t.capturesInputs??t.capturesContent,capturesOutputs:t.capturesOutputs??t.capturesContent,modelCallIndexes:new Map,modelCallStartEvents:new Map,modelKeys:new Map,runtimeContext:r!==void 0&&Object.keys(r).length>0?Object.freeze({...r}):void 0,scope:e,toolKeys:new Map,toolCalls:new Map,isFrameworkTool:i},nextModelCallKey=e=>{let t=a.modelCallIndexes.get(e)??0;return a.modelCallIndexes.set(e,t+1),modelCallIdempotencyKey(a.scope,e,t)};return{onStart(e){a.operation=Object.freeze({modelId:e.modelId,operationId:e.operationId,provider:e.provider})},async onStepStart(e){a.stepNumber=e.stepNumber;let n=toStepAttemptStarted(a);n!==void 0&&await t.publish(n)},async onLanguageModelCallStart(e){let n=a.stepNumber??0,r=nextModelCallKey(n);a.modelKeys.set(e.callId,r);let i=toModelCallStarted(a,r,e);a.modelCallStartEvents.set(e.callId,{event:i,stepNumber:n}),await t.publish(i)},async executeLanguageModelCall({callId:r,execute:i}){let o=a.modelKeys.get(r);if(o===void 0){let e=a.modelCallStartEvents.get(r);if(e===void 0)return i();o=nextModelCallKey(e.stepNumber),a.modelKeys.set(r,o),await t.publish(Object.freeze({...e.event,idempotencyKey:o}))}try{return await n({idempotencyKey:o,scope:e,type:`model.call`},i)}catch(n){throw a.modelKeys.get(r)===o&&a.modelKeys.delete(r),await t.publish(Object.freeze({error:n,idempotencyKey:o,scope:e,type:`model.call.failed`})),n}},async onLanguageModelCallEnd(e){let n=a.modelKeys.get(e.callId);if(n===void 0)return;a.modelKeys.delete(e.callId),a.modelCallStartEvents.delete(e.callId);let r=toModelCallCompleted(a,n,e);await t.publish(r)},async onStepEnd(e){if(e.providerMetadata===void 0)return;let n=a.capturesOutputs?e.providerMetadata:structuralProviderMetadata(e.providerMetadata);await t.publish(Object.freeze({idempotencyKey:attemptIdempotencyKey(a.scope),providerMetadata:n,scope:a.scope,type:`step.attempt.metadata`}))},onToolExecutionStart(e){let t=toolCallIdempotencyKey(a.scope,e.toolCall.toolCallId,a.stepNumber??0);a.toolKeys.set(e.toolCall.toolCallId,t);let n=toToolCallStarted(a,t,e);a.toolCalls.set(e.toolCall.toolCallId,n)},executeTool({toolCallId:e,execute:t}){let r=a.toolCalls.get(e);return r===void 0?t():n({...r,type:`tool.call`},t)},onToolExecutionEnd(e){let t=e.toolCall.toolCallId;a.toolKeys.get(t)!==void 0&&(a.toolKeys.delete(t),a.toolCalls.delete(t))},async onAbort(e){await failOpenOperations(e.reason)},async onError(e){await failOpenOperations(e.error)}};async function failOpenOperations(n){let r=[];for(let i of a.modelKeys.values())r.push(t.publish(Object.freeze({error:n,idempotencyKey:i,scope:e,type:`model.call.failed`})));a.modelKeys.clear(),a.modelCallStartEvents.clear(),a.toolKeys.clear(),a.toolCalls.clear(),await Promise.all(r)}}const directRunInContext=(e,t)=>t();function toStepAttemptStarted(e){if(e.operation!==void 0&&e.stepNumber!==void 0)return Object.freeze({idempotencyKey:attemptIdempotencyKey(e.scope),operation:e.operation,runtimeContext:e.runtimeContext,scope:e.scope,type:`step.attempt.started`})}function toModelCallStarted(e,t,n){return Object.freeze({idempotencyKey:t,input:e.capturesInputs?Object.freeze({instructions:n.instructions,messages:Object.freeze([...n.messages]),tools:n.tools===void 0?void 0:Object.freeze([...n.tools])}):void 0,model:Object.freeze({modelId:n.modelId,provider:n.provider}),runtimeContext:e.runtimeContext,scope:e.scope,type:`model.call.started`})}function toModelCallCompleted(e,t,n){return Object.freeze({content:e.capturesOutputs?Object.freeze(modelContent(n.content).map(e=>Object.freeze(e))):void 0,finishReason:n.finishReason,idempotencyKey:t,responseModelId:n.modelId,responseId:n.responseId,scope:e.scope,type:`model.call.completed`,usage:Object.freeze(modelUsage(n.usage))})}function toToolCallStarted(e,t,n){return Object.freeze({callId:n.toolCall.toolCallId,frameworkTool:e.isFrameworkTool?.(n.toolCall.toolName)===!0,idempotencyKey:t,input:e.capturesInputs?n.toolCall.input:void 0,scope:e.scope,toolName:n.toolCall.toolName,startedAtMs:Date.now(),type:`tool.call.started`})}export{createAiSdkHookBridge};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{AuthKey,InitiatorAuthKey}from"#context/keys.js";import{shouldCaptureInstrumentationContent}from"#shared/instrumentation-content.js";import{resolveTracePolicyDecision}from"#shared/trace-policy.js";import{isInstrumentationPrincipalType}from"#instrumentation/lifecycle.js";import{boundedPrincipalId}from"#compiled/@
|
|
1
|
+
import{AuthKey,InitiatorAuthKey}from"#context/keys.js";import{shouldCaptureInstrumentationContent}from"#shared/instrumentation-content.js";import{resolveTracePolicyDecision}from"#shared/trace-policy.js";import{isInstrumentationPrincipalType}from"#instrumentation/lifecycle.js";import{boundedPrincipalId}from"#compiled/@vercel/agent-runs/otel.js";function summarizeInstrumentationPrincipal(e,t){if(e===void 0)return;if(e===null)return{type:`none`};let n=isInstrumentationPrincipalType(e.principalType)&&e.principalType!==`none`?e.principalType:`other`,r=shouldCaptureInstrumentationContent(t)?boundedPrincipalId(e.principalId):void 0;return r===void 0?{type:n}:{id:r,type:n}}function applyPrincipalTraceDecision(e,t){if(e!==void 0)return e.type!==`none`&&t?.action===`record`&&t.recordInputs&&t.recordOutputs?e:{type:e.type}}function readInstrumentationPrincipals(e,t,n=resolveTracePolicyDecision(!0,t)){return{currentPrincipal:applyPrincipalTraceDecision(summarizeInstrumentationPrincipal(e.get(AuthKey),t),n),initiatorPrincipal:applyPrincipalTraceDecision(summarizeInstrumentationPrincipal(e.get(InitiatorAuthKey),t),n)}}export{applyPrincipalTraceDecision,readInstrumentationPrincipals,summarizeInstrumentationPrincipal};
|
|
@@ -8,7 +8,7 @@ import { type ChannelDeliveryStartInstrumentation, type ChannelDeliveryTerminalI
|
|
|
8
8
|
import { type PrepareTurnTraceContextInput } from "#instrumentation/prepare-trace-context.js";
|
|
9
9
|
import type { RuntimeTraceContext } from "#protocol/message.js";
|
|
10
10
|
import type { OtelHarnessSettings, RuntimeContextResolver } from "#tracing/eve/otel-declaration.js";
|
|
11
|
-
import { AgentSpanIdGenerator } from "#compiled/@
|
|
11
|
+
import { AgentSpanIdGenerator } from "#compiled/@vercel/agent-runs/index.js";
|
|
12
12
|
import { type ContextContainer } from "#context/container.js";
|
|
13
13
|
import { type MemoryInstrumentation } from "#instrumentation/memory.js";
|
|
14
14
|
import type { SamplingOperation as AgentSamplingOperation } from "#tracing/eve/otel-registration.js";
|