@ablehi/server-contract 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/edge.js CHANGED
@@ -1 +1 @@
1
- var J="0.2.1";var Ce="flow.ir.v1";var X="flow.interp.v2";function a(e){return{ok:!0,value:e}}function o(e){return{ok:!1,reason:e}}function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}var f="/internal/flow-runs",Fe="/:flowRunId/execution-context";function Ge(e){return`${f}/${encodeURIComponent(e)}/execution-context`}function Y(e){return!i(e)||!C(e.fileMaxBytes)||!C(e.fileReadMaxBytes)||!C(e.inlineMultipartBytesMax)?o("file runtime limits must carry three positive integer bounds"):a({fileMaxBytes:e.fileMaxBytes,fileReadMaxBytes:e.fileReadMaxBytes,inlineMultipartBytesMax:e.inlineMultipartBytesMax})}function Le(e){if(!i(e))return o("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)||!Q(e.executionBindings))return o("execution context surface shape is invalid");let n=z(e.fileRuntime);return n.ok?a({...e,fileRuntime:n.value}):o(n.reason)}function z(e){if(e===null)return a(null);if(!i(e))return o("fileRuntime must be null or an object");let t=Y(e.limits);return t.ok?a({limits:t.value}):o(t.reason)}function Q(e){return Array.isArray(e)?e.every(t=>{if(!i(t))return!1;let n=t.connection;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.authType=="string"}):!1}function C(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}var We="/:flowRunId/steps/:nodeId/result",Ve="/:flowRunId/result",qe="/:flowRunId/event-waits/:nodeId";function je(e,t){return`${f}/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}/result`}function Je(e){return`${f}/${encodeURIComponent(e)}/result`}function Xe(e,t){return`${f}/${encodeURIComponent(e)}/event-waits/${encodeURIComponent(t)}`}function Ye(e){if(!i(e))return{ok:!1,kind:"validation",reason:"step record body must be a JSON object"};let t=R(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 r=Z(e.result);if(!r.ok)return r;let s={attempt:n,result:r.value};if(e.durationMs!==void 0){let u=e.durationMs;if(typeof u!="number"||!Number.isFinite(u)||u<0)return{ok:!1,kind:"validation",reason:"durationMs must be a non-negative number"};s.durationMs=u}return{ok:!0,value:s}}function Z(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","errorCode","issues"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let r=e.errorCode;if(typeof r!="string"||r.length===0)return{ok:!1,kind:"step_result_invalid",reason:"a failed result must carry a non-empty errorCode"};let s={status:"failed",errorCode:r};return e.issues!==void 0&&(s.issues=e.issues),{ok:!0,value:s}}return{ok:!1,kind:"step_result_invalid",reason:'result status must be "succeeded" or "failed"'}}function ze(e){return!i(e)||typeof e.flowRunId!="string"||typeof e.nodeId!="string"||e.recorded!=="succeeded"&&e.recorded!=="failed"?o("step record data surface shape is invalid"):a({flowRunId:e.flowRunId,nodeId:e.nodeId,recorded:e.recorded})}function Qe(e){if(!i(e))return o("result body must be a JSON object");let t=R(e,["status","output","error","composition"]);if(t!==void 0)return o(`result does not accept the "${t}" field`);let n=e.status;if(n!=="succeeded"&&n!=="failed")return o('result status must be "succeeded" or "failed"');let r={status:n};if(e.output!==void 0&&(r.output=e.output),e.error!==void 0){let s=e.error;if(!i(s))return o("result error must be a JSON object");let u=R(s,["code","message"]);if(u!==void 0)return o(`result error does not accept the "${u}" field`);if(typeof s.code!="string"||typeof s.message!="string")return o("result error must carry string code and message");r.error={code:s.code,message:s.message}}if(e.composition!==void 0){if(n!=="succeeded")return o("composition is only allowed on a succeeded result");r.composition=e.composition}return a(r)}function Ze(e){return i(e)?a(e):o("flow run result data must be a JSON object")}var ee=/^[A-Za-z0-9_-]{1,100}$/;function et(e){if(!i(e))return o("register body must be a JSON object");let t=R(e,["eventType","correlationKey"]);if(t!==void 0)return o(`register wait does not accept the "${t}" field`);let n=F(e.eventType);if(!n.ok)return o(n.reason);let r=e.correlationKey;return typeof r!="string"||r.length===0?o("correlationKey must be a non-empty string"):a({eventType:n.value,correlationKey:r})}function tt(e){if(!i(e))return o("complete body must be a JSON object");let t=R(e,["eventType","correlationKey","outcome","eventId"]);if(t!==void 0)return o(`complete wait does not accept the "${t}" field`);let n=e.outcome;if(n!=="received"&&n!=="timed_out")return o('outcome must be "received" or "timed_out"');let r=F(e.eventType);if(!r.ok)return o(r.reason);let s=e.correlationKey;if(typeof s!="string"||s.length===0)return o("correlationKey must be a non-empty string");let u={eventType:r.value,correlationKey:s,outcome:n};if(e.eventId!==void 0){if(typeof e.eventId!="string"||e.eventId.length===0)return o("eventId must be a non-empty string");u.eventId=e.eventId}return a(u)}function nt(e){return!i(e)||e.registered!==!0?o("register wait data surface shape is invalid"):a({registered:!0})}function F(e){return typeof e!="string"||e.length===0?o("eventType must be a non-empty string"):ee.test(e)?a(e):o("eventType must match ^[A-Za-z0-9_-]{1,100}$")}function R(e,t){return Object.keys(e).find(n=>!t.includes(n))}var te="/internal/flow-versions",ot="/:flowVersionId/handler-bundles",B="/internal/installations",it="/:installationId/handler-bundles";function st(e,t){return`${te}/${encodeURIComponent(e)}/handler-bundles?compiledArtifactId=${encodeURIComponent(t)}`}function ut(e){return`${B}/${encodeURIComponent(e.installationId)}/handler-bundles?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var ne=new Set(["managed_only","managed_plus_unmanaged_sdk"]);function w(e){if(!y(e))return D("runtimeNetwork must be a JSON object");let t=e.networkModel;return typeof t!="string"||!ne.has(t)?D("runtimeNetwork.networkModel is unknown"):!G(e.apiHosts)||!G(e.authHosts)||typeof e.httpsOnly!="boolean"?D("runtimeNetwork host/https fields are invalid"):{ok:!0,value:{networkModel:t,apiHosts:e.apiHosts,authHosts:e.authHosts,httpsOnly:e.httpsOnly}}}function at(e){if(!y(e)||typeof e.flowVersionId!="string"||typeof e.compiledArtifactId!="string"||!Array.isArray(e.bundles))return _("handler bundles data surface shape is invalid");let t=L(e.bundles);return t.ok?{ok:!0,value:{flowVersionId:e.flowVersionId,compiledArtifactId:e.compiledArtifactId,bundles:t.value}}:t}function dt(e){if(!y(e)||typeof e.installationId!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.bundles))return _("tool handler bundles data surface shape is invalid");let t=L(e.bundles);return t.ok?{ok:!0,value:{installationId:e.installationId,artifactDigest:e.artifactDigest,bundles:t.value}}:t}function L(e){let t=[];for(let n of e){let r=re(n);if(!r.ok)return r;t.push(r.value)}return{ok:!0,value:t}}function re(e){if(!y(e)||typeof e.toolRef!="string"||e.kind!=="handler"&&e.kind!=="request")return _("handler bundle entry shape is invalid");if(e.kind==="request"){if(e.module!==void 0)return _("a request bundle must not carry a module");let r=w(e.runtimeNetwork);return r.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"request",runtimeNetwork:r.value}}:r}let t=e.module;if(!y(t)||typeof t.entry!="string"||t.entry.length===0||!oe(t.files))return _("a handler bundle must carry a { entry, files } module");let n=w(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 _(e){return{ok:!1,kind:"shape",reason:e}}function D(e){return{ok:!1,kind:"runtime_network",reason:e}}function y(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function G(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function oe(e){return y(e)&&Object.values(e).every(t=>typeof t=="string")}var E="/internal/webhook-trigger-instances",ft="/:triggerInstanceId/context",mt="/:triggerInstanceId/handler-bundles",Rt="/:triggerInstanceId/deliveries/:deliveryId",yt="/:triggerInstanceId/events",It="/:triggerInstanceId/rearm",kt="/:triggerInstanceId/store/:namespace/:key",I=e=>`${E}/${encodeURIComponent(e)}`;function _t(e,t){return`${I(e)}/context?artifactDigest=${encodeURIComponent(t)}`}function Et(e,t){return`${I(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function Tt(e,t){return`${I(e)}/deliveries/${encodeURIComponent(t)}`}function xt(e){return`${I(e)}/events`}function ht(e){return`${I(e)}/rearm`}function wt(e,t,n){return`${I(e)}/store/${encodeURIComponent(t)}/${encodeURIComponent(n)}`}var Pt="/:installationId/webhook-protocol-adapter-bundle";function Nt(e){return`${B}/${encodeURIComponent(e.installationId)}/webhook-protocol-adapter-bundle?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var At="modules/webhook/protocol-adapter.js";function bt(e){return`modules/webhook/protocol-adapter-${e}.js`}function St(e){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)||!se(e.runtime)?o("webhook watcher context surface shape is invalid"):a(e)}function ie(e){return i(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authType=="string"}function se(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 vt(e){if(!i(e)||typeof e.deliveryId!="string"||typeof e.receivedAt!="string"||!i(e.request))return o("webhook delivery surface shape is invalid");let t=e.request;return t.method!=="POST"||!i(t.headers)||typeof t.rawBody!="string"?o("webhook delivery request shape is invalid"):a(e)}function Ot(e){if(!i(e)||typeof e.triggerRef!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.modules)||!e.modules.every(ue))return{ok:!1,kind:"shape",reason:"trigger handler bundles data surface shape is invalid"};let t=w(e.runtimeNetwork);return t.ok?{ok:!0,value:{triggerRef:e.triggerRef,artifactDigest:e.artifactDigest,modules:e.modules,runtimeNetwork:t.value}}:t}function ue(e){return i(e)&&typeof e.specifier=="string"&&e.specifier.length>0&&typeof e.source=="string"}function ae(e){return!i(e)||!("value"in e)?o("webhook store get surface shape is invalid"):a(e.value)}function Ct(e){if(!i(e))return o("publish events body must be a JSON object");let t=P(e,["deliveryId","events"]);if(t!==void 0)return o(`publish events does not accept the "${t}" field`);let n=e.deliveryId;if(typeof n!="string"||n.length===0)return o("deliveryId must be a non-empty string");let r=e.events;if(!Array.isArray(r))return o("events must be an array");let s=[];for(let u of r){let d=de(u);if(!d.ok)return d;s.push(d.value)}return a({deliveryId:n,events:s})}function de(e){if(!i(e))return o("each event must be a JSON object");let t=P(e,["eventId","occurredAt","dedupeKey","payload"]);if(t!==void 0)return o(`event does not accept the "${t}" field`);let n=e.eventId;if(typeof n!="string"||n.length===0)return o("eventId must be a non-empty string");let r=e.occurredAt;if(typeof r!="string"||r.length===0)return o("occurredAt must be a non-empty string");if(!i(e.payload))return o("event payload must be a JSON object");let s={eventId:n,occurredAt:r,payload:e.payload};if(e.dedupeKey!==void 0){if(typeof e.dedupeKey!="string"||e.dedupeKey.length===0)return o("dedupeKey must be a non-empty string");s.dedupeKey=e.dedupeKey}return a(s)}function Dt(e){if(!i(e))return o("rearm body must be a JSON object");let t=P(e,["expectedWatcherInstanceId"]);if(t!==void 0)return o(`rearm does not accept the "${t}" field`);let n=e.expectedWatcherInstanceId;return typeof n!="string"||n.length===0?o("expectedWatcherInstanceId must be a non-empty string"):a({expectedWatcherInstanceId:n})}function le(e){if(!i(e))return o("store body must be a JSON object");let t=P(e,["value"]);return t!==void 0?o(`store put does not accept the "${t}" field`):"value"in e?a({value:e.value}):o("store put requires a value field")}function P(e,t){return Object.keys(e).find(n=>!t.includes(n))}var T="/internal/polling-trigger-instances",Ut="/:pollingInstanceId/context",Ft="/:pollingInstanceId/handler-bundles",Gt="/:pollingInstanceId/ticks/:tickId/events",Lt="/:pollingInstanceId/store/:namespace/:key",N=e=>`${T}/${encodeURIComponent(e)}`;function Mt(e,t,n){return`${N(e)}/context?artifactDigest=${encodeURIComponent(t)}&tickId=${encodeURIComponent(n)}`}function $t(e,t){return`${N(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function Kt(e,t){return`${N(e)}/ticks/${encodeURIComponent(t)}/events`}function Wt(e,t,n){return`${N(e)}/store/${encodeURIComponent(t)}/${encodeURIComponent(n)}`}function Vt(e){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&&!pe(e.connection)||!ce(e.runtime)||!ge(e.tick)||!fe(e.limits)?o("polling trigger context surface shape is invalid"):a(e)}function pe(e){return i(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authType=="string"}function ce(e){if(!i(e)||e.type!=="polling"||typeof e.trigger_id!="string"||typeof e.trigger_ref!="string")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 r=t.dedup;return i(r)&&(r.strategy==="cursor"||r.strategy==="hash"||r.strategy==="id_field")}function ge(e){return i(e)&&typeof e.tickId=="string"&&typeof e.scheduledAt=="string"&&typeof e.attempt=="number"}function fe(e){return i(e)&&typeof e.maxEventsPerTick=="number"}function qt(e){if(!i(e))return o("publish body must be a JSON object");let t=M(e,["events","nextCursor"]);if(t!==void 0)return o(`publish does not accept the "${t}" field`);let n=e.events;if(!Array.isArray(n))return o("events must be an array");let r=[];for(let u of n){let d=me(u);if(!d.ok)return d;r.push(d.value)}let s={events:r};if("nextCursor"in e){let u=e.nextCursor;if(u!==null&&typeof u!="string")return o("nextCursor must be a string, null, or omitted");s.nextCursor=u}return a(s)}function me(e){if(!i(e))return o("each event must be a JSON object");let t=M(e,["eventId","occurredAt","dedupeKey","payload"]);if(t!==void 0)return o(`event does not accept the "${t}" field`);if(typeof e.eventId!="string"||e.eventId.length===0)return o("event eventId must be a non-empty string");if(!i(e.payload))return o("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 o("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 o("event dedupeKey must be a non-empty string");n.dedupeKey=e.dedupeKey}return a(n)}function jt(e){return!i(e)||typeof e.tickId!="string"||typeof e.cursorUpdated!="boolean"||!Array.isArray(e.results)||!e.results.every(Re)?o("publish polling tick events data surface shape is invalid"):a(e)}function Re(e){return i(e)&&typeof e.eventId=="string"&&typeof e.dedupeKey=="string"&&typeof e.duplicate=="boolean"&&(e.flowRunId===null||typeof e.flowRunId=="string")}function M(e,t){return Object.keys(e).find(n=>!t.includes(n))}var $="/internal/egress-grants",H="/internal/tool-invocations",en="/:flowRunId/egress-grant",tn="/:invocationId/egress-grant",nn="/:pollingInstanceId/egress-grant",rn="/:triggerInstanceId/egress-grant",on="/:grantId/consume",sn="/:grantId/audit",un=e=>`${f}/${encodeURIComponent(e)}/egress-grant`,an=e=>`${H}/${encodeURIComponent(e)}/egress-grant`,dn=e=>`${T}/${encodeURIComponent(e)}/egress-grant`,ln=e=>`${E}/${encodeURIComponent(e)}/egress-grant`,pn=e=>`${$}/${encodeURIComponent(e)}/consume`,cn=e=>`${$}/${encodeURIComponent(e)}/audit`,ye=["flow_action","single_tool","polling_trigger","webhook_trigger"],Ie=/^[A-Za-z0-9][A-Za-z0-9:_+/=.-]{15,1023}$/;function x(e){return typeof e=="string"&&Ie.test(e)}function ke(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(r=>i(r)?r.kind==="file"&&typeof r.file_id=="string"&&r.file_id.length>0:!1):!1}function l(e){return{ok:!1,kind:"shape",reason:e}}function h(){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 S(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 r=S(t.record.request);if(r!==void 0)return l(r);let s=t.record.requestDigest;return x(s)?{ok:!0,value:{nodeId:n,requestDigest:s,requestHasMultipartFiles:ke(t.record.request)}}:h()}function fn(e){let t=b(e,["request","requestDigest"]);if(!t.ok)return l(t.reason);let n=S(t.record.request);if(n!==void 0)return l(n);let r=t.record.requestDigest;return x(r)?{ok:!0,value:{requestDigest:r}}:h()}function mn(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 r=S(t.record.request);if(r!==void 0)return l(r);let s=t.record.requestDigest;return x(s)?{ok:!0,value:{tickId:n,requestDigest:s}}:h()}function Rn(e){let t=b(e,["phase","lifecycle","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 r=t.record.lifecycle,s;if(r!==void 0){if(r!=="enable"&&r!=="disable"&&r!=="renew")return l('lifecycle must be "enable", "disable", or "renew"');s=r}if(n==="lifecycle"&&s===void 0)return l("lifecycle is required for the lifecycle phase");let u=S(t.record.request);if(u!==void 0)return l(u);let d=t.record.requestDigest;return x(d)?{ok:!0,value:{phase:n,...s!==void 0?{lifecycle:s}:{},requestDigest:d}}:h()}function K(e){return ye.includes(e)?e:void 0}var _e=["scopeKind","scopeId","requestDigest"];function yn(e){if(!i(e))return l("consume body must be a JSON object");for(let s of Object.keys(e))if(!_e.includes(s))return l(`consume does not accept the "${s}" field`);let t=K(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 r=e.requestDigest;return x(r)?{ok:!0,value:{scopeKind:t,scopeId:n,requestDigest:r}}:h()}var Ee=["scopeKind","scopeId","providerHost","status","durationMs","requestBytes","responseBytes","errorCode"];function A(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 In(e){if(!i(e))return l("audit body must be a JSON object");for(let c of Object.keys(e))if(!Ee.includes(c))return l(`audit does not accept the "${c}" field`);let t=K(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 r=e.providerHost;if(typeof r!="string"||r.length===0)return l("providerHost is required");let s=A(e.durationMs,"durationMs");if(!s.ok)return l(s.reason);let u;if(e.status!==void 0){let c=A(e.status,"status");if(!c.ok)return l(c.reason);u=c.value}let d;if(e.requestBytes!==void 0){let c=A(e.requestBytes,"requestBytes");if(!c.ok)return l(c.reason);d=c.value}let p;if(e.responseBytes!==void 0){let c=A(e.responseBytes,"responseBytes");if(!c.ok)return l(c.reason);p=c.value}let O;if(e.errorCode!==void 0){let c=e.errorCode;if(typeof c!="string"||c.length===0)return l("errorCode must be a non-empty string");O=c}return{ok:!0,value:{scopeKind:t,scopeId:n,providerHost:r,...u!==void 0?{status:u}:{},durationMs:s.value,...d!==void 0?{requestBytes:d}:{},...p!==void 0?{responseBytes:p}:{},...O!==void 0?{errorCode:O}:{}}}}function kn(e){return!i(e)||!i(e.grant)?o("egress grant envelope must carry a grant object"):a(e.grant)}function _n(e){return!i(e)||e.consumed!==!0?o("egress grant consume data must carry consumed:true"):a({consumed:!0})}var Nn="/:flowRunId/runtime-credential",An="/:invocationId/runtime-credential",bn="/:pollingInstanceId/runtime-credential",Sn="/:triggerInstanceId/runtime-credential",vn=e=>`${f}/${encodeURIComponent(e)}/runtime-credential`,On=e=>`${H}/${encodeURIComponent(e)}/runtime-credential`,Cn=e=>`${T}/${encodeURIComponent(e)}/runtime-credential`,Dn=e=>`${E}/${encodeURIComponent(e)}/runtime-credential`,Bn=["flow_action","tool_invoke","polling_trigger","webhook_trigger"];function v(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 Hn(e){let t=v(e,["nodeId"]);if(!t.ok)return o(t.reason);let n=t.record.nodeId;return typeof n!="string"||n.length===0?o("nodeId is required"):a({nodeId:n})}function Un(e){let t=v(e??{},[]);return t.ok?a(null):o(t.reason)}function Fn(e){let t=v(e,["tickId"]);if(!t.ok)return o(t.reason);let n=t.record.tickId;return typeof n!="string"||n.length===0?o("tickId is required"):a({tickId:n})}function Gn(e){let t=v(e,["executionKind","deliveryId","lifecycleOperation"]);if(!t.ok)return o(t.reason);let n=t.record.executionKind;if(n!=="event_handler"&&n!=="lifecycle")return o('executionKind must be "event_handler" or "lifecycle"');let r,s=t.record.deliveryId;if(s!==void 0){if(typeof s!="string"||s.length===0)return o("deliveryId must be a non-empty string");r=s}let u,d=t.record.lifecycleOperation;if(d!==void 0){if(d!=="enable"&&d!=="disable"&&d!=="renew")return o('lifecycleOperation must be "enable", "disable", or "renew"');u=d}return n==="lifecycle"&&u===void 0?o("lifecycleOperation is required for the lifecycle execution kind"):a({executionKind:n,...r!==void 0?{deliveryId:r}:{},...u!==void 0?{lifecycleOperation:u}:{}})}function Ln(e){return!i(e)||typeof e.sessionId!="string"||typeof e.connectionId!="string"||!i(e.credential)?o("runtime credential session must carry sessionId, connectionId and a credential object"):a(e.credential)}var U="/internal/files",Kn="/:fileId/stat",Wn="/:fileId/content",Vn=()=>U,W=e=>`?scope_kind=${encodeURIComponent(e.scopeKind)}&scope_id=${encodeURIComponent(e.scopeId)}`,qn=(e,t)=>`${U}/${encodeURIComponent(e)}/stat${W(t)}`,jn=(e,t)=>`${U}/${encodeURIComponent(e)}/content${W(t)}`;function Jn(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"?o("file ref data does not match the AIS file-ref shape"):a(e)}var Qn="/:flowRunId/human-inputs",Zn="/:flowRunId/human-inputs/:requestId",er="/:flowRunId/human-inputs/:requestId/expire",tr="/:flowRunId/human-inputs/:requestId/acknowledge",Te=e=>`${f}/${encodeURIComponent(e)}/human-inputs`,V=(e,t)=>`${Te(e)}/${encodeURIComponent(t)}`,nr=(e,t)=>`${V(e,t)}/expire`,rr=(e,t)=>`${V(e,t)}/acknowledge`,xe="human_input_resolved";function or(e){return`${xe}_${e}`}function g(e){return{ok:!1,reason:e}}function m(e,t){return i(e)?{ok:!0,value:e}:g(`${t} must be an object`)}function k(e,t){return typeof e!="string"||e.length===0?g(`${t} must be a non-empty string`):{ok:!0,value:e}}var he=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;function we(e,t){return typeof e!="string"||!he.test(e)||Number.isNaN(Date.parse(e))?g(`${t} must be an ISO-8601 timestamp`):{ok:!0,value:e}}function Pe(e){let t=m(e,"renderedPrompt");if(!t.ok)return t;let n=k(t.value.title,"renderedPrompt.title");if(!n.ok)return n;let r={title:n.value};if(t.value.body!==void 0){if(typeof t.value.body!="string")return g("renderedPrompt.body must be a string");r.body=t.value.body}if(t.value.format!==void 0){if(t.value.format!=="plain"&&t.value.format!=="markdown")return g("renderedPrompt.format is invalid");r.format=t.value.format}return{ok:!0,value:r}}function Ne(e){let t=m(e,"input");if(!t.ok)return t;let n=t.value.kind;if(n==="choice"){if(!Array.isArray(t.value.choices))return g("input.choices must be an array")}else if(n!=="text")if(n==="form"){if(!Array.isArray(t.value.fields))return g("input.fields must be an array")}else return g("input.kind is invalid");return{ok:!0,value:t.value}}function Ae(e){if(e==null)return{ok:!0,value:void 0};let t=m(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 g("partiallyRenderedDelivery.actions must be an array");let r=[];for(let s of n){let u=m(s,"delivery action");if(!u.ok)return u;let d=k(u.value.id,"delivery action id");if(!d.ok)return d;let p=q(u.value.inputs,`delivery action '${d.value}' inputs`);if(!p.ok)return p;r.push({id:d.value,inputs:p.value})}return{ok:!0,value:{actions:r}}}function q(e,t){let n=m(e,t);if(!n.ok)return n;let r={};for(let[s,u]of Object.entries(n.value)){let d=j(u,`${t}.${s}`);if(!d.ok)return d;r[s]=d.value}return{ok:!0,value:r}}function j(e,t){let n=m(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=k(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 g(`${t}.items must be an array`);let s=[];for(let[u,d]of n.value.items.entries()){let p=j(d,`${t}[${u}]`);if(!p.ok)return p;s.push(p.value)}return{ok:!0,value:{kind:"array",items:s}}}case"object":{let s=q(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 g(`${t}.parts must be an array`);let s=[];for(let[u,d]of n.value.parts.entries()){let p=be(d,`${t}.parts[${u}]`);if(!p.ok)return p;s.push(p.value)}return{ok:!0,value:{kind:"template",parts:s}}}default:return g(`${t}.kind is invalid`)}}function be(e,t){let n=m(e,t);if(!n.ok)return n;let r=n.value.kind;if(r==="literal")return typeof n.value.value!="string"?g(`${t}.value must be a string`):{ok:!0,value:{kind:"literal",value:n.value.value}};if(r==="human_input_ref"){let s=k(n.value.path,`${t}.path`);return s.ok?{ok:!0,value:{kind:"human_input_ref",path:s.value}}:s}return g(`${t}.kind is invalid`)}function ir(e){let t=m(e,"request body");if(!t.ok)return o(t.reason);let n=k(t.value.nodeId,"nodeId");if(!n.ok)return o(n.reason);let r=Pe(t.value.renderedPrompt);if(!r.ok)return o(r.reason);let s=Ne(t.value.input);if(!s.ok)return o(s.reason);let u=k(t.value.timeout,"timeout");if(!u.ok)return o(u.reason);let d=we(t.value.expiresAt,"expiresAt");if(!d.ok)return o(d.reason);let p=Ae(t.value.partiallyRenderedDelivery);return p.ok?a({nodeId:n.value,renderedPrompt:r.value,input:s.value,timeout:u.value,expiresAt:d.value,...p.value!==void 0?{partiallyRenderedDelivery:p.value}:{}}):o(p.reason)}function Se(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))?o("human input request view must carry id, nodeId, status and output"):a(e)}function sr(e){if(!i(e)||typeof e.created!="boolean")return o("human input create data must carry created:boolean");let t=Se(e.request);return t.ok?a({created:e.created,request:t.value}):t}function ur(e){return!i(e)||e.acknowledged!==!0?o("human input acknowledge data must carry acknowledged:true"):a({acknowledged:!0})}var dr="ablehi-wfp-user-runtime-manifest/v1",lr="unknown";function pr(e){return e.endsWith(".js")?`${e.slice(0,-3)}.manifest.json`:`${e}.manifest.json`}var gr="/internal/deployment-handshake",ve=["start","terminate","send-event","start-webhook-watcher","run-polling-tick","invoke-tool","invoke-trigger-handler","invoke-webhook-protocol-adapter","deployment-handshake"],fr=ve,mr="HANDSHAKE_REQUEST_INVALID",Rr="HANDSHAKE_SECRET_UNCONFIGURED",yr="HANDSHAKE_SECRET_MISMATCH",Ir="HANDSHAKE_CONTRACT_VERSION_MISMATCH",kr="HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH",_r="HANDSHAKE_CAPABILITY_MISSING";function Er(e){return[e.nonce,e.timestamp,e.contractVersion,e.dispatchNamespace].map(n=>`${n.length}:${n}`).join(".")}function Tr(e){return["response",e.nonce,e.contractVersion,e.dispatchNamespace,...e.capabilities].map(n=>`${n.length}:${n}`).join(".")}export{ve as DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES,fr as DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES,gr as DEPLOYMENT_HANDSHAKE_ROUTE,sn as EGRESS_GRANT_AUDIT_ROUTE_SUBPATH,on as EGRESS_GRANT_CONSUME_ROUTE_SUBPATH,ye as EGRESS_GRANT_SCOPE_KINDS,qe as EVENT_WAIT_ROUTE_SUBPATH,Fe as EXECUTION_CONTEXT_ROUTE_SUBPATH,Wn as FILE_CONTENT_ROUTE_SUBPATH,Kn as FILE_STAT_ROUTE_SUBPATH,X as FLOW_INTERPRETER_CONTRACT_VERSION,Ce as FLOW_IR_SCHEMA_VERSION,en as FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH,Ve as FLOW_RUN_RESULT_ROUTE_SUBPATH,Nn as FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,ot as HANDLER_BUNDLES_ROUTE_SUBPATH,_r as HANDSHAKE_CAPABILITY_MISSING,Ir as HANDSHAKE_CONTRACT_VERSION_MISMATCH,kr as HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH,mr as HANDSHAKE_REQUEST_INVALID,yr as HANDSHAKE_SECRET_MISMATCH,Rr as HANDSHAKE_SECRET_UNCONFIGURED,Qn as HUMAN_INPUTS_ROUTE_SUBPATH,tr as HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH,er as HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH,Zn as HUMAN_INPUT_REQUEST_ROUTE_SUBPATH,xe as HUMAN_INPUT_RESOLVED_EVENT_PREFIX,$ as INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX,U as INTERNAL_FILES_ROUTE_PREFIX,f as INTERNAL_FLOW_RUNS_ROUTE_PREFIX,te as INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX,B as INTERNAL_INSTALLATIONS_ROUTE_PREFIX,T as INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX,H as INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX,E as INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX,Ut as POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH,nn as POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,Ft as POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,bn as POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Lt as POLLING_TRIGGER_STORE_ROUTE_SUBPATH,Gt as POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH,Bn as RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS,J as SERVER_CONTRACT_VERSION,We as STEP_RESULT_ROUTE_SUBPATH,it as TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH,tn as TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,An as TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Pt as WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH,At as WEBHOOK_PROTOCOL_ADAPTER_MODULE,ft as WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH,Rt as WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH,rn as WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,yt as WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH,mt as WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,It as WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH,Sn as WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,kt as WEBHOOK_TRIGGER_STORE_ROUTE_SUBPATH,dr as WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION,lr as WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION,o as contractParseFail,a as contractParseOk,Er as deploymentHandshakeProbePayload,Tr as deploymentHandshakeResponseProofPayload,cn as egressGrantAuditPath,pn as egressGrantConsumePath,Xe as eventWaitPath,Ge as executionContextPath,un as flowRunEgressGrantPath,Je as flowRunResultPath,vn as flowRunRuntimeCredentialPath,bt as flowScriptProtocolAdapterModuleName,st as handlerBundlesPath,rr as humanInputAcknowledgePath,nr as humanInputExpirePath,V as humanInputRequestPath,or as humanInputResolvedEventType,Te as humanInputsPath,jn as internalFileContentPath,qn as internalFileStatPath,Vn as internalFilesPath,i as isJsonRecord,x as isValidRequestDigest,tt as parseCompleteFlowRunWaitBody,ir as parseCreateHumanInputBody,In as parseEgressGrantAuditBody,yn as parseEgressGrantConsumeBody,_n as parseEgressGrantConsumeData,kn as parseEgressGrantData,Le as parseExecutionContextData,Jn as parseFileRefData,Y as parseFileRuntimeLimits,gn as parseFlowActionGrantBody,Qe as parseFlowRunResultBody,Ze as parseFlowRunResultData,Hn as parseFlowRuntimeCredentialBody,re as parseHandlerBundle,at as parseHandlerBundlesData,ur as parseHumanInputAcknowledgeData,sr as parseHumanInputCreateData,Se as parseHumanInputRequestViewData,qt as parsePollingPublishBody,Fn as parsePollingRuntimeCredentialBody,le as parsePollingStorePutBody,ae as parsePollingStoreValue,Vt as parsePollingTriggerContext,mn as parsePollingTriggerGrantBody,jt as parsePublishPollingTickEventsData,et as parseRegisterFlowRunWaitBody,nt as parseRegisterFlowRunWaitData,Ln as parseRuntimeCredentialSessionCredential,w as parseRuntimeNetwork,fn as parseSingleToolGrantBody,Un as parseSingleToolRuntimeCredentialBody,Ye as parseStepRecordBody,ze as parseStepRecordData,dt as parseToolHandlerBundlesData,Ot as parseTriggerHandlerBundlesData,vt as parseWebhookDelivery,Ct as parseWebhookPublishEventsBody,Dt as parseWebhookRearmBody,Gn as parseWebhookRuntimeCredentialBody,le as parseWebhookStorePutBody,ae as parseWebhookStoreValue,Rn as parseWebhookTriggerGrantBody,St as parseWebhookWatcherContext,Mt as pollingTriggerContextPath,dn as pollingTriggerEgressGrantPath,$t as pollingTriggerHandlerBundlesPath,Cn as pollingTriggerRuntimeCredentialPath,Wt as pollingTriggerStorePath,Kt as pollingTriggerTickEventsPath,ke as requestHasMultipartFileParts,je as stepResultPath,ut as toolHandlerBundlesPath,an as toolInvocationEgressGrantPath,On as toolInvocationRuntimeCredentialPath,Nt as webhookProtocolAdapterBundlePath,_t as webhookTriggerContextPath,Tt as webhookTriggerDeliveryPath,ln as webhookTriggerEgressGrantPath,xt as webhookTriggerEventsPath,Et as webhookTriggerHandlerBundlesPath,ht as webhookTriggerRearmPath,Dn as webhookTriggerRuntimeCredentialPath,wt as webhookTriggerStorePath,pr as wfpUserRuntimeManifestPath};
1
+ var z="0.2.3";var Ue="flow.ir.v1";var Q="flow.interp.v2";function a(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)}function I(e){if(!i(e)||typeof e.kind!="string")return r("context state scope surface shape is invalid");switch(e.kind){case"webhook-trigger":return Z(e);case"polling-trigger":return ee(e);case"flow-action":return te(e);default:return r("context state scope kind is invalid")}}function Z(e){let t=v(e,["kind","workspaceId","triggerInstanceId"]);return t!==void 0?r(`webhook trigger scope does not accept "${t}"`):e.kind!=="webhook-trigger"||!m(e.workspaceId)||!m(e.triggerInstanceId)?r("webhook trigger state scope is invalid"):a({kind:"webhook-trigger",workspaceId:e.workspaceId,triggerInstanceId:e.triggerInstanceId})}function ee(e){let t=v(e,["kind","workspaceId","pollingInstanceId"]);return t!==void 0?r(`polling trigger scope does not accept "${t}"`):e.kind!=="polling-trigger"||!m(e.workspaceId)||!m(e.pollingInstanceId)?r("polling trigger state scope is invalid"):a({kind:"polling-trigger",workspaceId:e.workspaceId,pollingInstanceId:e.pollingInstanceId})}function te(e){let t=v(e,["kind","workspaceId","flowId","nodeId","connectionId"]);if(t!==void 0)return r(`flow action scope does not accept "${t}"`);let n=e.connectionId;return e.kind!=="flow-action"||!m(e.workspaceId)||!m(e.flowId)||!m(e.nodeId)||n!==null&&!m(n)?r("flow action state scope is invalid"):a({kind:"flow-action",workspaceId:e.workspaceId,flowId:e.flowId,nodeId:e.nodeId,connectionId:n})}function m(e){return typeof e=="string"&&e.length>0}function v(e,t){return Object.keys(e).find(n=>!t.includes(n))}var f="/internal/flow-runs",We="/:flowRunId/execution-context";function Ve(e){return`${f}/${encodeURIComponent(e)}/execution-context`}function ne(e){return!i(e)||!D(e.fileMaxBytes)||!D(e.fileReadMaxBytes)||!D(e.inlineMultipartBytesMax)?r("file runtime limits must carry three positive integer bounds"):a({fileMaxBytes:e.fileMaxBytes,fileReadMaxBytes:e.fileReadMaxBytes,inlineMultipartBytesMax:e.inlineMultipartBytesMax})}function je(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)||!oe(e.executionBindings))return r("execution context surface shape is invalid");let n=re(e.fileRuntime);return n.ok?a({...e,fileRuntime:n.value}):r(n.reason)}function re(e){if(e===null)return a(null);if(!i(e))return r("fileRuntime must be null or an object");let t=ne(e.limits);return t.ok?a({limits:t.value}):r(t.reason)}function oe(e){return Array.isArray(e)?e.every(t=>{if(!i(t))return!1;let n=t.connection,o=I(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.authType=="string"&&o.ok}):!1}function D(e){return typeof e=="number"&&Number.isSafeInteger(e)&&e>0}var ze="/:flowRunId/steps/:nodeId/result",Qe="/:flowRunId/result",Ze="/:flowRunId/event-waits/:nodeId";function et(e,t){return`${f}/${encodeURIComponent(e)}/steps/${encodeURIComponent(t)}/result`}function tt(e){return`${f}/${encodeURIComponent(e)}/result`}function nt(e,t){return`${f}/${encodeURIComponent(e)}/event-waits/${encodeURIComponent(t)}`}function rt(e){if(!i(e))return{ok:!1,kind:"validation",reason:"step record body must be a JSON object"};let t=y(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=ie(e.result);if(!o.ok)return o;let s={attempt:n,result:o.value};if(e.durationMs!==void 0){let u=e.durationMs;if(typeof u!="number"||!Number.isFinite(u)||u<0)return{ok:!1,kind:"validation",reason:"durationMs must be a non-negative number"};s.durationMs=u}return{ok:!0,value:s}}function ie(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=y(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=y(e,["status","errorCode","issues"]);if(n!==void 0)return{ok:!1,kind:"validation",reason:`step record result does not accept the "${n}" field`};let o=e.errorCode;if(typeof o!="string"||o.length===0)return{ok:!1,kind:"step_result_invalid",reason:"a failed result must carry a non-empty errorCode"};let s={status:"failed",errorCode:o};return e.issues!==void 0&&(s.issues=e.issues),{ok:!0,value:s}}return{ok:!1,kind:"step_result_invalid",reason:'result status must be "succeeded" or "failed"'}}function ot(e){return!i(e)||typeof e.flowRunId!="string"||typeof e.nodeId!="string"||e.recorded!=="succeeded"&&e.recorded!=="failed"?r("step record data surface shape is invalid"):a({flowRunId:e.flowRunId,nodeId:e.nodeId,recorded:e.recorded})}function it(e){if(!i(e))return r("result body must be a JSON object");let t=y(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&&(o.output=e.output),e.error!==void 0){let s=e.error;if(!i(s))return r("result error must be a JSON object");let u=y(s,["code","message"]);if(u!==void 0)return r(`result error does not accept the "${u}" field`);if(typeof s.code!="string"||typeof s.message!="string")return r("result error must carry string code and message");o.error={code:s.code,message:s.message}}if(e.composition!==void 0){if(n!=="succeeded")return r("composition is only allowed on a succeeded result");o.composition=e.composition}return a(o)}function st(e){return i(e)?a(e):r("flow run result data must be a JSON object")}var se=/^[A-Za-z0-9_-]{1,100}$/;function ut(e){if(!i(e))return r("register body must be a JSON object");let t=y(e,["eventType","correlationKey"]);if(t!==void 0)return r(`register wait does not accept the "${t}" field`);let n=L(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"):a({eventType:n.value,correlationKey:o})}function at(e){if(!i(e))return r("complete body must be a JSON object");let t=y(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=L(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 u={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");u.eventId=e.eventId}return a(u)}function dt(e){return!i(e)||e.registered!==!0?r("register wait data surface shape is invalid"):a({registered:!0})}function L(e){return typeof e!="string"||e.length===0?r("eventType must be a non-empty string"):se.test(e)?a(e):r("eventType must match ^[A-Za-z0-9_-]{1,100}$")}function y(e,t){return Object.keys(e).find(n=>!t.includes(n))}var ue="/internal/flow-versions",ct="/:flowVersionId/handler-bundles",H="/internal/installations",lt="/:installationId/handler-bundles";function gt(e,t){return`${ue}/${encodeURIComponent(e)}/handler-bundles?compiledArtifactId=${encodeURIComponent(t)}`}function ft(e){return`${H}/${encodeURIComponent(e.installationId)}/handler-bundles?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var ae=new Set(["managed_only","managed_plus_unmanaged_sdk"]);function S(e){if(!k(e))return B("runtimeNetwork must be a JSON object");let t=e.networkModel;return typeof t!="string"||!ae.has(t)?B("runtimeNetwork.networkModel is unknown"):!$(e.apiHosts)||!$(e.authHosts)||typeof e.httpsOnly!="boolean"?B("runtimeNetwork host/https fields are invalid"):{ok:!0,value:{networkModel:t,apiHosts:e.apiHosts,authHosts:e.authHosts,httpsOnly:e.httpsOnly}}}function mt(e){if(!k(e)||typeof e.flowVersionId!="string"||typeof e.compiledArtifactId!="string"||!Array.isArray(e.bundles))return E("handler bundles data surface shape is invalid");let t=K(e.bundles);return t.ok?{ok:!0,value:{flowVersionId:e.flowVersionId,compiledArtifactId:e.compiledArtifactId,bundles:t.value}}:t}function Rt(e){if(!k(e)||typeof e.installationId!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.bundles))return E("tool handler bundles data surface shape is invalid");let t=K(e.bundles);return t.ok?{ok:!0,value:{installationId:e.installationId,artifactDigest:e.artifactDigest,bundles:t.value}}:t}function K(e){let t=[];for(let n of e){let o=de(n);if(!o.ok)return o;t.push(o.value)}return{ok:!0,value:t}}function de(e){if(!k(e)||typeof e.toolRef!="string"||e.kind!=="handler"&&e.kind!=="request")return E("handler bundle entry shape is invalid");if(e.kind==="request"){if(e.module!==void 0)return E("a request bundle must not carry a module");let o=S(e.runtimeNetwork);return o.ok?{ok:!0,value:{toolRef:e.toolRef,kind:"request",runtimeNetwork:o.value}}:o}let t=e.module;if(!k(t)||typeof t.entry!="string"||t.entry.length===0||!pe(t.files))return E("a handler bundle must carry a { entry, files } module");let n=S(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 E(e){return{ok:!1,kind:"shape",reason:e}}function B(e){return{ok:!1,kind:"runtime_network",reason:e}}function k(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function $(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function pe(e){return k(e)&&Object.values(e).every(t=>typeof t=="string")}var x="/internal/webhook-trigger-instances",xt="/:triggerInstanceId/context",Tt="/:triggerInstanceId/handler-bundles",wt="/:triggerInstanceId/deliveries/:deliveryId",ht="/:triggerInstanceId/events",Pt="/:triggerInstanceId/rearm",T=e=>`${x}/${encodeURIComponent(e)}`;function St(e,t){return`${T(e)}/context?artifactDigest=${encodeURIComponent(t)}`}function Nt(e,t){return`${T(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function At(e,t){return`${T(e)}/deliveries/${encodeURIComponent(t)}`}function Ct(e){return`${T(e)}/events`}function bt(e){return`${T(e)}/rearm`}var Ot="/:installationId/webhook-protocol-adapter-bundle";function vt(e){return`${H}/${encodeURIComponent(e.installationId)}/webhook-protocol-adapter-bundle?workspaceId=${encodeURIComponent(e.workspaceId)}&artifactDigest=${encodeURIComponent(e.artifactDigest)}`}var Dt="modules/webhook/protocol-adapter.js";function Bt(e){return`modules/webhook/protocol-adapter-${e}.js`}function Ht(e){let t=i(e)?I(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&&!ce(e.connection)||!le(e.runtime)||!t.ok||t.value.kind!=="webhook-trigger"?r("webhook watcher context surface shape is invalid"):a(e)}function ce(e){return i(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authType=="string"}function le(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 Ut(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"):a(e)}function Ft(e){if(!i(e)||typeof e.triggerRef!="string"||typeof e.artifactDigest!="string"||!Array.isArray(e.modules)||!e.modules.every(ge))return{ok:!1,kind:"shape",reason:"trigger handler bundles data surface shape is invalid"};let t=S(e.runtimeNetwork);return t.ok?{ok:!0,value:{triggerRef:e.triggerRef,artifactDigest:e.artifactDigest,modules:e.modules,runtimeNetwork:t.value}}:t}function ge(e){return i(e)&&typeof e.specifier=="string"&&e.specifier.length>0&&typeof e.source=="string"}function Mt(e){if(!i(e))return r("publish events body must be a JSON object");let t=U(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 u of o){let d=fe(u);if(!d.ok)return d;s.push(d.value)}return a({deliveryId:n,events:s})}function fe(e){if(!i(e))return r("each event must be a JSON object");let t=U(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 a(s)}function Gt(e){if(!i(e))return r("rearm body must be a JSON object");let t=U(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"):a({expectedWatcherInstanceId:n})}function U(e,t){return Object.keys(e).find(n=>!t.includes(n))}var w="/internal/polling-trigger-instances",qt="/:pollingInstanceId/context",Wt="/:pollingInstanceId/handler-bundles",Vt="/:pollingInstanceId/ticks/:tickId/events",F=e=>`${w}/${encodeURIComponent(e)}`;function jt(e,t,n){return`${F(e)}/context?artifactDigest=${encodeURIComponent(t)}&tickId=${encodeURIComponent(n)}`}function Jt(e,t){return`${F(e)}/handler-bundles?artifactDigest=${encodeURIComponent(t)}`}function Xt(e,t){return`${F(e)}/ticks/${encodeURIComponent(t)}/events`}function Yt(e){let t=i(e)?I(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&&!me(e.connection)||!Re(e.runtime)||!t.ok||t.value.kind!=="polling-trigger"||!ye(e.tick)||!Ie(e.limits)?r("polling trigger context surface shape is invalid"):a(e)}function me(e){return i(e)&&typeof e.connectionId=="string"&&typeof e.connectionRef=="string"&&typeof e.integrationRef=="string"&&typeof e.authType=="string"}function Re(e){if(!i(e)||e.type!=="polling"||typeof e.trigger_id!="string"||typeof e.trigger_ref!="string")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 ye(e){return i(e)&&typeof e.tickId=="string"&&typeof e.scheduledAt=="string"&&typeof e.attempt=="number"}function Ie(e){return i(e)&&typeof e.maxEventsPerTick=="number"}function zt(e){if(!i(e))return r("publish body must be a JSON object");let t=q(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 u of n){let d=ke(u);if(!d.ok)return d;o.push(d.value)}let s={events:o};if("nextCursor"in e){let u=e.nextCursor;if(u!==null&&typeof u!="string")return r("nextCursor must be a string, null, or omitted");s.nextCursor=u}return a(s)}function ke(e){if(!i(e))return r("each event must be a JSON object");let t=q(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 a(n)}function Qt(e){return!i(e)||typeof e.tickId!="string"||typeof e.cursorUpdated!="boolean"||!Array.isArray(e.results)||!e.results.every(_e)?r("publish polling tick events data surface shape is invalid"):a(e)}function _e(e){return i(e)&&typeof e.eventId=="string"&&typeof e.dedupeKey=="string"&&typeof e.duplicate=="boolean"&&(e.flowRunId===null||typeof e.flowRunId=="string")}function q(e,t){return Object.keys(e).find(n=>!t.includes(n))}var W="/internal/egress-grants",M="/internal/tool-invocations",on="/:flowRunId/egress-grant",sn="/:invocationId/egress-grant",un="/:pollingInstanceId/egress-grant",an="/:triggerInstanceId/egress-grant",dn="/:grantId/consume",pn="/:grantId/audit",cn=e=>`${f}/${encodeURIComponent(e)}/egress-grant`,ln=e=>`${M}/${encodeURIComponent(e)}/egress-grant`,gn=e=>`${w}/${encodeURIComponent(e)}/egress-grant`,fn=e=>`${x}/${encodeURIComponent(e)}/egress-grant`,mn=e=>`${W}/${encodeURIComponent(e)}/consume`,Rn=e=>`${W}/${encodeURIComponent(e)}/audit`,Ee=["flow_action","single_tool","polling_trigger","webhook_trigger"],xe=/^[A-Za-z0-9][A-Za-z0-9:_+/=.-]{15,1023}$/;function h(e){return typeof e=="string"&&xe.test(e)}function Te(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 P(){return{ok:!1,kind:"request_digest",reason:"request digest is missing or malformed"}}function A(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 yn(e){let t=A(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=C(t.record.request);if(o!==void 0)return p(o);let s=t.record.requestDigest;return h(s)?{ok:!0,value:{nodeId:n,requestDigest:s,requestHasMultipartFiles:Te(t.record.request)}}:P()}function In(e){let t=A(e,["request","requestDigest"]);if(!t.ok)return p(t.reason);let n=C(t.record.request);if(n!==void 0)return p(n);let o=t.record.requestDigest;return h(o)?{ok:!0,value:{requestDigest:o}}:P()}function kn(e){let t=A(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=C(t.record.request);if(o!==void 0)return p(o);let s=t.record.requestDigest;return h(s)?{ok:!0,value:{tickId:n,requestDigest:s}}:P()}function _n(e){let t=A(e,["phase","lifecycle","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 u=C(t.record.request);if(u!==void 0)return p(u);let d=t.record.requestDigest;return h(d)?{ok:!0,value:{phase:n,...s!==void 0?{lifecycle:s}:{},requestDigest:d}}:P()}function V(e){return Ee.includes(e)?e:void 0}var we=["scopeKind","scopeId","requestDigest"];function En(e){if(!i(e))return p("consume body must be a JSON object");for(let s of Object.keys(e))if(!we.includes(s))return p(`consume does not accept the "${s}" field`);let t=V(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 h(o)?{ok:!0,value:{scopeKind:t,scopeId:n,requestDigest:o}}:P()}var he=["scopeKind","scopeId","providerHost","status","durationMs","requestBytes","responseBytes","errorCode"];function N(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 xn(e){if(!i(e))return p("audit body must be a JSON object");for(let l of Object.keys(e))if(!he.includes(l))return p(`audit does not accept the "${l}" field`);let t=V(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=N(e.durationMs,"durationMs");if(!s.ok)return p(s.reason);let u;if(e.status!==void 0){let l=N(e.status,"status");if(!l.ok)return p(l.reason);u=l.value}let d;if(e.requestBytes!==void 0){let l=N(e.requestBytes,"requestBytes");if(!l.ok)return p(l.reason);d=l.value}let c;if(e.responseBytes!==void 0){let l=N(e.responseBytes,"responseBytes");if(!l.ok)return p(l.reason);c=l.value}let O;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");O=l}return{ok:!0,value:{scopeKind:t,scopeId:n,providerHost:o,...u!==void 0?{status:u}:{},durationMs:s.value,...d!==void 0?{requestBytes:d}:{},...c!==void 0?{responseBytes:c}:{},...O!==void 0?{errorCode:O}:{}}}}function Tn(e){return!i(e)||!i(e.grant)?r("egress grant envelope must carry a grant object"):a(e.grant)}function wn(e){return!i(e)||e.consumed!==!0?r("egress grant consume data must carry consumed:true"):a({consumed:!0})}var bn="/:flowRunId/runtime-credential",On="/:invocationId/runtime-credential",vn="/:pollingInstanceId/runtime-credential",Dn="/:triggerInstanceId/runtime-credential",Bn=e=>`${f}/${encodeURIComponent(e)}/runtime-credential`,Hn=e=>`${M}/${encodeURIComponent(e)}/runtime-credential`,Un=e=>`${w}/${encodeURIComponent(e)}/runtime-credential`,Fn=e=>`${x}/${encodeURIComponent(e)}/runtime-credential`,Mn=["flow_action","tool_invoke","polling_trigger","webhook_trigger"];function b(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 Gn(e){let t=b(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"):a({nodeId:n})}function Ln(e){let t=b(e??{},[]);return t.ok?a(null):r(t.reason)}function $n(e){let t=b(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"):a({tickId:n})}function Kn(e){let t=b(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 u,d=t.record.lifecycleOperation;if(d!==void 0){if(d!=="enable"&&d!=="disable"&&d!=="renew")return r('lifecycleOperation must be "enable", "disable", or "renew"');u=d}return n==="lifecycle"&&u===void 0?r("lifecycleOperation is required for the lifecycle execution kind"):a({executionKind:n,...o!==void 0?{deliveryId:o}:{},...u!==void 0?{lifecycleOperation:u}:{}})}function qn(e){return!i(e)||typeof e.sessionId!="string"||typeof e.connectionId!="string"||!i(e.credential)?r("runtime credential session must carry sessionId, connectionId and a credential object"):a(e.credential)}var G="/internal/files",jn="/:fileId/stat",Jn="/:fileId/content",Xn=()=>G,j=e=>`?scope_kind=${encodeURIComponent(e.scopeKind)}&scope_id=${encodeURIComponent(e.scopeId)}`,Yn=(e,t)=>`${G}/${encodeURIComponent(e)}/stat${j(t)}`,zn=(e,t)=>`${G}/${encodeURIComponent(e)}/content${j(t)}`;function Qn(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"):a(e)}var nr="/:flowRunId/human-inputs",rr="/:flowRunId/human-inputs/:requestId",or="/:flowRunId/human-inputs/:requestId/expire",ir="/:flowRunId/human-inputs/:requestId/acknowledge",Pe=e=>`${f}/${encodeURIComponent(e)}/human-inputs`,J=(e,t)=>`${Pe(e)}/${encodeURIComponent(t)}`,sr=(e,t)=>`${J(e,t)}/expire`,ur=(e,t)=>`${J(e,t)}/acknowledge`,Se="human_input_resolved";function ar(e){return`${Se}_${e}`}function g(e){return{ok:!1,reason:e}}function R(e,t){return i(e)?{ok:!0,value:e}:g(`${t} must be an object`)}function _(e,t){return typeof e!="string"||e.length===0?g(`${t} must be a non-empty string`):{ok:!0,value:e}}var Ne=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,9})?(?:Z|[+-]\d{2}:\d{2})$/;function Ae(e,t){return typeof e!="string"||!Ne.test(e)||Number.isNaN(Date.parse(e))?g(`${t} must be an ISO-8601 timestamp`):{ok:!0,value:e}}function Ce(e){let t=R(e,"renderedPrompt");if(!t.ok)return t;let n=_(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 g("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 g("renderedPrompt.format is invalid");o.format=t.value.format}return{ok:!0,value:o}}function be(e){let t=R(e,"input");if(!t.ok)return t;let n=t.value.kind;if(n==="choice"){if(!Array.isArray(t.value.choices))return g("input.choices must be an array")}else if(n!=="text")if(n==="form"){if(!Array.isArray(t.value.fields))return g("input.fields must be an array")}else return g("input.kind is invalid");return{ok:!0,value:t.value}}function Oe(e){if(e==null)return{ok:!0,value:void 0};let t=R(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 g("partiallyRenderedDelivery.actions must be an array");let o=[];for(let s of n){let u=R(s,"delivery action");if(!u.ok)return u;let d=_(u.value.id,"delivery action id");if(!d.ok)return d;let c=X(u.value.inputs,`delivery action '${d.value}' inputs`);if(!c.ok)return c;o.push({id:d.value,inputs:c.value})}return{ok:!0,value:{actions:o}}}function X(e,t){let n=R(e,t);if(!n.ok)return n;let o={};for(let[s,u]of Object.entries(n.value)){let d=Y(u,`${t}.${s}`);if(!d.ok)return d;o[s]=d.value}return{ok:!0,value:o}}function Y(e,t){let n=R(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=_(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 g(`${t}.items must be an array`);let s=[];for(let[u,d]of n.value.items.entries()){let c=Y(d,`${t}[${u}]`);if(!c.ok)return c;s.push(c.value)}return{ok:!0,value:{kind:"array",items:s}}}case"object":{let s=X(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 g(`${t}.parts must be an array`);let s=[];for(let[u,d]of n.value.parts.entries()){let c=ve(d,`${t}.parts[${u}]`);if(!c.ok)return c;s.push(c.value)}return{ok:!0,value:{kind:"template",parts:s}}}default:return g(`${t}.kind is invalid`)}}function ve(e,t){let n=R(e,t);if(!n.ok)return n;let o=n.value.kind;if(o==="literal")return typeof n.value.value!="string"?g(`${t}.value must be a string`):{ok:!0,value:{kind:"literal",value:n.value.value}};if(o==="human_input_ref"){let s=_(n.value.path,`${t}.path`);return s.ok?{ok:!0,value:{kind:"human_input_ref",path:s.value}}:s}return g(`${t}.kind is invalid`)}function dr(e){let t=R(e,"request body");if(!t.ok)return r(t.reason);let n=_(t.value.nodeId,"nodeId");if(!n.ok)return r(n.reason);let o=Ce(t.value.renderedPrompt);if(!o.ok)return r(o.reason);let s=be(t.value.input);if(!s.ok)return r(s.reason);let u=_(t.value.timeout,"timeout");if(!u.ok)return r(u.reason);let d=Ae(t.value.expiresAt,"expiresAt");if(!d.ok)return r(d.reason);let c=Oe(t.value.partiallyRenderedDelivery);return c.ok?a({nodeId:n.value,renderedPrompt:o.value,input:s.value,timeout:u.value,expiresAt:d.value,...c.value!==void 0?{partiallyRenderedDelivery:c.value}:{}}):r(c.reason)}function De(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"):a(e)}function pr(e){if(!i(e)||typeof e.created!="boolean")return r("human input create data must carry created:boolean");let t=De(e.request);return t.ok?a({created:e.created,request:t.value}):t}function cr(e){return!i(e)||e.acknowledged!==!0?r("human input acknowledge data must carry acknowledged:true"):a({acknowledged:!0})}var gr="ablehi-wfp-user-runtime-manifest/v1",fr="unknown";function mr(e){return e.endsWith(".js")?`${e.slice(0,-3)}.manifest.json`:`${e}.manifest.json`}var yr="/internal/deployment-handshake",Be=["start","terminate","send-event","start-webhook-watcher","run-polling-tick","invoke-tool","invoke-trigger-handler","invoke-webhook-protocol-adapter","deployment-handshake"],Ir=Be,kr="HANDSHAKE_REQUEST_INVALID",_r="HANDSHAKE_SECRET_UNCONFIGURED",Er="HANDSHAKE_SECRET_MISMATCH",xr="HANDSHAKE_CONTRACT_VERSION_MISMATCH",Tr="HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH",wr="HANDSHAKE_CAPABILITY_MISSING";function hr(e){return[e.nonce,e.timestamp,e.contractVersion,e.dispatchNamespace].map(n=>`${n.length}:${n}`).join(".")}function Pr(e){return["response",e.nonce,e.contractVersion,e.dispatchNamespace,...e.capabilities].map(n=>`${n.length}:${n}`).join(".")}export{Be as DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES,Ir as DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES,yr as DEPLOYMENT_HANDSHAKE_ROUTE,pn as EGRESS_GRANT_AUDIT_ROUTE_SUBPATH,dn as EGRESS_GRANT_CONSUME_ROUTE_SUBPATH,Ee as EGRESS_GRANT_SCOPE_KINDS,Ze as EVENT_WAIT_ROUTE_SUBPATH,We as EXECUTION_CONTEXT_ROUTE_SUBPATH,Jn as FILE_CONTENT_ROUTE_SUBPATH,jn as FILE_STAT_ROUTE_SUBPATH,Q as FLOW_INTERPRETER_CONTRACT_VERSION,Ue as FLOW_IR_SCHEMA_VERSION,on as FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH,Qe as FLOW_RUN_RESULT_ROUTE_SUBPATH,bn as FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,ct as HANDLER_BUNDLES_ROUTE_SUBPATH,wr as HANDSHAKE_CAPABILITY_MISSING,xr as HANDSHAKE_CONTRACT_VERSION_MISMATCH,Tr as HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH,kr as HANDSHAKE_REQUEST_INVALID,Er as HANDSHAKE_SECRET_MISMATCH,_r as HANDSHAKE_SECRET_UNCONFIGURED,nr as HUMAN_INPUTS_ROUTE_SUBPATH,ir as HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH,or as HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH,rr as HUMAN_INPUT_REQUEST_ROUTE_SUBPATH,Se as HUMAN_INPUT_RESOLVED_EVENT_PREFIX,W as INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX,G as INTERNAL_FILES_ROUTE_PREFIX,f as INTERNAL_FLOW_RUNS_ROUTE_PREFIX,ue as INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX,H as INTERNAL_INSTALLATIONS_ROUTE_PREFIX,w as INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX,M as INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX,x as INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX,qt as POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH,un as POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,Wt as POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,vn as POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Vt as POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH,Mn as RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS,z as SERVER_CONTRACT_VERSION,ze as STEP_RESULT_ROUTE_SUBPATH,lt as TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH,sn as TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH,On as TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,Ot as WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH,Dt as WEBHOOK_PROTOCOL_ADAPTER_MODULE,xt as WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH,wt as WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH,an as WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH,ht as WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH,Tt as WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH,Pt as WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH,Dn as WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH,gr as WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION,fr as WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION,r as contractParseFail,a as contractParseOk,hr as deploymentHandshakeProbePayload,Pr as deploymentHandshakeResponseProofPayload,Rn as egressGrantAuditPath,mn as egressGrantConsumePath,nt as eventWaitPath,Ve as executionContextPath,cn as flowRunEgressGrantPath,tt as flowRunResultPath,Bn as flowRunRuntimeCredentialPath,Bt as flowScriptProtocolAdapterModuleName,gt as handlerBundlesPath,ur as humanInputAcknowledgePath,sr as humanInputExpirePath,J as humanInputRequestPath,ar as humanInputResolvedEventType,Pe as humanInputsPath,zn as internalFileContentPath,Yn as internalFileStatPath,Xn as internalFilesPath,i as isJsonRecord,h as isValidRequestDigest,at as parseCompleteFlowRunWaitBody,dr as parseCreateHumanInputBody,xn as parseEgressGrantAuditBody,En as parseEgressGrantConsumeBody,wn as parseEgressGrantConsumeData,Tn as parseEgressGrantData,je as parseExecutionContextData,Qn as parseFileRefData,ne as parseFileRuntimeLimits,yn as parseFlowActionGrantBody,it as parseFlowRunResultBody,st as parseFlowRunResultData,Gn as parseFlowRuntimeCredentialBody,de as parseHandlerBundle,mt as parseHandlerBundlesData,cr as parseHumanInputAcknowledgeData,pr as parseHumanInputCreateData,De as parseHumanInputRequestViewData,zt as parsePollingPublishBody,$n as parsePollingRuntimeCredentialBody,Yt as parsePollingTriggerContext,kn as parsePollingTriggerGrantBody,Qt as parsePublishPollingTickEventsData,ut as parseRegisterFlowRunWaitBody,dt as parseRegisterFlowRunWaitData,qn as parseRuntimeCredentialSessionCredential,S as parseRuntimeNetwork,In as parseSingleToolGrantBody,Ln as parseSingleToolRuntimeCredentialBody,rt as parseStepRecordBody,ot as parseStepRecordData,Rt as parseToolHandlerBundlesData,Ft as parseTriggerHandlerBundlesData,Ut as parseWebhookDelivery,Mt as parseWebhookPublishEventsBody,Gt as parseWebhookRearmBody,Kn as parseWebhookRuntimeCredentialBody,_n as parseWebhookTriggerGrantBody,Ht as parseWebhookWatcherContext,jt as pollingTriggerContextPath,gn as pollingTriggerEgressGrantPath,Jt as pollingTriggerHandlerBundlesPath,Un as pollingTriggerRuntimeCredentialPath,Xt as pollingTriggerTickEventsPath,Te as requestHasMultipartFileParts,et as stepResultPath,ft as toolHandlerBundlesPath,ln as toolInvocationEgressGrantPath,Hn as toolInvocationRuntimeCredentialPath,vt as webhookProtocolAdapterBundlePath,St as webhookTriggerContextPath,At as webhookTriggerDeliveryPath,fn as webhookTriggerEgressGrantPath,Ct as webhookTriggerEventsPath,Nt as webhookTriggerHandlerBundlesPath,bt as webhookTriggerRearmPath,Fn as webhookTriggerRuntimeCredentialPath,mr as wfpUserRuntimeManifestPath};
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { JsonValue, FlowNode, FlowIrValidationResult, JsonObject, FlowCompositionSpec, Mapping, TriggerBinding } from './edge.js';
2
- export { AblehiEnvelope, AblehiFailure, AblehiSuccess, ActionNode, BooleanExpression, Collection, CompleteFlowRunWaitBody, CompleteFlowRunWaitData, ContractParseResult, CreateHumanInputRequestBody, DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES, DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES, DEPLOYMENT_HANDSHAKE_ROUTE, DeploymentHandshakeData, DeploymentHandshakeRequestBody, DeploymentHandshakeResponse, EGRESS_GRANT_AUDIT_ROUTE_SUBPATH, EGRESS_GRANT_CONSUME_ROUTE_SUBPATH, EGRESS_GRANT_SCOPE_KINDS, EVENT_WAIT_ROUTE_SUBPATH, EXECUTION_CONTEXT_ROUTE_SUBPATH, EgressGrant, EgressGrantAuditBody, EgressGrantBodyParseResult, EgressGrantConsumeBody, EgressGrantFileRuntime, EgressGrantScopeKind, ExecutionBinding, ExecutionBindingConnection, ExecutionContextCompiled, ExecutionContextData, FILE_CONTENT_ROUTE_SUBPATH, FILE_STAT_ROUTE_SUBPATH, FLOW_INTERPRETER_CONTRACT_VERSION, FLOW_IR_SCHEMA_VERSION, FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH, FLOW_RUN_RESULT_ROUTE_SUBPATH, FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, FileRefData, FileRuntimeLimits, FileRuntimeScope, FileRuntimeScopeKind, FlowActionGrantBody, FlowDefinition, FlowExecutionContextFileRuntime, FlowInterpreterContractVersion, FlowIrValidationCode, FlowIrValidationIssue, FlowRunResultData, FlowRunResultRequestBody, FlowRuntimeCredentialBody, HANDLER_BUNDLES_ROUTE_SUBPATH, HANDSHAKE_CAPABILITY_MISSING, HANDSHAKE_CONTRACT_VERSION_MISMATCH, HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH, HANDSHAKE_REQUEST_INVALID, HANDSHAKE_SECRET_MISMATCH, HANDSHAKE_SECRET_UNCONFIGURED, HUMAN_INPUTS_ROUTE_SUBPATH, HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH, HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH, HUMAN_INPUT_REQUEST_ROUTE_SUBPATH, HUMAN_INPUT_RESOLVED_EVENT_PREFIX, HandlerBundle, HandlerBundleModule, HandlerBundlesData, HandlerBundlesParseResult, HumanChoiceInput, HumanFormField, HumanFormInput, HumanInputActor, HumanInputChoice, HumanInputDelivery, HumanInputDeliveryAction, HumanInputNode, HumanInputOutput, HumanInputPrompt, HumanInputRequestView, HumanInputResolvedEvent, HumanInputResponse, HumanInputSpec, HumanTextInput, 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, IntegrationTriggerBinding, JsonArray, ManualTriggerBinding, NodeCommon, Operand, 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_STORE_ROUTE_SUBPATH, POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH, PackagePollingTriggerRuntimeDescriptor, PackageWebhookTriggerRuntimeDescriptor, ParsedFlowRunResultBody, PartiallyRenderedHumanInputDelivery, PartiallyRenderedMapping, PartiallyRenderedTemplatePart, PartiallyRenderedValue, PollingPublishBody, PollingPublishEvent, PollingRuntimeCredentialBody, PollingStoreGetData, PollingStorePutBody, PollingTriggerContext, PollingTriggerGrantBody, PublishPollingTickEventResult, PublishPollingTickEventsData, RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS, RegisterFlowRunWaitBody, RegisterFlowRunWaitData, RenderedFlowComposition, RenderedHumanInputPrompt, RuntimeCredentialSession, RuntimeCredentialSessionNetwork, RuntimeCredentialSessionScopeKind, RuntimeNetwork, RuntimeNetworkModel, SERVER_CONTRACT_VERSION, STEP_RESULT_ROUTE_SUBPATH, ScheduleTriggerBinding, ServerContractVersion, SingleToolGrantBody, SleepNode, StepRecordBody, StepRecordBodyParseResult, StepRecordData, StepRecordResult, TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH, TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH, TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, TextExpression, ToolHandlerBundlesData, TriggerConnectionInfo, TriggerHandlerBundlesData, TriggerHandlerModule, ValueExpression, 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, WEBHOOK_TRIGGER_STORE_ROUTE_SUBPATH, WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION, WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION, WaitEventNode, WebhookDelivery, WebhookProtocolAdapterBundleData, WebhookProtocolAdapterModule, WebhookPublishEvent, WebhookPublishEventsBody, WebhookPublishEventsData, WebhookRearmBody, WebhookRearmData, WebhookRuntimeCredentialBody, PollingStoreGetData as WebhookStoreGetData, PollingStorePutBody as WebhookStorePutBody, WebhookTriggerGrantBody, WebhookTriggerVerificationMethod, WebhookWatcherContext, WfpUserRuntimeManifest, contractParseFail, contractParseOk, deploymentHandshakeProbePayload, deploymentHandshakeResponseProofPayload, egressGrantAuditPath, egressGrantConsumePath, eventWaitPath, executionContextPath, flowRunEgressGrantPath, flowRunResultPath, flowRunRuntimeCredentialPath, flowScriptProtocolAdapterModuleName, handlerBundlesPath, humanInputAcknowledgePath, humanInputExpirePath, humanInputRequestPath, humanInputResolvedEventType, humanInputsPath, internalFileContentPath, internalFileStatPath, internalFilesPath, isJsonRecord, isValidRequestDigest, parseCompleteFlowRunWaitBody, parseCreateHumanInputBody, parseEgressGrantAuditBody, parseEgressGrantConsumeBody, parseEgressGrantConsumeData, parseEgressGrantData, parseExecutionContextData, parseFileRefData, parseFileRuntimeLimits, parseFlowActionGrantBody, parseFlowRunResultBody, parseFlowRunResultData, parseFlowRuntimeCredentialBody, parseHandlerBundle, parseHandlerBundlesData, parseHumanInputAcknowledgeData, parseHumanInputCreateData, parseHumanInputRequestViewData, parsePollingPublishBody, parsePollingRuntimeCredentialBody, parsePollingStorePutBody, parsePollingStoreValue, parsePollingTriggerContext, parsePollingTriggerGrantBody, parsePublishPollingTickEventsData, parseRegisterFlowRunWaitBody, parseRegisterFlowRunWaitData, parseRuntimeCredentialSessionCredential, parseRuntimeNetwork, parseSingleToolGrantBody, parseSingleToolRuntimeCredentialBody, parseStepRecordBody, parseStepRecordData, parseToolHandlerBundlesData, parseTriggerHandlerBundlesData, parseWebhookDelivery, parseWebhookPublishEventsBody, parseWebhookRearmBody, parseWebhookRuntimeCredentialBody, parsePollingStorePutBody as parseWebhookStorePutBody, parsePollingStoreValue as parseWebhookStoreValue, parseWebhookTriggerGrantBody, parseWebhookWatcherContext, pollingTriggerContextPath, pollingTriggerEgressGrantPath, pollingTriggerHandlerBundlesPath, pollingTriggerRuntimeCredentialPath, pollingTriggerStorePath, pollingTriggerTickEventsPath, requestHasMultipartFileParts, stepResultPath, toolHandlerBundlesPath, toolInvocationEgressGrantPath, toolInvocationRuntimeCredentialPath, webhookProtocolAdapterBundlePath, webhookTriggerContextPath, webhookTriggerDeliveryPath, webhookTriggerEgressGrantPath, webhookTriggerEventsPath, webhookTriggerHandlerBundlesPath, webhookTriggerRearmPath, webhookTriggerRuntimeCredentialPath, webhookTriggerStorePath, wfpUserRuntimeManifestPath } from './edge.js';
1
+ import { J as JsonValue, F as FlowNode, a as FlowIrValidationResult, b as JsonObject, c as FlowCompositionSpec, M as Mapping, T as TriggerBinding } from './edge-BTl-jgfc.js';
2
+ export { A as AblehiEnvelope, d as AblehiFailure, e as AblehiSuccess, f as ActionNode, B as BooleanExpression, C as CONTEXT_STATE_CLEANUP_ROUTE_PATH, g as Collection, h as CompleteFlowRunWaitBody, i as CompleteFlowRunWaitData, j as ContextStateCleanupRequestBody, k as ContextStateCleanupResponseData, l as ContextStateScope, m as ContractParseResult, n as CreateHumanInputRequestBody, D as DEPLOYMENT_HANDSHAKE_DISPATCHER_CAPABILITIES, o as DEPLOYMENT_HANDSHAKE_REQUIRED_CAPABILITIES, p as DEPLOYMENT_HANDSHAKE_ROUTE, q as DeploymentHandshakeData, r as DeploymentHandshakeRequestBody, s as DeploymentHandshakeResponse, E as EGRESS_GRANT_AUDIT_ROUTE_SUBPATH, t as EGRESS_GRANT_CONSUME_ROUTE_SUBPATH, u as EGRESS_GRANT_SCOPE_KINDS, v as EVENT_WAIT_ROUTE_SUBPATH, w as EXECUTION_CONTEXT_ROUTE_SUBPATH, x as EgressGrant, y as EgressGrantAuditBody, z as EgressGrantBodyParseResult, G as EgressGrantConsumeBody, H as EgressGrantFileRuntime, I as EgressGrantScopeKind, K as ExecutionBinding, L as ExecutionBindingConnection, N as ExecutionContextCompiled, O as ExecutionContextData, P as FILE_CONTENT_ROUTE_SUBPATH, Q as FILE_STAT_ROUTE_SUBPATH, R as FLOW_INTERPRETER_CONTRACT_VERSION, S as FLOW_IR_SCHEMA_VERSION, U as FLOW_RUN_EGRESS_GRANT_ROUTE_SUBPATH, V as FLOW_RUN_RESULT_ROUTE_SUBPATH, W as FLOW_RUN_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, X as FileRefData, Y as FileRuntimeLimits, Z as FileRuntimeScope, _ as FileRuntimeScopeKind, $ as FlowActionGrantBody, a0 as FlowDefinition, a1 as FlowExecutionContextFileRuntime, a2 as FlowInterpreterContractVersion, a3 as FlowIrValidationCode, a4 as FlowIrValidationIssue, a5 as FlowRunResultData, a6 as FlowRunResultRequestBody, a7 as FlowRuntimeCredentialBody, a8 as HANDLER_BUNDLES_ROUTE_SUBPATH, a9 as HANDSHAKE_CAPABILITY_MISSING, aa as HANDSHAKE_CONTRACT_VERSION_MISMATCH, ab as HANDSHAKE_DISPATCH_NAMESPACE_MISMATCH, ac as HANDSHAKE_REQUEST_INVALID, ad as HANDSHAKE_SECRET_MISMATCH, ae as HANDSHAKE_SECRET_UNCONFIGURED, af as HUMAN_INPUTS_ROUTE_SUBPATH, ag as HUMAN_INPUT_ACKNOWLEDGE_ROUTE_SUBPATH, ah as HUMAN_INPUT_EXPIRE_ROUTE_SUBPATH, ai as HUMAN_INPUT_REQUEST_ROUTE_SUBPATH, aj as HUMAN_INPUT_RESOLVED_EVENT_PREFIX, ak as HandlerBundle, al as HandlerBundleModule, am as HandlerBundlesData, an as HandlerBundlesParseResult, ao as HumanChoiceInput, ap as HumanFormField, aq as HumanFormInput, ar as HumanInputActor, as as HumanInputChoice, at as HumanInputDelivery, au as HumanInputDeliveryAction, av as HumanInputNode, aw as HumanInputOutput, ax as HumanInputPrompt, ay as HumanInputRequestView, az as HumanInputResolvedEvent, aA as HumanInputResponse, aB as HumanInputSpec, aC as HumanTextInput, aD as INTERNAL_EGRESS_GRANTS_ROUTE_PREFIX, aE as INTERNAL_FILES_ROUTE_PREFIX, aF as INTERNAL_FLOW_RUNS_ROUTE_PREFIX, aG as INTERNAL_FLOW_VERSIONS_ROUTE_PREFIX, aH as INTERNAL_INSTALLATIONS_ROUTE_PREFIX, aI as INTERNAL_POLLING_TRIGGER_INSTANCES_ROUTE_PREFIX, aJ as INTERNAL_TOOL_INVOCATIONS_ROUTE_PREFIX, aK as INTERNAL_WEBHOOK_TRIGGER_INSTANCES_ROUTE_PREFIX, aL as IntegrationTriggerBinding, aM as JsonArray, aN as ManualTriggerBinding, aO as NodeCommon, aP as Operand, aQ as POLLING_TRIGGER_CONTEXT_ROUTE_SUBPATH, aR as POLLING_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH, aS as POLLING_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH, aT as POLLING_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, aU as POLLING_TRIGGER_TICK_EVENTS_ROUTE_SUBPATH, aV as PackagePollingTriggerRuntimeDescriptor, aW as PackageWebhookTriggerRuntimeDescriptor, aX as ParsedFlowRunResultBody, aY as PartiallyRenderedHumanInputDelivery, aZ as PartiallyRenderedMapping, a_ as PartiallyRenderedTemplatePart, a$ as PartiallyRenderedValue, b0 as PollingPublishBody, b1 as PollingPublishEvent, b2 as PollingRuntimeCredentialBody, b3 as PollingTriggerContext, b4 as PollingTriggerGrantBody, b5 as PublishPollingTickEventResult, b6 as PublishPollingTickEventsData, b7 as RUNTIME_CREDENTIAL_SESSION_SCOPE_KINDS, b8 as RegisterFlowRunWaitBody, b9 as RegisterFlowRunWaitData, ba as RenderedFlowComposition, bb as RenderedHumanInputPrompt, bc as RuntimeCredentialSession, bd as RuntimeCredentialSessionNetwork, be as RuntimeCredentialSessionScopeKind, bf as RuntimeNetwork, bg as RuntimeNetworkModel, bh as SERVER_CONTRACT_VERSION, bi as STEP_RESULT_ROUTE_SUBPATH, bj as ScheduleTriggerBinding, bk as ServerContractVersion, bl as SingleToolGrantBody, bm as SleepNode, bn as StepRecordBody, bo as StepRecordBodyParseResult, bp as StepRecordData, bq as StepRecordResult, br as TOOL_HANDLER_BUNDLES_ROUTE_SUBPATH, bs as TOOL_INVOCATION_EGRESS_GRANT_ROUTE_SUBPATH, bt as TOOL_INVOCATION_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, bu as TextExpression, bv as ToolHandlerBundlesData, bw as TriggerConnectionInfo, bx as TriggerHandlerBundlesData, by as TriggerHandlerModule, bz as ValueExpression, bA as WEBHOOK_PROTOCOL_ADAPTER_BUNDLE_ROUTE_SUBPATH, bB as WEBHOOK_PROTOCOL_ADAPTER_MODULE, bC as WEBHOOK_TRIGGER_CONTEXT_ROUTE_SUBPATH, bD as WEBHOOK_TRIGGER_DELIVERY_ROUTE_SUBPATH, bE as WEBHOOK_TRIGGER_EGRESS_GRANT_ROUTE_SUBPATH, bF as WEBHOOK_TRIGGER_EVENTS_ROUTE_SUBPATH, bG as WEBHOOK_TRIGGER_HANDLER_BUNDLES_ROUTE_SUBPATH, bH as WEBHOOK_TRIGGER_REARM_ROUTE_SUBPATH, bI as WEBHOOK_TRIGGER_RUNTIME_CREDENTIAL_ROUTE_SUBPATH, bJ as WFP_USER_RUNTIME_MANIFEST_FORMAT_VERSION, bK as WFP_USER_RUNTIME_UNKNOWN_SOURCE_REVISION, bL as WaitEventNode, bM as WebhookDelivery, bN as WebhookProtocolAdapterBundleData, bO as WebhookProtocolAdapterModule, bP as WebhookPublishEvent, bQ as WebhookPublishEventsBody, bR as WebhookPublishEventsData, bS as WebhookRearmBody, bT as WebhookRearmData, bU as WebhookRuntimeCredentialBody, bV as WebhookTriggerGrantBody, bW as WebhookTriggerVerificationMethod, bX as WebhookWatcherContext, bY as WfpUserRuntimeManifest, bZ as contractParseFail, b_ as contractParseOk, b$ as deploymentHandshakeProbePayload, c0 as deploymentHandshakeResponseProofPayload, c1 as egressGrantAuditPath, c2 as egressGrantConsumePath, c3 as eventWaitPath, c4 as executionContextPath, c5 as flowRunEgressGrantPath, c6 as flowRunResultPath, c7 as flowRunRuntimeCredentialPath, c8 as flowScriptProtocolAdapterModuleName, c9 as handlerBundlesPath, ca as humanInputAcknowledgePath, cb as humanInputExpirePath, cc as humanInputRequestPath, cd as humanInputResolvedEventType, ce as humanInputsPath, cf as internalFileContentPath, cg as internalFileStatPath, ch as internalFilesPath, ci as isJsonRecord, cj as isValidRequestDigest, ck as parseCompleteFlowRunWaitBody, cl as parseContextStateCleanupRequestBody, cm as parseContextStateCleanupResponseData, cn as parseContextStateScope, co as parseCreateHumanInputBody, cp as parseEgressGrantAuditBody, cq as parseEgressGrantConsumeBody, cr as parseEgressGrantConsumeData, cs as parseEgressGrantData, ct as parseExecutionContextData, cu as parseFileRefData, cv as parseFileRuntimeLimits, cw as parseFlowActionGrantBody, cx as parseFlowRunResultBody, cy as parseFlowRunResultData, cz as parseFlowRuntimeCredentialBody, cA as parseHandlerBundle, cB as parseHandlerBundlesData, cC as parseHumanInputAcknowledgeData, cD as parseHumanInputCreateData, cE as parseHumanInputRequestViewData, cF as parsePollingPublishBody, cG as parsePollingRuntimeCredentialBody, cH as parsePollingTriggerContext, cI as parsePollingTriggerGrantBody, cJ as parsePublishPollingTickEventsData, cK as parseRegisterFlowRunWaitBody, cL as parseRegisterFlowRunWaitData, cM as parseRuntimeCredentialSessionCredential, cN as parseRuntimeNetwork, cO as parseSingleToolGrantBody, cP as parseSingleToolRuntimeCredentialBody, cQ as parseStepRecordBody, cR as parseStepRecordData, cS as parseToolHandlerBundlesData, cT as parseTriggerHandlerBundlesData, cU as parseWebhookDelivery, cV as parseWebhookPublishEventsBody, cW as parseWebhookRearmBody, cX as parseWebhookRuntimeCredentialBody, cY as parseWebhookTriggerGrantBody, cZ as parseWebhookWatcherContext, c_ as pollingTriggerContextPath, c$ as pollingTriggerEgressGrantPath, d0 as pollingTriggerHandlerBundlesPath, d1 as pollingTriggerRuntimeCredentialPath, d2 as pollingTriggerTickEventsPath, d3 as requestHasMultipartFileParts, d4 as stepResultPath, d5 as toolHandlerBundlesPath, d6 as toolInvocationEgressGrantPath, d7 as toolInvocationRuntimeCredentialPath, d8 as webhookProtocolAdapterBundlePath, d9 as webhookTriggerContextPath, da as webhookTriggerDeliveryPath, db as webhookTriggerEgressGrantPath, dc as webhookTriggerEventsPath, dd as webhookTriggerHandlerBundlesPath, de as webhookTriggerRearmPath, df as webhookTriggerRuntimeCredentialPath, dg as wfpUserRuntimeManifestPath } from './edge-BTl-jgfc.js';
3
3
 
4
4
  declare const PLATFORM_ACCESS_PERMISSION = "platform.access";
5
5
  declare const PLATFORM_API_KEY_MANAGE_PERMISSION = "platform.api_key.manage";
@@ -759,12 +759,12 @@ declare const AGENT_MESSAGE_DELTA_INVALID_ERROR_CODE = "AGENT_MESSAGE_DELTA_INVA
759
759
  declare const AGENT_PAGE_CONTEXT_INVALID_ERROR_CODE = "AGENT_PAGE_CONTEXT_INVALID";
760
760
  declare const AGENT_ASSETS_ROUTE_PREFIX = "/agent/assets";
761
761
  declare const AGENT_ASSET_PROMPTS_SUBPATH = "/prompts";
762
- declare const AGENT_ASSET_PROMPT_ITEM_SUBPATH = "/prompts/:key/:revision";
763
- declare const AGENT_ASSET_PROMPT_VALIDATE_SUBPATH = "/prompts/:key/:revision/validate";
764
- declare const AGENT_ASSET_PROMPT_ACTIVATE_SUBPATH = "/prompts/:key/:revision/activate";
765
- declare const AGENT_ASSET_PROMPT_BINDINGS_SUBPATH = "/prompt-bindings";
766
- declare const AGENT_ASSET_PROMPT_BINDING_ITEM_SUBPATH = "/prompt-bindings/:id";
767
- declare const AGENT_ASSET_PROMPT_BINDING_VALIDATE_SUBPATH = "/prompt-bindings/:id/validate";
762
+ declare const AGENT_ASSET_PROMPT_ITEM_SUBPATH = "/prompts/:targetKey/:revision";
763
+ declare const AGENT_ASSET_PROMPT_VALIDATE_SUBPATH = "/prompts/:targetKey/:revision/validate";
764
+ declare const AGENT_ASSET_PROMPT_ACTIVATE_SUBPATH = "/prompts/:targetKey/:revision/activate";
765
+ declare const AGENT_ASSET_MODEL_INPUT_TARGETS_SUBPATH = "/model-input-targets";
766
+ declare const AGENT_ASSET_MODEL_INPUT_TARGET_PREVIEW_SUBPATH = "/model-input-targets/:targetKey/render-preview";
767
+ declare const AGENT_ASSET_MODEL_INPUT_SNAPSHOTS_SUBPATH = "/model-input-snapshots";
768
768
  declare const AGENT_ASSET_FLOW_SCENES_SUBPATH = "/flow-scenes";
769
769
  declare const AGENT_ASSET_FLOW_SCENE_ITEM_SUBPATH = "/flow-scenes/:sceneKey/:revision";
770
770
  declare const AGENT_ASSET_FLOW_SCENE_VALIDATE_SUBPATH = "/flow-scenes/:sceneKey/:revision/validate";
@@ -879,59 +879,81 @@ type AgentValidationIssue = {
879
879
  message: string;
880
880
  severity: "blocking" | "warning";
881
881
  };
882
- type AgentPromptSlot = "agent.global.system" | "agent.intent.flow_goal_spec" | "agent.one_off.runtime" | "agent.flow_authoring.runtime" | "workflow.flow_authoring.scene_fit_judge" | "workflow.flow_authoring.template_fit_judge" | "workflow.flow_authoring.fallback_plan" | "workflow.flow_authoring.brief_generation" | "tool.flow_authoring.validate_repair";
883
- declare const AGENT_PROMPT_SLOTS: readonly AgentPromptSlot[];
884
- type AgentPromptPurpose = "general_agent" | "one_off_execution" | "flow_goal_generation" | "flow_scene_fit_judge" | "flow_template_fit_judge" | "fallback_authoring_plan" | "flow_authoring_brief_generation" | "flow_authoring_agent" | "flow_execution_content";
885
- declare const AGENT_PROMPT_PURPOSES: readonly AgentPromptPurpose[];
882
+ type PromptTargetKey = "agent.general.turn" | "agent.intent.flow_goal" | "agent.one_off.turn" | "flow_authoring.edit_turn" | "flow_authoring.create_from_brief_turn" | "flow_authoring.server_loop_command" | "workflow.flow_authoring.scene_fit_judge" | "workflow.flow_authoring.template_fit_judge" | "workflow.flow_authoring.brief_generation" | "workflow.flow_authoring.fallback_plan";
883
+ declare const AGENT_MODEL_INPUT_TARGET_KEYS: readonly PromptTargetKey[];
884
+ type AgentModelInputDomain = "agent" | "flow_authoring" | "workflow";
885
+ type AgentModelInputTargetLifecycle = "managed" | "protected";
886
+ type AgentModelInputContextBlockSource = "page_context" | "flow_context" | "integration_context" | "working_flow_ir" | "brief" | "runtime";
887
+ type AgentModelInputToolContractOwner = "server_contract" | "integration_catalog";
886
888
  type AgentPromptStatus = "draft" | "active" | "archived";
887
- type AgentPromptAsset = {
888
- key: string;
889
+ type AgentPromptRevision = {
890
+ targetKey: PromptTargetKey;
889
891
  revision: string;
890
892
  status: AgentPromptStatus;
891
- purpose: AgentPromptPurpose;
892
- locale?: string;
893
893
  title: string;
894
- description?: string;
895
894
  content: string;
896
- variablesSchema: JsonValue;
897
895
  contentHash: string;
896
+ notes?: string;
898
897
  createdAt: string;
899
898
  activatedAt?: string;
900
899
  };
901
- type AgentPromptBindingTaskKind = "general" | "flow_authoring";
902
- type AgentPromptBindingConditions = {
903
- locale?: string;
904
- modelProvider?: string;
905
- modelId?: string;
906
- workspaceId?: string;
907
- taskKind?: AgentPromptBindingTaskKind;
908
- sceneKey?: string;
909
- templateKey?: string;
910
- experimentKey?: string;
900
+ type AgentPromptRef = {
901
+ targetKey: PromptTargetKey;
902
+ revision: string;
903
+ contentHash: string;
911
904
  };
912
- type AgentPromptBinding = {
913
- id: string;
914
- slot: AgentPromptSlot;
915
- promptKey: string;
916
- enabled: boolean;
917
- priority: number;
918
- conditions?: AgentPromptBindingConditions;
919
- createdAt: string;
920
- updatedAt: string;
905
+ type AgentPromptRevisionRef = AgentPromptRef;
906
+ type AgentModelInputContextBlock = {
907
+ key: string;
908
+ source: AgentModelInputContextBlockSource;
909
+ description: string;
910
+ required: boolean;
921
911
  };
922
- type AgentPromptRefSource = "builtin" | "db_override";
923
- type AgentPromptRef = {
912
+ type AgentModelInputToolContractRef = {
924
913
  key: string;
925
- revision: string;
914
+ owner: AgentModelInputToolContractOwner;
926
915
  contentHash: string;
927
- source: AgentPromptRefSource;
928
916
  };
929
- type AgentPromptSnapshot = {
930
- slot: AgentPromptSlot;
917
+ type AgentModelInputTarget = {
918
+ targetKey: PromptTargetKey;
919
+ domain: AgentModelInputDomain;
920
+ title: string;
921
+ description: string;
922
+ editable: boolean;
923
+ lifecycle: AgentModelInputTargetLifecycle;
924
+ usePoint: string;
925
+ prompt?: {
926
+ activeRevision?: AgentPromptRevisionRef;
927
+ };
928
+ contextBlocks: AgentModelInputContextBlock[];
929
+ toolContracts: AgentModelInputToolContractRef[];
930
+ };
931
+ type AgentModelInputSnapshot = {
932
+ id: string;
933
+ workspaceId?: string;
934
+ sessionId?: string;
935
+ targetKey: PromptTargetKey;
936
+ usePoint: string;
931
937
  promptRef: AgentPromptRef;
932
- bindingId?: string;
933
- variablesHash: string;
934
- renderedHash: string;
938
+ contextRefs: Array<{
939
+ key: string;
940
+ source: AgentModelInputContextBlockSource;
941
+ contentHash: string;
942
+ sizeBytes: number;
943
+ }>;
944
+ toolContractRefs: AgentModelInputToolContractRef[];
945
+ messageRefs: Array<{
946
+ id: string;
947
+ role: "user" | "assistant" | "system" | "tool";
948
+ }>;
949
+ finalInputHash: string;
950
+ createdAt: string;
951
+ };
952
+ type AgentModelInputSnapshotRef = {
953
+ id: string;
954
+ targetKey: PromptTargetKey;
955
+ promptRef: AgentPromptRef;
956
+ finalInputHash: string;
935
957
  };
936
958
  type FlowSceneTriggerType = "manual" | "schedule" | "integration";
937
959
  type FlowScenePersistence = "one_off" | "recurring_flow" | "any";
@@ -1022,38 +1044,28 @@ type FlowAssetIndexDocument = {
1022
1044
  indexedAt?: string;
1023
1045
  };
1024
1046
  type CreateAgentPromptInput = {
1025
- key: string;
1026
- purpose: AgentPromptPurpose;
1027
- locale?: string;
1047
+ targetKey: PromptTargetKey;
1048
+ revision: string;
1028
1049
  title: string;
1029
- description?: string;
1030
1050
  content: string;
1031
- variablesSchema: JsonValue;
1051
+ notes?: string;
1032
1052
  };
1033
1053
  type UpdateAgentPromptInput = {
1034
- key: string;
1054
+ targetKey: PromptTargetKey;
1035
1055
  revision: string;
1036
- purpose?: AgentPromptPurpose;
1037
- locale?: string;
1038
1056
  title?: string;
1039
- description?: string;
1040
1057
  content?: string;
1041
- variablesSchema?: JsonValue;
1058
+ notes?: string | null;
1042
1059
  };
1043
- type CreateAgentPromptBindingInput = {
1044
- slot: AgentPromptSlot;
1045
- promptKey: string;
1046
- enabled: boolean;
1047
- priority: number;
1048
- conditions?: AgentPromptBindingConditions;
1060
+ type RenderModelInputPreviewInput = {
1061
+ sampleContext?: "empty" | "fixture";
1049
1062
  };
1050
- type UpdateAgentPromptBindingInput = {
1051
- id: string;
1052
- slot?: AgentPromptSlot;
1053
- promptKey?: string;
1054
- enabled?: boolean;
1055
- priority?: number;
1056
- conditions?: AgentPromptBindingConditions;
1063
+ type AgentModelInputSnapshotListQuery = {
1064
+ workspaceId?: string;
1065
+ sessionId?: string;
1066
+ targetKey?: PromptTargetKey;
1067
+ limit?: number;
1068
+ cursor?: string;
1057
1069
  };
1058
1070
  type CreateFlowSceneInput = {
1059
1071
  sceneKey: string;
@@ -1241,6 +1253,7 @@ type FlowCreationTaskData = {
1241
1253
  flowId: string;
1242
1254
  draftId: string;
1243
1255
  };
1256
+ modelInputSnapshots: AgentModelInputSnapshotRef[];
1244
1257
  decisionRecordIds: string[];
1245
1258
  traceRef?: string;
1246
1259
  createdAt: string;
@@ -1261,7 +1274,7 @@ type FlowCreationDecisionRecordData = {
1261
1274
  decisionKind: FlowCreationDecisionKind;
1262
1275
  inputJson: JsonValue;
1263
1276
  outputJson: JsonValue;
1264
- promptSnapshots: AgentPromptSnapshot[];
1277
+ modelInputSnapshots: AgentModelInputSnapshotRef[];
1265
1278
  assetRefs: FlowAuthoringAssetRef[];
1266
1279
  contextRefs: FlowAuthoringDecisionContextRef[];
1267
1280
  traceRef?: string;
@@ -1433,7 +1446,7 @@ type ResolveFlowReadinessRequirementResponse<TIr = unknown> = {
1433
1446
  type AgentRenderedPromptPreview = {
1434
1447
  instructions: string;
1435
1448
  promptRef: AgentPromptRef;
1436
- snapshot: AgentPromptSnapshot;
1449
+ finalInputHash?: string;
1437
1450
  };
1438
1451
  type ValidateAgentPromptResult = {
1439
1452
  ok: boolean;
@@ -1441,13 +1454,16 @@ type ValidateAgentPromptResult = {
1441
1454
  renderedPreview?: AgentRenderedPromptPreview;
1442
1455
  };
1443
1456
  type ActivateAgentPromptResult = {
1444
- prompt: AgentPromptAsset;
1457
+ prompt: AgentPromptRevision;
1445
1458
  promptRef: AgentPromptRef;
1446
1459
  };
1447
- type ValidateAgentPromptBindingResult = {
1460
+ type RenderModelInputPreviewResult = {
1448
1461
  ok: boolean;
1449
1462
  issues: AgentValidationIssue[];
1450
- resolvedPromptPreview?: AgentRenderedPromptPreview;
1463
+ preview?: AgentRenderedPromptPreview & {
1464
+ contextRefs: AgentModelInputSnapshot["contextRefs"];
1465
+ toolContractRefs: AgentModelInputToolContractRef[];
1466
+ };
1451
1467
  };
1452
1468
  type AgentAssetIndexingStatus = "queued" | "completed" | "failed";
1453
1469
  type ValidateFlowSceneResult = {
@@ -1478,11 +1494,15 @@ type ReindexFlowTemplateResult = {
1478
1494
  revision: string;
1479
1495
  indexingStatus: AgentAssetIndexingStatus;
1480
1496
  };
1497
+ type AgentModelInputTargetListData = {
1498
+ targets: AgentModelInputTarget[];
1499
+ };
1481
1500
  type AgentPromptListData = {
1482
- prompts: AgentPromptAsset[];
1501
+ prompts: AgentPromptRevision[];
1483
1502
  };
1484
- type AgentPromptBindingListData = {
1485
- bindings: AgentPromptBinding[];
1503
+ type AgentModelInputSnapshotListData = {
1504
+ snapshots: AgentModelInputSnapshot[];
1505
+ nextCursor?: string;
1486
1506
  };
1487
1507
  type FlowSceneListData = {
1488
1508
  scenes: FlowSceneAsset[];
@@ -1491,12 +1511,9 @@ type FlowTemplateListData = {
1491
1511
  templates: FlowTemplateAsset[];
1492
1512
  };
1493
1513
  type AgentPromptCreateData = {
1494
- prompt: AgentPromptAsset;
1514
+ prompt: AgentPromptRevision;
1495
1515
  promptRef: AgentPromptRef;
1496
1516
  };
1497
- type AgentPromptBindingWriteData = {
1498
- binding: AgentPromptBinding;
1499
- };
1500
1517
  type FlowSceneWriteData = {
1501
1518
  scene: FlowSceneAsset;
1502
1519
  };
@@ -1527,7 +1544,13 @@ type CreateFlowCreationTaskResult = {
1527
1544
  };
1528
1545
  declare const AGENT_ASSET_NOT_FOUND_ERROR_CODE = "AGENT_ASSET_NOT_FOUND";
1529
1546
  declare const AGENT_ASSET_VALIDATION_FAILED_ERROR_CODE = "AGENT_ASSET_VALIDATION_FAILED";
1530
- declare const AGENT_PROMPT_BINDING_CONFLICT_ERROR_CODE = "AGENT_PROMPT_BINDING_CONFLICT";
1547
+ declare const AGENT_PROMPT_TARGET_NOT_FOUND_ERROR_CODE = "AGENT_PROMPT_TARGET_NOT_FOUND";
1548
+ declare const AGENT_PROMPT_ACTIVE_REVISION_MISSING_ERROR_CODE = "AGENT_PROMPT_ACTIVE_REVISION_MISSING";
1549
+ declare const AGENT_PROMPT_REVISION_NOT_FOUND_ERROR_CODE = "AGENT_PROMPT_REVISION_NOT_FOUND";
1550
+ declare const AGENT_PROMPT_REVISION_NOT_DRAFT_ERROR_CODE = "AGENT_PROMPT_REVISION_NOT_DRAFT";
1551
+ declare const AGENT_PROMPT_VALIDATION_FAILED_ERROR_CODE = "AGENT_PROMPT_VALIDATION_FAILED";
1552
+ declare const AGENT_MODEL_INPUT_TARGET_PROTECTED_ERROR_CODE = "AGENT_MODEL_INPUT_TARGET_PROTECTED";
1553
+ declare const AGENT_MODEL_INPUT_PREVIEW_UNAVAILABLE_ERROR_CODE = "AGENT_MODEL_INPUT_PREVIEW_UNAVAILABLE";
1531
1554
  declare const AGENT_FLOW_GOAL_INVALID_ERROR_CODE = "AGENT_FLOW_GOAL_INVALID";
1532
1555
  declare const AGENT_FLOW_CREATION_TASK_NOT_FOUND_ERROR_CODE = "AGENT_FLOW_CREATION_TASK_NOT_FOUND";
1533
1556
  declare const AGENT_FLOW_CREATION_TASK_CONFLICT_ERROR_CODE = "AGENT_FLOW_CREATION_TASK_CONFLICT";
@@ -1813,4 +1836,4 @@ type SimulateTriggerData = {
1813
1836
  duplicate: boolean;
1814
1837
  };
1815
1838
 
1816
- export { AGENT_ASSETS_ROUTE_PREFIX, AGENT_ASSET_FLOW_SCENES_SUBPATH, AGENT_ASSET_FLOW_SCENE_ACTIVATE_SUBPATH, AGENT_ASSET_FLOW_SCENE_ITEM_SUBPATH, AGENT_ASSET_FLOW_SCENE_REINDEX_SUBPATH, AGENT_ASSET_FLOW_SCENE_VALIDATE_SUBPATH, AGENT_ASSET_FLOW_TEMPLATES_SUBPATH, AGENT_ASSET_FLOW_TEMPLATE_ACTIVATE_SUBPATH, AGENT_ASSET_FLOW_TEMPLATE_ITEM_SUBPATH, AGENT_ASSET_FLOW_TEMPLATE_REINDEX_SUBPATH, AGENT_ASSET_FLOW_TEMPLATE_VALIDATE_SUBPATH, AGENT_ASSET_INDEX_FAILED_ERROR_CODE, AGENT_ASSET_MANAGE_PERMISSION, AGENT_ASSET_NOT_FOUND_ERROR_CODE, AGENT_ASSET_PROMPTS_SUBPATH, AGENT_ASSET_PROMPT_ACTIVATE_SUBPATH, AGENT_ASSET_PROMPT_BINDINGS_SUBPATH, AGENT_ASSET_PROMPT_BINDING_ITEM_SUBPATH, AGENT_ASSET_PROMPT_BINDING_VALIDATE_SUBPATH, AGENT_ASSET_PROMPT_ITEM_SUBPATH, AGENT_ASSET_PROMPT_VALIDATE_SUBPATH, AGENT_ASSET_VALIDATION_FAILED_ERROR_CODE, AGENT_CAPABILITY_FLOW_AUTHORING, AGENT_CHAT_ROUTE_SUBPATH, AGENT_CREATE_FLOW_AUTHORING_TASK_TOOL_NAME, AGENT_FLOW_AUTHORING_WORKFLOW_FAILED_ERROR_CODE, AGENT_FLOW_CONTEXT_ROUTE_SUBPATH, AGENT_FLOW_CREATION_DECISION_ITEM_SUBPATH, AGENT_FLOW_CREATION_TASK_CONFLICT_ERROR_CODE, AGENT_FLOW_CREATION_TASK_ITEM_SUBPATH, AGENT_FLOW_CREATION_TASK_NOT_FOUND_ERROR_CODE, AGENT_FLOW_GOAL_INVALID_ERROR_CODE, AGENT_FLOW_READINESS_REQUIREMENT_RESOLVE_SUBPATH, AGENT_FLOW_WORKING_DRAFT_COMMANDS_SUBPATH, AGENT_FLOW_WORKING_DRAFT_EDIT_TURN_ACQUIRE_SUBPATH, AGENT_FLOW_WORKING_DRAFT_EDIT_TURN_RELEASE_SUBPATH, AGENT_FLOW_WORKING_DRAFT_ITEM_SUBPATH, AGENT_FLOW_WORKING_DRAFT_OPEN_SUBPATH, AGENT_FLOW_WORKING_DRAFT_PUBLISH_SUBPATH, AGENT_FLOW_WORKING_DRAFT_READINESS_CHECK_SUBPATH, AGENT_MESSAGE_DELTA_INVALID_ERROR_CODE, AGENT_PAGE_CONTEXT_INVALID_ERROR_CODE, AGENT_PAGE_CONTEXT_MAX_RESOURCES, AGENT_PAGE_CONTEXT_RESOURCE_ID_MAX_LENGTH, AGENT_PAGE_CONTEXT_ROUTE_ID_MAX_LENGTH, AGENT_PAGE_RESOURCE_TYPES, AGENT_PROMPT_BINDING_CONFLICT_ERROR_CODE, AGENT_PROMPT_PURPOSES, AGENT_PROMPT_SLOTS, AGENT_ROUTE_PREFIX, AGENT_RUNTIME_FAILED_ERROR_CODE, AGENT_RUNTIME_TOOL_NAME_PATTERN, AGENT_RUNTIME_UNCONFIGURED_ERROR_CODE, AGENT_SESSIONS_ROUTE_SUBPATH, AGENT_SESSION_DETAIL_MESSAGE_LIMIT, AGENT_SESSION_ITEM_ROUTE_SUBPATH, AGENT_SESSION_LIST_DEFAULT_LIMIT, AGENT_SESSION_LIST_MAX_LIMIT, AGENT_SESSION_NOT_FOUND_ERROR_CODE, API_KEYS_ROUTE_PREFIX, API_KEY_GRANT_OPTIONS_ROUTE_SUBPATH, API_KEY_ITEM_ROUTE_SUBPATH, API_KEY_TOKEN_PREFIX, API_KEY_WORKSPACE_FULL_ACCESS_SCOPE, APP_BOOTSTRAP_ROUTE_PATH, type ActivateAgentPromptResult, type ActivateFlowSceneResult, type ActivateFlowTemplateResult, type AddNodeInput, type AgentAssetIndexingStatus, type AgentCapabilityKind, type AgentChatRequestBody, type AgentPageContext, type AgentPageResourceRef, type AgentPageResourceType, type AgentPromptAsset, type AgentPromptBinding, type AgentPromptBindingConditions, type AgentPromptBindingListData, type AgentPromptBindingTaskKind, type AgentPromptBindingWriteData, type AgentPromptCreateData, type AgentPromptListData, type AgentPromptPurpose, type AgentPromptRef, type AgentPromptRefSource, type AgentPromptSlot, type AgentPromptSnapshot, type AgentPromptStatus, type AgentSessionDetailData, type AgentSessionListData, type AgentSessionSummary, type AgentTaskSurface, type AgentUiMessageProjection, type AgentUiMessageRole, type AgentValidationIssue, type ApiKeyCreateBody, type ApiKeyCreateData, type ApiKeyData, type ApiKeyGrantCreateInput, type ApiKeyGrantData, type ApiKeyGrantOptionsData, type ApiKeyGrantType, type ApiKeyListData, type ApiKeyPlatformGrantCreateInput, type ApiKeyPlatformGrantOptionData, type ApiKeyRevokeData, type ApiKeyStatus, type ApiKeyWorkspaceGrantCreateInput, type ApiKeyWorkspaceGrantOptionData, type ApiKeyWorkspaceScope, type AppBootstrapData, type ApplyFlowDraftCommandResponse, type Bounded, CATALOG_DEFAULT_PROVIDER_APP_CONFIG_ROUTE_SUBPATH, CATALOG_INTEGRATIONS_ROUTE_SUBPATH, CATALOG_INTEGRATION_DETAIL_ROUTE_SUBPATH, CATALOG_ROUTE_PREFIX, CATALOG_VERSIONS_ROUTE_SUBPATH, CONNECTIONS_ROUTE_SUBPATH, CONNECTION_DISCONNECT_ROUTE_SUBPATH, CONNECT_COMPLETE_ROUTE_SUBPATH, CONNECT_OPTIONS_ROUTE_SUBPATH, CONNECT_START_ROUTE_SUBPATH, CONNECT_SUBMIT_ROUTE_SUBPATH, CURRENT_USER_ROUTE_PATH, type CatalogDetailData, type CatalogDetailLatestData, type CatalogIntegrationSummaryData, type CatalogListData, type CatalogPublishData, type CatalogToolFunctionData, type CatalogTriggerFunctionData, type CatalogVersionSummaryData, type CheckFlowReadinessResponse, type CompiledFlowVersionSummaryData, type ConnectCompleteResultData, type ConnectCompletedResultData, type ConnectDefaultUnavailableReason, type ConnectFieldDefData, type ConnectInputNextActionData, type ConnectInputTarget, type ConnectOptionsData, type ConnectRedirectNextActionData, type ConnectStartBody, type ConnectStartResultData, type ConnectSubmitBody, type ConnectSubmitResultData, type ConnectionAuthType, type ConnectionListData, type ConnectionSummaryData, type ControlPlaneToolData, type ControlPlaneToolDeliveryData, type ControlPlaneTriggerData, type CreateAgentPromptBindingInput, type CreateAgentPromptInput, type CreateFlowAuthoringTaskInput, type CreateFlowCreationTaskResult, type CreateFlowSceneInput, type CreateFlowTemplateInput, type CurrentUserData, DEFAULT_WORKSPACE_ROUTE_PATH, type DefaultProviderAppConfigAdminData, type DefaultProviderAppConfigDisableData, type DefaultProviderAppConfigUpsertBody, type DefaultProviderAppConfigWriteData, type DefaultWorkspaceUpdateBody, type DefaultWorkspaceUpdateData, type DeletedFlowSummaryData, type DeliverFlowRunEventData, type DisconnectResultData, FLOW_AUTHORING_EDIT_TOOL_NAMES, FLOW_AUTHORING_TOOL_DESCRIPTORS, FLOW_AUTHORING_TOOL_NAMES, FLOW_DISABLE_ROUTE_SUBPATH, FLOW_DRAFT_COMMAND_INVALID_ERROR_CODE, FLOW_DRAFT_EDIT_LOCKED_ERROR_CODE, FLOW_DRAFT_NOT_PUBLISHABLE_ERROR_CODE, FLOW_DRAFT_REVISION_CONFLICT_ERROR_CODE, FLOW_DRAFT_ROUTE_SUBPATH, FLOW_EDIT_TURN_NOT_HELD_ERROR_CODE, FLOW_ENABLE_ROUTE_SUBPATH, FLOW_ITEM_ROUTE_SUBPATH, FLOW_PUBLISH_CONFIRMATION_REQUIRED_ERROR_CODE, FLOW_READINESS_REQUIREMENT_CONFLICT_ERROR_CODE, FLOW_READINESS_REQUIREMENT_NOT_FOUND_ERROR_CODE, FLOW_RUN_STATUSES, FLOW_VALIDATE_ROUTE_SUBPATH, FLOW_VERSIONS_ROUTE_SUBPATH, FLOW_VERSION_ITEM_ROUTE_SUBPATH, FLOW_WORKING_DRAFT_NOT_FOUND_ERROR_CODE, type FallbackAuthoringPlan, type FlowAssetIndexDocType, type FlowAssetIndexDocument, type FlowAssetStatus, type FlowAssetStrength, type FlowAuthoringAssetRef, type FlowAuthoringBrief, type FlowAuthoringBriefSummary, type FlowAuthoringDecisionContextRef, type FlowAuthoringDecisionContextRefKind, type FlowAuthoringEditToolName, type FlowAuthoringSceneBrief, type FlowAuthoringStrategyMode, type FlowAuthoringTemplateBrief, type FlowAuthoringToolDescriptor, type FlowAuthoringToolExecution, type FlowAuthoringToolInputSchema, type FlowAuthoringToolName, type FlowBadgeData, FlowCompositionSpec, type FlowCreationDecisionKind, type FlowCreationDecisionRecordData, type FlowCreationLifecycleEventData, type FlowCreationLifecycleEventType, type FlowCreationTaskData, type FlowCreationTaskState, type FlowDeleteData, type FlowDraftActor, type FlowDraftCommand, type FlowDraftEditTurn, type FlowDraftProjection, type FlowDraftPublishRequest, type FlowDraftPublishResult, type FlowDraftRecordData, type FlowDraftStatus, type FlowGoalAssumption, type FlowGoalAssumptionSource, type FlowGoalDelivery, type FlowGoalDeliveryKind, type FlowGoalPersistence, type FlowGoalScheduleFrequency, type FlowGoalSpec, type FlowGoalSpecifiedIntegration, type FlowGoalTrigger, FlowIrValidationResult, type FlowListData, type FlowListItemData, type FlowMetaUpdate, FlowNode, type FlowPublishData, type FlowReadinessRequirementStatus, type FlowReadinessRequirementType, type FlowReadinessResultData, type FlowRecordData, type FlowRunCancelData, type FlowRunDetailData, type FlowRunListData, type FlowRunStatus, type FlowRunSummaryData, type FlowRunTerminalErrorData, type FlowRunTriggerData, type FlowSceneAsset, type FlowSceneCandidate, type FlowSceneDefaultStrategy, type FlowSceneListData, type FlowSceneOverridable, type FlowScenePersistence, type FlowScenePreferredIntegration, type FlowSceneTriggerType, type FlowSceneWriteData, type FlowSlotResolution, type FlowSlotResolutionSource, type FlowStatus, type FlowTemplateAsset, type FlowTemplateCandidate, type FlowTemplateListData, type FlowTemplateWriteData, type FlowToolError, type FlowValidateData, type FlowValidationIssueData, type FlowVersionGetData, type FlowVersionListData, type FlowWithDraftData, type FlowWorkingDraftOpenRequest, type FlowWorkingDraftOwner, type FlowWorkingDraftOwnerKind, type FlowWorkingDraftSummary, GLOBAL_INBOX_ENTRIES_ROUTE_PREFIX, type GetFlowContextInput, type GetWorkingFlowIrInput, type GetWorkingFlowIrOutput, type GlobalInboxEntryDetailData, type GlobalInboxEntryListData, type GlobalInboxEntryListEntryData, type GlobalInboxEntryListQuery, type GlobalInboxWorkspaceData, HUMAN_INPUT_TOKENS_ROUTE_PREFIX, HUMAN_INPUT_TOKEN_ROUTE_SUBPATH, HUMAN_INPUT_TOKEN_SUBMIT_ROUTE_SUBPATH, type HumanInputPublicOutputData, type HumanInputRequestViewData, type HumanInputSubmitPayload, type HumanInputTokenSubmitData, type HumanInputTokenViewData, INBOX_ENTRY_HUMAN_INPUT_SUBMIT_ROUTE_SUBPATH, INBOX_ENTRY_ROUTE_SUBPATH, INBOX_ITEM_ROUTE_SUBPATH, INTEGRATION_ITEM_ROUTE_SUBPATH, INTEGRATION_TOOLS_ROUTE_SUBPATH, type InboxEntryDetailData, type InboxEntryListData, type InboxEntryListEntryData, type InboxEntryStatus, type InboxEntryType, type InboxHumanInputEntryData, type InboxItemDetailData, type InboxItemDetailEntryData, type InboxItemListData, type InboxItemListEntryData, type InboxLinksData, type InboxReportData, type InstallationCatalogInfoData, type InstallationData, type InstallationSource, type InstallationToolsData, type IntegrationGetData, type IntegrationInstallBody, type IntegrationInstallData, type IntegrationListData, type IntegrationUninstallData, JsonObject, JsonValue, Mapping, ONE_OFF_EXECUTE_ACTION_TOOL_NAME, ONE_OFF_GET_ACTION_CONTEXT_TOOL_NAME, ONE_OFF_TOOL_NAMES, type OneOffActionContext, type OneOffExecuteActionInput, type OneOffExecuteActionOutput, type OneOffGetActionContextInput, type OneOffGetActionContextOutput, type OneOffToolName, type OpenFlowWorkingDraftResponse, PLATFORM_ACCESS_PERMISSION, PLATFORM_API_KEY_MANAGE_PERMISSION, PROVIDER_CALLBACK_REDIRECT_ROUTE_PATH, type ProposePublishInput, type ProposePublishOutput, type ProviderAppConfigSource, type ProviderSetupData, type PublicCompiledFlowVersionData, type PublicResolvedBindingData, type PublicResolvedToolBindingData, type PublicResolvedTriggerBindingData, RUN_CANCEL_ROUTE_SUBPATH, RUN_EVENTS_ROUTE_SUBPATH, RUN_ITEM_ROUTE_SUBPATH, type RegistrationSummaryData, type ReindexFlowSceneResult, type ReindexFlowTemplateResult, type RemoveNodeInput, type RemoveTriggerInput, type RequestConnectInput, type RequestConnectOutput, type ResolveFlowReadinessRequirementRequest, type ResolveFlowReadinessRequirementResponse, STEP_RUN_STATUSES, type SafeFlowReadinessRequirementData, type SetCompositionInput, type SetFlowMetaInput, type SetOutputsInput, type SetTriggerInput, type SimulateTriggerBody, type SimulateTriggerData, type SimulateTriggerEventBody, type StepRunStatus, type StepRunSummaryData, TRIGGER_INSTANCES_ROUTE_SUBPATH, TRIGGER_SIMULATE_ROUTE_SUBPATH, TriggerBinding, type TriggerInstanceDiagnosticData, type TriggerInstanceLastErrorData, type TriggerInstanceStatus, type TriggerInstancesData, type TruncatedPlaceholder, type UpdateAgentPromptBindingInput, type UpdateAgentPromptInput, type UpdateFlowSceneInput, type UpdateFlowTemplateInput, type UpdateNodeInput, type ValidateAgentPromptBindingResult, type ValidateAgentPromptResult, type ValidateFlowSceneResult, type ValidateFlowTemplateResult, type ValidateFlowToolInput, type ValidateToolOutput, WORKSPACES_ROUTE_PREFIX, WORKSPACE_ACCESS_ROUTE_SUBPATH, WORKSPACE_CONNECTION_MOUNT_PREFIX, WORKSPACE_FLOWS_ROUTE_PREFIX, WORKSPACE_FLOW_RUNS_ROUTE_PREFIX, WORKSPACE_INBOX_ENTRIES_ROUTE_PREFIX, WORKSPACE_INBOX_ITEMS_ROUTE_PREFIX, WORKSPACE_INTEGRATIONS_ROUTE_PREFIX, WORKSPACE_LIST_ROUTE_SUBPATH, WORKSPACE_RUNS_ROUTE_PREFIX, type WorkingIrSummary, type WorkspaceAccessData, type WorkspaceAccessSummaryData, type WorkspaceData, type WorkspaceListData, type WorkspaceMembershipData, type WorkspaceMembershipRole, agentAssetFlowScenesPath, agentAssetFlowTemplatesPath, agentAssetPromptsPath, agentChatPath, agentFlowCreationDecisionPath, agentFlowCreationTaskPath, agentFlowReadinessRequirementResolvePath, agentFlowWorkingDraftCommandsPath, agentFlowWorkingDraftEditTurnAcquirePath, agentFlowWorkingDraftEditTurnReleasePath, agentFlowWorkingDraftOpenPath, agentFlowWorkingDraftPath, agentFlowWorkingDraftPublishPath, agentFlowWorkingDraftReadinessCheckPath, agentSessionPath, agentSessionsPath, apiKeyGrantOptionsPath, apiKeyPath, apiKeysPath, appBootstrapPath, catalogDefaultProviderAppConfigPath, catalogIntegrationPath, catalogIntegrationsPath, catalogVersionsPath, connectCompletePath, connectOptionsPath, connectStartPath, connectSubmitPath, connectionDisconnectPath, currentUserPath, defaultWorkspacePath, findFlowAuthoringToolDescriptor, flowDisablePath, flowDraftPath, flowEnablePath, flowPath, flowRunsPath, flowValidatePath, flowVersionPath, flowVersionsPath, formatFlowToolError, globalInboxEntriesPath, globalInboxEntryHumanInputSubmitPath, globalInboxEntryPath, humanInputTokenPath, humanInputTokenSubmitPath, inboxEntryHumanInputSubmitPath, inboxEntryPath, inboxItemPath, installationToolsPath, runCancelPath, runEventsPath, runPath, triggerInstancesPath, triggerSimulatePath, workspaceConnectionsPath, workspaceFlowsPath, workspaceInboxEntriesPath, workspaceInboxItemsPath, workspaceIntegrationPath, workspaceIntegrationsPath, workspacePath, workspaceRunsPath, workspacesPath };
1839
+ export { AGENT_ASSETS_ROUTE_PREFIX, AGENT_ASSET_FLOW_SCENES_SUBPATH, AGENT_ASSET_FLOW_SCENE_ACTIVATE_SUBPATH, AGENT_ASSET_FLOW_SCENE_ITEM_SUBPATH, AGENT_ASSET_FLOW_SCENE_REINDEX_SUBPATH, AGENT_ASSET_FLOW_SCENE_VALIDATE_SUBPATH, AGENT_ASSET_FLOW_TEMPLATES_SUBPATH, AGENT_ASSET_FLOW_TEMPLATE_ACTIVATE_SUBPATH, AGENT_ASSET_FLOW_TEMPLATE_ITEM_SUBPATH, AGENT_ASSET_FLOW_TEMPLATE_REINDEX_SUBPATH, AGENT_ASSET_FLOW_TEMPLATE_VALIDATE_SUBPATH, AGENT_ASSET_INDEX_FAILED_ERROR_CODE, AGENT_ASSET_MANAGE_PERMISSION, AGENT_ASSET_MODEL_INPUT_SNAPSHOTS_SUBPATH, AGENT_ASSET_MODEL_INPUT_TARGETS_SUBPATH, AGENT_ASSET_MODEL_INPUT_TARGET_PREVIEW_SUBPATH, AGENT_ASSET_NOT_FOUND_ERROR_CODE, AGENT_ASSET_PROMPTS_SUBPATH, AGENT_ASSET_PROMPT_ACTIVATE_SUBPATH, AGENT_ASSET_PROMPT_ITEM_SUBPATH, AGENT_ASSET_PROMPT_VALIDATE_SUBPATH, AGENT_ASSET_VALIDATION_FAILED_ERROR_CODE, AGENT_CAPABILITY_FLOW_AUTHORING, AGENT_CHAT_ROUTE_SUBPATH, AGENT_CREATE_FLOW_AUTHORING_TASK_TOOL_NAME, AGENT_FLOW_AUTHORING_WORKFLOW_FAILED_ERROR_CODE, AGENT_FLOW_CONTEXT_ROUTE_SUBPATH, AGENT_FLOW_CREATION_DECISION_ITEM_SUBPATH, AGENT_FLOW_CREATION_TASK_CONFLICT_ERROR_CODE, AGENT_FLOW_CREATION_TASK_ITEM_SUBPATH, AGENT_FLOW_CREATION_TASK_NOT_FOUND_ERROR_CODE, AGENT_FLOW_GOAL_INVALID_ERROR_CODE, AGENT_FLOW_READINESS_REQUIREMENT_RESOLVE_SUBPATH, AGENT_FLOW_WORKING_DRAFT_COMMANDS_SUBPATH, AGENT_FLOW_WORKING_DRAFT_EDIT_TURN_ACQUIRE_SUBPATH, AGENT_FLOW_WORKING_DRAFT_EDIT_TURN_RELEASE_SUBPATH, AGENT_FLOW_WORKING_DRAFT_ITEM_SUBPATH, AGENT_FLOW_WORKING_DRAFT_OPEN_SUBPATH, AGENT_FLOW_WORKING_DRAFT_PUBLISH_SUBPATH, AGENT_FLOW_WORKING_DRAFT_READINESS_CHECK_SUBPATH, AGENT_MESSAGE_DELTA_INVALID_ERROR_CODE, AGENT_MODEL_INPUT_PREVIEW_UNAVAILABLE_ERROR_CODE, AGENT_MODEL_INPUT_TARGET_KEYS, AGENT_MODEL_INPUT_TARGET_PROTECTED_ERROR_CODE, AGENT_PAGE_CONTEXT_INVALID_ERROR_CODE, AGENT_PAGE_CONTEXT_MAX_RESOURCES, AGENT_PAGE_CONTEXT_RESOURCE_ID_MAX_LENGTH, AGENT_PAGE_CONTEXT_ROUTE_ID_MAX_LENGTH, AGENT_PAGE_RESOURCE_TYPES, AGENT_PROMPT_ACTIVE_REVISION_MISSING_ERROR_CODE, AGENT_PROMPT_REVISION_NOT_DRAFT_ERROR_CODE, AGENT_PROMPT_REVISION_NOT_FOUND_ERROR_CODE, AGENT_PROMPT_TARGET_NOT_FOUND_ERROR_CODE, AGENT_PROMPT_VALIDATION_FAILED_ERROR_CODE, AGENT_ROUTE_PREFIX, AGENT_RUNTIME_FAILED_ERROR_CODE, AGENT_RUNTIME_TOOL_NAME_PATTERN, AGENT_RUNTIME_UNCONFIGURED_ERROR_CODE, AGENT_SESSIONS_ROUTE_SUBPATH, AGENT_SESSION_DETAIL_MESSAGE_LIMIT, AGENT_SESSION_ITEM_ROUTE_SUBPATH, AGENT_SESSION_LIST_DEFAULT_LIMIT, AGENT_SESSION_LIST_MAX_LIMIT, AGENT_SESSION_NOT_FOUND_ERROR_CODE, API_KEYS_ROUTE_PREFIX, API_KEY_GRANT_OPTIONS_ROUTE_SUBPATH, API_KEY_ITEM_ROUTE_SUBPATH, API_KEY_TOKEN_PREFIX, API_KEY_WORKSPACE_FULL_ACCESS_SCOPE, APP_BOOTSTRAP_ROUTE_PATH, type ActivateAgentPromptResult, type ActivateFlowSceneResult, type ActivateFlowTemplateResult, type AddNodeInput, type AgentAssetIndexingStatus, type AgentCapabilityKind, type AgentChatRequestBody, type AgentModelInputContextBlock, type AgentModelInputContextBlockSource, type AgentModelInputDomain, type AgentModelInputSnapshot, type AgentModelInputSnapshotListData, type AgentModelInputSnapshotListQuery, type AgentModelInputSnapshotRef, type AgentModelInputTarget, type AgentModelInputTargetLifecycle, type AgentModelInputTargetListData, type AgentModelInputToolContractOwner, type AgentModelInputToolContractRef, type AgentPageContext, type AgentPageResourceRef, type AgentPageResourceType, type AgentPromptCreateData, type AgentPromptListData, type AgentPromptRef, type AgentPromptRevision, type AgentPromptRevisionRef, type AgentPromptStatus, type AgentSessionDetailData, type AgentSessionListData, type AgentSessionSummary, type AgentTaskSurface, type AgentUiMessageProjection, type AgentUiMessageRole, type AgentValidationIssue, type ApiKeyCreateBody, type ApiKeyCreateData, type ApiKeyData, type ApiKeyGrantCreateInput, type ApiKeyGrantData, type ApiKeyGrantOptionsData, type ApiKeyGrantType, type ApiKeyListData, type ApiKeyPlatformGrantCreateInput, type ApiKeyPlatformGrantOptionData, type ApiKeyRevokeData, type ApiKeyStatus, type ApiKeyWorkspaceGrantCreateInput, type ApiKeyWorkspaceGrantOptionData, type ApiKeyWorkspaceScope, type AppBootstrapData, type ApplyFlowDraftCommandResponse, type Bounded, CATALOG_DEFAULT_PROVIDER_APP_CONFIG_ROUTE_SUBPATH, CATALOG_INTEGRATIONS_ROUTE_SUBPATH, CATALOG_INTEGRATION_DETAIL_ROUTE_SUBPATH, CATALOG_ROUTE_PREFIX, CATALOG_VERSIONS_ROUTE_SUBPATH, CONNECTIONS_ROUTE_SUBPATH, CONNECTION_DISCONNECT_ROUTE_SUBPATH, CONNECT_COMPLETE_ROUTE_SUBPATH, CONNECT_OPTIONS_ROUTE_SUBPATH, CONNECT_START_ROUTE_SUBPATH, CONNECT_SUBMIT_ROUTE_SUBPATH, CURRENT_USER_ROUTE_PATH, type CatalogDetailData, type CatalogDetailLatestData, type CatalogIntegrationSummaryData, type CatalogListData, type CatalogPublishData, type CatalogToolFunctionData, type CatalogTriggerFunctionData, type CatalogVersionSummaryData, type CheckFlowReadinessResponse, type CompiledFlowVersionSummaryData, type ConnectCompleteResultData, type ConnectCompletedResultData, type ConnectDefaultUnavailableReason, type ConnectFieldDefData, type ConnectInputNextActionData, type ConnectInputTarget, type ConnectOptionsData, type ConnectRedirectNextActionData, type ConnectStartBody, type ConnectStartResultData, type ConnectSubmitBody, type ConnectSubmitResultData, type ConnectionAuthType, type ConnectionListData, type ConnectionSummaryData, type ControlPlaneToolData, type ControlPlaneToolDeliveryData, type ControlPlaneTriggerData, type CreateAgentPromptInput, type CreateFlowAuthoringTaskInput, type CreateFlowCreationTaskResult, type CreateFlowSceneInput, type CreateFlowTemplateInput, type CurrentUserData, DEFAULT_WORKSPACE_ROUTE_PATH, type DefaultProviderAppConfigAdminData, type DefaultProviderAppConfigDisableData, type DefaultProviderAppConfigUpsertBody, type DefaultProviderAppConfigWriteData, type DefaultWorkspaceUpdateBody, type DefaultWorkspaceUpdateData, type DeletedFlowSummaryData, type DeliverFlowRunEventData, type DisconnectResultData, FLOW_AUTHORING_EDIT_TOOL_NAMES, FLOW_AUTHORING_TOOL_DESCRIPTORS, FLOW_AUTHORING_TOOL_NAMES, FLOW_DISABLE_ROUTE_SUBPATH, FLOW_DRAFT_COMMAND_INVALID_ERROR_CODE, FLOW_DRAFT_EDIT_LOCKED_ERROR_CODE, FLOW_DRAFT_NOT_PUBLISHABLE_ERROR_CODE, FLOW_DRAFT_REVISION_CONFLICT_ERROR_CODE, FLOW_DRAFT_ROUTE_SUBPATH, FLOW_EDIT_TURN_NOT_HELD_ERROR_CODE, FLOW_ENABLE_ROUTE_SUBPATH, FLOW_ITEM_ROUTE_SUBPATH, FLOW_PUBLISH_CONFIRMATION_REQUIRED_ERROR_CODE, FLOW_READINESS_REQUIREMENT_CONFLICT_ERROR_CODE, FLOW_READINESS_REQUIREMENT_NOT_FOUND_ERROR_CODE, FLOW_RUN_STATUSES, FLOW_VALIDATE_ROUTE_SUBPATH, FLOW_VERSIONS_ROUTE_SUBPATH, FLOW_VERSION_ITEM_ROUTE_SUBPATH, FLOW_WORKING_DRAFT_NOT_FOUND_ERROR_CODE, type FallbackAuthoringPlan, type FlowAssetIndexDocType, type FlowAssetIndexDocument, type FlowAssetStatus, type FlowAssetStrength, type FlowAuthoringAssetRef, type FlowAuthoringBrief, type FlowAuthoringBriefSummary, type FlowAuthoringDecisionContextRef, type FlowAuthoringDecisionContextRefKind, type FlowAuthoringEditToolName, type FlowAuthoringSceneBrief, type FlowAuthoringStrategyMode, type FlowAuthoringTemplateBrief, type FlowAuthoringToolDescriptor, type FlowAuthoringToolExecution, type FlowAuthoringToolInputSchema, type FlowAuthoringToolName, type FlowBadgeData, FlowCompositionSpec, type FlowCreationDecisionKind, type FlowCreationDecisionRecordData, type FlowCreationLifecycleEventData, type FlowCreationLifecycleEventType, type FlowCreationTaskData, type FlowCreationTaskState, type FlowDeleteData, type FlowDraftActor, type FlowDraftCommand, type FlowDraftEditTurn, type FlowDraftProjection, type FlowDraftPublishRequest, type FlowDraftPublishResult, type FlowDraftRecordData, type FlowDraftStatus, type FlowGoalAssumption, type FlowGoalAssumptionSource, type FlowGoalDelivery, type FlowGoalDeliveryKind, type FlowGoalPersistence, type FlowGoalScheduleFrequency, type FlowGoalSpec, type FlowGoalSpecifiedIntegration, type FlowGoalTrigger, FlowIrValidationResult, type FlowListData, type FlowListItemData, type FlowMetaUpdate, FlowNode, type FlowPublishData, type FlowReadinessRequirementStatus, type FlowReadinessRequirementType, type FlowReadinessResultData, type FlowRecordData, type FlowRunCancelData, type FlowRunDetailData, type FlowRunListData, type FlowRunStatus, type FlowRunSummaryData, type FlowRunTerminalErrorData, type FlowRunTriggerData, type FlowSceneAsset, type FlowSceneCandidate, type FlowSceneDefaultStrategy, type FlowSceneListData, type FlowSceneOverridable, type FlowScenePersistence, type FlowScenePreferredIntegration, type FlowSceneTriggerType, type FlowSceneWriteData, type FlowSlotResolution, type FlowSlotResolutionSource, type FlowStatus, type FlowTemplateAsset, type FlowTemplateCandidate, type FlowTemplateListData, type FlowTemplateWriteData, type FlowToolError, type FlowValidateData, type FlowValidationIssueData, type FlowVersionGetData, type FlowVersionListData, type FlowWithDraftData, type FlowWorkingDraftOpenRequest, type FlowWorkingDraftOwner, type FlowWorkingDraftOwnerKind, type FlowWorkingDraftSummary, GLOBAL_INBOX_ENTRIES_ROUTE_PREFIX, type GetFlowContextInput, type GetWorkingFlowIrInput, type GetWorkingFlowIrOutput, type GlobalInboxEntryDetailData, type GlobalInboxEntryListData, type GlobalInboxEntryListEntryData, type GlobalInboxEntryListQuery, type GlobalInboxWorkspaceData, HUMAN_INPUT_TOKENS_ROUTE_PREFIX, HUMAN_INPUT_TOKEN_ROUTE_SUBPATH, HUMAN_INPUT_TOKEN_SUBMIT_ROUTE_SUBPATH, type HumanInputPublicOutputData, type HumanInputRequestViewData, type HumanInputSubmitPayload, type HumanInputTokenSubmitData, type HumanInputTokenViewData, INBOX_ENTRY_HUMAN_INPUT_SUBMIT_ROUTE_SUBPATH, INBOX_ENTRY_ROUTE_SUBPATH, INBOX_ITEM_ROUTE_SUBPATH, INTEGRATION_ITEM_ROUTE_SUBPATH, INTEGRATION_TOOLS_ROUTE_SUBPATH, type InboxEntryDetailData, type InboxEntryListData, type InboxEntryListEntryData, type InboxEntryStatus, type InboxEntryType, type InboxHumanInputEntryData, type InboxItemDetailData, type InboxItemDetailEntryData, type InboxItemListData, type InboxItemListEntryData, type InboxLinksData, type InboxReportData, type InstallationCatalogInfoData, type InstallationData, type InstallationSource, type InstallationToolsData, type IntegrationGetData, type IntegrationInstallBody, type IntegrationInstallData, type IntegrationListData, type IntegrationUninstallData, JsonObject, JsonValue, Mapping, ONE_OFF_EXECUTE_ACTION_TOOL_NAME, ONE_OFF_GET_ACTION_CONTEXT_TOOL_NAME, ONE_OFF_TOOL_NAMES, type OneOffActionContext, type OneOffExecuteActionInput, type OneOffExecuteActionOutput, type OneOffGetActionContextInput, type OneOffGetActionContextOutput, type OneOffToolName, type OpenFlowWorkingDraftResponse, PLATFORM_ACCESS_PERMISSION, PLATFORM_API_KEY_MANAGE_PERMISSION, PROVIDER_CALLBACK_REDIRECT_ROUTE_PATH, type PromptTargetKey, type ProposePublishInput, type ProposePublishOutput, type ProviderAppConfigSource, type ProviderSetupData, type PublicCompiledFlowVersionData, type PublicResolvedBindingData, type PublicResolvedToolBindingData, type PublicResolvedTriggerBindingData, RUN_CANCEL_ROUTE_SUBPATH, RUN_EVENTS_ROUTE_SUBPATH, RUN_ITEM_ROUTE_SUBPATH, type RegistrationSummaryData, type ReindexFlowSceneResult, type ReindexFlowTemplateResult, type RemoveNodeInput, type RemoveTriggerInput, type RenderModelInputPreviewInput, type RenderModelInputPreviewResult, type RequestConnectInput, type RequestConnectOutput, type ResolveFlowReadinessRequirementRequest, type ResolveFlowReadinessRequirementResponse, STEP_RUN_STATUSES, type SafeFlowReadinessRequirementData, type SetCompositionInput, type SetFlowMetaInput, type SetOutputsInput, type SetTriggerInput, type SimulateTriggerBody, type SimulateTriggerData, type SimulateTriggerEventBody, type StepRunStatus, type StepRunSummaryData, TRIGGER_INSTANCES_ROUTE_SUBPATH, TRIGGER_SIMULATE_ROUTE_SUBPATH, TriggerBinding, type TriggerInstanceDiagnosticData, type TriggerInstanceLastErrorData, type TriggerInstanceStatus, type TriggerInstancesData, type TruncatedPlaceholder, type UpdateAgentPromptInput, type UpdateFlowSceneInput, type UpdateFlowTemplateInput, type UpdateNodeInput, type ValidateAgentPromptResult, type ValidateFlowSceneResult, type ValidateFlowTemplateResult, type ValidateFlowToolInput, type ValidateToolOutput, WORKSPACES_ROUTE_PREFIX, WORKSPACE_ACCESS_ROUTE_SUBPATH, WORKSPACE_CONNECTION_MOUNT_PREFIX, WORKSPACE_FLOWS_ROUTE_PREFIX, WORKSPACE_FLOW_RUNS_ROUTE_PREFIX, WORKSPACE_INBOX_ENTRIES_ROUTE_PREFIX, WORKSPACE_INBOX_ITEMS_ROUTE_PREFIX, WORKSPACE_INTEGRATIONS_ROUTE_PREFIX, WORKSPACE_LIST_ROUTE_SUBPATH, WORKSPACE_RUNS_ROUTE_PREFIX, type WorkingIrSummary, type WorkspaceAccessData, type WorkspaceAccessSummaryData, type WorkspaceData, type WorkspaceListData, type WorkspaceMembershipData, type WorkspaceMembershipRole, agentAssetFlowScenesPath, agentAssetFlowTemplatesPath, agentAssetPromptsPath, agentChatPath, agentFlowCreationDecisionPath, agentFlowCreationTaskPath, agentFlowReadinessRequirementResolvePath, agentFlowWorkingDraftCommandsPath, agentFlowWorkingDraftEditTurnAcquirePath, agentFlowWorkingDraftEditTurnReleasePath, agentFlowWorkingDraftOpenPath, agentFlowWorkingDraftPath, agentFlowWorkingDraftPublishPath, agentFlowWorkingDraftReadinessCheckPath, agentSessionPath, agentSessionsPath, apiKeyGrantOptionsPath, apiKeyPath, apiKeysPath, appBootstrapPath, catalogDefaultProviderAppConfigPath, catalogIntegrationPath, catalogIntegrationsPath, catalogVersionsPath, connectCompletePath, connectOptionsPath, connectStartPath, connectSubmitPath, connectionDisconnectPath, currentUserPath, defaultWorkspacePath, findFlowAuthoringToolDescriptor, flowDisablePath, flowDraftPath, flowEnablePath, flowPath, flowRunsPath, flowValidatePath, flowVersionPath, flowVersionsPath, formatFlowToolError, globalInboxEntriesPath, globalInboxEntryHumanInputSubmitPath, globalInboxEntryPath, humanInputTokenPath, humanInputTokenSubmitPath, inboxEntryHumanInputSubmitPath, inboxEntryPath, inboxItemPath, installationToolsPath, runCancelPath, runEventsPath, runPath, triggerInstancesPath, triggerSimulatePath, workspaceConnectionsPath, workspaceFlowsPath, workspaceInboxEntriesPath, workspaceInboxItemsPath, workspaceIntegrationPath, workspaceIntegrationsPath, workspacePath, workspaceRunsPath, workspacesPath };