@ablehi/server-execution-contract 0.1.10 → 0.2.0
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/edge.d.ts +1 -1
- package/dist/edge.js +1 -1
- package/dist/index.d.ts +101 -25
- package/dist/index.js +1 -1
- package/package.json +3 -3
package/dist/edge.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { 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, DiscoveryDispatchBody, DiscoveryEgressGrantBinding, DiscoveryExecutionBinding, DiscoveryGrantBody, DiscoveryInvokeRequest, DiscoveryRuntimeCredentialBinding, EGRESS_GRANT_AUDIT_ROUTE_SUBPATH, EGRESS_GRANT_CONSUME_ROUTE_SUBPATH, EGRESS_GRANT_SCOPE_KINDS,
|
|
1
|
+
export { AcquireExecutionLeaseData, AcquireExecutionLeaseRequest, 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, DiscoveryDispatchBody, DiscoveryEgressGrantBinding, DiscoveryExecutionBinding, DiscoveryGrantBody, DiscoveryInvokeRequest, 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, EgressGrant, EgressGrantAuditBody, EgressGrantBodyParseResult, EgressGrantConsumeBody, EgressGrantCredentialMaterial, EgressGrantFileRuntime, EgressGrantScopeKind, ExecutionAnchor, ExecutionBinding, ExecutionBindingConnection, ExecutionContextCompiled, ExecutionContextData, ExecutionLease, ExecutionWriteScope, 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, FileMetadataData, FileRefData, FileRuntimeLimits, FileRuntimeScope, FileRuntimeScopeKind, FileUploadSessionData, FlowActionGrantBody, FlowExecutionContextFileRuntime, FlowExecutionScope, FlowRunExecutionEventBody, FlowRunExecutionEventData, FlowRunExecutionEventType, FlowRunInputFactBody, FlowRunResultData, FlowRunResultRequestBody, FlowRuntimeCredentialBody, FlowWaitResolvedEvent, 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_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, RUN_DISPATCH_UNAVAILABLE, RegisterFlowRunWaitBody, RegisterFlowRunWaitData, RenderedHumanInputPrompt, RuntimeCredentialSession, RuntimeCredentialSessionNetwork, RuntimeCredentialSessionScopeKind, RuntimeNetwork, RuntimeNetworkModel, SERVER_EXECUTION_CONTRACT_VERSION, STEP_RESULT_ROUTE_SUBPATH, ServerExecutionContractVersion, 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, 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, WebhookDelivery, WebhookDeliveryDispatchData, WebhookProtocolAdapterBundleData, WebhookProtocolAdapterModule, WebhookPublishEvent, WebhookPublishEventsBody, WebhookPublishEventsData, WebhookRearmBody, WebhookRearmData, WebhookRuntimeCredentialBody, WebhookTriggerGrantBody, WebhookTriggerVerificationMethod, WebhookWatcherContext, WfpUserRuntimeManifest, WorkflowDispatchRestartRequest, WorkflowDispatchRestartResponse, WorkflowRestartErrorCode, acquireExecutionLeasePath, 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, parseAcquireExecutionLeaseData, parseAcquireExecutionLeaseRequest, parseCompleteFlowRunWaitBody, parseCompleteFlowRunWaitData, parseContextStateCleanupRequestBody, parseContextStateCleanupResponseData, parseContextStateScope, parseCreateHumanInputBody, parseDiscoveryGrantBody, parseDiscoveryRuntimeCredentialBody, parseEgressGrantAuditBody, parseEgressGrantConsumeBody, parseEgressGrantConsumeData, parseEgressGrantData, parseExecutionAnchor, parseExecutionContextData, parseExecutionLease, parseExecutionWriteScope, parseFileMetadataData, parseFileRefData, parseFileRuntimeLimits, parseFileUploadSessionData, parseFlowActionGrantBody, parseFlowExecutionScope, parseFlowRunExecutionEventBody, parseFlowRunExecutionEventData, parseFlowRunResultBody, parseFlowRunResultData, parseFlowRuntimeCredentialBody, parseFlowWaitResolvedEvent, parseHandlerBundle, parseHandlerBundlesData, parseHumanInputAcknowledgeData, parseHumanInputCreateData, parseHumanInputRequestViewData, parseHumanInputResolvedEvent, parseInternalFileAccessData, parsePollingPublishBody, parsePollingRuntimeCredentialBody, parsePollingTriggerContext, parsePollingTriggerDispatchData, parsePollingTriggerGrantBody, parsePublishPollingTickEventsData, parseRegisterFlowRunWaitBody, parseRegisterFlowRunWaitData, parseRuntimeCredentialSessionCredential, parseRuntimeNetwork, 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 } from './index.js';
|
|
2
2
|
import '@ablehi/flow-contract';
|
|
3
3
|
import '@ablehi/error-contract';
|
package/dist/edge.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var re="0.2.11";function u(e){return{ok:!0,value:e}}function r(e){return{ok:!1,reason:e}}function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Ze="/cleanup-state-scopes";function k(e){if(!i(e)||typeof e.kind!="string")return r("context state scope surface shape is invalid");switch(e.kind){case"webhook-trigger":return oe(e);case"polling-trigger":return ie(e);case"flow-action":return se(e);default:return r("context state scope kind is invalid")}}function et(e){if(!i(e))return r("cleanup request body must be a JSON object");let t=N(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 s=k(o);if(!s.ok)return s;n.push(s.value)}return u({scopes:n})}function tt(e){return!i(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 oe(e){let t=N(e,["kind","workspaceId","triggerInstanceId"]);return t!==void 0?r(`webhook trigger scope does not accept "${t}"`):e.kind!=="webhook-trigger"||!R(e.workspaceId)||!R(e.triggerInstanceId)?r("webhook trigger state scope is invalid"):u({kind:"webhook-trigger",workspaceId:e.workspaceId,triggerInstanceId:e.triggerInstanceId})}function ie(e){let t=N(e,["kind","workspaceId","pollingInstanceId"]);return t!==void 0?r(`polling trigger scope does not accept "${t}"`):e.kind!=="polling-trigger"||!R(e.workspaceId)||!R(e.pollingInstanceId)?r("polling trigger state scope is invalid"):u({kind:"polling-trigger",workspaceId:e.workspaceId,pollingInstanceId:e.pollingInstanceId})}function se(e){let t=N(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"||!R(e.workspaceId)||!R(e.flowId)||!R(e.nodeId)||n!==null&&!R(n)?r("flow action state scope is invalid"):u({kind:"flow-action",workspaceId:e.workspaceId,flowId:e.flowId,nodeId:e.nodeId,connectionId:n})}function R(e){return typeof e=="string"&&e.length>0}function N(e,t){return Object.keys(e).find(n=>!t.includes(n))}var g="/internal/flow-runs",it="/:flowRunId/execution-context";function st(e){return`${g}/${encodeURIComponent(e)}/execution-context`}function F(e){return!i(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 ut(e){if(!i(e))return r("execution context must be a JSON object");let t=e.compiled;if(typeof e.flowRunId!="string"||typeof e.workspaceId!="string"||!i(e.input)||!i(t)||typeof t.irSchemaVersion!="string"||typeof t.interpreterContractVersion!="string"||typeof t.compiledArtifactId!="string"||!i(t.ir)||!Array.isArray(t.ir.nodes)||!ae(e.executionBindings))return r("execution context surface shape is invalid");let n=ue(e.fileRuntime);return n.ok?u({...e,fileRuntime:n.value}):r(n.reason)}function ue(e){if(e===null)return u(null);if(!i(e))return r("fileRuntime must be null or an object");let t=F(e.limits);return t.ok?u({limits:t.value}):r(t.reason)}function ae(e){return Array.isArray(e)?e.every(t=>{if(!i(t))return!1;let n=t.connection,o=k(t.stateScope);return typeof t.nodeId=="string"&&typeof t.toolRef=="string"&&i(t.toolDescriptor)&&i(t.integrationDescriptor)&&i(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}import{parseAblehiErrorDigest as H}from"@ablehi/error-contract";var pt="/:flowRunId/steps/:nodeId/result",ft="/:flowRunId/result",gt="/:flowRunId/execution-events",mt="/:flowRunId/event-waits/:nodeId";function Rt(e,t){return`${g}/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}/result`}function yt(e){return`${g}/${encodeURIComponent(e)}/result`}function kt(e){return`${g}/${encodeURIComponent(e)}/execution-events`}function It(e,t){return`${g}/${encodeURIComponent(e)}/event-waits/${encodeURIComponent(t)}`}function _t(e){if(!i(e))return{ok:!1,kind:"validation",reason:"step record body must be a JSON object"};let t=m(e,["attempt","result","durationMs"]);if(t!==void 0)return{ok:!1,kind:"validation",reason:`step record does not accept the "${t}" field`};let n=e.attempt;if(typeof n!="number"||!Number.isInteger(n)||n<=0)return{ok:!1,kind:"validation",reason:"attempt must be a positive integer"};let o=ce(e.result);if(!o.ok)return o;let s={attempt:n,result:o.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"};s.durationMs=c}return{ok:!0,value:s}}function ce(e){if(!i(e))return{ok:!1,kind:"step_result_invalid",reason:"result must be a JSON object"};let t=e.status;if(t==="succeeded"){let n=m(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=m(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=H(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=m(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=m(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=H(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 ht(e){return!i(e)||typeof e.flowRunId!="string"||typeof e.nodeId!="string"||!de(e.recorded)?r("step record data surface shape is invalid"):u({flowRunId:e.flowRunId,nodeId:e.nodeId,recorded:e.recorded})}function de(e){return e==="succeeded"||e==="failed"||e==="skipped"||e==="timed_out"}function Et(e){if(!i(e))return r("result body must be a JSON object");let t=m(e,["status","output","error","composition"]);if(t!==void 0)return r(`result does not accept the "${t}" field`);let n=e.status;if(n!=="succeeded"&&n!=="failed")return r('result status must be "succeeded" or "failed"');let o={status:n};if(e.output!==void 0){if(n!=="succeeded")return r("output is only allowed on a succeeded result");o.output=e.output}if(e.error!==void 0){if(n!=="failed")return r("error is only allowed on a failed result");let s=H(e.error);if(!s.ok)return r(`result error must be an AblehiErrorDigest: ${s.reason}`);o.error=s.value}if(n==="failed"&&o.error===void 0)return r("a failed result must carry an AblehiErrorDigest");if(e.composition!==void 0){if(n!=="succeeded")return r("composition is only allowed on a succeeded result");o.composition=e.composition}return u(o)}function xt(e){return i(e)?u(e):r("flow run result data must be a JSON object")}var le=["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 wt(e){if(!i(e))return r("execution event data must be a JSON object");let t=m(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 Tt(e){if(!i(e))return r("execution event body must be a JSON object");let t=m(e,["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.eventId;if(typeof n!="string"||n.length===0)return r("eventId must be a non-empty string");let o=e.eventType;if(!pe(o))return r("eventType is not a known flow execution event type");let s=e.occurredAt;if(typeof s!="string"||s.length===0)return r("occurredAt must be a non-empty string");let c={eventId:n,eventType:o,occurredAt:s};for(let a of["nodeId","stepRunId","errorId","payloadRef"]){let d=e[a];if(d!==void 0){if(typeof d!="string"||d.length===0)return r(`${a} must be a non-empty string`);c[a]=d}}for(let a of["attempt","durationMs"]){let d=e[a];if(d!==void 0){if(typeof d!="number"||!Number.isFinite(d)||!Number.isInteger(d)||d<0)return r(`${a} must be a non-negative integer`);c[a]=d}}if(e.inputFact!==void 0){if(o!=="step_started")return r("inputFact is only allowed on step_started events");if(c.attempt===void 0)return r("inputFact requires attempt");let a=fe(e.inputFact);if(!a.ok)return a;c.inputFact=a.value}return u(c)}function pe(e){return typeof e=="string"&&le.includes(e)}function fe(e){if(!i(e))return r("inputFact must be a JSON object");let t=m(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(!i(o))return r("inputFact.domain must be a JSON object");let s=m(o,["irSchemaVersion","interpreterContractVersion","compiledArtifactId","nodeId","algorithmVersion"]);return s!==void 0?r(`inputFact.domain does not accept the "${s}" 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 ge=/^[A-Za-z0-9_-]{1,100}$/;function Pt(e){if(!i(e))return r("register body must be a JSON object");let t=m(e,["eventType","correlationKey"]);if(t!==void 0)return r(`register wait does not accept the "${t}" field`);let n=j(e.eventType);if(!n.ok)return r(n.reason);let o=e.correlationKey;return typeof o!="string"||o.length===0?r("correlationKey must be a non-empty string"):u({eventType:n.value,correlationKey:o})}function vt(e){if(!i(e))return r("complete body must be a JSON object");let t=m(e,["eventType","correlationKey","outcome","eventId"]);if(t!==void 0)return r(`complete wait does not accept the "${t}" field`);let n=e.outcome;if(n!=="received"&&n!=="timed_out")return r('outcome must be "received" or "timed_out"');let o=j(e.eventType);if(!o.ok)return r(o.reason);let s=e.correlationKey;if(typeof s!="string"||s.length===0)return r("correlationKey must be a non-empty string");let c={eventType:o.value,correlationKey:s,outcome:n};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 St(e){return!i(e)||e.registered!==!0?r("register wait data surface shape is invalid"):u({registered:!0})}function j(e){return typeof e!="string"||e.length===0?r("eventType must be a non-empty string"):ge.test(e)?u(e):r("eventType must match ^[A-Za-z0-9_-]{1,100}$")}function m(e,t){return Object.keys(e).find(n=>!t.includes(n))}var me="/internal/flow-versions",Ct="/:flowVersionId/handler-bundles",G="/internal/installations",At="/:installationId/handler-bundles";function Nt(e,t){return`${me}/${encodeURIComponent(e)}/handler-bundles?compiledArtifactId=${encodeURIComponent(t)}`}function Ot(e){return`${G}/${encodeURIComponent(e.installationId)}/handler-bundles?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var Re=new Set(["managed_only","managed_plus_unmanaged_sdk"]);function O(e){if(!_(e))return $("runtimeNetwork must be a JSON object");let t=e.networkModel;return typeof t!="string"||!Re.has(t)?$("runtimeNetwork.networkModel is unknown"):!J(e.apiHosts)||!J(e.authHosts)||typeof e.httpsOnly!="boolean"?$("runtimeNetwork host/https fields are invalid"):{ok:!0,value:{networkModel:t,apiHosts:e.apiHosts,authHosts:e.authHosts,httpsOnly:e.httpsOnly}}}function Dt(e){if(!_(e)||typeof e.flowVersionId!="string"||typeof e.compiledArtifactId!="string"||!Array.isArray(e.bundles))return T("handler bundles data surface shape is invalid");let t=X(e.bundles);return t.ok?{ok:!0,value:{flowVersionId:e.flowVersionId,compiledArtifactId:e.compiledArtifactId,bundles:t.value}}:t}function Ut(e){if(!_(e)||typeof e.installationId!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.bundles))return T("tool handler bundles data surface shape is invalid");let t=X(e.bundles);return t.ok?{ok:!0,value:{installationId:e.installationId,artifactDigest:e.artifactDigest,bundles:t.value}}:t}function X(e){let t=[];for(let n of e){let o=ye(n);if(!o.ok)return o;t.push(o.value)}return{ok:!0,value:t}}function ye(e){if(!_(e)||typeof e.toolRef!="string"||e.kind!=="handler"&&e.kind!=="request")return T("handler bundle entry shape is invalid");if(e.kind==="request"){if(e.module!==void 0)return T("a request bundle must not carry a module");let o=O(e.runtimeNetwork);return o.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"request",runtimeNetwork:o.value}}:o}let t=e.module;if(!_(t)||typeof t.entry!="string"||t.entry.length===0||!ke(t.files))return T("a handler bundle must carry a { entry, files } module");let n=O(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 T(e){return{ok:!1,kind:"shape",reason:e}}function $(e){return{ok:!1,kind:"runtime_network",reason:e}}function _(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function J(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function ke(e){return _(e)&&Object.values(e).every(t=>typeof t=="string")}var P="/internal/webhook-trigger-instances",Kt="/:triggerInstanceId/context",Lt="/:triggerInstanceId/handler-bundles",qt="/:triggerInstanceId/deliveries/:deliveryId",Wt="/:triggerInstanceId/events",Vt="/:triggerInstanceId/rearm",v=e=>`${P}/${encodeURIComponent(e)}`;function jt(e,t){return`${v(e)}/context?artifactDigest=${encodeURIComponent(t)}`}function Jt(e,t){return`${v(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function Xt(e,t){return`${v(e)}/deliveries/${encodeURIComponent(t)}`}function Yt(e){return`${v(e)}/events`}function zt(e){return`${v(e)}/rearm`}var Qt="/:installationId/webhook-protocol-adapter-bundle";function Zt(e){return`${G}/${encodeURIComponent(e.installationId)}/webhook-protocol-adapter-bundle?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var en="modules/webhook/protocol-adapter.js";function tn(e){return`modules/webhook/protocol-adapter-${e}.js`}function nn(e){let t=i(e)?k(e.stateScope):r("webhook watcher context state scope is invalid");return!i(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!i(e.inputs)||e.connection!==null&&!Ie(e.connection)||!_e(e.runtime)||!t.ok||t.value.kind!=="webhook-trigger"?r("webhook watcher context surface shape is invalid"):u(e)}function Ie(e){return i(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function _e(e){if(!i(e)||e.type!=="webhook"||typeof e.trigger_ref!="string")return!1;let t=e.webhook;return i(t)&&typeof t.event_handler_module=="string"&&typeof t.enable_handler_module=="string"&&typeof t.disable_handler_module=="string"}function he(e){if(!i(e)||typeof e.deliveryId!="string"||typeof e.receivedAt!="string"||!i(e.request))return r("webhook delivery surface shape is invalid");let t=e.request;return t.method!=="POST"||!i(t.headers)||typeof t.rawBody!="string"?r("webhook delivery request shape is invalid"):u(e)}function M(e){if(!i(e)||typeof e.token!="string"||typeof e.expiresAt!="string")return r("trigger file runtime dispatch shape is invalid");let t=F(e.limits);return t.ok?u({token:e.token,expiresAt:e.expiresAt,limits:t.value}):r(t.reason)}function rn(e){if(!i(e))return r("webhook delivery dispatch data is invalid");let t=he(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=M(n);return o.ok?u({delivery:t.value,fileRuntime:o.value}):r(o.reason)}function on(e){if(!i(e)||typeof e.triggerRef!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.modules)||!e.modules.every(Ee))return{ok:!1,kind:"shape",reason:"trigger handler bundles data surface shape is invalid"};let t=O(e.runtimeNetwork);return t.ok?{ok:!0,value:{triggerRef:e.triggerRef,artifactDigest:e.artifactDigest,modules:e.modules,runtimeNetwork:t.value}}:t}function Ee(e){return i(e)&&typeof e.specifier=="string"&&e.specifier.length>0&&typeof e.source=="string"}function sn(e){if(!i(e))return r("publish events body must be a JSON object");let t=K(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 s=[];for(let c of o){let a=xe(c);if(!a.ok)return a;s.push(a.value)}return u({deliveryId:n,events:s})}function xe(e){if(!i(e))return r("each event must be a JSON object");let t=K(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(!i(e.payload))return r("event payload must be a JSON object");let s={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");s.dedupeKey=e.dedupeKey}return u(s)}function un(e){if(!i(e))return r("rearm body must be a JSON object");let t=K(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 K(e,t){return Object.keys(e).find(n=>!t.includes(n))}var S="/internal/polling-trigger-instances",pn="/:pollingInstanceId/context",fn="/:pollingInstanceId/handler-bundles",gn="/:pollingInstanceId/ticks/:tickId/events",L=e=>`${S}/${encodeURIComponent(e)}`;function mn(e,t,n){return`${L(e)}/context?artifactDigest=${encodeURIComponent(t)}&tickId=${encodeURIComponent(n)}`}function Rn(e,t){return`${L(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function yn(e,t){return`${L(e)}/ticks/${encodeURIComponent(t)}/events`}function we(e){let t=i(e)?k(e.stateScope):r("polling trigger context state scope is invalid");return!i(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!i(e.inputs)||e.connection!==null&&!Te(e.connection)||!Pe(e.runtime)||!t.ok||t.value.kind!=="polling-trigger"||!Se(e.tick)||!be(e.limits)?r("polling trigger context surface shape is invalid"):u(e)}function kn(e){if(!i(e))return r("polling trigger dispatch data is invalid");let t=we(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=M(n);return o.ok?u({context:t.value,fileRuntime:o.value}):r(o.reason)}function Te(e){return i(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function Pe(e){if(!i(e)||e.type!=="polling"||typeof e.trigger_id!="string"||typeof e.trigger_ref!="string"||!ve(e.file_outputs))return!1;let t=e.polling;if(!i(t)||typeof t.run_handler_module!="string")return!1;let n=t.schedule;if(!i(n)||n.type!=="interval"||typeof n.every_seconds!="number")return!1;let o=t.dedup;return i(o)&&(o.strategy==="cursor"||o.strategy==="hash"||o.strategy==="id_field")}function ve(e){return e===void 0?!0:Array.isArray(e)&&e.length>0&&e.every(t=>i(t)&&typeof t.field=="string"&&t.field.length>0)}function Se(e){return i(e)&&typeof e.tickId=="string"&&typeof e.scheduledAt=="string"&&typeof e.attempt=="number"}function be(e){return i(e)&&typeof e.maxEventsPerTick=="number"}function In(e){if(!i(e))return r("publish body must be a JSON object");let t=Y(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=Ce(c);if(!a.ok)return a;o.push(a.value)}let s={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");s.nextCursor=c}return u(s)}function Ce(e){if(!i(e))return r("each event must be a JSON object");let t=Y(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(!i(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 _n(e){return!i(e)||typeof e.tickId!="string"||typeof e.cursorUpdated!="boolean"||!Array.isArray(e.results)||!e.results.every(Ae)?r("publish polling tick events data surface shape is invalid"):u(e)}function Ae(e){return i(e)&&typeof e.eventId=="string"&&typeof e.dedupeKey=="string"&&typeof e.duplicate=="boolean"&&(e.flowRunId===null||typeof e.flowRunId=="string")}function Y(e,t){return Object.keys(e).find(n=>!t.includes(n))}var z="/internal/egress-grants",q="/internal/tool-invocations",W="/internal/discovery-invocations",Pn="/:flowRunId/egress-grant",vn="/:invocationId/egress-grant",Sn="/:discoveryInvocationId/egress-grant",bn="/:pollingInstanceId/egress-grant",Cn="/:triggerInstanceId/egress-grant",An="/:grantId/consume",Nn="/:grantId/audit",On=e=>`${g}/${encodeURIComponent(e)}/egress-grant`,Dn=e=>`${q}/${encodeURIComponent(e)}/egress-grant`,Un=e=>`${W}/${encodeURIComponent(e)}/egress-grant`,Bn=e=>`${S}/${encodeURIComponent(e)}/egress-grant`,Fn=e=>`${P}/${encodeURIComponent(e)}/egress-grant`,Hn=e=>`${z}/${encodeURIComponent(e)}/consume`,$n=e=>`${z}/${encodeURIComponent(e)}/audit`,Ne=["flow_action","single_tool","discovery","polling_trigger","webhook_trigger"],Oe=/^[A-Za-z0-9][A-Za-z0-9:_+/=.-]{15,1023}$/;function h(e){return typeof e=="string"&&Oe.test(e)}function De(e){if(!i(e)||e.body_type!=="multipart")return!1;let t=e.body;if(!i(t))return!1;let n=t.parts;return Array.isArray(n)?n.some(o=>i(o)?o.kind==="file"&&typeof o.file_id=="string"&&o.file_id.length>0:!1):!1}function l(e){return{ok:!1,kind:"shape",reason:e}}function E(){return{ok:!1,kind:"request_digest",reason:"request digest is missing or malformed"}}function b(e,t){if(!i(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 C(e){if(!i(e))return"request must be a JSON object"}function Gn(e){let t=b(e,["nodeId","request","requestDigest"]);if(!t.ok)return l(t.reason);let n=t.record.nodeId;if(typeof n!="string"||n.length===0)return l("nodeId is required");let o=C(t.record.request);if(o!==void 0)return l(o);let s=t.record.requestDigest;return h(s)?{ok:!0,value:{nodeId:n,requestDigest:s,requestHasMultipartFiles:De(t.record.request)}}:E()}function Mn(e){let t=b(e,["request","requestDigest"]);if(!t.ok)return l(t.reason);let n=C(t.record.request);if(n!==void 0)return l(n);let o=t.record.requestDigest;return h(o)?{ok:!0,value:{requestDigest:o}}:E()}function Kn(e){let t=b(e,["request","requestDigest"]);if(!t.ok)return l(t.reason);let n=C(t.record.request);if(n!==void 0)return l(n);let o=t.record.requestDigest;return h(o)?{ok:!0,value:{requestDigest:o}}:E()}function Ln(e){let t=b(e,["tickId","request","requestDigest"]);if(!t.ok)return l(t.reason);let n=t.record.tickId;if(typeof n!="string"||n.length===0)return l("tickId is required");let o=C(t.record.request);if(o!==void 0)return l(o);let s=t.record.requestDigest;return h(s)?{ok:!0,value:{tickId:n,requestDigest:s}}:E()}function qn(e){let t=b(e,["phase","lifecycle","deliveryId","request","requestDigest"]);if(!t.ok)return l(t.reason);let n=t.record.phase;if(n!=="lifecycle"&&n!=="handler")return l('phase must be "lifecycle" or "handler"');let o=t.record.lifecycle,s;if(o!==void 0){if(o!=="enable"&&o!=="disable"&&o!=="renew")return l('lifecycle must be "enable", "disable", or "renew"');s=o}if(n==="lifecycle"&&s===void 0)return l("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 l("deliveryId must be a non-empty string");a=c}if(n==="handler"&&a===void 0)return l("deliveryId is required for the handler phase");let d=C(t.record.request);if(d!==void 0)return l(d);let I=t.record.requestDigest;return h(I)?{ok:!0,value:{phase:n,...s!==void 0?{lifecycle:s}:{},...a!==void 0?{deliveryId:a}:{},requestDigest:I}}:E()}function Q(e){return Ne.includes(e)?e:void 0}var Ue=["scopeKind","scopeId","requestDigest"];function Wn(e){if(!i(e))return l("consume body must be a JSON object");for(let s of Object.keys(e))if(!Ue.includes(s))return l(`consume does not accept the "${s}" field`);let t=Q(e.scopeKind);if(t===void 0)return l("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return l("scopeId is required");let o=e.requestDigest;return h(o)?{ok:!0,value:{scopeKind:t,scopeId:n,requestDigest:o}}:E()}var Be=["scopeKind","scopeId","providerHost","status","durationMs","requestBytes","responseBytes","errorCode"];function D(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 Vn(e){if(!i(e))return l("audit body must be a JSON object");for(let p of Object.keys(e))if(!Be.includes(p))return l(`audit does not accept the "${p}" field`);let t=Q(e.scopeKind);if(t===void 0)return l("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return l("scopeId is required");let o=e.providerHost;if(typeof o!="string"||o.length===0)return l("providerHost is required");let s=D(e.durationMs,"durationMs");if(!s.ok)return l(s.reason);let c;if(e.status!==void 0){let p=D(e.status,"status");if(!p.ok)return l(p.reason);c=p.value}let a;if(e.requestBytes!==void 0){let p=D(e.requestBytes,"requestBytes");if(!p.ok)return l(p.reason);a=p.value}let d;if(e.responseBytes!==void 0){let p=D(e.responseBytes,"responseBytes");if(!p.ok)return l(p.reason);d=p.value}let I;if(e.errorCode!==void 0){let p=e.errorCode;if(typeof p!="string"||p.length===0)return l("errorCode must be a non-empty string");I=p}return{ok:!0,value:{scopeKind:t,scopeId:n,providerHost:o,...c!==void 0?{status:c}:{},durationMs:s.value,...a!==void 0?{requestBytes:a}:{},...d!==void 0?{responseBytes:d}:{},...I!==void 0?{errorCode:I}:{}}}}function jn(e){return!i(e)||!i(e.grant)?r("egress grant envelope must carry a grant object"):u(e.grant)}function Jn(e){return!i(e)||e.consumed!==!0?r("egress grant consume data must carry consumed:true"):u({consumed:!0})}var tr="/:flowRunId/runtime-credential",nr="/:invocationId/runtime-credential",rr="/:discoveryInvocationId/runtime-credential",or="/:pollingInstanceId/runtime-credential",ir="/:triggerInstanceId/runtime-credential",sr=e=>`${g}/${encodeURIComponent(e)}/runtime-credential`,ur=e=>`${q}/${encodeURIComponent(e)}/runtime-credential`,ar=e=>`${W}/${encodeURIComponent(e)}/runtime-credential`,cr=e=>`${S}/${encodeURIComponent(e)}/runtime-credential`,dr=e=>`${P}/${encodeURIComponent(e)}/runtime-credential`,lr=["flow_action","tool_invoke","discovery","polling_trigger","webhook_trigger"];function A(e,t){if(!i(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 pr(e){let t=A(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 fr(e){let t=A(e??{},[]);return t.ok?u(null):r(t.reason)}function gr(e){let t=A(e??{},[]);return t.ok?u(null):r(t.reason)}function mr(e){let t=A(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 Rr(e){let t=A(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,s=t.record.deliveryId;if(s!==void 0){if(typeof s!="string"||s.length===0)return r("deliveryId must be a non-empty string");o=s}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 yr(e){return!i(e)||typeof e.sessionId!="string"||typeof e.connectionId!="string"||typeof e.authProfileRef!="string"||typeof e.authType!="string"||!i(e.credential)?r("runtime credential session must carry sessionId, connectionId, auth profile facts and a credential object"):u(e.credential)}function U(e){return!i(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 V(e){return!i(e)||e.method!=="GET"&&e.method!=="PUT"||typeof e.url!="string"||typeof e.expires_at!="string"||!$e(e.headers)?r("presigned file URL data is invalid"):u(e)}function Fe(e){if(!i(e))return r("file upload session data is invalid");let t=U(e.file);if(!t.ok)return r(t.reason);let n=V(e.upload);return n.ok?u({file:t.value,upload:n.value}):r(n.reason)}function He(e){if(!i(e))return r("file metadata data is invalid");let t=U(e.file);return t.ok?u({file:t.value}):r(t.reason)}function $e(e){return i(e)?Object.values(e).every(t=>typeof t=="string"):!1}var x="/internal/files",xr="/upload-session",wr="/:fileId/complete",Tr="/:fileId/access",Pr="/:fileId/stat",vr="/:fileId/content",Sr=()=>x,br=()=>`${x}/upload-session`,Cr=e=>`${x}/${encodeURIComponent(e)}/complete`,Ar=(e,t)=>`${x}/${encodeURIComponent(e)}/access?intent=${encodeURIComponent(t)}`,Z=e=>`?scope_kind=${encodeURIComponent(e.scopeKind)}&scope_id=${encodeURIComponent(e.scopeId)}`,Nr=(e,t)=>`${x}/${encodeURIComponent(e)}/stat${Z(t)}`,Or=(e,t)=>`${x}/${encodeURIComponent(e)}/content${Z(t)}`;function Dr(e){if(!i(e))return r("internal file access data is invalid");if(e.intent==="runtime_read"||e.intent==="provider_multipart"){let t=U(e.file);if(!t.ok)return r(t.reason);let n=V(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")}var Hr="/:flowRunId/human-inputs",$r="/:flowRunId/human-inputs/:requestId",Gr="/:flowRunId/human-inputs/:requestId/expire",Mr="/:flowRunId/human-inputs/:requestId/acknowledge",Ge=e=>`${g}/${encodeURIComponent(e)}/human-inputs`,ee=(e,t)=>`${Ge(e)}/${encodeURIComponent(t)}`,Kr=(e,t)=>`${ee(e,t)}/expire`,Lr=(e,t)=>`${ee(e,t)}/acknowledge`,Me="human_input_resolved";function qr(e){return`${Me}_${e}`}function f(e){return{ok:!1,reason:e}}function y(e,t){return i(e)?{ok:!0,value:e}:f(`${t} must be an object`)}function w(e,t){return typeof e!="string"||e.length===0?f(`${t} must be a non-empty string`):{ok:!0,value:e}}var Ke=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;function Le(e,t){return typeof e!="string"||!Ke.test(e)||Number.isNaN(Date.parse(e))?f(`${t} must be an ISO-8601 timestamp`):{ok:!0,value:e}}function qe(e){let t=y(e,"renderedPrompt");if(!t.ok)return t;let n=w(t.value.title,"renderedPrompt.title");if(!n.ok)return n;let o={title:n.value};if(t.value.body!==void 0){if(typeof t.value.body!="string")return f("renderedPrompt.body must be a string");o.body=t.value.body}if(t.value.format!==void 0){if(t.value.format!=="plain"&&t.value.format!=="markdown")return f("renderedPrompt.format is invalid");o.format=t.value.format}return{ok:!0,value:o}}function We(e){let t=y(e,"input");if(!t.ok)return t;let n=t.value.kind;if(n==="choice"){if(!Array.isArray(t.value.choices))return f("input.choices must be an array")}else if(n!=="text")if(n==="form"){if(!Array.isArray(t.value.fields))return f("input.fields must be an array")}else return f("input.kind is invalid");return{ok:!0,value:t.value}}function Ve(e){if(e==null)return{ok:!0,value:void 0};let t=y(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 f("partiallyRenderedDelivery.actions must be an array");let o=[];for(let s of n){let c=y(s,"delivery action");if(!c.ok)return c;let a=w(c.value.id,"delivery action id");if(!a.ok)return a;let d=te(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 te(e,t){let n=y(e,t);if(!n.ok)return n;let o={};for(let[s,c]of Object.entries(n.value)){let a=ne(c,`${t}.${s}`);if(!a.ok)return a;o[s]=a.value}return{ok:!0,value:o}}function ne(e,t){let n=y(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 s=w(n.value.path,`${t}.path`);return s.ok?{ok:!0,value:{kind:"human_input_ref",path:s.value}}:s}case"array":{if(!Array.isArray(n.value.items))return f(`${t}.items must be an array`);let s=[];for(let[c,a]of n.value.items.entries()){let d=ne(a,`${t}[${c}]`);if(!d.ok)return d;s.push(d.value)}return{ok:!0,value:{kind:"array",items:s}}}case"object":{let s=te(n.value.entries,`${t}.entries`);return s.ok?{ok:!0,value:{kind:"object",entries:s.value}}:s}case"template":{if(!Array.isArray(n.value.parts))return f(`${t}.parts must be an array`);let s=[];for(let[c,a]of n.value.parts.entries()){let d=je(a,`${t}.parts[${c}]`);if(!d.ok)return d;s.push(d.value)}return{ok:!0,value:{kind:"template",parts:s}}}default:return f(`${t}.kind is invalid`)}}function je(e,t){let n=y(e,t);if(!n.ok)return n;let o=n.value.kind;if(o==="literal")return typeof n.value.value!="string"?f(`${t}.value must be a string`):{ok:!0,value:{kind:"literal",value:n.value.value}};if(o==="human_input_ref"){let s=w(n.value.path,`${t}.path`);return s.ok?{ok:!0,value:{kind:"human_input_ref",path:s.value}}:s}return f(`${t}.kind is invalid`)}function Wr(e){let t=y(e,"request body");if(!t.ok)return r(t.reason);let n=w(t.value.nodeId,"nodeId");if(!n.ok)return r(n.reason);let o=qe(t.value.renderedPrompt);if(!o.ok)return r(o.reason);let s=We(t.value.input);if(!s.ok)return r(s.reason);let c=w(t.value.timeout,"timeout");if(!c.ok)return r(c.reason);let a=Le(t.value.expiresAt,"expiresAt");if(!a.ok)return r(a.reason);let d=Ve(t.value.partiallyRenderedDelivery);return d.ok?u({nodeId:n.value,renderedPrompt:o.value,input:s.value,timeout:c.value,expiresAt:a.value,...d.value!==void 0?{partiallyRenderedDelivery:d.value}:{}}):r(d.reason)}function Je(e){return!i(e)||typeof e.id!="string"||e.id.length===0||typeof e.nodeId!="string"||typeof e.status!="string"||!(e.output===null||i(e.output))?r("human input request view must carry id, nodeId, status and output"):u(e)}function Vr(e){if(!i(e)||typeof e.created!="boolean")return r("human input create data must carry created:boolean");let t=Je(e.request);return t.ok?u({created:e.created,request:t.value}):t}function jr(e){return!i(e)||e.acknowledged!==!0?r("human input acknowledge data must carry acknowledged:true"):u({acknowledged:!0})}var Xr="ablehi-wfp-user-runtime-manifest/v1",Yr="unknown";function zr(e){return e.endsWith(".js")?`${e.slice(0,-3)}.manifest.json`:`${e}.manifest.json`}var Zr="/internal/deployment-handshake",Xe=["start","terminate","send-event","start-webhook-watcher","run-polling-tick","invoke-tool","invoke-discovery","invoke-trigger-handler","invoke-webhook-protocol-adapter","deployment-handshake"],eo=Xe,to="HANDSHAKE_REQUEST_INVALID",no="HANDSHAKE_SECRET_UNCONFIGURED",ro="HANDSHAKE_SECRET_MISMATCH",oo="HANDSHAKE_CONTRACT_VERSION_MISMATCH",io="HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH",so="HANDSHAKE_CAPABILITY_MISSING";function uo(e){return[e.nonce,e.timestamp,e.contractVersion,e.dispatchNamespace].map(n=>`${n.length}:${n}`).join(".")}function ao(e){return["response",e.nonce,e.contractVersion,e.dispatchNamespace,...e.capabilities].map(n=>`${n.length}:${n}`).join(".")}export{Ze as CONTEXT_STATE_CLEANUP_ROUTE_PATH,Xe as DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES,eo as DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES,Zr as DEPLOYMENT_HANDSHAKE_ROUTE,Sn as DISCOVERY_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,rr as DISCOVERY_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Nn as EGRESS_GRANT_AUDIT_ROUTE_SUBPATH,An as EGRESS_GRANT_CONSUME_ROUTE_SUBPATH,Ne as EGRESS_GRANT_SCOPE_KINDS,mt as EVENT_WAIT_ROUTE_SUBPATH,it as EXECUTION_CONTEXT_ROUTE_SUBPATH,Tr as FILE_ACCESS_ROUTE_SUBPATH,wr as FILE_COMPLETE_ROUTE_SUBPATH,vr as FILE_CONTENT_ROUTE_SUBPATH,Pr as FILE_STAT_ROUTE_SUBPATH,xr as FILE_UPLOAD_SESSION_ROUTE_SUBPATH,Pn as FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH,gt as FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH,le as FLOW_RUN_EXECUTION_EVENT_TYPES,ft as FLOW_RUN_RESULT_ROUTE_SUBPATH,tr as FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Ct as HANDLER_BUNDLES_ROUTE_SUBPATH,so as HANDSHAKE_CAPABILITY_MISSING,oo as HANDSHAKE_CONTRACT_VERSION_MISMATCH,io as HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH,to as HANDSHAKE_REQUEST_INVALID,ro as HANDSHAKE_SECRET_MISMATCH,no as HANDSHAKE_SECRET_UNCONFIGURED,Hr as HUMAN_INPUTS_ROUTE_SUBPATH,Mr as HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH,Gr as HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH,$r as HUMAN_INPUT_REQUEST_ROUTE_SUBPATH,Me as HUMAN_INPUT_RESOLVED_EVENT_PREFIX,W as INTERNAL_DISCOVERY_INVOCATIONS_ROUTE_PREFIX,z as INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX,x as INTERNAL_FILES_ROUTE_PREFIX,g as INTERNAL_FLOW_RUNS_ROUTE_PREFIX,me as INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX,G as INTERNAL_INSTALLATIONS_ROUTE_PREFIX,S as INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX,q as INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX,P as INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX,pn as POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH,bn as POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,fn as POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,or as POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,gn as POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH,lr as RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS,re as SERVER_EXECUTION_CONTRACT_VERSION,pt as STEP_RESULT_ROUTE_SUBPATH,At as TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH,vn as TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,nr as TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Qt as WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH,en as WEBHOOK_PROTOCOL_ADAPTER_MODULE,Kt as WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH,qt as WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH,Cn as WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,Wt as WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH,Lt as WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,Vt as WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH,ir as WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Xr as WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION,Yr as WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION,uo as deploymentHandshakeProbePayload,ao as deploymentHandshakeResponseProofPayload,Un as discoveryInvocationEgressGrantPath,ar as discoveryInvocationRuntimeCredentialPath,$n as egressGrantAuditPath,Hn as egressGrantConsumePath,It as eventWaitPath,st as executionContextPath,On as flowRunEgressGrantPath,kt as flowRunExecutionEventsPath,yt as flowRunResultPath,sr as flowRunRuntimeCredentialPath,tn as flowScriptProtocolAdapterModuleName,Nt as handlerBundlesPath,Lr as humanInputAcknowledgePath,Kr as humanInputExpirePath,ee as humanInputRequestPath,qr as humanInputResolvedEventType,Ge as humanInputsPath,Ar as internalFileAccessPath,Cr as internalFileCompletePath,Or as internalFileContentPath,Nr as internalFileStatPath,br as internalFileUploadSessionPath,Sr as internalFilesPath,h as isValidRequestDigest,vt as parseCompleteFlowRunWaitBody,et as parseContextStateCleanupRequestBody,tt as parseContextStateCleanupResponseData,k as parseContextStateScope,Wr as parseCreateHumanInputBody,Kn as parseDiscoveryGrantBody,gr as parseDiscoveryRuntimeCredentialBody,Vn as parseEgressGrantAuditBody,Wn as parseEgressGrantConsumeBody,Jn as parseEgressGrantConsumeData,jn as parseEgressGrantData,ut as parseExecutionContextData,He as parseFileMetadataData,U as parseFileRefData,F as parseFileRuntimeLimits,Fe as parseFileUploadSessionData,Gn as parseFlowActionGrantBody,Tt as parseFlowRunExecutionEventBody,wt as parseFlowRunExecutionEventData,Et as parseFlowRunResultBody,xt as parseFlowRunResultData,pr as parseFlowRuntimeCredentialBody,ye as parseHandlerBundle,Dt as parseHandlerBundlesData,jr as parseHumanInputAcknowledgeData,Vr as parseHumanInputCreateData,Je as parseHumanInputRequestViewData,Dr as parseInternalFileAccessData,In as parsePollingPublishBody,mr as parsePollingRuntimeCredentialBody,we as parsePollingTriggerContext,kn as parsePollingTriggerDispatchData,Ln as parsePollingTriggerGrantBody,_n as parsePublishPollingTickEventsData,Pt as parseRegisterFlowRunWaitBody,St as parseRegisterFlowRunWaitData,yr as parseRuntimeCredentialSessionCredential,O as parseRuntimeNetwork,Mn as parseSingleToolGrantBody,fr as parseSingleToolRuntimeCredentialBody,_t as parseStepRecordBody,ht as parseStepRecordData,Ut as parseToolHandlerBundlesData,M as parseTriggerFileRuntimeDispatch,on as parseTriggerHandlerBundlesData,he as parseWebhookDelivery,rn as parseWebhookDeliveryDispatchData,sn as parseWebhookPublishEventsBody,un as parseWebhookRearmBody,Rr as parseWebhookRuntimeCredentialBody,qn as parseWebhookTriggerGrantBody,nn as parseWebhookWatcherContext,mn as pollingTriggerContextPath,Bn as pollingTriggerEgressGrantPath,Rn as pollingTriggerHandlerBundlesPath,cr as pollingTriggerRuntimeCredentialPath,yn as pollingTriggerTickEventsPath,De as requestHasMultipartFileParts,Rt as stepResultPath,Ot as toolHandlerBundlesPath,Dn as toolInvocationEgressGrantPath,ur as toolInvocationRuntimeCredentialPath,Zt as webhookProtocolAdapterBundlePath,jt as webhookTriggerContextPath,Xt as webhookTriggerDeliveryPath,Fn as webhookTriggerEgressGrantPath,Yt as webhookTriggerEventsPath,Jt as webhookTriggerHandlerBundlesPath,zt as webhookTriggerRearmPath,dr as webhookTriggerRuntimeCredentialPath,zr as wfpUserRuntimeManifestPath};
|
|
1
|
+
var de="0.3.0";function u(e){return{ok:!0,value:e}}function r(e){return{ok:!1,reason:e}}function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var dt="/cleanup-state-scopes";function x(e){if(!i(e)||typeof e.kind!="string")return r("context state scope surface shape is invalid");switch(e.kind){case"webhook-trigger":return pe(e);case"polling-trigger":return le(e);case"flow-action":return fe(e);default:return r("context state scope kind is invalid")}}function pt(e){if(!i(e))return r("cleanup request body must be a JSON object");let t=U(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 s=x(o);if(!s.ok)return s;n.push(s.value)}return u({scopes:n})}function lt(e){return!i(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 pe(e){let t=U(e,["kind","workspaceId","triggerInstanceId"]);return t!==void 0?r(`webhook trigger scope does not accept "${t}"`):e.kind!=="webhook-trigger"||!E(e.workspaceId)||!E(e.triggerInstanceId)?r("webhook trigger state scope is invalid"):u({kind:"webhook-trigger",workspaceId:e.workspaceId,triggerInstanceId:e.triggerInstanceId})}function le(e){let t=U(e,["kind","workspaceId","pollingInstanceId"]);return t!==void 0?r(`polling trigger scope does not accept "${t}"`):e.kind!=="polling-trigger"||!E(e.workspaceId)||!E(e.pollingInstanceId)?r("polling trigger state scope is invalid"):u({kind:"polling-trigger",workspaceId:e.workspaceId,pollingInstanceId:e.pollingInstanceId})}function fe(e){let t=U(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(e.workspaceId)||!E(e.flowId)||!E(e.nodeId)||n!==null&&!E(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(e){return typeof e=="string"&&e.length>0}function U(e,t){return Object.keys(e).find(n=>!t.includes(n))}import{parseFlowDefinition as Ie}from"@ablehi/flow-contract";var mt="/:flowRunId/execution-leases",It="/restart",yt="WORKFLOW_RESTART_REQUEST_INVALID",kt="WORKFLOW_RESTART_INSTANCE_UNAVAILABLE",Et="WORKFLOW_RESTART_REJECTED",_t="RUN_DISPATCH_UNAVAILABLE",xt="EXECUTION_LEASE_INVALID",ht="EXECUTION_LEASE_SUPERSEDED",wt="WAIT_EXECUTION_SUPERSEDED",Tt="HUMAN_INPUT_CANCELLED_BY_RESET";function St(e){return`${g}/${encodeURIComponent(e)}/execution-leases`}var ge=/^generation:[A-Za-z0-9][A-Za-z0-9._:-]{0,239}$/;function Y(e){return!i(e)||!y(e,e.kind==="standalone"?["kind"]:["kind","productRunId"])?r("execution scope shape is invalid"):e.kind==="standalone"?u({kind:"standalone"}):e.kind==="automation_app"&&I(e.productRunId)?u({kind:"automation_app",productRunId:e.productRunId}):r("execution scope discriminator is invalid")}function Q(e){return i(e)?e.kind==="terminal"&&y(e,["kind"])?u({kind:"terminal"}):e.kind==="node"&&y(e,["kind","nodeId"])&&I(e.nodeId)?u({kind:"node",nodeId:e.nodeId}):r("execution anchor shape is invalid"):r("execution anchor must be an object")}function Re(e){if(!i(e)||!y(e,["productRunId","flowRunId","generationId","generationNumber","anchor","leaseId"])||!I(e.productRunId)||!I(e.flowRunId)||!I(e.generationId)||!me(e.generationNumber)||!I(e.leaseId))return r("execution lease shape is invalid");let t=Q(e.anchor);return t.ok?u({productRunId:e.productRunId,flowRunId:e.flowRunId,generationId:e.generationId,generationNumber:e.generationNumber,anchor:t.value,leaseId:e.leaseId}):r(t.reason)}function k(e){if(!i(e))return r("execution write scope must be an object");if(e.kind==="standalone"&&y(e,["kind"]))return u({kind:"standalone"});if(e.kind==="automation_app"&&y(e,["kind","lease"])){let t=Re(e.lease);return t.ok?u({kind:"automation_app",lease:t.value}):r(t.reason)}return r("execution write scope shape is invalid")}function Pt(e){if(!i(e)||!y(e,["anchor"]))return r("lease request shape is invalid");let t=Q(e.anchor);return t.ok?u({anchor:t.value}):r(t.reason)}function At(e){if(!i(e)||!y(e,["executionScope"]))return r("lease response shape is invalid");let t=k(e.executionScope);return t.ok?u({executionScope:t.value}):r(t.reason)}function Ct(e){return!i(e)||!y(e,["instanceId","flowRunId","commandId","generationId","from"])||!I(e.instanceId)||!I(e.flowRunId)||!I(e.commandId)||!I(e.generationId)||!i(e.from)||!y(e.from,["name","count","type"])||typeof e.from.name!="string"||!ge.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 bt(e){return!i(e)||!y(e,["ok","data"])||e.ok!==!0||!i(e.data)||!y(e.data,["accepted","instanceId","commandId","generationId"])||e.data.accepted!==!0||!I(e.data.instanceId)||!I(e.data.commandId)||!I(e.data.generationId)?r("restart response shape is invalid"):u(e)}function y(e,t){let n=Object.keys(e).sort(),o=[...t].sort();return n.length===o.length&&n.every((s,a)=>s===o[a])}function I(e){return typeof e=="string"&&e.length>0}function me(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}var g="/internal/flow-runs",Ft="/:flowRunId/execution-context";function Bt(e){return`${g}/${encodeURIComponent(e)}/execution-context`}function $(e){return!i(e)||!L(e.fileMaxBytes)||!L(e.fileReadMaxBytes)||!L(e.inlineMultipartBytesMax)?r("file runtime limits must carry three positive integer bounds"):u({fileMaxBytes:e.fileMaxBytes,fileReadMaxBytes:e.fileReadMaxBytes,inlineMultipartBytesMax:e.inlineMultipartBytesMax})}function Ht(e){if(!i(e))return r("execution context must be a JSON object");let t=z(e,["flowRunId","workspaceId","input","executionScope","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"||!i(e.input)||!i(n)||z(n,["irSchemaVersion","interpreterContractVersion","ir","compiledArtifactId"])!==void 0||typeof n.irSchemaVersion!="string"||typeof n.interpreterContractVersion!="string"||typeof n.compiledArtifactId!="string"||!ke(e.executionBindings))return r("execution context surface shape is invalid");let o=Ie(n.ir);if(!o.ok)return r(o.reason);let s=Y(e.executionScope);if(!s.ok)return r(s.reason);let a=ye(e.fileRuntime);return a.ok?u({...e,compiled:{...n,ir:o.value},executionScope:s.value,fileRuntime:a.value}):r(a.reason)}function ye(e){if(e===null)return u(null);if(!i(e))return r("fileRuntime must be null or an object");let t=$(e.limits);return t.ok?u({limits:t.value}):r(t.reason)}function ke(e){return Array.isArray(e)?e.every(t=>{if(!i(t))return!1;let n=t.connection,o=x(t.stateScope);return typeof t.nodeId=="string"&&typeof t.toolRef=="string"&&i(t.toolDescriptor)&&i(t.integrationDescriptor)&&i(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 L(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function z(e,t){return Object.keys(e).find(n=>!t.includes(n))}import{parseAblehiErrorDigest as W}from"@ablehi/error-contract";var qt="/:flowRunId/steps/:nodeId/result",Mt="/:flowRunId/result",Vt="/:flowRunId/execution-events",jt="/:flowRunId/waits/:nodeId/register",Xt="/:flowRunId/waits/:nodeId/complete";function Jt(e,t){return`${g}/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}/result`}function Yt(e){return`${g}/${encodeURIComponent(e)}/result`}function Qt(e){return`${g}/${encodeURIComponent(e)}/execution-events`}function zt(e,t){return`${g}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/register`}function Zt(e,t){return`${g}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/complete`}function en(e){if(!i(e))return{ok:!1,kind:"validation",reason:"step record body must be a JSON object"};let t=R(e,["executionScope","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.executionScope);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 s=Ee(e.result);if(!s.ok)return s;let a={executionScope:n.value,attempt:o,result:s.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 Ee(e){if(!i(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=W(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=W(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 tn(e){return!i(e)||typeof e.flowRunId!="string"||typeof e.nodeId!="string"||!_e(e.recorded)?r("step record data surface shape is invalid"):u({flowRunId:e.flowRunId,nodeId:e.nodeId,recorded:e.recorded})}function _e(e){return e==="succeeded"||e==="failed"||e==="skipped"||e==="timed_out"}function nn(e){if(!i(e))return r("result body must be a JSON object");let t=R(e,["executionScope","status","output","error"]);if(t!==void 0)return r(`result does not accept the "${t}" field`);let n=k(e.executionScope);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 s={executionScope:n.value,status:o};if(e.output!==void 0){if(o!=="succeeded")return r("output is only allowed on a succeeded result");s.output=e.output}if(e.error!==void 0){if(o!=="failed")return r("error is only allowed on a failed result");let a=W(e.error);if(!a.ok)return r(`result error must be an AblehiErrorDigest: ${a.reason}`);s.error=a.value}return o==="failed"&&s.error===void 0?r("a failed result must carry an AblehiErrorDigest"):u(s)}function rn(e){return i(e)?u(e):r("flow run result data must be a JSON object")}var xe=["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 on(e){if(!i(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 sn(e){if(!i(e))return r("execution event body must be a JSON object");let t=R(e,["executionScope","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.executionScope);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 s=e.eventType;if(!he(s))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={executionScope:n.value,eventId:o,eventType:s,occurredAt:a};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`);c[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`);c[d]=f}}if(e.inputFact!==void 0){if(s!=="step_started")return r("inputFact is only allowed on step_started events");if(c.attempt===void 0)return r("inputFact requires attempt");let d=we(e.inputFact);if(!d.ok)return d;c.inputFact=d.value}return u(c)}function he(e){return typeof e=="string"&&xe.includes(e)}function we(e){if(!i(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(!i(o))return r("inputFact.domain must be a JSON object");let s=R(o,["irSchemaVersion","interpreterContractVersion","compiledArtifactId","nodeId","algorithmVersion"]);return s!==void 0?r(`inputFact.domain does not accept the "${s}" 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 Te=/^[A-Za-z0-9_-]{1,100}$/;function un(e){if(!i(e))return r("register body must be a JSON object");let t=R(e,["executionScope","eventType","correlationKey"]);if(t!==void 0)return r(`register wait does not accept the "${t}" field`);let n=k(e.executionScope);if(!n.ok)return r(n.reason);let o=Z(e.eventType);if(!o.ok)return r(o.reason);let s=e.correlationKey;return typeof s!="string"||s.length===0?r("correlationKey must be a non-empty string"):u({executionScope:n.value,eventType:o.value,correlationKey:s})}function an(e){if(!i(e))return r("complete body must be a JSON object");let t=R(e,["executionScope","waitExecutionId","outcome","eventId"]);if(t!==void 0)return r(`complete wait does not accept the "${t}" field`);let n=k(e.executionScope);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 s=e.outcome;if(s!=="received"&&s!=="timed_out")return r('outcome must be "received" or "timed_out"');let a={executionScope:n.value,waitExecutionId:o,outcome:s};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 cn(e){if(!i(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=Z(e.workflowEventType);return t.ok?u({waitExecutionId:e.waitExecutionId,workflowEventType:t.value}):r(t.reason)}function dn(e){return!i(e)||R(e,["completed"])!==void 0||e.completed!==!0?r("complete wait data surface shape is invalid"):u({completed:!0})}function pn(e){return!i(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 Z(e){return typeof e!="string"||e.length===0?r("eventType must be a non-empty string"):Te.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 Se="/internal/flow-versions",fn="/:flowVersionId/handler-bundles",K="/internal/installations",gn="/:installationId/handler-bundles";function Rn(e,t){return`${Se}/${encodeURIComponent(e)}/handler-bundles?compiledArtifactId=${encodeURIComponent(t)}`}function mn(e){return`${K}/${encodeURIComponent(e.installationId)}/handler-bundles?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var Pe=new Set(["managed_only","managed_plus_unmanaged_sdk"]);function F(e){if(!h(e))return G("runtimeNetwork must be a JSON object");let t=e.networkModel;return typeof t!="string"||!Pe.has(t)?G("runtimeNetwork.networkModel is unknown"):!ee(e.apiHosts)||!ee(e.authHosts)||typeof e.httpsOnly!="boolean"?G("runtimeNetwork host/https fields are invalid"):{ok:!0,value:{networkModel:t,apiHosts:e.apiHosts,authHosts:e.authHosts,httpsOnly:e.httpsOnly}}}function In(e){if(!h(e)||typeof e.flowVersionId!="string"||typeof e.compiledArtifactId!="string"||!Array.isArray(e.bundles))return A("handler bundles data surface shape is invalid");let t=te(e.bundles);return t.ok?{ok:!0,value:{flowVersionId:e.flowVersionId,compiledArtifactId:e.compiledArtifactId,bundles:t.value}}:t}function yn(e){if(!h(e)||typeof e.installationId!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.bundles))return A("tool handler bundles data surface shape is invalid");let t=te(e.bundles);return t.ok?{ok:!0,value:{installationId:e.installationId,artifactDigest:e.artifactDigest,bundles:t.value}}:t}function te(e){let t=[];for(let n of e){let o=Ae(n);if(!o.ok)return o;t.push(o.value)}return{ok:!0,value:t}}function Ae(e){if(!h(e)||typeof e.toolRef!="string"||e.kind!=="handler"&&e.kind!=="request")return A("handler bundle entry shape is invalid");if(e.kind==="request"){if(e.module!==void 0)return A("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(!h(t)||typeof t.entry!="string"||t.entry.length===0||!Ce(t.files))return A("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 A(e){return{ok:!1,kind:"shape",reason:e}}function G(e){return{ok:!1,kind:"runtime_network",reason:e}}function h(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ee(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function Ce(e){return h(e)&&Object.values(e).every(t=>typeof t=="string")}var C="/internal/webhook-trigger-instances",Tn="/:triggerInstanceId/context",Sn="/:triggerInstanceId/handler-bundles",Pn="/:triggerInstanceId/deliveries/:deliveryId",An="/:triggerInstanceId/events",Cn="/:triggerInstanceId/rearm",b=e=>`${C}/${encodeURIComponent(e)}`;function bn(e,t){return`${b(e)}/context?artifactDigest=${encodeURIComponent(t)}`}function Nn(e,t){return`${b(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function vn(e,t){return`${b(e)}/deliveries/${encodeURIComponent(t)}`}function On(e){return`${b(e)}/events`}function Dn(e){return`${b(e)}/rearm`}var Un="/:installationId/webhook-protocol-adapter-bundle";function Fn(e){return`${K}/${encodeURIComponent(e.installationId)}/webhook-protocol-adapter-bundle?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var Bn="modules/webhook/protocol-adapter.js";function Hn(e){return`modules/webhook/protocol-adapter-${e}.js`}function Ln(e){let t=i(e)?x(e.stateScope):r("webhook watcher context state scope is invalid");return!i(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!i(e.inputs)||e.connection!==null&&!be(e.connection)||!Ne(e.runtime)||!t.ok||t.value.kind!=="webhook-trigger"?r("webhook watcher context surface shape is invalid"):u(e)}function be(e){return i(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function Ne(e){if(!i(e)||e.type!=="webhook"||typeof e.trigger_ref!="string")return!1;let t=e.webhook;return i(t)&&typeof t.event_handler_module=="string"&&typeof t.enable_handler_module=="string"&&typeof t.disable_handler_module=="string"}function ve(e){if(!i(e)||typeof e.deliveryId!="string"||typeof e.receivedAt!="string"||!i(e.request))return r("webhook delivery surface shape is invalid");let t=e.request;return t.method!=="POST"||!i(t.headers)||typeof t.rawBody!="string"?r("webhook delivery request shape is invalid"):u(e)}function q(e){if(!i(e)||typeof e.token!="string"||typeof e.expiresAt!="string")return r("trigger file runtime dispatch shape is invalid");let t=$(e.limits);return t.ok?u({token:e.token,expiresAt:e.expiresAt,limits:t.value}):r(t.reason)}function $n(e){if(!i(e))return r("webhook delivery dispatch data is invalid");let t=ve(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=q(n);return o.ok?u({delivery:t.value,fileRuntime:o.value}):r(o.reason)}function Wn(e){if(!i(e)||typeof e.triggerRef!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.modules)||!e.modules.every(Oe))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 Oe(e){return i(e)&&typeof e.specifier=="string"&&e.specifier.length>0&&typeof e.source=="string"}function Gn(e){if(!i(e))return r("publish events body must be a JSON object");let t=M(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 s=[];for(let a of o){let c=De(a);if(!c.ok)return c;s.push(c.value)}return u({deliveryId:n,events:s})}function De(e){if(!i(e))return r("each event must be a JSON object");let t=M(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(!i(e.payload))return r("event payload must be a JSON object");let s={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");s.dedupeKey=e.dedupeKey}return u(s)}function Kn(e){if(!i(e))return r("rearm body must be a JSON object");let t=M(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 M(e,t){return Object.keys(e).find(n=>!t.includes(n))}var N="/internal/polling-trigger-instances",Xn="/:pollingInstanceId/context",Jn="/:pollingInstanceId/handler-bundles",Yn="/:pollingInstanceId/ticks/:tickId/events",V=e=>`${N}/${encodeURIComponent(e)}`;function Qn(e,t,n){return`${V(e)}/context?artifactDigest=${encodeURIComponent(t)}&tickId=${encodeURIComponent(n)}`}function zn(e,t){return`${V(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function Zn(e,t){return`${V(e)}/ticks/${encodeURIComponent(t)}/events`}function Ue(e){let t=i(e)?x(e.stateScope):r("polling trigger context state scope is invalid");return!i(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!i(e.inputs)||e.connection!==null&&!Fe(e.connection)||!Be(e.runtime)||!t.ok||t.value.kind!=="polling-trigger"||!Le(e.tick)||!$e(e.limits)?r("polling trigger context surface shape is invalid"):u(e)}function er(e){if(!i(e))return r("polling trigger dispatch data is invalid");let t=Ue(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=q(n);return o.ok?u({context:t.value,fileRuntime:o.value}):r(o.reason)}function Fe(e){return i(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(!i(e)||e.type!=="polling"||typeof e.trigger_id!="string"||typeof e.trigger_ref!="string"||!He(e.file_outputs))return!1;let t=e.polling;if(!i(t)||typeof t.run_handler_module!="string")return!1;let n=t.schedule;if(!i(n)||n.type!=="interval"||typeof n.every_seconds!="number")return!1;let o=t.dedup;return i(o)&&(o.strategy==="cursor"||o.strategy==="hash"||o.strategy==="id_field")}function He(e){return e===void 0?!0:Array.isArray(e)&&e.length>0&&e.every(t=>i(t)&&typeof t.field=="string"&&t.field.length>0)}function Le(e){return i(e)&&typeof e.tickId=="string"&&typeof e.scheduledAt=="string"&&typeof e.attempt=="number"}function $e(e){return i(e)&&typeof e.maxEventsPerTick=="number"}function tr(e){if(!i(e))return r("publish body must be a JSON object");let t=ne(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=We(a);if(!c.ok)return c;o.push(c.value)}let s={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");s.nextCursor=a}return u(s)}function We(e){if(!i(e))return r("each event must be a JSON object");let t=ne(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(!i(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 nr(e){return!i(e)||typeof e.tickId!="string"||typeof e.cursorUpdated!="boolean"||!Array.isArray(e.results)||!e.results.every(Ge)?r("publish polling tick events data surface shape is invalid"):u(e)}function Ge(e){return i(e)&&typeof e.eventId=="string"&&typeof e.dedupeKey=="string"&&typeof e.duplicate=="boolean"&&(e.flowRunId===null||typeof e.flowRunId=="string")}function ne(e,t){return Object.keys(e).find(n=>!t.includes(n))}var re="/internal/egress-grants",j="/internal/tool-invocations",X="/internal/discovery-invocations",ar="/:flowRunId/egress-grant",cr="/:invocationId/egress-grant",dr="/:discoveryInvocationId/egress-grant",pr="/:pollingInstanceId/egress-grant",lr="/:triggerInstanceId/egress-grant",fr="/:grantId/consume",gr="/:grantId/audit",Rr=e=>`${g}/${encodeURIComponent(e)}/egress-grant`,mr=e=>`${j}/${encodeURIComponent(e)}/egress-grant`,Ir=e=>`${X}/${encodeURIComponent(e)}/egress-grant`,yr=e=>`${N}/${encodeURIComponent(e)}/egress-grant`,kr=e=>`${C}/${encodeURIComponent(e)}/egress-grant`,Er=e=>`${re}/${encodeURIComponent(e)}/consume`,_r=e=>`${re}/${encodeURIComponent(e)}/audit`,Ke=["flow_action","single_tool","discovery","polling_trigger","webhook_trigger"],qe=/^[A-Za-z0-9][A-Za-z0-9:_+/=.-]{15,1023}$/;function w(e){return typeof e=="string"&&qe.test(e)}function Me(e){if(!i(e)||e.body_type!=="multipart")return!1;let t=e.body;if(!i(t))return!1;let n=t.parts;return Array.isArray(n)?n.some(o=>i(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 T(){return{ok:!1,kind:"request_digest",reason:"request digest is missing or malformed"}}function v(e,t){if(!i(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 O(e){if(!i(e))return"request must be a JSON object"}function xr(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=O(t.record.request);if(o!==void 0)return p(o);let s=t.record.requestDigest;return w(s)?{ok:!0,value:{nodeId:n,requestDigest:s,requestHasMultipartFiles:Me(t.record.request)}}:T()}function hr(e){let t=v(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=O(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return w(o)?{ok:!0,value:{requestDigest:o}}:T()}function wr(e){let t=v(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=O(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return w(o)?{ok:!0,value:{requestDigest:o}}:T()}function Tr(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=O(t.record.request);if(o!==void 0)return p(o);let s=t.record.requestDigest;return w(s)?{ok:!0,value:{tickId:n,requestDigest:s}}:T()}function Sr(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,s;if(o!==void 0){if(o!=="enable"&&o!=="disable"&&o!=="renew")return p('lifecycle must be "enable", "disable", or "renew"');s=o}if(n==="lifecycle"&&s===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=O(t.record.request);if(d!==void 0)return p(d);let f=t.record.requestDigest;return w(f)?{ok:!0,value:{phase:n,...s!==void 0?{lifecycle:s}:{},...c!==void 0?{deliveryId:c}:{},requestDigest:f}}:T()}function oe(e){return Ke.includes(e)?e:void 0}var Ve=["scopeKind","scopeId","requestDigest"];function Pr(e){if(!i(e))return p("consume body must be a JSON object");for(let s of Object.keys(e))if(!Ve.includes(s))return p(`consume does not accept the "${s}" field`);let t=oe(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 w(o)?{ok:!0,value:{scopeKind:t,scopeId:n,requestDigest:o}}:T()}var je=["scopeKind","scopeId","providerHost","status","durationMs","requestBytes","responseBytes","errorCode"];function B(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 Ar(e){if(!i(e))return p("audit body must be a JSON object");for(let l of Object.keys(e))if(!je.includes(l))return p(`audit does not accept the "${l}" field`);let t=oe(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 s=B(e.durationMs,"durationMs");if(!s.ok)return p(s.reason);let a;if(e.status!==void 0){let l=B(e.status,"status");if(!l.ok)return p(l.reason);a=l.value}let c;if(e.requestBytes!==void 0){let l=B(e.requestBytes,"requestBytes");if(!l.ok)return p(l.reason);c=l.value}let d;if(e.responseBytes!==void 0){let l=B(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,...a!==void 0?{status:a}:{},durationMs:s.value,...c!==void 0?{requestBytes:c}:{},...d!==void 0?{responseBytes:d}:{},...f!==void 0?{errorCode:f}:{}}}}function Cr(e){return!i(e)||!i(e.grant)?r("egress grant envelope must carry a grant object"):u(e.grant)}function br(e){return!i(e)||e.consumed!==!0?r("egress grant consume data must carry consumed:true"):u({consumed:!0})}var Br="/:flowRunId/runtime-credential",Hr="/:invocationId/runtime-credential",Lr="/:discoveryInvocationId/runtime-credential",$r="/:pollingInstanceId/runtime-credential",Wr="/:triggerInstanceId/runtime-credential",Gr=e=>`${g}/${encodeURIComponent(e)}/runtime-credential`,Kr=e=>`${j}/${encodeURIComponent(e)}/runtime-credential`,qr=e=>`${X}/${encodeURIComponent(e)}/runtime-credential`,Mr=e=>`${N}/${encodeURIComponent(e)}/runtime-credential`,Vr=e=>`${C}/${encodeURIComponent(e)}/runtime-credential`,jr=["flow_action","tool_invoke","discovery","polling_trigger","webhook_trigger"];function D(e,t){if(!i(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 Xr(e){let t=D(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 Jr(e){let t=D(e??{},[]);return t.ok?u(null):r(t.reason)}function Yr(e){let t=D(e??{},[]);return t.ok?u(null):r(t.reason)}function Qr(e){let t=D(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 zr(e){let t=D(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,s=t.record.deliveryId;if(s!==void 0){if(typeof s!="string"||s.length===0)return r("deliveryId must be a non-empty string");o=s}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 Zr(e){return!i(e)||typeof e.sessionId!="string"||typeof e.connectionId!="string"||typeof e.authProfileRef!="string"||typeof e.authType!="string"||!i(e.credential)?r("runtime credential session must carry sessionId, connectionId, auth profile facts and a credential object"):u(e.credential)}function H(e){return!i(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 J(e){return!i(e)||e.method!=="GET"&&e.method!=="PUT"||typeof e.url!="string"||typeof e.expires_at!="string"||!Ye(e.headers)?r("presigned file URL data is invalid"):u(e)}function Xe(e){if(!i(e))return r("file upload session data is invalid");let t=H(e.file);if(!t.ok)return r(t.reason);let n=J(e.upload);return n.ok?u({file:t.value,upload:n.value}):r(n.reason)}function Je(e){if(!i(e))return r("file metadata data is invalid");let t=H(e.file);return t.ok?u({file:t.value}):r(t.reason)}function Ye(e){return i(e)?Object.values(e).every(t=>typeof t=="string"):!1}var S="/internal/files",io="/upload-session",so="/:fileId/complete",uo="/:fileId/access",ao="/:fileId/stat",co="/:fileId/content",po=()=>S,lo=()=>`${S}/upload-session`,fo=e=>`${S}/${encodeURIComponent(e)}/complete`,go=(e,t)=>`${S}/${encodeURIComponent(e)}/access?intent=${encodeURIComponent(t)}`,ie=e=>`?scope_kind=${encodeURIComponent(e.scopeKind)}&scope_id=${encodeURIComponent(e.scopeId)}`,Ro=(e,t)=>`${S}/${encodeURIComponent(e)}/stat${ie(t)}`,mo=(e,t)=>`${S}/${encodeURIComponent(e)}/content${ie(t)}`;function Io(e){if(!i(e))return r("internal file access data is invalid");if(e.intent==="runtime_read"||e.intent==="provider_multipart"){let t=H(e.file);if(!t.ok)return r(t.reason);let n=J(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")}var xo="/:flowRunId/human-inputs",ho="/:flowRunId/human-inputs/:requestId",wo="/:flowRunId/human-inputs/:requestId/expire",To="/:flowRunId/human-inputs/:requestId/acknowledge",Qe=e=>`${g}/${encodeURIComponent(e)}/human-inputs`,se=(e,t)=>`${Qe(e)}/${encodeURIComponent(t)}`,So=(e,t)=>`${se(e,t)}/expire`,Po=(e,t)=>`${se(e,t)}/acknowledge`,ze="human_input_resolved";function Ao(e){return`${ze}_${e}`}function Co(e){return!i(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})}function m(e){return{ok:!1,reason:e}}function _(e,t){return i(e)?{ok:!0,value:e}:m(`${t} must be an object`)}function P(e,t){return typeof e!="string"||e.length===0?m(`${t} must be a non-empty string`):{ok:!0,value:e}}var Ze=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;function et(e,t){return typeof e!="string"||!Ze.test(e)||Number.isNaN(Date.parse(e))?m(`${t} must be an ISO-8601 timestamp`):{ok:!0,value:e}}function tt(e){let t=_(e,"renderedPrompt");if(!t.ok)return t;let n=P(t.value.title,"renderedPrompt.title");if(!n.ok)return n;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");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 nt(e){let t=_(e,"input");if(!t.ok)return t;let n=t.value.kind;if(n==="choice"){if(!Array.isArray(t.value.choices))return m("input.choices must be an array")}else if(n!=="text")if(n==="form"){if(!Array.isArray(t.value.fields))return m("input.fields must be an array")}else return m("input.kind is invalid");return{ok:!0,value:t.value}}function rt(e){if(e==null)return{ok:!0,value:void 0};let t=_(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 s of n){let a=_(s,"delivery action");if(!a.ok)return a;let c=P(a.value.id,"delivery action id");if(!c.ok)return c;let d=ue(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 ue(e,t){let n=_(e,t);if(!n.ok)return n;let o={};for(let[s,a]of Object.entries(n.value)){let c=ae(a,`${t}.${s}`);if(!c.ok)return c;o[s]=c.value}return{ok:!0,value:o}}function ae(e,t){let n=_(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 s=P(n.value.path,`${t}.path`);return s.ok?{ok:!0,value:{kind:"human_input_ref",path:s.value}}:s}case"array":{if(!Array.isArray(n.value.items))return m(`${t}.items must be an array`);let s=[];for(let[a,c]of n.value.items.entries()){let d=ae(c,`${t}[${a}]`);if(!d.ok)return d;s.push(d.value)}return{ok:!0,value:{kind:"array",items:s}}}case"object":{let s=ue(n.value.entries,`${t}.entries`);return s.ok?{ok:!0,value:{kind:"object",entries:s.value}}:s}case"template":{if(!Array.isArray(n.value.parts))return m(`${t}.parts must be an array`);let s=[];for(let[a,c]of n.value.parts.entries()){let d=ot(c,`${t}.parts[${a}]`);if(!d.ok)return d;s.push(d.value)}return{ok:!0,value:{kind:"template",parts:s}}}default:return m(`${t}.kind is invalid`)}}function ot(e,t){let n=_(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 s=P(n.value.path,`${t}.path`);return s.ok?{ok:!0,value:{kind:"human_input_ref",path:s.value}}:s}return m(`${t}.kind is invalid`)}function bo(e){let t=_(e,"request body");if(!t.ok)return r(t.reason);let n=Object.keys(t.value).find(ce=>!["executionScope","nodeId","renderedPrompt","input","partiallyRenderedDelivery","timeout","expiresAt"].includes(ce));if(n!==void 0)return r(`human input body does not accept the "${n}" field`);let o=k(t.value.executionScope);if(!o.ok)return r(o.reason);let s=P(t.value.nodeId,"nodeId");if(!s.ok)return r(s.reason);let a=tt(t.value.renderedPrompt);if(!a.ok)return r(a.reason);let c=nt(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 f=et(t.value.expiresAt,"expiresAt");if(!f.ok)return r(f.reason);let l=rt(t.value.partiallyRenderedDelivery);return l.ok?u({executionScope:o.value,nodeId:s.value,renderedPrompt:a.value,input:c.value,timeout:d.value,expiresAt:f.value,...l.value!==void 0?{partiallyRenderedDelivery:l.value}:{}}):r(l.reason)}function it(e){return!i(e)||typeof e.id!="string"||e.id.length===0||typeof e.nodeId!="string"||typeof e.status!="string"||!(e.output===null||i(e.output))?r("human input request view must carry id, nodeId, status and output"):u(e)}function No(e){if(!i(e)||typeof e.created!="boolean")return r("human input create data must carry created:boolean");let t=it(e.request);return t.ok?u({created:e.created,request:t.value}):t}function vo(e){return!i(e)||e.acknowledged!==!0?r("human input acknowledge data must carry acknowledged:true"):u({acknowledged:!0})}var Do="ablehi-wfp-user-runtime-manifest/v1",Uo="unknown";function Fo(e){return e.endsWith(".js")?`${e.slice(0,-3)}.manifest.json`:`${e}.manifest.json`}var Ho="/internal/deployment-handshake",st=["start","terminate","send-event","start-webhook-watcher","run-polling-tick","invoke-tool","invoke-discovery","invoke-trigger-handler","invoke-webhook-protocol-adapter","deployment-handshake"],Lo=st,$o="HANDSHAKE_REQUEST_INVALID",Wo="HANDSHAKE_SECRET_UNCONFIGURED",Go="HANDSHAKE_SECRET_MISMATCH",Ko="HANDSHAKE_CONTRACT_VERSION_MISMATCH",qo="HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH",Mo="HANDSHAKE_CAPABILITY_MISSING";function Vo(e){return[e.nonce,e.timestamp,e.contractVersion,e.dispatchNamespace].map(n=>`${n.length}:${n}`).join(".")}function jo(e){return["response",e.nonce,e.contractVersion,e.dispatchNamespace,...e.capabilities].map(n=>`${n.length}:${n}`).join(".")}export{Xt as COMPLETE_EVENT_WAIT_ROUTE_SUBPATH,dt as CONTEXT_STATE_CLEANUP_ROUTE_PATH,st as DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES,Lo as DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES,Ho as DEPLOYMENT_HANDSHAKE_ROUTE,dr as DISCOVERY_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,Lr as DISCOVERY_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,gr as EGRESS_GRANT_AUDIT_ROUTE_SUBPATH,fr as EGRESS_GRANT_CONSUME_ROUTE_SUBPATH,Ke as EGRESS_GRANT_SCOPE_KINDS,Ft as EXECUTION_CONTEXT_ROUTE_SUBPATH,xt as EXECUTION_LEASE_INVALID,mt as EXECUTION_LEASE_ROUTE_SUBPATH,ht as EXECUTION_LEASE_SUPERSEDED,uo as FILE_ACCESS_ROUTE_SUBPATH,so as FILE_COMPLETE_ROUTE_SUBPATH,co as FILE_CONTENT_ROUTE_SUBPATH,ao as FILE_STAT_ROUTE_SUBPATH,io as FILE_UPLOAD_SESSION_ROUTE_SUBPATH,ar as FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH,Vt as FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH,xe as FLOW_RUN_EXECUTION_EVENT_TYPES,Mt as FLOW_RUN_RESULT_ROUTE_SUBPATH,Br as FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,fn as HANDLER_BUNDLES_ROUTE_SUBPATH,Mo as HANDSHAKE_CAPABILITY_MISSING,Ko as HANDSHAKE_CONTRACT_VERSION_MISMATCH,qo as HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH,$o as HANDSHAKE_REQUEST_INVALID,Go as HANDSHAKE_SECRET_MISMATCH,Wo as HANDSHAKE_SECRET_UNCONFIGURED,xo as HUMAN_INPUTS_ROUTE_SUBPATH,To as HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH,Tt as HUMAN_INPUT_CANCELLED_BY_RESET,wo as HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH,ho as HUMAN_INPUT_REQUEST_ROUTE_SUBPATH,ze as HUMAN_INPUT_RESOLVED_EVENT_PREFIX,X as INTERNAL_DISCOVERY_INVOCATIONS_ROUTE_PREFIX,re as INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX,S as INTERNAL_FILES_ROUTE_PREFIX,g as INTERNAL_FLOW_RUNS_ROUTE_PREFIX,Se as INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX,K as INTERNAL_INSTALLATIONS_ROUTE_PREFIX,N as INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX,j as INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX,C as INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX,Xn as POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH,pr as POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,Jn as POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,$r as POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Yn as POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH,jt as REGISTER_EVENT_WAIT_ROUTE_SUBPATH,jr as RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS,_t as RUN_DISPATCH_UNAVAILABLE,de as SERVER_EXECUTION_CONTRACT_VERSION,qt as STEP_RESULT_ROUTE_SUBPATH,gn as TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH,cr as TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,Hr as TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,wt as WAIT_EXECUTION_SUPERSEDED,Un as WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH,Bn as WEBHOOK_PROTOCOL_ADAPTER_MODULE,Tn as WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH,Pn as WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH,lr as WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,An as WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH,Sn as WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,Cn as WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH,Wr as WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Do as WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION,Uo as WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION,kt as WORKFLOW_RESTART_INSTANCE_UNAVAILABLE,Et as WORKFLOW_RESTART_REJECTED,yt as WORKFLOW_RESTART_REQUEST_INVALID,It as WORKFLOW_RESTART_ROUTE,St as acquireExecutionLeasePath,Zt as completeEventWaitPath,Vo as deploymentHandshakeProbePayload,jo as deploymentHandshakeResponseProofPayload,Ir as discoveryInvocationEgressGrantPath,qr as discoveryInvocationRuntimeCredentialPath,_r as egressGrantAuditPath,Er as egressGrantConsumePath,Bt as executionContextPath,Rr as flowRunEgressGrantPath,Qt as flowRunExecutionEventsPath,Yt as flowRunResultPath,Gr as flowRunRuntimeCredentialPath,Hn as flowScriptProtocolAdapterModuleName,Rn as handlerBundlesPath,Po as humanInputAcknowledgePath,So as humanInputExpirePath,se as humanInputRequestPath,Ao as humanInputResolvedEventType,Qe as humanInputsPath,go as internalFileAccessPath,fo as internalFileCompletePath,mo as internalFileContentPath,Ro as internalFileStatPath,lo as internalFileUploadSessionPath,po as internalFilesPath,w as isValidRequestDigest,At as parseAcquireExecutionLeaseData,Pt as parseAcquireExecutionLeaseRequest,an as parseCompleteFlowRunWaitBody,dn as parseCompleteFlowRunWaitData,pt as parseContextStateCleanupRequestBody,lt as parseContextStateCleanupResponseData,x as parseContextStateScope,bo as parseCreateHumanInputBody,wr as parseDiscoveryGrantBody,Yr as parseDiscoveryRuntimeCredentialBody,Ar as parseEgressGrantAuditBody,Pr as parseEgressGrantConsumeBody,br as parseEgressGrantConsumeData,Cr as parseEgressGrantData,Q as parseExecutionAnchor,Ht as parseExecutionContextData,Re as parseExecutionLease,k as parseExecutionWriteScope,Je as parseFileMetadataData,H as parseFileRefData,$ as parseFileRuntimeLimits,Xe as parseFileUploadSessionData,xr as parseFlowActionGrantBody,Y as parseFlowExecutionScope,sn as parseFlowRunExecutionEventBody,on as parseFlowRunExecutionEventData,nn as parseFlowRunResultBody,rn as parseFlowRunResultData,Xr as parseFlowRuntimeCredentialBody,pn as parseFlowWaitResolvedEvent,Ae as parseHandlerBundle,In as parseHandlerBundlesData,vo as parseHumanInputAcknowledgeData,No as parseHumanInputCreateData,it as parseHumanInputRequestViewData,Co as parseHumanInputResolvedEvent,Io as parseInternalFileAccessData,tr as parsePollingPublishBody,Qr as parsePollingRuntimeCredentialBody,Ue as parsePollingTriggerContext,er as parsePollingTriggerDispatchData,Tr as parsePollingTriggerGrantBody,nr as parsePublishPollingTickEventsData,un as parseRegisterFlowRunWaitBody,cn as parseRegisterFlowRunWaitData,Zr as parseRuntimeCredentialSessionCredential,F as parseRuntimeNetwork,hr as parseSingleToolGrantBody,Jr as parseSingleToolRuntimeCredentialBody,en as parseStepRecordBody,tn as parseStepRecordData,yn as parseToolHandlerBundlesData,q as parseTriggerFileRuntimeDispatch,Wn as parseTriggerHandlerBundlesData,ve as parseWebhookDelivery,$n as parseWebhookDeliveryDispatchData,Gn as parseWebhookPublishEventsBody,Kn as parseWebhookRearmBody,zr as parseWebhookRuntimeCredentialBody,Sr as parseWebhookTriggerGrantBody,Ln as parseWebhookWatcherContext,Ct as parseWorkflowDispatchRestartRequest,bt as parseWorkflowDispatchRestartResponse,Qn as pollingTriggerContextPath,yr as pollingTriggerEgressGrantPath,zn as pollingTriggerHandlerBundlesPath,Mr as pollingTriggerRuntimeCredentialPath,Zn as pollingTriggerTickEventsPath,zt as registerEventWaitPath,Me as requestHasMultipartFileParts,Jt as stepResultPath,mn as toolHandlerBundlesPath,mr as toolInvocationEgressGrantPath,Kr as toolInvocationRuntimeCredentialPath,Fn as webhookProtocolAdapterBundlePath,bn as webhookTriggerContextPath,vn as webhookTriggerDeliveryPath,kr as webhookTriggerEgressGrantPath,On as webhookTriggerEventsPath,Nn as webhookTriggerHandlerBundlesPath,Dn as webhookTriggerRearmPath,Vr as webhookTriggerRuntimeCredentialPath,Fo as wfpUserRuntimeManifestPath};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PublishedFlowDefinition, RuntimeHumanInputSpec } from '@ablehi/flow-contract';
|
|
2
2
|
import { AblehiErrorDigest } from '@ablehi/error-contract';
|
|
3
3
|
|
|
4
|
-
declare const SERVER_EXECUTION_CONTRACT_VERSION = "0.
|
|
4
|
+
declare const SERVER_EXECUTION_CONTRACT_VERSION = "0.3.0";
|
|
5
5
|
type ServerExecutionContractVersion = typeof SERVER_EXECUTION_CONTRACT_VERSION;
|
|
6
6
|
|
|
7
7
|
type ContractParseResult<T> = {
|
|
@@ -38,6 +38,80 @@ declare function parseContextStateScope(value: unknown): ContractParseResult<Con
|
|
|
38
38
|
declare function parseContextStateCleanupRequestBody(body: unknown): ContractParseResult<ContextStateCleanupRequestBody>;
|
|
39
39
|
declare function parseContextStateCleanupResponseData(data: unknown): ContractParseResult<ContextStateCleanupResponseData>;
|
|
40
40
|
|
|
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 FlowExecutionScope = {
|
|
55
|
+
kind: "standalone";
|
|
56
|
+
} | {
|
|
57
|
+
kind: "automation_app";
|
|
58
|
+
productRunId: string;
|
|
59
|
+
};
|
|
60
|
+
type ExecutionAnchor = {
|
|
61
|
+
kind: "node";
|
|
62
|
+
nodeId: string;
|
|
63
|
+
} | {
|
|
64
|
+
kind: "terminal";
|
|
65
|
+
};
|
|
66
|
+
type ExecutionLease = {
|
|
67
|
+
productRunId: string;
|
|
68
|
+
flowRunId: string;
|
|
69
|
+
generationId: string;
|
|
70
|
+
generationNumber: number;
|
|
71
|
+
anchor: ExecutionAnchor;
|
|
72
|
+
leaseId: string;
|
|
73
|
+
};
|
|
74
|
+
type ExecutionWriteScope = {
|
|
75
|
+
kind: "standalone";
|
|
76
|
+
} | {
|
|
77
|
+
kind: "automation_app";
|
|
78
|
+
lease: ExecutionLease;
|
|
79
|
+
};
|
|
80
|
+
type AcquireExecutionLeaseRequest = {
|
|
81
|
+
anchor: ExecutionAnchor;
|
|
82
|
+
};
|
|
83
|
+
type AcquireExecutionLeaseData = {
|
|
84
|
+
executionScope: ExecutionWriteScope;
|
|
85
|
+
};
|
|
86
|
+
type WorkflowDispatchRestartRequest = {
|
|
87
|
+
instanceId: string;
|
|
88
|
+
flowRunId: string;
|
|
89
|
+
commandId: string;
|
|
90
|
+
generationId: string;
|
|
91
|
+
from: {
|
|
92
|
+
name: `generation:${string}`;
|
|
93
|
+
count: 1;
|
|
94
|
+
type: "do";
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
type WorkflowDispatchRestartResponse = {
|
|
98
|
+
ok: true;
|
|
99
|
+
data: {
|
|
100
|
+
accepted: true;
|
|
101
|
+
instanceId: string;
|
|
102
|
+
commandId: string;
|
|
103
|
+
generationId: string;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
declare function parseFlowExecutionScope(value: unknown): ContractParseResult<FlowExecutionScope>;
|
|
107
|
+
declare function parseExecutionAnchor(value: unknown): ContractParseResult<ExecutionAnchor>;
|
|
108
|
+
declare function parseExecutionLease(value: unknown): ContractParseResult<ExecutionLease>;
|
|
109
|
+
declare function parseExecutionWriteScope(value: unknown): ContractParseResult<ExecutionWriteScope>;
|
|
110
|
+
declare function parseAcquireExecutionLeaseRequest(value: unknown): ContractParseResult<AcquireExecutionLeaseRequest>;
|
|
111
|
+
declare function parseAcquireExecutionLeaseData(value: unknown): ContractParseResult<AcquireExecutionLeaseData>;
|
|
112
|
+
declare function parseWorkflowDispatchRestartRequest(value: unknown): ContractParseResult<WorkflowDispatchRestartRequest>;
|
|
113
|
+
declare function parseWorkflowDispatchRestartResponse(value: unknown): ContractParseResult<WorkflowDispatchRestartResponse>;
|
|
114
|
+
|
|
41
115
|
declare const INTERNAL_FLOW_RUNS_ROUTE_PREFIX = "/internal/flow-runs";
|
|
42
116
|
declare const EXECUTION_CONTEXT_ROUTE_SUBPATH = "/:flowRunId/execution-context";
|
|
43
117
|
declare function executionContextPath(flowRunId: string): string;
|
|
@@ -75,6 +149,7 @@ type ExecutionContextData<TToolDescriptor = Record<string, unknown>, TIntegratio
|
|
|
75
149
|
flowRunId: string;
|
|
76
150
|
workspaceId: string;
|
|
77
151
|
input: Record<string, unknown>;
|
|
152
|
+
executionScope: FlowExecutionScope;
|
|
78
153
|
compiled: ExecutionContextCompiled;
|
|
79
154
|
executionBindings: Array<ExecutionBinding<TToolDescriptor, TIntegrationDescriptor>>;
|
|
80
155
|
fileRuntime: FlowExecutionContextFileRuntime;
|
|
@@ -85,11 +160,13 @@ declare function parseExecutionContextData(data: unknown): ContractParseResult<E
|
|
|
85
160
|
declare const STEP_RESULT_ROUTE_SUBPATH = "/:flowRunId/steps/:nodeId/result";
|
|
86
161
|
declare const FLOW_RUN_RESULT_ROUTE_SUBPATH = "/:flowRunId/result";
|
|
87
162
|
declare const FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH = "/:flowRunId/execution-events";
|
|
88
|
-
declare const
|
|
163
|
+
declare const REGISTER_EVENT_WAIT_ROUTE_SUBPATH = "/:flowRunId/waits/:nodeId/register";
|
|
164
|
+
declare const COMPLETE_EVENT_WAIT_ROUTE_SUBPATH = "/:flowRunId/waits/:nodeId/complete";
|
|
89
165
|
declare function stepResultPath(flowRunId: string, nodeId: string): string;
|
|
90
166
|
declare function flowRunResultPath(flowRunId: string): string;
|
|
91
167
|
declare function flowRunExecutionEventsPath(flowRunId: string): string;
|
|
92
|
-
declare function
|
|
168
|
+
declare function registerEventWaitPath(flowRunId: string, nodeId: string): string;
|
|
169
|
+
declare function completeEventWaitPath(flowRunId: string, nodeId: string): string;
|
|
93
170
|
type StepRecordResult = {
|
|
94
171
|
status: "succeeded";
|
|
95
172
|
output: unknown;
|
|
@@ -104,6 +181,7 @@ type StepRecordResult = {
|
|
|
104
181
|
error: AblehiErrorDigest;
|
|
105
182
|
};
|
|
106
183
|
type StepRecordBody = {
|
|
184
|
+
executionScope: ExecutionWriteScope;
|
|
107
185
|
attempt: number;
|
|
108
186
|
result: StepRecordResult;
|
|
109
187
|
durationMs?: number;
|
|
@@ -123,34 +201,20 @@ type StepRecordBodyParseResult = {
|
|
|
123
201
|
};
|
|
124
202
|
declare function parseStepRecordBody(body: unknown): StepRecordBodyParseResult;
|
|
125
203
|
declare function parseStepRecordData(data: unknown): ContractParseResult<StepRecordData>;
|
|
126
|
-
type RenderedFlowComposition = {
|
|
127
|
-
title: string;
|
|
128
|
-
detail: {
|
|
129
|
-
format: "markdown";
|
|
130
|
-
body: string;
|
|
131
|
-
data?: unknown;
|
|
132
|
-
};
|
|
133
|
-
report?: {
|
|
134
|
-
origin: "flow_node";
|
|
135
|
-
title?: string;
|
|
136
|
-
format: "markdown";
|
|
137
|
-
body: string;
|
|
138
|
-
data?: unknown;
|
|
139
|
-
};
|
|
140
|
-
};
|
|
141
204
|
type FlowRunResultRequestBody = {
|
|
205
|
+
executionScope: ExecutionWriteScope;
|
|
142
206
|
status: "succeeded";
|
|
143
207
|
output?: unknown;
|
|
144
|
-
composition?: RenderedFlowComposition;
|
|
145
208
|
} | {
|
|
209
|
+
executionScope: ExecutionWriteScope;
|
|
146
210
|
status: "failed";
|
|
147
211
|
error: AblehiErrorDigest;
|
|
148
212
|
};
|
|
149
213
|
type ParsedFlowRunResultBody = {
|
|
214
|
+
executionScope: ExecutionWriteScope;
|
|
150
215
|
status: "succeeded" | "failed";
|
|
151
216
|
output?: unknown;
|
|
152
217
|
error?: AblehiErrorDigest;
|
|
153
|
-
composition?: unknown;
|
|
154
218
|
};
|
|
155
219
|
declare function parseFlowRunResultBody(body: unknown): ContractParseResult<ParsedFlowRunResultBody>;
|
|
156
220
|
type FlowRunResultData = {
|
|
@@ -171,6 +235,7 @@ type FlowRunInputFactBody = {
|
|
|
171
235
|
};
|
|
172
236
|
};
|
|
173
237
|
type FlowRunExecutionEventBody = {
|
|
238
|
+
executionScope: ExecutionWriteScope;
|
|
174
239
|
eventId: string;
|
|
175
240
|
eventType: FlowRunExecutionEventType;
|
|
176
241
|
nodeId?: string;
|
|
@@ -190,24 +255,33 @@ type FlowRunExecutionEventData = {
|
|
|
190
255
|
declare function parseFlowRunExecutionEventData(data: unknown): ContractParseResult<FlowRunExecutionEventData>;
|
|
191
256
|
declare function parseFlowRunExecutionEventBody(body: unknown): ContractParseResult<FlowRunExecutionEventBody>;
|
|
192
257
|
type RegisterFlowRunWaitBody = {
|
|
258
|
+
executionScope: ExecutionWriteScope;
|
|
193
259
|
eventType: string;
|
|
194
260
|
correlationKey: string;
|
|
195
261
|
};
|
|
196
262
|
type CompleteFlowRunWaitBody = {
|
|
197
|
-
|
|
198
|
-
|
|
263
|
+
executionScope: ExecutionWriteScope;
|
|
264
|
+
waitExecutionId: string;
|
|
199
265
|
outcome: "received" | "timed_out";
|
|
200
266
|
eventId?: string;
|
|
201
267
|
};
|
|
202
268
|
type RegisterFlowRunWaitData = {
|
|
203
|
-
|
|
269
|
+
waitExecutionId: string;
|
|
270
|
+
workflowEventType: string;
|
|
204
271
|
};
|
|
205
272
|
type CompleteFlowRunWaitData = {
|
|
206
273
|
completed: true;
|
|
207
274
|
};
|
|
275
|
+
type FlowWaitResolvedEvent = {
|
|
276
|
+
waitExecutionId: string;
|
|
277
|
+
eventId: string;
|
|
278
|
+
payload: unknown;
|
|
279
|
+
};
|
|
208
280
|
declare function parseRegisterFlowRunWaitBody(body: unknown): ContractParseResult<RegisterFlowRunWaitBody>;
|
|
209
281
|
declare function parseCompleteFlowRunWaitBody(body: unknown): ContractParseResult<CompleteFlowRunWaitBody>;
|
|
210
282
|
declare function parseRegisterFlowRunWaitData(data: unknown): ContractParseResult<RegisterFlowRunWaitData>;
|
|
283
|
+
declare function parseCompleteFlowRunWaitData(data: unknown): ContractParseResult<CompleteFlowRunWaitData>;
|
|
284
|
+
declare function parseFlowWaitResolvedEvent(data: unknown): ContractParseResult<FlowWaitResolvedEvent>;
|
|
211
285
|
|
|
212
286
|
declare const INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX = "/internal/flow-versions";
|
|
213
287
|
declare const HANDLER_BUNDLES_ROUTE_SUBPATH = "/:flowVersionId/handler-bundles";
|
|
@@ -761,6 +835,7 @@ type HumanInputResolvedEvent = {
|
|
|
761
835
|
nodeId: string;
|
|
762
836
|
status: "submitted" | "expired";
|
|
763
837
|
};
|
|
838
|
+
declare function parseHumanInputResolvedEvent(value: unknown): ContractParseResult<HumanInputResolvedEvent>;
|
|
764
839
|
type RenderedHumanInputPrompt = {
|
|
765
840
|
title: string;
|
|
766
841
|
body?: string;
|
|
@@ -797,6 +872,7 @@ type PartiallyRenderedHumanInputDelivery = {
|
|
|
797
872
|
}>;
|
|
798
873
|
};
|
|
799
874
|
type CreateHumanInputRequestBody = {
|
|
875
|
+
executionScope: ExecutionWriteScope;
|
|
800
876
|
nodeId: string;
|
|
801
877
|
renderedPrompt: RenderedHumanInputPrompt;
|
|
802
878
|
input: RuntimeHumanInputSpec;
|
|
@@ -850,7 +926,7 @@ type HumanInputRequestView = {
|
|
|
850
926
|
workspaceId: string;
|
|
851
927
|
flowRunId: string;
|
|
852
928
|
nodeId: string;
|
|
853
|
-
status: "pending" | "submitted" | "expired" | "cancelled";
|
|
929
|
+
status: "pending" | "submitted" | "expired" | "cancelled" | "cancelled_by_reset";
|
|
854
930
|
inputKind: string;
|
|
855
931
|
timeout: string;
|
|
856
932
|
expiresAt: string;
|
|
@@ -924,4 +1000,4 @@ declare function deploymentHandshakeResponseProofPayload(input: {
|
|
|
924
1000
|
capabilities: string[];
|
|
925
1001
|
}): string;
|
|
926
1002
|
|
|
927
|
-
export { 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,
|
|
1003
|
+
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 ExecutionAnchor, type ExecutionBinding, type ExecutionBindingConnection, type ExecutionContextCompiled, type ExecutionContextData, type ExecutionLease, type ExecutionWriteScope, 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 FlowExecutionScope, 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_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, 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 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 WorkflowRestartErrorCode, acquireExecutionLeasePath, 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, parseAcquireExecutionLeaseData, parseAcquireExecutionLeaseRequest, parseCompleteFlowRunWaitBody, parseCompleteFlowRunWaitData, parseContextStateCleanupRequestBody, parseContextStateCleanupResponseData, parseContextStateScope, parseCreateHumanInputBody, parseDiscoveryGrantBody, parseDiscoveryRuntimeCredentialBody, parseEgressGrantAuditBody, parseEgressGrantConsumeBody, parseEgressGrantConsumeData, parseEgressGrantData, parseExecutionAnchor, parseExecutionContextData, parseExecutionLease, parseExecutionWriteScope, parseFileMetadataData, parseFileRefData, parseFileRuntimeLimits, parseFileUploadSessionData, parseFlowActionGrantBody, parseFlowExecutionScope, parseFlowRunExecutionEventBody, parseFlowRunExecutionEventData, parseFlowRunResultBody, parseFlowRunResultData, parseFlowRuntimeCredentialBody, parseFlowWaitResolvedEvent, parseHandlerBundle, parseHandlerBundlesData, parseHumanInputAcknowledgeData, parseHumanInputCreateData, parseHumanInputRequestViewData, parseHumanInputResolvedEvent, parseInternalFileAccessData, parsePollingPublishBody, parsePollingRuntimeCredentialBody, parsePollingTriggerContext, parsePollingTriggerDispatchData, parsePollingTriggerGrantBody, parsePublishPollingTickEventsData, parseRegisterFlowRunWaitBody, parseRegisterFlowRunWaitData, parseRuntimeCredentialSessionCredential, parseRuntimeNetwork, 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 };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var re="0.2.11";function u(e){return{ok:!0,value:e}}function r(e){return{ok:!1,reason:e}}function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var Ze="/cleanup-state-scopes";function k(e){if(!i(e)||typeof e.kind!="string")return r("context state scope surface shape is invalid");switch(e.kind){case"webhook-trigger":return oe(e);case"polling-trigger":return ie(e);case"flow-action":return se(e);default:return r("context state scope kind is invalid")}}function et(e){if(!i(e))return r("cleanup request body must be a JSON object");let t=N(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 s=k(o);if(!s.ok)return s;n.push(s.value)}return u({scopes:n})}function tt(e){return!i(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 oe(e){let t=N(e,["kind","workspaceId","triggerInstanceId"]);return t!==void 0?r(`webhook trigger scope does not accept "${t}"`):e.kind!=="webhook-trigger"||!R(e.workspaceId)||!R(e.triggerInstanceId)?r("webhook trigger state scope is invalid"):u({kind:"webhook-trigger",workspaceId:e.workspaceId,triggerInstanceId:e.triggerInstanceId})}function ie(e){let t=N(e,["kind","workspaceId","pollingInstanceId"]);return t!==void 0?r(`polling trigger scope does not accept "${t}"`):e.kind!=="polling-trigger"||!R(e.workspaceId)||!R(e.pollingInstanceId)?r("polling trigger state scope is invalid"):u({kind:"polling-trigger",workspaceId:e.workspaceId,pollingInstanceId:e.pollingInstanceId})}function se(e){let t=N(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"||!R(e.workspaceId)||!R(e.flowId)||!R(e.nodeId)||n!==null&&!R(n)?r("flow action state scope is invalid"):u({kind:"flow-action",workspaceId:e.workspaceId,flowId:e.flowId,nodeId:e.nodeId,connectionId:n})}function R(e){return typeof e=="string"&&e.length>0}function N(e,t){return Object.keys(e).find(n=>!t.includes(n))}var g="/internal/flow-runs",it="/:flowRunId/execution-context";function st(e){return`${g}/${encodeURIComponent(e)}/execution-context`}function F(e){return!i(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 ut(e){if(!i(e))return r("execution context must be a JSON object");let t=e.compiled;if(typeof e.flowRunId!="string"||typeof e.workspaceId!="string"||!i(e.input)||!i(t)||typeof t.irSchemaVersion!="string"||typeof t.interpreterContractVersion!="string"||typeof t.compiledArtifactId!="string"||!i(t.ir)||!Array.isArray(t.ir.nodes)||!ae(e.executionBindings))return r("execution context surface shape is invalid");let n=ue(e.fileRuntime);return n.ok?u({...e,fileRuntime:n.value}):r(n.reason)}function ue(e){if(e===null)return u(null);if(!i(e))return r("fileRuntime must be null or an object");let t=F(e.limits);return t.ok?u({limits:t.value}):r(t.reason)}function ae(e){return Array.isArray(e)?e.every(t=>{if(!i(t))return!1;let n=t.connection,o=k(t.stateScope);return typeof t.nodeId=="string"&&typeof t.toolRef=="string"&&i(t.toolDescriptor)&&i(t.integrationDescriptor)&&i(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}import{parseAblehiErrorDigest as H}from"@ablehi/error-contract";var pt="/:flowRunId/steps/:nodeId/result",ft="/:flowRunId/result",gt="/:flowRunId/execution-events",mt="/:flowRunId/event-waits/:nodeId";function Rt(e,t){return`${g}/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}/result`}function yt(e){return`${g}/${encodeURIComponent(e)}/result`}function kt(e){return`${g}/${encodeURIComponent(e)}/execution-events`}function It(e,t){return`${g}/${encodeURIComponent(e)}/event-waits/${encodeURIComponent(t)}`}function _t(e){if(!i(e))return{ok:!1,kind:"validation",reason:"step record body must be a JSON object"};let t=m(e,["attempt","result","durationMs"]);if(t!==void 0)return{ok:!1,kind:"validation",reason:`step record does not accept the "${t}" field`};let n=e.attempt;if(typeof n!="number"||!Number.isInteger(n)||n<=0)return{ok:!1,kind:"validation",reason:"attempt must be a positive integer"};let o=ce(e.result);if(!o.ok)return o;let s={attempt:n,result:o.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"};s.durationMs=c}return{ok:!0,value:s}}function ce(e){if(!i(e))return{ok:!1,kind:"step_result_invalid",reason:"result must be a JSON object"};let t=e.status;if(t==="succeeded"){let n=m(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=m(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=H(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=m(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=m(e,["status","error"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=H(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 ht(e){return!i(e)||typeof e.flowRunId!="string"||typeof e.nodeId!="string"||!de(e.recorded)?r("step record data surface shape is invalid"):u({flowRunId:e.flowRunId,nodeId:e.nodeId,recorded:e.recorded})}function de(e){return e==="succeeded"||e==="failed"||e==="skipped"||e==="timed_out"}function Et(e){if(!i(e))return r("result body must be a JSON object");let t=m(e,["status","output","error","composition"]);if(t!==void 0)return r(`result does not accept the "${t}" field`);let n=e.status;if(n!=="succeeded"&&n!=="failed")return r('result status must be "succeeded" or "failed"');let o={status:n};if(e.output!==void 0){if(n!=="succeeded")return r("output is only allowed on a succeeded result");o.output=e.output}if(e.error!==void 0){if(n!=="failed")return r("error is only allowed on a failed result");let s=H(e.error);if(!s.ok)return r(`result error must be an AblehiErrorDigest: ${s.reason}`);o.error=s.value}if(n==="failed"&&o.error===void 0)return r("a failed result must carry an AblehiErrorDigest");if(e.composition!==void 0){if(n!=="succeeded")return r("composition is only allowed on a succeeded result");o.composition=e.composition}return u(o)}function wt(e){return i(e)?u(e):r("flow run result data must be a JSON object")}var le=["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 xt(e){if(!i(e))return r("execution event data must be a JSON object");let t=m(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 Tt(e){if(!i(e))return r("execution event body must be a JSON object");let t=m(e,["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.eventId;if(typeof n!="string"||n.length===0)return r("eventId must be a non-empty string");let o=e.eventType;if(!pe(o))return r("eventType is not a known flow execution event type");let s=e.occurredAt;if(typeof s!="string"||s.length===0)return r("occurredAt must be a non-empty string");let c={eventId:n,eventType:o,occurredAt:s};for(let a of["nodeId","stepRunId","errorId","payloadRef"]){let d=e[a];if(d!==void 0){if(typeof d!="string"||d.length===0)return r(`${a} must be a non-empty string`);c[a]=d}}for(let a of["attempt","durationMs"]){let d=e[a];if(d!==void 0){if(typeof d!="number"||!Number.isFinite(d)||!Number.isInteger(d)||d<0)return r(`${a} must be a non-negative integer`);c[a]=d}}if(e.inputFact!==void 0){if(o!=="step_started")return r("inputFact is only allowed on step_started events");if(c.attempt===void 0)return r("inputFact requires attempt");let a=fe(e.inputFact);if(!a.ok)return a;c.inputFact=a.value}return u(c)}function pe(e){return typeof e=="string"&&le.includes(e)}function fe(e){if(!i(e))return r("inputFact must be a JSON object");let t=m(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(!i(o))return r("inputFact.domain must be a JSON object");let s=m(o,["irSchemaVersion","interpreterContractVersion","compiledArtifactId","nodeId","algorithmVersion"]);return s!==void 0?r(`inputFact.domain does not accept the "${s}" 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 ge=/^[A-Za-z0-9_-]{1,100}$/;function Pt(e){if(!i(e))return r("register body must be a JSON object");let t=m(e,["eventType","correlationKey"]);if(t!==void 0)return r(`register wait does not accept the "${t}" field`);let n=j(e.eventType);if(!n.ok)return r(n.reason);let o=e.correlationKey;return typeof o!="string"||o.length===0?r("correlationKey must be a non-empty string"):u({eventType:n.value,correlationKey:o})}function vt(e){if(!i(e))return r("complete body must be a JSON object");let t=m(e,["eventType","correlationKey","outcome","eventId"]);if(t!==void 0)return r(`complete wait does not accept the "${t}" field`);let n=e.outcome;if(n!=="received"&&n!=="timed_out")return r('outcome must be "received" or "timed_out"');let o=j(e.eventType);if(!o.ok)return r(o.reason);let s=e.correlationKey;if(typeof s!="string"||s.length===0)return r("correlationKey must be a non-empty string");let c={eventType:o.value,correlationKey:s,outcome:n};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 St(e){return!i(e)||e.registered!==!0?r("register wait data surface shape is invalid"):u({registered:!0})}function j(e){return typeof e!="string"||e.length===0?r("eventType must be a non-empty string"):ge.test(e)?u(e):r("eventType must match ^[A-Za-z0-9_-]{1,100}$")}function m(e,t){return Object.keys(e).find(n=>!t.includes(n))}var me="/internal/flow-versions",Ct="/:flowVersionId/handler-bundles",G="/internal/installations",At="/:installationId/handler-bundles";function Nt(e,t){return`${me}/${encodeURIComponent(e)}/handler-bundles?compiledArtifactId=${encodeURIComponent(t)}`}function Ot(e){return`${G}/${encodeURIComponent(e.installationId)}/handler-bundles?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var Re=new Set(["managed_only","managed_plus_unmanaged_sdk"]);function O(e){if(!_(e))return $("runtimeNetwork must be a JSON object");let t=e.networkModel;return typeof t!="string"||!Re.has(t)?$("runtimeNetwork.networkModel is unknown"):!J(e.apiHosts)||!J(e.authHosts)||typeof e.httpsOnly!="boolean"?$("runtimeNetwork host/https fields are invalid"):{ok:!0,value:{networkModel:t,apiHosts:e.apiHosts,authHosts:e.authHosts,httpsOnly:e.httpsOnly}}}function Dt(e){if(!_(e)||typeof e.flowVersionId!="string"||typeof e.compiledArtifactId!="string"||!Array.isArray(e.bundles))return T("handler bundles data surface shape is invalid");let t=X(e.bundles);return t.ok?{ok:!0,value:{flowVersionId:e.flowVersionId,compiledArtifactId:e.compiledArtifactId,bundles:t.value}}:t}function Ut(e){if(!_(e)||typeof e.installationId!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.bundles))return T("tool handler bundles data surface shape is invalid");let t=X(e.bundles);return t.ok?{ok:!0,value:{installationId:e.installationId,artifactDigest:e.artifactDigest,bundles:t.value}}:t}function X(e){let t=[];for(let n of e){let o=ye(n);if(!o.ok)return o;t.push(o.value)}return{ok:!0,value:t}}function ye(e){if(!_(e)||typeof e.toolRef!="string"||e.kind!=="handler"&&e.kind!=="request")return T("handler bundle entry shape is invalid");if(e.kind==="request"){if(e.module!==void 0)return T("a request bundle must not carry a module");let o=O(e.runtimeNetwork);return o.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"request",runtimeNetwork:o.value}}:o}let t=e.module;if(!_(t)||typeof t.entry!="string"||t.entry.length===0||!ke(t.files))return T("a handler bundle must carry a { entry, files } module");let n=O(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 T(e){return{ok:!1,kind:"shape",reason:e}}function $(e){return{ok:!1,kind:"runtime_network",reason:e}}function _(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function J(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function ke(e){return _(e)&&Object.values(e).every(t=>typeof t=="string")}var P="/internal/webhook-trigger-instances",Kt="/:triggerInstanceId/context",Lt="/:triggerInstanceId/handler-bundles",qt="/:triggerInstanceId/deliveries/:deliveryId",Wt="/:triggerInstanceId/events",Vt="/:triggerInstanceId/rearm",v=e=>`${P}/${encodeURIComponent(e)}`;function jt(e,t){return`${v(e)}/context?artifactDigest=${encodeURIComponent(t)}`}function Jt(e,t){return`${v(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function Xt(e,t){return`${v(e)}/deliveries/${encodeURIComponent(t)}`}function Yt(e){return`${v(e)}/events`}function zt(e){return`${v(e)}/rearm`}var Qt="/:installationId/webhook-protocol-adapter-bundle";function Zt(e){return`${G}/${encodeURIComponent(e.installationId)}/webhook-protocol-adapter-bundle?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var en="modules/webhook/protocol-adapter.js";function tn(e){return`modules/webhook/protocol-adapter-${e}.js`}function nn(e){let t=i(e)?k(e.stateScope):r("webhook watcher context state scope is invalid");return!i(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!i(e.inputs)||e.connection!==null&&!Ie(e.connection)||!_e(e.runtime)||!t.ok||t.value.kind!=="webhook-trigger"?r("webhook watcher context surface shape is invalid"):u(e)}function Ie(e){return i(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function _e(e){if(!i(e)||e.type!=="webhook"||typeof e.trigger_ref!="string")return!1;let t=e.webhook;return i(t)&&typeof t.event_handler_module=="string"&&typeof t.enable_handler_module=="string"&&typeof t.disable_handler_module=="string"}function he(e){if(!i(e)||typeof e.deliveryId!="string"||typeof e.receivedAt!="string"||!i(e.request))return r("webhook delivery surface shape is invalid");let t=e.request;return t.method!=="POST"||!i(t.headers)||typeof t.rawBody!="string"?r("webhook delivery request shape is invalid"):u(e)}function M(e){if(!i(e)||typeof e.token!="string"||typeof e.expiresAt!="string")return r("trigger file runtime dispatch shape is invalid");let t=F(e.limits);return t.ok?u({token:e.token,expiresAt:e.expiresAt,limits:t.value}):r(t.reason)}function rn(e){if(!i(e))return r("webhook delivery dispatch data is invalid");let t=he(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=M(n);return o.ok?u({delivery:t.value,fileRuntime:o.value}):r(o.reason)}function on(e){if(!i(e)||typeof e.triggerRef!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.modules)||!e.modules.every(Ee))return{ok:!1,kind:"shape",reason:"trigger handler bundles data surface shape is invalid"};let t=O(e.runtimeNetwork);return t.ok?{ok:!0,value:{triggerRef:e.triggerRef,artifactDigest:e.artifactDigest,modules:e.modules,runtimeNetwork:t.value}}:t}function Ee(e){return i(e)&&typeof e.specifier=="string"&&e.specifier.length>0&&typeof e.source=="string"}function sn(e){if(!i(e))return r("publish events body must be a JSON object");let t=K(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 s=[];for(let c of o){let a=we(c);if(!a.ok)return a;s.push(a.value)}return u({deliveryId:n,events:s})}function we(e){if(!i(e))return r("each event must be a JSON object");let t=K(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(!i(e.payload))return r("event payload must be a JSON object");let s={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");s.dedupeKey=e.dedupeKey}return u(s)}function un(e){if(!i(e))return r("rearm body must be a JSON object");let t=K(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 K(e,t){return Object.keys(e).find(n=>!t.includes(n))}var S="/internal/polling-trigger-instances",pn="/:pollingInstanceId/context",fn="/:pollingInstanceId/handler-bundles",gn="/:pollingInstanceId/ticks/:tickId/events",L=e=>`${S}/${encodeURIComponent(e)}`;function mn(e,t,n){return`${L(e)}/context?artifactDigest=${encodeURIComponent(t)}&tickId=${encodeURIComponent(n)}`}function Rn(e,t){return`${L(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function yn(e,t){return`${L(e)}/ticks/${encodeURIComponent(t)}/events`}function xe(e){let t=i(e)?k(e.stateScope):r("polling trigger context state scope is invalid");return!i(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!i(e.inputs)||e.connection!==null&&!Te(e.connection)||!Pe(e.runtime)||!t.ok||t.value.kind!=="polling-trigger"||!Se(e.tick)||!be(e.limits)?r("polling trigger context surface shape is invalid"):u(e)}function kn(e){if(!i(e))return r("polling trigger dispatch data is invalid");let t=xe(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=M(n);return o.ok?u({context:t.value,fileRuntime:o.value}):r(o.reason)}function Te(e){return i(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function Pe(e){if(!i(e)||e.type!=="polling"||typeof e.trigger_id!="string"||typeof e.trigger_ref!="string"||!ve(e.file_outputs))return!1;let t=e.polling;if(!i(t)||typeof t.run_handler_module!="string")return!1;let n=t.schedule;if(!i(n)||n.type!=="interval"||typeof n.every_seconds!="number")return!1;let o=t.dedup;return i(o)&&(o.strategy==="cursor"||o.strategy==="hash"||o.strategy==="id_field")}function ve(e){return e===void 0?!0:Array.isArray(e)&&e.length>0&&e.every(t=>i(t)&&typeof t.field=="string"&&t.field.length>0)}function Se(e){return i(e)&&typeof e.tickId=="string"&&typeof e.scheduledAt=="string"&&typeof e.attempt=="number"}function be(e){return i(e)&&typeof e.maxEventsPerTick=="number"}function In(e){if(!i(e))return r("publish body must be a JSON object");let t=Y(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=Ce(c);if(!a.ok)return a;o.push(a.value)}let s={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");s.nextCursor=c}return u(s)}function Ce(e){if(!i(e))return r("each event must be a JSON object");let t=Y(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(!i(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 _n(e){return!i(e)||typeof e.tickId!="string"||typeof e.cursorUpdated!="boolean"||!Array.isArray(e.results)||!e.results.every(Ae)?r("publish polling tick events data surface shape is invalid"):u(e)}function Ae(e){return i(e)&&typeof e.eventId=="string"&&typeof e.dedupeKey=="string"&&typeof e.duplicate=="boolean"&&(e.flowRunId===null||typeof e.flowRunId=="string")}function Y(e,t){return Object.keys(e).find(n=>!t.includes(n))}var z="/internal/egress-grants",q="/internal/tool-invocations",W="/internal/discovery-invocations",Pn="/:flowRunId/egress-grant",vn="/:invocationId/egress-grant",Sn="/:discoveryInvocationId/egress-grant",bn="/:pollingInstanceId/egress-grant",Cn="/:triggerInstanceId/egress-grant",An="/:grantId/consume",Nn="/:grantId/audit",On=e=>`${g}/${encodeURIComponent(e)}/egress-grant`,Dn=e=>`${q}/${encodeURIComponent(e)}/egress-grant`,Un=e=>`${W}/${encodeURIComponent(e)}/egress-grant`,Bn=e=>`${S}/${encodeURIComponent(e)}/egress-grant`,Fn=e=>`${P}/${encodeURIComponent(e)}/egress-grant`,Hn=e=>`${z}/${encodeURIComponent(e)}/consume`,$n=e=>`${z}/${encodeURIComponent(e)}/audit`,Ne=["flow_action","single_tool","discovery","polling_trigger","webhook_trigger"],Oe=/^[A-Za-z0-9][A-Za-z0-9:_+/=.-]{15,1023}$/;function h(e){return typeof e=="string"&&Oe.test(e)}function De(e){if(!i(e)||e.body_type!=="multipart")return!1;let t=e.body;if(!i(t))return!1;let n=t.parts;return Array.isArray(n)?n.some(o=>i(o)?o.kind==="file"&&typeof o.file_id=="string"&&o.file_id.length>0:!1):!1}function l(e){return{ok:!1,kind:"shape",reason:e}}function E(){return{ok:!1,kind:"request_digest",reason:"request digest is missing or malformed"}}function b(e,t){if(!i(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 C(e){if(!i(e))return"request must be a JSON object"}function Gn(e){let t=b(e,["nodeId","request","requestDigest"]);if(!t.ok)return l(t.reason);let n=t.record.nodeId;if(typeof n!="string"||n.length===0)return l("nodeId is required");let o=C(t.record.request);if(o!==void 0)return l(o);let s=t.record.requestDigest;return h(s)?{ok:!0,value:{nodeId:n,requestDigest:s,requestHasMultipartFiles:De(t.record.request)}}:E()}function Mn(e){let t=b(e,["request","requestDigest"]);if(!t.ok)return l(t.reason);let n=C(t.record.request);if(n!==void 0)return l(n);let o=t.record.requestDigest;return h(o)?{ok:!0,value:{requestDigest:o}}:E()}function Kn(e){let t=b(e,["request","requestDigest"]);if(!t.ok)return l(t.reason);let n=C(t.record.request);if(n!==void 0)return l(n);let o=t.record.requestDigest;return h(o)?{ok:!0,value:{requestDigest:o}}:E()}function Ln(e){let t=b(e,["tickId","request","requestDigest"]);if(!t.ok)return l(t.reason);let n=t.record.tickId;if(typeof n!="string"||n.length===0)return l("tickId is required");let o=C(t.record.request);if(o!==void 0)return l(o);let s=t.record.requestDigest;return h(s)?{ok:!0,value:{tickId:n,requestDigest:s}}:E()}function qn(e){let t=b(e,["phase","lifecycle","deliveryId","request","requestDigest"]);if(!t.ok)return l(t.reason);let n=t.record.phase;if(n!=="lifecycle"&&n!=="handler")return l('phase must be "lifecycle" or "handler"');let o=t.record.lifecycle,s;if(o!==void 0){if(o!=="enable"&&o!=="disable"&&o!=="renew")return l('lifecycle must be "enable", "disable", or "renew"');s=o}if(n==="lifecycle"&&s===void 0)return l("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 l("deliveryId must be a non-empty string");a=c}if(n==="handler"&&a===void 0)return l("deliveryId is required for the handler phase");let d=C(t.record.request);if(d!==void 0)return l(d);let I=t.record.requestDigest;return h(I)?{ok:!0,value:{phase:n,...s!==void 0?{lifecycle:s}:{},...a!==void 0?{deliveryId:a}:{},requestDigest:I}}:E()}function Q(e){return Ne.includes(e)?e:void 0}var Ue=["scopeKind","scopeId","requestDigest"];function Wn(e){if(!i(e))return l("consume body must be a JSON object");for(let s of Object.keys(e))if(!Ue.includes(s))return l(`consume does not accept the "${s}" field`);let t=Q(e.scopeKind);if(t===void 0)return l("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return l("scopeId is required");let o=e.requestDigest;return h(o)?{ok:!0,value:{scopeKind:t,scopeId:n,requestDigest:o}}:E()}var Be=["scopeKind","scopeId","providerHost","status","durationMs","requestBytes","responseBytes","errorCode"];function D(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 Vn(e){if(!i(e))return l("audit body must be a JSON object");for(let p of Object.keys(e))if(!Be.includes(p))return l(`audit does not accept the "${p}" field`);let t=Q(e.scopeKind);if(t===void 0)return l("scopeKind is invalid");let n=e.scopeId;if(typeof n!="string"||n.length===0)return l("scopeId is required");let o=e.providerHost;if(typeof o!="string"||o.length===0)return l("providerHost is required");let s=D(e.durationMs,"durationMs");if(!s.ok)return l(s.reason);let c;if(e.status!==void 0){let p=D(e.status,"status");if(!p.ok)return l(p.reason);c=p.value}let a;if(e.requestBytes!==void 0){let p=D(e.requestBytes,"requestBytes");if(!p.ok)return l(p.reason);a=p.value}let d;if(e.responseBytes!==void 0){let p=D(e.responseBytes,"responseBytes");if(!p.ok)return l(p.reason);d=p.value}let I;if(e.errorCode!==void 0){let p=e.errorCode;if(typeof p!="string"||p.length===0)return l("errorCode must be a non-empty string");I=p}return{ok:!0,value:{scopeKind:t,scopeId:n,providerHost:o,...c!==void 0?{status:c}:{},durationMs:s.value,...a!==void 0?{requestBytes:a}:{},...d!==void 0?{responseBytes:d}:{},...I!==void 0?{errorCode:I}:{}}}}function jn(e){return!i(e)||!i(e.grant)?r("egress grant envelope must carry a grant object"):u(e.grant)}function Jn(e){return!i(e)||e.consumed!==!0?r("egress grant consume data must carry consumed:true"):u({consumed:!0})}var tr="/:flowRunId/runtime-credential",nr="/:invocationId/runtime-credential",rr="/:discoveryInvocationId/runtime-credential",or="/:pollingInstanceId/runtime-credential",ir="/:triggerInstanceId/runtime-credential",sr=e=>`${g}/${encodeURIComponent(e)}/runtime-credential`,ur=e=>`${q}/${encodeURIComponent(e)}/runtime-credential`,ar=e=>`${W}/${encodeURIComponent(e)}/runtime-credential`,cr=e=>`${S}/${encodeURIComponent(e)}/runtime-credential`,dr=e=>`${P}/${encodeURIComponent(e)}/runtime-credential`,lr=["flow_action","tool_invoke","discovery","polling_trigger","webhook_trigger"];function A(e,t){if(!i(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 pr(e){let t=A(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 fr(e){let t=A(e??{},[]);return t.ok?u(null):r(t.reason)}function gr(e){let t=A(e??{},[]);return t.ok?u(null):r(t.reason)}function mr(e){let t=A(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 Rr(e){let t=A(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,s=t.record.deliveryId;if(s!==void 0){if(typeof s!="string"||s.length===0)return r("deliveryId must be a non-empty string");o=s}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 yr(e){return!i(e)||typeof e.sessionId!="string"||typeof e.connectionId!="string"||typeof e.authProfileRef!="string"||typeof e.authType!="string"||!i(e.credential)?r("runtime credential session must carry sessionId, connectionId, auth profile facts and a credential object"):u(e.credential)}function U(e){return!i(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 V(e){return!i(e)||e.method!=="GET"&&e.method!=="PUT"||typeof e.url!="string"||typeof e.expires_at!="string"||!$e(e.headers)?r("presigned file URL data is invalid"):u(e)}function Fe(e){if(!i(e))return r("file upload session data is invalid");let t=U(e.file);if(!t.ok)return r(t.reason);let n=V(e.upload);return n.ok?u({file:t.value,upload:n.value}):r(n.reason)}function He(e){if(!i(e))return r("file metadata data is invalid");let t=U(e.file);return t.ok?u({file:t.value}):r(t.reason)}function $e(e){return i(e)?Object.values(e).every(t=>typeof t=="string"):!1}var w="/internal/files",wr="/upload-session",xr="/:fileId/complete",Tr="/:fileId/access",Pr="/:fileId/stat",vr="/:fileId/content",Sr=()=>w,br=()=>`${w}/upload-session`,Cr=e=>`${w}/${encodeURIComponent(e)}/complete`,Ar=(e,t)=>`${w}/${encodeURIComponent(e)}/access?intent=${encodeURIComponent(t)}`,Z=e=>`?scope_kind=${encodeURIComponent(e.scopeKind)}&scope_id=${encodeURIComponent(e.scopeId)}`,Nr=(e,t)=>`${w}/${encodeURIComponent(e)}/stat${Z(t)}`,Or=(e,t)=>`${w}/${encodeURIComponent(e)}/content${Z(t)}`;function Dr(e){if(!i(e))return r("internal file access data is invalid");if(e.intent==="runtime_read"||e.intent==="provider_multipart"){let t=U(e.file);if(!t.ok)return r(t.reason);let n=V(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")}var Hr="/:flowRunId/human-inputs",$r="/:flowRunId/human-inputs/:requestId",Gr="/:flowRunId/human-inputs/:requestId/expire",Mr="/:flowRunId/human-inputs/:requestId/acknowledge",Ge=e=>`${g}/${encodeURIComponent(e)}/human-inputs`,ee=(e,t)=>`${Ge(e)}/${encodeURIComponent(t)}`,Kr=(e,t)=>`${ee(e,t)}/expire`,Lr=(e,t)=>`${ee(e,t)}/acknowledge`,Me="human_input_resolved";function qr(e){return`${Me}_${e}`}function f(e){return{ok:!1,reason:e}}function y(e,t){return i(e)?{ok:!0,value:e}:f(`${t} must be an object`)}function x(e,t){return typeof e!="string"||e.length===0?f(`${t} must be a non-empty string`):{ok:!0,value:e}}var Ke=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;function Le(e,t){return typeof e!="string"||!Ke.test(e)||Number.isNaN(Date.parse(e))?f(`${t} must be an ISO-8601 timestamp`):{ok:!0,value:e}}function qe(e){let t=y(e,"renderedPrompt");if(!t.ok)return t;let n=x(t.value.title,"renderedPrompt.title");if(!n.ok)return n;let o={title:n.value};if(t.value.body!==void 0){if(typeof t.value.body!="string")return f("renderedPrompt.body must be a string");o.body=t.value.body}if(t.value.format!==void 0){if(t.value.format!=="plain"&&t.value.format!=="markdown")return f("renderedPrompt.format is invalid");o.format=t.value.format}return{ok:!0,value:o}}function We(e){let t=y(e,"input");if(!t.ok)return t;let n=t.value.kind;if(n==="choice"){if(!Array.isArray(t.value.choices))return f("input.choices must be an array")}else if(n!=="text")if(n==="form"){if(!Array.isArray(t.value.fields))return f("input.fields must be an array")}else return f("input.kind is invalid");return{ok:!0,value:t.value}}function Ve(e){if(e==null)return{ok:!0,value:void 0};let t=y(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 f("partiallyRenderedDelivery.actions must be an array");let o=[];for(let s of n){let c=y(s,"delivery action");if(!c.ok)return c;let a=x(c.value.id,"delivery action id");if(!a.ok)return a;let d=te(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 te(e,t){let n=y(e,t);if(!n.ok)return n;let o={};for(let[s,c]of Object.entries(n.value)){let a=ne(c,`${t}.${s}`);if(!a.ok)return a;o[s]=a.value}return{ok:!0,value:o}}function ne(e,t){let n=y(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 s=x(n.value.path,`${t}.path`);return s.ok?{ok:!0,value:{kind:"human_input_ref",path:s.value}}:s}case"array":{if(!Array.isArray(n.value.items))return f(`${t}.items must be an array`);let s=[];for(let[c,a]of n.value.items.entries()){let d=ne(a,`${t}[${c}]`);if(!d.ok)return d;s.push(d.value)}return{ok:!0,value:{kind:"array",items:s}}}case"object":{let s=te(n.value.entries,`${t}.entries`);return s.ok?{ok:!0,value:{kind:"object",entries:s.value}}:s}case"template":{if(!Array.isArray(n.value.parts))return f(`${t}.parts must be an array`);let s=[];for(let[c,a]of n.value.parts.entries()){let d=je(a,`${t}.parts[${c}]`);if(!d.ok)return d;s.push(d.value)}return{ok:!0,value:{kind:"template",parts:s}}}default:return f(`${t}.kind is invalid`)}}function je(e,t){let n=y(e,t);if(!n.ok)return n;let o=n.value.kind;if(o==="literal")return typeof n.value.value!="string"?f(`${t}.value must be a string`):{ok:!0,value:{kind:"literal",value:n.value.value}};if(o==="human_input_ref"){let s=x(n.value.path,`${t}.path`);return s.ok?{ok:!0,value:{kind:"human_input_ref",path:s.value}}:s}return f(`${t}.kind is invalid`)}function Wr(e){let t=y(e,"request body");if(!t.ok)return r(t.reason);let n=x(t.value.nodeId,"nodeId");if(!n.ok)return r(n.reason);let o=qe(t.value.renderedPrompt);if(!o.ok)return r(o.reason);let s=We(t.value.input);if(!s.ok)return r(s.reason);let c=x(t.value.timeout,"timeout");if(!c.ok)return r(c.reason);let a=Le(t.value.expiresAt,"expiresAt");if(!a.ok)return r(a.reason);let d=Ve(t.value.partiallyRenderedDelivery);return d.ok?u({nodeId:n.value,renderedPrompt:o.value,input:s.value,timeout:c.value,expiresAt:a.value,...d.value!==void 0?{partiallyRenderedDelivery:d.value}:{}}):r(d.reason)}function Je(e){return!i(e)||typeof e.id!="string"||e.id.length===0||typeof e.nodeId!="string"||typeof e.status!="string"||!(e.output===null||i(e.output))?r("human input request view must carry id, nodeId, status and output"):u(e)}function Vr(e){if(!i(e)||typeof e.created!="boolean")return r("human input create data must carry created:boolean");let t=Je(e.request);return t.ok?u({created:e.created,request:t.value}):t}function jr(e){return!i(e)||e.acknowledged!==!0?r("human input acknowledge data must carry acknowledged:true"):u({acknowledged:!0})}var Xr="ablehi-wfp-user-runtime-manifest/v1",Yr="unknown";function zr(e){return e.endsWith(".js")?`${e.slice(0,-3)}.manifest.json`:`${e}.manifest.json`}var Zr="/internal/deployment-handshake",Xe=["start","terminate","send-event","start-webhook-watcher","run-polling-tick","invoke-tool","invoke-discovery","invoke-trigger-handler","invoke-webhook-protocol-adapter","deployment-handshake"],eo=Xe,to="HANDSHAKE_REQUEST_INVALID",no="HANDSHAKE_SECRET_UNCONFIGURED",ro="HANDSHAKE_SECRET_MISMATCH",oo="HANDSHAKE_CONTRACT_VERSION_MISMATCH",io="HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH",so="HANDSHAKE_CAPABILITY_MISSING";function uo(e){return[e.nonce,e.timestamp,e.contractVersion,e.dispatchNamespace].map(n=>`${n.length}:${n}`).join(".")}function ao(e){return["response",e.nonce,e.contractVersion,e.dispatchNamespace,...e.capabilities].map(n=>`${n.length}:${n}`).join(".")}export{Ze as CONTEXT_STATE_CLEANUP_ROUTE_PATH,Xe as DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES,eo as DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES,Zr as DEPLOYMENT_HANDSHAKE_ROUTE,Sn as DISCOVERY_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,rr as DISCOVERY_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Nn as EGRESS_GRANT_AUDIT_ROUTE_SUBPATH,An as EGRESS_GRANT_CONSUME_ROUTE_SUBPATH,Ne as EGRESS_GRANT_SCOPE_KINDS,mt as EVENT_WAIT_ROUTE_SUBPATH,it as EXECUTION_CONTEXT_ROUTE_SUBPATH,Tr as FILE_ACCESS_ROUTE_SUBPATH,xr as FILE_COMPLETE_ROUTE_SUBPATH,vr as FILE_CONTENT_ROUTE_SUBPATH,Pr as FILE_STAT_ROUTE_SUBPATH,wr as FILE_UPLOAD_SESSION_ROUTE_SUBPATH,Pn as FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH,gt as FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH,le as FLOW_RUN_EXECUTION_EVENT_TYPES,ft as FLOW_RUN_RESULT_ROUTE_SUBPATH,tr as FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Ct as HANDLER_BUNDLES_ROUTE_SUBPATH,so as HANDSHAKE_CAPABILITY_MISSING,oo as HANDSHAKE_CONTRACT_VERSION_MISMATCH,io as HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH,to as HANDSHAKE_REQUEST_INVALID,ro as HANDSHAKE_SECRET_MISMATCH,no as HANDSHAKE_SECRET_UNCONFIGURED,Hr as HUMAN_INPUTS_ROUTE_SUBPATH,Mr as HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH,Gr as HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH,$r as HUMAN_INPUT_REQUEST_ROUTE_SUBPATH,Me as HUMAN_INPUT_RESOLVED_EVENT_PREFIX,W as INTERNAL_DISCOVERY_INVOCATIONS_ROUTE_PREFIX,z as INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX,w as INTERNAL_FILES_ROUTE_PREFIX,g as INTERNAL_FLOW_RUNS_ROUTE_PREFIX,me as INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX,G as INTERNAL_INSTALLATIONS_ROUTE_PREFIX,S as INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX,q as INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX,P as INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX,pn as POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH,bn as POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,fn as POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,or as POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,gn as POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH,lr as RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS,re as SERVER_EXECUTION_CONTRACT_VERSION,pt as STEP_RESULT_ROUTE_SUBPATH,At as TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH,vn as TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,nr as TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Qt as WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH,en as WEBHOOK_PROTOCOL_ADAPTER_MODULE,Kt as WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH,qt as WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH,Cn as WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,Wt as WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH,Lt as WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,Vt as WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH,ir as WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Xr as WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION,Yr as WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION,uo as deploymentHandshakeProbePayload,ao as deploymentHandshakeResponseProofPayload,Un as discoveryInvocationEgressGrantPath,ar as discoveryInvocationRuntimeCredentialPath,$n as egressGrantAuditPath,Hn as egressGrantConsumePath,It as eventWaitPath,st as executionContextPath,On as flowRunEgressGrantPath,kt as flowRunExecutionEventsPath,yt as flowRunResultPath,sr as flowRunRuntimeCredentialPath,tn as flowScriptProtocolAdapterModuleName,Nt as handlerBundlesPath,Lr as humanInputAcknowledgePath,Kr as humanInputExpirePath,ee as humanInputRequestPath,qr as humanInputResolvedEventType,Ge as humanInputsPath,Ar as internalFileAccessPath,Cr as internalFileCompletePath,Or as internalFileContentPath,Nr as internalFileStatPath,br as internalFileUploadSessionPath,Sr as internalFilesPath,h as isValidRequestDigest,vt as parseCompleteFlowRunWaitBody,et as parseContextStateCleanupRequestBody,tt as parseContextStateCleanupResponseData,k as parseContextStateScope,Wr as parseCreateHumanInputBody,Kn as parseDiscoveryGrantBody,gr as parseDiscoveryRuntimeCredentialBody,Vn as parseEgressGrantAuditBody,Wn as parseEgressGrantConsumeBody,Jn as parseEgressGrantConsumeData,jn as parseEgressGrantData,ut as parseExecutionContextData,He as parseFileMetadataData,U as parseFileRefData,F as parseFileRuntimeLimits,Fe as parseFileUploadSessionData,Gn as parseFlowActionGrantBody,Tt as parseFlowRunExecutionEventBody,xt as parseFlowRunExecutionEventData,Et as parseFlowRunResultBody,wt as parseFlowRunResultData,pr as parseFlowRuntimeCredentialBody,ye as parseHandlerBundle,Dt as parseHandlerBundlesData,jr as parseHumanInputAcknowledgeData,Vr as parseHumanInputCreateData,Je as parseHumanInputRequestViewData,Dr as parseInternalFileAccessData,In as parsePollingPublishBody,mr as parsePollingRuntimeCredentialBody,xe as parsePollingTriggerContext,kn as parsePollingTriggerDispatchData,Ln as parsePollingTriggerGrantBody,_n as parsePublishPollingTickEventsData,Pt as parseRegisterFlowRunWaitBody,St as parseRegisterFlowRunWaitData,yr as parseRuntimeCredentialSessionCredential,O as parseRuntimeNetwork,Mn as parseSingleToolGrantBody,fr as parseSingleToolRuntimeCredentialBody,_t as parseStepRecordBody,ht as parseStepRecordData,Ut as parseToolHandlerBundlesData,M as parseTriggerFileRuntimeDispatch,on as parseTriggerHandlerBundlesData,he as parseWebhookDelivery,rn as parseWebhookDeliveryDispatchData,sn as parseWebhookPublishEventsBody,un as parseWebhookRearmBody,Rr as parseWebhookRuntimeCredentialBody,qn as parseWebhookTriggerGrantBody,nn as parseWebhookWatcherContext,mn as pollingTriggerContextPath,Bn as pollingTriggerEgressGrantPath,Rn as pollingTriggerHandlerBundlesPath,cr as pollingTriggerRuntimeCredentialPath,yn as pollingTriggerTickEventsPath,De as requestHasMultipartFileParts,Rt as stepResultPath,Ot as toolHandlerBundlesPath,Dn as toolInvocationEgressGrantPath,ur as toolInvocationRuntimeCredentialPath,Zt as webhookProtocolAdapterBundlePath,jt as webhookTriggerContextPath,Xt as webhookTriggerDeliveryPath,Fn as webhookTriggerEgressGrantPath,Yt as webhookTriggerEventsPath,Jt as webhookTriggerHandlerBundlesPath,zt as webhookTriggerRearmPath,dr as webhookTriggerRuntimeCredentialPath,zr as wfpUserRuntimeManifestPath};
|
|
1
|
+
var de="0.3.0";function u(e){return{ok:!0,value:e}}function r(e){return{ok:!1,reason:e}}function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var dt="/cleanup-state-scopes";function x(e){if(!i(e)||typeof e.kind!="string")return r("context state scope surface shape is invalid");switch(e.kind){case"webhook-trigger":return pe(e);case"polling-trigger":return le(e);case"flow-action":return fe(e);default:return r("context state scope kind is invalid")}}function pt(e){if(!i(e))return r("cleanup request body must be a JSON object");let t=U(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 s=x(o);if(!s.ok)return s;n.push(s.value)}return u({scopes:n})}function lt(e){return!i(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 pe(e){let t=U(e,["kind","workspaceId","triggerInstanceId"]);return t!==void 0?r(`webhook trigger scope does not accept "${t}"`):e.kind!=="webhook-trigger"||!E(e.workspaceId)||!E(e.triggerInstanceId)?r("webhook trigger state scope is invalid"):u({kind:"webhook-trigger",workspaceId:e.workspaceId,triggerInstanceId:e.triggerInstanceId})}function le(e){let t=U(e,["kind","workspaceId","pollingInstanceId"]);return t!==void 0?r(`polling trigger scope does not accept "${t}"`):e.kind!=="polling-trigger"||!E(e.workspaceId)||!E(e.pollingInstanceId)?r("polling trigger state scope is invalid"):u({kind:"polling-trigger",workspaceId:e.workspaceId,pollingInstanceId:e.pollingInstanceId})}function fe(e){let t=U(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(e.workspaceId)||!E(e.flowId)||!E(e.nodeId)||n!==null&&!E(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(e){return typeof e=="string"&&e.length>0}function U(e,t){return Object.keys(e).find(n=>!t.includes(n))}import{parseFlowDefinition as Ie}from"@ablehi/flow-contract";var mt="/:flowRunId/execution-leases",It="/restart",yt="WORKFLOW_RESTART_REQUEST_INVALID",kt="WORKFLOW_RESTART_INSTANCE_UNAVAILABLE",Et="WORKFLOW_RESTART_REJECTED",_t="RUN_DISPATCH_UNAVAILABLE",xt="EXECUTION_LEASE_INVALID",ht="EXECUTION_LEASE_SUPERSEDED",wt="WAIT_EXECUTION_SUPERSEDED",Tt="HUMAN_INPUT_CANCELLED_BY_RESET";function St(e){return`${g}/${encodeURIComponent(e)}/execution-leases`}var ge=/^generation:[A-Za-z0-9][A-Za-z0-9._:-]{0,239}$/;function Y(e){return!i(e)||!y(e,e.kind==="standalone"?["kind"]:["kind","productRunId"])?r("execution scope shape is invalid"):e.kind==="standalone"?u({kind:"standalone"}):e.kind==="automation_app"&&I(e.productRunId)?u({kind:"automation_app",productRunId:e.productRunId}):r("execution scope discriminator is invalid")}function Q(e){return i(e)?e.kind==="terminal"&&y(e,["kind"])?u({kind:"terminal"}):e.kind==="node"&&y(e,["kind","nodeId"])&&I(e.nodeId)?u({kind:"node",nodeId:e.nodeId}):r("execution anchor shape is invalid"):r("execution anchor must be an object")}function Re(e){if(!i(e)||!y(e,["productRunId","flowRunId","generationId","generationNumber","anchor","leaseId"])||!I(e.productRunId)||!I(e.flowRunId)||!I(e.generationId)||!me(e.generationNumber)||!I(e.leaseId))return r("execution lease shape is invalid");let t=Q(e.anchor);return t.ok?u({productRunId:e.productRunId,flowRunId:e.flowRunId,generationId:e.generationId,generationNumber:e.generationNumber,anchor:t.value,leaseId:e.leaseId}):r(t.reason)}function k(e){if(!i(e))return r("execution write scope must be an object");if(e.kind==="standalone"&&y(e,["kind"]))return u({kind:"standalone"});if(e.kind==="automation_app"&&y(e,["kind","lease"])){let t=Re(e.lease);return t.ok?u({kind:"automation_app",lease:t.value}):r(t.reason)}return r("execution write scope shape is invalid")}function Pt(e){if(!i(e)||!y(e,["anchor"]))return r("lease request shape is invalid");let t=Q(e.anchor);return t.ok?u({anchor:t.value}):r(t.reason)}function At(e){if(!i(e)||!y(e,["executionScope"]))return r("lease response shape is invalid");let t=k(e.executionScope);return t.ok?u({executionScope:t.value}):r(t.reason)}function Ct(e){return!i(e)||!y(e,["instanceId","flowRunId","commandId","generationId","from"])||!I(e.instanceId)||!I(e.flowRunId)||!I(e.commandId)||!I(e.generationId)||!i(e.from)||!y(e.from,["name","count","type"])||typeof e.from.name!="string"||!ge.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 bt(e){return!i(e)||!y(e,["ok","data"])||e.ok!==!0||!i(e.data)||!y(e.data,["accepted","instanceId","commandId","generationId"])||e.data.accepted!==!0||!I(e.data.instanceId)||!I(e.data.commandId)||!I(e.data.generationId)?r("restart response shape is invalid"):u(e)}function y(e,t){let n=Object.keys(e).sort(),o=[...t].sort();return n.length===o.length&&n.every((s,a)=>s===o[a])}function I(e){return typeof e=="string"&&e.length>0}function me(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}var g="/internal/flow-runs",Ft="/:flowRunId/execution-context";function Bt(e){return`${g}/${encodeURIComponent(e)}/execution-context`}function $(e){return!i(e)||!L(e.fileMaxBytes)||!L(e.fileReadMaxBytes)||!L(e.inlineMultipartBytesMax)?r("file runtime limits must carry three positive integer bounds"):u({fileMaxBytes:e.fileMaxBytes,fileReadMaxBytes:e.fileReadMaxBytes,inlineMultipartBytesMax:e.inlineMultipartBytesMax})}function Ht(e){if(!i(e))return r("execution context must be a JSON object");let t=z(e,["flowRunId","workspaceId","input","executionScope","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"||!i(e.input)||!i(n)||z(n,["irSchemaVersion","interpreterContractVersion","ir","compiledArtifactId"])!==void 0||typeof n.irSchemaVersion!="string"||typeof n.interpreterContractVersion!="string"||typeof n.compiledArtifactId!="string"||!ke(e.executionBindings))return r("execution context surface shape is invalid");let o=Ie(n.ir);if(!o.ok)return r(o.reason);let s=Y(e.executionScope);if(!s.ok)return r(s.reason);let a=ye(e.fileRuntime);return a.ok?u({...e,compiled:{...n,ir:o.value},executionScope:s.value,fileRuntime:a.value}):r(a.reason)}function ye(e){if(e===null)return u(null);if(!i(e))return r("fileRuntime must be null or an object");let t=$(e.limits);return t.ok?u({limits:t.value}):r(t.reason)}function ke(e){return Array.isArray(e)?e.every(t=>{if(!i(t))return!1;let n=t.connection,o=x(t.stateScope);return typeof t.nodeId=="string"&&typeof t.toolRef=="string"&&i(t.toolDescriptor)&&i(t.integrationDescriptor)&&i(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 L(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}function z(e,t){return Object.keys(e).find(n=>!t.includes(n))}import{parseAblehiErrorDigest as W}from"@ablehi/error-contract";var qt="/:flowRunId/steps/:nodeId/result",Mt="/:flowRunId/result",Vt="/:flowRunId/execution-events",jt="/:flowRunId/waits/:nodeId/register",Xt="/:flowRunId/waits/:nodeId/complete";function Jt(e,t){return`${g}/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}/result`}function Yt(e){return`${g}/${encodeURIComponent(e)}/result`}function Qt(e){return`${g}/${encodeURIComponent(e)}/execution-events`}function zt(e,t){return`${g}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/register`}function Zt(e,t){return`${g}/${encodeURIComponent(e)}/waits/${encodeURIComponent(t)}/complete`}function en(e){if(!i(e))return{ok:!1,kind:"validation",reason:"step record body must be a JSON object"};let t=R(e,["executionScope","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.executionScope);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 s=Ee(e.result);if(!s.ok)return s;let a={executionScope:n.value,attempt:o,result:s.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 Ee(e){if(!i(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=W(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=W(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 tn(e){return!i(e)||typeof e.flowRunId!="string"||typeof e.nodeId!="string"||!_e(e.recorded)?r("step record data surface shape is invalid"):u({flowRunId:e.flowRunId,nodeId:e.nodeId,recorded:e.recorded})}function _e(e){return e==="succeeded"||e==="failed"||e==="skipped"||e==="timed_out"}function nn(e){if(!i(e))return r("result body must be a JSON object");let t=R(e,["executionScope","status","output","error"]);if(t!==void 0)return r(`result does not accept the "${t}" field`);let n=k(e.executionScope);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 s={executionScope:n.value,status:o};if(e.output!==void 0){if(o!=="succeeded")return r("output is only allowed on a succeeded result");s.output=e.output}if(e.error!==void 0){if(o!=="failed")return r("error is only allowed on a failed result");let a=W(e.error);if(!a.ok)return r(`result error must be an AblehiErrorDigest: ${a.reason}`);s.error=a.value}return o==="failed"&&s.error===void 0?r("a failed result must carry an AblehiErrorDigest"):u(s)}function rn(e){return i(e)?u(e):r("flow run result data must be a JSON object")}var xe=["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 on(e){if(!i(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 sn(e){if(!i(e))return r("execution event body must be a JSON object");let t=R(e,["executionScope","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.executionScope);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 s=e.eventType;if(!he(s))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={executionScope:n.value,eventId:o,eventType:s,occurredAt:a};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`);c[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`);c[d]=f}}if(e.inputFact!==void 0){if(s!=="step_started")return r("inputFact is only allowed on step_started events");if(c.attempt===void 0)return r("inputFact requires attempt");let d=we(e.inputFact);if(!d.ok)return d;c.inputFact=d.value}return u(c)}function he(e){return typeof e=="string"&&xe.includes(e)}function we(e){if(!i(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(!i(o))return r("inputFact.domain must be a JSON object");let s=R(o,["irSchemaVersion","interpreterContractVersion","compiledArtifactId","nodeId","algorithmVersion"]);return s!==void 0?r(`inputFact.domain does not accept the "${s}" 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 Te=/^[A-Za-z0-9_-]{1,100}$/;function un(e){if(!i(e))return r("register body must be a JSON object");let t=R(e,["executionScope","eventType","correlationKey"]);if(t!==void 0)return r(`register wait does not accept the "${t}" field`);let n=k(e.executionScope);if(!n.ok)return r(n.reason);let o=Z(e.eventType);if(!o.ok)return r(o.reason);let s=e.correlationKey;return typeof s!="string"||s.length===0?r("correlationKey must be a non-empty string"):u({executionScope:n.value,eventType:o.value,correlationKey:s})}function an(e){if(!i(e))return r("complete body must be a JSON object");let t=R(e,["executionScope","waitExecutionId","outcome","eventId"]);if(t!==void 0)return r(`complete wait does not accept the "${t}" field`);let n=k(e.executionScope);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 s=e.outcome;if(s!=="received"&&s!=="timed_out")return r('outcome must be "received" or "timed_out"');let a={executionScope:n.value,waitExecutionId:o,outcome:s};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 cn(e){if(!i(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=Z(e.workflowEventType);return t.ok?u({waitExecutionId:e.waitExecutionId,workflowEventType:t.value}):r(t.reason)}function dn(e){return!i(e)||R(e,["completed"])!==void 0||e.completed!==!0?r("complete wait data surface shape is invalid"):u({completed:!0})}function pn(e){return!i(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 Z(e){return typeof e!="string"||e.length===0?r("eventType must be a non-empty string"):Te.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 Se="/internal/flow-versions",fn="/:flowVersionId/handler-bundles",K="/internal/installations",gn="/:installationId/handler-bundles";function Rn(e,t){return`${Se}/${encodeURIComponent(e)}/handler-bundles?compiledArtifactId=${encodeURIComponent(t)}`}function mn(e){return`${K}/${encodeURIComponent(e.installationId)}/handler-bundles?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var Pe=new Set(["managed_only","managed_plus_unmanaged_sdk"]);function F(e){if(!h(e))return G("runtimeNetwork must be a JSON object");let t=e.networkModel;return typeof t!="string"||!Pe.has(t)?G("runtimeNetwork.networkModel is unknown"):!ee(e.apiHosts)||!ee(e.authHosts)||typeof e.httpsOnly!="boolean"?G("runtimeNetwork host/https fields are invalid"):{ok:!0,value:{networkModel:t,apiHosts:e.apiHosts,authHosts:e.authHosts,httpsOnly:e.httpsOnly}}}function In(e){if(!h(e)||typeof e.flowVersionId!="string"||typeof e.compiledArtifactId!="string"||!Array.isArray(e.bundles))return A("handler bundles data surface shape is invalid");let t=te(e.bundles);return t.ok?{ok:!0,value:{flowVersionId:e.flowVersionId,compiledArtifactId:e.compiledArtifactId,bundles:t.value}}:t}function yn(e){if(!h(e)||typeof e.installationId!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.bundles))return A("tool handler bundles data surface shape is invalid");let t=te(e.bundles);return t.ok?{ok:!0,value:{installationId:e.installationId,artifactDigest:e.artifactDigest,bundles:t.value}}:t}function te(e){let t=[];for(let n of e){let o=Ae(n);if(!o.ok)return o;t.push(o.value)}return{ok:!0,value:t}}function Ae(e){if(!h(e)||typeof e.toolRef!="string"||e.kind!=="handler"&&e.kind!=="request")return A("handler bundle entry shape is invalid");if(e.kind==="request"){if(e.module!==void 0)return A("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(!h(t)||typeof t.entry!="string"||t.entry.length===0||!Ce(t.files))return A("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 A(e){return{ok:!1,kind:"shape",reason:e}}function G(e){return{ok:!1,kind:"runtime_network",reason:e}}function h(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ee(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function Ce(e){return h(e)&&Object.values(e).every(t=>typeof t=="string")}var C="/internal/webhook-trigger-instances",Tn="/:triggerInstanceId/context",Sn="/:triggerInstanceId/handler-bundles",Pn="/:triggerInstanceId/deliveries/:deliveryId",An="/:triggerInstanceId/events",Cn="/:triggerInstanceId/rearm",b=e=>`${C}/${encodeURIComponent(e)}`;function bn(e,t){return`${b(e)}/context?artifactDigest=${encodeURIComponent(t)}`}function Nn(e,t){return`${b(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function vn(e,t){return`${b(e)}/deliveries/${encodeURIComponent(t)}`}function On(e){return`${b(e)}/events`}function Dn(e){return`${b(e)}/rearm`}var Un="/:installationId/webhook-protocol-adapter-bundle";function Fn(e){return`${K}/${encodeURIComponent(e.installationId)}/webhook-protocol-adapter-bundle?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var Bn="modules/webhook/protocol-adapter.js";function Hn(e){return`modules/webhook/protocol-adapter-${e}.js`}function Ln(e){let t=i(e)?x(e.stateScope):r("webhook watcher context state scope is invalid");return!i(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!i(e.inputs)||e.connection!==null&&!be(e.connection)||!Ne(e.runtime)||!t.ok||t.value.kind!=="webhook-trigger"?r("webhook watcher context surface shape is invalid"):u(e)}function be(e){return i(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authProfileRef=="string"&&typeof e.authType=="string"}function Ne(e){if(!i(e)||e.type!=="webhook"||typeof e.trigger_ref!="string")return!1;let t=e.webhook;return i(t)&&typeof t.event_handler_module=="string"&&typeof t.enable_handler_module=="string"&&typeof t.disable_handler_module=="string"}function ve(e){if(!i(e)||typeof e.deliveryId!="string"||typeof e.receivedAt!="string"||!i(e.request))return r("webhook delivery surface shape is invalid");let t=e.request;return t.method!=="POST"||!i(t.headers)||typeof t.rawBody!="string"?r("webhook delivery request shape is invalid"):u(e)}function q(e){if(!i(e)||typeof e.token!="string"||typeof e.expiresAt!="string")return r("trigger file runtime dispatch shape is invalid");let t=$(e.limits);return t.ok?u({token:e.token,expiresAt:e.expiresAt,limits:t.value}):r(t.reason)}function $n(e){if(!i(e))return r("webhook delivery dispatch data is invalid");let t=ve(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=q(n);return o.ok?u({delivery:t.value,fileRuntime:o.value}):r(o.reason)}function Wn(e){if(!i(e)||typeof e.triggerRef!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.modules)||!e.modules.every(Oe))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 Oe(e){return i(e)&&typeof e.specifier=="string"&&e.specifier.length>0&&typeof e.source=="string"}function Gn(e){if(!i(e))return r("publish events body must be a JSON object");let t=M(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 s=[];for(let a of o){let c=De(a);if(!c.ok)return c;s.push(c.value)}return u({deliveryId:n,events:s})}function De(e){if(!i(e))return r("each event must be a JSON object");let t=M(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(!i(e.payload))return r("event payload must be a JSON object");let s={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");s.dedupeKey=e.dedupeKey}return u(s)}function Kn(e){if(!i(e))return r("rearm body must be a JSON object");let t=M(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 M(e,t){return Object.keys(e).find(n=>!t.includes(n))}var N="/internal/polling-trigger-instances",Xn="/:pollingInstanceId/context",Jn="/:pollingInstanceId/handler-bundles",Yn="/:pollingInstanceId/ticks/:tickId/events",V=e=>`${N}/${encodeURIComponent(e)}`;function Qn(e,t,n){return`${V(e)}/context?artifactDigest=${encodeURIComponent(t)}&tickId=${encodeURIComponent(n)}`}function zn(e,t){return`${V(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function Zn(e,t){return`${V(e)}/ticks/${encodeURIComponent(t)}/events`}function Ue(e){let t=i(e)?x(e.stateScope):r("polling trigger context state scope is invalid");return!i(e)||typeof e.artifactDigest!="string"||typeof e.triggerRef!="string"||typeof e.triggerName!="string"||typeof e.integrationRef!="string"||!i(e.inputs)||e.connection!==null&&!Fe(e.connection)||!Be(e.runtime)||!t.ok||t.value.kind!=="polling-trigger"||!Le(e.tick)||!$e(e.limits)?r("polling trigger context surface shape is invalid"):u(e)}function er(e){if(!i(e))return r("polling trigger dispatch data is invalid");let t=Ue(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=q(n);return o.ok?u({context:t.value,fileRuntime:o.value}):r(o.reason)}function Fe(e){return i(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(!i(e)||e.type!=="polling"||typeof e.trigger_id!="string"||typeof e.trigger_ref!="string"||!He(e.file_outputs))return!1;let t=e.polling;if(!i(t)||typeof t.run_handler_module!="string")return!1;let n=t.schedule;if(!i(n)||n.type!=="interval"||typeof n.every_seconds!="number")return!1;let o=t.dedup;return i(o)&&(o.strategy==="cursor"||o.strategy==="hash"||o.strategy==="id_field")}function He(e){return e===void 0?!0:Array.isArray(e)&&e.length>0&&e.every(t=>i(t)&&typeof t.field=="string"&&t.field.length>0)}function Le(e){return i(e)&&typeof e.tickId=="string"&&typeof e.scheduledAt=="string"&&typeof e.attempt=="number"}function $e(e){return i(e)&&typeof e.maxEventsPerTick=="number"}function tr(e){if(!i(e))return r("publish body must be a JSON object");let t=ne(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=We(a);if(!c.ok)return c;o.push(c.value)}let s={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");s.nextCursor=a}return u(s)}function We(e){if(!i(e))return r("each event must be a JSON object");let t=ne(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(!i(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 nr(e){return!i(e)||typeof e.tickId!="string"||typeof e.cursorUpdated!="boolean"||!Array.isArray(e.results)||!e.results.every(Ge)?r("publish polling tick events data surface shape is invalid"):u(e)}function Ge(e){return i(e)&&typeof e.eventId=="string"&&typeof e.dedupeKey=="string"&&typeof e.duplicate=="boolean"&&(e.flowRunId===null||typeof e.flowRunId=="string")}function ne(e,t){return Object.keys(e).find(n=>!t.includes(n))}var re="/internal/egress-grants",j="/internal/tool-invocations",X="/internal/discovery-invocations",ar="/:flowRunId/egress-grant",cr="/:invocationId/egress-grant",dr="/:discoveryInvocationId/egress-grant",pr="/:pollingInstanceId/egress-grant",lr="/:triggerInstanceId/egress-grant",fr="/:grantId/consume",gr="/:grantId/audit",Rr=e=>`${g}/${encodeURIComponent(e)}/egress-grant`,mr=e=>`${j}/${encodeURIComponent(e)}/egress-grant`,Ir=e=>`${X}/${encodeURIComponent(e)}/egress-grant`,yr=e=>`${N}/${encodeURIComponent(e)}/egress-grant`,kr=e=>`${C}/${encodeURIComponent(e)}/egress-grant`,Er=e=>`${re}/${encodeURIComponent(e)}/consume`,_r=e=>`${re}/${encodeURIComponent(e)}/audit`,Ke=["flow_action","single_tool","discovery","polling_trigger","webhook_trigger"],qe=/^[A-Za-z0-9][A-Za-z0-9:_+/=.-]{15,1023}$/;function w(e){return typeof e=="string"&&qe.test(e)}function Me(e){if(!i(e)||e.body_type!=="multipart")return!1;let t=e.body;if(!i(t))return!1;let n=t.parts;return Array.isArray(n)?n.some(o=>i(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 T(){return{ok:!1,kind:"request_digest",reason:"request digest is missing or malformed"}}function v(e,t){if(!i(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 O(e){if(!i(e))return"request must be a JSON object"}function xr(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=O(t.record.request);if(o!==void 0)return p(o);let s=t.record.requestDigest;return w(s)?{ok:!0,value:{nodeId:n,requestDigest:s,requestHasMultipartFiles:Me(t.record.request)}}:T()}function hr(e){let t=v(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=O(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return w(o)?{ok:!0,value:{requestDigest:o}}:T()}function wr(e){let t=v(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=O(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return w(o)?{ok:!0,value:{requestDigest:o}}:T()}function Tr(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=O(t.record.request);if(o!==void 0)return p(o);let s=t.record.requestDigest;return w(s)?{ok:!0,value:{tickId:n,requestDigest:s}}:T()}function Sr(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,s;if(o!==void 0){if(o!=="enable"&&o!=="disable"&&o!=="renew")return p('lifecycle must be "enable", "disable", or "renew"');s=o}if(n==="lifecycle"&&s===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=O(t.record.request);if(d!==void 0)return p(d);let f=t.record.requestDigest;return w(f)?{ok:!0,value:{phase:n,...s!==void 0?{lifecycle:s}:{},...c!==void 0?{deliveryId:c}:{},requestDigest:f}}:T()}function oe(e){return Ke.includes(e)?e:void 0}var Ve=["scopeKind","scopeId","requestDigest"];function Pr(e){if(!i(e))return p("consume body must be a JSON object");for(let s of Object.keys(e))if(!Ve.includes(s))return p(`consume does not accept the "${s}" field`);let t=oe(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 w(o)?{ok:!0,value:{scopeKind:t,scopeId:n,requestDigest:o}}:T()}var je=["scopeKind","scopeId","providerHost","status","durationMs","requestBytes","responseBytes","errorCode"];function B(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 Ar(e){if(!i(e))return p("audit body must be a JSON object");for(let l of Object.keys(e))if(!je.includes(l))return p(`audit does not accept the "${l}" field`);let t=oe(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 s=B(e.durationMs,"durationMs");if(!s.ok)return p(s.reason);let a;if(e.status!==void 0){let l=B(e.status,"status");if(!l.ok)return p(l.reason);a=l.value}let c;if(e.requestBytes!==void 0){let l=B(e.requestBytes,"requestBytes");if(!l.ok)return p(l.reason);c=l.value}let d;if(e.responseBytes!==void 0){let l=B(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,...a!==void 0?{status:a}:{},durationMs:s.value,...c!==void 0?{requestBytes:c}:{},...d!==void 0?{responseBytes:d}:{},...f!==void 0?{errorCode:f}:{}}}}function Cr(e){return!i(e)||!i(e.grant)?r("egress grant envelope must carry a grant object"):u(e.grant)}function br(e){return!i(e)||e.consumed!==!0?r("egress grant consume data must carry consumed:true"):u({consumed:!0})}var Br="/:flowRunId/runtime-credential",Hr="/:invocationId/runtime-credential",Lr="/:discoveryInvocationId/runtime-credential",$r="/:pollingInstanceId/runtime-credential",Wr="/:triggerInstanceId/runtime-credential",Gr=e=>`${g}/${encodeURIComponent(e)}/runtime-credential`,Kr=e=>`${j}/${encodeURIComponent(e)}/runtime-credential`,qr=e=>`${X}/${encodeURIComponent(e)}/runtime-credential`,Mr=e=>`${N}/${encodeURIComponent(e)}/runtime-credential`,Vr=e=>`${C}/${encodeURIComponent(e)}/runtime-credential`,jr=["flow_action","tool_invoke","discovery","polling_trigger","webhook_trigger"];function D(e,t){if(!i(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 Xr(e){let t=D(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 Jr(e){let t=D(e??{},[]);return t.ok?u(null):r(t.reason)}function Yr(e){let t=D(e??{},[]);return t.ok?u(null):r(t.reason)}function Qr(e){let t=D(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 zr(e){let t=D(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,s=t.record.deliveryId;if(s!==void 0){if(typeof s!="string"||s.length===0)return r("deliveryId must be a non-empty string");o=s}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 Zr(e){return!i(e)||typeof e.sessionId!="string"||typeof e.connectionId!="string"||typeof e.authProfileRef!="string"||typeof e.authType!="string"||!i(e.credential)?r("runtime credential session must carry sessionId, connectionId, auth profile facts and a credential object"):u(e.credential)}function H(e){return!i(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 J(e){return!i(e)||e.method!=="GET"&&e.method!=="PUT"||typeof e.url!="string"||typeof e.expires_at!="string"||!Ye(e.headers)?r("presigned file URL data is invalid"):u(e)}function Xe(e){if(!i(e))return r("file upload session data is invalid");let t=H(e.file);if(!t.ok)return r(t.reason);let n=J(e.upload);return n.ok?u({file:t.value,upload:n.value}):r(n.reason)}function Je(e){if(!i(e))return r("file metadata data is invalid");let t=H(e.file);return t.ok?u({file:t.value}):r(t.reason)}function Ye(e){return i(e)?Object.values(e).every(t=>typeof t=="string"):!1}var S="/internal/files",io="/upload-session",so="/:fileId/complete",uo="/:fileId/access",ao="/:fileId/stat",co="/:fileId/content",po=()=>S,lo=()=>`${S}/upload-session`,fo=e=>`${S}/${encodeURIComponent(e)}/complete`,go=(e,t)=>`${S}/${encodeURIComponent(e)}/access?intent=${encodeURIComponent(t)}`,ie=e=>`?scope_kind=${encodeURIComponent(e.scopeKind)}&scope_id=${encodeURIComponent(e.scopeId)}`,Ro=(e,t)=>`${S}/${encodeURIComponent(e)}/stat${ie(t)}`,mo=(e,t)=>`${S}/${encodeURIComponent(e)}/content${ie(t)}`;function Io(e){if(!i(e))return r("internal file access data is invalid");if(e.intent==="runtime_read"||e.intent==="provider_multipart"){let t=H(e.file);if(!t.ok)return r(t.reason);let n=J(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")}var xo="/:flowRunId/human-inputs",ho="/:flowRunId/human-inputs/:requestId",wo="/:flowRunId/human-inputs/:requestId/expire",To="/:flowRunId/human-inputs/:requestId/acknowledge",Qe=e=>`${g}/${encodeURIComponent(e)}/human-inputs`,se=(e,t)=>`${Qe(e)}/${encodeURIComponent(t)}`,So=(e,t)=>`${se(e,t)}/expire`,Po=(e,t)=>`${se(e,t)}/acknowledge`,ze="human_input_resolved";function Ao(e){return`${ze}_${e}`}function Co(e){return!i(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})}function m(e){return{ok:!1,reason:e}}function _(e,t){return i(e)?{ok:!0,value:e}:m(`${t} must be an object`)}function P(e,t){return typeof e!="string"||e.length===0?m(`${t} must be a non-empty string`):{ok:!0,value:e}}var Ze=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;function et(e,t){return typeof e!="string"||!Ze.test(e)||Number.isNaN(Date.parse(e))?m(`${t} must be an ISO-8601 timestamp`):{ok:!0,value:e}}function tt(e){let t=_(e,"renderedPrompt");if(!t.ok)return t;let n=P(t.value.title,"renderedPrompt.title");if(!n.ok)return n;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");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 nt(e){let t=_(e,"input");if(!t.ok)return t;let n=t.value.kind;if(n==="choice"){if(!Array.isArray(t.value.choices))return m("input.choices must be an array")}else if(n!=="text")if(n==="form"){if(!Array.isArray(t.value.fields))return m("input.fields must be an array")}else return m("input.kind is invalid");return{ok:!0,value:t.value}}function rt(e){if(e==null)return{ok:!0,value:void 0};let t=_(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 s of n){let a=_(s,"delivery action");if(!a.ok)return a;let c=P(a.value.id,"delivery action id");if(!c.ok)return c;let d=ue(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 ue(e,t){let n=_(e,t);if(!n.ok)return n;let o={};for(let[s,a]of Object.entries(n.value)){let c=ae(a,`${t}.${s}`);if(!c.ok)return c;o[s]=c.value}return{ok:!0,value:o}}function ae(e,t){let n=_(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 s=P(n.value.path,`${t}.path`);return s.ok?{ok:!0,value:{kind:"human_input_ref",path:s.value}}:s}case"array":{if(!Array.isArray(n.value.items))return m(`${t}.items must be an array`);let s=[];for(let[a,c]of n.value.items.entries()){let d=ae(c,`${t}[${a}]`);if(!d.ok)return d;s.push(d.value)}return{ok:!0,value:{kind:"array",items:s}}}case"object":{let s=ue(n.value.entries,`${t}.entries`);return s.ok?{ok:!0,value:{kind:"object",entries:s.value}}:s}case"template":{if(!Array.isArray(n.value.parts))return m(`${t}.parts must be an array`);let s=[];for(let[a,c]of n.value.parts.entries()){let d=ot(c,`${t}.parts[${a}]`);if(!d.ok)return d;s.push(d.value)}return{ok:!0,value:{kind:"template",parts:s}}}default:return m(`${t}.kind is invalid`)}}function ot(e,t){let n=_(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 s=P(n.value.path,`${t}.path`);return s.ok?{ok:!0,value:{kind:"human_input_ref",path:s.value}}:s}return m(`${t}.kind is invalid`)}function bo(e){let t=_(e,"request body");if(!t.ok)return r(t.reason);let n=Object.keys(t.value).find(ce=>!["executionScope","nodeId","renderedPrompt","input","partiallyRenderedDelivery","timeout","expiresAt"].includes(ce));if(n!==void 0)return r(`human input body does not accept the "${n}" field`);let o=k(t.value.executionScope);if(!o.ok)return r(o.reason);let s=P(t.value.nodeId,"nodeId");if(!s.ok)return r(s.reason);let a=tt(t.value.renderedPrompt);if(!a.ok)return r(a.reason);let c=nt(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 f=et(t.value.expiresAt,"expiresAt");if(!f.ok)return r(f.reason);let l=rt(t.value.partiallyRenderedDelivery);return l.ok?u({executionScope:o.value,nodeId:s.value,renderedPrompt:a.value,input:c.value,timeout:d.value,expiresAt:f.value,...l.value!==void 0?{partiallyRenderedDelivery:l.value}:{}}):r(l.reason)}function it(e){return!i(e)||typeof e.id!="string"||e.id.length===0||typeof e.nodeId!="string"||typeof e.status!="string"||!(e.output===null||i(e.output))?r("human input request view must carry id, nodeId, status and output"):u(e)}function No(e){if(!i(e)||typeof e.created!="boolean")return r("human input create data must carry created:boolean");let t=it(e.request);return t.ok?u({created:e.created,request:t.value}):t}function vo(e){return!i(e)||e.acknowledged!==!0?r("human input acknowledge data must carry acknowledged:true"):u({acknowledged:!0})}var Do="ablehi-wfp-user-runtime-manifest/v1",Uo="unknown";function Fo(e){return e.endsWith(".js")?`${e.slice(0,-3)}.manifest.json`:`${e}.manifest.json`}var Ho="/internal/deployment-handshake",st=["start","terminate","send-event","start-webhook-watcher","run-polling-tick","invoke-tool","invoke-discovery","invoke-trigger-handler","invoke-webhook-protocol-adapter","deployment-handshake"],Lo=st,$o="HANDSHAKE_REQUEST_INVALID",Wo="HANDSHAKE_SECRET_UNCONFIGURED",Go="HANDSHAKE_SECRET_MISMATCH",Ko="HANDSHAKE_CONTRACT_VERSION_MISMATCH",qo="HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH",Mo="HANDSHAKE_CAPABILITY_MISSING";function Vo(e){return[e.nonce,e.timestamp,e.contractVersion,e.dispatchNamespace].map(n=>`${n.length}:${n}`).join(".")}function jo(e){return["response",e.nonce,e.contractVersion,e.dispatchNamespace,...e.capabilities].map(n=>`${n.length}:${n}`).join(".")}export{Xt as COMPLETE_EVENT_WAIT_ROUTE_SUBPATH,dt as CONTEXT_STATE_CLEANUP_ROUTE_PATH,st as DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES,Lo as DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES,Ho as DEPLOYMENT_HANDSHAKE_ROUTE,dr as DISCOVERY_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,Lr as DISCOVERY_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,gr as EGRESS_GRANT_AUDIT_ROUTE_SUBPATH,fr as EGRESS_GRANT_CONSUME_ROUTE_SUBPATH,Ke as EGRESS_GRANT_SCOPE_KINDS,Ft as EXECUTION_CONTEXT_ROUTE_SUBPATH,xt as EXECUTION_LEASE_INVALID,mt as EXECUTION_LEASE_ROUTE_SUBPATH,ht as EXECUTION_LEASE_SUPERSEDED,uo as FILE_ACCESS_ROUTE_SUBPATH,so as FILE_COMPLETE_ROUTE_SUBPATH,co as FILE_CONTENT_ROUTE_SUBPATH,ao as FILE_STAT_ROUTE_SUBPATH,io as FILE_UPLOAD_SESSION_ROUTE_SUBPATH,ar as FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH,Vt as FLOW_RUN_EXECUTION_EVENTS_ROUTE_SUBPATH,xe as FLOW_RUN_EXECUTION_EVENT_TYPES,Mt as FLOW_RUN_RESULT_ROUTE_SUBPATH,Br as FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,fn as HANDLER_BUNDLES_ROUTE_SUBPATH,Mo as HANDSHAKE_CAPABILITY_MISSING,Ko as HANDSHAKE_CONTRACT_VERSION_MISMATCH,qo as HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH,$o as HANDSHAKE_REQUEST_INVALID,Go as HANDSHAKE_SECRET_MISMATCH,Wo as HANDSHAKE_SECRET_UNCONFIGURED,xo as HUMAN_INPUTS_ROUTE_SUBPATH,To as HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH,Tt as HUMAN_INPUT_CANCELLED_BY_RESET,wo as HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH,ho as HUMAN_INPUT_REQUEST_ROUTE_SUBPATH,ze as HUMAN_INPUT_RESOLVED_EVENT_PREFIX,X as INTERNAL_DISCOVERY_INVOCATIONS_ROUTE_PREFIX,re as INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX,S as INTERNAL_FILES_ROUTE_PREFIX,g as INTERNAL_FLOW_RUNS_ROUTE_PREFIX,Se as INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX,K as INTERNAL_INSTALLATIONS_ROUTE_PREFIX,N as INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX,j as INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX,C as INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX,Xn as POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH,pr as POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,Jn as POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,$r as POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Yn as POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH,jt as REGISTER_EVENT_WAIT_ROUTE_SUBPATH,jr as RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS,_t as RUN_DISPATCH_UNAVAILABLE,de as SERVER_EXECUTION_CONTRACT_VERSION,qt as STEP_RESULT_ROUTE_SUBPATH,gn as TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH,cr as TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,Hr as TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,wt as WAIT_EXECUTION_SUPERSEDED,Un as WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH,Bn as WEBHOOK_PROTOCOL_ADAPTER_MODULE,Tn as WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH,Pn as WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH,lr as WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,An as WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH,Sn as WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,Cn as WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH,Wr as WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Do as WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION,Uo as WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION,kt as WORKFLOW_RESTART_INSTANCE_UNAVAILABLE,Et as WORKFLOW_RESTART_REJECTED,yt as WORKFLOW_RESTART_REQUEST_INVALID,It as WORKFLOW_RESTART_ROUTE,St as acquireExecutionLeasePath,Zt as completeEventWaitPath,Vo as deploymentHandshakeProbePayload,jo as deploymentHandshakeResponseProofPayload,Ir as discoveryInvocationEgressGrantPath,qr as discoveryInvocationRuntimeCredentialPath,_r as egressGrantAuditPath,Er as egressGrantConsumePath,Bt as executionContextPath,Rr as flowRunEgressGrantPath,Qt as flowRunExecutionEventsPath,Yt as flowRunResultPath,Gr as flowRunRuntimeCredentialPath,Hn as flowScriptProtocolAdapterModuleName,Rn as handlerBundlesPath,Po as humanInputAcknowledgePath,So as humanInputExpirePath,se as humanInputRequestPath,Ao as humanInputResolvedEventType,Qe as humanInputsPath,go as internalFileAccessPath,fo as internalFileCompletePath,mo as internalFileContentPath,Ro as internalFileStatPath,lo as internalFileUploadSessionPath,po as internalFilesPath,w as isValidRequestDigest,At as parseAcquireExecutionLeaseData,Pt as parseAcquireExecutionLeaseRequest,an as parseCompleteFlowRunWaitBody,dn as parseCompleteFlowRunWaitData,pt as parseContextStateCleanupRequestBody,lt as parseContextStateCleanupResponseData,x as parseContextStateScope,bo as parseCreateHumanInputBody,wr as parseDiscoveryGrantBody,Yr as parseDiscoveryRuntimeCredentialBody,Ar as parseEgressGrantAuditBody,Pr as parseEgressGrantConsumeBody,br as parseEgressGrantConsumeData,Cr as parseEgressGrantData,Q as parseExecutionAnchor,Ht as parseExecutionContextData,Re as parseExecutionLease,k as parseExecutionWriteScope,Je as parseFileMetadataData,H as parseFileRefData,$ as parseFileRuntimeLimits,Xe as parseFileUploadSessionData,xr as parseFlowActionGrantBody,Y as parseFlowExecutionScope,sn as parseFlowRunExecutionEventBody,on as parseFlowRunExecutionEventData,nn as parseFlowRunResultBody,rn as parseFlowRunResultData,Xr as parseFlowRuntimeCredentialBody,pn as parseFlowWaitResolvedEvent,Ae as parseHandlerBundle,In as parseHandlerBundlesData,vo as parseHumanInputAcknowledgeData,No as parseHumanInputCreateData,it as parseHumanInputRequestViewData,Co as parseHumanInputResolvedEvent,Io as parseInternalFileAccessData,tr as parsePollingPublishBody,Qr as parsePollingRuntimeCredentialBody,Ue as parsePollingTriggerContext,er as parsePollingTriggerDispatchData,Tr as parsePollingTriggerGrantBody,nr as parsePublishPollingTickEventsData,un as parseRegisterFlowRunWaitBody,cn as parseRegisterFlowRunWaitData,Zr as parseRuntimeCredentialSessionCredential,F as parseRuntimeNetwork,hr as parseSingleToolGrantBody,Jr as parseSingleToolRuntimeCredentialBody,en as parseStepRecordBody,tn as parseStepRecordData,yn as parseToolHandlerBundlesData,q as parseTriggerFileRuntimeDispatch,Wn as parseTriggerHandlerBundlesData,ve as parseWebhookDelivery,$n as parseWebhookDeliveryDispatchData,Gn as parseWebhookPublishEventsBody,Kn as parseWebhookRearmBody,zr as parseWebhookRuntimeCredentialBody,Sr as parseWebhookTriggerGrantBody,Ln as parseWebhookWatcherContext,Ct as parseWorkflowDispatchRestartRequest,bt as parseWorkflowDispatchRestartResponse,Qn as pollingTriggerContextPath,yr as pollingTriggerEgressGrantPath,zn as pollingTriggerHandlerBundlesPath,Mr as pollingTriggerRuntimeCredentialPath,Zn as pollingTriggerTickEventsPath,zt as registerEventWaitPath,Me as requestHasMultipartFileParts,Jt as stepResultPath,mn as toolHandlerBundlesPath,mr as toolInvocationEgressGrantPath,Kr as toolInvocationRuntimeCredentialPath,Fn as webhookProtocolAdapterBundlePath,bn as webhookTriggerContextPath,vn as webhookTriggerDeliveryPath,kr as webhookTriggerEgressGrantPath,On as webhookTriggerEventsPath,Nn as webhookTriggerHandlerBundlesPath,Dn as webhookTriggerRearmPath,Vr as webhookTriggerRuntimeCredentialPath,Fo as wfpUserRuntimeManifestPath};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ablehi/server-execution-contract",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Ablehi server to Cloudflare execution contract.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"publishConfig": {
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"dist"
|
|
25
25
|
],
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@ablehi/
|
|
28
|
-
"@ablehi/
|
|
27
|
+
"@ablehi/error-contract": "0.0.1",
|
|
28
|
+
"@ablehi/flow-contract": "0.2.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@typescript-eslint/eslint-plugin": "^8.62.0",
|