@ablehi/server-execution-contract 0.3.1 → 0.3.3
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/dist/action-transform-D9pBy-mj.d.ts +111 -0
- package/dist/action-transform.d.ts +2 -0
- package/dist/action-transform.js +1 -0
- package/dist/edge.d.ts +3 -1
- package/dist/edge.js +1 -1
- package/dist/index.d.ts +34 -156
- package/dist/index.js +1 -1
- package/package.json +8 -3
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { IntegrationErrorInput } from '@ablehi/error-contract';
|
|
2
|
+
|
|
3
|
+
type ContractParseResult<T> = {
|
|
4
|
+
ok: true;
|
|
5
|
+
value: T;
|
|
6
|
+
} | {
|
|
7
|
+
ok: false;
|
|
8
|
+
reason: string;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
declare const EXECUTION_LEASE_ROUTE_SUBPATH = "/:flowRunId/execution-leases";
|
|
12
|
+
declare const WORKFLOW_RESTART_ROUTE = "/restart";
|
|
13
|
+
declare const WORKFLOW_RESTART_REQUEST_INVALID = "WORKFLOW_RESTART_REQUEST_INVALID";
|
|
14
|
+
declare const WORKFLOW_RESTART_INSTANCE_UNAVAILABLE = "WORKFLOW_RESTART_INSTANCE_UNAVAILABLE";
|
|
15
|
+
declare const WORKFLOW_RESTART_REJECTED = "WORKFLOW_RESTART_REJECTED";
|
|
16
|
+
declare const RUN_DISPATCH_UNAVAILABLE = "RUN_DISPATCH_UNAVAILABLE";
|
|
17
|
+
type WorkflowRestartErrorCode = typeof WORKFLOW_RESTART_REQUEST_INVALID | typeof WORKFLOW_RESTART_INSTANCE_UNAVAILABLE | typeof WORKFLOW_RESTART_REJECTED;
|
|
18
|
+
declare const EXECUTION_LEASE_INVALID = "EXECUTION_LEASE_INVALID";
|
|
19
|
+
declare const EXECUTION_LEASE_SUPERSEDED = "EXECUTION_LEASE_SUPERSEDED";
|
|
20
|
+
declare const WAIT_EXECUTION_SUPERSEDED = "WAIT_EXECUTION_SUPERSEDED";
|
|
21
|
+
declare const HUMAN_INPUT_CANCELLED_BY_RESET = "HUMAN_INPUT_CANCELLED_BY_RESET";
|
|
22
|
+
type GenerationCallbackErrorCode = typeof EXECUTION_LEASE_INVALID | typeof EXECUTION_LEASE_SUPERSEDED | typeof WAIT_EXECUTION_SUPERSEDED | typeof HUMAN_INPUT_CANCELLED_BY_RESET;
|
|
23
|
+
declare function acquireExecutionLeasePath(flowRunId: string): string;
|
|
24
|
+
type WorkflowExecutionGeneration = {
|
|
25
|
+
id: string;
|
|
26
|
+
flowRunId: string;
|
|
27
|
+
number: number;
|
|
28
|
+
};
|
|
29
|
+
type ExecutionAnchor = {
|
|
30
|
+
kind: "node";
|
|
31
|
+
nodeId: string;
|
|
32
|
+
} | {
|
|
33
|
+
kind: "terminal";
|
|
34
|
+
};
|
|
35
|
+
type ExecutionLease = {
|
|
36
|
+
flowRunId: string;
|
|
37
|
+
generationId: string;
|
|
38
|
+
generationNumber: number;
|
|
39
|
+
anchor: ExecutionAnchor;
|
|
40
|
+
leaseId: string;
|
|
41
|
+
};
|
|
42
|
+
type AcquireExecutionLeaseRequest = {
|
|
43
|
+
anchor: ExecutionAnchor;
|
|
44
|
+
};
|
|
45
|
+
type AcquireExecutionLeaseData = {
|
|
46
|
+
lease: ExecutionLease;
|
|
47
|
+
};
|
|
48
|
+
type WorkflowDispatchRestartRequest = {
|
|
49
|
+
instanceId: string;
|
|
50
|
+
flowRunId: string;
|
|
51
|
+
commandId: string;
|
|
52
|
+
generationId: string;
|
|
53
|
+
from: {
|
|
54
|
+
name: `generation:${string}`;
|
|
55
|
+
count: 1;
|
|
56
|
+
type: "do";
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
type WorkflowDispatchRestartResponse = {
|
|
60
|
+
ok: true;
|
|
61
|
+
data: {
|
|
62
|
+
accepted: true;
|
|
63
|
+
instanceId: string;
|
|
64
|
+
commandId: string;
|
|
65
|
+
generationId: string;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
declare function parseExecutionAnchor(value: unknown): ContractParseResult<ExecutionAnchor>;
|
|
69
|
+
declare function parseExecutionLease(value: unknown): ContractParseResult<ExecutionLease>;
|
|
70
|
+
declare function parseAcquireExecutionLeaseRequest(value: unknown): ContractParseResult<AcquireExecutionLeaseRequest>;
|
|
71
|
+
declare function parseAcquireExecutionLeaseData(value: unknown): ContractParseResult<AcquireExecutionLeaseData>;
|
|
72
|
+
declare function parseWorkflowDispatchRestartRequest(value: unknown): ContractParseResult<WorkflowDispatchRestartRequest>;
|
|
73
|
+
declare function parseWorkflowDispatchRestartResponse(value: unknown): ContractParseResult<WorkflowDispatchRestartResponse>;
|
|
74
|
+
|
|
75
|
+
declare const ACTION_TRANSFORM_SCHEMA_VERSION = "workflow.action-transform.v1";
|
|
76
|
+
declare const ACTION_TRANSFORM_ROUTE_SUBPATH = "/:flowRunId/nodes/:nodeId/action-transform";
|
|
77
|
+
type ActionTransformOperation = "input" | "output" | "error";
|
|
78
|
+
type ActionTransformFailureValue = {
|
|
79
|
+
code: string;
|
|
80
|
+
error?: IntegrationErrorInput;
|
|
81
|
+
data?: unknown;
|
|
82
|
+
};
|
|
83
|
+
type ActionTransformRequest = {
|
|
84
|
+
schemaVersion: typeof ACTION_TRANSFORM_SCHEMA_VERSION;
|
|
85
|
+
executionLease: ExecutionLease;
|
|
86
|
+
serverTransformRef: string;
|
|
87
|
+
operation: ActionTransformOperation;
|
|
88
|
+
attempt: number;
|
|
89
|
+
idempotencyIdentity: string;
|
|
90
|
+
valueDigest: string;
|
|
91
|
+
value: unknown;
|
|
92
|
+
};
|
|
93
|
+
type ActionTransformData = {
|
|
94
|
+
operation: ActionTransformOperation;
|
|
95
|
+
valueDigest: string;
|
|
96
|
+
value: unknown;
|
|
97
|
+
};
|
|
98
|
+
declare function actionTransformPath(flowRunId: string, nodeId: string): string;
|
|
99
|
+
declare function actionTransformValueDigest(value: unknown): string;
|
|
100
|
+
declare function actionTransformIdempotencyIdentity(input: {
|
|
101
|
+
flowRunId: string;
|
|
102
|
+
generationId: string;
|
|
103
|
+
nodeId: string;
|
|
104
|
+
operation: ActionTransformOperation;
|
|
105
|
+
attempt: number;
|
|
106
|
+
valueDigest: string;
|
|
107
|
+
}): string;
|
|
108
|
+
declare function parseActionTransformRequest(value: unknown): ContractParseResult<ActionTransformRequest>;
|
|
109
|
+
declare function parseActionTransformData(value: unknown): ContractParseResult<ActionTransformData>;
|
|
110
|
+
|
|
111
|
+
export { ACTION_TRANSFORM_ROUTE_SUBPATH as A, parseActionTransformRequest as B, type ContractParseResult as C, parseExecutionAnchor as D, type ExecutionLease as E, parseExecutionLease as F, type GenerationCallbackErrorCode as G, HUMAN_INPUT_CANCELLED_BY_RESET as H, parseWorkflowDispatchRestartRequest as I, parseWorkflowDispatchRestartResponse as J, RUN_DISPATCH_UNAVAILABLE as R, type WorkflowExecutionGeneration as W, ACTION_TRANSFORM_SCHEMA_VERSION as a, type AcquireExecutionLeaseData as b, type AcquireExecutionLeaseRequest as c, type ActionTransformData as d, type ActionTransformFailureValue as e, type ActionTransformOperation as f, type ActionTransformRequest as g, EXECUTION_LEASE_INVALID as h, EXECUTION_LEASE_ROUTE_SUBPATH as i, EXECUTION_LEASE_SUPERSEDED as j, type ExecutionAnchor as k, WAIT_EXECUTION_SUPERSEDED as l, WORKFLOW_RESTART_INSTANCE_UNAVAILABLE as m, WORKFLOW_RESTART_REJECTED as n, WORKFLOW_RESTART_REQUEST_INVALID as o, WORKFLOW_RESTART_ROUTE as p, type WorkflowDispatchRestartRequest as q, type WorkflowDispatchRestartResponse as r, type WorkflowRestartErrorCode as s, acquireExecutionLeasePath as t, actionTransformIdempotencyIdentity as u, actionTransformPath as v, actionTransformValueDigest as w, parseAcquireExecutionLeaseData as x, parseAcquireExecutionLeaseRequest as y, parseActionTransformData as z };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import '@ablehi/error-contract';
|
|
2
|
+
export { A as ACTION_TRANSFORM_ROUTE_SUBPATH, a as ACTION_TRANSFORM_SCHEMA_VERSION, d as ActionTransformData, e as ActionTransformFailureValue, f as ActionTransformOperation, g as ActionTransformRequest, u as actionTransformIdempotencyIdentity, v as actionTransformPath, w as actionTransformValueDigest, z as parseActionTransformData, B as parseActionTransformRequest } from './action-transform-D9pBy-mj.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{FLOW_INTERPRETER_CONTRACT_VERSION as se,FLOW_IR_SCHEMA_VERSION as ce,parseFlowDefinition as ae}from"@ablehi/flow-contract";function f(e){return{ok:!0,value:e}}function i(e){return{ok:!1,reason:e}}function u(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function W(e){return u(e)?e.kind==="terminal"&&C(e,["kind"])?f({kind:"terminal"}):e.kind==="node"&&C(e,["kind","nodeId"])&&k(e.nodeId)?f({kind:"node",nodeId:e.nodeId}):i("execution anchor shape is invalid"):i("execution anchor must be an object")}function N(e){if(!u(e)||!C(e,["flowRunId","generationId","generationNumber","anchor","leaseId"])||!k(e.flowRunId)||!k(e.generationId)||!V(e.generationNumber)||!k(e.leaseId))return i("execution lease shape is invalid");let n=W(e.anchor);return n.ok?f({flowRunId:e.flowRunId,generationId:e.generationId,generationNumber:e.generationNumber,anchor:n.value,leaseId:e.leaseId}):i(n.reason)}function C(e,n){let t=Object.keys(e).sort(),r=[...n].sort();return t.length===r.length&&t.every((a,s)=>a===r[s])}function k(e){return typeof e=="string"&&e.length>0}function V(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}var L="workflow.action-transform.v1",Ie="/:flowRunId/nodes/:nodeId/action-transform",M=1048576;function Ee(e,n){return`/internal/flow-runs/${encodeURIComponent(e)}/nodes/${encodeURIComponent(n)}/action-transform`}function U(e){return h(e,new WeakSet)}function we(e){return O(new TextEncoder().encode(U(e)))}function j(e){return O(new TextEncoder().encode([e.flowRunId,e.generationId,e.nodeId,e.operation,String(e.attempt),e.valueDigest].join("\0")))}function ye(e){if(!u(e)||!T(e,["schemaVersion","executionLease","serverTransformRef","operation","attempt","idempotencyIdentity","valueDigest","value"]))return i("action transform request shape is invalid");if(e.schemaVersion!==L)return i("action transform schemaVersion is unsupported");let n=N(e.executionLease);if(!n.ok)return i(n.reason);if(!x(e.serverTransformRef))return i("serverTransformRef must be a non-empty string");let t=e.operation;if(!F(t))return i("action transform operation is invalid");let r=e.attempt;if(!v(t,r))return i(t==="input"?"input transform attempt must be 0":"output and error transform attempt must be a positive integer");if(!_(e.valueDigest)||!_(e.idempotencyIdentity))return i("action transform digests must be lowercase SHA-256 hex");let a=B(t,e.value);if(!a.ok)return a;if(a.digest!==e.valueDigest)return i("action transform valueDigest does not match value");let s=n.value.anchor.kind==="node"?n.value.anchor.nodeId:void 0;return s===void 0?i("action transform lease anchor must be a node"):j({flowRunId:n.value.flowRunId,generationId:n.value.generationId,nodeId:s,operation:t,attempt:r,valueDigest:a.digest})!==e.idempotencyIdentity?i("action transform idempotencyIdentity is invalid"):f({schemaVersion:L,executionLease:n.value,serverTransformRef:e.serverTransformRef,operation:t,attempt:r,idempotencyIdentity:e.idempotencyIdentity,valueDigest:a.digest,value:e.value})}function ke(e){if(!u(e)||!T(e,["operation","valueDigest","value"]))return i("action transform data shape is invalid");let n=e.operation;if(!F(n)||!_(e.valueDigest))return i("action transform data operation or digest is invalid");let t=B(n,e.value);return t.ok?t.digest!==e.valueDigest?i("action transform response valueDigest does not match value"):f({operation:n,valueDigest:t.digest,value:e.value}):t}function B(e,n){let t;try{t=U(n)}catch(r){return{ok:!1,reason:`action transform value must be JSON: ${r instanceof Error?r.message:String(r)}`}}return new TextEncoder().encode(t).byteLength>M?{ok:!1,reason:"action transform value exceeds 1048576 bytes"}:e==="error"&&!q(n)?{ok:!1,reason:"error transform value is invalid"}:{ok:!0,digest:O(new TextEncoder().encode(t))}}function q(e){return!(!u(e)||!D(e,["code","error","data"])||!x(e.code)||e.error!==void 0&&(!K(e.error)||e.error.code!==e.code))}function h(e,n){if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string"){P(e);let t=JSON.stringify(e);if(t===void 0)throw new TypeError("string is not JSON serializable");return t}if(typeof e=="number"){if(!Number.isFinite(e))throw new TypeError("numbers must be finite");let t=JSON.stringify(e);if(t===void 0)throw new TypeError("number is not JSON serializable");return t}if(typeof e!="object")throw new TypeError("value contains a non-JSON member");if(n.has(e))throw new TypeError("value contains a cycle");n.add(e);try{if(Array.isArray(e)){let s=[];for(let o=0;o<e.length;o+=1){if(!(o in e))throw new TypeError("value contains a sparse array");s.push(h(e[o],n))}return`[${s.join(",")}]`}let t=Object.getPrototypeOf(e);if(t!==Object.prototype&&t!==null)throw new TypeError("value contains a non-plain object");let r=e;return`{${Object.keys(r).sort().map(s=>(P(s),`${JSON.stringify(s)}:${h(r[s],n)}`)).join(",")}}`}finally{n.delete(e)}}function P(e){for(let n=0;n<e.length;n+=1){let t=e.charCodeAt(n);if(t>=55296&&t<=56319){let r=e.charCodeAt(n+1);if(!(r>=56320&&r<=57343))throw new TypeError("strings must not contain lone surrogate code points");n+=1;continue}if(t>=56320&&t<=57343)throw new TypeError("strings must not contain lone surrogate code points")}}function K(e){return!u(e)||!ee(e,["source","scope","subject","attempt","code","category","retryable","occurredAt","evidence"],["source","scope","subject","code","occurredAt"])||!$(e.source)||e.scope!=="flow_step"&&e.scope!=="integration_invocation"||!H(e.subject)||!x(e.code)||!x(e.occurredAt)||e.attempt!==void 0&&(!u(e.attempt)||!T(e.attempt,["number"])||!G(e.attempt.number))||e.category!==void 0&&!X(e.category)||e.retryable!==void 0&&typeof e.retryable!="boolean"?!1:e.evidence===void 0||u(e.evidence)}function $(e){return u(e)&&T(e,["project","component"])&&(e.project==="ablehi-server"||e.project==="ablehi-cf-execution-runtime"||e.project==="agentIntegrations")&&x(e.component)}var J=["workspaceId","flowId","flowVersionId","flowRunId","stepId","nodeId","integrationId","actionId","toolRef","connectionId","requestId","traceRef"];function H(e){return u(e)&&D(e,J)&&Object.values(e).every(x)}function X(e){return["validation","auth","permission","not_found","rate_limit","provider","network","runtime","internal","canceled"].includes(e)}function G(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function O(e){let n=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),t=e.byteLength*8,r=Math.ceil((e.byteLength+9)/64)*64,a=new Uint8Array(r);a.set(e),a[e.byteLength]=128;let s=new DataView(a.buffer);s.setUint32(r-8,Math.floor(t/4294967296),!1),s.setUint32(r-4,t>>>0,!1);let o=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),p=new Uint32Array(64);for(let m=0;m<r;m+=64){for(let c=0;c<16;c+=1)p[c]=s.getUint32(m+c*4,!1);for(let c=16;c<64;c+=1){let y=p[c-15],A=p[c-2];p[c]=Y(A)+p[c-7]+z(y)+p[c-16]>>>0}let l=o[0],R=o[1],I=o[2],b=o[3],g=o[4],E=o[5],w=o[6],S=o[7];for(let c=0;c<64;c+=1){let y=S+Z(g)+(g&E^~g&w)+n[c]+p[c]>>>0,A=Q(l)+(l&R^l&I^R&I)>>>0;S=w,w=E,E=g,g=b+y>>>0,b=I,I=R,R=l,l=y+A>>>0}o[0]=o[0]+l>>>0,o[1]=o[1]+R>>>0,o[2]=o[2]+I>>>0,o[3]=o[3]+b>>>0,o[4]=o[4]+g>>>0,o[5]=o[5]+E>>>0,o[6]=o[6]+w>>>0,o[7]=o[7]+S>>>0}return[...o].map(m=>m.toString(16).padStart(8,"0")).join("")}function d(e,n){return e>>>n|e<<32-n}function z(e){return d(e,7)^d(e,18)^e>>>3}function Y(e){return d(e,17)^d(e,19)^e>>>10}function Q(e){return d(e,2)^d(e,13)^d(e,22)}function Z(e){return d(e,6)^d(e,11)^d(e,25)}function F(e){return e==="input"||e==="output"||e==="error"}function v(e,n){return typeof n=="number"&&Number.isSafeInteger(n)&&(e==="input"?n===0:n>=1)}function _(e){return typeof e=="string"&&/^[0-9a-f]{64}$/.test(e)}function x(e){return typeof e=="string"&&e.length>0}function T(e,n){let t=Object.keys(e).sort(),r=[...n].sort();return t.length===r.length&&t.every((a,s)=>a===r[s])}function D(e,n){return Object.keys(e).every(t=>n.includes(t))}function ee(e,n,t){return D(e,n)&&t.every(r=>r in e)}export{Ie as ACTION_TRANSFORM_ROUTE_SUBPATH,L as ACTION_TRANSFORM_SCHEMA_VERSION,j as actionTransformIdempotencyIdentity,Ee as actionTransformPath,we as actionTransformValueDigest,ke as parseActionTransformData,ye as parseActionTransformRequest};
|
package/dist/edge.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { COMPLETE_EVENT_WAIT_ROUTE_SUBPATH, CONTEXT_STATE_CLEANUP_ROUTE_PATH, CompleteFlowRunWaitBody, CompleteFlowRunWaitData, ContextStateCleanupRequestBody, ContextStateCleanupResponseData, ContextStateScope, CreateHumanInputRequestBody, DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES, DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES, DEPLOYMENT_HANDSHAKE_ROUTE, DISCOVERY_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH, DISCOVERY_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, DeploymentHandshakeData, DeploymentHandshakeRequestBody, DeploymentHandshakeResponse, DirectActionExecutionBinding, DiscoveryDispatchBody, DiscoveryEgressGrantBinding, DiscoveryExecutionBinding, DiscoveryGrantBody, DiscoveryInvokeRequest, DiscoveryRuntimeCredentialBinding, EGRESS_GRANT_AUDIT_ROUTE_SUBPATH, EGRESS_GRANT_CONSUME_ROUTE_SUBPATH, EGRESS_GRANT_SCOPE_KINDS, EXECUTION_CONTEXT_ROUTE_SUBPATH, EgressGrant, EgressGrantAuditBody, EgressGrantBodyParseResult, EgressGrantConsumeBody, EgressGrantCredentialMaterial, EgressGrantFileRuntime, EgressGrantScopeKind, ExecutionBinding, ExecutionBindingConnection, ExecutionContextCompiled, ExecutionContextData, FILE_ACCESS_ROUTE_SUBPATH, FILE_COMPLETE_ROUTE_SUBPATH, FILE_CONTENT_ROUTE_SUBPATH, FILE_STAT_ROUTE_SUBPATH, FILE_UPLOAD_SESSION_ROUTE_SUBPATH, FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH, FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH, FLOW_RUN_RESULT_ROUTE_SUBPATH, FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, FileMetadataData, FileRefData, FileRuntimeLimits, FileRuntimeScope, FileRuntimeScopeKind, FileUploadSessionData, FlowActionGrantBody, FlowExecutionContextFileRuntime, FlowRunExecutionEventBody, FlowRunExecutionEventData, FlowRunInputFactBody, FlowRunResultData, FlowRunResultRequestBody, FlowRuntimeCredentialBody, FlowWaitResolvedEvent, HANDLER_BUNDLES_ROUTE_SUBPATH, HANDSHAKE_CAPABILITY_MISSING, HANDSHAKE_CONTRACT_VERSION_MISMATCH, HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH, HANDSHAKE_REQUEST_INVALID, HANDSHAKE_SECRET_MISMATCH, HANDSHAKE_SECRET_UNCONFIGURED, HUMAN_INPUTS_ROUTE_SUBPATH, HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH, HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH, HUMAN_INPUT_PROMPT_BODY_MAX_CODE_POINTS, HUMAN_INPUT_PROMPT_TITLE_MAX_CODE_POINTS, HUMAN_INPUT_REQUEST_ROUTE_SUBPATH, HUMAN_INPUT_RESOLVED_EVENT_PREFIX, HandlerBundle, HandlerBundleModule, HandlerBundlesData, HandlerBundlesParseResult, HumanInputActor, HumanInputOutput, HumanInputRequestView, HumanInputResolvedEvent, HumanInputResponse, INTERNAL_DISCOVERY_INVOCATIONS_ROUTE_PREFIX, INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX, INTERNAL_FILES_ROUTE_PREFIX, INTERNAL_FLOW_RUNS_ROUTE_PREFIX, INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX, INTERNAL_INSTALLATIONS_ROUTE_PREFIX, INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX, INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX, INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX, IntegrationDiscoverySubject, InternalFileAccessData, InternalFileAccessIntent, POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH, POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH, POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH, POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH, PackageInputDiscoveryDescriptor, PackageInputDiscoveryKind, PackagePollingTriggerRuntimeDescriptor, PackageTriggerFileOutput, PackageWebhookTriggerRuntimeDescriptor, ParsedFlowRunResultBody, PartiallyRenderedHumanInputDelivery, PartiallyRenderedMapping, PartiallyRenderedTemplatePart, PartiallyRenderedValue, PollingPublishBody, PollingPublishEvent, PollingRuntimeCredentialBody, PollingTriggerContext, PollingTriggerDispatchData, PollingTriggerGrantBody, PresignedFileUrlData, PublishPollingTickEventResult, PublishPollingTickEventsData, REGISTER_EVENT_WAIT_ROUTE_SUBPATH, RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS, RUNTIME_REPORTED_EXECUTION_EVENT_TYPES, RegisterFlowRunWaitBody, RegisterFlowRunWaitData, RenderedHumanInputPrompt, RuntimeCredentialSession, RuntimeCredentialSessionNetwork, RuntimeCredentialSessionScopeKind, RuntimeNetwork, RuntimeNetworkModel, RuntimeReportedExecutionEventType, SERVER_EXECUTION_CONTRACT_VERSION, STEP_RESULT_ROUTE_SUBPATH, SanitizedToolDescriptor, ServerExecutionContractVersion, ServerExecutionError, ServerExecutionErrorEnvelope, ServerTransformedActionExecutionBinding, SingleToolGrantBody, StepRecordBody, StepRecordBodyParseResult, StepRecordData, StepRecordResult, TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH, TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH, TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, ToolHandlerBundlesData, TriggerConnectionInfo, TriggerFileRuntimeDispatch, TriggerHandlerBundlesData, TriggerHandlerModule, WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH, WEBHOOK_PROTOCOL_ADAPTER_MODULE, WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH, WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH, WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH, WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH, WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH, WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH, WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION, WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION, WebhookDelivery, WebhookDeliveryDispatchData, WebhookProtocolAdapterBundleData, WebhookProtocolAdapterModule, WebhookPublishEvent, WebhookPublishEventsBody, WebhookPublishEventsData, WebhookRearmBody, WebhookRearmData, WebhookRuntimeCredentialBody, WebhookTriggerGrantBody, WebhookTriggerVerificationMethod, WebhookWatcherContext, WfpUserRuntimeManifest, completeEventWaitPath, deploymentHandshakeProbePayload, deploymentHandshakeResponseProofPayload, discoveryInvocationEgressGrantPath, discoveryInvocationRuntimeCredentialPath, egressGrantAuditPath, egressGrantConsumePath, executionContextPath, flowRunEgressGrantPath, flowRunExecutionEventsPath, flowRunResultPath, flowRunRuntimeCredentialPath, flowScriptProtocolAdapterModuleName, handlerBundlesPath, humanInputAcknowledgePath, humanInputExpirePath, humanInputRequestPath, humanInputResolvedEventType, humanInputsPath, internalFileAccessPath, internalFileCompletePath, internalFileContentPath, internalFileStatPath, internalFileUploadSessionPath, internalFilesPath, isValidRequestDigest, parseCompleteFlowRunWaitBody, parseCompleteFlowRunWaitData, parseContextStateCleanupRequestBody, parseContextStateCleanupResponseData, parseContextStateScope, parseCreateHumanInputBody, parseDiscoveryGrantBody, parseDiscoveryRuntimeCredentialBody, parseEgressGrantAuditBody, parseEgressGrantConsumeBody, parseEgressGrantConsumeData, parseEgressGrantData, parseExecutionContextData, parseFileMetadataData, parseFileRefData, parseFileRuntimeLimits, parseFileUploadSessionData, parseFlowActionGrantBody, parseFlowRunExecutionEventBody, parseFlowRunExecutionEventData, parseFlowRunResultBody, parseFlowRunResultData, parseFlowRuntimeCredentialBody, parseFlowWaitResolvedEvent, parseHandlerBundle, parseHandlerBundlesData, parseHumanInputAcknowledgeData, parseHumanInputCreateData, parseHumanInputRequestViewData, parseHumanInputResolvedEvent, parseHumanInputResponse, parseHumanInputResponseForSpec, parseHumanInputSpec, parseInternalFileAccessData, parsePollingPublishBody, parsePollingRuntimeCredentialBody, parsePollingTriggerContext, parsePollingTriggerDispatchData, parsePollingTriggerGrantBody, parsePublishPollingTickEventsData, parseRegisterFlowRunWaitBody, parseRegisterFlowRunWaitData, parseRenderedHumanInputPrompt, parseRuntimeCredentialSessionCredential, parseRuntimeNetwork, parseServerExecutionErrorEnvelope, parseSingleToolGrantBody, parseSingleToolRuntimeCredentialBody, parseStepRecordBody, parseStepRecordData, parseToolHandlerBundlesData, parseTriggerFileRuntimeDispatch, parseTriggerHandlerBundlesData, parseWebhookDelivery, parseWebhookDeliveryDispatchData, parseWebhookPublishEventsBody, parseWebhookRearmBody, parseWebhookRuntimeCredentialBody, parseWebhookTriggerGrantBody, parseWebhookWatcherContext, pollingTriggerContextPath, pollingTriggerEgressGrantPath, pollingTriggerHandlerBundlesPath, pollingTriggerRuntimeCredentialPath, pollingTriggerTickEventsPath, registerEventWaitPath, requestHasMultipartFileParts, stepResultPath, toolHandlerBundlesPath, toolInvocationEgressGrantPath, toolInvocationRuntimeCredentialPath, webhookProtocolAdapterBundlePath, webhookTriggerContextPath, webhookTriggerDeliveryPath, webhookTriggerEgressGrantPath, webhookTriggerEventsPath, webhookTriggerHandlerBundlesPath, webhookTriggerRearmPath, webhookTriggerRuntimeCredentialPath, wfpUserRuntimeManifestPath } from './index.js';
|
|
2
|
+
export { A as ACTION_TRANSFORM_ROUTE_SUBPATH, a as ACTION_TRANSFORM_SCHEMA_VERSION, b as AcquireExecutionLeaseData, c as AcquireExecutionLeaseRequest, d as ActionTransformData, e as ActionTransformFailureValue, f as ActionTransformOperation, g as ActionTransformRequest, h as EXECUTION_LEASE_INVALID, i as EXECUTION_LEASE_ROUTE_SUBPATH, j as EXECUTION_LEASE_SUPERSEDED, k as ExecutionAnchor, E as ExecutionLease, G as GenerationCallbackErrorCode, H as HUMAN_INPUT_CANCELLED_BY_RESET, R as RUN_DISPATCH_UNAVAILABLE, l as WAIT_EXECUTION_SUPERSEDED, m as WORKFLOW_RESTART_INSTANCE_UNAVAILABLE, n as WORKFLOW_RESTART_REJECTED, o as WORKFLOW_RESTART_REQUEST_INVALID, p as WORKFLOW_RESTART_ROUTE, q as WorkflowDispatchRestartRequest, r as WorkflowDispatchRestartResponse, W as WorkflowExecutionGeneration, s as WorkflowRestartErrorCode, t as acquireExecutionLeasePath, u as actionTransformIdempotencyIdentity, v as actionTransformPath, w as actionTransformValueDigest, x as parseAcquireExecutionLeaseData, y as parseAcquireExecutionLeaseRequest, z as parseActionTransformData, B as parseActionTransformRequest, D as parseExecutionAnchor, F as parseExecutionLease, I as parseWorkflowDispatchRestartRequest, J as parseWorkflowDispatchRestartResponse } from './action-transform-D9pBy-mj.js';
|
|
2
3
|
import '@ablehi/flow-contract';
|
|
4
|
+
import '@ablehi/ais-package-contract/edge';
|
|
3
5
|
import '@ablehi/error-contract';
|
package/dist/edge.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var Re="0.4.1";function u(e){return{ok:!0,value:e}}function r(e){return{ok:!1,reason:e}}function s(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var wt="/cleanup-state-scopes";function x(e){if(!s(e)||typeof e.kind!="string")return r("context state scope surface shape is invalid");switch(e.kind){case"webhook-trigger":return Ie(e);case"polling-trigger":return ye(e);case"flow-action":return Ee(e);default:return r("context state scope kind is invalid")}}function Tt(e){if(!s(e))return r("cleanup request body must be a JSON object");let t=L(e,["scopes"]);if(t!==void 0)return r(`cleanup request does not accept the "${t}" field`);if(!Array.isArray(e.scopes))return r("cleanup request scopes must be an array");let n=[];for(let o of e.scopes){let i=x(o);if(!i.ok)return i;n.push(i.value)}return u({scopes:n})}function St(e){return!s(e)||typeof e.deleted!="number"||!Number.isSafeInteger(e.deleted)||e.deleted<0?r("cleanup response data surface shape is invalid"):u({deleted:e.deleted})}function Ie(e){let t=L(e,["kind","workspaceId","triggerInstanceId"]);return t!==void 0?r(`webhook trigger scope does not accept "${t}"`):e.kind!=="webhook-trigger"||!_(e.workspaceId)||!_(e.triggerInstanceId)?r("webhook trigger state scope is invalid"):u({kind:"webhook-trigger",workspaceId:e.workspaceId,triggerInstanceId:e.triggerInstanceId})}function ye(e){let t=L(e,["kind","workspaceId","pollingInstanceId"]);return t!==void 0?r(`polling trigger scope does not accept "${t}"`):e.kind!=="polling-trigger"||!_(e.workspaceId)||!_(e.pollingInstanceId)?r("polling trigger state scope is invalid"):u({kind:"polling-trigger",workspaceId:e.workspaceId,pollingInstanceId:e.pollingInstanceId})}function Ee(e){let t=L(e,["kind","workspaceId","flowId","nodeId","connectionId"]);if(t!==void 0)return r(`flow action scope does not accept "${t}"`);let n=e.connectionId;return e.kind!=="flow-action"||!_(e.workspaceId)||!_(e.flowId)||!_(e.nodeId)||n!==null&&!_(n)?r("flow action state scope is invalid"):u({kind:"flow-action",workspaceId:e.workspaceId,flowId:e.flowId,nodeId:e.nodeId,connectionId:n})}function _(e){return typeof e=="string"&&e.length>0}function L(e,t){return Object.keys(e).find(n=>!t.includes(n))}import{parseFlowDefinition as ke}from"@ablehi/flow-contract";var g="/internal/flow-runs",Ot="/:flowRunId/execution-context";function Ct(e){return`${g}/${encodeURIComponent(e)}/execution-context`}function W(e){return!s(e)||!B(e.fileMaxBytes)||!B(e.fileReadMaxBytes)||!B(e.inlineMultipartBytesMax)?r("file runtime limits must carry three positive integer bounds"):u({fileMaxBytes:e.fileMaxBytes,fileReadMaxBytes:e.fileReadMaxBytes,inlineMultipartBytesMax:e.inlineMultipartBytesMax})}function vt(e){if(!s(e))return r("execution context must be a JSON object");let t=$(e,["flowRunId","workspaceId","input","executionGeneration","compiled","executionBindings","fileRuntime"]);if(t!==void 0)return r(`execution context does not accept the "${t}" field`);let n=e.compiled;if(typeof e.flowRunId!="string"||typeof e.workspaceId!="string"||!s(e.input)||!s(n)||$(n,["irSchemaVersion","interpreterContractVersion","ir","compiledArtifactId"])!==void 0||typeof n.irSchemaVersion!="string"||typeof n.interpreterContractVersion!="string"||typeof n.compiledArtifactId!="string"||!he(e.executionBindings))return r("execution context surface shape is invalid");let o=ke(n.ir);if(!o.ok)return r(o.reason);let i=_e(e.executionGeneration,e.flowRunId);if(!i.ok)return r(i.reason);let a=xe(e.fileRuntime);return a.ok?u({...e,compiled:{...n,ir:o.value},executionGeneration:i.value,fileRuntime:a.value}):r(a.reason)}function _e(e,t){return!s(e)||$(e,["id","flowRunId","number"])!==void 0||typeof e.id!="string"||e.id.length===0||typeof e.flowRunId!="string"||e.flowRunId!==t||!B(e.number)?r("executionGeneration surface shape is invalid"):u({id:e.id,flowRunId:e.flowRunId,number:e.number})}function xe(e){if(e===null)return u(null);if(!s(e))return r("fileRuntime must be null or an object");let t=W(e.limits);return t.ok?u({limits:t.value}):r(t.reason)}function he(e){return Array.isArray(e)?e.every(t=>{if(!s(t))return!1;let n=t.connection,o=x(t.stateScope);return typeof t.nodeId=="string"&&typeof t.toolRef=="string"&&s(t.toolDescriptor)&&s(t.integrationDescriptor)&&s(n)&&typeof n.installationId=="string"&&typeof n.connectionRef=="string"&&typeof n.connectionId=="string"&&typeof n.authProfileRef=="string"&&typeof n.authType=="string"&&o.ok}):!1}function B(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function $(e,t){return Object.keys(e).find(n=>!t.includes(n))}var Bt="/:flowRunId/execution-leases",Ft="/restart",Ht="WORKFLOW_RESTART_REQUEST_INVALID",Mt="WORKFLOW_RESTART_INSTANCE_UNAVAILABLE",Gt="WORKFLOW_RESTART_REJECTED",$t="RUN_DISPATCH_UNAVAILABLE",Wt="EXECUTION_LEASE_INVALID",Kt="EXECUTION_LEASE_SUPERSEDED",qt="WAIT_EXECUTION_SUPERSEDED",Vt="HUMAN_INPUT_CANCELLED_BY_RESET";function jt(e){return`${g}/${encodeURIComponent(e)}/execution-leases`}var we=/^generation:[A-Za-z0-9][A-Za-z0-9._:-]{0,239}$/;function Z(e){return s(e)?e.kind==="terminal"&&k(e,["kind"])?u({kind:"terminal"}):e.kind==="node"&&k(e,["kind","nodeId"])&&y(e.nodeId)?u({kind:"node",nodeId:e.nodeId}):r("execution anchor shape is invalid"):r("execution anchor must be an object")}function E(e){if(!s(e)||!k(e,["flowRunId","generationId","generationNumber","anchor","leaseId"])||!y(e.flowRunId)||!y(e.generationId)||!Te(e.generationNumber)||!y(e.leaseId))return r("execution lease shape is invalid");let t=Z(e.anchor);return t.ok?u({flowRunId:e.flowRunId,generationId:e.generationId,generationNumber:e.generationNumber,anchor:t.value,leaseId:e.leaseId}):r(t.reason)}function Xt(e){if(!s(e)||!k(e,["anchor"]))return r("lease request shape is invalid");let t=Z(e.anchor);return t.ok?u({anchor:t.value}):r(t.reason)}function Jt(e){if(!s(e)||!k(e,["lease"]))return r("lease response shape is invalid");let t=E(e.lease);return t.ok?u({lease:t.value}):r(t.reason)}function Yt(e){return!s(e)||!k(e,["instanceId","flowRunId","commandId","generationId","from"])||!y(e.instanceId)||!y(e.flowRunId)||!y(e.commandId)||!y(e.generationId)||!s(e.from)||!k(e.from,["name","count","type"])||typeof e.from.name!="string"||!we.test(e.from.name)||e.from.name==="generation:terminal"||e.from.count!==1||e.from.type!=="do"?r("restart request shape is invalid"):u(e)}function zt(e){return!s(e)||!k(e,["ok","data"])||e.ok!==!0||!s(e.data)||!k(e.data,["accepted","instanceId","commandId","generationId"])||e.data.accepted!==!0||!y(e.data.instanceId)||!y(e.data.commandId)||!y(e.data.generationId)?r("restart response shape is invalid"):u(e)}function k(e,t){let n=Object.keys(e).sort(),o=[...t].sort();return n.length===o.length&&n.every((i,a)=>i===o[a])}function y(e){return typeof e=="string"&&e.length>0}function Te(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}import{parseAblehiErrorDigest as K}from"@ablehi/error-contract";var rn="/:flowRunId/steps/:nodeId/result",on="/:flowRunId/result",sn="/:flowRunId/execution-events",un="/:flowRunId/waits/:nodeId/register",an="/:flowRunId/waits/:nodeId/complete";function cn(e,t){return`${g}/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}/result`}function dn(e){return`${g}/${encodeURIComponent(e)}/result`}function pn(e){return`${g}/${encodeURIComponent(e)}/execution-events`}function ln(e,t){return`${g}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/register`}function fn(e,t){return`${g}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/complete`}function gn(e){if(!s(e))return{ok:!1,kind:"validation",reason:"step record body must be a JSON object"};let t=R(e,["executionLease","attempt","result","durationMs"]);if(t!==void 0)return{ok:!1,kind:"validation",reason:`step record does not accept the "${t}" field`};let n=E(e.executionLease);if(!n.ok)return{ok:!1,kind:"validation",reason:n.reason};let o=e.attempt;if(typeof o!="number"||!Number.isInteger(o)||o<=0)return{ok:!1,kind:"validation",reason:"attempt must be a positive integer"};let i=Se(e.result);if(!i.ok)return i;let a={executionLease:n.value,attempt:o,result:i.value};if(e.durationMs!==void 0){let c=e.durationMs;if(typeof c!="number"||!Number.isFinite(c)||c<0)return{ok:!1,kind:"validation",reason:"durationMs must be a non-negative number"};a.durationMs=c}return{ok:!0,value:a}}function Se(e){if(!s(e))return{ok:!1,kind:"step_result_invalid",reason:"result must be a JSON object"};let t=e.status;if(t==="succeeded"){let n=R(e,["status","output"]);return n!==void 0?{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`}:"output"in e?{ok:!0,value:{status:"succeeded",output:e.output}}:{ok:!1,kind:"step_result_invalid",reason:"a succeeded result must carry output"}}if(t==="failed"){let n=R(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=K(e.error);return o.ok?{ok:!0,value:{status:"failed",error:o.value}}:{ok:!1,kind:"step_result_invalid",reason:`a failed result must carry an AblehiErrorDigest: ${o.reason}`}}if(t==="skipped"){let n=R(e,["status","reason"]);return n!==void 0?{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`}:e.reason!=="run_if_false"?{ok:!1,kind:"step_result_invalid",reason:'a skipped result reason must be "run_if_false"'}:{ok:!0,value:{status:"skipped",reason:"run_if_false"}}}if(t==="timed_out"){let n=R(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=K(e.error);return o.ok?{ok:!0,value:{status:"timed_out",error:o.value}}:{ok:!1,kind:"step_result_invalid",reason:`a timed_out result must carry an AblehiErrorDigest: ${o.reason}`}}return{ok:!1,kind:"step_result_invalid",reason:'result status must be "succeeded", "failed", "skipped", or "timed_out"'}}function mn(e){return!s(e)||typeof e.flowRunId!="string"||typeof e.nodeId!="string"||!Ae(e.recorded)?r("step record data surface shape is invalid"):u({flowRunId:e.flowRunId,nodeId:e.nodeId,recorded:e.recorded})}function Ae(e){return e==="succeeded"||e==="failed"||e==="skipped"||e==="timed_out"}function Rn(e){if(!s(e))return r("result body must be a JSON object");let t=R(e,["executionLease","status","output","error"]);if(t!==void 0)return r(`result does not accept the "${t}" field`);let n=E(e.executionLease);if(!n.ok)return r(n.reason);let o=e.status;if(o!=="succeeded"&&o!=="failed")return r('result status must be "succeeded" or "failed"');let i={executionLease:n.value,status:o};if(e.output!==void 0){if(o!=="succeeded")return r("output is only allowed on a succeeded result");i.output=e.output}if(e.error!==void 0){if(o!=="failed")return r("error is only allowed on a failed result");let a=K(e.error);if(!a.ok)return r(`result error must be an AblehiErrorDigest: ${a.reason}`);i.error=a.value}return o==="failed"&&i.error===void 0?r("a failed result must carry an AblehiErrorDigest"):u(i)}function In(e){return s(e)?u(e):r("flow run result data must be a JSON object")}var Pe=["flow_run_started","step_started","step_retry_scheduled","wait_registered","wait_event_received","wait_event_timed_out","human_input_created","human_input_submitted","human_input_expired","flow_run_succeeded","flow_run_failed","flow_run_interrupted","flow_run_cancelled"];function yn(e){if(!s(e))return r("execution event data must be a JSON object");let t=R(e,["flowRunId","eventId","accepted"]);return t!==void 0?r(`execution event data does not accept the "${t}" field`):typeof e.flowRunId!="string"||e.flowRunId.length===0?r("flowRunId must be a non-empty string"):typeof e.eventId!="string"||e.eventId.length===0?r("eventId must be a non-empty string"):e.accepted!==!0?r("accepted must be true"):u({flowRunId:e.flowRunId,eventId:e.eventId,accepted:!0})}function En(e){if(!s(e))return r("execution event body must be a JSON object");let t=R(e,["executionLease","eventId","eventType","nodeId","stepRunId","attempt","durationMs","occurredAt","errorId","payloadRef","inputFact"]);if(t!==void 0)return r(`execution event does not accept the "${t}" field`);let n=E(e.executionLease);if(!n.ok)return r(n.reason);let o=e.eventId;if(typeof o!="string"||o.length===0)return r("eventId must be a non-empty string");let i=e.eventType;if(!be(i))return r("eventType is not a known flow execution event type");let a=e.occurredAt;if(typeof a!="string"||a.length===0)return r("occurredAt must be a non-empty string");let c={executionLease:n.value,eventId:o,eventType:i,occurredAt:a};for(let d of["nodeId","stepRunId","errorId","payloadRef"]){let l=e[d];if(l!==void 0){if(typeof l!="string"||l.length===0)return r(`${d} must be a non-empty string`);c[d]=l}}for(let d of["attempt","durationMs"]){let l=e[d];if(l!==void 0){if(typeof l!="number"||!Number.isFinite(l)||!Number.isInteger(l)||l<0)return r(`${d} must be a non-negative integer`);c[d]=l}}if(e.inputFact!==void 0){if(i!=="step_started")return r("inputFact is only allowed on step_started events");if(c.attempt===void 0)return r("inputFact requires attempt");let d=Ne(e.inputFact);if(!d.ok)return d;c.inputFact=d.value}return u(c)}function be(e){return typeof e=="string"&&Pe.includes(e)}function Ne(e){if(!s(e))return r("inputFact must be a JSON object");let t=R(e,["digestAlgorithm","digest","domain"]);if(t!==void 0)return r(`inputFact does not accept the "${t}" field`);if(e.digestAlgorithm!=="sha256")return r('inputFact.digestAlgorithm must be "sha256"');let n=e.digest;if(typeof n!="string"||!/^[0-9a-f]{64}$/.test(n))return r("inputFact.digest must be a sha256 hex string");let o=e.domain;if(!s(o))return r("inputFact.domain must be a JSON object");let i=R(o,["irSchemaVersion","interpreterContractVersion","compiledArtifactId","nodeId","algorithmVersion"]);return i!==void 0?r(`inputFact.domain does not accept the "${i}" field`):typeof o.irSchemaVersion!="string"||o.irSchemaVersion.length===0||typeof o.interpreterContractVersion!="string"||o.interpreterContractVersion.length===0||typeof o.compiledArtifactId!="string"||o.compiledArtifactId.length===0||typeof o.nodeId!="string"||o.nodeId.length===0?r("inputFact.domain string fields must be non-empty strings"):o.algorithmVersion!=="flow_input_digest.v1"?r('inputFact.domain.algorithmVersion must be "flow_input_digest.v1"'):u({digestAlgorithm:"sha256",digest:n,domain:{irSchemaVersion:o.irSchemaVersion,interpreterContractVersion:o.interpreterContractVersion,compiledArtifactId:o.compiledArtifactId,nodeId:o.nodeId,algorithmVersion:"flow_input_digest.v1"}})}var Oe=/^[A-Za-z0-9_-]{1,100}$/;function kn(e){if(!s(e))return r("register body must be a JSON object");let t=R(e,["executionLease","eventType","correlationKey"]);if(t!==void 0)return r(`register wait does not accept the "${t}" field`);let n=E(e.executionLease);if(!n.ok)return r(n.reason);let o=ee(e.eventType);if(!o.ok)return r(o.reason);let i=e.correlationKey;return typeof i!="string"||i.length===0?r("correlationKey must be a non-empty string"):u({executionLease:n.value,eventType:o.value,correlationKey:i})}function _n(e){if(!s(e))return r("complete body must be a JSON object");let t=R(e,["executionLease","waitExecutionId","outcome","eventId"]);if(t!==void 0)return r(`complete wait does not accept the "${t}" field`);let n=E(e.executionLease);if(!n.ok)return r(n.reason);let o=e.waitExecutionId;if(typeof o!="string"||o.length===0)return r("waitExecutionId must be a non-empty string");let i=e.outcome;if(i!=="received"&&i!=="timed_out")return r('outcome must be "received" or "timed_out"');let a={executionLease:n.value,waitExecutionId:o,outcome:i};if(e.eventId!==void 0){if(typeof e.eventId!="string"||e.eventId.length===0)return r("eventId must be a non-empty string");a.eventId=e.eventId}return u(a)}function xn(e){if(!s(e)||R(e,["waitExecutionId","workflowEventType"])!==void 0||typeof e.waitExecutionId!="string"||e.waitExecutionId.length===0)return r("register wait data surface shape is invalid");let t=ee(e.workflowEventType);return t.ok?u({waitExecutionId:e.waitExecutionId,workflowEventType:t.value}):r(t.reason)}function hn(e){return!s(e)||R(e,["completed"])!==void 0||e.completed!==!0?r("complete wait data surface shape is invalid"):u({completed:!0})}function wn(e){return!s(e)||R(e,["waitExecutionId","eventId","payload"])!==void 0||typeof e.waitExecutionId!="string"||e.waitExecutionId.length===0||typeof e.eventId!="string"||e.eventId.length===0||!Object.hasOwn(e,"payload")?r("Wait resolved event surface shape is invalid"):u({waitExecutionId:e.waitExecutionId,eventId:e.eventId,payload:e.payload})}function ee(e){return typeof e!="string"||e.length===0?r("eventType must be a non-empty string"):Oe.test(e)?u(e):r("eventType must match ^[A-Za-z0-9_-]{1,100}$")}function R(e,t){return Object.keys(e).find(n=>!t.includes(n))}var Ce="/internal/flow-versions",Sn="/:flowVersionId/handler-bundles",V="/internal/installations",An="/:installationId/handler-bundles";function Pn(e,t){return`${Ce}/${encodeURIComponent(e)}/handler-bundles?compiledArtifactId=${encodeURIComponent(t)}`}function bn(e){return`${V}/${encodeURIComponent(e.installationId)}/handler-bundles?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var ve=new Set(["managed_only","managed_plus_unmanaged_sdk"]);function F(e){if(!w(e))return q("runtimeNetwork must be a JSON object");let t=e.networkModel;return typeof t!="string"||!ve.has(t)?q("runtimeNetwork.networkModel is unknown"):!te(e.apiHosts)||!te(e.authHosts)||typeof e.httpsOnly!="boolean"?q("runtimeNetwork host/https fields are invalid"):{ok:!0,value:{networkModel:t,apiHosts:e.apiHosts,authHosts:e.authHosts,httpsOnly:e.httpsOnly}}}function Nn(e){if(!w(e)||typeof e.flowVersionId!="string"||typeof e.compiledArtifactId!="string"||!Array.isArray(e.bundles))return b("handler bundles data surface shape is invalid");let t=ne(e.bundles);return t.ok?{ok:!0,value:{flowVersionId:e.flowVersionId,compiledArtifactId:e.compiledArtifactId,bundles:t.value}}:t}function On(e){if(!w(e)||typeof e.installationId!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.bundles))return b("tool handler bundles data surface shape is invalid");let t=ne(e.bundles);return t.ok?{ok:!0,value:{installationId:e.installationId,artifactDigest:e.artifactDigest,bundles:t.value}}:t}function ne(e){let t=[];for(let n of e){let o=De(n);if(!o.ok)return o;t.push(o.value)}return{ok:!0,value:t}}function De(e){if(!w(e)||typeof e.toolRef!="string"||e.kind!=="handler"&&e.kind!=="request")return b("handler bundle entry shape is invalid");if(e.kind==="request"){if(e.module!==void 0)return b("a request bundle must not carry a module");let o=F(e.runtimeNetwork);return o.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"request",runtimeNetwork:o.value}}:o}let t=e.module;if(!w(t)||typeof t.entry!="string"||t.entry.length===0||!Ue(t.files))return b("a handler bundle must carry a { entry, files } module");let n=F(e.runtimeNetwork);return n.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"handler",module:{entry:t.entry,files:t.files},runtimeNetwork:n.value}}:n}function b(e){return{ok:!1,kind:"shape",reason:e}}function q(e){return{ok:!1,kind:"runtime_network",reason:e}}function w(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function te(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function Ue(e){return w(e)&&Object.values(e).every(t=>typeof t=="string")}var N="/internal/webhook-trigger-instances",Fn="/:triggerInstanceId/context",Hn="/:triggerInstanceId/handler-bundles",Mn="/:triggerInstanceId/deliveries/:deliveryId",Gn="/:triggerInstanceId/events",$n="/:triggerInstanceId/rearm",O=e=>`${N}/${encodeURIComponent(e)}`;function Wn(e,t){return`${O(e)}/context?artifactDigest=${encodeURIComponent(t)}`}function Kn(e,t){return`${O(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function qn(e,t){return`${O(e)}/deliveries/${encodeURIComponent(t)}`}function Vn(e){return`${O(e)}/events`}function jn(e){return`${O(e)}/rearm`}var Xn="/:installationId/webhook-protocol-adapter-bundle";function Jn(e){return`${V}/${encodeURIComponent(e.installationId)}/webhook-protocol-adapter-bundle?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var Yn="modules/webhook/protocol-adapter.js";function zn(e){return`modules/webhook/protocol-adapter-${e}.js`}function Qn(e){let t=s(e)?x(e.stateScope):r("webhook watcher context state scope is invalid");return!s(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!s(e.inputs)||e.connection!==null&&!Le(e.connection)||!Be(e.runtime)||!t.ok||t.value.kind!=="webhook-trigger"?r("webhook watcher context surface shape is invalid"):u(e)}function Le(e){return s(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function Be(e){if(!s(e)||e.type!=="webhook"||typeof e.trigger_ref!="string")return!1;let t=e.webhook;return s(t)&&typeof t.event_handler_module=="string"&&typeof t.enable_handler_module=="string"&&typeof t.disable_handler_module=="string"}function Fe(e){if(!s(e)||typeof e.deliveryId!="string"||typeof e.receivedAt!="string"||!s(e.request))return r("webhook delivery surface shape is invalid");let t=e.request;return t.method!=="POST"||!s(t.headers)||typeof t.rawBody!="string"?r("webhook delivery request shape is invalid"):u(e)}function j(e){if(!s(e)||typeof e.token!="string"||typeof e.expiresAt!="string")return r("trigger file runtime dispatch shape is invalid");let t=W(e.limits);return t.ok?u({token:e.token,expiresAt:e.expiresAt,limits:t.value}):r(t.reason)}function Zn(e){if(!s(e))return r("webhook delivery dispatch data is invalid");let t=Fe(e.delivery);if(!t.ok)return r(t.reason);let n=e.fileRuntime;if(n===null)return u({delivery:t.value,fileRuntime:null});let o=j(n);return o.ok?u({delivery:t.value,fileRuntime:o.value}):r(o.reason)}function er(e){if(!s(e)||typeof e.triggerRef!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.modules)||!e.modules.every(He))return{ok:!1,kind:"shape",reason:"trigger handler bundles data surface shape is invalid"};let t=F(e.runtimeNetwork);return t.ok?{ok:!0,value:{triggerRef:e.triggerRef,artifactDigest:e.artifactDigest,modules:e.modules,runtimeNetwork:t.value}}:t}function He(e){return s(e)&&typeof e.specifier=="string"&&e.specifier.length>0&&typeof e.source=="string"}function tr(e){if(!s(e))return r("publish events body must be a JSON object");let t=X(e,["deliveryId","events"]);if(t!==void 0)return r(`publish events does not accept the "${t}" field`);let n=e.deliveryId;if(typeof n!="string"||n.length===0)return r("deliveryId must be a non-empty string");let o=e.events;if(!Array.isArray(o))return r("events must be an array");let i=[];for(let a of o){let c=Me(a);if(!c.ok)return c;i.push(c.value)}return u({deliveryId:n,events:i})}function Me(e){if(!s(e))return r("each event must be a JSON object");let t=X(e,["eventId","occurredAt","dedupeKey","payload"]);if(t!==void 0)return r(`event does not accept the "${t}" field`);let n=e.eventId;if(typeof n!="string"||n.length===0)return r("eventId must be a non-empty string");let o=e.occurredAt;if(typeof o!="string"||o.length===0)return r("occurredAt must be a non-empty string");if(!s(e.payload))return r("event payload must be a JSON object");let i={eventId:n,occurredAt:o,payload:e.payload};if(e.dedupeKey!==void 0){if(typeof e.dedupeKey!="string"||e.dedupeKey.length===0)return r("dedupeKey must be a non-empty string");i.dedupeKey=e.dedupeKey}return u(i)}function nr(e){if(!s(e))return r("rearm body must be a JSON object");let t=X(e,["expectedWatcherInstanceId"]);if(t!==void 0)return r(`rearm does not accept the "${t}" field`);let n=e.expectedWatcherInstanceId;return typeof n!="string"||n.length===0?r("expectedWatcherInstanceId must be a non-empty string"):u({expectedWatcherInstanceId:n})}function X(e,t){return Object.keys(e).find(n=>!t.includes(n))}var C="/internal/polling-trigger-instances",ur="/:pollingInstanceId/context",ar="/:pollingInstanceId/handler-bundles",cr="/:pollingInstanceId/ticks/:tickId/events",J=e=>`${C}/${encodeURIComponent(e)}`;function dr(e,t,n){return`${J(e)}/context?artifactDigest=${encodeURIComponent(t)}&tickId=${encodeURIComponent(n)}`}function pr(e,t){return`${J(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function lr(e,t){return`${J(e)}/ticks/${encodeURIComponent(t)}/events`}function Ge(e){let t=s(e)?x(e.stateScope):r("polling trigger context state scope is invalid");return!s(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!s(e.inputs)||e.connection!==null&&!$e(e.connection)||!We(e.runtime)||!t.ok||t.value.kind!=="polling-trigger"||!qe(e.tick)||!Ve(e.limits)?r("polling trigger context surface shape is invalid"):u(e)}function fr(e){if(!s(e))return r("polling trigger dispatch data is invalid");let t=Ge(e.context);if(!t.ok)return r(t.reason);let n=e.fileRuntime;if(n===null)return u({context:t.value,fileRuntime:null});let o=j(n);return o.ok?u({context:t.value,fileRuntime:o.value}):r(o.reason)}function $e(e){return s(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function We(e){if(!s(e)||e.type!=="polling"||typeof e.trigger_id!="string"||typeof e.trigger_ref!="string"||!Ke(e.file_outputs))return!1;let t=e.polling;if(!s(t)||typeof t.run_handler_module!="string")return!1;let n=t.schedule;if(!s(n)||n.type!=="interval"||typeof n.every_seconds!="number")return!1;let o=t.dedup;return s(o)&&(o.strategy==="cursor"||o.strategy==="hash"||o.strategy==="id_field")}function Ke(e){return e===void 0?!0:Array.isArray(e)&&e.length>0&&e.every(t=>s(t)&&typeof t.field=="string"&&t.field.length>0)}function qe(e){return s(e)&&typeof e.tickId=="string"&&typeof e.scheduledAt=="string"&&typeof e.attempt=="number"}function Ve(e){return s(e)&&typeof e.maxEventsPerTick=="number"}function gr(e){if(!s(e))return r("publish body must be a JSON object");let t=re(e,["events","nextCursor"]);if(t!==void 0)return r(`publish does not accept the "${t}" field`);let n=e.events;if(!Array.isArray(n))return r("events must be an array");let o=[];for(let a of n){let c=je(a);if(!c.ok)return c;o.push(c.value)}let i={events:o};if("nextCursor"in e){let a=e.nextCursor;if(a!==null&&typeof a!="string")return r("nextCursor must be a string, null, or omitted");i.nextCursor=a}return u(i)}function je(e){if(!s(e))return r("each event must be a JSON object");let t=re(e,["eventId","occurredAt","dedupeKey","payload"]);if(t!==void 0)return r(`event does not accept the "${t}" field`);if(typeof e.eventId!="string"||e.eventId.length===0)return r("event eventId must be a non-empty string");if(!s(e.payload))return r("event payload must be a JSON object");let n={eventId:e.eventId,payload:e.payload};if(e.occurredAt!==void 0){if(typeof e.occurredAt!="string"||e.occurredAt.length===0)return r("event occurredAt must be a non-empty string");n.occurredAt=e.occurredAt}if(e.dedupeKey!==void 0){if(typeof e.dedupeKey!="string"||e.dedupeKey.length===0)return r("event dedupeKey must be a non-empty string");n.dedupeKey=e.dedupeKey}return u(n)}function mr(e){return!s(e)||typeof e.tickId!="string"||typeof e.cursorUpdated!="boolean"||!Array.isArray(e.results)||!e.results.every(Xe)?r("publish polling tick events data surface shape is invalid"):u(e)}function Xe(e){return s(e)&&typeof e.eventId=="string"&&typeof e.dedupeKey=="string"&&typeof e.duplicate=="boolean"&&(e.flowRunId===null||typeof e.flowRunId=="string")}function re(e,t){return Object.keys(e).find(n=>!t.includes(n))}var oe="/internal/egress-grants",Y="/internal/tool-invocations",z="/internal/discovery-invocations",_r="/:flowRunId/egress-grant",xr="/:invocationId/egress-grant",hr="/:discoveryInvocationId/egress-grant",wr="/:pollingInstanceId/egress-grant",Tr="/:triggerInstanceId/egress-grant",Sr="/:grantId/consume",Ar="/:grantId/audit",Pr=e=>`${g}/${encodeURIComponent(e)}/egress-grant`,br=e=>`${Y}/${encodeURIComponent(e)}/egress-grant`,Nr=e=>`${z}/${encodeURIComponent(e)}/egress-grant`,Or=e=>`${C}/${encodeURIComponent(e)}/egress-grant`,Cr=e=>`${N}/${encodeURIComponent(e)}/egress-grant`,vr=e=>`${oe}/${encodeURIComponent(e)}/consume`,Dr=e=>`${oe}/${encodeURIComponent(e)}/audit`,Je=["flow_action","single_tool","discovery","polling_trigger","webhook_trigger"],Ye=/^[A-Za-z0-9][A-Za-z0-9:_+/=.-]{15,1023}$/;function T(e){return typeof e=="string"&&Ye.test(e)}function ze(e){if(!s(e)||e.body_type!=="multipart")return!1;let t=e.body;if(!s(t))return!1;let n=t.parts;return Array.isArray(n)?n.some(o=>s(o)?o.kind==="file"&&typeof o.file_id=="string"&&o.file_id.length>0:!1):!1}function p(e){return{ok:!1,kind:"shape",reason:e}}function S(){return{ok:!1,kind:"request_digest",reason:"request digest is missing or malformed"}}function v(e,t){if(!s(e))return{ok:!1,reason:"grant request body must be a JSON object"};for(let n of Object.keys(e))if(!t.includes(n))return{ok:!1,reason:`grant request does not accept the "${n}" field`};return{ok:!0,record:e}}function D(e){if(!s(e))return"request must be a JSON object"}function Ur(e){let t=v(e,["nodeId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.nodeId;if(typeof n!="string"||n.length===0)return p("nodeId is required");let o=D(t.record.request);if(o!==void 0)return p(o);let i=t.record.requestDigest;return T(i)?{ok:!0,value:{nodeId:n,requestDigest:i,requestHasMultipartFiles:ze(t.record.request)}}:S()}function Lr(e){let t=v(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=D(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return T(o)?{ok:!0,value:{requestDigest:o}}:S()}function Br(e){let t=v(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=D(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return T(o)?{ok:!0,value:{requestDigest:o}}:S()}function Fr(e){let t=v(e,["tickId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.tickId;if(typeof n!="string"||n.length===0)return p("tickId is required");let o=D(t.record.request);if(o!==void 0)return p(o);let i=t.record.requestDigest;return T(i)?{ok:!0,value:{tickId:n,requestDigest:i}}:S()}function Hr(e){let t=v(e,["phase","lifecycle","deliveryId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.phase;if(n!=="lifecycle"&&n!=="handler")return p('phase must be "lifecycle" or "handler"');let o=t.record.lifecycle,i;if(o!==void 0){if(o!=="enable"&&o!=="disable"&&o!=="renew")return p('lifecycle must be "enable", "disable", or "renew"');i=o}if(n==="lifecycle"&&i===void 0)return p("lifecycle is required for the lifecycle phase");let a=t.record.deliveryId,c;if(a!==void 0){if(typeof a!="string"||a.length===0)return p("deliveryId must be a non-empty string");c=a}if(n==="handler"&&c===void 0)return p("deliveryId is required for the handler phase");let d=D(t.record.request);if(d!==void 0)return p(d);let l=t.record.requestDigest;return T(l)?{ok:!0,value:{phase:n,...i!==void 0?{lifecycle:i}:{},...c!==void 0?{deliveryId:c}:{},requestDigest:l}}:S()}function ie(e){return Je.includes(e)?e:void 0}var Qe=["scopeKind","scopeId","requestDigest"];function Mr(e){if(!s(e))return p("consume body must be a JSON object");for(let i of Object.keys(e))if(!Qe.includes(i))return p(`consume does not accept the "${i}" field`);let t=ie(e.scopeKind);if(t===void 0)return p("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return p("scopeId is required");let o=e.requestDigest;return T(o)?{ok:!0,value:{scopeKind:t,scopeId:n,requestDigest:o}}:S()}var Ze=["scopeKind","scopeId","providerHost","status","durationMs","requestBytes","responseBytes","errorCode"];function H(e,t){return typeof e!="number"||!Number.isInteger(e)||e<0?{ok:!1,reason:`${t} must be a non-negative integer`}:{ok:!0,value:e}}function Gr(e){if(!s(e))return p("audit body must be a JSON object");for(let f of Object.keys(e))if(!Ze.includes(f))return p(`audit does not accept the "${f}" field`);let t=ie(e.scopeKind);if(t===void 0)return p("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return p("scopeId is required");let o=e.providerHost;if(typeof o!="string"||o.length===0)return p("providerHost is required");let i=H(e.durationMs,"durationMs");if(!i.ok)return p(i.reason);let a;if(e.status!==void 0){let f=H(e.status,"status");if(!f.ok)return p(f.reason);a=f.value}let c;if(e.requestBytes!==void 0){let f=H(e.requestBytes,"requestBytes");if(!f.ok)return p(f.reason);c=f.value}let d;if(e.responseBytes!==void 0){let f=H(e.responseBytes,"responseBytes");if(!f.ok)return p(f.reason);d=f.value}let l;if(e.errorCode!==void 0){let f=e.errorCode;if(typeof f!="string"||f.length===0)return p("errorCode must be a non-empty string");l=f}return{ok:!0,value:{scopeKind:t,scopeId:n,providerHost:o,...a!==void 0?{status:a}:{},durationMs:i.value,...c!==void 0?{requestBytes:c}:{},...d!==void 0?{responseBytes:d}:{},...l!==void 0?{errorCode:l}:{}}}}function $r(e){return!s(e)||!s(e.grant)?r("egress grant envelope must carry a grant object"):u(e.grant)}function Wr(e){return!s(e)||e.consumed!==!0?r("egress grant consume data must carry consumed:true"):u({consumed:!0})}var Yr="/:flowRunId/runtime-credential",zr="/:invocationId/runtime-credential",Qr="/:discoveryInvocationId/runtime-credential",Zr="/:pollingInstanceId/runtime-credential",eo="/:triggerInstanceId/runtime-credential",to=e=>`${g}/${encodeURIComponent(e)}/runtime-credential`,no=e=>`${Y}/${encodeURIComponent(e)}/runtime-credential`,ro=e=>`${z}/${encodeURIComponent(e)}/runtime-credential`,oo=e=>`${C}/${encodeURIComponent(e)}/runtime-credential`,io=e=>`${N}/${encodeURIComponent(e)}/runtime-credential`,so=["flow_action","tool_invoke","discovery","polling_trigger","webhook_trigger"];function U(e,t){if(!s(e))return{ok:!1,reason:"runtime credential request body must be a JSON object"};for(let n of Object.keys(e))if(!t.includes(n))return{ok:!1,reason:`runtime credential request does not accept the "${n}" field`};return{ok:!0,record:e}}function uo(e){let t=U(e,["nodeId"]);if(!t.ok)return r(t.reason);let n=t.record.nodeId;return typeof n!="string"||n.length===0?r("nodeId is required"):u({nodeId:n})}function ao(e){let t=U(e??{},[]);return t.ok?u(null):r(t.reason)}function co(e){let t=U(e??{},[]);return t.ok?u(null):r(t.reason)}function po(e){let t=U(e,["tickId"]);if(!t.ok)return r(t.reason);let n=t.record.tickId;return typeof n!="string"||n.length===0?r("tickId is required"):u({tickId:n})}function lo(e){let t=U(e,["executionKind","deliveryId","lifecycleOperation"]);if(!t.ok)return r(t.reason);let n=t.record.executionKind;if(n!=="event_handler"&&n!=="lifecycle")return r('executionKind must be "event_handler" or "lifecycle"');let o,i=t.record.deliveryId;if(i!==void 0){if(typeof i!="string"||i.length===0)return r("deliveryId must be a non-empty string");o=i}let a,c=t.record.lifecycleOperation;if(c!==void 0){if(c!=="enable"&&c!=="disable"&&c!=="renew")return r('lifecycleOperation must be "enable", "disable", or "renew"');a=c}return n==="lifecycle"&&a===void 0?r("lifecycleOperation is required for the lifecycle execution kind"):u({executionKind:n,...o!==void 0?{deliveryId:o}:{},...a!==void 0?{lifecycleOperation:a}:{}})}function fo(e){return!s(e)||typeof e.sessionId!="string"||typeof e.connectionId!="string"||typeof e.authProfileRef!="string"||typeof e.authType!="string"||!s(e.credential)?r("runtime credential session must carry sessionId, connectionId, auth profile facts and a credential object"):u(e.credential)}function M(e){return!s(e)||typeof e.file_id!="string"||typeof e.name!="string"||typeof e.size_bytes!="number"||typeof e.created_at!="string"||typeof e.expires_at!="string"||e.mime_type!==void 0&&typeof e.mime_type!="string"||e.sha256!==void 0&&typeof e.sha256!="string"||e.source!==void 0&&typeof e.source!="string"?r("file ref data does not match the AIS file-ref shape"):u(e)}function Q(e){return!s(e)||e.method!=="GET"&&e.method!=="PUT"||typeof e.url!="string"||typeof e.expires_at!="string"||!nt(e.headers)?r("presigned file URL data is invalid"):u(e)}function et(e){if(!s(e))return r("file upload session data is invalid");let t=M(e.file);if(!t.ok)return r(t.reason);let n=Q(e.upload);return n.ok?u({file:t.value,upload:n.value}):r(n.reason)}function tt(e){if(!s(e))return r("file metadata data is invalid");let t=M(e.file);return t.ok?u({file:t.value}):r(t.reason)}function nt(e){return s(e)?Object.values(e).every(t=>typeof t=="string"):!1}var A="/internal/files",Eo="/upload-session",ko="/:fileId/complete",_o="/:fileId/access",xo="/:fileId/stat",ho="/:fileId/content",wo=()=>A,To=()=>`${A}/upload-session`,So=e=>`${A}/${encodeURIComponent(e)}/complete`,Ao=(e,t)=>`${A}/${encodeURIComponent(e)}/access?intent=${encodeURIComponent(t)}`,se=e=>`?scope_kind=${encodeURIComponent(e.scopeKind)}&scope_id=${encodeURIComponent(e.scopeId)}`,Po=(e,t)=>`${A}/${encodeURIComponent(e)}/stat${se(t)}`,bo=(e,t)=>`${A}/${encodeURIComponent(e)}/content${se(t)}`;function No(e){if(!s(e))return r("internal file access data is invalid");if(e.intent==="runtime_read"||e.intent==="provider_multipart"){let t=M(e.file);if(!t.ok)return r(t.reason);let n=Q(e.access);return n.ok?u({file:t.value,access:n.value,intent:e.intent}):r(n.reason)}return r("internal file access intent is invalid")}import{isHumanInputSpec as rt}from"@ablehi/flow-contract";var Lo="/:flowRunId/human-inputs",Bo="/:flowRunId/human-inputs/:requestId",Fo="/:flowRunId/human-inputs/:requestId/expire",Ho="/:flowRunId/human-inputs/:requestId/acknowledge",ot=e=>`${g}/${encodeURIComponent(e)}/human-inputs`,de=(e,t)=>`${ot(e)}/${encodeURIComponent(t)}`,Mo=(e,t)=>`${de(e,t)}/expire`,Go=(e,t)=>`${de(e,t)}/acknowledge`,it="human_input_resolved";function $o(e){return`${it}_${e}`}function Wo(e){return!s(e)||Object.keys(e).length!==4||!Object.hasOwn(e,"requestId")||!Object.hasOwn(e,"flowRunId")||!Object.hasOwn(e,"nodeId")||!Object.hasOwn(e,"status")||typeof e.requestId!="string"||e.requestId.length===0||typeof e.flowRunId!="string"||e.flowRunId.length===0||typeof e.nodeId!="string"||e.nodeId.length===0||e.status!=="submitted"&&e.status!=="expired"?r("Human Input resolved event shape is invalid"):u({requestId:e.requestId,flowRunId:e.flowRunId,nodeId:e.nodeId,status:e.status})}var ue=160,ae=500;function st(e){return s(e)?e.kind==="choice"?!G(e,["kind","choiceId","comment"])||typeof e.choiceId!="string"||e.choiceId.length===0||e.comment!==void 0&&typeof e.comment!="string"?r("Human Input choice response is invalid"):u({kind:"choice",choiceId:e.choiceId,...e.comment!==void 0?{comment:e.comment}:{}}):e.kind==="text"&&G(e,["kind","text"])&&typeof e.text=="string"?u({kind:"text",text:e.text}):e.kind==="form"&&G(e,["kind","values"])&&s(e.values)?u({kind:"form",values:e.values}):r("Human Input response is invalid"):r("Human Input response must be an object")}function Ko(e,t){let n=st(e);if(!n.ok||n.value.kind!==t.kind)return r("Human Input response does not match its input spec");switch(t.kind){case"choice":{let o=n.value;return o.kind!=="choice"?r("Human Input choice response does not match its spec"):!t.choices.some(i=>i.id===o.choiceId)||o.comment!==void 0&&t.allowComment!==!0?r("Human Input choice response does not match its spec"):n}case"text":return n.value.kind!=="text"||t.required===!0&&n.value.text.trim().length===0?r("Human Input text response does not match its spec"):n;case"form":{if(n.value.kind!=="form")return r("Human Input form response does not match its spec");let o=new Map(t.fields.map(i=>[i.id,i]));if(Object.keys(n.value.values).some(i=>!o.has(i)))return r("Human Input form response contains an unknown field");for(let i of t.fields){let a=n.value.values[i.id];if(!Object.hasOwn(n.value.values,i.id)){if(i.required===!0)return r(`Human Input form response is missing required field '${i.id}'`);continue}if(a==null||!ut(i,a))return r(`Human Input form response field '${i.id}' does not match its spec`)}return n}}}function ut(e,t){switch(e.type){case"text":case"textarea":return typeof t=="string";case"number":return typeof t=="number"&&Number.isFinite(t);case"boolean":return typeof t=="boolean";case"select":return typeof t=="string"&&(e.options??[]).some(n=>n.id===t)}}function m(e){return{ok:!1,reason:e}}function h(e,t){return s(e)?{ok:!0,value:e}:m(`${t} must be an object`)}function G(e,t){return Object.keys(e).every(n=>t.includes(n))}function P(e,t){return typeof e!="string"||e.length===0?m(`${t} must be a non-empty string`):{ok:!0,value:e}}var at=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;function ct(e,t){return typeof e!="string"||!at.test(e)||Number.isNaN(Date.parse(e))?m(`${t} must be an ISO-8601 timestamp`):{ok:!0,value:e}}function pe(e){let t=h(e,"renderedPrompt");if(!t.ok)return t;if(!G(t.value,["title","body","format"]))return m("renderedPrompt contains an unknown field");let n=P(t.value.title,"renderedPrompt.title");if(!n.ok)return n;if(!/[^\p{White_Space}]/u.test(n.value))return m("renderedPrompt.title must contain non-whitespace text");if(!ce(n.value,ue))return m(`renderedPrompt.title must contain at most ${ue} code points`);let o={title:n.value};if(t.value.body!==void 0){if(typeof t.value.body!="string")return m("renderedPrompt.body must be a string");if(!ce(t.value.body,ae))return m(`renderedPrompt.body must contain at most ${ae} code points`);o.body=t.value.body}if(t.value.format!==void 0){if(t.value.format!=="plain"&&t.value.format!=="markdown")return m("renderedPrompt.format is invalid");o.format=t.value.format}return{ok:!0,value:o}}function ce(e,t){let n=0,o=e[Symbol.iterator]();for(;!o.next().done;)if(n+=1,n>t)return!1;return!0}function qo(e){let t=pe(e);return t.ok?u(t.value):r(t.reason)}function dt(e){try{return rt(e)?u(e):r("Human Input spec shape is invalid")}catch{return r("Human Input spec shape is invalid")}}function pt(e){let t=dt(e);return t.ok?t:m(t.reason)}function lt(e){if(e==null)return{ok:!0,value:void 0};let t=h(e,"partiallyRenderedDelivery");if(!t.ok)return t;let n=t.value.actions;if(n===void 0)return{ok:!0,value:{}};if(!Array.isArray(n))return m("partiallyRenderedDelivery.actions must be an array");let o=[];for(let i of n){let a=h(i,"delivery action");if(!a.ok)return a;let c=P(a.value.id,"delivery action id");if(!c.ok)return c;let d=le(a.value.inputs,`delivery action '${c.value}' inputs`);if(!d.ok)return d;o.push({id:c.value,inputs:d.value})}return{ok:!0,value:{actions:o}}}function le(e,t){let n=h(e,t);if(!n.ok)return n;let o={};for(let[i,a]of Object.entries(n.value)){let c=fe(a,`${t}.${i}`);if(!c.ok)return c;o[i]=c.value}return{ok:!0,value:o}}function fe(e,t){let n=h(e,t);if(!n.ok)return n;switch(n.value.kind){case"literal":return{ok:!0,value:{kind:"literal",value:n.value.value}};case"human_input_ref":{let i=P(n.value.path,`${t}.path`);return i.ok?{ok:!0,value:{kind:"human_input_ref",path:i.value}}:i}case"array":{if(!Array.isArray(n.value.items))return m(`${t}.items must be an array`);let i=[];for(let[a,c]of n.value.items.entries()){let d=fe(c,`${t}[${a}]`);if(!d.ok)return d;i.push(d.value)}return{ok:!0,value:{kind:"array",items:i}}}case"object":{let i=le(n.value.entries,`${t}.entries`);return i.ok?{ok:!0,value:{kind:"object",entries:i.value}}:i}case"template":{if(!Array.isArray(n.value.parts))return m(`${t}.parts must be an array`);let i=[];for(let[a,c]of n.value.parts.entries()){let d=ft(c,`${t}.parts[${a}]`);if(!d.ok)return d;i.push(d.value)}return{ok:!0,value:{kind:"template",parts:i}}}default:return m(`${t}.kind is invalid`)}}function ft(e,t){let n=h(e,t);if(!n.ok)return n;let o=n.value.kind;if(o==="literal")return typeof n.value.value!="string"?m(`${t}.value must be a string`):{ok:!0,value:{kind:"literal",value:n.value.value}};if(o==="human_input_ref"){let i=P(n.value.path,`${t}.path`);return i.ok?{ok:!0,value:{kind:"human_input_ref",path:i.value}}:i}return m(`${t}.kind is invalid`)}function Vo(e){let t=h(e,"request body");if(!t.ok)return r(t.reason);let n=Object.keys(t.value).find(me=>!["executionLease","nodeId","renderedPrompt","input","partiallyRenderedDelivery","timeout","expiresAt"].includes(me));if(n!==void 0)return r(`human input body does not accept the "${n}" field`);let o=E(t.value.executionLease);if(!o.ok)return r(o.reason);let i=P(t.value.nodeId,"nodeId");if(!i.ok)return r(i.reason);let a=pe(t.value.renderedPrompt);if(!a.ok)return r(a.reason);let c=pt(t.value.input);if(!c.ok)return r(c.reason);let d=P(t.value.timeout,"timeout");if(!d.ok)return r(d.reason);let l=ct(t.value.expiresAt,"expiresAt");if(!l.ok)return r(l.reason);let f=lt(t.value.partiallyRenderedDelivery);return f.ok?u({executionLease:o.value,nodeId:i.value,renderedPrompt:a.value,input:c.value,timeout:d.value,expiresAt:l.value,...f.value!==void 0?{partiallyRenderedDelivery:f.value}:{}}):r(f.reason)}function gt(e){return!s(e)||typeof e.id!="string"||e.id.length===0||typeof e.nodeId!="string"||typeof e.status!="string"||!(e.output===null||s(e.output))?r("human input request view must carry id, nodeId, status and output"):u(e)}function jo(e){if(!s(e)||typeof e.created!="boolean")return r("human input create data must carry created:boolean");let t=gt(e.request);return t.ok?u({created:e.created,request:t.value}):t}function Xo(e){return!s(e)||e.acknowledged!==!0?r("human input acknowledge data must carry acknowledged:true"):u({acknowledged:!0})}var Yo="ablehi-wfp-user-runtime-manifest/v1",zo="unknown";function Qo(e){return e.endsWith(".js")?`${e.slice(0,-3)}.manifest.json`:`${e}.manifest.json`}var ei="/internal/deployment-handshake",mt=["start","terminate","send-event","start-webhook-watcher","run-polling-tick","invoke-tool","invoke-discovery","invoke-trigger-handler","invoke-webhook-protocol-adapter","deployment-handshake"],ti=mt,ni="HANDSHAKE_REQUEST_INVALID",ri="HANDSHAKE_SECRET_UNCONFIGURED",oi="HANDSHAKE_SECRET_MISMATCH",ii="HANDSHAKE_CONTRACT_VERSION_MISMATCH",si="HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH",ui="HANDSHAKE_CAPABILITY_MISSING";function ai(e){return[e.nonce,e.timestamp,e.contractVersion,e.dispatchNamespace].map(n=>`${n.length}:${n}`).join(".")}function ci(e){return["response",e.nonce,e.contractVersion,e.dispatchNamespace,...e.capabilities].map(n=>`${n.length}:${n}`).join(".")}function li(e){if(!s(e)||e.ok!==!1||!s(e.error))return r("Server execution error envelope is invalid");let t=Object.keys(e).find(i=>i!=="ok"&&i!=="error"&&i!=="guidance"),n=e.error,o=Object.keys(n).find(i=>i!=="code"&&i!=="message"&&i!=="retryable"&&i!=="issues"&&i!=="details");return t!==void 0||o!==void 0||typeof n.code!="string"||n.code.length===0||typeof n.message!="string"||typeof n.retryable!="boolean"||n.issues!==void 0&&!Array.isArray(n.issues)||n.details!==void 0&&!s(n.details)?r("Server execution error must carry code, message, and boolean retryable"):u(e)}import{lookupErrorRegistryEntry as Rt}from"@ablehi/error-contract";var yi="/:flowRunId/inbox-message-emissions/:nodeId";function Ei(e,t){return`${g}/${encodeURIComponent(e)}/inbox-message-emissions/${encodeURIComponent(t)}`}function I(e){let t=Rt(e);if(t.code!==e)throw new Error(`Inbox message execution error code is not registered: ${e}`);return t.retryable}var ki=kt({INBOX_MESSAGE_IDEMPOTENCY_KEY_INVALID:{httpStatus:422,retryable:I("INBOX_MESSAGE_IDEMPOTENCY_KEY_INVALID")},INBOX_MESSAGE_PAYLOAD_INVALID:{httpStatus:422,retryable:I("INBOX_MESSAGE_PAYLOAD_INVALID")},INBOX_MESSAGE_PAYLOAD_TOO_LARGE:{httpStatus:413,retryable:I("INBOX_MESSAGE_PAYLOAD_TOO_LARGE")},INBOX_MESSAGE_RENDER_INVALID:{httpStatus:422,retryable:I("INBOX_MESSAGE_RENDER_INVALID")},INBOX_MESSAGE_CONTENT_TOO_LARGE:{httpStatus:413,retryable:I("INBOX_MESSAGE_CONTENT_TOO_LARGE")},INBOX_MESSAGE_ATTACHMENT_INVALID:{httpStatus:422,retryable:I("INBOX_MESSAGE_ATTACHMENT_INVALID")},INBOX_MESSAGE_ATTACHMENT_UNAVAILABLE:{httpStatus:409,retryable:I("INBOX_MESSAGE_ATTACHMENT_UNAVAILABLE")},FLOW_INBOX_MESSAGE_INVALID:{httpStatus:422,retryable:I("FLOW_INBOX_MESSAGE_INVALID")},EXECUTION_LEASE_INVALID:{httpStatus:409,retryable:I("EXECUTION_LEASE_INVALID")},EXECUTION_LEASE_SUPERSEDED:{httpStatus:409,retryable:I("EXECUTION_LEASE_SUPERSEDED")},INBOX_MESSAGE_EMISSION_WINDOW_CLOSED:{httpStatus:409,retryable:I("INBOX_MESSAGE_EMISSION_WINDOW_CLOSED")},INBOX_MESSAGE_EMISSION_CONFLICT:{httpStatus:409,retryable:I("INBOX_MESSAGE_EMISSION_CONFLICT")},INBOX_MESSAGE_EMISSION_UNAVAILABLE:{httpStatus:503,retryable:I("INBOX_MESSAGE_EMISSION_UNAVAILABLE")}});function _i(e){if(!s(e)||!ge(e,["executionLease","idempotencyKey","payload"])||typeof e.idempotencyKey!="string"||!It(e.payload))return r("Inbox message Emission request shape is invalid");let t=E(e.executionLease);return t.ok?u({executionLease:t.value,idempotencyKey:e.idempotencyKey,payload:e.payload}):r(t.reason)}function xi(e){return!s(e)||!ge(e,["emissionId","outcome","occurredAt"])||typeof e.emissionId!="string"||e.emissionId.length===0||e.outcome!=="created"&&e.outcome!=="replayed"||typeof e.occurredAt!="string"||e.occurredAt.length===0?r("Inbox message Emission response shape is invalid"):u(e)}function ge(e,t){let n=Object.keys(e).sort(),o=[...t].sort();return n.length===o.length&&n.every((i,a)=>i===o[a])}function It(e){return s(e)&&yt(e)}function yt(e){let n=new WeakSet,o=[{value:e}],i=0;for(;o.length>0;){let a=o.pop();if(a.exiting){n.delete(a.value);continue}let c=a.value;if(c===null||typeof c=="string"||typeof c=="boolean"||typeof c=="number"&&Number.isFinite(c))continue;if(typeof c!="object"||n.has(c)||(i+=1,i>1e5))return!1;let d=Array.isArray(c)?c:s(c)&&Et(c)?Object.values(c):void 0;if(d===void 0)return!1;n.add(c),o.push({value:c,exiting:!0});for(let l=d.length-1;l>=0;l-=1)o.push({value:d[l]})}return!0}function Et(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function kt(e){for(let t of Object.values(e))Object.freeze(t);return Object.freeze(e)}export{an as COMPLETE_EVENT_WAIT_ROUTE_SUBPATH,wt as CONTEXT_STATE_CLEANUP_ROUTE_PATH,mt as DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES,ti as DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES,ei as DEPLOYMENT_HANDSHAKE_ROUTE,hr as DISCOVERY_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,Qr as DISCOVERY_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Ar as EGRESS_GRANT_AUDIT_ROUTE_SUBPATH,Sr as EGRESS_GRANT_CONSUME_ROUTE_SUBPATH,Je as EGRESS_GRANT_SCOPE_KINDS,Ot as EXECUTION_CONTEXT_ROUTE_SUBPATH,Wt as EXECUTION_LEASE_INVALID,Bt as EXECUTION_LEASE_ROUTE_SUBPATH,Kt as EXECUTION_LEASE_SUPERSEDED,_o as FILE_ACCESS_ROUTE_SUBPATH,ko as FILE_COMPLETE_ROUTE_SUBPATH,ho as FILE_CONTENT_ROUTE_SUBPATH,xo as FILE_STAT_ROUTE_SUBPATH,Eo as FILE_UPLOAD_SESSION_ROUTE_SUBPATH,_r as FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH,sn as FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH,Pe as FLOW_RUN_EXECUTION_EVENT_TYPES,on as FLOW_RUN_RESULT_ROUTE_SUBPATH,Yr as FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Sn as HANDLER_BUNDLES_ROUTE_SUBPATH,ui as HANDSHAKE_CAPABILITY_MISSING,ii as HANDSHAKE_CONTRACT_VERSION_MISMATCH,si as HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH,ni as HANDSHAKE_REQUEST_INVALID,oi as HANDSHAKE_SECRET_MISMATCH,ri as HANDSHAKE_SECRET_UNCONFIGURED,Lo as HUMAN_INPUTS_ROUTE_SUBPATH,Ho as HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH,Vt as HUMAN_INPUT_CANCELLED_BY_RESET,Fo as HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH,ae as HUMAN_INPUT_PROMPT_BODY_MAX_CODE_POINTS,ue as HUMAN_INPUT_PROMPT_TITLE_MAX_CODE_POINTS,Bo as HUMAN_INPUT_REQUEST_ROUTE_SUBPATH,it as HUMAN_INPUT_RESOLVED_EVENT_PREFIX,yi as INBOX_MESSAGE_EMISSION_ROUTE_SUBPATH,ki as INBOX_MESSAGE_EXECUTION_ERROR_REGISTRY,z as INTERNAL_DISCOVERY_INVOCATIONS_ROUTE_PREFIX,oe as INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX,A as INTERNAL_FILES_ROUTE_PREFIX,g as INTERNAL_FLOW_RUNS_ROUTE_PREFIX,Ce as INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX,V as INTERNAL_INSTALLATIONS_ROUTE_PREFIX,C as INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX,Y as INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX,N as INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX,ur as POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH,wr as POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,ar as POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,Zr as POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,cr as POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH,un as REGISTER_EVENT_WAIT_ROUTE_SUBPATH,so as RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS,$t as RUN_DISPATCH_UNAVAILABLE,Re as SERVER_EXECUTION_CONTRACT_VERSION,rn as STEP_RESULT_ROUTE_SUBPATH,An as TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH,xr as TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,zr as TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,qt as WAIT_EXECUTION_SUPERSEDED,Xn as WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH,Yn as WEBHOOK_PROTOCOL_ADAPTER_MODULE,Fn as WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH,Mn as WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH,Tr as WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,Gn as WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH,Hn as WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,$n as WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH,eo as WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Yo as WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION,zo as WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION,Mt as WORKFLOW_RESTART_INSTANCE_UNAVAILABLE,Gt as WORKFLOW_RESTART_REJECTED,Ht as WORKFLOW_RESTART_REQUEST_INVALID,Ft as WORKFLOW_RESTART_ROUTE,jt as acquireExecutionLeasePath,fn as completeEventWaitPath,ai as deploymentHandshakeProbePayload,ci as deploymentHandshakeResponseProofPayload,Nr as discoveryInvocationEgressGrantPath,ro as discoveryInvocationRuntimeCredentialPath,Dr as egressGrantAuditPath,vr as egressGrantConsumePath,Ct as executionContextPath,Pr as flowRunEgressGrantPath,pn as flowRunExecutionEventsPath,dn as flowRunResultPath,to as flowRunRuntimeCredentialPath,zn as flowScriptProtocolAdapterModuleName,Pn as handlerBundlesPath,Go as humanInputAcknowledgePath,Mo as humanInputExpirePath,de as humanInputRequestPath,$o as humanInputResolvedEventType,ot as humanInputsPath,Ei as inboxMessageEmissionPath,Ao as internalFileAccessPath,So as internalFileCompletePath,bo as internalFileContentPath,Po as internalFileStatPath,To as internalFileUploadSessionPath,wo as internalFilesPath,T as isValidRequestDigest,Jt as parseAcquireExecutionLeaseData,Xt as parseAcquireExecutionLeaseRequest,_n as parseCompleteFlowRunWaitBody,hn as parseCompleteFlowRunWaitData,Tt as parseContextStateCleanupRequestBody,St as parseContextStateCleanupResponseData,x as parseContextStateScope,Vo as parseCreateHumanInputBody,Br as parseDiscoveryGrantBody,co as parseDiscoveryRuntimeCredentialBody,Gr as parseEgressGrantAuditBody,Mr as parseEgressGrantConsumeBody,Wr as parseEgressGrantConsumeData,$r as parseEgressGrantData,xi as parseEmitInboxMessageData,_i as parseEmitInboxMessageRequest,Z as parseExecutionAnchor,vt as parseExecutionContextData,E as parseExecutionLease,tt as parseFileMetadataData,M as parseFileRefData,W as parseFileRuntimeLimits,et as parseFileUploadSessionData,Ur as parseFlowActionGrantBody,En as parseFlowRunExecutionEventBody,yn as parseFlowRunExecutionEventData,Rn as parseFlowRunResultBody,In as parseFlowRunResultData,uo as parseFlowRuntimeCredentialBody,wn as parseFlowWaitResolvedEvent,De as parseHandlerBundle,Nn as parseHandlerBundlesData,Xo as parseHumanInputAcknowledgeData,jo as parseHumanInputCreateData,gt as parseHumanInputRequestViewData,Wo as parseHumanInputResolvedEvent,st as parseHumanInputResponse,Ko as parseHumanInputResponseForSpec,dt as parseHumanInputSpec,No as parseInternalFileAccessData,gr as parsePollingPublishBody,po as parsePollingRuntimeCredentialBody,Ge as parsePollingTriggerContext,fr as parsePollingTriggerDispatchData,Fr as parsePollingTriggerGrantBody,mr as parsePublishPollingTickEventsData,kn as parseRegisterFlowRunWaitBody,xn as parseRegisterFlowRunWaitData,qo as parseRenderedHumanInputPrompt,fo as parseRuntimeCredentialSessionCredential,F as parseRuntimeNetwork,li as parseServerExecutionErrorEnvelope,Lr as parseSingleToolGrantBody,ao as parseSingleToolRuntimeCredentialBody,gn as parseStepRecordBody,mn as parseStepRecordData,On as parseToolHandlerBundlesData,j as parseTriggerFileRuntimeDispatch,er as parseTriggerHandlerBundlesData,Fe as parseWebhookDelivery,Zn as parseWebhookDeliveryDispatchData,tr as parseWebhookPublishEventsBody,nr as parseWebhookRearmBody,lo as parseWebhookRuntimeCredentialBody,Hr as parseWebhookTriggerGrantBody,Qn as parseWebhookWatcherContext,Yt as parseWorkflowDispatchRestartRequest,zt as parseWorkflowDispatchRestartResponse,dr as pollingTriggerContextPath,Or as pollingTriggerEgressGrantPath,pr as pollingTriggerHandlerBundlesPath,oo as pollingTriggerRuntimeCredentialPath,lr as pollingTriggerTickEventsPath,ln as registerEventWaitPath,ze as requestHasMultipartFileParts,cn as stepResultPath,bn as toolHandlerBundlesPath,br as toolInvocationEgressGrantPath,no as toolInvocationRuntimeCredentialPath,Jn as webhookProtocolAdapterBundlePath,Wn as webhookTriggerContextPath,qn as webhookTriggerDeliveryPath,Cr as webhookTriggerEgressGrantPath,Vn as webhookTriggerEventsPath,Kn as webhookTriggerHandlerBundlesPath,jn as webhookTriggerRearmPath,io as webhookTriggerRuntimeCredentialPath,Qo as wfpUserRuntimeManifestPath};
|
|
1
|
+
var Fe="0.5.0";function u(e){return{ok:!0,value:e}}function r(e){return{ok:!1,reason:e}}function s(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var sn="/cleanup-state-scopes";function b(e){if(!s(e)||typeof e.kind!="string")return r("context state scope surface shape is invalid");switch(e.kind){case"webhook-trigger":return He(e);case"polling-trigger":return Le(e);case"flow-action":return $e(e);default:return r("context state scope kind is invalid")}}function an(e){if(!s(e))return r("cleanup request body must be a JSON object");let t=V(e,["scopes"]);if(t!==void 0)return r(`cleanup request does not accept the "${t}" field`);if(!Array.isArray(e.scopes))return r("cleanup request scopes must be an array");let n=[];for(let o of e.scopes){let i=b(o);if(!i.ok)return i;n.push(i.value)}return u({scopes:n})}function un(e){return!s(e)||typeof e.deleted!="number"||!Number.isSafeInteger(e.deleted)||e.deleted<0?r("cleanup response data surface shape is invalid"):u({deleted:e.deleted})}function He(e){let t=V(e,["kind","workspaceId","triggerInstanceId"]);return t!==void 0?r(`webhook trigger scope does not accept "${t}"`):e.kind!=="webhook-trigger"||!w(e.workspaceId)||!w(e.triggerInstanceId)?r("webhook trigger state scope is invalid"):u({kind:"webhook-trigger",workspaceId:e.workspaceId,triggerInstanceId:e.triggerInstanceId})}function Le(e){let t=V(e,["kind","workspaceId","pollingInstanceId"]);return t!==void 0?r(`polling trigger scope does not accept "${t}"`):e.kind!=="polling-trigger"||!w(e.workspaceId)||!w(e.pollingInstanceId)?r("polling trigger state scope is invalid"):u({kind:"polling-trigger",workspaceId:e.workspaceId,pollingInstanceId:e.pollingInstanceId})}function $e(e){let t=V(e,["kind","workspaceId","flowId","nodeId","connectionId"]);if(t!==void 0)return r(`flow action scope does not accept "${t}"`);let n=e.connectionId;return e.kind!=="flow-action"||!w(e.workspaceId)||!w(e.flowId)||!w(e.nodeId)||n!==null&&!w(n)?r("flow action state scope is invalid"):u({kind:"flow-action",workspaceId:e.workspaceId,flowId:e.flowId,nodeId:e.nodeId,connectionId:n})}function w(e){return typeof e=="string"&&e.length>0}function V(e,t){return Object.keys(e).find(n=>!t.includes(n))}import{FLOW_INTERPRETER_CONTRACT_VERSION as Me,FLOW_IR_SCHEMA_VERSION as We,parseFlowDefinition as Ge}from"@ablehi/flow-contract";var R="/internal/flow-runs",fn="/:flowRunId/execution-context";function gn(e){return`${R}/${encodeURIComponent(e)}/execution-context`}function ne(e){return!s(e)||_(e,["fileMaxBytes","fileReadMaxBytes","inlineMultipartBytesMax"])!==void 0||!j(e.fileMaxBytes)||!j(e.fileReadMaxBytes)||!j(e.inlineMultipartBytesMax)?r("file runtime limits must carry three positive integer bounds"):u({fileMaxBytes:e.fileMaxBytes,fileReadMaxBytes:e.fileReadMaxBytes,inlineMultipartBytesMax:e.inlineMultipartBytesMax})}function mn(e){if(!s(e))return r("execution context must be a JSON object");let t=_(e,["flowRunId","workspaceId","input","executionGeneration","compiled","executionBindings","fileRuntime"]);if(t!==void 0)return r(`execution context does not accept the "${t}" field`);let n=e.compiled;if(typeof e.flowRunId!="string"||typeof e.workspaceId!="string"||!s(e.input)||!s(n)||_(n,["irSchemaVersion","interpreterContractVersion","ir","compiledArtifactId"])!==void 0||n.irSchemaVersion!==We||n.interpreterContractVersion!==Me||typeof n.compiledArtifactId!="string"||!Ve(e.executionBindings))return r("execution context surface shape is invalid");let o=Ge(n.ir);if(!o.ok)return r(o.reason);let i=Ke(e.executionGeneration,e.flowRunId);if(!i.ok)return r(i.reason);let c=qe(e.fileRuntime);return c.ok?u({...e,compiled:{...n,ir:o.value},executionGeneration:i.value,fileRuntime:c.value}):r(c.reason)}function Ke(e,t){return!s(e)||_(e,["id","flowRunId","number"])!==void 0||typeof e.id!="string"||e.id.length===0||typeof e.flowRunId!="string"||e.flowRunId!==t||!j(e.number)?r("executionGeneration surface shape is invalid"):u({id:e.id,flowRunId:e.flowRunId,number:e.number})}function qe(e){if(e===null)return u(null);if(!s(e))return r("fileRuntime must be null or an object");if(_(e,["limits"])!==void 0)return r("fileRuntime surface shape is invalid");let t=ne(e.limits);return t.ok?u({limits:t.value}):r(t.reason)}function Ve(e){return Array.isArray(e)?e.every(t=>{if(!s(t)||!b(t.stateScope).ok||!x(t.nodeId))return!1;if(t.executionKind==="direct")return _(t,["executionKind","nodeId","stateScope","toolRef","toolDescriptor","integrationDescriptor","connection"])===void 0&&x(t.toolRef)&&s(t.toolDescriptor)&&s(t.integrationDescriptor)&&Re(t.toolDescriptor,t.connection);if(t.executionKind!=="server_transformed")return!1;let o=t.realAction;return _(t,["executionKind","nodeId","stateScope","canonicalToolRef","serverTransformRef","serverTransformContractDigest","realAction"])===void 0&&x(t.canonicalToolRef)&&x(t.serverTransformRef)&&Je(t.serverTransformContractDigest)&&s(o)&&_(o,["toolRef","toolDescriptor","integrationDescriptor","connection"])===void 0&&x(o.toolRef)&&s(o.toolDescriptor)&&s(o.integrationDescriptor)&&Re(o.toolDescriptor,o.connection)}):!1}function Re(e,t){return e.auth_required===!1?t===null:e.auth_required===!0&&je(t)}function je(e){return s(e)&&_(e,["installationId","connectionRef","connectionId","authProfileRef","authType","connectionConfig"])===void 0&&x(e.installationId)&&x(e.connectionRef)&&x(e.connectionId)&&x(e.authProfileRef)&&x(e.authType)&&(e.connectionConfig===void 0||s(e.connectionConfig))}function Je(e){return typeof e=="string"&&/^[0-9a-f]{64}$/.test(e)}function x(e){return typeof e=="string"&&e.length>0}function j(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function _(e,t){return Object.keys(e).find(n=>!t.includes(n))}var kn="/:flowRunId/execution-leases",xn="/restart",En="WORKFLOW_RESTART_REQUEST_INVALID",_n="WORKFLOW_RESTART_INSTANCE_UNAVAILABLE",hn="WORKFLOW_RESTART_REJECTED",wn="RUN_DISPATCH_UNAVAILABLE",Tn="EXECUTION_LEASE_INVALID",bn="EXECUTION_LEASE_SUPERSEDED",Sn="WAIT_EXECUTION_SUPERSEDED",Pn="HUMAN_INPUT_CANCELLED_BY_RESET";function An(e){return`${R}/${encodeURIComponent(e)}/execution-leases`}var Xe=/^generation:[A-Za-z0-9][A-Za-z0-9._:-]{0,239}$/;function Ie(e){return s(e)?e.kind==="terminal"&&h(e,["kind"])?u({kind:"terminal"}):e.kind==="node"&&h(e,["kind","nodeId"])&&y(e.nodeId)?u({kind:"node",nodeId:e.nodeId}):r("execution anchor shape is invalid"):r("execution anchor must be an object")}function k(e){if(!s(e)||!h(e,["flowRunId","generationId","generationNumber","anchor","leaseId"])||!y(e.flowRunId)||!y(e.generationId)||!Ye(e.generationNumber)||!y(e.leaseId))return r("execution lease shape is invalid");let t=Ie(e.anchor);return t.ok?u({flowRunId:e.flowRunId,generationId:e.generationId,generationNumber:e.generationNumber,anchor:t.value,leaseId:e.leaseId}):r(t.reason)}function Cn(e){if(!s(e)||!h(e,["anchor"]))return r("lease request shape is invalid");let t=Ie(e.anchor);return t.ok?u({anchor:t.value}):r(t.reason)}function Nn(e){if(!s(e)||!h(e,["lease"]))return r("lease response shape is invalid");let t=k(e.lease);return t.ok?u({lease:t.value}):r(t.reason)}function On(e){return!s(e)||!h(e,["instanceId","flowRunId","commandId","generationId","from"])||!y(e.instanceId)||!y(e.flowRunId)||!y(e.commandId)||!y(e.generationId)||!s(e.from)||!h(e.from,["name","count","type"])||typeof e.from.name!="string"||!Xe.test(e.from.name)||e.from.name==="generation:terminal"||e.from.count!==1||e.from.type!=="do"?r("restart request shape is invalid"):u(e)}function Dn(e){return!s(e)||!h(e,["ok","data"])||e.ok!==!0||!s(e.data)||!h(e.data,["accepted","instanceId","commandId","generationId"])||e.data.accepted!==!0||!y(e.data.instanceId)||!y(e.data.commandId)||!y(e.data.generationId)?r("restart response shape is invalid"):u(e)}function h(e,t){let n=Object.keys(e).sort(),o=[...t].sort();return n.length===o.length&&n.every((i,c)=>i===o[c])}function y(e){return typeof e=="string"&&e.length>0}function Ye(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}import{parseAblehiErrorDigest as re}from"@ablehi/error-contract";var Ln="/:flowRunId/steps/:nodeId/result",$n="/:flowRunId/result",Mn="/:flowRunId/execution-events",Wn="/:flowRunId/waits/:nodeId/register",Gn="/:flowRunId/waits/:nodeId/complete";function Kn(e,t){return`${R}/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}/result`}function qn(e){return`${R}/${encodeURIComponent(e)}/result`}function Vn(e){return`${R}/${encodeURIComponent(e)}/execution-events`}function jn(e,t){return`${R}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/register`}function Jn(e,t){return`${R}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/complete`}function Xn(e){if(!s(e))return{ok:!1,kind:"validation",reason:"step record body must be a JSON object"};let t=I(e,["executionLease","attempt","result","durationMs"]);if(t!==void 0)return{ok:!1,kind:"validation",reason:`step record does not accept the "${t}" field`};let n=k(e.executionLease);if(!n.ok)return{ok:!1,kind:"validation",reason:n.reason};let o=e.attempt;if(typeof o!="number"||!Number.isInteger(o)||o<=0)return{ok:!1,kind:"validation",reason:"attempt must be a positive integer"};let i=ze(e.result);if(!i.ok)return i;let c={executionLease:n.value,attempt:o,result:i.value};if(e.durationMs!==void 0){let a=e.durationMs;if(typeof a!="number"||!Number.isFinite(a)||a<0)return{ok:!1,kind:"validation",reason:"durationMs must be a non-negative number"};c.durationMs=a}return{ok:!0,value:c}}function ze(e){if(!s(e))return{ok:!1,kind:"step_result_invalid",reason:"result must be a JSON object"};let t=e.status;if(t==="succeeded"){let n=I(e,["status","output"]);return n!==void 0?{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`}:"output"in e?{ok:!0,value:{status:"succeeded",output:e.output}}:{ok:!1,kind:"step_result_invalid",reason:"a succeeded result must carry output"}}if(t==="failed"){let n=I(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=re(e.error);return o.ok?{ok:!0,value:{status:"failed",error:o.value}}:{ok:!1,kind:"step_result_invalid",reason:`a failed result must carry an AblehiErrorDigest: ${o.reason}`}}if(t==="skipped"){let n=I(e,["status","reason"]);return n!==void 0?{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`}:e.reason!=="run_if_false"?{ok:!1,kind:"step_result_invalid",reason:'a skipped result reason must be "run_if_false"'}:{ok:!0,value:{status:"skipped",reason:"run_if_false"}}}if(t==="timed_out"){let n=I(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=re(e.error);return o.ok?{ok:!0,value:{status:"timed_out",error:o.value}}:{ok:!1,kind:"step_result_invalid",reason:`a timed_out result must carry an AblehiErrorDigest: ${o.reason}`}}return{ok:!1,kind:"step_result_invalid",reason:'result status must be "succeeded", "failed", "skipped", or "timed_out"'}}function Yn(e){return!s(e)||typeof e.flowRunId!="string"||typeof e.nodeId!="string"||!Qe(e.recorded)?r("step record data surface shape is invalid"):u({flowRunId:e.flowRunId,nodeId:e.nodeId,recorded:e.recorded})}function Qe(e){return e==="succeeded"||e==="failed"||e==="skipped"||e==="timed_out"}function zn(e){if(!s(e))return r("result body must be a JSON object");let t=I(e,["executionLease","status","output","error"]);if(t!==void 0)return r(`result does not accept the "${t}" field`);let n=k(e.executionLease);if(!n.ok)return r(n.reason);let o=e.status;if(o!=="succeeded"&&o!=="failed")return r('result status must be "succeeded" or "failed"');let i={executionLease:n.value,status:o};if(e.output!==void 0){if(o!=="succeeded")return r("output is only allowed on a succeeded result");i.output=e.output}if(e.error!==void 0){if(o!=="failed")return r("error is only allowed on a failed result");let c=re(e.error);if(!c.ok)return r(`result error must be an AblehiErrorDigest: ${c.reason}`);i.error=c.value}return o==="failed"&&i.error===void 0?r("a failed result must carry an AblehiErrorDigest"):u(i)}function Qn(e){return s(e)?u(e):r("flow run result data must be a JSON object")}var Ze=["step_started","step_retry_scheduled"];function Zn(e){if(!s(e))return r("execution event data must be a JSON object");let t=I(e,["flowRunId","eventId","accepted"]);return t!==void 0?r(`execution event data does not accept the "${t}" field`):typeof e.flowRunId!="string"||e.flowRunId.length===0?r("flowRunId must be a non-empty string"):typeof e.eventId!="string"||e.eventId.length===0?r("eventId must be a non-empty string"):e.accepted!==!0?r("accepted must be true"):u({flowRunId:e.flowRunId,eventId:e.eventId,accepted:!0})}function er(e){if(!s(e))return r("execution event body must be a JSON object");let t=I(e,["executionLease","eventId","eventType","nodeId","stepRunId","attempt","durationMs","occurredAt","errorId","payloadRef","inputFact"]);if(t!==void 0)return r(`execution event does not accept the "${t}" field`);let n=k(e.executionLease);if(!n.ok)return r(n.reason);let o=e.eventId;if(typeof o!="string"||o.length===0)return r("eventId must be a non-empty string");let i=e.eventType;if(!et(i))return r("eventType is not a known flow execution event type");let c=e.occurredAt;if(typeof c!="string"||c.length===0)return r("occurredAt must be a non-empty string");let a={executionLease:n.value,eventId:o,eventType:i,occurredAt:c};for(let d of["nodeId","stepRunId","errorId","payloadRef"]){let f=e[d];if(f!==void 0){if(typeof f!="string"||f.length===0)return r(`${d} must be a non-empty string`);a[d]=f}}for(let d of["attempt","durationMs"]){let f=e[d];if(f!==void 0){if(typeof f!="number"||!Number.isFinite(f)||!Number.isInteger(f)||f<0)return r(`${d} must be a non-negative integer`);a[d]=f}}if(e.inputFact!==void 0){if(i!=="step_started")return r("inputFact is only allowed on step_started events");if(a.attempt===void 0)return r("inputFact requires attempt");let d=tt(e.inputFact);if(!d.ok)return d;a.inputFact=d.value}return u(a)}function et(e){return typeof e=="string"&&Ze.includes(e)}function tt(e){if(!s(e))return r("inputFact must be a JSON object");let t=I(e,["digestAlgorithm","digest","domain"]);if(t!==void 0)return r(`inputFact does not accept the "${t}" field`);if(e.digestAlgorithm!=="sha256")return r('inputFact.digestAlgorithm must be "sha256"');let n=e.digest;if(typeof n!="string"||!/^[0-9a-f]{64}$/.test(n))return r("inputFact.digest must be a sha256 hex string");let o=e.domain;if(!s(o))return r("inputFact.domain must be a JSON object");let i=I(o,["irSchemaVersion","interpreterContractVersion","compiledArtifactId","nodeId","algorithmVersion"]);return i!==void 0?r(`inputFact.domain does not accept the "${i}" field`):typeof o.irSchemaVersion!="string"||o.irSchemaVersion.length===0||typeof o.interpreterContractVersion!="string"||o.interpreterContractVersion.length===0||typeof o.compiledArtifactId!="string"||o.compiledArtifactId.length===0||typeof o.nodeId!="string"||o.nodeId.length===0?r("inputFact.domain string fields must be non-empty strings"):o.algorithmVersion!=="flow_input_digest.v1"?r('inputFact.domain.algorithmVersion must be "flow_input_digest.v1"'):u({digestAlgorithm:"sha256",digest:n,domain:{irSchemaVersion:o.irSchemaVersion,interpreterContractVersion:o.interpreterContractVersion,compiledArtifactId:o.compiledArtifactId,nodeId:o.nodeId,algorithmVersion:"flow_input_digest.v1"}})}var nt=/^[A-Za-z0-9_-]{1,100}$/;function tr(e){if(!s(e))return r("register body must be a JSON object");let t=I(e,["executionLease","eventType","correlationKey"]);if(t!==void 0)return r(`register wait does not accept the "${t}" field`);let n=k(e.executionLease);if(!n.ok)return r(n.reason);let o=ye(e.eventType);if(!o.ok)return r(o.reason);let i=e.correlationKey;return typeof i!="string"||i.length===0?r("correlationKey must be a non-empty string"):u({executionLease:n.value,eventType:o.value,correlationKey:i})}function nr(e){if(!s(e))return r("complete body must be a JSON object");let t=I(e,["executionLease","waitExecutionId","outcome","eventId"]);if(t!==void 0)return r(`complete wait does not accept the "${t}" field`);let n=k(e.executionLease);if(!n.ok)return r(n.reason);let o=e.waitExecutionId;if(typeof o!="string"||o.length===0)return r("waitExecutionId must be a non-empty string");let i=e.outcome;if(i!=="received"&&i!=="timed_out")return r('outcome must be "received" or "timed_out"');let c={executionLease:n.value,waitExecutionId:o,outcome:i};if(e.eventId!==void 0){if(typeof e.eventId!="string"||e.eventId.length===0)return r("eventId must be a non-empty string");c.eventId=e.eventId}return u(c)}function rr(e){if(!s(e)||I(e,["waitExecutionId","workflowEventType"])!==void 0||typeof e.waitExecutionId!="string"||e.waitExecutionId.length===0)return r("register wait data surface shape is invalid");let t=ye(e.workflowEventType);return t.ok?u({waitExecutionId:e.waitExecutionId,workflowEventType:t.value}):r(t.reason)}function or(e){return!s(e)||I(e,["completed"])!==void 0||e.completed!==!0?r("complete wait data surface shape is invalid"):u({completed:!0})}function ir(e){return!s(e)||I(e,["waitExecutionId","eventId","payload"])!==void 0||typeof e.waitExecutionId!="string"||e.waitExecutionId.length===0||typeof e.eventId!="string"||e.eventId.length===0||!Object.hasOwn(e,"payload")?r("Wait resolved event surface shape is invalid"):u({waitExecutionId:e.waitExecutionId,eventId:e.eventId,payload:e.payload})}function ye(e){return typeof e!="string"||e.length===0?r("eventType must be a non-empty string"):nt.test(e)?u(e):r("eventType must match ^[A-Za-z0-9_-]{1,100}$")}function I(e,t){return Object.keys(e).find(n=>!t.includes(n))}var rt="/internal/flow-versions",ar="/:flowVersionId/handler-bundles",ie="/internal/installations",ur="/:installationId/handler-bundles";function cr(e,t){return`${rt}/${encodeURIComponent(e)}/handler-bundles?compiledArtifactId=${encodeURIComponent(t)}`}function dr(e){return`${ie}/${encodeURIComponent(e.installationId)}/handler-bundles?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var ot=new Set(["managed_only","managed_plus_unmanaged_sdk"]);function J(e){if(!A(e))return oe("runtimeNetwork must be a JSON object");let t=e.networkModel;return typeof t!="string"||!ot.has(t)?oe("runtimeNetwork.networkModel is unknown"):!ke(e.apiHosts)||!ke(e.authHosts)||typeof e.httpsOnly!="boolean"?oe("runtimeNetwork host/https fields are invalid"):{ok:!0,value:{networkModel:t,apiHosts:e.apiHosts,authHosts:e.authHosts,httpsOnly:e.httpsOnly}}}function pr(e){if(!A(e)||typeof e.flowVersionId!="string"||typeof e.compiledArtifactId!="string"||!Array.isArray(e.bundles))return B("handler bundles data surface shape is invalid");let t=xe(e.bundles);return t.ok?{ok:!0,value:{flowVersionId:e.flowVersionId,compiledArtifactId:e.compiledArtifactId,bundles:t.value}}:t}function lr(e){if(!A(e)||typeof e.installationId!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.bundles))return B("tool handler bundles data surface shape is invalid");let t=xe(e.bundles);return t.ok?{ok:!0,value:{installationId:e.installationId,artifactDigest:e.artifactDigest,bundles:t.value}}:t}function xe(e){let t=[];for(let n of e){let o=it(n);if(!o.ok)return o;t.push(o.value)}return{ok:!0,value:t}}function it(e){if(!A(e)||typeof e.toolRef!="string"||e.kind!=="handler"&&e.kind!=="request")return B("handler bundle entry shape is invalid");if(e.kind==="request"){if(e.module!==void 0)return B("a request bundle must not carry a module");let o=J(e.runtimeNetwork);return o.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"request",runtimeNetwork:o.value}}:o}let t=e.module;if(!A(t)||typeof t.entry!="string"||t.entry.length===0||!st(t.files))return B("a handler bundle must carry a { entry, files } module");let n=J(e.runtimeNetwork);return n.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"handler",module:{entry:t.entry,files:t.files},runtimeNetwork:n.value}}:n}function B(e){return{ok:!1,kind:"shape",reason:e}}function oe(e){return{ok:!1,kind:"runtime_network",reason:e}}function A(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ke(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function st(e){return A(e)&&Object.values(e).every(t=>typeof t=="string")}var F="/internal/webhook-trigger-instances",kr="/:triggerInstanceId/context",xr="/:triggerInstanceId/handler-bundles",Er="/:triggerInstanceId/deliveries/:deliveryId",_r="/:triggerInstanceId/events",hr="/:triggerInstanceId/rearm",H=e=>`${F}/${encodeURIComponent(e)}`;function wr(e,t){return`${H(e)}/context?artifactDigest=${encodeURIComponent(t)}`}function Tr(e,t){return`${H(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function br(e,t){return`${H(e)}/deliveries/${encodeURIComponent(t)}`}function Sr(e){return`${H(e)}/events`}function Pr(e){return`${H(e)}/rearm`}var Ar="/:installationId/webhook-protocol-adapter-bundle";function Cr(e){return`${ie}/${encodeURIComponent(e.installationId)}/webhook-protocol-adapter-bundle?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var Nr="modules/webhook/protocol-adapter.js";function Or(e){return`modules/webhook/protocol-adapter-${e}.js`}function Dr(e){let t=s(e)?b(e.stateScope):r("webhook watcher context state scope is invalid");return!s(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!s(e.inputs)||e.connection!==null&&!at(e.connection)||!ut(e.runtime)||!t.ok||t.value.kind!=="webhook-trigger"?r("webhook watcher context surface shape is invalid"):u(e)}function at(e){return s(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function ut(e){if(!s(e)||e.type!=="webhook"||typeof e.trigger_ref!="string")return!1;let t=e.webhook;return s(t)&&typeof t.event_handler_module=="string"&&typeof t.enable_handler_module=="string"&&typeof t.disable_handler_module=="string"}function ct(e){if(!s(e)||typeof e.deliveryId!="string"||typeof e.receivedAt!="string"||!s(e.request))return r("webhook delivery surface shape is invalid");let t=e.request;return t.method!=="POST"||!s(t.headers)||typeof t.rawBody!="string"?r("webhook delivery request shape is invalid"):u(e)}function se(e){if(!s(e)||typeof e.token!="string"||typeof e.expiresAt!="string")return r("trigger file runtime dispatch shape is invalid");let t=ne(e.limits);return t.ok?u({token:e.token,expiresAt:e.expiresAt,limits:t.value}):r(t.reason)}function vr(e){if(!s(e))return r("webhook delivery dispatch data is invalid");let t=ct(e.delivery);if(!t.ok)return r(t.reason);let n=e.fileRuntime;if(n===null)return u({delivery:t.value,fileRuntime:null});let o=se(n);return o.ok?u({delivery:t.value,fileRuntime:o.value}):r(o.reason)}function Ur(e){if(!s(e)||typeof e.triggerRef!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.modules)||!e.modules.every(dt))return{ok:!1,kind:"shape",reason:"trigger handler bundles data surface shape is invalid"};let t=J(e.runtimeNetwork);return t.ok?{ok:!0,value:{triggerRef:e.triggerRef,artifactDigest:e.artifactDigest,modules:e.modules,runtimeNetwork:t.value}}:t}function dt(e){return s(e)&&typeof e.specifier=="string"&&e.specifier.length>0&&typeof e.source=="string"}function Br(e){if(!s(e))return r("publish events body must be a JSON object");let t=ae(e,["deliveryId","events"]);if(t!==void 0)return r(`publish events does not accept the "${t}" field`);let n=e.deliveryId;if(typeof n!="string"||n.length===0)return r("deliveryId must be a non-empty string");let o=e.events;if(!Array.isArray(o))return r("events must be an array");let i=[];for(let c of o){let a=pt(c);if(!a.ok)return a;i.push(a.value)}return u({deliveryId:n,events:i})}function pt(e){if(!s(e))return r("each event must be a JSON object");let t=ae(e,["eventId","occurredAt","dedupeKey","payload"]);if(t!==void 0)return r(`event does not accept the "${t}" field`);let n=e.eventId;if(typeof n!="string"||n.length===0)return r("eventId must be a non-empty string");let o=e.occurredAt;if(typeof o!="string"||o.length===0)return r("occurredAt must be a non-empty string");if(!s(e.payload))return r("event payload must be a JSON object");let i={eventId:n,occurredAt:o,payload:e.payload};if(e.dedupeKey!==void 0){if(typeof e.dedupeKey!="string"||e.dedupeKey.length===0)return r("dedupeKey must be a non-empty string");i.dedupeKey=e.dedupeKey}return u(i)}function Fr(e){if(!s(e))return r("rearm body must be a JSON object");let t=ae(e,["expectedWatcherInstanceId"]);if(t!==void 0)return r(`rearm does not accept the "${t}" field`);let n=e.expectedWatcherInstanceId;return typeof n!="string"||n.length===0?r("expectedWatcherInstanceId must be a non-empty string"):u({expectedWatcherInstanceId:n})}function ae(e,t){return Object.keys(e).find(n=>!t.includes(n))}var L="/internal/polling-trigger-instances",Wr="/:pollingInstanceId/context",Gr="/:pollingInstanceId/handler-bundles",Kr="/:pollingInstanceId/ticks/:tickId/events",ue=e=>`${L}/${encodeURIComponent(e)}`;function qr(e,t,n){return`${ue(e)}/context?artifactDigest=${encodeURIComponent(t)}&tickId=${encodeURIComponent(n)}`}function Vr(e,t){return`${ue(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function jr(e,t){return`${ue(e)}/ticks/${encodeURIComponent(t)}/events`}function lt(e){let t=s(e)?b(e.stateScope):r("polling trigger context state scope is invalid");return!s(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!s(e.inputs)||e.connection!==null&&!ft(e.connection)||!gt(e.runtime)||!t.ok||t.value.kind!=="polling-trigger"||!Rt(e.tick)||!It(e.limits)?r("polling trigger context surface shape is invalid"):u(e)}function Jr(e){if(!s(e))return r("polling trigger dispatch data is invalid");let t=lt(e.context);if(!t.ok)return r(t.reason);let n=e.fileRuntime;if(n===null)return u({context:t.value,fileRuntime:null});let o=se(n);return o.ok?u({context:t.value,fileRuntime:o.value}):r(o.reason)}function ft(e){return s(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function gt(e){if(!s(e)||e.type!=="polling"||typeof e.trigger_id!="string"||typeof e.trigger_ref!="string"||!mt(e.file_outputs))return!1;let t=e.polling;if(!s(t)||typeof t.run_handler_module!="string")return!1;let n=t.schedule;if(!s(n)||n.type!=="interval"||typeof n.every_seconds!="number")return!1;let o=t.dedup;return s(o)&&(o.strategy==="cursor"||o.strategy==="hash"||o.strategy==="id_field")}function mt(e){return e===void 0?!0:Array.isArray(e)&&e.length>0&&e.every(t=>s(t)&&typeof t.field=="string"&&t.field.length>0)}function Rt(e){return s(e)&&typeof e.tickId=="string"&&typeof e.scheduledAt=="string"&&typeof e.attempt=="number"}function It(e){return s(e)&&typeof e.maxEventsPerTick=="number"}function Xr(e){if(!s(e))return r("publish body must be a JSON object");let t=Ee(e,["events","nextCursor"]);if(t!==void 0)return r(`publish does not accept the "${t}" field`);let n=e.events;if(!Array.isArray(n))return r("events must be an array");let o=[];for(let c of n){let a=yt(c);if(!a.ok)return a;o.push(a.value)}let i={events:o};if("nextCursor"in e){let c=e.nextCursor;if(c!==null&&typeof c!="string")return r("nextCursor must be a string, null, or omitted");i.nextCursor=c}return u(i)}function yt(e){if(!s(e))return r("each event must be a JSON object");let t=Ee(e,["eventId","occurredAt","dedupeKey","payload"]);if(t!==void 0)return r(`event does not accept the "${t}" field`);if(typeof e.eventId!="string"||e.eventId.length===0)return r("event eventId must be a non-empty string");if(!s(e.payload))return r("event payload must be a JSON object");let n={eventId:e.eventId,payload:e.payload};if(e.occurredAt!==void 0){if(typeof e.occurredAt!="string"||e.occurredAt.length===0)return r("event occurredAt must be a non-empty string");n.occurredAt=e.occurredAt}if(e.dedupeKey!==void 0){if(typeof e.dedupeKey!="string"||e.dedupeKey.length===0)return r("event dedupeKey must be a non-empty string");n.dedupeKey=e.dedupeKey}return u(n)}function Yr(e){return!s(e)||typeof e.tickId!="string"||typeof e.cursorUpdated!="boolean"||!Array.isArray(e.results)||!e.results.every(kt)?r("publish polling tick events data surface shape is invalid"):u(e)}function kt(e){return s(e)&&typeof e.eventId=="string"&&typeof e.dedupeKey=="string"&&typeof e.duplicate=="boolean"&&(e.flowRunId===null||typeof e.flowRunId=="string")}function Ee(e,t){return Object.keys(e).find(n=>!t.includes(n))}var _e="/internal/egress-grants",ce="/internal/tool-invocations",de="/internal/discovery-invocations",no="/:flowRunId/egress-grant",ro="/:invocationId/egress-grant",oo="/:discoveryInvocationId/egress-grant",io="/:pollingInstanceId/egress-grant",so="/:triggerInstanceId/egress-grant",ao="/:grantId/consume",uo="/:grantId/audit",co=e=>`${R}/${encodeURIComponent(e)}/egress-grant`,po=e=>`${ce}/${encodeURIComponent(e)}/egress-grant`,lo=e=>`${de}/${encodeURIComponent(e)}/egress-grant`,fo=e=>`${L}/${encodeURIComponent(e)}/egress-grant`,go=e=>`${F}/${encodeURIComponent(e)}/egress-grant`,mo=e=>`${_e}/${encodeURIComponent(e)}/consume`,Ro=e=>`${_e}/${encodeURIComponent(e)}/audit`,xt=["flow_action","single_tool","discovery","polling_trigger","webhook_trigger"],Et=/^[A-Za-z0-9][A-Za-z0-9:_+/=.-]{15,1023}$/;function C(e){return typeof e=="string"&&Et.test(e)}function _t(e){if(!s(e)||e.body_type!=="multipart")return!1;let t=e.body;if(!s(t))return!1;let n=t.parts;return Array.isArray(n)?n.some(o=>s(o)?o.kind==="file"&&typeof o.file_id=="string"&&o.file_id.length>0:!1):!1}function p(e){return{ok:!1,kind:"shape",reason:e}}function N(){return{ok:!1,kind:"request_digest",reason:"request digest is missing or malformed"}}function $(e,t){if(!s(e))return{ok:!1,reason:"grant request body must be a JSON object"};for(let n of Object.keys(e))if(!t.includes(n))return{ok:!1,reason:`grant request does not accept the "${n}" field`};return{ok:!0,record:e}}function M(e){if(!s(e))return"request must be a JSON object"}function Io(e){let t=$(e,["nodeId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.nodeId;if(typeof n!="string"||n.length===0)return p("nodeId is required");let o=M(t.record.request);if(o!==void 0)return p(o);let i=t.record.requestDigest;return C(i)?{ok:!0,value:{nodeId:n,requestDigest:i,requestHasMultipartFiles:_t(t.record.request)}}:N()}function yo(e){let t=$(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=M(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return C(o)?{ok:!0,value:{requestDigest:o}}:N()}function ko(e){let t=$(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=M(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return C(o)?{ok:!0,value:{requestDigest:o}}:N()}function xo(e){let t=$(e,["tickId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.tickId;if(typeof n!="string"||n.length===0)return p("tickId is required");let o=M(t.record.request);if(o!==void 0)return p(o);let i=t.record.requestDigest;return C(i)?{ok:!0,value:{tickId:n,requestDigest:i}}:N()}function Eo(e){let t=$(e,["phase","lifecycle","deliveryId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.phase;if(n!=="lifecycle"&&n!=="handler")return p('phase must be "lifecycle" or "handler"');let o=t.record.lifecycle,i;if(o!==void 0){if(o!=="enable"&&o!=="disable"&&o!=="renew")return p('lifecycle must be "enable", "disable", or "renew"');i=o}if(n==="lifecycle"&&i===void 0)return p("lifecycle is required for the lifecycle phase");let c=t.record.deliveryId,a;if(c!==void 0){if(typeof c!="string"||c.length===0)return p("deliveryId must be a non-empty string");a=c}if(n==="handler"&&a===void 0)return p("deliveryId is required for the handler phase");let d=M(t.record.request);if(d!==void 0)return p(d);let f=t.record.requestDigest;return C(f)?{ok:!0,value:{phase:n,...i!==void 0?{lifecycle:i}:{},...a!==void 0?{deliveryId:a}:{},requestDigest:f}}:N()}function he(e){return xt.includes(e)?e:void 0}var ht=["scopeKind","scopeId","requestDigest"];function _o(e){if(!s(e))return p("consume body must be a JSON object");for(let i of Object.keys(e))if(!ht.includes(i))return p(`consume does not accept the "${i}" field`);let t=he(e.scopeKind);if(t===void 0)return p("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return p("scopeId is required");let o=e.requestDigest;return C(o)?{ok:!0,value:{scopeKind:t,scopeId:n,requestDigest:o}}:N()}var wt=["scopeKind","scopeId","providerHost","status","durationMs","requestBytes","responseBytes","errorCode"];function X(e,t){return typeof e!="number"||!Number.isInteger(e)||e<0?{ok:!1,reason:`${t} must be a non-negative integer`}:{ok:!0,value:e}}function ho(e){if(!s(e))return p("audit body must be a JSON object");for(let l of Object.keys(e))if(!wt.includes(l))return p(`audit does not accept the "${l}" field`);let t=he(e.scopeKind);if(t===void 0)return p("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return p("scopeId is required");let o=e.providerHost;if(typeof o!="string"||o.length===0)return p("providerHost is required");let i=X(e.durationMs,"durationMs");if(!i.ok)return p(i.reason);let c;if(e.status!==void 0){let l=X(e.status,"status");if(!l.ok)return p(l.reason);c=l.value}let a;if(e.requestBytes!==void 0){let l=X(e.requestBytes,"requestBytes");if(!l.ok)return p(l.reason);a=l.value}let d;if(e.responseBytes!==void 0){let l=X(e.responseBytes,"responseBytes");if(!l.ok)return p(l.reason);d=l.value}let f;if(e.errorCode!==void 0){let l=e.errorCode;if(typeof l!="string"||l.length===0)return p("errorCode must be a non-empty string");f=l}return{ok:!0,value:{scopeKind:t,scopeId:n,providerHost:o,...c!==void 0?{status:c}:{},durationMs:i.value,...a!==void 0?{requestBytes:a}:{},...d!==void 0?{responseBytes:d}:{},...f!==void 0?{errorCode:f}:{}}}}function wo(e){return!s(e)||!s(e.grant)?r("egress grant envelope must carry a grant object"):u(e.grant)}function To(e){return!s(e)||e.consumed!==!0?r("egress grant consume data must carry consumed:true"):u({consumed:!0})}var Oo="/:flowRunId/runtime-credential",Do="/:invocationId/runtime-credential",vo="/:discoveryInvocationId/runtime-credential",Uo="/:pollingInstanceId/runtime-credential",Bo="/:triggerInstanceId/runtime-credential",Fo=e=>`${R}/${encodeURIComponent(e)}/runtime-credential`,Ho=e=>`${ce}/${encodeURIComponent(e)}/runtime-credential`,Lo=e=>`${de}/${encodeURIComponent(e)}/runtime-credential`,$o=e=>`${L}/${encodeURIComponent(e)}/runtime-credential`,Mo=e=>`${F}/${encodeURIComponent(e)}/runtime-credential`,Wo=["flow_action","tool_invoke","discovery","polling_trigger","webhook_trigger"];function W(e,t){if(!s(e))return{ok:!1,reason:"runtime credential request body must be a JSON object"};for(let n of Object.keys(e))if(!t.includes(n))return{ok:!1,reason:`runtime credential request does not accept the "${n}" field`};return{ok:!0,record:e}}function Go(e){let t=W(e,["nodeId"]);if(!t.ok)return r(t.reason);let n=t.record.nodeId;return typeof n!="string"||n.length===0?r("nodeId is required"):u({nodeId:n})}function Ko(e){let t=W(e??{},[]);return t.ok?u(null):r(t.reason)}function qo(e){let t=W(e??{},[]);return t.ok?u(null):r(t.reason)}function Vo(e){let t=W(e,["tickId"]);if(!t.ok)return r(t.reason);let n=t.record.tickId;return typeof n!="string"||n.length===0?r("tickId is required"):u({tickId:n})}function jo(e){let t=W(e,["executionKind","deliveryId","lifecycleOperation"]);if(!t.ok)return r(t.reason);let n=t.record.executionKind;if(n!=="event_handler"&&n!=="lifecycle")return r('executionKind must be "event_handler" or "lifecycle"');let o,i=t.record.deliveryId;if(i!==void 0){if(typeof i!="string"||i.length===0)return r("deliveryId must be a non-empty string");o=i}let c,a=t.record.lifecycleOperation;if(a!==void 0){if(a!=="enable"&&a!=="disable"&&a!=="renew")return r('lifecycleOperation must be "enable", "disable", or "renew"');c=a}return n==="lifecycle"&&c===void 0?r("lifecycleOperation is required for the lifecycle execution kind"):u({executionKind:n,...o!==void 0?{deliveryId:o}:{},...c!==void 0?{lifecycleOperation:c}:{}})}function Jo(e){return!s(e)||typeof e.sessionId!="string"||typeof e.connectionId!="string"||typeof e.authProfileRef!="string"||typeof e.authType!="string"||!s(e.credential)?r("runtime credential session must carry sessionId, connectionId, auth profile facts and a credential object"):u(e.credential)}function Y(e){return!s(e)||typeof e.file_id!="string"||typeof e.name!="string"||typeof e.size_bytes!="number"||typeof e.created_at!="string"||typeof e.expires_at!="string"||e.mime_type!==void 0&&typeof e.mime_type!="string"||e.sha256!==void 0&&typeof e.sha256!="string"||e.source!==void 0&&typeof e.source!="string"?r("file ref data does not match the AIS file-ref shape"):u(e)}function pe(e){return!s(e)||e.method!=="GET"&&e.method!=="PUT"||typeof e.url!="string"||typeof e.expires_at!="string"||!St(e.headers)?r("presigned file URL data is invalid"):u(e)}function Tt(e){if(!s(e))return r("file upload session data is invalid");let t=Y(e.file);if(!t.ok)return r(t.reason);let n=pe(e.upload);return n.ok?u({file:t.value,upload:n.value}):r(n.reason)}function bt(e){if(!s(e))return r("file metadata data is invalid");let t=Y(e.file);return t.ok?u({file:t.value}):r(t.reason)}function St(e){return s(e)?Object.values(e).every(t=>typeof t=="string"):!1}var O="/internal/files",ei="/upload-session",ti="/:fileId/complete",ni="/:fileId/access",ri="/:fileId/stat",oi="/:fileId/content",ii=()=>O,si=()=>`${O}/upload-session`,ai=e=>`${O}/${encodeURIComponent(e)}/complete`,ui=(e,t)=>`${O}/${encodeURIComponent(e)}/access?intent=${encodeURIComponent(t)}`,we=e=>`?scope_kind=${encodeURIComponent(e.scopeKind)}&scope_id=${encodeURIComponent(e.scopeId)}`,ci=(e,t)=>`${O}/${encodeURIComponent(e)}/stat${we(t)}`,di=(e,t)=>`${O}/${encodeURIComponent(e)}/content${we(t)}`;function pi(e){if(!s(e))return r("internal file access data is invalid");if(e.intent==="runtime_read"||e.intent==="provider_multipart"){let t=Y(e.file);if(!t.ok)return r(t.reason);let n=pe(e.access);return n.ok?u({file:t.value,access:n.value,intent:e.intent}):r(n.reason)}return r("internal file access intent is invalid")}import{isHumanInputSpec as Pt}from"@ablehi/flow-contract";var Ii="/:flowRunId/human-inputs",yi="/:flowRunId/human-inputs/:requestId",ki="/:flowRunId/human-inputs/:requestId/expire",xi="/:flowRunId/human-inputs/:requestId/acknowledge",At=e=>`${R}/${encodeURIComponent(e)}/human-inputs`,Pe=(e,t)=>`${At(e)}/${encodeURIComponent(t)}`,Ei=(e,t)=>`${Pe(e,t)}/expire`,_i=(e,t)=>`${Pe(e,t)}/acknowledge`,Ct="human_input_resolved";function hi(e){return`${Ct}_${e}`}function wi(e){return!s(e)||Object.keys(e).length!==4||!Object.hasOwn(e,"requestId")||!Object.hasOwn(e,"flowRunId")||!Object.hasOwn(e,"nodeId")||!Object.hasOwn(e,"status")||typeof e.requestId!="string"||e.requestId.length===0||typeof e.flowRunId!="string"||e.flowRunId.length===0||typeof e.nodeId!="string"||e.nodeId.length===0||e.status!=="submitted"&&e.status!=="expired"?r("Human Input resolved event shape is invalid"):u({requestId:e.requestId,flowRunId:e.flowRunId,nodeId:e.nodeId,status:e.status})}var Te=160,be=500;function Nt(e){return s(e)?e.kind==="choice"?!z(e,["kind","choiceId","comment"])||typeof e.choiceId!="string"||e.choiceId.length===0||e.comment!==void 0&&typeof e.comment!="string"?r("Human Input choice response is invalid"):u({kind:"choice",choiceId:e.choiceId,...e.comment!==void 0?{comment:e.comment}:{}}):e.kind==="text"&&z(e,["kind","text"])&&typeof e.text=="string"?u({kind:"text",text:e.text}):e.kind==="form"&&z(e,["kind","values"])&&s(e.values)?u({kind:"form",values:e.values}):r("Human Input response is invalid"):r("Human Input response must be an object")}function Ti(e,t){let n=Nt(e);if(!n.ok||n.value.kind!==t.kind)return r("Human Input response does not match its input spec");switch(t.kind){case"choice":{let o=n.value;return o.kind!=="choice"?r("Human Input choice response does not match its spec"):!t.choices.some(i=>i.id===o.choiceId)||o.comment!==void 0&&t.allowComment!==!0?r("Human Input choice response does not match its spec"):n}case"text":return n.value.kind!=="text"||t.required===!0&&n.value.text.trim().length===0?r("Human Input text response does not match its spec"):n;case"form":{if(n.value.kind!=="form")return r("Human Input form response does not match its spec");let o=new Map(t.fields.map(i=>[i.id,i]));if(Object.keys(n.value.values).some(i=>!o.has(i)))return r("Human Input form response contains an unknown field");for(let i of t.fields){let c=n.value.values[i.id];if(!Object.hasOwn(n.value.values,i.id)){if(i.required===!0)return r(`Human Input form response is missing required field '${i.id}'`);continue}if(c==null||!Ot(i,c))return r(`Human Input form response field '${i.id}' does not match its spec`)}return n}}}function Ot(e,t){switch(e.type){case"text":case"textarea":return typeof t=="string";case"number":return typeof t=="number"&&Number.isFinite(t);case"boolean":return typeof t=="boolean";case"select":return typeof t=="string"&&(e.options??[]).some(n=>n.id===t)}}function m(e){return{ok:!1,reason:e}}function S(e,t){return s(e)?{ok:!0,value:e}:m(`${t} must be an object`)}function z(e,t){return Object.keys(e).every(n=>t.includes(n))}function D(e,t){return typeof e!="string"||e.length===0?m(`${t} must be a non-empty string`):{ok:!0,value:e}}var Dt=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;function vt(e,t){return typeof e!="string"||!Dt.test(e)||Number.isNaN(Date.parse(e))?m(`${t} must be an ISO-8601 timestamp`):{ok:!0,value:e}}function Ae(e){let t=S(e,"renderedPrompt");if(!t.ok)return t;if(!z(t.value,["title","body","format"]))return m("renderedPrompt contains an unknown field");let n=D(t.value.title,"renderedPrompt.title");if(!n.ok)return n;if(!/[^\p{White_Space}]/u.test(n.value))return m("renderedPrompt.title must contain non-whitespace text");if(!Se(n.value,Te))return m(`renderedPrompt.title must contain at most ${Te} code points`);let o={title:n.value};if(t.value.body!==void 0){if(typeof t.value.body!="string")return m("renderedPrompt.body must be a string");if(!Se(t.value.body,be))return m(`renderedPrompt.body must contain at most ${be} code points`);o.body=t.value.body}if(t.value.format!==void 0){if(t.value.format!=="plain"&&t.value.format!=="markdown")return m("renderedPrompt.format is invalid");o.format=t.value.format}return{ok:!0,value:o}}function Se(e,t){let n=0,o=e[Symbol.iterator]();for(;!o.next().done;)if(n+=1,n>t)return!1;return!0}function bi(e){let t=Ae(e);return t.ok?u(t.value):r(t.reason)}function Ut(e){try{return Pt(e)?u(e):r("Human Input spec shape is invalid")}catch{return r("Human Input spec shape is invalid")}}function Bt(e){let t=Ut(e);return t.ok?t:m(t.reason)}function Ft(e){if(e==null)return{ok:!0,value:void 0};let t=S(e,"partiallyRenderedDelivery");if(!t.ok)return t;let n=t.value.actions;if(n===void 0)return{ok:!0,value:{}};if(!Array.isArray(n))return m("partiallyRenderedDelivery.actions must be an array");let o=[];for(let i of n){let c=S(i,"delivery action");if(!c.ok)return c;let a=D(c.value.id,"delivery action id");if(!a.ok)return a;let d=Ce(c.value.inputs,`delivery action '${a.value}' inputs`);if(!d.ok)return d;o.push({id:a.value,inputs:d.value})}return{ok:!0,value:{actions:o}}}function Ce(e,t){let n=S(e,t);if(!n.ok)return n;let o={};for(let[i,c]of Object.entries(n.value)){let a=Ne(c,`${t}.${i}`);if(!a.ok)return a;o[i]=a.value}return{ok:!0,value:o}}function Ne(e,t){let n=S(e,t);if(!n.ok)return n;switch(n.value.kind){case"literal":return{ok:!0,value:{kind:"literal",value:n.value.value}};case"human_input_ref":{let i=D(n.value.path,`${t}.path`);return i.ok?{ok:!0,value:{kind:"human_input_ref",path:i.value}}:i}case"array":{if(!Array.isArray(n.value.items))return m(`${t}.items must be an array`);let i=[];for(let[c,a]of n.value.items.entries()){let d=Ne(a,`${t}[${c}]`);if(!d.ok)return d;i.push(d.value)}return{ok:!0,value:{kind:"array",items:i}}}case"object":{let i=Ce(n.value.entries,`${t}.entries`);return i.ok?{ok:!0,value:{kind:"object",entries:i.value}}:i}case"template":{if(!Array.isArray(n.value.parts))return m(`${t}.parts must be an array`);let i=[];for(let[c,a]of n.value.parts.entries()){let d=Ht(a,`${t}.parts[${c}]`);if(!d.ok)return d;i.push(d.value)}return{ok:!0,value:{kind:"template",parts:i}}}default:return m(`${t}.kind is invalid`)}}function Ht(e,t){let n=S(e,t);if(!n.ok)return n;let o=n.value.kind;if(o==="literal")return typeof n.value.value!="string"?m(`${t}.value must be a string`):{ok:!0,value:{kind:"literal",value:n.value.value}};if(o==="human_input_ref"){let i=D(n.value.path,`${t}.path`);return i.ok?{ok:!0,value:{kind:"human_input_ref",path:i.value}}:i}return m(`${t}.kind is invalid`)}function Si(e){let t=S(e,"request body");if(!t.ok)return r(t.reason);let n=Object.keys(t.value).find(T=>!["executionLease","nodeId","renderedPrompt","input","partiallyRenderedDelivery","timeout","expiresAt"].includes(T));if(n!==void 0)return r(`human input body does not accept the "${n}" field`);let o=k(t.value.executionLease);if(!o.ok)return r(o.reason);let i=D(t.value.nodeId,"nodeId");if(!i.ok)return r(i.reason);let c=Ae(t.value.renderedPrompt);if(!c.ok)return r(c.reason);let a=Bt(t.value.input);if(!a.ok)return r(a.reason);let d=D(t.value.timeout,"timeout");if(!d.ok)return r(d.reason);let f=vt(t.value.expiresAt,"expiresAt");if(!f.ok)return r(f.reason);let l=Ft(t.value.partiallyRenderedDelivery);return l.ok?u({executionLease:o.value,nodeId:i.value,renderedPrompt:c.value,input:a.value,timeout:d.value,expiresAt:f.value,...l.value!==void 0?{partiallyRenderedDelivery:l.value}:{}}):r(l.reason)}function Lt(e){return!s(e)||typeof e.id!="string"||e.id.length===0||typeof e.nodeId!="string"||typeof e.status!="string"||!(e.output===null||s(e.output))?r("human input request view must carry id, nodeId, status and output"):u(e)}function Pi(e){if(!s(e)||typeof e.created!="boolean")return r("human input create data must carry created:boolean");let t=Lt(e.request);return t.ok?u({created:e.created,request:t.value}):t}function Ai(e){return!s(e)||e.acknowledged!==!0?r("human input acknowledge data must carry acknowledged:true"):u({acknowledged:!0})}var Ni="ablehi-wfp-user-runtime-manifest/v1",Oi="unknown";function Di(e){return e.endsWith(".js")?`${e.slice(0,-3)}.manifest.json`:`${e}.manifest.json`}var Ui="/internal/deployment-handshake",$t=["start","terminate","send-event","start-webhook-watcher","run-polling-tick","invoke-tool","invoke-discovery","invoke-trigger-handler","invoke-webhook-protocol-adapter","deployment-handshake"],Bi=$t,Fi="HANDSHAKE_REQUEST_INVALID",Hi="HANDSHAKE_SECRET_UNCONFIGURED",Li="HANDSHAKE_SECRET_MISMATCH",$i="HANDSHAKE_CONTRACT_VERSION_MISMATCH",Mi="HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH",Wi="HANDSHAKE_CAPABILITY_MISSING";function Gi(e){return[e.nonce,e.timestamp,e.contractVersion,e.dispatchNamespace].map(n=>`${n.length}:${n}`).join(".")}function Ki(e){return["response",e.nonce,e.contractVersion,e.dispatchNamespace,...e.capabilities].map(n=>`${n.length}:${n}`).join(".")}function ji(e){if(!s(e)||e.ok!==!1||!s(e.error))return r("Server execution error envelope is invalid");let t=Object.keys(e).find(i=>i!=="ok"&&i!=="error"&&i!=="guidance"),n=e.error,o=Object.keys(n).find(i=>i!=="code"&&i!=="message"&&i!=="retryable"&&i!=="issues"&&i!=="details");return t!==void 0||o!==void 0||typeof n.code!="string"||n.code.length===0||typeof n.message!="string"||typeof n.retryable!="boolean"||n.issues!==void 0&&!Array.isArray(n.issues)||n.details!==void 0&&!s(n.details)?r("Server execution error must carry code, message, and boolean retryable"):u(e)}var Oe="workflow.action-transform.v1",zi="/:flowRunId/nodes/:nodeId/action-transform",Mt=1048576;function Qi(e,t){return`/internal/flow-runs/${encodeURIComponent(e)}/nodes/${encodeURIComponent(t)}/action-transform`}function ve(e){return le(e,new WeakSet)}function Zi(e){return ge(new TextEncoder().encode(ve(e)))}function Wt(e){return ge(new TextEncoder().encode([e.flowRunId,e.generationId,e.nodeId,e.operation,String(e.attempt),e.valueDigest].join("\0")))}function es(e){if(!s(e)||!Q(e,["schemaVersion","executionLease","serverTransformRef","operation","attempt","idempotencyIdentity","valueDigest","value"]))return r("action transform request shape is invalid");if(e.schemaVersion!==Oe)return r("action transform schemaVersion is unsupported");let t=k(e.executionLease);if(!t.ok)return r(t.reason);if(!v(e.serverTransformRef))return r("serverTransformRef must be a non-empty string");let n=e.operation;if(!Be(n))return r("action transform operation is invalid");let o=e.attempt;if(!en(n,o))return r(n==="input"?"input transform attempt must be 0":"output and error transform attempt must be a positive integer");if(!fe(e.valueDigest)||!fe(e.idempotencyIdentity))return r("action transform digests must be lowercase SHA-256 hex");let i=Ue(n,e.value);if(!i.ok)return i;if(i.digest!==e.valueDigest)return r("action transform valueDigest does not match value");let c=t.value.anchor.kind==="node"?t.value.anchor.nodeId:void 0;return c===void 0?r("action transform lease anchor must be a node"):Wt({flowRunId:t.value.flowRunId,generationId:t.value.generationId,nodeId:c,operation:n,attempt:o,valueDigest:i.digest})!==e.idempotencyIdentity?r("action transform idempotencyIdentity is invalid"):u({schemaVersion:Oe,executionLease:t.value,serverTransformRef:e.serverTransformRef,operation:n,attempt:o,idempotencyIdentity:e.idempotencyIdentity,valueDigest:i.digest,value:e.value})}function ts(e){if(!s(e)||!Q(e,["operation","valueDigest","value"]))return r("action transform data shape is invalid");let t=e.operation;if(!Be(t)||!fe(e.valueDigest))return r("action transform data operation or digest is invalid");let n=Ue(t,e.value);return n.ok?n.digest!==e.valueDigest?r("action transform response valueDigest does not match value"):u({operation:t,valueDigest:n.digest,value:e.value}):n}function Ue(e,t){let n;try{n=ve(t)}catch(o){return{ok:!1,reason:`action transform value must be JSON: ${o instanceof Error?o.message:String(o)}`}}return new TextEncoder().encode(n).byteLength>Mt?{ok:!1,reason:"action transform value exceeds 1048576 bytes"}:e==="error"&&!Gt(t)?{ok:!1,reason:"error transform value is invalid"}:{ok:!0,digest:ge(new TextEncoder().encode(n))}}function Gt(e){return!(!s(e)||!me(e,["code","error","data"])||!v(e.code)||e.error!==void 0&&(!Kt(e.error)||e.error.code!==e.code))}function le(e,t){if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string"){De(e);let n=JSON.stringify(e);if(n===void 0)throw new TypeError("string is not JSON serializable");return n}if(typeof e=="number"){if(!Number.isFinite(e))throw new TypeError("numbers must be finite");let n=JSON.stringify(e);if(n===void 0)throw new TypeError("number is not JSON serializable");return n}if(typeof e!="object")throw new TypeError("value contains a non-JSON member");if(t.has(e))throw new TypeError("value contains a cycle");t.add(e);try{if(Array.isArray(e)){let c=[];for(let a=0;a<e.length;a+=1){if(!(a in e))throw new TypeError("value contains a sparse array");c.push(le(e[a],t))}return`[${c.join(",")}]`}let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)throw new TypeError("value contains a non-plain object");let o=e;return`{${Object.keys(o).sort().map(c=>(De(c),`${JSON.stringify(c)}:${le(o[c],t)}`)).join(",")}}`}finally{t.delete(e)}}function De(e){for(let t=0;t<e.length;t+=1){let n=e.charCodeAt(t);if(n>=55296&&n<=56319){let o=e.charCodeAt(t+1);if(!(o>=56320&&o<=57343))throw new TypeError("strings must not contain lone surrogate code points");t+=1;continue}if(n>=56320&&n<=57343)throw new TypeError("strings must not contain lone surrogate code points")}}function Kt(e){return!s(e)||!tn(e,["source","scope","subject","attempt","code","category","retryable","occurredAt","evidence"],["source","scope","subject","code","occurredAt"])||!qt(e.source)||e.scope!=="flow_step"&&e.scope!=="integration_invocation"||!jt(e.subject)||!v(e.code)||!v(e.occurredAt)||e.attempt!==void 0&&(!s(e.attempt)||!Q(e.attempt,["number"])||!Xt(e.attempt.number))||e.category!==void 0&&!Jt(e.category)||e.retryable!==void 0&&typeof e.retryable!="boolean"?!1:e.evidence===void 0||s(e.evidence)}function qt(e){return s(e)&&Q(e,["project","component"])&&(e.project==="ablehi-server"||e.project==="ablehi-cf-execution-runtime"||e.project==="agentIntegrations")&&v(e.component)}var Vt=["workspaceId","flowId","flowVersionId","flowRunId","stepId","nodeId","integrationId","actionId","toolRef","connectionId","requestId","traceRef"];function jt(e){return s(e)&&me(e,Vt)&&Object.values(e).every(v)}function Jt(e){return["validation","auth","permission","not_found","rate_limit","provider","network","runtime","internal","canceled"].includes(e)}function Xt(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function ge(e){let t=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),n=e.byteLength*8,o=Math.ceil((e.byteLength+9)/64)*64,i=new Uint8Array(o);i.set(e),i[e.byteLength]=128;let c=new DataView(i.buffer);c.setUint32(o-8,Math.floor(n/4294967296),!1),c.setUint32(o-4,n>>>0,!1);let a=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),d=new Uint32Array(64);for(let f=0;f<o;f+=64){for(let g=0;g<16;g+=1)d[g]=c.getUint32(f+g*4,!1);for(let g=16;g<64;g+=1){let q=d[g-15],te=d[g-2];d[g]=zt(te)+d[g-7]+Yt(q)+d[g-16]>>>0}let l=a[0],T=a[1],U=a[2],Z=a[3],P=a[4],G=a[5],K=a[6],ee=a[7];for(let g=0;g<64;g+=1){let q=ee+Zt(P)+(P&G^~P&K)+t[g]+d[g]>>>0,te=Qt(l)+(l&T^l&U^T&U)>>>0;ee=K,K=G,G=P,P=Z+q>>>0,Z=U,U=T,T=l,l=q+te>>>0}a[0]=a[0]+l>>>0,a[1]=a[1]+T>>>0,a[2]=a[2]+U>>>0,a[3]=a[3]+Z>>>0,a[4]=a[4]+P>>>0,a[5]=a[5]+G>>>0,a[6]=a[6]+K>>>0,a[7]=a[7]+ee>>>0}return[...a].map(f=>f.toString(16).padStart(8,"0")).join("")}function E(e,t){return e>>>t|e<<32-t}function Yt(e){return E(e,7)^E(e,18)^e>>>3}function zt(e){return E(e,17)^E(e,19)^e>>>10}function Qt(e){return E(e,2)^E(e,13)^E(e,22)}function Zt(e){return E(e,6)^E(e,11)^E(e,25)}function Be(e){return e==="input"||e==="output"||e==="error"}function en(e,t){return typeof t=="number"&&Number.isSafeInteger(t)&&(e==="input"?t===0:t>=1)}function fe(e){return typeof e=="string"&&/^[0-9a-f]{64}$/.test(e)}function v(e){return typeof e=="string"&&e.length>0}function Q(e,t){let n=Object.keys(e).sort(),o=[...t].sort();return n.length===o.length&&n.every((i,c)=>i===o[c])}function me(e,t){return Object.keys(e).every(n=>t.includes(n))}function tn(e,t,n){return me(e,t)&&n.every(o=>o in e)}export{zi as ACTION_TRANSFORM_ROUTE_SUBPATH,Oe as ACTION_TRANSFORM_SCHEMA_VERSION,Gn as COMPLETE_EVENT_WAIT_ROUTE_SUBPATH,sn as CONTEXT_STATE_CLEANUP_ROUTE_PATH,$t as DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES,Bi as DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES,Ui as DEPLOYMENT_HANDSHAKE_ROUTE,oo as DISCOVERY_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,vo as DISCOVERY_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,uo as EGRESS_GRANT_AUDIT_ROUTE_SUBPATH,ao as EGRESS_GRANT_CONSUME_ROUTE_SUBPATH,xt as EGRESS_GRANT_SCOPE_KINDS,fn as EXECUTION_CONTEXT_ROUTE_SUBPATH,Tn as EXECUTION_LEASE_INVALID,kn as EXECUTION_LEASE_ROUTE_SUBPATH,bn as EXECUTION_LEASE_SUPERSEDED,ni as FILE_ACCESS_ROUTE_SUBPATH,ti as FILE_COMPLETE_ROUTE_SUBPATH,oi as FILE_CONTENT_ROUTE_SUBPATH,ri as FILE_STAT_ROUTE_SUBPATH,ei as FILE_UPLOAD_SESSION_ROUTE_SUBPATH,no as FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH,Mn as FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH,$n as FLOW_RUN_RESULT_ROUTE_SUBPATH,Oo as FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,ar as HANDLER_BUNDLES_ROUTE_SUBPATH,Wi as HANDSHAKE_CAPABILITY_MISSING,$i as HANDSHAKE_CONTRACT_VERSION_MISMATCH,Mi as HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH,Fi as HANDSHAKE_REQUEST_INVALID,Li as HANDSHAKE_SECRET_MISMATCH,Hi as HANDSHAKE_SECRET_UNCONFIGURED,Ii as HUMAN_INPUTS_ROUTE_SUBPATH,xi as HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH,Pn as HUMAN_INPUT_CANCELLED_BY_RESET,ki as HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH,be as HUMAN_INPUT_PROMPT_BODY_MAX_CODE_POINTS,Te as HUMAN_INPUT_PROMPT_TITLE_MAX_CODE_POINTS,yi as HUMAN_INPUT_REQUEST_ROUTE_SUBPATH,Ct as HUMAN_INPUT_RESOLVED_EVENT_PREFIX,de as INTERNAL_DISCOVERY_INVOCATIONS_ROUTE_PREFIX,_e as INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX,O as INTERNAL_FILES_ROUTE_PREFIX,R as INTERNAL_FLOW_RUNS_ROUTE_PREFIX,rt as INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX,ie as INTERNAL_INSTALLATIONS_ROUTE_PREFIX,L as INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX,ce as INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX,F as INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX,Wr as POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH,io as POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,Gr as POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,Uo as POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Kr as POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH,Wn as REGISTER_EVENT_WAIT_ROUTE_SUBPATH,Wo as RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS,Ze as RUNTIME_REPORTED_EXECUTION_EVENT_TYPES,wn as RUN_DISPATCH_UNAVAILABLE,Fe as SERVER_EXECUTION_CONTRACT_VERSION,Ln as STEP_RESULT_ROUTE_SUBPATH,ur as TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH,ro as TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,Do as TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Sn as WAIT_EXECUTION_SUPERSEDED,Ar as WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH,Nr as WEBHOOK_PROTOCOL_ADAPTER_MODULE,kr as WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH,Er as WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH,so as WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,_r as WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH,xr as WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,hr as WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH,Bo as WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Ni as WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION,Oi as WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION,_n as WORKFLOW_RESTART_INSTANCE_UNAVAILABLE,hn as WORKFLOW_RESTART_REJECTED,En as WORKFLOW_RESTART_REQUEST_INVALID,xn as WORKFLOW_RESTART_ROUTE,An as acquireExecutionLeasePath,Wt as actionTransformIdempotencyIdentity,Qi as actionTransformPath,Zi as actionTransformValueDigest,Jn as completeEventWaitPath,Gi as deploymentHandshakeProbePayload,Ki as deploymentHandshakeResponseProofPayload,lo as discoveryInvocationEgressGrantPath,Lo as discoveryInvocationRuntimeCredentialPath,Ro as egressGrantAuditPath,mo as egressGrantConsumePath,gn as executionContextPath,co as flowRunEgressGrantPath,Vn as flowRunExecutionEventsPath,qn as flowRunResultPath,Fo as flowRunRuntimeCredentialPath,Or as flowScriptProtocolAdapterModuleName,cr as handlerBundlesPath,_i as humanInputAcknowledgePath,Ei as humanInputExpirePath,Pe as humanInputRequestPath,hi as humanInputResolvedEventType,At as humanInputsPath,ui as internalFileAccessPath,ai as internalFileCompletePath,di as internalFileContentPath,ci as internalFileStatPath,si as internalFileUploadSessionPath,ii as internalFilesPath,C as isValidRequestDigest,Nn as parseAcquireExecutionLeaseData,Cn as parseAcquireExecutionLeaseRequest,ts as parseActionTransformData,es as parseActionTransformRequest,nr as parseCompleteFlowRunWaitBody,or as parseCompleteFlowRunWaitData,an as parseContextStateCleanupRequestBody,un as parseContextStateCleanupResponseData,b as parseContextStateScope,Si as parseCreateHumanInputBody,ko as parseDiscoveryGrantBody,qo as parseDiscoveryRuntimeCredentialBody,ho as parseEgressGrantAuditBody,_o as parseEgressGrantConsumeBody,To as parseEgressGrantConsumeData,wo as parseEgressGrantData,Ie as parseExecutionAnchor,mn as parseExecutionContextData,k as parseExecutionLease,bt as parseFileMetadataData,Y as parseFileRefData,ne as parseFileRuntimeLimits,Tt as parseFileUploadSessionData,Io as parseFlowActionGrantBody,er as parseFlowRunExecutionEventBody,Zn as parseFlowRunExecutionEventData,zn as parseFlowRunResultBody,Qn as parseFlowRunResultData,Go as parseFlowRuntimeCredentialBody,ir as parseFlowWaitResolvedEvent,it as parseHandlerBundle,pr as parseHandlerBundlesData,Ai as parseHumanInputAcknowledgeData,Pi as parseHumanInputCreateData,Lt as parseHumanInputRequestViewData,wi as parseHumanInputResolvedEvent,Nt as parseHumanInputResponse,Ti as parseHumanInputResponseForSpec,Ut as parseHumanInputSpec,pi as parseInternalFileAccessData,Xr as parsePollingPublishBody,Vo as parsePollingRuntimeCredentialBody,lt as parsePollingTriggerContext,Jr as parsePollingTriggerDispatchData,xo as parsePollingTriggerGrantBody,Yr as parsePublishPollingTickEventsData,tr as parseRegisterFlowRunWaitBody,rr as parseRegisterFlowRunWaitData,bi as parseRenderedHumanInputPrompt,Jo as parseRuntimeCredentialSessionCredential,J as parseRuntimeNetwork,ji as parseServerExecutionErrorEnvelope,yo as parseSingleToolGrantBody,Ko as parseSingleToolRuntimeCredentialBody,Xn as parseStepRecordBody,Yn as parseStepRecordData,lr as parseToolHandlerBundlesData,se as parseTriggerFileRuntimeDispatch,Ur as parseTriggerHandlerBundlesData,ct as parseWebhookDelivery,vr as parseWebhookDeliveryDispatchData,Br as parseWebhookPublishEventsBody,Fr as parseWebhookRearmBody,jo as parseWebhookRuntimeCredentialBody,Eo as parseWebhookTriggerGrantBody,Dr as parseWebhookWatcherContext,On as parseWorkflowDispatchRestartRequest,Dn as parseWorkflowDispatchRestartResponse,qr as pollingTriggerContextPath,fo as pollingTriggerEgressGrantPath,Vr as pollingTriggerHandlerBundlesPath,$o as pollingTriggerRuntimeCredentialPath,jr as pollingTriggerTickEventsPath,jn as registerEventWaitPath,_t as requestHasMultipartFileParts,Kn as stepResultPath,dr as toolHandlerBundlesPath,po as toolInvocationEgressGrantPath,Ho as toolInvocationRuntimeCredentialPath,Cr as webhookProtocolAdapterBundlePath,wr as webhookTriggerContextPath,br as webhookTriggerDeliveryPath,go as webhookTriggerEgressGrantPath,Sr as webhookTriggerEventsPath,Tr as webhookTriggerHandlerBundlesPath,Pr as webhookTriggerRearmPath,Mo as webhookTriggerRuntimeCredentialPath,Di as wfpUserRuntimeManifestPath};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { C as ContractParseResult, W as WorkflowExecutionGeneration, E as ExecutionLease } from './action-transform-D9pBy-mj.js';
|
|
2
|
+
export { A as ACTION_TRANSFORM_ROUTE_SUBPATH, a as ACTION_TRANSFORM_SCHEMA_VERSION, b as AcquireExecutionLeaseData, c as AcquireExecutionLeaseRequest, d as ActionTransformData, e as ActionTransformFailureValue, f as ActionTransformOperation, g as ActionTransformRequest, h as EXECUTION_LEASE_INVALID, i as EXECUTION_LEASE_ROUTE_SUBPATH, j as EXECUTION_LEASE_SUPERSEDED, k as ExecutionAnchor, G as GenerationCallbackErrorCode, H as HUMAN_INPUT_CANCELLED_BY_RESET, R as RUN_DISPATCH_UNAVAILABLE, l as WAIT_EXECUTION_SUPERSEDED, m as WORKFLOW_RESTART_INSTANCE_UNAVAILABLE, n as WORKFLOW_RESTART_REJECTED, o as WORKFLOW_RESTART_REQUEST_INVALID, p as WORKFLOW_RESTART_ROUTE, q as WorkflowDispatchRestartRequest, r as WorkflowDispatchRestartResponse, s as WorkflowRestartErrorCode, t as acquireExecutionLeasePath, u as actionTransformIdempotencyIdentity, v as actionTransformPath, w as actionTransformValueDigest, x as parseAcquireExecutionLeaseData, y as parseAcquireExecutionLeaseRequest, z as parseActionTransformData, B as parseActionTransformRequest, D as parseExecutionAnchor, F as parseExecutionLease, I as parseWorkflowDispatchRestartRequest, J as parseWorkflowDispatchRestartResponse } from './action-transform-D9pBy-mj.js';
|
|
3
|
+
import { FLOW_IR_SCHEMA_VERSION, FLOW_INTERPRETER_CONTRACT_VERSION, PublishedFlowDefinition, RuntimeHumanInputSpec } from '@ablehi/flow-contract';
|
|
4
|
+
import { PackageToolDescriptor, InstalledIntegrationDescriptor } from '@ablehi/ais-package-contract/edge';
|
|
2
5
|
import { AblehiErrorDigest } from '@ablehi/error-contract';
|
|
3
6
|
|
|
4
|
-
declare const SERVER_EXECUTION_CONTRACT_VERSION = "0.
|
|
7
|
+
declare const SERVER_EXECUTION_CONTRACT_VERSION = "0.5.0";
|
|
5
8
|
type ServerExecutionContractVersion = typeof SERVER_EXECUTION_CONTRACT_VERSION;
|
|
6
9
|
|
|
7
|
-
type ContractParseResult<T> = {
|
|
8
|
-
ok: true;
|
|
9
|
-
value: T;
|
|
10
|
-
} | {
|
|
11
|
-
ok: false;
|
|
12
|
-
reason: string;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
10
|
declare const CONTEXT_STATE_CLEANUP_ROUTE_PATH = "/cleanup-state-scopes";
|
|
16
11
|
type ContextStateScope = {
|
|
17
12
|
kind: "webhook-trigger";
|
|
@@ -38,70 +33,6 @@ declare function parseContextStateScope(value: unknown): ContractParseResult<Con
|
|
|
38
33
|
declare function parseContextStateCleanupRequestBody(body: unknown): ContractParseResult<ContextStateCleanupRequestBody>;
|
|
39
34
|
declare function parseContextStateCleanupResponseData(data: unknown): ContractParseResult<ContextStateCleanupResponseData>;
|
|
40
35
|
|
|
41
|
-
declare const EXECUTION_LEASE_ROUTE_SUBPATH = "/:flowRunId/execution-leases";
|
|
42
|
-
declare const WORKFLOW_RESTART_ROUTE = "/restart";
|
|
43
|
-
declare const WORKFLOW_RESTART_REQUEST_INVALID = "WORKFLOW_RESTART_REQUEST_INVALID";
|
|
44
|
-
declare const WORKFLOW_RESTART_INSTANCE_UNAVAILABLE = "WORKFLOW_RESTART_INSTANCE_UNAVAILABLE";
|
|
45
|
-
declare const WORKFLOW_RESTART_REJECTED = "WORKFLOW_RESTART_REJECTED";
|
|
46
|
-
declare const RUN_DISPATCH_UNAVAILABLE = "RUN_DISPATCH_UNAVAILABLE";
|
|
47
|
-
type WorkflowRestartErrorCode = typeof WORKFLOW_RESTART_REQUEST_INVALID | typeof WORKFLOW_RESTART_INSTANCE_UNAVAILABLE | typeof WORKFLOW_RESTART_REJECTED;
|
|
48
|
-
declare const EXECUTION_LEASE_INVALID = "EXECUTION_LEASE_INVALID";
|
|
49
|
-
declare const EXECUTION_LEASE_SUPERSEDED = "EXECUTION_LEASE_SUPERSEDED";
|
|
50
|
-
declare const WAIT_EXECUTION_SUPERSEDED = "WAIT_EXECUTION_SUPERSEDED";
|
|
51
|
-
declare const HUMAN_INPUT_CANCELLED_BY_RESET = "HUMAN_INPUT_CANCELLED_BY_RESET";
|
|
52
|
-
type GenerationCallbackErrorCode = typeof EXECUTION_LEASE_INVALID | typeof EXECUTION_LEASE_SUPERSEDED | typeof WAIT_EXECUTION_SUPERSEDED | typeof HUMAN_INPUT_CANCELLED_BY_RESET;
|
|
53
|
-
declare function acquireExecutionLeasePath(flowRunId: string): string;
|
|
54
|
-
type WorkflowExecutionGeneration = {
|
|
55
|
-
id: string;
|
|
56
|
-
flowRunId: string;
|
|
57
|
-
number: number;
|
|
58
|
-
};
|
|
59
|
-
type ExecutionAnchor = {
|
|
60
|
-
kind: "node";
|
|
61
|
-
nodeId: string;
|
|
62
|
-
} | {
|
|
63
|
-
kind: "terminal";
|
|
64
|
-
};
|
|
65
|
-
type ExecutionLease = {
|
|
66
|
-
flowRunId: string;
|
|
67
|
-
generationId: string;
|
|
68
|
-
generationNumber: number;
|
|
69
|
-
anchor: ExecutionAnchor;
|
|
70
|
-
leaseId: string;
|
|
71
|
-
};
|
|
72
|
-
type AcquireExecutionLeaseRequest = {
|
|
73
|
-
anchor: ExecutionAnchor;
|
|
74
|
-
};
|
|
75
|
-
type AcquireExecutionLeaseData = {
|
|
76
|
-
lease: ExecutionLease;
|
|
77
|
-
};
|
|
78
|
-
type WorkflowDispatchRestartRequest = {
|
|
79
|
-
instanceId: string;
|
|
80
|
-
flowRunId: string;
|
|
81
|
-
commandId: string;
|
|
82
|
-
generationId: string;
|
|
83
|
-
from: {
|
|
84
|
-
name: `generation:${string}`;
|
|
85
|
-
count: 1;
|
|
86
|
-
type: "do";
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
type WorkflowDispatchRestartResponse = {
|
|
90
|
-
ok: true;
|
|
91
|
-
data: {
|
|
92
|
-
accepted: true;
|
|
93
|
-
instanceId: string;
|
|
94
|
-
commandId: string;
|
|
95
|
-
generationId: string;
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
declare function parseExecutionAnchor(value: unknown): ContractParseResult<ExecutionAnchor>;
|
|
99
|
-
declare function parseExecutionLease(value: unknown): ContractParseResult<ExecutionLease>;
|
|
100
|
-
declare function parseAcquireExecutionLeaseRequest(value: unknown): ContractParseResult<AcquireExecutionLeaseRequest>;
|
|
101
|
-
declare function parseAcquireExecutionLeaseData(value: unknown): ContractParseResult<AcquireExecutionLeaseData>;
|
|
102
|
-
declare function parseWorkflowDispatchRestartRequest(value: unknown): ContractParseResult<WorkflowDispatchRestartRequest>;
|
|
103
|
-
declare function parseWorkflowDispatchRestartResponse(value: unknown): ContractParseResult<WorkflowDispatchRestartResponse>;
|
|
104
|
-
|
|
105
36
|
declare const INTERNAL_FLOW_RUNS_ROUTE_PREFIX = "/internal/flow-runs";
|
|
106
37
|
declare const EXECUTION_CONTEXT_ROUTE_SUBPATH = "/:flowRunId/execution-context";
|
|
107
38
|
declare function executionContextPath(flowRunId: string): string;
|
|
@@ -113,14 +44,31 @@ type ExecutionBindingConnection = {
|
|
|
113
44
|
authType: string;
|
|
114
45
|
connectionConfig?: Record<string, unknown>;
|
|
115
46
|
};
|
|
116
|
-
type
|
|
47
|
+
type SanitizedToolDescriptor = Omit<PackageToolDescriptor, "spec_path" | "source_tool_id">;
|
|
48
|
+
type DirectActionExecutionBinding = {
|
|
49
|
+
executionKind: "direct";
|
|
117
50
|
nodeId: string;
|
|
51
|
+
stateScope: ContextStateScope;
|
|
118
52
|
toolRef: string;
|
|
119
|
-
toolDescriptor:
|
|
120
|
-
integrationDescriptor:
|
|
121
|
-
connection: ExecutionBindingConnection;
|
|
53
|
+
toolDescriptor: SanitizedToolDescriptor;
|
|
54
|
+
integrationDescriptor: InstalledIntegrationDescriptor;
|
|
55
|
+
connection: ExecutionBindingConnection | null;
|
|
56
|
+
};
|
|
57
|
+
type ServerTransformedActionExecutionBinding = {
|
|
58
|
+
executionKind: "server_transformed";
|
|
59
|
+
nodeId: string;
|
|
122
60
|
stateScope: ContextStateScope;
|
|
61
|
+
canonicalToolRef: string;
|
|
62
|
+
serverTransformRef: string;
|
|
63
|
+
serverTransformContractDigest: string;
|
|
64
|
+
realAction: {
|
|
65
|
+
toolRef: string;
|
|
66
|
+
toolDescriptor: SanitizedToolDescriptor;
|
|
67
|
+
integrationDescriptor: InstalledIntegrationDescriptor;
|
|
68
|
+
connection: ExecutionBindingConnection | null;
|
|
69
|
+
};
|
|
123
70
|
};
|
|
71
|
+
type ExecutionBinding = DirectActionExecutionBinding | ServerTransformedActionExecutionBinding;
|
|
124
72
|
type FileRuntimeLimits = {
|
|
125
73
|
fileMaxBytes: number;
|
|
126
74
|
fileReadMaxBytes: number;
|
|
@@ -130,18 +78,18 @@ type FlowExecutionContextFileRuntime = {
|
|
|
130
78
|
limits: FileRuntimeLimits;
|
|
131
79
|
} | null;
|
|
132
80
|
type ExecutionContextCompiled = {
|
|
133
|
-
irSchemaVersion:
|
|
134
|
-
interpreterContractVersion:
|
|
81
|
+
irSchemaVersion: typeof FLOW_IR_SCHEMA_VERSION;
|
|
82
|
+
interpreterContractVersion: typeof FLOW_INTERPRETER_CONTRACT_VERSION;
|
|
135
83
|
ir: PublishedFlowDefinition;
|
|
136
84
|
compiledArtifactId: string;
|
|
137
85
|
};
|
|
138
|
-
type ExecutionContextData
|
|
86
|
+
type ExecutionContextData = {
|
|
139
87
|
flowRunId: string;
|
|
140
88
|
workspaceId: string;
|
|
141
89
|
input: Record<string, unknown>;
|
|
142
90
|
executionGeneration: WorkflowExecutionGeneration;
|
|
143
91
|
compiled: ExecutionContextCompiled;
|
|
144
|
-
executionBindings:
|
|
92
|
+
executionBindings: ExecutionBinding[];
|
|
145
93
|
fileRuntime: FlowExecutionContextFileRuntime;
|
|
146
94
|
};
|
|
147
95
|
declare function parseFileRuntimeLimits(value: unknown): ContractParseResult<FileRuntimeLimits>;
|
|
@@ -211,8 +159,8 @@ type FlowRunResultData = {
|
|
|
211
159
|
run: unknown;
|
|
212
160
|
};
|
|
213
161
|
declare function parseFlowRunResultData(data: unknown): ContractParseResult<FlowRunResultData>;
|
|
214
|
-
declare const
|
|
215
|
-
type
|
|
162
|
+
declare const RUNTIME_REPORTED_EXECUTION_EVENT_TYPES: readonly ["step_started", "step_retry_scheduled"];
|
|
163
|
+
type RuntimeReportedExecutionEventType = (typeof RUNTIME_REPORTED_EXECUTION_EVENT_TYPES)[number];
|
|
216
164
|
type FlowRunInputFactBody = {
|
|
217
165
|
digestAlgorithm: "sha256";
|
|
218
166
|
digest: string;
|
|
@@ -227,7 +175,7 @@ type FlowRunInputFactBody = {
|
|
|
227
175
|
type FlowRunExecutionEventBody = {
|
|
228
176
|
executionLease: ExecutionLease;
|
|
229
177
|
eventId: string;
|
|
230
|
-
eventType:
|
|
178
|
+
eventType: RuntimeReportedExecutionEventType;
|
|
231
179
|
nodeId?: string;
|
|
232
180
|
stepRunId?: string;
|
|
233
181
|
attempt?: number;
|
|
@@ -1016,74 +964,4 @@ type ServerExecutionErrorEnvelope = {
|
|
|
1016
964
|
*/
|
|
1017
965
|
declare function parseServerExecutionErrorEnvelope(value: unknown): ContractParseResult<ServerExecutionErrorEnvelope>;
|
|
1018
966
|
|
|
1019
|
-
|
|
1020
|
-
declare function inboxMessageEmissionPath(flowRunId: string, nodeId: string): string;
|
|
1021
|
-
type EmitInboxMessageRequest = {
|
|
1022
|
-
executionLease: ExecutionLease;
|
|
1023
|
-
idempotencyKey: string;
|
|
1024
|
-
payload: JsonObject;
|
|
1025
|
-
};
|
|
1026
|
-
type EmitInboxMessageData = {
|
|
1027
|
-
emissionId: string;
|
|
1028
|
-
outcome: "created" | "replayed";
|
|
1029
|
-
occurredAt: string;
|
|
1030
|
-
};
|
|
1031
|
-
declare const INBOX_MESSAGE_EXECUTION_ERROR_REGISTRY: Readonly<{
|
|
1032
|
-
readonly INBOX_MESSAGE_IDEMPOTENCY_KEY_INVALID: {
|
|
1033
|
-
readonly httpStatus: 422;
|
|
1034
|
-
readonly retryable: boolean;
|
|
1035
|
-
};
|
|
1036
|
-
readonly INBOX_MESSAGE_PAYLOAD_INVALID: {
|
|
1037
|
-
readonly httpStatus: 422;
|
|
1038
|
-
readonly retryable: boolean;
|
|
1039
|
-
};
|
|
1040
|
-
readonly INBOX_MESSAGE_PAYLOAD_TOO_LARGE: {
|
|
1041
|
-
readonly httpStatus: 413;
|
|
1042
|
-
readonly retryable: boolean;
|
|
1043
|
-
};
|
|
1044
|
-
readonly INBOX_MESSAGE_RENDER_INVALID: {
|
|
1045
|
-
readonly httpStatus: 422;
|
|
1046
|
-
readonly retryable: boolean;
|
|
1047
|
-
};
|
|
1048
|
-
readonly INBOX_MESSAGE_CONTENT_TOO_LARGE: {
|
|
1049
|
-
readonly httpStatus: 413;
|
|
1050
|
-
readonly retryable: boolean;
|
|
1051
|
-
};
|
|
1052
|
-
readonly INBOX_MESSAGE_ATTACHMENT_INVALID: {
|
|
1053
|
-
readonly httpStatus: 422;
|
|
1054
|
-
readonly retryable: boolean;
|
|
1055
|
-
};
|
|
1056
|
-
readonly INBOX_MESSAGE_ATTACHMENT_UNAVAILABLE: {
|
|
1057
|
-
readonly httpStatus: 409;
|
|
1058
|
-
readonly retryable: boolean;
|
|
1059
|
-
};
|
|
1060
|
-
readonly FLOW_INBOX_MESSAGE_INVALID: {
|
|
1061
|
-
readonly httpStatus: 422;
|
|
1062
|
-
readonly retryable: boolean;
|
|
1063
|
-
};
|
|
1064
|
-
readonly EXECUTION_LEASE_INVALID: {
|
|
1065
|
-
readonly httpStatus: 409;
|
|
1066
|
-
readonly retryable: boolean;
|
|
1067
|
-
};
|
|
1068
|
-
readonly EXECUTION_LEASE_SUPERSEDED: {
|
|
1069
|
-
readonly httpStatus: 409;
|
|
1070
|
-
readonly retryable: boolean;
|
|
1071
|
-
};
|
|
1072
|
-
readonly INBOX_MESSAGE_EMISSION_WINDOW_CLOSED: {
|
|
1073
|
-
readonly httpStatus: 409;
|
|
1074
|
-
readonly retryable: boolean;
|
|
1075
|
-
};
|
|
1076
|
-
readonly INBOX_MESSAGE_EMISSION_CONFLICT: {
|
|
1077
|
-
readonly httpStatus: 409;
|
|
1078
|
-
readonly retryable: boolean;
|
|
1079
|
-
};
|
|
1080
|
-
readonly INBOX_MESSAGE_EMISSION_UNAVAILABLE: {
|
|
1081
|
-
readonly httpStatus: 503;
|
|
1082
|
-
readonly retryable: boolean;
|
|
1083
|
-
};
|
|
1084
|
-
}>;
|
|
1085
|
-
type InboxMessageExecutionErrorCode = keyof typeof INBOX_MESSAGE_EXECUTION_ERROR_REGISTRY;
|
|
1086
|
-
declare function parseEmitInboxMessageRequest(value: unknown): ContractParseResult<EmitInboxMessageRequest>;
|
|
1087
|
-
declare function parseEmitInboxMessageData(value: unknown): ContractParseResult<EmitInboxMessageData>;
|
|
1088
|
-
|
|
1089
|
-
export { type AcquireExecutionLeaseData, type AcquireExecutionLeaseRequest, COMPLETE_EVENT_WAIT_ROUTE_SUBPATH, CONTEXT_STATE_CLEANUP_ROUTE_PATH, type CompleteFlowRunWaitBody, type CompleteFlowRunWaitData, type ContextStateCleanupRequestBody, type ContextStateCleanupResponseData, type ContextStateScope, type CreateHumanInputRequestBody, DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES, DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES, DEPLOYMENT_HANDSHAKE_ROUTE, DISCOVERY_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH, DISCOVERY_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, type DeploymentHandshakeData, type DeploymentHandshakeRequestBody, type DeploymentHandshakeResponse, type DiscoveryDispatchBody, type DiscoveryEgressGrantBinding, type DiscoveryExecutionBinding, type DiscoveryGrantBody, type DiscoveryInvokeRequest, type DiscoveryRuntimeCredentialBinding, EGRESS_GRANT_AUDIT_ROUTE_SUBPATH, EGRESS_GRANT_CONSUME_ROUTE_SUBPATH, EGRESS_GRANT_SCOPE_KINDS, EXECUTION_CONTEXT_ROUTE_SUBPATH, EXECUTION_LEASE_INVALID, EXECUTION_LEASE_ROUTE_SUBPATH, EXECUTION_LEASE_SUPERSEDED, type EgressGrant, type EgressGrantAuditBody, type EgressGrantBodyParseResult, type EgressGrantConsumeBody, type EgressGrantCredentialMaterial, type EgressGrantFileRuntime, type EgressGrantScopeKind, type EmitInboxMessageData, type EmitInboxMessageRequest, type ExecutionAnchor, type ExecutionBinding, type ExecutionBindingConnection, type ExecutionContextCompiled, type ExecutionContextData, type ExecutionLease, FILE_ACCESS_ROUTE_SUBPATH, FILE_COMPLETE_ROUTE_SUBPATH, FILE_CONTENT_ROUTE_SUBPATH, FILE_STAT_ROUTE_SUBPATH, FILE_UPLOAD_SESSION_ROUTE_SUBPATH, FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH, FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH, FLOW_RUN_EXECUTION_EVENT_TYPES, FLOW_RUN_RESULT_ROUTE_SUBPATH, FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, type FileMetadataData, type FileRefData, type FileRuntimeLimits, type FileRuntimeScope, type FileRuntimeScopeKind, type FileUploadSessionData, type FlowActionGrantBody, type FlowExecutionContextFileRuntime, type FlowRunExecutionEventBody, type FlowRunExecutionEventData, type FlowRunExecutionEventType, type FlowRunInputFactBody, type FlowRunResultData, type FlowRunResultRequestBody, type FlowRuntimeCredentialBody, type FlowWaitResolvedEvent, type GenerationCallbackErrorCode, HANDLER_BUNDLES_ROUTE_SUBPATH, HANDSHAKE_CAPABILITY_MISSING, HANDSHAKE_CONTRACT_VERSION_MISMATCH, HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH, HANDSHAKE_REQUEST_INVALID, HANDSHAKE_SECRET_MISMATCH, HANDSHAKE_SECRET_UNCONFIGURED, HUMAN_INPUTS_ROUTE_SUBPATH, HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH, HUMAN_INPUT_CANCELLED_BY_RESET, HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH, HUMAN_INPUT_PROMPT_BODY_MAX_CODE_POINTS, HUMAN_INPUT_PROMPT_TITLE_MAX_CODE_POINTS, HUMAN_INPUT_REQUEST_ROUTE_SUBPATH, HUMAN_INPUT_RESOLVED_EVENT_PREFIX, type HandlerBundle, type HandlerBundleModule, type HandlerBundlesData, type HandlerBundlesParseResult, type HumanInputActor, type HumanInputOutput, type HumanInputRequestView, type HumanInputResolvedEvent, type HumanInputResponse, INBOX_MESSAGE_EMISSION_ROUTE_SUBPATH, INBOX_MESSAGE_EXECUTION_ERROR_REGISTRY, INTERNAL_DISCOVERY_INVOCATIONS_ROUTE_PREFIX, INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX, INTERNAL_FILES_ROUTE_PREFIX, INTERNAL_FLOW_RUNS_ROUTE_PREFIX, INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX, INTERNAL_INSTALLATIONS_ROUTE_PREFIX, INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX, INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX, INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX, type InboxMessageExecutionErrorCode, type IntegrationDiscoverySubject, type InternalFileAccessData, type InternalFileAccessIntent, POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH, POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH, POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH, POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH, type PackageInputDiscoveryDescriptor, type PackageInputDiscoveryKind, type PackagePollingTriggerRuntimeDescriptor, type PackageTriggerFileOutput, type PackageWebhookTriggerRuntimeDescriptor, type ParsedFlowRunResultBody, type PartiallyRenderedHumanInputDelivery, type PartiallyRenderedMapping, type PartiallyRenderedTemplatePart, type PartiallyRenderedValue, type PollingPublishBody, type PollingPublishEvent, type PollingRuntimeCredentialBody, type PollingTriggerContext, type PollingTriggerDispatchData, type PollingTriggerGrantBody, type PresignedFileUrlData, type PublishPollingTickEventResult, type PublishPollingTickEventsData, REGISTER_EVENT_WAIT_ROUTE_SUBPATH, RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS, RUN_DISPATCH_UNAVAILABLE, type RegisterFlowRunWaitBody, type RegisterFlowRunWaitData, type RenderedHumanInputPrompt, type RuntimeCredentialSession, type RuntimeCredentialSessionNetwork, type RuntimeCredentialSessionScopeKind, type RuntimeNetwork, type RuntimeNetworkModel, SERVER_EXECUTION_CONTRACT_VERSION, STEP_RESULT_ROUTE_SUBPATH, type ServerExecutionContractVersion, type ServerExecutionError, type ServerExecutionErrorEnvelope, type SingleToolGrantBody, type StepRecordBody, type StepRecordBodyParseResult, type StepRecordData, type StepRecordResult, TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH, TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH, TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, type ToolHandlerBundlesData, type TriggerConnectionInfo, type TriggerFileRuntimeDispatch, type TriggerHandlerBundlesData, type TriggerHandlerModule, WAIT_EXECUTION_SUPERSEDED, WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH, WEBHOOK_PROTOCOL_ADAPTER_MODULE, WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH, WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH, WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH, WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH, WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH, WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH, WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION, WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION, WORKFLOW_RESTART_INSTANCE_UNAVAILABLE, WORKFLOW_RESTART_REJECTED, WORKFLOW_RESTART_REQUEST_INVALID, WORKFLOW_RESTART_ROUTE, type WebhookDelivery, type WebhookDeliveryDispatchData, type WebhookProtocolAdapterBundleData, type WebhookProtocolAdapterModule, type WebhookPublishEvent, type WebhookPublishEventsBody, type WebhookPublishEventsData, type WebhookRearmBody, type WebhookRearmData, type WebhookRuntimeCredentialBody, type WebhookTriggerGrantBody, type WebhookTriggerVerificationMethod, type WebhookWatcherContext, type WfpUserRuntimeManifest, type WorkflowDispatchRestartRequest, type WorkflowDispatchRestartResponse, type WorkflowExecutionGeneration, type WorkflowRestartErrorCode, acquireExecutionLeasePath, completeEventWaitPath, deploymentHandshakeProbePayload, deploymentHandshakeResponseProofPayload, discoveryInvocationEgressGrantPath, discoveryInvocationRuntimeCredentialPath, egressGrantAuditPath, egressGrantConsumePath, executionContextPath, flowRunEgressGrantPath, flowRunExecutionEventsPath, flowRunResultPath, flowRunRuntimeCredentialPath, flowScriptProtocolAdapterModuleName, handlerBundlesPath, humanInputAcknowledgePath, humanInputExpirePath, humanInputRequestPath, humanInputResolvedEventType, humanInputsPath, inboxMessageEmissionPath, internalFileAccessPath, internalFileCompletePath, internalFileContentPath, internalFileStatPath, internalFileUploadSessionPath, internalFilesPath, isValidRequestDigest, parseAcquireExecutionLeaseData, parseAcquireExecutionLeaseRequest, parseCompleteFlowRunWaitBody, parseCompleteFlowRunWaitData, parseContextStateCleanupRequestBody, parseContextStateCleanupResponseData, parseContextStateScope, parseCreateHumanInputBody, parseDiscoveryGrantBody, parseDiscoveryRuntimeCredentialBody, parseEgressGrantAuditBody, parseEgressGrantConsumeBody, parseEgressGrantConsumeData, parseEgressGrantData, parseEmitInboxMessageData, parseEmitInboxMessageRequest, parseExecutionAnchor, parseExecutionContextData, parseExecutionLease, parseFileMetadataData, parseFileRefData, parseFileRuntimeLimits, parseFileUploadSessionData, parseFlowActionGrantBody, parseFlowRunExecutionEventBody, parseFlowRunExecutionEventData, parseFlowRunResultBody, parseFlowRunResultData, parseFlowRuntimeCredentialBody, parseFlowWaitResolvedEvent, parseHandlerBundle, parseHandlerBundlesData, parseHumanInputAcknowledgeData, parseHumanInputCreateData, parseHumanInputRequestViewData, parseHumanInputResolvedEvent, parseHumanInputResponse, parseHumanInputResponseForSpec, parseHumanInputSpec, parseInternalFileAccessData, parsePollingPublishBody, parsePollingRuntimeCredentialBody, parsePollingTriggerContext, parsePollingTriggerDispatchData, parsePollingTriggerGrantBody, parsePublishPollingTickEventsData, parseRegisterFlowRunWaitBody, parseRegisterFlowRunWaitData, parseRenderedHumanInputPrompt, parseRuntimeCredentialSessionCredential, parseRuntimeNetwork, parseServerExecutionErrorEnvelope, parseSingleToolGrantBody, parseSingleToolRuntimeCredentialBody, parseStepRecordBody, parseStepRecordData, parseToolHandlerBundlesData, parseTriggerFileRuntimeDispatch, parseTriggerHandlerBundlesData, parseWebhookDelivery, parseWebhookDeliveryDispatchData, parseWebhookPublishEventsBody, parseWebhookRearmBody, parseWebhookRuntimeCredentialBody, parseWebhookTriggerGrantBody, parseWebhookWatcherContext, parseWorkflowDispatchRestartRequest, parseWorkflowDispatchRestartResponse, pollingTriggerContextPath, pollingTriggerEgressGrantPath, pollingTriggerHandlerBundlesPath, pollingTriggerRuntimeCredentialPath, pollingTriggerTickEventsPath, registerEventWaitPath, requestHasMultipartFileParts, stepResultPath, toolHandlerBundlesPath, toolInvocationEgressGrantPath, toolInvocationRuntimeCredentialPath, webhookProtocolAdapterBundlePath, webhookTriggerContextPath, webhookTriggerDeliveryPath, webhookTriggerEgressGrantPath, webhookTriggerEventsPath, webhookTriggerHandlerBundlesPath, webhookTriggerRearmPath, webhookTriggerRuntimeCredentialPath, wfpUserRuntimeManifestPath };
|
|
967
|
+
export { COMPLETE_EVENT_WAIT_ROUTE_SUBPATH, CONTEXT_STATE_CLEANUP_ROUTE_PATH, type CompleteFlowRunWaitBody, type CompleteFlowRunWaitData, type ContextStateCleanupRequestBody, type ContextStateCleanupResponseData, type ContextStateScope, type CreateHumanInputRequestBody, DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES, DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES, DEPLOYMENT_HANDSHAKE_ROUTE, DISCOVERY_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH, DISCOVERY_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, type DeploymentHandshakeData, type DeploymentHandshakeRequestBody, type DeploymentHandshakeResponse, type DirectActionExecutionBinding, type DiscoveryDispatchBody, type DiscoveryEgressGrantBinding, type DiscoveryExecutionBinding, type DiscoveryGrantBody, type DiscoveryInvokeRequest, type DiscoveryRuntimeCredentialBinding, EGRESS_GRANT_AUDIT_ROUTE_SUBPATH, EGRESS_GRANT_CONSUME_ROUTE_SUBPATH, EGRESS_GRANT_SCOPE_KINDS, EXECUTION_CONTEXT_ROUTE_SUBPATH, type EgressGrant, type EgressGrantAuditBody, type EgressGrantBodyParseResult, type EgressGrantConsumeBody, type EgressGrantCredentialMaterial, type EgressGrantFileRuntime, type EgressGrantScopeKind, type ExecutionBinding, type ExecutionBindingConnection, type ExecutionContextCompiled, type ExecutionContextData, ExecutionLease, FILE_ACCESS_ROUTE_SUBPATH, FILE_COMPLETE_ROUTE_SUBPATH, FILE_CONTENT_ROUTE_SUBPATH, FILE_STAT_ROUTE_SUBPATH, FILE_UPLOAD_SESSION_ROUTE_SUBPATH, FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH, FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH, FLOW_RUN_RESULT_ROUTE_SUBPATH, FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, type FileMetadataData, type FileRefData, type FileRuntimeLimits, type FileRuntimeScope, type FileRuntimeScopeKind, type FileUploadSessionData, type FlowActionGrantBody, type FlowExecutionContextFileRuntime, type FlowRunExecutionEventBody, type FlowRunExecutionEventData, type FlowRunInputFactBody, type FlowRunResultData, type FlowRunResultRequestBody, type FlowRuntimeCredentialBody, type FlowWaitResolvedEvent, HANDLER_BUNDLES_ROUTE_SUBPATH, HANDSHAKE_CAPABILITY_MISSING, HANDSHAKE_CONTRACT_VERSION_MISMATCH, HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH, HANDSHAKE_REQUEST_INVALID, HANDSHAKE_SECRET_MISMATCH, HANDSHAKE_SECRET_UNCONFIGURED, HUMAN_INPUTS_ROUTE_SUBPATH, HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH, HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH, HUMAN_INPUT_PROMPT_BODY_MAX_CODE_POINTS, HUMAN_INPUT_PROMPT_TITLE_MAX_CODE_POINTS, HUMAN_INPUT_REQUEST_ROUTE_SUBPATH, HUMAN_INPUT_RESOLVED_EVENT_PREFIX, type HandlerBundle, type HandlerBundleModule, type HandlerBundlesData, type HandlerBundlesParseResult, type HumanInputActor, type HumanInputOutput, type HumanInputRequestView, type HumanInputResolvedEvent, type HumanInputResponse, INTERNAL_DISCOVERY_INVOCATIONS_ROUTE_PREFIX, INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX, INTERNAL_FILES_ROUTE_PREFIX, INTERNAL_FLOW_RUNS_ROUTE_PREFIX, INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX, INTERNAL_INSTALLATIONS_ROUTE_PREFIX, INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX, INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX, INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX, type IntegrationDiscoverySubject, type InternalFileAccessData, type InternalFileAccessIntent, POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH, POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH, POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH, POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH, type PackageInputDiscoveryDescriptor, type PackageInputDiscoveryKind, type PackagePollingTriggerRuntimeDescriptor, type PackageTriggerFileOutput, type PackageWebhookTriggerRuntimeDescriptor, type ParsedFlowRunResultBody, type PartiallyRenderedHumanInputDelivery, type PartiallyRenderedMapping, type PartiallyRenderedTemplatePart, type PartiallyRenderedValue, type PollingPublishBody, type PollingPublishEvent, type PollingRuntimeCredentialBody, type PollingTriggerContext, type PollingTriggerDispatchData, type PollingTriggerGrantBody, type PresignedFileUrlData, type PublishPollingTickEventResult, type PublishPollingTickEventsData, REGISTER_EVENT_WAIT_ROUTE_SUBPATH, RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS, RUNTIME_REPORTED_EXECUTION_EVENT_TYPES, type RegisterFlowRunWaitBody, type RegisterFlowRunWaitData, type RenderedHumanInputPrompt, type RuntimeCredentialSession, type RuntimeCredentialSessionNetwork, type RuntimeCredentialSessionScopeKind, type RuntimeNetwork, type RuntimeNetworkModel, type RuntimeReportedExecutionEventType, SERVER_EXECUTION_CONTRACT_VERSION, STEP_RESULT_ROUTE_SUBPATH, type SanitizedToolDescriptor, type ServerExecutionContractVersion, type ServerExecutionError, type ServerExecutionErrorEnvelope, type ServerTransformedActionExecutionBinding, type SingleToolGrantBody, type StepRecordBody, type StepRecordBodyParseResult, type StepRecordData, type StepRecordResult, TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH, TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH, TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, type ToolHandlerBundlesData, type TriggerConnectionInfo, type TriggerFileRuntimeDispatch, type TriggerHandlerBundlesData, type TriggerHandlerModule, WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH, WEBHOOK_PROTOCOL_ADAPTER_MODULE, WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH, WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH, WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH, WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH, WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH, WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH, WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION, WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION, type WebhookDelivery, type WebhookDeliveryDispatchData, type WebhookProtocolAdapterBundleData, type WebhookProtocolAdapterModule, type WebhookPublishEvent, type WebhookPublishEventsBody, type WebhookPublishEventsData, type WebhookRearmBody, type WebhookRearmData, type WebhookRuntimeCredentialBody, type WebhookTriggerGrantBody, type WebhookTriggerVerificationMethod, type WebhookWatcherContext, type WfpUserRuntimeManifest, WorkflowExecutionGeneration, completeEventWaitPath, deploymentHandshakeProbePayload, deploymentHandshakeResponseProofPayload, discoveryInvocationEgressGrantPath, discoveryInvocationRuntimeCredentialPath, egressGrantAuditPath, egressGrantConsumePath, executionContextPath, flowRunEgressGrantPath, flowRunExecutionEventsPath, flowRunResultPath, flowRunRuntimeCredentialPath, flowScriptProtocolAdapterModuleName, handlerBundlesPath, humanInputAcknowledgePath, humanInputExpirePath, humanInputRequestPath, humanInputResolvedEventType, humanInputsPath, internalFileAccessPath, internalFileCompletePath, internalFileContentPath, internalFileStatPath, internalFileUploadSessionPath, internalFilesPath, isValidRequestDigest, parseCompleteFlowRunWaitBody, parseCompleteFlowRunWaitData, parseContextStateCleanupRequestBody, parseContextStateCleanupResponseData, parseContextStateScope, parseCreateHumanInputBody, parseDiscoveryGrantBody, parseDiscoveryRuntimeCredentialBody, parseEgressGrantAuditBody, parseEgressGrantConsumeBody, parseEgressGrantConsumeData, parseEgressGrantData, parseExecutionContextData, parseFileMetadataData, parseFileRefData, parseFileRuntimeLimits, parseFileUploadSessionData, parseFlowActionGrantBody, parseFlowRunExecutionEventBody, parseFlowRunExecutionEventData, parseFlowRunResultBody, parseFlowRunResultData, parseFlowRuntimeCredentialBody, parseFlowWaitResolvedEvent, parseHandlerBundle, parseHandlerBundlesData, parseHumanInputAcknowledgeData, parseHumanInputCreateData, parseHumanInputRequestViewData, parseHumanInputResolvedEvent, parseHumanInputResponse, parseHumanInputResponseForSpec, parseHumanInputSpec, parseInternalFileAccessData, parsePollingPublishBody, parsePollingRuntimeCredentialBody, parsePollingTriggerContext, parsePollingTriggerDispatchData, parsePollingTriggerGrantBody, parsePublishPollingTickEventsData, parseRegisterFlowRunWaitBody, parseRegisterFlowRunWaitData, parseRenderedHumanInputPrompt, parseRuntimeCredentialSessionCredential, parseRuntimeNetwork, parseServerExecutionErrorEnvelope, parseSingleToolGrantBody, parseSingleToolRuntimeCredentialBody, parseStepRecordBody, parseStepRecordData, parseToolHandlerBundlesData, parseTriggerFileRuntimeDispatch, parseTriggerHandlerBundlesData, parseWebhookDelivery, parseWebhookDeliveryDispatchData, parseWebhookPublishEventsBody, parseWebhookRearmBody, parseWebhookRuntimeCredentialBody, parseWebhookTriggerGrantBody, parseWebhookWatcherContext, pollingTriggerContextPath, pollingTriggerEgressGrantPath, pollingTriggerHandlerBundlesPath, pollingTriggerRuntimeCredentialPath, pollingTriggerTickEventsPath, registerEventWaitPath, requestHasMultipartFileParts, stepResultPath, toolHandlerBundlesPath, toolInvocationEgressGrantPath, toolInvocationRuntimeCredentialPath, webhookProtocolAdapterBundlePath, webhookTriggerContextPath, webhookTriggerDeliveryPath, webhookTriggerEgressGrantPath, webhookTriggerEventsPath, webhookTriggerHandlerBundlesPath, webhookTriggerRearmPath, webhookTriggerRuntimeCredentialPath, wfpUserRuntimeManifestPath };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var Re="0.4.1";function u(e){return{ok:!0,value:e}}function r(e){return{ok:!1,reason:e}}function s(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var wt="/cleanup-state-scopes";function x(e){if(!s(e)||typeof e.kind!="string")return r("context state scope surface shape is invalid");switch(e.kind){case"webhook-trigger":return Ie(e);case"polling-trigger":return ye(e);case"flow-action":return Ee(e);default:return r("context state scope kind is invalid")}}function Tt(e){if(!s(e))return r("cleanup request body must be a JSON object");let t=L(e,["scopes"]);if(t!==void 0)return r(`cleanup request does not accept the "${t}" field`);if(!Array.isArray(e.scopes))return r("cleanup request scopes must be an array");let n=[];for(let o of e.scopes){let i=x(o);if(!i.ok)return i;n.push(i.value)}return u({scopes:n})}function St(e){return!s(e)||typeof e.deleted!="number"||!Number.isSafeInteger(e.deleted)||e.deleted<0?r("cleanup response data surface shape is invalid"):u({deleted:e.deleted})}function Ie(e){let t=L(e,["kind","workspaceId","triggerInstanceId"]);return t!==void 0?r(`webhook trigger scope does not accept "${t}"`):e.kind!=="webhook-trigger"||!_(e.workspaceId)||!_(e.triggerInstanceId)?r("webhook trigger state scope is invalid"):u({kind:"webhook-trigger",workspaceId:e.workspaceId,triggerInstanceId:e.triggerInstanceId})}function ye(e){let t=L(e,["kind","workspaceId","pollingInstanceId"]);return t!==void 0?r(`polling trigger scope does not accept "${t}"`):e.kind!=="polling-trigger"||!_(e.workspaceId)||!_(e.pollingInstanceId)?r("polling trigger state scope is invalid"):u({kind:"polling-trigger",workspaceId:e.workspaceId,pollingInstanceId:e.pollingInstanceId})}function Ee(e){let t=L(e,["kind","workspaceId","flowId","nodeId","connectionId"]);if(t!==void 0)return r(`flow action scope does not accept "${t}"`);let n=e.connectionId;return e.kind!=="flow-action"||!_(e.workspaceId)||!_(e.flowId)||!_(e.nodeId)||n!==null&&!_(n)?r("flow action state scope is invalid"):u({kind:"flow-action",workspaceId:e.workspaceId,flowId:e.flowId,nodeId:e.nodeId,connectionId:n})}function _(e){return typeof e=="string"&&e.length>0}function L(e,t){return Object.keys(e).find(n=>!t.includes(n))}import{parseFlowDefinition as ke}from"@ablehi/flow-contract";var g="/internal/flow-runs",Ot="/:flowRunId/execution-context";function Ct(e){return`${g}/${encodeURIComponent(e)}/execution-context`}function W(e){return!s(e)||!B(e.fileMaxBytes)||!B(e.fileReadMaxBytes)||!B(e.inlineMultipartBytesMax)?r("file runtime limits must carry three positive integer bounds"):u({fileMaxBytes:e.fileMaxBytes,fileReadMaxBytes:e.fileReadMaxBytes,inlineMultipartBytesMax:e.inlineMultipartBytesMax})}function vt(e){if(!s(e))return r("execution context must be a JSON object");let t=$(e,["flowRunId","workspaceId","input","executionGeneration","compiled","executionBindings","fileRuntime"]);if(t!==void 0)return r(`execution context does not accept the "${t}" field`);let n=e.compiled;if(typeof e.flowRunId!="string"||typeof e.workspaceId!="string"||!s(e.input)||!s(n)||$(n,["irSchemaVersion","interpreterContractVersion","ir","compiledArtifactId"])!==void 0||typeof n.irSchemaVersion!="string"||typeof n.interpreterContractVersion!="string"||typeof n.compiledArtifactId!="string"||!he(e.executionBindings))return r("execution context surface shape is invalid");let o=ke(n.ir);if(!o.ok)return r(o.reason);let i=_e(e.executionGeneration,e.flowRunId);if(!i.ok)return r(i.reason);let a=xe(e.fileRuntime);return a.ok?u({...e,compiled:{...n,ir:o.value},executionGeneration:i.value,fileRuntime:a.value}):r(a.reason)}function _e(e,t){return!s(e)||$(e,["id","flowRunId","number"])!==void 0||typeof e.id!="string"||e.id.length===0||typeof e.flowRunId!="string"||e.flowRunId!==t||!B(e.number)?r("executionGeneration surface shape is invalid"):u({id:e.id,flowRunId:e.flowRunId,number:e.number})}function xe(e){if(e===null)return u(null);if(!s(e))return r("fileRuntime must be null or an object");let t=W(e.limits);return t.ok?u({limits:t.value}):r(t.reason)}function he(e){return Array.isArray(e)?e.every(t=>{if(!s(t))return!1;let n=t.connection,o=x(t.stateScope);return typeof t.nodeId=="string"&&typeof t.toolRef=="string"&&s(t.toolDescriptor)&&s(t.integrationDescriptor)&&s(n)&&typeof n.installationId=="string"&&typeof n.connectionRef=="string"&&typeof n.connectionId=="string"&&typeof n.authProfileRef=="string"&&typeof n.authType=="string"&&o.ok}):!1}function B(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function $(e,t){return Object.keys(e).find(n=>!t.includes(n))}var Bt="/:flowRunId/execution-leases",Ft="/restart",Ht="WORKFLOW_RESTART_REQUEST_INVALID",Mt="WORKFLOW_RESTART_INSTANCE_UNAVAILABLE",Gt="WORKFLOW_RESTART_REJECTED",$t="RUN_DISPATCH_UNAVAILABLE",Wt="EXECUTION_LEASE_INVALID",Kt="EXECUTION_LEASE_SUPERSEDED",qt="WAIT_EXECUTION_SUPERSEDED",Vt="HUMAN_INPUT_CANCELLED_BY_RESET";function jt(e){return`${g}/${encodeURIComponent(e)}/execution-leases`}var we=/^generation:[A-Za-z0-9][A-Za-z0-9._:-]{0,239}$/;function Z(e){return s(e)?e.kind==="terminal"&&k(e,["kind"])?u({kind:"terminal"}):e.kind==="node"&&k(e,["kind","nodeId"])&&y(e.nodeId)?u({kind:"node",nodeId:e.nodeId}):r("execution anchor shape is invalid"):r("execution anchor must be an object")}function E(e){if(!s(e)||!k(e,["flowRunId","generationId","generationNumber","anchor","leaseId"])||!y(e.flowRunId)||!y(e.generationId)||!Te(e.generationNumber)||!y(e.leaseId))return r("execution lease shape is invalid");let t=Z(e.anchor);return t.ok?u({flowRunId:e.flowRunId,generationId:e.generationId,generationNumber:e.generationNumber,anchor:t.value,leaseId:e.leaseId}):r(t.reason)}function Xt(e){if(!s(e)||!k(e,["anchor"]))return r("lease request shape is invalid");let t=Z(e.anchor);return t.ok?u({anchor:t.value}):r(t.reason)}function Jt(e){if(!s(e)||!k(e,["lease"]))return r("lease response shape is invalid");let t=E(e.lease);return t.ok?u({lease:t.value}):r(t.reason)}function Yt(e){return!s(e)||!k(e,["instanceId","flowRunId","commandId","generationId","from"])||!y(e.instanceId)||!y(e.flowRunId)||!y(e.commandId)||!y(e.generationId)||!s(e.from)||!k(e.from,["name","count","type"])||typeof e.from.name!="string"||!we.test(e.from.name)||e.from.name==="generation:terminal"||e.from.count!==1||e.from.type!=="do"?r("restart request shape is invalid"):u(e)}function zt(e){return!s(e)||!k(e,["ok","data"])||e.ok!==!0||!s(e.data)||!k(e.data,["accepted","instanceId","commandId","generationId"])||e.data.accepted!==!0||!y(e.data.instanceId)||!y(e.data.commandId)||!y(e.data.generationId)?r("restart response shape is invalid"):u(e)}function k(e,t){let n=Object.keys(e).sort(),o=[...t].sort();return n.length===o.length&&n.every((i,a)=>i===o[a])}function y(e){return typeof e=="string"&&e.length>0}function Te(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}import{parseAblehiErrorDigest as K}from"@ablehi/error-contract";var rn="/:flowRunId/steps/:nodeId/result",on="/:flowRunId/result",sn="/:flowRunId/execution-events",un="/:flowRunId/waits/:nodeId/register",an="/:flowRunId/waits/:nodeId/complete";function cn(e,t){return`${g}/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}/result`}function dn(e){return`${g}/${encodeURIComponent(e)}/result`}function pn(e){return`${g}/${encodeURIComponent(e)}/execution-events`}function ln(e,t){return`${g}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/register`}function fn(e,t){return`${g}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/complete`}function gn(e){if(!s(e))return{ok:!1,kind:"validation",reason:"step record body must be a JSON object"};let t=R(e,["executionLease","attempt","result","durationMs"]);if(t!==void 0)return{ok:!1,kind:"validation",reason:`step record does not accept the "${t}" field`};let n=E(e.executionLease);if(!n.ok)return{ok:!1,kind:"validation",reason:n.reason};let o=e.attempt;if(typeof o!="number"||!Number.isInteger(o)||o<=0)return{ok:!1,kind:"validation",reason:"attempt must be a positive integer"};let i=Se(e.result);if(!i.ok)return i;let a={executionLease:n.value,attempt:o,result:i.value};if(e.durationMs!==void 0){let c=e.durationMs;if(typeof c!="number"||!Number.isFinite(c)||c<0)return{ok:!1,kind:"validation",reason:"durationMs must be a non-negative number"};a.durationMs=c}return{ok:!0,value:a}}function Se(e){if(!s(e))return{ok:!1,kind:"step_result_invalid",reason:"result must be a JSON object"};let t=e.status;if(t==="succeeded"){let n=R(e,["status","output"]);return n!==void 0?{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`}:"output"in e?{ok:!0,value:{status:"succeeded",output:e.output}}:{ok:!1,kind:"step_result_invalid",reason:"a succeeded result must carry output"}}if(t==="failed"){let n=R(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=K(e.error);return o.ok?{ok:!0,value:{status:"failed",error:o.value}}:{ok:!1,kind:"step_result_invalid",reason:`a failed result must carry an AblehiErrorDigest: ${o.reason}`}}if(t==="skipped"){let n=R(e,["status","reason"]);return n!==void 0?{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`}:e.reason!=="run_if_false"?{ok:!1,kind:"step_result_invalid",reason:'a skipped result reason must be "run_if_false"'}:{ok:!0,value:{status:"skipped",reason:"run_if_false"}}}if(t==="timed_out"){let n=R(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=K(e.error);return o.ok?{ok:!0,value:{status:"timed_out",error:o.value}}:{ok:!1,kind:"step_result_invalid",reason:`a timed_out result must carry an AblehiErrorDigest: ${o.reason}`}}return{ok:!1,kind:"step_result_invalid",reason:'result status must be "succeeded", "failed", "skipped", or "timed_out"'}}function mn(e){return!s(e)||typeof e.flowRunId!="string"||typeof e.nodeId!="string"||!Ae(e.recorded)?r("step record data surface shape is invalid"):u({flowRunId:e.flowRunId,nodeId:e.nodeId,recorded:e.recorded})}function Ae(e){return e==="succeeded"||e==="failed"||e==="skipped"||e==="timed_out"}function Rn(e){if(!s(e))return r("result body must be a JSON object");let t=R(e,["executionLease","status","output","error"]);if(t!==void 0)return r(`result does not accept the "${t}" field`);let n=E(e.executionLease);if(!n.ok)return r(n.reason);let o=e.status;if(o!=="succeeded"&&o!=="failed")return r('result status must be "succeeded" or "failed"');let i={executionLease:n.value,status:o};if(e.output!==void 0){if(o!=="succeeded")return r("output is only allowed on a succeeded result");i.output=e.output}if(e.error!==void 0){if(o!=="failed")return r("error is only allowed on a failed result");let a=K(e.error);if(!a.ok)return r(`result error must be an AblehiErrorDigest: ${a.reason}`);i.error=a.value}return o==="failed"&&i.error===void 0?r("a failed result must carry an AblehiErrorDigest"):u(i)}function In(e){return s(e)?u(e):r("flow run result data must be a JSON object")}var Pe=["flow_run_started","step_started","step_retry_scheduled","wait_registered","wait_event_received","wait_event_timed_out","human_input_created","human_input_submitted","human_input_expired","flow_run_succeeded","flow_run_failed","flow_run_interrupted","flow_run_cancelled"];function yn(e){if(!s(e))return r("execution event data must be a JSON object");let t=R(e,["flowRunId","eventId","accepted"]);return t!==void 0?r(`execution event data does not accept the "${t}" field`):typeof e.flowRunId!="string"||e.flowRunId.length===0?r("flowRunId must be a non-empty string"):typeof e.eventId!="string"||e.eventId.length===0?r("eventId must be a non-empty string"):e.accepted!==!0?r("accepted must be true"):u({flowRunId:e.flowRunId,eventId:e.eventId,accepted:!0})}function En(e){if(!s(e))return r("execution event body must be a JSON object");let t=R(e,["executionLease","eventId","eventType","nodeId","stepRunId","attempt","durationMs","occurredAt","errorId","payloadRef","inputFact"]);if(t!==void 0)return r(`execution event does not accept the "${t}" field`);let n=E(e.executionLease);if(!n.ok)return r(n.reason);let o=e.eventId;if(typeof o!="string"||o.length===0)return r("eventId must be a non-empty string");let i=e.eventType;if(!be(i))return r("eventType is not a known flow execution event type");let a=e.occurredAt;if(typeof a!="string"||a.length===0)return r("occurredAt must be a non-empty string");let c={executionLease:n.value,eventId:o,eventType:i,occurredAt:a};for(let d of["nodeId","stepRunId","errorId","payloadRef"]){let l=e[d];if(l!==void 0){if(typeof l!="string"||l.length===0)return r(`${d} must be a non-empty string`);c[d]=l}}for(let d of["attempt","durationMs"]){let l=e[d];if(l!==void 0){if(typeof l!="number"||!Number.isFinite(l)||!Number.isInteger(l)||l<0)return r(`${d} must be a non-negative integer`);c[d]=l}}if(e.inputFact!==void 0){if(i!=="step_started")return r("inputFact is only allowed on step_started events");if(c.attempt===void 0)return r("inputFact requires attempt");let d=Ne(e.inputFact);if(!d.ok)return d;c.inputFact=d.value}return u(c)}function be(e){return typeof e=="string"&&Pe.includes(e)}function Ne(e){if(!s(e))return r("inputFact must be a JSON object");let t=R(e,["digestAlgorithm","digest","domain"]);if(t!==void 0)return r(`inputFact does not accept the "${t}" field`);if(e.digestAlgorithm!=="sha256")return r('inputFact.digestAlgorithm must be "sha256"');let n=e.digest;if(typeof n!="string"||!/^[0-9a-f]{64}$/.test(n))return r("inputFact.digest must be a sha256 hex string");let o=e.domain;if(!s(o))return r("inputFact.domain must be a JSON object");let i=R(o,["irSchemaVersion","interpreterContractVersion","compiledArtifactId","nodeId","algorithmVersion"]);return i!==void 0?r(`inputFact.domain does not accept the "${i}" field`):typeof o.irSchemaVersion!="string"||o.irSchemaVersion.length===0||typeof o.interpreterContractVersion!="string"||o.interpreterContractVersion.length===0||typeof o.compiledArtifactId!="string"||o.compiledArtifactId.length===0||typeof o.nodeId!="string"||o.nodeId.length===0?r("inputFact.domain string fields must be non-empty strings"):o.algorithmVersion!=="flow_input_digest.v1"?r('inputFact.domain.algorithmVersion must be "flow_input_digest.v1"'):u({digestAlgorithm:"sha256",digest:n,domain:{irSchemaVersion:o.irSchemaVersion,interpreterContractVersion:o.interpreterContractVersion,compiledArtifactId:o.compiledArtifactId,nodeId:o.nodeId,algorithmVersion:"flow_input_digest.v1"}})}var Oe=/^[A-Za-z0-9_-]{1,100}$/;function kn(e){if(!s(e))return r("register body must be a JSON object");let t=R(e,["executionLease","eventType","correlationKey"]);if(t!==void 0)return r(`register wait does not accept the "${t}" field`);let n=E(e.executionLease);if(!n.ok)return r(n.reason);let o=ee(e.eventType);if(!o.ok)return r(o.reason);let i=e.correlationKey;return typeof i!="string"||i.length===0?r("correlationKey must be a non-empty string"):u({executionLease:n.value,eventType:o.value,correlationKey:i})}function _n(e){if(!s(e))return r("complete body must be a JSON object");let t=R(e,["executionLease","waitExecutionId","outcome","eventId"]);if(t!==void 0)return r(`complete wait does not accept the "${t}" field`);let n=E(e.executionLease);if(!n.ok)return r(n.reason);let o=e.waitExecutionId;if(typeof o!="string"||o.length===0)return r("waitExecutionId must be a non-empty string");let i=e.outcome;if(i!=="received"&&i!=="timed_out")return r('outcome must be "received" or "timed_out"');let a={executionLease:n.value,waitExecutionId:o,outcome:i};if(e.eventId!==void 0){if(typeof e.eventId!="string"||e.eventId.length===0)return r("eventId must be a non-empty string");a.eventId=e.eventId}return u(a)}function xn(e){if(!s(e)||R(e,["waitExecutionId","workflowEventType"])!==void 0||typeof e.waitExecutionId!="string"||e.waitExecutionId.length===0)return r("register wait data surface shape is invalid");let t=ee(e.workflowEventType);return t.ok?u({waitExecutionId:e.waitExecutionId,workflowEventType:t.value}):r(t.reason)}function hn(e){return!s(e)||R(e,["completed"])!==void 0||e.completed!==!0?r("complete wait data surface shape is invalid"):u({completed:!0})}function wn(e){return!s(e)||R(e,["waitExecutionId","eventId","payload"])!==void 0||typeof e.waitExecutionId!="string"||e.waitExecutionId.length===0||typeof e.eventId!="string"||e.eventId.length===0||!Object.hasOwn(e,"payload")?r("Wait resolved event surface shape is invalid"):u({waitExecutionId:e.waitExecutionId,eventId:e.eventId,payload:e.payload})}function ee(e){return typeof e!="string"||e.length===0?r("eventType must be a non-empty string"):Oe.test(e)?u(e):r("eventType must match ^[A-Za-z0-9_-]{1,100}$")}function R(e,t){return Object.keys(e).find(n=>!t.includes(n))}var Ce="/internal/flow-versions",Sn="/:flowVersionId/handler-bundles",V="/internal/installations",An="/:installationId/handler-bundles";function Pn(e,t){return`${Ce}/${encodeURIComponent(e)}/handler-bundles?compiledArtifactId=${encodeURIComponent(t)}`}function bn(e){return`${V}/${encodeURIComponent(e.installationId)}/handler-bundles?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var ve=new Set(["managed_only","managed_plus_unmanaged_sdk"]);function F(e){if(!w(e))return q("runtimeNetwork must be a JSON object");let t=e.networkModel;return typeof t!="string"||!ve.has(t)?q("runtimeNetwork.networkModel is unknown"):!te(e.apiHosts)||!te(e.authHosts)||typeof e.httpsOnly!="boolean"?q("runtimeNetwork host/https fields are invalid"):{ok:!0,value:{networkModel:t,apiHosts:e.apiHosts,authHosts:e.authHosts,httpsOnly:e.httpsOnly}}}function Nn(e){if(!w(e)||typeof e.flowVersionId!="string"||typeof e.compiledArtifactId!="string"||!Array.isArray(e.bundles))return b("handler bundles data surface shape is invalid");let t=ne(e.bundles);return t.ok?{ok:!0,value:{flowVersionId:e.flowVersionId,compiledArtifactId:e.compiledArtifactId,bundles:t.value}}:t}function On(e){if(!w(e)||typeof e.installationId!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.bundles))return b("tool handler bundles data surface shape is invalid");let t=ne(e.bundles);return t.ok?{ok:!0,value:{installationId:e.installationId,artifactDigest:e.artifactDigest,bundles:t.value}}:t}function ne(e){let t=[];for(let n of e){let o=De(n);if(!o.ok)return o;t.push(o.value)}return{ok:!0,value:t}}function De(e){if(!w(e)||typeof e.toolRef!="string"||e.kind!=="handler"&&e.kind!=="request")return b("handler bundle entry shape is invalid");if(e.kind==="request"){if(e.module!==void 0)return b("a request bundle must not carry a module");let o=F(e.runtimeNetwork);return o.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"request",runtimeNetwork:o.value}}:o}let t=e.module;if(!w(t)||typeof t.entry!="string"||t.entry.length===0||!Ue(t.files))return b("a handler bundle must carry a { entry, files } module");let n=F(e.runtimeNetwork);return n.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"handler",module:{entry:t.entry,files:t.files},runtimeNetwork:n.value}}:n}function b(e){return{ok:!1,kind:"shape",reason:e}}function q(e){return{ok:!1,kind:"runtime_network",reason:e}}function w(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function te(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function Ue(e){return w(e)&&Object.values(e).every(t=>typeof t=="string")}var N="/internal/webhook-trigger-instances",Fn="/:triggerInstanceId/context",Hn="/:triggerInstanceId/handler-bundles",Mn="/:triggerInstanceId/deliveries/:deliveryId",Gn="/:triggerInstanceId/events",$n="/:triggerInstanceId/rearm",O=e=>`${N}/${encodeURIComponent(e)}`;function Wn(e,t){return`${O(e)}/context?artifactDigest=${encodeURIComponent(t)}`}function Kn(e,t){return`${O(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function qn(e,t){return`${O(e)}/deliveries/${encodeURIComponent(t)}`}function Vn(e){return`${O(e)}/events`}function jn(e){return`${O(e)}/rearm`}var Xn="/:installationId/webhook-protocol-adapter-bundle";function Jn(e){return`${V}/${encodeURIComponent(e.installationId)}/webhook-protocol-adapter-bundle?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var Yn="modules/webhook/protocol-adapter.js";function zn(e){return`modules/webhook/protocol-adapter-${e}.js`}function Qn(e){let t=s(e)?x(e.stateScope):r("webhook watcher context state scope is invalid");return!s(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!s(e.inputs)||e.connection!==null&&!Le(e.connection)||!Be(e.runtime)||!t.ok||t.value.kind!=="webhook-trigger"?r("webhook watcher context surface shape is invalid"):u(e)}function Le(e){return s(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function Be(e){if(!s(e)||e.type!=="webhook"||typeof e.trigger_ref!="string")return!1;let t=e.webhook;return s(t)&&typeof t.event_handler_module=="string"&&typeof t.enable_handler_module=="string"&&typeof t.disable_handler_module=="string"}function Fe(e){if(!s(e)||typeof e.deliveryId!="string"||typeof e.receivedAt!="string"||!s(e.request))return r("webhook delivery surface shape is invalid");let t=e.request;return t.method!=="POST"||!s(t.headers)||typeof t.rawBody!="string"?r("webhook delivery request shape is invalid"):u(e)}function j(e){if(!s(e)||typeof e.token!="string"||typeof e.expiresAt!="string")return r("trigger file runtime dispatch shape is invalid");let t=W(e.limits);return t.ok?u({token:e.token,expiresAt:e.expiresAt,limits:t.value}):r(t.reason)}function Zn(e){if(!s(e))return r("webhook delivery dispatch data is invalid");let t=Fe(e.delivery);if(!t.ok)return r(t.reason);let n=e.fileRuntime;if(n===null)return u({delivery:t.value,fileRuntime:null});let o=j(n);return o.ok?u({delivery:t.value,fileRuntime:o.value}):r(o.reason)}function er(e){if(!s(e)||typeof e.triggerRef!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.modules)||!e.modules.every(He))return{ok:!1,kind:"shape",reason:"trigger handler bundles data surface shape is invalid"};let t=F(e.runtimeNetwork);return t.ok?{ok:!0,value:{triggerRef:e.triggerRef,artifactDigest:e.artifactDigest,modules:e.modules,runtimeNetwork:t.value}}:t}function He(e){return s(e)&&typeof e.specifier=="string"&&e.specifier.length>0&&typeof e.source=="string"}function tr(e){if(!s(e))return r("publish events body must be a JSON object");let t=X(e,["deliveryId","events"]);if(t!==void 0)return r(`publish events does not accept the "${t}" field`);let n=e.deliveryId;if(typeof n!="string"||n.length===0)return r("deliveryId must be a non-empty string");let o=e.events;if(!Array.isArray(o))return r("events must be an array");let i=[];for(let a of o){let c=Me(a);if(!c.ok)return c;i.push(c.value)}return u({deliveryId:n,events:i})}function Me(e){if(!s(e))return r("each event must be a JSON object");let t=X(e,["eventId","occurredAt","dedupeKey","payload"]);if(t!==void 0)return r(`event does not accept the "${t}" field`);let n=e.eventId;if(typeof n!="string"||n.length===0)return r("eventId must be a non-empty string");let o=e.occurredAt;if(typeof o!="string"||o.length===0)return r("occurredAt must be a non-empty string");if(!s(e.payload))return r("event payload must be a JSON object");let i={eventId:n,occurredAt:o,payload:e.payload};if(e.dedupeKey!==void 0){if(typeof e.dedupeKey!="string"||e.dedupeKey.length===0)return r("dedupeKey must be a non-empty string");i.dedupeKey=e.dedupeKey}return u(i)}function nr(e){if(!s(e))return r("rearm body must be a JSON object");let t=X(e,["expectedWatcherInstanceId"]);if(t!==void 0)return r(`rearm does not accept the "${t}" field`);let n=e.expectedWatcherInstanceId;return typeof n!="string"||n.length===0?r("expectedWatcherInstanceId must be a non-empty string"):u({expectedWatcherInstanceId:n})}function X(e,t){return Object.keys(e).find(n=>!t.includes(n))}var C="/internal/polling-trigger-instances",ur="/:pollingInstanceId/context",ar="/:pollingInstanceId/handler-bundles",cr="/:pollingInstanceId/ticks/:tickId/events",J=e=>`${C}/${encodeURIComponent(e)}`;function dr(e,t,n){return`${J(e)}/context?artifactDigest=${encodeURIComponent(t)}&tickId=${encodeURIComponent(n)}`}function pr(e,t){return`${J(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function lr(e,t){return`${J(e)}/ticks/${encodeURIComponent(t)}/events`}function Ge(e){let t=s(e)?x(e.stateScope):r("polling trigger context state scope is invalid");return!s(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!s(e.inputs)||e.connection!==null&&!$e(e.connection)||!We(e.runtime)||!t.ok||t.value.kind!=="polling-trigger"||!qe(e.tick)||!Ve(e.limits)?r("polling trigger context surface shape is invalid"):u(e)}function fr(e){if(!s(e))return r("polling trigger dispatch data is invalid");let t=Ge(e.context);if(!t.ok)return r(t.reason);let n=e.fileRuntime;if(n===null)return u({context:t.value,fileRuntime:null});let o=j(n);return o.ok?u({context:t.value,fileRuntime:o.value}):r(o.reason)}function $e(e){return s(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function We(e){if(!s(e)||e.type!=="polling"||typeof e.trigger_id!="string"||typeof e.trigger_ref!="string"||!Ke(e.file_outputs))return!1;let t=e.polling;if(!s(t)||typeof t.run_handler_module!="string")return!1;let n=t.schedule;if(!s(n)||n.type!=="interval"||typeof n.every_seconds!="number")return!1;let o=t.dedup;return s(o)&&(o.strategy==="cursor"||o.strategy==="hash"||o.strategy==="id_field")}function Ke(e){return e===void 0?!0:Array.isArray(e)&&e.length>0&&e.every(t=>s(t)&&typeof t.field=="string"&&t.field.length>0)}function qe(e){return s(e)&&typeof e.tickId=="string"&&typeof e.scheduledAt=="string"&&typeof e.attempt=="number"}function Ve(e){return s(e)&&typeof e.maxEventsPerTick=="number"}function gr(e){if(!s(e))return r("publish body must be a JSON object");let t=re(e,["events","nextCursor"]);if(t!==void 0)return r(`publish does not accept the "${t}" field`);let n=e.events;if(!Array.isArray(n))return r("events must be an array");let o=[];for(let a of n){let c=je(a);if(!c.ok)return c;o.push(c.value)}let i={events:o};if("nextCursor"in e){let a=e.nextCursor;if(a!==null&&typeof a!="string")return r("nextCursor must be a string, null, or omitted");i.nextCursor=a}return u(i)}function je(e){if(!s(e))return r("each event must be a JSON object");let t=re(e,["eventId","occurredAt","dedupeKey","payload"]);if(t!==void 0)return r(`event does not accept the "${t}" field`);if(typeof e.eventId!="string"||e.eventId.length===0)return r("event eventId must be a non-empty string");if(!s(e.payload))return r("event payload must be a JSON object");let n={eventId:e.eventId,payload:e.payload};if(e.occurredAt!==void 0){if(typeof e.occurredAt!="string"||e.occurredAt.length===0)return r("event occurredAt must be a non-empty string");n.occurredAt=e.occurredAt}if(e.dedupeKey!==void 0){if(typeof e.dedupeKey!="string"||e.dedupeKey.length===0)return r("event dedupeKey must be a non-empty string");n.dedupeKey=e.dedupeKey}return u(n)}function mr(e){return!s(e)||typeof e.tickId!="string"||typeof e.cursorUpdated!="boolean"||!Array.isArray(e.results)||!e.results.every(Xe)?r("publish polling tick events data surface shape is invalid"):u(e)}function Xe(e){return s(e)&&typeof e.eventId=="string"&&typeof e.dedupeKey=="string"&&typeof e.duplicate=="boolean"&&(e.flowRunId===null||typeof e.flowRunId=="string")}function re(e,t){return Object.keys(e).find(n=>!t.includes(n))}var oe="/internal/egress-grants",Y="/internal/tool-invocations",z="/internal/discovery-invocations",_r="/:flowRunId/egress-grant",xr="/:invocationId/egress-grant",hr="/:discoveryInvocationId/egress-grant",wr="/:pollingInstanceId/egress-grant",Tr="/:triggerInstanceId/egress-grant",Sr="/:grantId/consume",Ar="/:grantId/audit",Pr=e=>`${g}/${encodeURIComponent(e)}/egress-grant`,br=e=>`${Y}/${encodeURIComponent(e)}/egress-grant`,Nr=e=>`${z}/${encodeURIComponent(e)}/egress-grant`,Or=e=>`${C}/${encodeURIComponent(e)}/egress-grant`,Cr=e=>`${N}/${encodeURIComponent(e)}/egress-grant`,vr=e=>`${oe}/${encodeURIComponent(e)}/consume`,Dr=e=>`${oe}/${encodeURIComponent(e)}/audit`,Je=["flow_action","single_tool","discovery","polling_trigger","webhook_trigger"],Ye=/^[A-Za-z0-9][A-Za-z0-9:_+/=.-]{15,1023}$/;function T(e){return typeof e=="string"&&Ye.test(e)}function ze(e){if(!s(e)||e.body_type!=="multipart")return!1;let t=e.body;if(!s(t))return!1;let n=t.parts;return Array.isArray(n)?n.some(o=>s(o)?o.kind==="file"&&typeof o.file_id=="string"&&o.file_id.length>0:!1):!1}function p(e){return{ok:!1,kind:"shape",reason:e}}function S(){return{ok:!1,kind:"request_digest",reason:"request digest is missing or malformed"}}function v(e,t){if(!s(e))return{ok:!1,reason:"grant request body must be a JSON object"};for(let n of Object.keys(e))if(!t.includes(n))return{ok:!1,reason:`grant request does not accept the "${n}" field`};return{ok:!0,record:e}}function D(e){if(!s(e))return"request must be a JSON object"}function Ur(e){let t=v(e,["nodeId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.nodeId;if(typeof n!="string"||n.length===0)return p("nodeId is required");let o=D(t.record.request);if(o!==void 0)return p(o);let i=t.record.requestDigest;return T(i)?{ok:!0,value:{nodeId:n,requestDigest:i,requestHasMultipartFiles:ze(t.record.request)}}:S()}function Lr(e){let t=v(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=D(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return T(o)?{ok:!0,value:{requestDigest:o}}:S()}function Br(e){let t=v(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=D(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return T(o)?{ok:!0,value:{requestDigest:o}}:S()}function Fr(e){let t=v(e,["tickId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.tickId;if(typeof n!="string"||n.length===0)return p("tickId is required");let o=D(t.record.request);if(o!==void 0)return p(o);let i=t.record.requestDigest;return T(i)?{ok:!0,value:{tickId:n,requestDigest:i}}:S()}function Hr(e){let t=v(e,["phase","lifecycle","deliveryId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.phase;if(n!=="lifecycle"&&n!=="handler")return p('phase must be "lifecycle" or "handler"');let o=t.record.lifecycle,i;if(o!==void 0){if(o!=="enable"&&o!=="disable"&&o!=="renew")return p('lifecycle must be "enable", "disable", or "renew"');i=o}if(n==="lifecycle"&&i===void 0)return p("lifecycle is required for the lifecycle phase");let a=t.record.deliveryId,c;if(a!==void 0){if(typeof a!="string"||a.length===0)return p("deliveryId must be a non-empty string");c=a}if(n==="handler"&&c===void 0)return p("deliveryId is required for the handler phase");let d=D(t.record.request);if(d!==void 0)return p(d);let l=t.record.requestDigest;return T(l)?{ok:!0,value:{phase:n,...i!==void 0?{lifecycle:i}:{},...c!==void 0?{deliveryId:c}:{},requestDigest:l}}:S()}function ie(e){return Je.includes(e)?e:void 0}var Qe=["scopeKind","scopeId","requestDigest"];function Mr(e){if(!s(e))return p("consume body must be a JSON object");for(let i of Object.keys(e))if(!Qe.includes(i))return p(`consume does not accept the "${i}" field`);let t=ie(e.scopeKind);if(t===void 0)return p("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return p("scopeId is required");let o=e.requestDigest;return T(o)?{ok:!0,value:{scopeKind:t,scopeId:n,requestDigest:o}}:S()}var Ze=["scopeKind","scopeId","providerHost","status","durationMs","requestBytes","responseBytes","errorCode"];function H(e,t){return typeof e!="number"||!Number.isInteger(e)||e<0?{ok:!1,reason:`${t} must be a non-negative integer`}:{ok:!0,value:e}}function Gr(e){if(!s(e))return p("audit body must be a JSON object");for(let f of Object.keys(e))if(!Ze.includes(f))return p(`audit does not accept the "${f}" field`);let t=ie(e.scopeKind);if(t===void 0)return p("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return p("scopeId is required");let o=e.providerHost;if(typeof o!="string"||o.length===0)return p("providerHost is required");let i=H(e.durationMs,"durationMs");if(!i.ok)return p(i.reason);let a;if(e.status!==void 0){let f=H(e.status,"status");if(!f.ok)return p(f.reason);a=f.value}let c;if(e.requestBytes!==void 0){let f=H(e.requestBytes,"requestBytes");if(!f.ok)return p(f.reason);c=f.value}let d;if(e.responseBytes!==void 0){let f=H(e.responseBytes,"responseBytes");if(!f.ok)return p(f.reason);d=f.value}let l;if(e.errorCode!==void 0){let f=e.errorCode;if(typeof f!="string"||f.length===0)return p("errorCode must be a non-empty string");l=f}return{ok:!0,value:{scopeKind:t,scopeId:n,providerHost:o,...a!==void 0?{status:a}:{},durationMs:i.value,...c!==void 0?{requestBytes:c}:{},...d!==void 0?{responseBytes:d}:{},...l!==void 0?{errorCode:l}:{}}}}function $r(e){return!s(e)||!s(e.grant)?r("egress grant envelope must carry a grant object"):u(e.grant)}function Wr(e){return!s(e)||e.consumed!==!0?r("egress grant consume data must carry consumed:true"):u({consumed:!0})}var Yr="/:flowRunId/runtime-credential",zr="/:invocationId/runtime-credential",Qr="/:discoveryInvocationId/runtime-credential",Zr="/:pollingInstanceId/runtime-credential",eo="/:triggerInstanceId/runtime-credential",to=e=>`${g}/${encodeURIComponent(e)}/runtime-credential`,no=e=>`${Y}/${encodeURIComponent(e)}/runtime-credential`,ro=e=>`${z}/${encodeURIComponent(e)}/runtime-credential`,oo=e=>`${C}/${encodeURIComponent(e)}/runtime-credential`,io=e=>`${N}/${encodeURIComponent(e)}/runtime-credential`,so=["flow_action","tool_invoke","discovery","polling_trigger","webhook_trigger"];function U(e,t){if(!s(e))return{ok:!1,reason:"runtime credential request body must be a JSON object"};for(let n of Object.keys(e))if(!t.includes(n))return{ok:!1,reason:`runtime credential request does not accept the "${n}" field`};return{ok:!0,record:e}}function uo(e){let t=U(e,["nodeId"]);if(!t.ok)return r(t.reason);let n=t.record.nodeId;return typeof n!="string"||n.length===0?r("nodeId is required"):u({nodeId:n})}function ao(e){let t=U(e??{},[]);return t.ok?u(null):r(t.reason)}function co(e){let t=U(e??{},[]);return t.ok?u(null):r(t.reason)}function po(e){let t=U(e,["tickId"]);if(!t.ok)return r(t.reason);let n=t.record.tickId;return typeof n!="string"||n.length===0?r("tickId is required"):u({tickId:n})}function lo(e){let t=U(e,["executionKind","deliveryId","lifecycleOperation"]);if(!t.ok)return r(t.reason);let n=t.record.executionKind;if(n!=="event_handler"&&n!=="lifecycle")return r('executionKind must be "event_handler" or "lifecycle"');let o,i=t.record.deliveryId;if(i!==void 0){if(typeof i!="string"||i.length===0)return r("deliveryId must be a non-empty string");o=i}let a,c=t.record.lifecycleOperation;if(c!==void 0){if(c!=="enable"&&c!=="disable"&&c!=="renew")return r('lifecycleOperation must be "enable", "disable", or "renew"');a=c}return n==="lifecycle"&&a===void 0?r("lifecycleOperation is required for the lifecycle execution kind"):u({executionKind:n,...o!==void 0?{deliveryId:o}:{},...a!==void 0?{lifecycleOperation:a}:{}})}function fo(e){return!s(e)||typeof e.sessionId!="string"||typeof e.connectionId!="string"||typeof e.authProfileRef!="string"||typeof e.authType!="string"||!s(e.credential)?r("runtime credential session must carry sessionId, connectionId, auth profile facts and a credential object"):u(e.credential)}function M(e){return!s(e)||typeof e.file_id!="string"||typeof e.name!="string"||typeof e.size_bytes!="number"||typeof e.created_at!="string"||typeof e.expires_at!="string"||e.mime_type!==void 0&&typeof e.mime_type!="string"||e.sha256!==void 0&&typeof e.sha256!="string"||e.source!==void 0&&typeof e.source!="string"?r("file ref data does not match the AIS file-ref shape"):u(e)}function Q(e){return!s(e)||e.method!=="GET"&&e.method!=="PUT"||typeof e.url!="string"||typeof e.expires_at!="string"||!nt(e.headers)?r("presigned file URL data is invalid"):u(e)}function et(e){if(!s(e))return r("file upload session data is invalid");let t=M(e.file);if(!t.ok)return r(t.reason);let n=Q(e.upload);return n.ok?u({file:t.value,upload:n.value}):r(n.reason)}function tt(e){if(!s(e))return r("file metadata data is invalid");let t=M(e.file);return t.ok?u({file:t.value}):r(t.reason)}function nt(e){return s(e)?Object.values(e).every(t=>typeof t=="string"):!1}var A="/internal/files",Eo="/upload-session",ko="/:fileId/complete",_o="/:fileId/access",xo="/:fileId/stat",ho="/:fileId/content",wo=()=>A,To=()=>`${A}/upload-session`,So=e=>`${A}/${encodeURIComponent(e)}/complete`,Ao=(e,t)=>`${A}/${encodeURIComponent(e)}/access?intent=${encodeURIComponent(t)}`,se=e=>`?scope_kind=${encodeURIComponent(e.scopeKind)}&scope_id=${encodeURIComponent(e.scopeId)}`,Po=(e,t)=>`${A}/${encodeURIComponent(e)}/stat${se(t)}`,bo=(e,t)=>`${A}/${encodeURIComponent(e)}/content${se(t)}`;function No(e){if(!s(e))return r("internal file access data is invalid");if(e.intent==="runtime_read"||e.intent==="provider_multipart"){let t=M(e.file);if(!t.ok)return r(t.reason);let n=Q(e.access);return n.ok?u({file:t.value,access:n.value,intent:e.intent}):r(n.reason)}return r("internal file access intent is invalid")}import{isHumanInputSpec as rt}from"@ablehi/flow-contract";var Lo="/:flowRunId/human-inputs",Bo="/:flowRunId/human-inputs/:requestId",Fo="/:flowRunId/human-inputs/:requestId/expire",Ho="/:flowRunId/human-inputs/:requestId/acknowledge",ot=e=>`${g}/${encodeURIComponent(e)}/human-inputs`,de=(e,t)=>`${ot(e)}/${encodeURIComponent(t)}`,Mo=(e,t)=>`${de(e,t)}/expire`,Go=(e,t)=>`${de(e,t)}/acknowledge`,it="human_input_resolved";function $o(e){return`${it}_${e}`}function Wo(e){return!s(e)||Object.keys(e).length!==4||!Object.hasOwn(e,"requestId")||!Object.hasOwn(e,"flowRunId")||!Object.hasOwn(e,"nodeId")||!Object.hasOwn(e,"status")||typeof e.requestId!="string"||e.requestId.length===0||typeof e.flowRunId!="string"||e.flowRunId.length===0||typeof e.nodeId!="string"||e.nodeId.length===0||e.status!=="submitted"&&e.status!=="expired"?r("Human Input resolved event shape is invalid"):u({requestId:e.requestId,flowRunId:e.flowRunId,nodeId:e.nodeId,status:e.status})}var ue=160,ae=500;function st(e){return s(e)?e.kind==="choice"?!G(e,["kind","choiceId","comment"])||typeof e.choiceId!="string"||e.choiceId.length===0||e.comment!==void 0&&typeof e.comment!="string"?r("Human Input choice response is invalid"):u({kind:"choice",choiceId:e.choiceId,...e.comment!==void 0?{comment:e.comment}:{}}):e.kind==="text"&&G(e,["kind","text"])&&typeof e.text=="string"?u({kind:"text",text:e.text}):e.kind==="form"&&G(e,["kind","values"])&&s(e.values)?u({kind:"form",values:e.values}):r("Human Input response is invalid"):r("Human Input response must be an object")}function Ko(e,t){let n=st(e);if(!n.ok||n.value.kind!==t.kind)return r("Human Input response does not match its input spec");switch(t.kind){case"choice":{let o=n.value;return o.kind!=="choice"?r("Human Input choice response does not match its spec"):!t.choices.some(i=>i.id===o.choiceId)||o.comment!==void 0&&t.allowComment!==!0?r("Human Input choice response does not match its spec"):n}case"text":return n.value.kind!=="text"||t.required===!0&&n.value.text.trim().length===0?r("Human Input text response does not match its spec"):n;case"form":{if(n.value.kind!=="form")return r("Human Input form response does not match its spec");let o=new Map(t.fields.map(i=>[i.id,i]));if(Object.keys(n.value.values).some(i=>!o.has(i)))return r("Human Input form response contains an unknown field");for(let i of t.fields){let a=n.value.values[i.id];if(!Object.hasOwn(n.value.values,i.id)){if(i.required===!0)return r(`Human Input form response is missing required field '${i.id}'`);continue}if(a==null||!ut(i,a))return r(`Human Input form response field '${i.id}' does not match its spec`)}return n}}}function ut(e,t){switch(e.type){case"text":case"textarea":return typeof t=="string";case"number":return typeof t=="number"&&Number.isFinite(t);case"boolean":return typeof t=="boolean";case"select":return typeof t=="string"&&(e.options??[]).some(n=>n.id===t)}}function m(e){return{ok:!1,reason:e}}function h(e,t){return s(e)?{ok:!0,value:e}:m(`${t} must be an object`)}function G(e,t){return Object.keys(e).every(n=>t.includes(n))}function P(e,t){return typeof e!="string"||e.length===0?m(`${t} must be a non-empty string`):{ok:!0,value:e}}var at=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;function ct(e,t){return typeof e!="string"||!at.test(e)||Number.isNaN(Date.parse(e))?m(`${t} must be an ISO-8601 timestamp`):{ok:!0,value:e}}function pe(e){let t=h(e,"renderedPrompt");if(!t.ok)return t;if(!G(t.value,["title","body","format"]))return m("renderedPrompt contains an unknown field");let n=P(t.value.title,"renderedPrompt.title");if(!n.ok)return n;if(!/[^\p{White_Space}]/u.test(n.value))return m("renderedPrompt.title must contain non-whitespace text");if(!ce(n.value,ue))return m(`renderedPrompt.title must contain at most ${ue} code points`);let o={title:n.value};if(t.value.body!==void 0){if(typeof t.value.body!="string")return m("renderedPrompt.body must be a string");if(!ce(t.value.body,ae))return m(`renderedPrompt.body must contain at most ${ae} code points`);o.body=t.value.body}if(t.value.format!==void 0){if(t.value.format!=="plain"&&t.value.format!=="markdown")return m("renderedPrompt.format is invalid");o.format=t.value.format}return{ok:!0,value:o}}function ce(e,t){let n=0,o=e[Symbol.iterator]();for(;!o.next().done;)if(n+=1,n>t)return!1;return!0}function qo(e){let t=pe(e);return t.ok?u(t.value):r(t.reason)}function dt(e){try{return rt(e)?u(e):r("Human Input spec shape is invalid")}catch{return r("Human Input spec shape is invalid")}}function pt(e){let t=dt(e);return t.ok?t:m(t.reason)}function lt(e){if(e==null)return{ok:!0,value:void 0};let t=h(e,"partiallyRenderedDelivery");if(!t.ok)return t;let n=t.value.actions;if(n===void 0)return{ok:!0,value:{}};if(!Array.isArray(n))return m("partiallyRenderedDelivery.actions must be an array");let o=[];for(let i of n){let a=h(i,"delivery action");if(!a.ok)return a;let c=P(a.value.id,"delivery action id");if(!c.ok)return c;let d=le(a.value.inputs,`delivery action '${c.value}' inputs`);if(!d.ok)return d;o.push({id:c.value,inputs:d.value})}return{ok:!0,value:{actions:o}}}function le(e,t){let n=h(e,t);if(!n.ok)return n;let o={};for(let[i,a]of Object.entries(n.value)){let c=fe(a,`${t}.${i}`);if(!c.ok)return c;o[i]=c.value}return{ok:!0,value:o}}function fe(e,t){let n=h(e,t);if(!n.ok)return n;switch(n.value.kind){case"literal":return{ok:!0,value:{kind:"literal",value:n.value.value}};case"human_input_ref":{let i=P(n.value.path,`${t}.path`);return i.ok?{ok:!0,value:{kind:"human_input_ref",path:i.value}}:i}case"array":{if(!Array.isArray(n.value.items))return m(`${t}.items must be an array`);let i=[];for(let[a,c]of n.value.items.entries()){let d=fe(c,`${t}[${a}]`);if(!d.ok)return d;i.push(d.value)}return{ok:!0,value:{kind:"array",items:i}}}case"object":{let i=le(n.value.entries,`${t}.entries`);return i.ok?{ok:!0,value:{kind:"object",entries:i.value}}:i}case"template":{if(!Array.isArray(n.value.parts))return m(`${t}.parts must be an array`);let i=[];for(let[a,c]of n.value.parts.entries()){let d=ft(c,`${t}.parts[${a}]`);if(!d.ok)return d;i.push(d.value)}return{ok:!0,value:{kind:"template",parts:i}}}default:return m(`${t}.kind is invalid`)}}function ft(e,t){let n=h(e,t);if(!n.ok)return n;let o=n.value.kind;if(o==="literal")return typeof n.value.value!="string"?m(`${t}.value must be a string`):{ok:!0,value:{kind:"literal",value:n.value.value}};if(o==="human_input_ref"){let i=P(n.value.path,`${t}.path`);return i.ok?{ok:!0,value:{kind:"human_input_ref",path:i.value}}:i}return m(`${t}.kind is invalid`)}function Vo(e){let t=h(e,"request body");if(!t.ok)return r(t.reason);let n=Object.keys(t.value).find(me=>!["executionLease","nodeId","renderedPrompt","input","partiallyRenderedDelivery","timeout","expiresAt"].includes(me));if(n!==void 0)return r(`human input body does not accept the "${n}" field`);let o=E(t.value.executionLease);if(!o.ok)return r(o.reason);let i=P(t.value.nodeId,"nodeId");if(!i.ok)return r(i.reason);let a=pe(t.value.renderedPrompt);if(!a.ok)return r(a.reason);let c=pt(t.value.input);if(!c.ok)return r(c.reason);let d=P(t.value.timeout,"timeout");if(!d.ok)return r(d.reason);let l=ct(t.value.expiresAt,"expiresAt");if(!l.ok)return r(l.reason);let f=lt(t.value.partiallyRenderedDelivery);return f.ok?u({executionLease:o.value,nodeId:i.value,renderedPrompt:a.value,input:c.value,timeout:d.value,expiresAt:l.value,...f.value!==void 0?{partiallyRenderedDelivery:f.value}:{}}):r(f.reason)}function gt(e){return!s(e)||typeof e.id!="string"||e.id.length===0||typeof e.nodeId!="string"||typeof e.status!="string"||!(e.output===null||s(e.output))?r("human input request view must carry id, nodeId, status and output"):u(e)}function jo(e){if(!s(e)||typeof e.created!="boolean")return r("human input create data must carry created:boolean");let t=gt(e.request);return t.ok?u({created:e.created,request:t.value}):t}function Xo(e){return!s(e)||e.acknowledged!==!0?r("human input acknowledge data must carry acknowledged:true"):u({acknowledged:!0})}var Yo="ablehi-wfp-user-runtime-manifest/v1",zo="unknown";function Qo(e){return e.endsWith(".js")?`${e.slice(0,-3)}.manifest.json`:`${e}.manifest.json`}var ei="/internal/deployment-handshake",mt=["start","terminate","send-event","start-webhook-watcher","run-polling-tick","invoke-tool","invoke-discovery","invoke-trigger-handler","invoke-webhook-protocol-adapter","deployment-handshake"],ti=mt,ni="HANDSHAKE_REQUEST_INVALID",ri="HANDSHAKE_SECRET_UNCONFIGURED",oi="HANDSHAKE_SECRET_MISMATCH",ii="HANDSHAKE_CONTRACT_VERSION_MISMATCH",si="HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH",ui="HANDSHAKE_CAPABILITY_MISSING";function ai(e){return[e.nonce,e.timestamp,e.contractVersion,e.dispatchNamespace].map(n=>`${n.length}:${n}`).join(".")}function ci(e){return["response",e.nonce,e.contractVersion,e.dispatchNamespace,...e.capabilities].map(n=>`${n.length}:${n}`).join(".")}function li(e){if(!s(e)||e.ok!==!1||!s(e.error))return r("Server execution error envelope is invalid");let t=Object.keys(e).find(i=>i!=="ok"&&i!=="error"&&i!=="guidance"),n=e.error,o=Object.keys(n).find(i=>i!=="code"&&i!=="message"&&i!=="retryable"&&i!=="issues"&&i!=="details");return t!==void 0||o!==void 0||typeof n.code!="string"||n.code.length===0||typeof n.message!="string"||typeof n.retryable!="boolean"||n.issues!==void 0&&!Array.isArray(n.issues)||n.details!==void 0&&!s(n.details)?r("Server execution error must carry code, message, and boolean retryable"):u(e)}import{lookupErrorRegistryEntry as Rt}from"@ablehi/error-contract";var yi="/:flowRunId/inbox-message-emissions/:nodeId";function Ei(e,t){return`${g}/${encodeURIComponent(e)}/inbox-message-emissions/${encodeURIComponent(t)}`}function I(e){let t=Rt(e);if(t.code!==e)throw new Error(`Inbox message execution error code is not registered: ${e}`);return t.retryable}var ki=kt({INBOX_MESSAGE_IDEMPOTENCY_KEY_INVALID:{httpStatus:422,retryable:I("INBOX_MESSAGE_IDEMPOTENCY_KEY_INVALID")},INBOX_MESSAGE_PAYLOAD_INVALID:{httpStatus:422,retryable:I("INBOX_MESSAGE_PAYLOAD_INVALID")},INBOX_MESSAGE_PAYLOAD_TOO_LARGE:{httpStatus:413,retryable:I("INBOX_MESSAGE_PAYLOAD_TOO_LARGE")},INBOX_MESSAGE_RENDER_INVALID:{httpStatus:422,retryable:I("INBOX_MESSAGE_RENDER_INVALID")},INBOX_MESSAGE_CONTENT_TOO_LARGE:{httpStatus:413,retryable:I("INBOX_MESSAGE_CONTENT_TOO_LARGE")},INBOX_MESSAGE_ATTACHMENT_INVALID:{httpStatus:422,retryable:I("INBOX_MESSAGE_ATTACHMENT_INVALID")},INBOX_MESSAGE_ATTACHMENT_UNAVAILABLE:{httpStatus:409,retryable:I("INBOX_MESSAGE_ATTACHMENT_UNAVAILABLE")},FLOW_INBOX_MESSAGE_INVALID:{httpStatus:422,retryable:I("FLOW_INBOX_MESSAGE_INVALID")},EXECUTION_LEASE_INVALID:{httpStatus:409,retryable:I("EXECUTION_LEASE_INVALID")},EXECUTION_LEASE_SUPERSEDED:{httpStatus:409,retryable:I("EXECUTION_LEASE_SUPERSEDED")},INBOX_MESSAGE_EMISSION_WINDOW_CLOSED:{httpStatus:409,retryable:I("INBOX_MESSAGE_EMISSION_WINDOW_CLOSED")},INBOX_MESSAGE_EMISSION_CONFLICT:{httpStatus:409,retryable:I("INBOX_MESSAGE_EMISSION_CONFLICT")},INBOX_MESSAGE_EMISSION_UNAVAILABLE:{httpStatus:503,retryable:I("INBOX_MESSAGE_EMISSION_UNAVAILABLE")}});function _i(e){if(!s(e)||!ge(e,["executionLease","idempotencyKey","payload"])||typeof e.idempotencyKey!="string"||!It(e.payload))return r("Inbox message Emission request shape is invalid");let t=E(e.executionLease);return t.ok?u({executionLease:t.value,idempotencyKey:e.idempotencyKey,payload:e.payload}):r(t.reason)}function xi(e){return!s(e)||!ge(e,["emissionId","outcome","occurredAt"])||typeof e.emissionId!="string"||e.emissionId.length===0||e.outcome!=="created"&&e.outcome!=="replayed"||typeof e.occurredAt!="string"||e.occurredAt.length===0?r("Inbox message Emission response shape is invalid"):u(e)}function ge(e,t){let n=Object.keys(e).sort(),o=[...t].sort();return n.length===o.length&&n.every((i,a)=>i===o[a])}function It(e){return s(e)&&yt(e)}function yt(e){let n=new WeakSet,o=[{value:e}],i=0;for(;o.length>0;){let a=o.pop();if(a.exiting){n.delete(a.value);continue}let c=a.value;if(c===null||typeof c=="string"||typeof c=="boolean"||typeof c=="number"&&Number.isFinite(c))continue;if(typeof c!="object"||n.has(c)||(i+=1,i>1e5))return!1;let d=Array.isArray(c)?c:s(c)&&Et(c)?Object.values(c):void 0;if(d===void 0)return!1;n.add(c),o.push({value:c,exiting:!0});for(let l=d.length-1;l>=0;l-=1)o.push({value:d[l]})}return!0}function Et(e){let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function kt(e){for(let t of Object.values(e))Object.freeze(t);return Object.freeze(e)}export{an as COMPLETE_EVENT_WAIT_ROUTE_SUBPATH,wt as CONTEXT_STATE_CLEANUP_ROUTE_PATH,mt as DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES,ti as DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES,ei as DEPLOYMENT_HANDSHAKE_ROUTE,hr as DISCOVERY_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,Qr as DISCOVERY_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Ar as EGRESS_GRANT_AUDIT_ROUTE_SUBPATH,Sr as EGRESS_GRANT_CONSUME_ROUTE_SUBPATH,Je as EGRESS_GRANT_SCOPE_KINDS,Ot as EXECUTION_CONTEXT_ROUTE_SUBPATH,Wt as EXECUTION_LEASE_INVALID,Bt as EXECUTION_LEASE_ROUTE_SUBPATH,Kt as EXECUTION_LEASE_SUPERSEDED,_o as FILE_ACCESS_ROUTE_SUBPATH,ko as FILE_COMPLETE_ROUTE_SUBPATH,ho as FILE_CONTENT_ROUTE_SUBPATH,xo as FILE_STAT_ROUTE_SUBPATH,Eo as FILE_UPLOAD_SESSION_ROUTE_SUBPATH,_r as FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH,sn as FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH,Pe as FLOW_RUN_EXECUTION_EVENT_TYPES,on as FLOW_RUN_RESULT_ROUTE_SUBPATH,Yr as FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Sn as HANDLER_BUNDLES_ROUTE_SUBPATH,ui as HANDSHAKE_CAPABILITY_MISSING,ii as HANDSHAKE_CONTRACT_VERSION_MISMATCH,si as HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH,ni as HANDSHAKE_REQUEST_INVALID,oi as HANDSHAKE_SECRET_MISMATCH,ri as HANDSHAKE_SECRET_UNCONFIGURED,Lo as HUMAN_INPUTS_ROUTE_SUBPATH,Ho as HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH,Vt as HUMAN_INPUT_CANCELLED_BY_RESET,Fo as HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH,ae as HUMAN_INPUT_PROMPT_BODY_MAX_CODE_POINTS,ue as HUMAN_INPUT_PROMPT_TITLE_MAX_CODE_POINTS,Bo as HUMAN_INPUT_REQUEST_ROUTE_SUBPATH,it as HUMAN_INPUT_RESOLVED_EVENT_PREFIX,yi as INBOX_MESSAGE_EMISSION_ROUTE_SUBPATH,ki as INBOX_MESSAGE_EXECUTION_ERROR_REGISTRY,z as INTERNAL_DISCOVERY_INVOCATIONS_ROUTE_PREFIX,oe as INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX,A as INTERNAL_FILES_ROUTE_PREFIX,g as INTERNAL_FLOW_RUNS_ROUTE_PREFIX,Ce as INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX,V as INTERNAL_INSTALLATIONS_ROUTE_PREFIX,C as INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX,Y as INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX,N as INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX,ur as POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH,wr as POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,ar as POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,Zr as POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,cr as POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH,un as REGISTER_EVENT_WAIT_ROUTE_SUBPATH,so as RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS,$t as RUN_DISPATCH_UNAVAILABLE,Re as SERVER_EXECUTION_CONTRACT_VERSION,rn as STEP_RESULT_ROUTE_SUBPATH,An as TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH,xr as TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,zr as TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,qt as WAIT_EXECUTION_SUPERSEDED,Xn as WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH,Yn as WEBHOOK_PROTOCOL_ADAPTER_MODULE,Fn as WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH,Mn as WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH,Tr as WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,Gn as WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH,Hn as WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,$n as WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH,eo as WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Yo as WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION,zo as WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION,Mt as WORKFLOW_RESTART_INSTANCE_UNAVAILABLE,Gt as WORKFLOW_RESTART_REJECTED,Ht as WORKFLOW_RESTART_REQUEST_INVALID,Ft as WORKFLOW_RESTART_ROUTE,jt as acquireExecutionLeasePath,fn as completeEventWaitPath,ai as deploymentHandshakeProbePayload,ci as deploymentHandshakeResponseProofPayload,Nr as discoveryInvocationEgressGrantPath,ro as discoveryInvocationRuntimeCredentialPath,Dr as egressGrantAuditPath,vr as egressGrantConsumePath,Ct as executionContextPath,Pr as flowRunEgressGrantPath,pn as flowRunExecutionEventsPath,dn as flowRunResultPath,to as flowRunRuntimeCredentialPath,zn as flowScriptProtocolAdapterModuleName,Pn as handlerBundlesPath,Go as humanInputAcknowledgePath,Mo as humanInputExpirePath,de as humanInputRequestPath,$o as humanInputResolvedEventType,ot as humanInputsPath,Ei as inboxMessageEmissionPath,Ao as internalFileAccessPath,So as internalFileCompletePath,bo as internalFileContentPath,Po as internalFileStatPath,To as internalFileUploadSessionPath,wo as internalFilesPath,T as isValidRequestDigest,Jt as parseAcquireExecutionLeaseData,Xt as parseAcquireExecutionLeaseRequest,_n as parseCompleteFlowRunWaitBody,hn as parseCompleteFlowRunWaitData,Tt as parseContextStateCleanupRequestBody,St as parseContextStateCleanupResponseData,x as parseContextStateScope,Vo as parseCreateHumanInputBody,Br as parseDiscoveryGrantBody,co as parseDiscoveryRuntimeCredentialBody,Gr as parseEgressGrantAuditBody,Mr as parseEgressGrantConsumeBody,Wr as parseEgressGrantConsumeData,$r as parseEgressGrantData,xi as parseEmitInboxMessageData,_i as parseEmitInboxMessageRequest,Z as parseExecutionAnchor,vt as parseExecutionContextData,E as parseExecutionLease,tt as parseFileMetadataData,M as parseFileRefData,W as parseFileRuntimeLimits,et as parseFileUploadSessionData,Ur as parseFlowActionGrantBody,En as parseFlowRunExecutionEventBody,yn as parseFlowRunExecutionEventData,Rn as parseFlowRunResultBody,In as parseFlowRunResultData,uo as parseFlowRuntimeCredentialBody,wn as parseFlowWaitResolvedEvent,De as parseHandlerBundle,Nn as parseHandlerBundlesData,Xo as parseHumanInputAcknowledgeData,jo as parseHumanInputCreateData,gt as parseHumanInputRequestViewData,Wo as parseHumanInputResolvedEvent,st as parseHumanInputResponse,Ko as parseHumanInputResponseForSpec,dt as parseHumanInputSpec,No as parseInternalFileAccessData,gr as parsePollingPublishBody,po as parsePollingRuntimeCredentialBody,Ge as parsePollingTriggerContext,fr as parsePollingTriggerDispatchData,Fr as parsePollingTriggerGrantBody,mr as parsePublishPollingTickEventsData,kn as parseRegisterFlowRunWaitBody,xn as parseRegisterFlowRunWaitData,qo as parseRenderedHumanInputPrompt,fo as parseRuntimeCredentialSessionCredential,F as parseRuntimeNetwork,li as parseServerExecutionErrorEnvelope,Lr as parseSingleToolGrantBody,ao as parseSingleToolRuntimeCredentialBody,gn as parseStepRecordBody,mn as parseStepRecordData,On as parseToolHandlerBundlesData,j as parseTriggerFileRuntimeDispatch,er as parseTriggerHandlerBundlesData,Fe as parseWebhookDelivery,Zn as parseWebhookDeliveryDispatchData,tr as parseWebhookPublishEventsBody,nr as parseWebhookRearmBody,lo as parseWebhookRuntimeCredentialBody,Hr as parseWebhookTriggerGrantBody,Qn as parseWebhookWatcherContext,Yt as parseWorkflowDispatchRestartRequest,zt as parseWorkflowDispatchRestartResponse,dr as pollingTriggerContextPath,Or as pollingTriggerEgressGrantPath,pr as pollingTriggerHandlerBundlesPath,oo as pollingTriggerRuntimeCredentialPath,lr as pollingTriggerTickEventsPath,ln as registerEventWaitPath,ze as requestHasMultipartFileParts,cn as stepResultPath,bn as toolHandlerBundlesPath,br as toolInvocationEgressGrantPath,no as toolInvocationRuntimeCredentialPath,Jn as webhookProtocolAdapterBundlePath,Wn as webhookTriggerContextPath,qn as webhookTriggerDeliveryPath,Cr as webhookTriggerEgressGrantPath,Vn as webhookTriggerEventsPath,Kn as webhookTriggerHandlerBundlesPath,jn as webhookTriggerRearmPath,io as webhookTriggerRuntimeCredentialPath,Qo as wfpUserRuntimeManifestPath};
|
|
1
|
+
var Fe="0.5.0";function u(e){return{ok:!0,value:e}}function r(e){return{ok:!1,reason:e}}function s(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var sn="/cleanup-state-scopes";function b(e){if(!s(e)||typeof e.kind!="string")return r("context state scope surface shape is invalid");switch(e.kind){case"webhook-trigger":return He(e);case"polling-trigger":return Le(e);case"flow-action":return $e(e);default:return r("context state scope kind is invalid")}}function an(e){if(!s(e))return r("cleanup request body must be a JSON object");let t=V(e,["scopes"]);if(t!==void 0)return r(`cleanup request does not accept the "${t}" field`);if(!Array.isArray(e.scopes))return r("cleanup request scopes must be an array");let n=[];for(let o of e.scopes){let i=b(o);if(!i.ok)return i;n.push(i.value)}return u({scopes:n})}function un(e){return!s(e)||typeof e.deleted!="number"||!Number.isSafeInteger(e.deleted)||e.deleted<0?r("cleanup response data surface shape is invalid"):u({deleted:e.deleted})}function He(e){let t=V(e,["kind","workspaceId","triggerInstanceId"]);return t!==void 0?r(`webhook trigger scope does not accept "${t}"`):e.kind!=="webhook-trigger"||!w(e.workspaceId)||!w(e.triggerInstanceId)?r("webhook trigger state scope is invalid"):u({kind:"webhook-trigger",workspaceId:e.workspaceId,triggerInstanceId:e.triggerInstanceId})}function Le(e){let t=V(e,["kind","workspaceId","pollingInstanceId"]);return t!==void 0?r(`polling trigger scope does not accept "${t}"`):e.kind!=="polling-trigger"||!w(e.workspaceId)||!w(e.pollingInstanceId)?r("polling trigger state scope is invalid"):u({kind:"polling-trigger",workspaceId:e.workspaceId,pollingInstanceId:e.pollingInstanceId})}function $e(e){let t=V(e,["kind","workspaceId","flowId","nodeId","connectionId"]);if(t!==void 0)return r(`flow action scope does not accept "${t}"`);let n=e.connectionId;return e.kind!=="flow-action"||!w(e.workspaceId)||!w(e.flowId)||!w(e.nodeId)||n!==null&&!w(n)?r("flow action state scope is invalid"):u({kind:"flow-action",workspaceId:e.workspaceId,flowId:e.flowId,nodeId:e.nodeId,connectionId:n})}function w(e){return typeof e=="string"&&e.length>0}function V(e,t){return Object.keys(e).find(n=>!t.includes(n))}import{FLOW_INTERPRETER_CONTRACT_VERSION as Me,FLOW_IR_SCHEMA_VERSION as We,parseFlowDefinition as Ge}from"@ablehi/flow-contract";var R="/internal/flow-runs",fn="/:flowRunId/execution-context";function gn(e){return`${R}/${encodeURIComponent(e)}/execution-context`}function ne(e){return!s(e)||_(e,["fileMaxBytes","fileReadMaxBytes","inlineMultipartBytesMax"])!==void 0||!j(e.fileMaxBytes)||!j(e.fileReadMaxBytes)||!j(e.inlineMultipartBytesMax)?r("file runtime limits must carry three positive integer bounds"):u({fileMaxBytes:e.fileMaxBytes,fileReadMaxBytes:e.fileReadMaxBytes,inlineMultipartBytesMax:e.inlineMultipartBytesMax})}function mn(e){if(!s(e))return r("execution context must be a JSON object");let t=_(e,["flowRunId","workspaceId","input","executionGeneration","compiled","executionBindings","fileRuntime"]);if(t!==void 0)return r(`execution context does not accept the "${t}" field`);let n=e.compiled;if(typeof e.flowRunId!="string"||typeof e.workspaceId!="string"||!s(e.input)||!s(n)||_(n,["irSchemaVersion","interpreterContractVersion","ir","compiledArtifactId"])!==void 0||n.irSchemaVersion!==We||n.interpreterContractVersion!==Me||typeof n.compiledArtifactId!="string"||!Ve(e.executionBindings))return r("execution context surface shape is invalid");let o=Ge(n.ir);if(!o.ok)return r(o.reason);let i=Ke(e.executionGeneration,e.flowRunId);if(!i.ok)return r(i.reason);let c=qe(e.fileRuntime);return c.ok?u({...e,compiled:{...n,ir:o.value},executionGeneration:i.value,fileRuntime:c.value}):r(c.reason)}function Ke(e,t){return!s(e)||_(e,["id","flowRunId","number"])!==void 0||typeof e.id!="string"||e.id.length===0||typeof e.flowRunId!="string"||e.flowRunId!==t||!j(e.number)?r("executionGeneration surface shape is invalid"):u({id:e.id,flowRunId:e.flowRunId,number:e.number})}function qe(e){if(e===null)return u(null);if(!s(e))return r("fileRuntime must be null or an object");if(_(e,["limits"])!==void 0)return r("fileRuntime surface shape is invalid");let t=ne(e.limits);return t.ok?u({limits:t.value}):r(t.reason)}function Ve(e){return Array.isArray(e)?e.every(t=>{if(!s(t)||!b(t.stateScope).ok||!x(t.nodeId))return!1;if(t.executionKind==="direct")return _(t,["executionKind","nodeId","stateScope","toolRef","toolDescriptor","integrationDescriptor","connection"])===void 0&&x(t.toolRef)&&s(t.toolDescriptor)&&s(t.integrationDescriptor)&&Re(t.toolDescriptor,t.connection);if(t.executionKind!=="server_transformed")return!1;let o=t.realAction;return _(t,["executionKind","nodeId","stateScope","canonicalToolRef","serverTransformRef","serverTransformContractDigest","realAction"])===void 0&&x(t.canonicalToolRef)&&x(t.serverTransformRef)&&Je(t.serverTransformContractDigest)&&s(o)&&_(o,["toolRef","toolDescriptor","integrationDescriptor","connection"])===void 0&&x(o.toolRef)&&s(o.toolDescriptor)&&s(o.integrationDescriptor)&&Re(o.toolDescriptor,o.connection)}):!1}function Re(e,t){return e.auth_required===!1?t===null:e.auth_required===!0&&je(t)}function je(e){return s(e)&&_(e,["installationId","connectionRef","connectionId","authProfileRef","authType","connectionConfig"])===void 0&&x(e.installationId)&&x(e.connectionRef)&&x(e.connectionId)&&x(e.authProfileRef)&&x(e.authType)&&(e.connectionConfig===void 0||s(e.connectionConfig))}function Je(e){return typeof e=="string"&&/^[0-9a-f]{64}$/.test(e)}function x(e){return typeof e=="string"&&e.length>0}function j(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function _(e,t){return Object.keys(e).find(n=>!t.includes(n))}var kn="/:flowRunId/execution-leases",xn="/restart",En="WORKFLOW_RESTART_REQUEST_INVALID",_n="WORKFLOW_RESTART_INSTANCE_UNAVAILABLE",hn="WORKFLOW_RESTART_REJECTED",wn="RUN_DISPATCH_UNAVAILABLE",Tn="EXECUTION_LEASE_INVALID",bn="EXECUTION_LEASE_SUPERSEDED",Sn="WAIT_EXECUTION_SUPERSEDED",Pn="HUMAN_INPUT_CANCELLED_BY_RESET";function An(e){return`${R}/${encodeURIComponent(e)}/execution-leases`}var Xe=/^generation:[A-Za-z0-9][A-Za-z0-9._:-]{0,239}$/;function Ie(e){return s(e)?e.kind==="terminal"&&h(e,["kind"])?u({kind:"terminal"}):e.kind==="node"&&h(e,["kind","nodeId"])&&y(e.nodeId)?u({kind:"node",nodeId:e.nodeId}):r("execution anchor shape is invalid"):r("execution anchor must be an object")}function k(e){if(!s(e)||!h(e,["flowRunId","generationId","generationNumber","anchor","leaseId"])||!y(e.flowRunId)||!y(e.generationId)||!Ye(e.generationNumber)||!y(e.leaseId))return r("execution lease shape is invalid");let t=Ie(e.anchor);return t.ok?u({flowRunId:e.flowRunId,generationId:e.generationId,generationNumber:e.generationNumber,anchor:t.value,leaseId:e.leaseId}):r(t.reason)}function Cn(e){if(!s(e)||!h(e,["anchor"]))return r("lease request shape is invalid");let t=Ie(e.anchor);return t.ok?u({anchor:t.value}):r(t.reason)}function Nn(e){if(!s(e)||!h(e,["lease"]))return r("lease response shape is invalid");let t=k(e.lease);return t.ok?u({lease:t.value}):r(t.reason)}function On(e){return!s(e)||!h(e,["instanceId","flowRunId","commandId","generationId","from"])||!y(e.instanceId)||!y(e.flowRunId)||!y(e.commandId)||!y(e.generationId)||!s(e.from)||!h(e.from,["name","count","type"])||typeof e.from.name!="string"||!Xe.test(e.from.name)||e.from.name==="generation:terminal"||e.from.count!==1||e.from.type!=="do"?r("restart request shape is invalid"):u(e)}function Dn(e){return!s(e)||!h(e,["ok","data"])||e.ok!==!0||!s(e.data)||!h(e.data,["accepted","instanceId","commandId","generationId"])||e.data.accepted!==!0||!y(e.data.instanceId)||!y(e.data.commandId)||!y(e.data.generationId)?r("restart response shape is invalid"):u(e)}function h(e,t){let n=Object.keys(e).sort(),o=[...t].sort();return n.length===o.length&&n.every((i,c)=>i===o[c])}function y(e){return typeof e=="string"&&e.length>0}function Ye(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}import{parseAblehiErrorDigest as re}from"@ablehi/error-contract";var Ln="/:flowRunId/steps/:nodeId/result",$n="/:flowRunId/result",Mn="/:flowRunId/execution-events",Wn="/:flowRunId/waits/:nodeId/register",Gn="/:flowRunId/waits/:nodeId/complete";function Kn(e,t){return`${R}/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}/result`}function qn(e){return`${R}/${encodeURIComponent(e)}/result`}function Vn(e){return`${R}/${encodeURIComponent(e)}/execution-events`}function jn(e,t){return`${R}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/register`}function Jn(e,t){return`${R}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/complete`}function Xn(e){if(!s(e))return{ok:!1,kind:"validation",reason:"step record body must be a JSON object"};let t=I(e,["executionLease","attempt","result","durationMs"]);if(t!==void 0)return{ok:!1,kind:"validation",reason:`step record does not accept the "${t}" field`};let n=k(e.executionLease);if(!n.ok)return{ok:!1,kind:"validation",reason:n.reason};let o=e.attempt;if(typeof o!="number"||!Number.isInteger(o)||o<=0)return{ok:!1,kind:"validation",reason:"attempt must be a positive integer"};let i=ze(e.result);if(!i.ok)return i;let c={executionLease:n.value,attempt:o,result:i.value};if(e.durationMs!==void 0){let a=e.durationMs;if(typeof a!="number"||!Number.isFinite(a)||a<0)return{ok:!1,kind:"validation",reason:"durationMs must be a non-negative number"};c.durationMs=a}return{ok:!0,value:c}}function ze(e){if(!s(e))return{ok:!1,kind:"step_result_invalid",reason:"result must be a JSON object"};let t=e.status;if(t==="succeeded"){let n=I(e,["status","output"]);return n!==void 0?{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`}:"output"in e?{ok:!0,value:{status:"succeeded",output:e.output}}:{ok:!1,kind:"step_result_invalid",reason:"a succeeded result must carry output"}}if(t==="failed"){let n=I(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=re(e.error);return o.ok?{ok:!0,value:{status:"failed",error:o.value}}:{ok:!1,kind:"step_result_invalid",reason:`a failed result must carry an AblehiErrorDigest: ${o.reason}`}}if(t==="skipped"){let n=I(e,["status","reason"]);return n!==void 0?{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`}:e.reason!=="run_if_false"?{ok:!1,kind:"step_result_invalid",reason:'a skipped result reason must be "run_if_false"'}:{ok:!0,value:{status:"skipped",reason:"run_if_false"}}}if(t==="timed_out"){let n=I(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=re(e.error);return o.ok?{ok:!0,value:{status:"timed_out",error:o.value}}:{ok:!1,kind:"step_result_invalid",reason:`a timed_out result must carry an AblehiErrorDigest: ${o.reason}`}}return{ok:!1,kind:"step_result_invalid",reason:'result status must be "succeeded", "failed", "skipped", or "timed_out"'}}function Yn(e){return!s(e)||typeof e.flowRunId!="string"||typeof e.nodeId!="string"||!Qe(e.recorded)?r("step record data surface shape is invalid"):u({flowRunId:e.flowRunId,nodeId:e.nodeId,recorded:e.recorded})}function Qe(e){return e==="succeeded"||e==="failed"||e==="skipped"||e==="timed_out"}function zn(e){if(!s(e))return r("result body must be a JSON object");let t=I(e,["executionLease","status","output","error"]);if(t!==void 0)return r(`result does not accept the "${t}" field`);let n=k(e.executionLease);if(!n.ok)return r(n.reason);let o=e.status;if(o!=="succeeded"&&o!=="failed")return r('result status must be "succeeded" or "failed"');let i={executionLease:n.value,status:o};if(e.output!==void 0){if(o!=="succeeded")return r("output is only allowed on a succeeded result");i.output=e.output}if(e.error!==void 0){if(o!=="failed")return r("error is only allowed on a failed result");let c=re(e.error);if(!c.ok)return r(`result error must be an AblehiErrorDigest: ${c.reason}`);i.error=c.value}return o==="failed"&&i.error===void 0?r("a failed result must carry an AblehiErrorDigest"):u(i)}function Qn(e){return s(e)?u(e):r("flow run result data must be a JSON object")}var Ze=["step_started","step_retry_scheduled"];function Zn(e){if(!s(e))return r("execution event data must be a JSON object");let t=I(e,["flowRunId","eventId","accepted"]);return t!==void 0?r(`execution event data does not accept the "${t}" field`):typeof e.flowRunId!="string"||e.flowRunId.length===0?r("flowRunId must be a non-empty string"):typeof e.eventId!="string"||e.eventId.length===0?r("eventId must be a non-empty string"):e.accepted!==!0?r("accepted must be true"):u({flowRunId:e.flowRunId,eventId:e.eventId,accepted:!0})}function er(e){if(!s(e))return r("execution event body must be a JSON object");let t=I(e,["executionLease","eventId","eventType","nodeId","stepRunId","attempt","durationMs","occurredAt","errorId","payloadRef","inputFact"]);if(t!==void 0)return r(`execution event does not accept the "${t}" field`);let n=k(e.executionLease);if(!n.ok)return r(n.reason);let o=e.eventId;if(typeof o!="string"||o.length===0)return r("eventId must be a non-empty string");let i=e.eventType;if(!et(i))return r("eventType is not a known flow execution event type");let c=e.occurredAt;if(typeof c!="string"||c.length===0)return r("occurredAt must be a non-empty string");let a={executionLease:n.value,eventId:o,eventType:i,occurredAt:c};for(let d of["nodeId","stepRunId","errorId","payloadRef"]){let f=e[d];if(f!==void 0){if(typeof f!="string"||f.length===0)return r(`${d} must be a non-empty string`);a[d]=f}}for(let d of["attempt","durationMs"]){let f=e[d];if(f!==void 0){if(typeof f!="number"||!Number.isFinite(f)||!Number.isInteger(f)||f<0)return r(`${d} must be a non-negative integer`);a[d]=f}}if(e.inputFact!==void 0){if(i!=="step_started")return r("inputFact is only allowed on step_started events");if(a.attempt===void 0)return r("inputFact requires attempt");let d=tt(e.inputFact);if(!d.ok)return d;a.inputFact=d.value}return u(a)}function et(e){return typeof e=="string"&&Ze.includes(e)}function tt(e){if(!s(e))return r("inputFact must be a JSON object");let t=I(e,["digestAlgorithm","digest","domain"]);if(t!==void 0)return r(`inputFact does not accept the "${t}" field`);if(e.digestAlgorithm!=="sha256")return r('inputFact.digestAlgorithm must be "sha256"');let n=e.digest;if(typeof n!="string"||!/^[0-9a-f]{64}$/.test(n))return r("inputFact.digest must be a sha256 hex string");let o=e.domain;if(!s(o))return r("inputFact.domain must be a JSON object");let i=I(o,["irSchemaVersion","interpreterContractVersion","compiledArtifactId","nodeId","algorithmVersion"]);return i!==void 0?r(`inputFact.domain does not accept the "${i}" field`):typeof o.irSchemaVersion!="string"||o.irSchemaVersion.length===0||typeof o.interpreterContractVersion!="string"||o.interpreterContractVersion.length===0||typeof o.compiledArtifactId!="string"||o.compiledArtifactId.length===0||typeof o.nodeId!="string"||o.nodeId.length===0?r("inputFact.domain string fields must be non-empty strings"):o.algorithmVersion!=="flow_input_digest.v1"?r('inputFact.domain.algorithmVersion must be "flow_input_digest.v1"'):u({digestAlgorithm:"sha256",digest:n,domain:{irSchemaVersion:o.irSchemaVersion,interpreterContractVersion:o.interpreterContractVersion,compiledArtifactId:o.compiledArtifactId,nodeId:o.nodeId,algorithmVersion:"flow_input_digest.v1"}})}var nt=/^[A-Za-z0-9_-]{1,100}$/;function tr(e){if(!s(e))return r("register body must be a JSON object");let t=I(e,["executionLease","eventType","correlationKey"]);if(t!==void 0)return r(`register wait does not accept the "${t}" field`);let n=k(e.executionLease);if(!n.ok)return r(n.reason);let o=ye(e.eventType);if(!o.ok)return r(o.reason);let i=e.correlationKey;return typeof i!="string"||i.length===0?r("correlationKey must be a non-empty string"):u({executionLease:n.value,eventType:o.value,correlationKey:i})}function nr(e){if(!s(e))return r("complete body must be a JSON object");let t=I(e,["executionLease","waitExecutionId","outcome","eventId"]);if(t!==void 0)return r(`complete wait does not accept the "${t}" field`);let n=k(e.executionLease);if(!n.ok)return r(n.reason);let o=e.waitExecutionId;if(typeof o!="string"||o.length===0)return r("waitExecutionId must be a non-empty string");let i=e.outcome;if(i!=="received"&&i!=="timed_out")return r('outcome must be "received" or "timed_out"');let c={executionLease:n.value,waitExecutionId:o,outcome:i};if(e.eventId!==void 0){if(typeof e.eventId!="string"||e.eventId.length===0)return r("eventId must be a non-empty string");c.eventId=e.eventId}return u(c)}function rr(e){if(!s(e)||I(e,["waitExecutionId","workflowEventType"])!==void 0||typeof e.waitExecutionId!="string"||e.waitExecutionId.length===0)return r("register wait data surface shape is invalid");let t=ye(e.workflowEventType);return t.ok?u({waitExecutionId:e.waitExecutionId,workflowEventType:t.value}):r(t.reason)}function or(e){return!s(e)||I(e,["completed"])!==void 0||e.completed!==!0?r("complete wait data surface shape is invalid"):u({completed:!0})}function ir(e){return!s(e)||I(e,["waitExecutionId","eventId","payload"])!==void 0||typeof e.waitExecutionId!="string"||e.waitExecutionId.length===0||typeof e.eventId!="string"||e.eventId.length===0||!Object.hasOwn(e,"payload")?r("Wait resolved event surface shape is invalid"):u({waitExecutionId:e.waitExecutionId,eventId:e.eventId,payload:e.payload})}function ye(e){return typeof e!="string"||e.length===0?r("eventType must be a non-empty string"):nt.test(e)?u(e):r("eventType must match ^[A-Za-z0-9_-]{1,100}$")}function I(e,t){return Object.keys(e).find(n=>!t.includes(n))}var rt="/internal/flow-versions",ar="/:flowVersionId/handler-bundles",ie="/internal/installations",ur="/:installationId/handler-bundles";function cr(e,t){return`${rt}/${encodeURIComponent(e)}/handler-bundles?compiledArtifactId=${encodeURIComponent(t)}`}function dr(e){return`${ie}/${encodeURIComponent(e.installationId)}/handler-bundles?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var ot=new Set(["managed_only","managed_plus_unmanaged_sdk"]);function J(e){if(!A(e))return oe("runtimeNetwork must be a JSON object");let t=e.networkModel;return typeof t!="string"||!ot.has(t)?oe("runtimeNetwork.networkModel is unknown"):!ke(e.apiHosts)||!ke(e.authHosts)||typeof e.httpsOnly!="boolean"?oe("runtimeNetwork host/https fields are invalid"):{ok:!0,value:{networkModel:t,apiHosts:e.apiHosts,authHosts:e.authHosts,httpsOnly:e.httpsOnly}}}function pr(e){if(!A(e)||typeof e.flowVersionId!="string"||typeof e.compiledArtifactId!="string"||!Array.isArray(e.bundles))return B("handler bundles data surface shape is invalid");let t=xe(e.bundles);return t.ok?{ok:!0,value:{flowVersionId:e.flowVersionId,compiledArtifactId:e.compiledArtifactId,bundles:t.value}}:t}function lr(e){if(!A(e)||typeof e.installationId!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.bundles))return B("tool handler bundles data surface shape is invalid");let t=xe(e.bundles);return t.ok?{ok:!0,value:{installationId:e.installationId,artifactDigest:e.artifactDigest,bundles:t.value}}:t}function xe(e){let t=[];for(let n of e){let o=it(n);if(!o.ok)return o;t.push(o.value)}return{ok:!0,value:t}}function it(e){if(!A(e)||typeof e.toolRef!="string"||e.kind!=="handler"&&e.kind!=="request")return B("handler bundle entry shape is invalid");if(e.kind==="request"){if(e.module!==void 0)return B("a request bundle must not carry a module");let o=J(e.runtimeNetwork);return o.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"request",runtimeNetwork:o.value}}:o}let t=e.module;if(!A(t)||typeof t.entry!="string"||t.entry.length===0||!st(t.files))return B("a handler bundle must carry a { entry, files } module");let n=J(e.runtimeNetwork);return n.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"handler",module:{entry:t.entry,files:t.files},runtimeNetwork:n.value}}:n}function B(e){return{ok:!1,kind:"shape",reason:e}}function oe(e){return{ok:!1,kind:"runtime_network",reason:e}}function A(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ke(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function st(e){return A(e)&&Object.values(e).every(t=>typeof t=="string")}var F="/internal/webhook-trigger-instances",kr="/:triggerInstanceId/context",xr="/:triggerInstanceId/handler-bundles",Er="/:triggerInstanceId/deliveries/:deliveryId",_r="/:triggerInstanceId/events",hr="/:triggerInstanceId/rearm",H=e=>`${F}/${encodeURIComponent(e)}`;function wr(e,t){return`${H(e)}/context?artifactDigest=${encodeURIComponent(t)}`}function Tr(e,t){return`${H(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function br(e,t){return`${H(e)}/deliveries/${encodeURIComponent(t)}`}function Sr(e){return`${H(e)}/events`}function Pr(e){return`${H(e)}/rearm`}var Ar="/:installationId/webhook-protocol-adapter-bundle";function Cr(e){return`${ie}/${encodeURIComponent(e.installationId)}/webhook-protocol-adapter-bundle?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var Nr="modules/webhook/protocol-adapter.js";function Or(e){return`modules/webhook/protocol-adapter-${e}.js`}function Dr(e){let t=s(e)?b(e.stateScope):r("webhook watcher context state scope is invalid");return!s(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!s(e.inputs)||e.connection!==null&&!at(e.connection)||!ut(e.runtime)||!t.ok||t.value.kind!=="webhook-trigger"?r("webhook watcher context surface shape is invalid"):u(e)}function at(e){return s(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function ut(e){if(!s(e)||e.type!=="webhook"||typeof e.trigger_ref!="string")return!1;let t=e.webhook;return s(t)&&typeof t.event_handler_module=="string"&&typeof t.enable_handler_module=="string"&&typeof t.disable_handler_module=="string"}function ct(e){if(!s(e)||typeof e.deliveryId!="string"||typeof e.receivedAt!="string"||!s(e.request))return r("webhook delivery surface shape is invalid");let t=e.request;return t.method!=="POST"||!s(t.headers)||typeof t.rawBody!="string"?r("webhook delivery request shape is invalid"):u(e)}function se(e){if(!s(e)||typeof e.token!="string"||typeof e.expiresAt!="string")return r("trigger file runtime dispatch shape is invalid");let t=ne(e.limits);return t.ok?u({token:e.token,expiresAt:e.expiresAt,limits:t.value}):r(t.reason)}function vr(e){if(!s(e))return r("webhook delivery dispatch data is invalid");let t=ct(e.delivery);if(!t.ok)return r(t.reason);let n=e.fileRuntime;if(n===null)return u({delivery:t.value,fileRuntime:null});let o=se(n);return o.ok?u({delivery:t.value,fileRuntime:o.value}):r(o.reason)}function Ur(e){if(!s(e)||typeof e.triggerRef!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.modules)||!e.modules.every(dt))return{ok:!1,kind:"shape",reason:"trigger handler bundles data surface shape is invalid"};let t=J(e.runtimeNetwork);return t.ok?{ok:!0,value:{triggerRef:e.triggerRef,artifactDigest:e.artifactDigest,modules:e.modules,runtimeNetwork:t.value}}:t}function dt(e){return s(e)&&typeof e.specifier=="string"&&e.specifier.length>0&&typeof e.source=="string"}function Br(e){if(!s(e))return r("publish events body must be a JSON object");let t=ae(e,["deliveryId","events"]);if(t!==void 0)return r(`publish events does not accept the "${t}" field`);let n=e.deliveryId;if(typeof n!="string"||n.length===0)return r("deliveryId must be a non-empty string");let o=e.events;if(!Array.isArray(o))return r("events must be an array");let i=[];for(let c of o){let a=pt(c);if(!a.ok)return a;i.push(a.value)}return u({deliveryId:n,events:i})}function pt(e){if(!s(e))return r("each event must be a JSON object");let t=ae(e,["eventId","occurredAt","dedupeKey","payload"]);if(t!==void 0)return r(`event does not accept the "${t}" field`);let n=e.eventId;if(typeof n!="string"||n.length===0)return r("eventId must be a non-empty string");let o=e.occurredAt;if(typeof o!="string"||o.length===0)return r("occurredAt must be a non-empty string");if(!s(e.payload))return r("event payload must be a JSON object");let i={eventId:n,occurredAt:o,payload:e.payload};if(e.dedupeKey!==void 0){if(typeof e.dedupeKey!="string"||e.dedupeKey.length===0)return r("dedupeKey must be a non-empty string");i.dedupeKey=e.dedupeKey}return u(i)}function Fr(e){if(!s(e))return r("rearm body must be a JSON object");let t=ae(e,["expectedWatcherInstanceId"]);if(t!==void 0)return r(`rearm does not accept the "${t}" field`);let n=e.expectedWatcherInstanceId;return typeof n!="string"||n.length===0?r("expectedWatcherInstanceId must be a non-empty string"):u({expectedWatcherInstanceId:n})}function ae(e,t){return Object.keys(e).find(n=>!t.includes(n))}var L="/internal/polling-trigger-instances",Wr="/:pollingInstanceId/context",Gr="/:pollingInstanceId/handler-bundles",Kr="/:pollingInstanceId/ticks/:tickId/events",ue=e=>`${L}/${encodeURIComponent(e)}`;function qr(e,t,n){return`${ue(e)}/context?artifactDigest=${encodeURIComponent(t)}&tickId=${encodeURIComponent(n)}`}function Vr(e,t){return`${ue(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function jr(e,t){return`${ue(e)}/ticks/${encodeURIComponent(t)}/events`}function lt(e){let t=s(e)?b(e.stateScope):r("polling trigger context state scope is invalid");return!s(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!s(e.inputs)||e.connection!==null&&!ft(e.connection)||!gt(e.runtime)||!t.ok||t.value.kind!=="polling-trigger"||!Rt(e.tick)||!It(e.limits)?r("polling trigger context surface shape is invalid"):u(e)}function Jr(e){if(!s(e))return r("polling trigger dispatch data is invalid");let t=lt(e.context);if(!t.ok)return r(t.reason);let n=e.fileRuntime;if(n===null)return u({context:t.value,fileRuntime:null});let o=se(n);return o.ok?u({context:t.value,fileRuntime:o.value}):r(o.reason)}function ft(e){return s(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function gt(e){if(!s(e)||e.type!=="polling"||typeof e.trigger_id!="string"||typeof e.trigger_ref!="string"||!mt(e.file_outputs))return!1;let t=e.polling;if(!s(t)||typeof t.run_handler_module!="string")return!1;let n=t.schedule;if(!s(n)||n.type!=="interval"||typeof n.every_seconds!="number")return!1;let o=t.dedup;return s(o)&&(o.strategy==="cursor"||o.strategy==="hash"||o.strategy==="id_field")}function mt(e){return e===void 0?!0:Array.isArray(e)&&e.length>0&&e.every(t=>s(t)&&typeof t.field=="string"&&t.field.length>0)}function Rt(e){return s(e)&&typeof e.tickId=="string"&&typeof e.scheduledAt=="string"&&typeof e.attempt=="number"}function It(e){return s(e)&&typeof e.maxEventsPerTick=="number"}function Xr(e){if(!s(e))return r("publish body must be a JSON object");let t=Ee(e,["events","nextCursor"]);if(t!==void 0)return r(`publish does not accept the "${t}" field`);let n=e.events;if(!Array.isArray(n))return r("events must be an array");let o=[];for(let c of n){let a=yt(c);if(!a.ok)return a;o.push(a.value)}let i={events:o};if("nextCursor"in e){let c=e.nextCursor;if(c!==null&&typeof c!="string")return r("nextCursor must be a string, null, or omitted");i.nextCursor=c}return u(i)}function yt(e){if(!s(e))return r("each event must be a JSON object");let t=Ee(e,["eventId","occurredAt","dedupeKey","payload"]);if(t!==void 0)return r(`event does not accept the "${t}" field`);if(typeof e.eventId!="string"||e.eventId.length===0)return r("event eventId must be a non-empty string");if(!s(e.payload))return r("event payload must be a JSON object");let n={eventId:e.eventId,payload:e.payload};if(e.occurredAt!==void 0){if(typeof e.occurredAt!="string"||e.occurredAt.length===0)return r("event occurredAt must be a non-empty string");n.occurredAt=e.occurredAt}if(e.dedupeKey!==void 0){if(typeof e.dedupeKey!="string"||e.dedupeKey.length===0)return r("event dedupeKey must be a non-empty string");n.dedupeKey=e.dedupeKey}return u(n)}function Yr(e){return!s(e)||typeof e.tickId!="string"||typeof e.cursorUpdated!="boolean"||!Array.isArray(e.results)||!e.results.every(kt)?r("publish polling tick events data surface shape is invalid"):u(e)}function kt(e){return s(e)&&typeof e.eventId=="string"&&typeof e.dedupeKey=="string"&&typeof e.duplicate=="boolean"&&(e.flowRunId===null||typeof e.flowRunId=="string")}function Ee(e,t){return Object.keys(e).find(n=>!t.includes(n))}var _e="/internal/egress-grants",ce="/internal/tool-invocations",de="/internal/discovery-invocations",no="/:flowRunId/egress-grant",ro="/:invocationId/egress-grant",oo="/:discoveryInvocationId/egress-grant",io="/:pollingInstanceId/egress-grant",so="/:triggerInstanceId/egress-grant",ao="/:grantId/consume",uo="/:grantId/audit",co=e=>`${R}/${encodeURIComponent(e)}/egress-grant`,po=e=>`${ce}/${encodeURIComponent(e)}/egress-grant`,lo=e=>`${de}/${encodeURIComponent(e)}/egress-grant`,fo=e=>`${L}/${encodeURIComponent(e)}/egress-grant`,go=e=>`${F}/${encodeURIComponent(e)}/egress-grant`,mo=e=>`${_e}/${encodeURIComponent(e)}/consume`,Ro=e=>`${_e}/${encodeURIComponent(e)}/audit`,xt=["flow_action","single_tool","discovery","polling_trigger","webhook_trigger"],Et=/^[A-Za-z0-9][A-Za-z0-9:_+/=.-]{15,1023}$/;function C(e){return typeof e=="string"&&Et.test(e)}function _t(e){if(!s(e)||e.body_type!=="multipart")return!1;let t=e.body;if(!s(t))return!1;let n=t.parts;return Array.isArray(n)?n.some(o=>s(o)?o.kind==="file"&&typeof o.file_id=="string"&&o.file_id.length>0:!1):!1}function p(e){return{ok:!1,kind:"shape",reason:e}}function N(){return{ok:!1,kind:"request_digest",reason:"request digest is missing or malformed"}}function $(e,t){if(!s(e))return{ok:!1,reason:"grant request body must be a JSON object"};for(let n of Object.keys(e))if(!t.includes(n))return{ok:!1,reason:`grant request does not accept the "${n}" field`};return{ok:!0,record:e}}function M(e){if(!s(e))return"request must be a JSON object"}function Io(e){let t=$(e,["nodeId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.nodeId;if(typeof n!="string"||n.length===0)return p("nodeId is required");let o=M(t.record.request);if(o!==void 0)return p(o);let i=t.record.requestDigest;return C(i)?{ok:!0,value:{nodeId:n,requestDigest:i,requestHasMultipartFiles:_t(t.record.request)}}:N()}function yo(e){let t=$(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=M(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return C(o)?{ok:!0,value:{requestDigest:o}}:N()}function ko(e){let t=$(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=M(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return C(o)?{ok:!0,value:{requestDigest:o}}:N()}function xo(e){let t=$(e,["tickId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.tickId;if(typeof n!="string"||n.length===0)return p("tickId is required");let o=M(t.record.request);if(o!==void 0)return p(o);let i=t.record.requestDigest;return C(i)?{ok:!0,value:{tickId:n,requestDigest:i}}:N()}function Eo(e){let t=$(e,["phase","lifecycle","deliveryId","request","requestDigest"]);if(!t.ok)return p(t.reason);let n=t.record.phase;if(n!=="lifecycle"&&n!=="handler")return p('phase must be "lifecycle" or "handler"');let o=t.record.lifecycle,i;if(o!==void 0){if(o!=="enable"&&o!=="disable"&&o!=="renew")return p('lifecycle must be "enable", "disable", or "renew"');i=o}if(n==="lifecycle"&&i===void 0)return p("lifecycle is required for the lifecycle phase");let c=t.record.deliveryId,a;if(c!==void 0){if(typeof c!="string"||c.length===0)return p("deliveryId must be a non-empty string");a=c}if(n==="handler"&&a===void 0)return p("deliveryId is required for the handler phase");let d=M(t.record.request);if(d!==void 0)return p(d);let f=t.record.requestDigest;return C(f)?{ok:!0,value:{phase:n,...i!==void 0?{lifecycle:i}:{},...a!==void 0?{deliveryId:a}:{},requestDigest:f}}:N()}function he(e){return xt.includes(e)?e:void 0}var ht=["scopeKind","scopeId","requestDigest"];function _o(e){if(!s(e))return p("consume body must be a JSON object");for(let i of Object.keys(e))if(!ht.includes(i))return p(`consume does not accept the "${i}" field`);let t=he(e.scopeKind);if(t===void 0)return p("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return p("scopeId is required");let o=e.requestDigest;return C(o)?{ok:!0,value:{scopeKind:t,scopeId:n,requestDigest:o}}:N()}var wt=["scopeKind","scopeId","providerHost","status","durationMs","requestBytes","responseBytes","errorCode"];function X(e,t){return typeof e!="number"||!Number.isInteger(e)||e<0?{ok:!1,reason:`${t} must be a non-negative integer`}:{ok:!0,value:e}}function ho(e){if(!s(e))return p("audit body must be a JSON object");for(let l of Object.keys(e))if(!wt.includes(l))return p(`audit does not accept the "${l}" field`);let t=he(e.scopeKind);if(t===void 0)return p("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return p("scopeId is required");let o=e.providerHost;if(typeof o!="string"||o.length===0)return p("providerHost is required");let i=X(e.durationMs,"durationMs");if(!i.ok)return p(i.reason);let c;if(e.status!==void 0){let l=X(e.status,"status");if(!l.ok)return p(l.reason);c=l.value}let a;if(e.requestBytes!==void 0){let l=X(e.requestBytes,"requestBytes");if(!l.ok)return p(l.reason);a=l.value}let d;if(e.responseBytes!==void 0){let l=X(e.responseBytes,"responseBytes");if(!l.ok)return p(l.reason);d=l.value}let f;if(e.errorCode!==void 0){let l=e.errorCode;if(typeof l!="string"||l.length===0)return p("errorCode must be a non-empty string");f=l}return{ok:!0,value:{scopeKind:t,scopeId:n,providerHost:o,...c!==void 0?{status:c}:{},durationMs:i.value,...a!==void 0?{requestBytes:a}:{},...d!==void 0?{responseBytes:d}:{},...f!==void 0?{errorCode:f}:{}}}}function wo(e){return!s(e)||!s(e.grant)?r("egress grant envelope must carry a grant object"):u(e.grant)}function To(e){return!s(e)||e.consumed!==!0?r("egress grant consume data must carry consumed:true"):u({consumed:!0})}var Oo="/:flowRunId/runtime-credential",Do="/:invocationId/runtime-credential",vo="/:discoveryInvocationId/runtime-credential",Uo="/:pollingInstanceId/runtime-credential",Bo="/:triggerInstanceId/runtime-credential",Fo=e=>`${R}/${encodeURIComponent(e)}/runtime-credential`,Ho=e=>`${ce}/${encodeURIComponent(e)}/runtime-credential`,Lo=e=>`${de}/${encodeURIComponent(e)}/runtime-credential`,$o=e=>`${L}/${encodeURIComponent(e)}/runtime-credential`,Mo=e=>`${F}/${encodeURIComponent(e)}/runtime-credential`,Wo=["flow_action","tool_invoke","discovery","polling_trigger","webhook_trigger"];function W(e,t){if(!s(e))return{ok:!1,reason:"runtime credential request body must be a JSON object"};for(let n of Object.keys(e))if(!t.includes(n))return{ok:!1,reason:`runtime credential request does not accept the "${n}" field`};return{ok:!0,record:e}}function Go(e){let t=W(e,["nodeId"]);if(!t.ok)return r(t.reason);let n=t.record.nodeId;return typeof n!="string"||n.length===0?r("nodeId is required"):u({nodeId:n})}function Ko(e){let t=W(e??{},[]);return t.ok?u(null):r(t.reason)}function qo(e){let t=W(e??{},[]);return t.ok?u(null):r(t.reason)}function Vo(e){let t=W(e,["tickId"]);if(!t.ok)return r(t.reason);let n=t.record.tickId;return typeof n!="string"||n.length===0?r("tickId is required"):u({tickId:n})}function jo(e){let t=W(e,["executionKind","deliveryId","lifecycleOperation"]);if(!t.ok)return r(t.reason);let n=t.record.executionKind;if(n!=="event_handler"&&n!=="lifecycle")return r('executionKind must be "event_handler" or "lifecycle"');let o,i=t.record.deliveryId;if(i!==void 0){if(typeof i!="string"||i.length===0)return r("deliveryId must be a non-empty string");o=i}let c,a=t.record.lifecycleOperation;if(a!==void 0){if(a!=="enable"&&a!=="disable"&&a!=="renew")return r('lifecycleOperation must be "enable", "disable", or "renew"');c=a}return n==="lifecycle"&&c===void 0?r("lifecycleOperation is required for the lifecycle execution kind"):u({executionKind:n,...o!==void 0?{deliveryId:o}:{},...c!==void 0?{lifecycleOperation:c}:{}})}function Jo(e){return!s(e)||typeof e.sessionId!="string"||typeof e.connectionId!="string"||typeof e.authProfileRef!="string"||typeof e.authType!="string"||!s(e.credential)?r("runtime credential session must carry sessionId, connectionId, auth profile facts and a credential object"):u(e.credential)}function Y(e){return!s(e)||typeof e.file_id!="string"||typeof e.name!="string"||typeof e.size_bytes!="number"||typeof e.created_at!="string"||typeof e.expires_at!="string"||e.mime_type!==void 0&&typeof e.mime_type!="string"||e.sha256!==void 0&&typeof e.sha256!="string"||e.source!==void 0&&typeof e.source!="string"?r("file ref data does not match the AIS file-ref shape"):u(e)}function pe(e){return!s(e)||e.method!=="GET"&&e.method!=="PUT"||typeof e.url!="string"||typeof e.expires_at!="string"||!St(e.headers)?r("presigned file URL data is invalid"):u(e)}function Tt(e){if(!s(e))return r("file upload session data is invalid");let t=Y(e.file);if(!t.ok)return r(t.reason);let n=pe(e.upload);return n.ok?u({file:t.value,upload:n.value}):r(n.reason)}function bt(e){if(!s(e))return r("file metadata data is invalid");let t=Y(e.file);return t.ok?u({file:t.value}):r(t.reason)}function St(e){return s(e)?Object.values(e).every(t=>typeof t=="string"):!1}var O="/internal/files",ei="/upload-session",ti="/:fileId/complete",ni="/:fileId/access",ri="/:fileId/stat",oi="/:fileId/content",ii=()=>O,si=()=>`${O}/upload-session`,ai=e=>`${O}/${encodeURIComponent(e)}/complete`,ui=(e,t)=>`${O}/${encodeURIComponent(e)}/access?intent=${encodeURIComponent(t)}`,we=e=>`?scope_kind=${encodeURIComponent(e.scopeKind)}&scope_id=${encodeURIComponent(e.scopeId)}`,ci=(e,t)=>`${O}/${encodeURIComponent(e)}/stat${we(t)}`,di=(e,t)=>`${O}/${encodeURIComponent(e)}/content${we(t)}`;function pi(e){if(!s(e))return r("internal file access data is invalid");if(e.intent==="runtime_read"||e.intent==="provider_multipart"){let t=Y(e.file);if(!t.ok)return r(t.reason);let n=pe(e.access);return n.ok?u({file:t.value,access:n.value,intent:e.intent}):r(n.reason)}return r("internal file access intent is invalid")}import{isHumanInputSpec as Pt}from"@ablehi/flow-contract";var Ii="/:flowRunId/human-inputs",yi="/:flowRunId/human-inputs/:requestId",ki="/:flowRunId/human-inputs/:requestId/expire",xi="/:flowRunId/human-inputs/:requestId/acknowledge",At=e=>`${R}/${encodeURIComponent(e)}/human-inputs`,Pe=(e,t)=>`${At(e)}/${encodeURIComponent(t)}`,Ei=(e,t)=>`${Pe(e,t)}/expire`,_i=(e,t)=>`${Pe(e,t)}/acknowledge`,Ct="human_input_resolved";function hi(e){return`${Ct}_${e}`}function wi(e){return!s(e)||Object.keys(e).length!==4||!Object.hasOwn(e,"requestId")||!Object.hasOwn(e,"flowRunId")||!Object.hasOwn(e,"nodeId")||!Object.hasOwn(e,"status")||typeof e.requestId!="string"||e.requestId.length===0||typeof e.flowRunId!="string"||e.flowRunId.length===0||typeof e.nodeId!="string"||e.nodeId.length===0||e.status!=="submitted"&&e.status!=="expired"?r("Human Input resolved event shape is invalid"):u({requestId:e.requestId,flowRunId:e.flowRunId,nodeId:e.nodeId,status:e.status})}var Te=160,be=500;function Nt(e){return s(e)?e.kind==="choice"?!z(e,["kind","choiceId","comment"])||typeof e.choiceId!="string"||e.choiceId.length===0||e.comment!==void 0&&typeof e.comment!="string"?r("Human Input choice response is invalid"):u({kind:"choice",choiceId:e.choiceId,...e.comment!==void 0?{comment:e.comment}:{}}):e.kind==="text"&&z(e,["kind","text"])&&typeof e.text=="string"?u({kind:"text",text:e.text}):e.kind==="form"&&z(e,["kind","values"])&&s(e.values)?u({kind:"form",values:e.values}):r("Human Input response is invalid"):r("Human Input response must be an object")}function Ti(e,t){let n=Nt(e);if(!n.ok||n.value.kind!==t.kind)return r("Human Input response does not match its input spec");switch(t.kind){case"choice":{let o=n.value;return o.kind!=="choice"?r("Human Input choice response does not match its spec"):!t.choices.some(i=>i.id===o.choiceId)||o.comment!==void 0&&t.allowComment!==!0?r("Human Input choice response does not match its spec"):n}case"text":return n.value.kind!=="text"||t.required===!0&&n.value.text.trim().length===0?r("Human Input text response does not match its spec"):n;case"form":{if(n.value.kind!=="form")return r("Human Input form response does not match its spec");let o=new Map(t.fields.map(i=>[i.id,i]));if(Object.keys(n.value.values).some(i=>!o.has(i)))return r("Human Input form response contains an unknown field");for(let i of t.fields){let c=n.value.values[i.id];if(!Object.hasOwn(n.value.values,i.id)){if(i.required===!0)return r(`Human Input form response is missing required field '${i.id}'`);continue}if(c==null||!Ot(i,c))return r(`Human Input form response field '${i.id}' does not match its spec`)}return n}}}function Ot(e,t){switch(e.type){case"text":case"textarea":return typeof t=="string";case"number":return typeof t=="number"&&Number.isFinite(t);case"boolean":return typeof t=="boolean";case"select":return typeof t=="string"&&(e.options??[]).some(n=>n.id===t)}}function m(e){return{ok:!1,reason:e}}function S(e,t){return s(e)?{ok:!0,value:e}:m(`${t} must be an object`)}function z(e,t){return Object.keys(e).every(n=>t.includes(n))}function D(e,t){return typeof e!="string"||e.length===0?m(`${t} must be a non-empty string`):{ok:!0,value:e}}var Dt=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;function vt(e,t){return typeof e!="string"||!Dt.test(e)||Number.isNaN(Date.parse(e))?m(`${t} must be an ISO-8601 timestamp`):{ok:!0,value:e}}function Ae(e){let t=S(e,"renderedPrompt");if(!t.ok)return t;if(!z(t.value,["title","body","format"]))return m("renderedPrompt contains an unknown field");let n=D(t.value.title,"renderedPrompt.title");if(!n.ok)return n;if(!/[^\p{White_Space}]/u.test(n.value))return m("renderedPrompt.title must contain non-whitespace text");if(!Se(n.value,Te))return m(`renderedPrompt.title must contain at most ${Te} code points`);let o={title:n.value};if(t.value.body!==void 0){if(typeof t.value.body!="string")return m("renderedPrompt.body must be a string");if(!Se(t.value.body,be))return m(`renderedPrompt.body must contain at most ${be} code points`);o.body=t.value.body}if(t.value.format!==void 0){if(t.value.format!=="plain"&&t.value.format!=="markdown")return m("renderedPrompt.format is invalid");o.format=t.value.format}return{ok:!0,value:o}}function Se(e,t){let n=0,o=e[Symbol.iterator]();for(;!o.next().done;)if(n+=1,n>t)return!1;return!0}function bi(e){let t=Ae(e);return t.ok?u(t.value):r(t.reason)}function Ut(e){try{return Pt(e)?u(e):r("Human Input spec shape is invalid")}catch{return r("Human Input spec shape is invalid")}}function Bt(e){let t=Ut(e);return t.ok?t:m(t.reason)}function Ft(e){if(e==null)return{ok:!0,value:void 0};let t=S(e,"partiallyRenderedDelivery");if(!t.ok)return t;let n=t.value.actions;if(n===void 0)return{ok:!0,value:{}};if(!Array.isArray(n))return m("partiallyRenderedDelivery.actions must be an array");let o=[];for(let i of n){let c=S(i,"delivery action");if(!c.ok)return c;let a=D(c.value.id,"delivery action id");if(!a.ok)return a;let d=Ce(c.value.inputs,`delivery action '${a.value}' inputs`);if(!d.ok)return d;o.push({id:a.value,inputs:d.value})}return{ok:!0,value:{actions:o}}}function Ce(e,t){let n=S(e,t);if(!n.ok)return n;let o={};for(let[i,c]of Object.entries(n.value)){let a=Ne(c,`${t}.${i}`);if(!a.ok)return a;o[i]=a.value}return{ok:!0,value:o}}function Ne(e,t){let n=S(e,t);if(!n.ok)return n;switch(n.value.kind){case"literal":return{ok:!0,value:{kind:"literal",value:n.value.value}};case"human_input_ref":{let i=D(n.value.path,`${t}.path`);return i.ok?{ok:!0,value:{kind:"human_input_ref",path:i.value}}:i}case"array":{if(!Array.isArray(n.value.items))return m(`${t}.items must be an array`);let i=[];for(let[c,a]of n.value.items.entries()){let d=Ne(a,`${t}[${c}]`);if(!d.ok)return d;i.push(d.value)}return{ok:!0,value:{kind:"array",items:i}}}case"object":{let i=Ce(n.value.entries,`${t}.entries`);return i.ok?{ok:!0,value:{kind:"object",entries:i.value}}:i}case"template":{if(!Array.isArray(n.value.parts))return m(`${t}.parts must be an array`);let i=[];for(let[c,a]of n.value.parts.entries()){let d=Ht(a,`${t}.parts[${c}]`);if(!d.ok)return d;i.push(d.value)}return{ok:!0,value:{kind:"template",parts:i}}}default:return m(`${t}.kind is invalid`)}}function Ht(e,t){let n=S(e,t);if(!n.ok)return n;let o=n.value.kind;if(o==="literal")return typeof n.value.value!="string"?m(`${t}.value must be a string`):{ok:!0,value:{kind:"literal",value:n.value.value}};if(o==="human_input_ref"){let i=D(n.value.path,`${t}.path`);return i.ok?{ok:!0,value:{kind:"human_input_ref",path:i.value}}:i}return m(`${t}.kind is invalid`)}function Si(e){let t=S(e,"request body");if(!t.ok)return r(t.reason);let n=Object.keys(t.value).find(T=>!["executionLease","nodeId","renderedPrompt","input","partiallyRenderedDelivery","timeout","expiresAt"].includes(T));if(n!==void 0)return r(`human input body does not accept the "${n}" field`);let o=k(t.value.executionLease);if(!o.ok)return r(o.reason);let i=D(t.value.nodeId,"nodeId");if(!i.ok)return r(i.reason);let c=Ae(t.value.renderedPrompt);if(!c.ok)return r(c.reason);let a=Bt(t.value.input);if(!a.ok)return r(a.reason);let d=D(t.value.timeout,"timeout");if(!d.ok)return r(d.reason);let f=vt(t.value.expiresAt,"expiresAt");if(!f.ok)return r(f.reason);let l=Ft(t.value.partiallyRenderedDelivery);return l.ok?u({executionLease:o.value,nodeId:i.value,renderedPrompt:c.value,input:a.value,timeout:d.value,expiresAt:f.value,...l.value!==void 0?{partiallyRenderedDelivery:l.value}:{}}):r(l.reason)}function Lt(e){return!s(e)||typeof e.id!="string"||e.id.length===0||typeof e.nodeId!="string"||typeof e.status!="string"||!(e.output===null||s(e.output))?r("human input request view must carry id, nodeId, status and output"):u(e)}function Pi(e){if(!s(e)||typeof e.created!="boolean")return r("human input create data must carry created:boolean");let t=Lt(e.request);return t.ok?u({created:e.created,request:t.value}):t}function Ai(e){return!s(e)||e.acknowledged!==!0?r("human input acknowledge data must carry acknowledged:true"):u({acknowledged:!0})}var Ni="ablehi-wfp-user-runtime-manifest/v1",Oi="unknown";function Di(e){return e.endsWith(".js")?`${e.slice(0,-3)}.manifest.json`:`${e}.manifest.json`}var Ui="/internal/deployment-handshake",$t=["start","terminate","send-event","start-webhook-watcher","run-polling-tick","invoke-tool","invoke-discovery","invoke-trigger-handler","invoke-webhook-protocol-adapter","deployment-handshake"],Bi=$t,Fi="HANDSHAKE_REQUEST_INVALID",Hi="HANDSHAKE_SECRET_UNCONFIGURED",Li="HANDSHAKE_SECRET_MISMATCH",$i="HANDSHAKE_CONTRACT_VERSION_MISMATCH",Mi="HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH",Wi="HANDSHAKE_CAPABILITY_MISSING";function Gi(e){return[e.nonce,e.timestamp,e.contractVersion,e.dispatchNamespace].map(n=>`${n.length}:${n}`).join(".")}function Ki(e){return["response",e.nonce,e.contractVersion,e.dispatchNamespace,...e.capabilities].map(n=>`${n.length}:${n}`).join(".")}function ji(e){if(!s(e)||e.ok!==!1||!s(e.error))return r("Server execution error envelope is invalid");let t=Object.keys(e).find(i=>i!=="ok"&&i!=="error"&&i!=="guidance"),n=e.error,o=Object.keys(n).find(i=>i!=="code"&&i!=="message"&&i!=="retryable"&&i!=="issues"&&i!=="details");return t!==void 0||o!==void 0||typeof n.code!="string"||n.code.length===0||typeof n.message!="string"||typeof n.retryable!="boolean"||n.issues!==void 0&&!Array.isArray(n.issues)||n.details!==void 0&&!s(n.details)?r("Server execution error must carry code, message, and boolean retryable"):u(e)}var Oe="workflow.action-transform.v1",zi="/:flowRunId/nodes/:nodeId/action-transform",Mt=1048576;function Qi(e,t){return`/internal/flow-runs/${encodeURIComponent(e)}/nodes/${encodeURIComponent(t)}/action-transform`}function ve(e){return le(e,new WeakSet)}function Zi(e){return ge(new TextEncoder().encode(ve(e)))}function Wt(e){return ge(new TextEncoder().encode([e.flowRunId,e.generationId,e.nodeId,e.operation,String(e.attempt),e.valueDigest].join("\0")))}function es(e){if(!s(e)||!Q(e,["schemaVersion","executionLease","serverTransformRef","operation","attempt","idempotencyIdentity","valueDigest","value"]))return r("action transform request shape is invalid");if(e.schemaVersion!==Oe)return r("action transform schemaVersion is unsupported");let t=k(e.executionLease);if(!t.ok)return r(t.reason);if(!v(e.serverTransformRef))return r("serverTransformRef must be a non-empty string");let n=e.operation;if(!Be(n))return r("action transform operation is invalid");let o=e.attempt;if(!en(n,o))return r(n==="input"?"input transform attempt must be 0":"output and error transform attempt must be a positive integer");if(!fe(e.valueDigest)||!fe(e.idempotencyIdentity))return r("action transform digests must be lowercase SHA-256 hex");let i=Ue(n,e.value);if(!i.ok)return i;if(i.digest!==e.valueDigest)return r("action transform valueDigest does not match value");let c=t.value.anchor.kind==="node"?t.value.anchor.nodeId:void 0;return c===void 0?r("action transform lease anchor must be a node"):Wt({flowRunId:t.value.flowRunId,generationId:t.value.generationId,nodeId:c,operation:n,attempt:o,valueDigest:i.digest})!==e.idempotencyIdentity?r("action transform idempotencyIdentity is invalid"):u({schemaVersion:Oe,executionLease:t.value,serverTransformRef:e.serverTransformRef,operation:n,attempt:o,idempotencyIdentity:e.idempotencyIdentity,valueDigest:i.digest,value:e.value})}function ts(e){if(!s(e)||!Q(e,["operation","valueDigest","value"]))return r("action transform data shape is invalid");let t=e.operation;if(!Be(t)||!fe(e.valueDigest))return r("action transform data operation or digest is invalid");let n=Ue(t,e.value);return n.ok?n.digest!==e.valueDigest?r("action transform response valueDigest does not match value"):u({operation:t,valueDigest:n.digest,value:e.value}):n}function Ue(e,t){let n;try{n=ve(t)}catch(o){return{ok:!1,reason:`action transform value must be JSON: ${o instanceof Error?o.message:String(o)}`}}return new TextEncoder().encode(n).byteLength>Mt?{ok:!1,reason:"action transform value exceeds 1048576 bytes"}:e==="error"&&!Gt(t)?{ok:!1,reason:"error transform value is invalid"}:{ok:!0,digest:ge(new TextEncoder().encode(n))}}function Gt(e){return!(!s(e)||!me(e,["code","error","data"])||!v(e.code)||e.error!==void 0&&(!Kt(e.error)||e.error.code!==e.code))}function le(e,t){if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string"){De(e);let n=JSON.stringify(e);if(n===void 0)throw new TypeError("string is not JSON serializable");return n}if(typeof e=="number"){if(!Number.isFinite(e))throw new TypeError("numbers must be finite");let n=JSON.stringify(e);if(n===void 0)throw new TypeError("number is not JSON serializable");return n}if(typeof e!="object")throw new TypeError("value contains a non-JSON member");if(t.has(e))throw new TypeError("value contains a cycle");t.add(e);try{if(Array.isArray(e)){let c=[];for(let a=0;a<e.length;a+=1){if(!(a in e))throw new TypeError("value contains a sparse array");c.push(le(e[a],t))}return`[${c.join(",")}]`}let n=Object.getPrototypeOf(e);if(n!==Object.prototype&&n!==null)throw new TypeError("value contains a non-plain object");let o=e;return`{${Object.keys(o).sort().map(c=>(De(c),`${JSON.stringify(c)}:${le(o[c],t)}`)).join(",")}}`}finally{t.delete(e)}}function De(e){for(let t=0;t<e.length;t+=1){let n=e.charCodeAt(t);if(n>=55296&&n<=56319){let o=e.charCodeAt(t+1);if(!(o>=56320&&o<=57343))throw new TypeError("strings must not contain lone surrogate code points");t+=1;continue}if(n>=56320&&n<=57343)throw new TypeError("strings must not contain lone surrogate code points")}}function Kt(e){return!s(e)||!tn(e,["source","scope","subject","attempt","code","category","retryable","occurredAt","evidence"],["source","scope","subject","code","occurredAt"])||!qt(e.source)||e.scope!=="flow_step"&&e.scope!=="integration_invocation"||!jt(e.subject)||!v(e.code)||!v(e.occurredAt)||e.attempt!==void 0&&(!s(e.attempt)||!Q(e.attempt,["number"])||!Xt(e.attempt.number))||e.category!==void 0&&!Jt(e.category)||e.retryable!==void 0&&typeof e.retryable!="boolean"?!1:e.evidence===void 0||s(e.evidence)}function qt(e){return s(e)&&Q(e,["project","component"])&&(e.project==="ablehi-server"||e.project==="ablehi-cf-execution-runtime"||e.project==="agentIntegrations")&&v(e.component)}var Vt=["workspaceId","flowId","flowVersionId","flowRunId","stepId","nodeId","integrationId","actionId","toolRef","connectionId","requestId","traceRef"];function jt(e){return s(e)&&me(e,Vt)&&Object.values(e).every(v)}function Jt(e){return["validation","auth","permission","not_found","rate_limit","provider","network","runtime","internal","canceled"].includes(e)}function Xt(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function ge(e){let t=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),n=e.byteLength*8,o=Math.ceil((e.byteLength+9)/64)*64,i=new Uint8Array(o);i.set(e),i[e.byteLength]=128;let c=new DataView(i.buffer);c.setUint32(o-8,Math.floor(n/4294967296),!1),c.setUint32(o-4,n>>>0,!1);let a=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),d=new Uint32Array(64);for(let f=0;f<o;f+=64){for(let g=0;g<16;g+=1)d[g]=c.getUint32(f+g*4,!1);for(let g=16;g<64;g+=1){let q=d[g-15],te=d[g-2];d[g]=zt(te)+d[g-7]+Yt(q)+d[g-16]>>>0}let l=a[0],T=a[1],U=a[2],Z=a[3],P=a[4],G=a[5],K=a[6],ee=a[7];for(let g=0;g<64;g+=1){let q=ee+Zt(P)+(P&G^~P&K)+t[g]+d[g]>>>0,te=Qt(l)+(l&T^l&U^T&U)>>>0;ee=K,K=G,G=P,P=Z+q>>>0,Z=U,U=T,T=l,l=q+te>>>0}a[0]=a[0]+l>>>0,a[1]=a[1]+T>>>0,a[2]=a[2]+U>>>0,a[3]=a[3]+Z>>>0,a[4]=a[4]+P>>>0,a[5]=a[5]+G>>>0,a[6]=a[6]+K>>>0,a[7]=a[7]+ee>>>0}return[...a].map(f=>f.toString(16).padStart(8,"0")).join("")}function E(e,t){return e>>>t|e<<32-t}function Yt(e){return E(e,7)^E(e,18)^e>>>3}function zt(e){return E(e,17)^E(e,19)^e>>>10}function Qt(e){return E(e,2)^E(e,13)^E(e,22)}function Zt(e){return E(e,6)^E(e,11)^E(e,25)}function Be(e){return e==="input"||e==="output"||e==="error"}function en(e,t){return typeof t=="number"&&Number.isSafeInteger(t)&&(e==="input"?t===0:t>=1)}function fe(e){return typeof e=="string"&&/^[0-9a-f]{64}$/.test(e)}function v(e){return typeof e=="string"&&e.length>0}function Q(e,t){let n=Object.keys(e).sort(),o=[...t].sort();return n.length===o.length&&n.every((i,c)=>i===o[c])}function me(e,t){return Object.keys(e).every(n=>t.includes(n))}function tn(e,t,n){return me(e,t)&&n.every(o=>o in e)}export{zi as ACTION_TRANSFORM_ROUTE_SUBPATH,Oe as ACTION_TRANSFORM_SCHEMA_VERSION,Gn as COMPLETE_EVENT_WAIT_ROUTE_SUBPATH,sn as CONTEXT_STATE_CLEANUP_ROUTE_PATH,$t as DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES,Bi as DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES,Ui as DEPLOYMENT_HANDSHAKE_ROUTE,oo as DISCOVERY_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,vo as DISCOVERY_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,uo as EGRESS_GRANT_AUDIT_ROUTE_SUBPATH,ao as EGRESS_GRANT_CONSUME_ROUTE_SUBPATH,xt as EGRESS_GRANT_SCOPE_KINDS,fn as EXECUTION_CONTEXT_ROUTE_SUBPATH,Tn as EXECUTION_LEASE_INVALID,kn as EXECUTION_LEASE_ROUTE_SUBPATH,bn as EXECUTION_LEASE_SUPERSEDED,ni as FILE_ACCESS_ROUTE_SUBPATH,ti as FILE_COMPLETE_ROUTE_SUBPATH,oi as FILE_CONTENT_ROUTE_SUBPATH,ri as FILE_STAT_ROUTE_SUBPATH,ei as FILE_UPLOAD_SESSION_ROUTE_SUBPATH,no as FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH,Mn as FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH,$n as FLOW_RUN_RESULT_ROUTE_SUBPATH,Oo as FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,ar as HANDLER_BUNDLES_ROUTE_SUBPATH,Wi as HANDSHAKE_CAPABILITY_MISSING,$i as HANDSHAKE_CONTRACT_VERSION_MISMATCH,Mi as HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH,Fi as HANDSHAKE_REQUEST_INVALID,Li as HANDSHAKE_SECRET_MISMATCH,Hi as HANDSHAKE_SECRET_UNCONFIGURED,Ii as HUMAN_INPUTS_ROUTE_SUBPATH,xi as HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH,Pn as HUMAN_INPUT_CANCELLED_BY_RESET,ki as HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH,be as HUMAN_INPUT_PROMPT_BODY_MAX_CODE_POINTS,Te as HUMAN_INPUT_PROMPT_TITLE_MAX_CODE_POINTS,yi as HUMAN_INPUT_REQUEST_ROUTE_SUBPATH,Ct as HUMAN_INPUT_RESOLVED_EVENT_PREFIX,de as INTERNAL_DISCOVERY_INVOCATIONS_ROUTE_PREFIX,_e as INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX,O as INTERNAL_FILES_ROUTE_PREFIX,R as INTERNAL_FLOW_RUNS_ROUTE_PREFIX,rt as INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX,ie as INTERNAL_INSTALLATIONS_ROUTE_PREFIX,L as INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX,ce as INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX,F as INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX,Wr as POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH,io as POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,Gr as POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,Uo as POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Kr as POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH,Wn as REGISTER_EVENT_WAIT_ROUTE_SUBPATH,Wo as RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS,Ze as RUNTIME_REPORTED_EXECUTION_EVENT_TYPES,wn as RUN_DISPATCH_UNAVAILABLE,Fe as SERVER_EXECUTION_CONTRACT_VERSION,Ln as STEP_RESULT_ROUTE_SUBPATH,ur as TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH,ro as TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,Do as TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Sn as WAIT_EXECUTION_SUPERSEDED,Ar as WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH,Nr as WEBHOOK_PROTOCOL_ADAPTER_MODULE,kr as WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH,Er as WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH,so as WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,_r as WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH,xr as WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,hr as WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH,Bo as WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Ni as WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION,Oi as WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION,_n as WORKFLOW_RESTART_INSTANCE_UNAVAILABLE,hn as WORKFLOW_RESTART_REJECTED,En as WORKFLOW_RESTART_REQUEST_INVALID,xn as WORKFLOW_RESTART_ROUTE,An as acquireExecutionLeasePath,Wt as actionTransformIdempotencyIdentity,Qi as actionTransformPath,Zi as actionTransformValueDigest,Jn as completeEventWaitPath,Gi as deploymentHandshakeProbePayload,Ki as deploymentHandshakeResponseProofPayload,lo as discoveryInvocationEgressGrantPath,Lo as discoveryInvocationRuntimeCredentialPath,Ro as egressGrantAuditPath,mo as egressGrantConsumePath,gn as executionContextPath,co as flowRunEgressGrantPath,Vn as flowRunExecutionEventsPath,qn as flowRunResultPath,Fo as flowRunRuntimeCredentialPath,Or as flowScriptProtocolAdapterModuleName,cr as handlerBundlesPath,_i as humanInputAcknowledgePath,Ei as humanInputExpirePath,Pe as humanInputRequestPath,hi as humanInputResolvedEventType,At as humanInputsPath,ui as internalFileAccessPath,ai as internalFileCompletePath,di as internalFileContentPath,ci as internalFileStatPath,si as internalFileUploadSessionPath,ii as internalFilesPath,C as isValidRequestDigest,Nn as parseAcquireExecutionLeaseData,Cn as parseAcquireExecutionLeaseRequest,ts as parseActionTransformData,es as parseActionTransformRequest,nr as parseCompleteFlowRunWaitBody,or as parseCompleteFlowRunWaitData,an as parseContextStateCleanupRequestBody,un as parseContextStateCleanupResponseData,b as parseContextStateScope,Si as parseCreateHumanInputBody,ko as parseDiscoveryGrantBody,qo as parseDiscoveryRuntimeCredentialBody,ho as parseEgressGrantAuditBody,_o as parseEgressGrantConsumeBody,To as parseEgressGrantConsumeData,wo as parseEgressGrantData,Ie as parseExecutionAnchor,mn as parseExecutionContextData,k as parseExecutionLease,bt as parseFileMetadataData,Y as parseFileRefData,ne as parseFileRuntimeLimits,Tt as parseFileUploadSessionData,Io as parseFlowActionGrantBody,er as parseFlowRunExecutionEventBody,Zn as parseFlowRunExecutionEventData,zn as parseFlowRunResultBody,Qn as parseFlowRunResultData,Go as parseFlowRuntimeCredentialBody,ir as parseFlowWaitResolvedEvent,it as parseHandlerBundle,pr as parseHandlerBundlesData,Ai as parseHumanInputAcknowledgeData,Pi as parseHumanInputCreateData,Lt as parseHumanInputRequestViewData,wi as parseHumanInputResolvedEvent,Nt as parseHumanInputResponse,Ti as parseHumanInputResponseForSpec,Ut as parseHumanInputSpec,pi as parseInternalFileAccessData,Xr as parsePollingPublishBody,Vo as parsePollingRuntimeCredentialBody,lt as parsePollingTriggerContext,Jr as parsePollingTriggerDispatchData,xo as parsePollingTriggerGrantBody,Yr as parsePublishPollingTickEventsData,tr as parseRegisterFlowRunWaitBody,rr as parseRegisterFlowRunWaitData,bi as parseRenderedHumanInputPrompt,Jo as parseRuntimeCredentialSessionCredential,J as parseRuntimeNetwork,ji as parseServerExecutionErrorEnvelope,yo as parseSingleToolGrantBody,Ko as parseSingleToolRuntimeCredentialBody,Xn as parseStepRecordBody,Yn as parseStepRecordData,lr as parseToolHandlerBundlesData,se as parseTriggerFileRuntimeDispatch,Ur as parseTriggerHandlerBundlesData,ct as parseWebhookDelivery,vr as parseWebhookDeliveryDispatchData,Br as parseWebhookPublishEventsBody,Fr as parseWebhookRearmBody,jo as parseWebhookRuntimeCredentialBody,Eo as parseWebhookTriggerGrantBody,Dr as parseWebhookWatcherContext,On as parseWorkflowDispatchRestartRequest,Dn as parseWorkflowDispatchRestartResponse,qr as pollingTriggerContextPath,fo as pollingTriggerEgressGrantPath,Vr as pollingTriggerHandlerBundlesPath,$o as pollingTriggerRuntimeCredentialPath,jr as pollingTriggerTickEventsPath,jn as registerEventWaitPath,_t as requestHasMultipartFileParts,Kn as stepResultPath,dr as toolHandlerBundlesPath,po as toolInvocationEgressGrantPath,Ho as toolInvocationRuntimeCredentialPath,Cr as webhookProtocolAdapterBundlePath,wr as webhookTriggerContextPath,br as webhookTriggerDeliveryPath,go as webhookTriggerEgressGrantPath,Sr as webhookTriggerEventsPath,Tr as webhookTriggerHandlerBundlesPath,Pr as webhookTriggerRearmPath,Mo as webhookTriggerRuntimeCredentialPath,Di as wfpUserRuntimeManifestPath};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ablehi/server-execution-contract",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "Ablehi server to Cloudflare execution contract.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -18,14 +18,19 @@
|
|
|
18
18
|
"types": "./dist/edge.d.ts",
|
|
19
19
|
"import": "./dist/edge.js"
|
|
20
20
|
},
|
|
21
|
+
"./action-transform": {
|
|
22
|
+
"types": "./dist/action-transform.d.ts",
|
|
23
|
+
"import": "./dist/action-transform.js"
|
|
24
|
+
},
|
|
21
25
|
"./package.json": "./package.json"
|
|
22
26
|
},
|
|
23
27
|
"files": [
|
|
24
28
|
"dist"
|
|
25
29
|
],
|
|
26
30
|
"dependencies": {
|
|
27
|
-
"@ablehi/
|
|
28
|
-
"@ablehi/flow-contract": "0.3.
|
|
31
|
+
"@ablehi/ais-package-contract": "0.0.7",
|
|
32
|
+
"@ablehi/flow-contract": "0.3.2",
|
|
33
|
+
"@ablehi/error-contract": "0.0.3"
|
|
29
34
|
},
|
|
30
35
|
"devDependencies": {
|
|
31
36
|
"@typescript-eslint/eslint-plugin": "^8.62.0",
|