@makaio/framework 1.0.0-dev-1781397017668 → 1.0.0-dev-1781443723575
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/.makaio-build.json +2 -2
- package/dist/{adapter-D_p5kKxi.mjs → adapter-BH1X0THX.mjs} +1 -1
- package/dist/bus/index.d.mts +21 -21
- package/dist/bus/index.mjs +1 -1
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/index.mjs +1 -1
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +1 -1
- package/dist/contracts/canonical-model/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +6 -6
- package/dist/contracts/extension/index.d.mts +3 -3
- package/dist/contracts/facet/index.d.mts +1 -1
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/index.d.mts +664 -269
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/provider/index.d.mts +1 -1
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/session/index.mjs +1 -1
- package/dist/contracts/shared/index.d.mts +1 -1
- package/dist/contracts/skill/index.d.mts +1 -1
- package/dist/drizzle/0018_m_mqcweucg.sql +17 -0
- package/dist/drizzle/0019_m_mqcwyn0w.sql +1 -0
- package/dist/drizzle/meta/_journal.json +14 -0
- package/dist/handlers-Cpy9Q8ho.mjs +41 -0
- package/dist/{index-DvETyI0_.d.mts → index-BBteExwv.d.mts} +1 -1
- package/dist/{index-CEdOq5Om.d.mts → index-BDnI2oqX.d.mts} +1 -1
- package/dist/{index-B3mq3Qjf.d.mts → index-BZuF4I8O.d.mts} +1 -1
- package/dist/{index-BLqtL-_a.d.mts → index-C2tDMYm0.d.mts} +4 -4
- package/dist/{index-C24PcW2r.d.mts → index-CQuLV3jj.d.mts} +12 -12
- package/dist/{index-B92SK0rO.d.mts → index-CtVy1e5h.d.mts} +6 -3
- package/dist/{index-C0TEY7RE.d.mts → index-D7oEYudM.d.mts} +1 -1
- package/dist/{index-QvciMc7_.d.mts → index-DWBpxSGQ.d.mts} +899 -385
- package/dist/{index-DLPjliGd.d.mts → index-DWRwbJjQ.d.mts} +1 -1
- package/dist/{index-BQ8H7cvY.d.mts → index-Doy13wLW.d.mts} +15 -15
- package/dist/{index-NyKdb8kT.d.mts → index-DsAfeVbS.d.mts} +24 -24
- package/dist/{index-CszoKxxO.d.mts → index-N7JtH6hX.d.mts} +392 -392
- package/dist/{index-DBgv39-Q.d.mts → index-bLWdMu_T.d.mts} +44 -44
- package/dist/{index-WKF5BHsw.d.mts → index-gYlNeEGH.d.mts} +8 -8
- package/dist/{index-DfNIhEm_.d.mts → index-iRe4CsR5.d.mts} +20 -20
- package/dist/{index-B99Prx5a.d.mts → index-xeg-bqxO.d.mts} +105 -105
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/index.d.mts +2 -2
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/{namespace-DbvQ4HYc.d.mts → namespace-1tHmgGQV.d.mts} +154 -154
- package/dist/{namespace-CN2TfSCY.d.mts → namespace-CK50FeCH.d.mts} +2 -2
- package/dist/{namespace-C_kaVySz.d.mts → namespace-D63jVkzY.d.mts} +4 -4
- package/dist/{namespace-BAJTZXWc.d.mts → namespace-DWT6hqxX.d.mts} +42 -42
- package/dist/{namespace-D_ZXa76m.d.mts → namespace-thr1fR3_.d.mts} +32 -32
- package/dist/{namespace-B1Bldc48.d.mts → namespace-vfKj-JHx.d.mts} +9 -9
- package/dist/package-Dvk8-Gfd.mjs +1 -0
- package/dist/package.json +1 -1
- package/dist/primitive-runtime-UEzX4Ayu.mjs +1 -0
- package/dist/runtime-node/index.d.mts +1 -1
- package/dist/runtime-node/workflow-worker/index.d.mts +2 -2
- package/dist/{schema-msWs4YhT.d.mts → schema-CXgFk-dK.d.mts} +2 -2
- package/dist/{schemas-DRZJK6hW2.d.mts → schemas-BS8xAZ2y2.d.mts} +2 -2
- package/dist/schemas-CzvG8xq7.mjs +1 -0
- package/dist/{schemas-CN9hprME.d.mts → schemas-YFBpHbzr.d.mts} +3 -3
- package/dist/{schemas-xoTn8JZb.d.mts → schemas-za4KzhEe.d.mts} +154 -154
- package/dist/services/adapter-subsystem/index.d.mts +2 -2
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/index.d.mts +2 -2
- package/dist/services/agent-runtime/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/schemas.d.mts +1 -1
- package/dist/services/context-rules/index.d.mts +8 -8
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/harness/index.d.mts +3 -3
- package/dist/services/index.d.mts +113 -113
- package/dist/services/index.mjs +1 -1
- package/dist/services/log-import/browser.d.mts +2 -2
- package/dist/services/log-import/index.d.mts +2 -2
- package/dist/services/log-import/log-import.d.mts +1 -1
- package/dist/services/log-import/namespace.d.mts +2 -2
- package/dist/services/log-import/schemas.d.mts +1 -1
- package/dist/services/session/handlers/index.mjs +1 -1
- package/dist/services/session/index.d.mts +5 -5
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/session/testing/index.mjs +1 -1
- package/dist/services/settings/namespace.d.mts +5 -5
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
- package/dist/services/subagent-template/index.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/tray-menu/index.d.mts +2 -2
- package/dist/services/tray-menu/namespace.d.mts +1 -1
- package/dist/services/tray-menu/schemas.d.mts +1 -1
- package/dist/session-ZAJrcudH.mjs +39 -0
- package/dist/{session-lineage-DFkJgYt5.d.mts → session-lineage-CJgqfkMj.d.mts} +1 -1
- package/dist/{session-bKk-XeaY.mjs → session-owtKCoUX.mjs} +1 -1
- package/dist/{tool-approval-service-C2xXBtdJ.mjs → tool-approval-service-B_28RhuK.mjs} +1 -1
- package/dist/{tools-DEUzCPBB.mjs → tools-BpzJterj.mjs} +1 -1
- package/dist/{types-4LKM7ZfA.d.mts → types-8q9G9p34.d.mts} +890 -360
- package/dist/{types-BB8iIAjZ.d.mts → types-bPzpZb7_.d.mts} +1 -1
- package/dist/workflow-engine/index.d.mts +463 -48
- package/dist/workflow-engine/index.mjs +1 -1
- package/dist/workflow-engine/package.mjs +1 -1
- package/dist/workflow-engine/workflow-orchestrator.d.mts +3 -2
- package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
- package/package.json +1 -1
- package/dist/handlers-CTrL8wmC.mjs +0 -41
- package/dist/package-Bn665ylV.mjs +0 -1
- package/dist/primitive-runtime-C2yw4-F8.mjs +0 -1
- package/dist/schemas-CiMm2zrE.mjs +0 -1
- package/dist/session-Me3XO-l9.mjs +0 -39
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as e}from"./chunk-DTipWd-i.mjs";import{t}from"./ajv-Cx19PP7Q.mjs";import{z as n}from"zod";import{execFile as r}from"node:child_process";import{isAbsolute as i,relative as a,resolve as o}from"node:path";import{realpathSync as s}from"node:fs";import{localSubject as c}from"@makaio/framework/core";import{NoHandlerError as l}from"@makaio/framework/bus";import{AgentSubjects as u,ArtifactSubjects as d,ExecutionLinkListQuerySchema as f,ExecutionLinkSchema as p,ExecutionListQuerySchema as m,ExecutionStatusSchema as h,GateInstanceListQuerySchema as g,JsonPatchOperationSchema as _,JsonValueSchema as v,SessionSubjects as y,SpanRecordSchema as b,SubagentSubjects as x,WORKFLOW_CANCELLED_REASON as S,WorkerNodeSubjects as C,WorkflowDefinitionSchema as ee,WorkflowExecutionSchema as w,WorkflowFrameStateSchema as T,WorkflowGateInstanceSchema as E,WorkflowListQuerySchema as te,WorkflowRunContextSchema as ne,WorkflowSchemas as re,WorkflowSubjects as ie,WorkflowSubjects as D,WorkflowWorkerSourceSchema as ae,createStepCancelSubject as oe}from"@makaio/framework/contracts";import{createStorageNamespaceDefinition as se}from"@makaio/framework/storage";import{index as O,primaryKey as ce,uniqueIndex as le}from"drizzle-orm/sqlite-core";import{index as k,primaryKey as A,uniqueIndex as ue}from"drizzle-orm/pg-core";import{defineDualTable as j}from"@makaio/framework/storage/drizzle";import{sql as de}from"drizzle-orm";import{evaluateSync as M,resolveTemplate as N}from"@makaio/framework/expression";import*as fe from"node:os";function pe(e){return{scopeType:e.textEnum(`scope_type`,{enum:[`global`,`workspace`,`session`,`external`]}).notNull().$type(),scopeKind:e.text(`scope_kind`).notNull().default(``),scopeId:e.text(`scope_id`).notNull().default(``)}}const me=j(`workflow_definitions`,e=>({id:e.text(`id`).primaryKey(),name:e.text(`name`).notNull(),description:e.text(`description`),root:e.jsonCol(`root`).notNull(),inputSchema:e.jsonCol(`input_schema`),configSchema:e.jsonCol(`config_schema`),outputSchema:e.jsonCol(`output_schema`),state:e.jsonCol(`state`),artifact:e.jsonCol(`artifact`),triggers:e.jsonCol(`triggers`),...pe(e),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull(),canvasLayout:e.jsonCol(`canvas_layout`),source:e.jsonCol(`source`),executionHints:e.jsonCol(`execution_hints`)}),{sqlite:e=>[le(`uniq_workflow_definitions_name_scope`).on(e.name,e.scopeType,e.scopeKind,e.scopeId),O(`idx_workflow_definitions_scope`).on(e.scopeType,e.scopeKind,e.scopeId)],postgres:e=>[ue(`uniq_workflow_definitions_name_scope`).on(e.name,e.scopeType,e.scopeKind,e.scopeId),k(`idx_workflow_definitions_scope`).on(e.scopeType,e.scopeKind,e.scopeId)]}),he=me.sqlite,P=j(`workflow_executions`,e=>({id:e.text(`id`).primaryKey(),workflowId:e.text(`workflow_id`).notNull(),coordinatorSessionId:e.text(`coordinator_session_id`),status:e.textEnum(`status`,{enum:[`pending`,`running`,`paused`,`completed`,`failed`,`cancelled`]}).notNull(),inputs:e.jsonCol(`inputs`),error:e.text(`error`),reason:e.text(`reason`),startedAt:e.epochMs(`started_at`).notNull(),completedAt:e.epochMs(`completed_at`),triggerPayload:e.jsonCol(`trigger_payload`),artifactKind:e.text(`artifact_kind`),artifactId:e.text(`artifact_id`),...pe(e)}),{sqlite:e=>[O(`idx_workflow_executions_status`).on(e.status),O(`idx_workflow_executions_scope_started`).on(e.scopeType,e.scopeKind,e.scopeId,e.startedAt),O(`idx_workflow_executions_workflow_started`).on(e.workflowId,e.startedAt),O(`idx_workflow_executions_artifact`).on(e.artifactKind,e.artifactId,e.startedAt)],postgres:e=>[k(`idx_workflow_executions_status`).on(e.status),k(`idx_workflow_executions_scope_started`).on(e.scopeType,e.scopeKind,e.scopeId,e.startedAt),k(`idx_workflow_executions_workflow_started`).on(e.workflowId,e.startedAt),k(`idx_workflow_executions_artifact`).on(e.artifactKind,e.artifactId,e.startedAt)]}),ge=P.sqlite,_e=j(`workflow_execution_frames`,e=>({frameId:e.text(`frame_id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),nodeType:e.text(`node_type`).notNull().$type(),path:e.jsonCol(`path`).notNull(),parentFrameId:e.text(`parent_frame_id`),status:e.text(`status`).notNull().default(`pending`).$type(),attempt:e.int4(`attempt`).notNull().default(0),iteration:e.int4(`iteration`),branchKey:e.text(`branch_key`),output:e.jsonCol(`output`),outputPresent:e.bool(`output_present`).notNull().default(!1),error:e.text(`error`),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`)}),{sqlite:e=>[O(`idx_workflow_execution_frames_execution`).on(e.executionId),O(`idx_workflow_execution_frames_parent`).on(e.parentFrameId)],postgres:e=>[k(`idx_workflow_execution_frames_execution`).on(e.executionId),k(`idx_workflow_execution_frames_parent`).on(e.parentFrameId)]}),ve=_e.sqlite,ye=j(`workflow_gate_instances`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),frameId:e.text(`frame_id`).notNull(),schema:e.jsonCol(`schema`).notNull(),prompt:e.text(`prompt`),status:e.text(`status`).notNull().default(`waiting`).$type(),autoAction:e.textEnum(`auto_action`,{enum:[`approve`,`reject`]}).notNull().default(`reject`),timeoutMs:e.int4(`timeout_ms`),resumeData:e.jsonCol(`resume_data`),reason:e.text(`reason`),resumeDataPresent:e.bool(`resume_data_present`).notNull().default(!1),createdAt:e.epochMs(`created_at`).notNull(),resolvedAt:e.epochMs(`resolved_at`)}),{sqlite:e=>[O(`idx_workflow_gate_instances_execution`).on(e.executionId),O(`idx_workflow_gate_instances_frame`).on(e.frameId)],postgres:e=>[k(`idx_workflow_gate_instances_execution`).on(e.executionId),k(`idx_workflow_gate_instances_frame`).on(e.frameId)]}),be=ye.sqlite,xe=j(`workflow_step_spans`,e=>({executionId:e.text(`execution_id`).notNull().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),frameId:e.text(`frame_id`).notNull(),stepId:e.text(`step_id`).notNull(),stepType:e.text(`step_type`).notNull(),status:e.text(`status`).$type().notNull(),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),inputTokens:e.int4(`input_tokens`),outputTokens:e.int4(`output_tokens`),estimatedCost:e.float8(`estimated_cost`),toolCallCount:e.int4(`tool_call_count`),input:e.text(`input`),output:e.text(`output`)}),{sqlite:e=>[ce({columns:[e.executionId,e.frameId]}),O(`idx_workflow_step_spans_status`).on(e.status)],postgres:e=>[A({columns:[e.executionId,e.frameId]}),k(`idx_workflow_step_spans_status`).on(e.status)]}),Se=xe.sqlite,Ce=j(`workflow_execution_links`,e=>({sourceExecutionId:e.text(`source_execution_id`).notNull().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),targetExecutionId:e.text(`target_execution_id`).notNull().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),linkType:e.text(`link_type`).$type().notNull(),metadata:e.jsonCol(`metadata`)}),{sqlite:e=>[ce({columns:[e.sourceExecutionId,e.targetExecutionId]}),O(`idx_workflow_execution_links_target`).on(e.targetExecutionId)],postgres:e=>[A({columns:[e.sourceExecutionId,e.targetExecutionId]}),k(`idx_workflow_execution_links_target`).on(e.targetExecutionId)]}),we=Ce.sqlite,Te=j(`workflow_run_contexts`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),workflowId:e.text(`workflow_id`).notNull(),coordinatorSessionId:e.text(`coordinator_session_id`).notNull(),sourceKind:e.text(`source_kind`).notNull(),sourcePath:e.text(`source_path`),sourceFilename:e.text(`source_filename`),sourceCode:e.text(`source_code`),definitionSnapshot:e.jsonCol(`definition_snapshot`),workerManifest:e.jsonCol(`worker_manifest`).notNull(),inputs:e.jsonCol(`inputs`),config:e.jsonCol(`config`).notNull().default(de`'{}'`),triggerPayload:e.jsonCol(`trigger_payload`).notNull(),artifactRef:e.jsonCol(`artifact_ref`),executionHints:e.jsonCol(`execution_hints`),dispatchMetadata:e.jsonCol(`dispatch_metadata`),scopeType:e.textEnum(`scope_type`,{enum:[`global`,`workspace`,`session`,`external`]}).notNull().default(`global`).$type(),scopeKind:e.text(`scope_kind`).notNull().default(``),scopeId:e.text(`scope_id`).notNull().default(``),cancelSubject:e.text(`cancel_subject`).notNull(),context:e.jsonCol(`context`).notNull(),env:e.jsonCol(`env`).notNull(),createdAt:e.epochMs(`created_at`).notNull(),suspensionStrategy:e.text(`suspension_strategy`).$type()}),{sqlite:e=>[O(`idx_run_contexts_workflow`).on(e.workflowId)],postgres:e=>[k(`idx_run_contexts_workflow`).on(e.workflowId)]}),Ee=Te.sqlite,De=j(`worklog_summaries`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),workflowId:e.text(`workflow_id`).notNull(),workflowName:e.text(`workflow_name`),status:e.textEnum(`status`,{enum:[`pending`,`running`,`paused`,`completed`,`failed`,`cancelled`]}).notNull(),startedAt:e.epochMs(`started_at`).notNull(),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),totalInputTokens:e.int4(`total_input_tokens`),totalOutputTokens:e.int4(`total_output_tokens`),totalEstimatedCost:e.float8(`total_estimated_cost`),error:e.text(`error`),failedNodeId:e.text(`failed_node_id`)}),{sqlite:e=>[O(`idx_worklog_summaries_workflow_started`).on(e.workflowId,e.startedAt),O(`idx_worklog_summaries_status`).on(e.status)],postgres:e=>[k(`idx_worklog_summaries_workflow_started`).on(e.workflowId,e.startedAt),k(`idx_worklog_summaries_status`).on(e.status)]}),Oe=De.sqlite,ke=j(`worklog_frame_entries`,e=>({frameId:e.text(`frame_id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),nodeType:e.text(`node_type`).notNull().$type(),path:e.jsonCol(`path`).notNull(),status:e.textEnum(`status`,{enum:[`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]}).notNull(),attempt:e.int4(`attempt`).notNull().default(0),iteration:e.int4(`iteration`),branchKey:e.text(`branch_key`),startedAt:e.epochMs(`started_at`),completedAt:e.epochMs(`completed_at`),durationMs:e.int4(`duration_ms`),inputTokens:e.int4(`input_tokens`),outputTokens:e.int4(`output_tokens`),estimatedCost:e.float8(`estimated_cost`),error:e.text(`error`)}),{sqlite:e=>[O(`idx_worklog_frame_entries_execution`).on(e.executionId)],postgres:e=>[k(`idx_worklog_frame_entries_execution`).on(e.executionId)]}),Ae=ke.sqlite,je=j(`worklog_artifact_writes`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),frameId:e.text(`frame_id`).notNull(),nodeId:e.text(`node_id`).notNull(),artifact:e.jsonCol(`artifact`).notNull(),revision:e.text(`revision`),writtenAt:e.epochMs(`written_at`).notNull()}),{sqlite:e=>[O(`idx_worklog_artifact_writes_execution`).on(e.executionId)],postgres:e=>[k(`idx_worklog_artifact_writes_execution`).on(e.executionId)]}),Me=je.sqlite,Ne=j(`worklog_gate_events`,e=>({id:e.text(`id`).primaryKey(),executionId:e.text(`execution_id`).notNull().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),nodeId:e.text(`node_id`).notNull(),frameId:e.text(`frame_id`).notNull(),status:e.textEnum(`status`,{enum:[`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]}).notNull().$type(),prompt:e.text(`prompt`),openedAt:e.epochMs(`opened_at`).notNull(),resolvedAt:e.epochMs(`resolved_at`),resumeData:e.jsonCol(`resume_data`)}),{sqlite:e=>[O(`idx_worklog_gate_events_execution`).on(e.executionId),O(`idx_worklog_gate_events_status`).on(e.status)],postgres:e=>[k(`idx_worklog_gate_events_execution`).on(e.executionId),k(`idx_worklog_gate_events_status`).on(e.status)]}),Pe=Ne.sqlite,Fe=j(`workflow_execution_state`,e=>({executionId:e.text(`execution_id`).primaryKey().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),sequence:e.int4(`sequence`).notNull().default(0),value:e.jsonCol(`value`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()})),Ie=Fe.sqlite,Le=j(`workflow_execution_state_events`,e=>({executionId:e.text(`execution_id`).notNull().references(()=>P.columnPair(`id`),{onDelete:`cascade`}),sequence:e.int4(`sequence`).notNull(),patch:e.jsonCol(`patch`).notNull(),value:e.jsonCol(`value`).notNull(),createdAt:e.epochMs(`created_at`).notNull()}),{sqlite:e=>[ce({columns:[e.executionId,e.sequence]})],postgres:e=>[A({columns:[e.executionId,e.sequence]})]}),Re=Le.sqlite,ze=n.object({executionId:n.string().min(1),status:h.optional(),error:n.string().nullable().optional(),reason:n.string().nullable().optional(),completedAt:n.number().nullable().optional()}),Be=se(`workflow`,{schemas:{get:{request:n.object({id:n.string()}),response:n.object({workflow:ee.nullable()})},set:{request:n.object({workflow:ee}),response:n.object({id:n.string()})},delete:{request:n.object({id:n.string()}),response:n.object({deleted:n.boolean()})},list:{request:te,response:n.object({workflows:n.array(ee)})},getExecution:{request:n.object({executionId:n.string()}),response:n.object({execution:w.nullable()})},setExecution:{request:n.object({execution:w}),response:n.object({id:n.string()})},setExecutionStart:{request:n.object({execution:w,runContext:ne,initialState:v.optional()}),response:n.object({id:n.string(),executionId:n.string()})},updateExecution:{request:ze,response:n.object({success:n.boolean()})},cancelPausedExecution:{request:n.object({executionId:n.string().min(1),completedAt:n.number(),reason:n.string().optional()}),response:n.object({cancelled:n.boolean(),gates:n.array(E.extend({status:n.literal(`cancelled`)}))})},listExecutions:{request:m,response:n.object({executions:n.array(w)})},setFrame:{request:n.object({executionId:n.string().min(1),frame:T}),response:n.object({frameId:n.string()})},getFrame:{request:n.object({frameId:n.string().min(1)}),response:n.object({frame:T.nullable()})},listFrames:{request:n.object({executionId:n.string().min(1)}),response:n.object({frames:n.array(T)})},setGateInstance:{request:n.object({gate:E}),response:n.object({id:n.string()})},resolveWaitingGateInstance:{request:n.object({gate:E.extend({status:n.enum([`resumed`,`rejected`])})}),response:n.object({accepted:n.boolean()})},restorePausedGateResumeState:{request:n.object({execution:w.extend({status:n.literal(`paused`)}),gate:E.extend({status:n.literal(`waiting`)})}),response:n.object({executionId:n.string(),gateId:n.string()})},getGateInstance:{request:n.object({executionId:n.string().min(1),nodeId:n.string().min(1),frameId:n.string().min(1).optional()}),response:n.object({gate:E.nullable()})},listGateInstances:{request:g,response:n.object({gates:n.array(E)})},listPausedGateTimeouts:c({request:n.object({}),response:n.object({gates:n.array(E)})}),setSpan:{request:n.object({span:b}),response:n.object({id:n.string()})},listSpans:{request:n.object({executionId:n.string()}),response:n.object({spans:n.array(b)})},setExecutionLink:{request:n.object({link:p}),response:n.object({id:n.string()})},listExecutionLinks:{request:f,response:n.object({links:n.array(p)})},setRunContext:c({request:n.object({runContext:ne}),response:n.object({executionId:n.string()})}),getRunContext:c({request:n.object({executionId:n.string().min(1)}),response:n.object({runContext:ne.nullable()})}),initializeState:c({request:n.object({executionId:n.string().min(1),initialValue:v}),response:n.object({})}),getState:c({request:n.object({executionId:n.string().min(1)}),response:n.object({state:n.object({executionId:n.string().min(1),sequence:n.number().int().nonnegative(),value:v}).nullable()})}),patchState:c({request:n.object({executionId:n.string().min(1),expectedSequence:n.number().int().nonnegative(),nextValue:v}),response:n.object({executionId:n.string().min(1),sequence:n.number().int().positive(),patch:n.array(_),value:v})})},extensions:{drizzle:{workflowDefinitions:he,workflowExecutions:ge,workflowExecutionFrames:ve,workflowGateInstances:be,workflowStepSpans:Se,workflowExecutionLinks:we,workflowRunContexts:Ee,worklogSummaries:Oe,worklogFrameEntries:Ae,worklogArtifactWrites:Me,worklogGateEvents:Pe,workflowExecutionState:Ie,workflowExecutionStateEvents:Re}}}),F=Be.subjects;var Ve=e(t(),1);function He(e,t){let n=[];return I(n,``,e,t),n}function I(e,t,n,r){if(Array.isArray(n)&&Array.isArray(r)){We(e,t,n,r);return}if(Ge(n)&&Ge(r)){Ue(e,t,n,r);return}Je(n,r)||e.push({op:`replace`,path:t,value:r})}function Ue(e,t,n,r){let i=Array.from(new Set([...Object.keys(n),...Object.keys(r)])).sort();for(let a of i){let i=Ke(n,a),o=Ke(r,a),s=`${t}/${qe(a)}`;if(!i&&o){e.push({op:`add`,path:s,value:r[a]});continue}if(i&&!o){e.push({op:`remove`,path:s});continue}I(e,s,n[a],r[a])}}function We(e,t,n,r){let i=Math.min(n.length,r.length);for(let a=0;a<i;a++)I(e,`${t}/${String(a)}`,n[a],r[a]);for(let i=n.length-1;i>=r.length;i--)e.push({op:`remove`,path:`${t}/${String(i)}`});for(let i=n.length;i<r.length;i++)e.push({op:`add`,path:`${t}/${String(i)}`,value:r[i]})}function Ge(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ke(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function qe(e){return e.replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}function Je(e,t){return Object.is(e,t)}const Ye={stepTimeoutMs:300*1e3,stepCooldownMs:500,busAuth:{kind:`none`},platformDefaults:{cwd:process.cwd()},cancelTimeoutMs:1e4},Xe=new Ve.default({allErrors:!0,strict:!1}),L=new Map,Ze=new Map;function Qe(e){let t=e.$id;return typeof t==`string`?t:void 0}function $e(e,t,n){let r=Qe(t);return r===void 0?`workflow:${e}:${n}`:`schema-id:${r}`}function et(e,t){try{return JSON.stringify(tt(t))}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Workflow '${e}' state schema is invalid: ${n}`)}}function tt(e){if(Array.isArray(e))return e.map(tt);if(typeof e!=`object`||!e)return e;let t=e;return Object.fromEntries(Object.keys(t).sort().map(e=>[e,tt(t[e])]))}function nt(e,t,n){let r=Ze.get(t);if(r!==void 0&&r!==n)throw Error(`Workflow '${e}' state schema reuses JSON Schema $id '${t}' with different content`);return Xe.getSchema(t)}function rt(e){return e==null||e.length===0?`schema validation failed`:e.map(e=>`${e.instancePath.length>0?e.instancePath:`<root>`} ${e.message??`is invalid`}`).join(`; `)}function it(e,t){let n=et(e,t),r=$e(e,t,n),i=L.get(r);if(i!==void 0)return i;let a=Qe(t);if(a!==void 0){let t=nt(e,a,n);if(t!==void 0)return L.set(r,t),t}try{let e=Xe.compile(t);return L.set(r,e),a!==void 0&&Ze.set(a,n),e}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Workflow '${e}' state schema is invalid: ${n}`)}}function at(e,t,n){if(e.state===void 0)return;let r=it(e.id,e.state.schema);if(r(t))return;let i=n===`initial`?`initial state`:`next state`;throw Error(`Workflow '${e.id}' ${i} does not match workflow state schema: ${rt(r.errors)}`)}function ot(e){if(e.state===void 0)return;let t=e.state.initial===void 0?{}:e.state.initial;return at(e,t,`initial`),t}async function st(e,t,n){if(!(await e.request(F.updateExecution,{executionId:t.id,status:n.status,error:n.error,reason:n.reason,completedAt:n.completedAt})).success)throw Error(`Workflow execution not found: ${t.id}`)}async function ct(e,t,n,r){t.status=`completed`,t.completedAt=Date.now();try{await st(e.bus,t,{status:t.status,completedAt:t.completedAt}),await e.bus.emit(D.execution.completed,{executionId:n,workflowId:t.workflowId,totalDuration:t.completedAt-r,completedAt:t.completedAt})}finally{e.activeExecutions.delete(n)}}async function R(e,t,n,r,i){t.status=`failed`,t.error=r,t.completedAt=Date.now();try{await st(e.bus,t,{status:t.status,error:t.error,completedAt:t.completedAt});try{await i?.()}catch(e){console.error(`[WorkflowFinalizer] Failed to run failure pre-emit hook:`,e)}await e.bus.emit(D.execution.failed,{executionId:n,workflowId:t.workflowId,error:r,completedAt:t.completedAt})}finally{e.activeExecutions.delete(n)}}function lt(e,t,n){let{activeRunnerSteps:r,bus:i}=e,a=`${t}:`;for(let[e,o]of r){if(!e.startsWith(a))continue;let r=e.slice(a.length);o.controller.abort(),i.emit(oe(o.cancelSubject),{executionId:t,stepId:r,reason:n}).catch(t=>{console.error(`[WorkflowFinalizer] Failed to emit cancellation for ${e}:`,t)})}}async function ut(e,t,n){let r=await e.bus.request(F.getExecution,{executionId:t});if(r.execution==null)return!1;let i=r.execution.workflowId;if(i===void 0)throw Error(`Paused execution ${t} is missing stored workflowId`);let a=Date.now(),{cancelled:o,gates:s}=await e.bus.request(F.cancelPausedExecution,{executionId:t,completedAt:a,reason:n});if(!o)return!1;for(let n of s)await e.bus.emit(D.gate.resolved,{executionId:t,stepId:n.nodeId,stepType:`gate`,frameId:n.frameId,source:`cancelled`}).catch(e=>{console.error(`[WorkflowFinalizer] Failed to emit cancelled gate resolution for ${n.frameId}:`,e)});return await e.bus.emit(D.execution.cancelled,{executionId:t,workflowId:i,reason:n,completedAt:a}),e.activeExecutions.delete(t),!0}async function dt(e,t,n){let r=e.activeExecutions.get(t);if(!r||r.execution.status!==`running`)return ut(e,t,n);let{execution:i}=r;i.status=`cancelled`,i.reason=n,i.completedAt=Date.now();try{for(let[n,r]of e.shellAbortControllers)n.startsWith(`${t}:`)&&(r.abort(),e.shellAbortControllers.delete(n));lt(e,t,n),await st(e.bus,i,{status:i.status,reason:n,completedAt:i.completedAt}),await e.bus.emit(D.execution.cancelled,{executionId:t,workflowId:i.workflowId,reason:n,completedAt:i.completedAt})}finally{e.activeExecutions.delete(t)}return!0}const ft=[`darwin`,`linux`,`win32`];function pt(e){return ft.find(t=>t===e)??`linux`}function mt(e,t){return t}function ht(e,t){return{...t}}function gt(e){return e.reason instanceof Error?e.reason.message:typeof e.reason==`string`&&e.reason.length>0?e.reason:S}async function _t(e,t,n){let r=e.activeExecutions.get(t);if(!r||r.execution.status!==`running`)return;let i=e.buildFinalizerDeps(),{execution:a}=await i.bus.request(F.getExecution,{executionId:t});a?.status===`running`&&(r.execution=a,await dt(i,t,gt(n))||console.error(`[WorkflowExecutor] Failed to persist runner cancellation for ${t}: execution not active`))}async function vt(e,t){if(t.pausedAtGateId===void 0||t.pausedAtFrameId===void 0)throw Error(`Paused runner result for '${t.executionId}' is missing gate identity`);let{bus:n}=e.buildFinalizerDeps(),{execution:r}=await n.request(F.getExecution,{executionId:t.executionId});if(r?.status!==`running`){let n=e.activeExecutions.get(t.executionId);n!==void 0&&r?.status===`paused`&&(n.execution.status=`paused`,e.activeExecutions.delete(t.executionId));return}let i={...r,status:`paused`};await n.request(F.setExecution,{execution:i});let a=e.activeExecutions.get(t.executionId);a!==void 0&&(a.execution=i),await n.emit(D.execution.paused,{executionId:t.executionId,workflowId:t.workflowId,pausedAtGateId:t.pausedAtGateId,pausedAtFrameId:t.pausedAtFrameId}),e.activeExecutions.delete(t.executionId)}async function yt(e,t){let n=e.activeExecutions.get(t.executionId);if(!n||n.execution.status!==`running`)return;let r=e.buildFinalizerDeps(),{execution:i}=await r.bus.request(F.getExecution,{executionId:t.executionId});if(i?.status===`running`){if(n.execution=i,t.status===`completed`){await ct(r,n.execution,t.executionId,n.execution.startedAt);return}if(t.status===`cancelled`){await dt(r,t.executionId,t.reason??S);return}if(t.status===`failed`){await R(r,n.execution,t.executionId,t.error);return}}}function bt(e,t){let{executionId:n,workflowId:r,filePath:i,coordinatorSessionId:a,sanitizedTriggerPayload:o,scope:s,workspaceRoot:c}=t,{workflowRunner:l,workflowAbortControllers:u,executionTasks:d,activeExecutions:f,config:p}=e,m=new AbortController;u.set(n,m);let h={source:{kind:`path`,path:i},executionId:n,workflowId:r,triggerPayload:o,inputs:{},config:{},scope:s,busUrl:p.busUrl,busAuth:p.busAuth,context:e.resolveWorkflowContext(c),env:p.platformDefaults.env??{},coordinatorSessionId:a,cancelSubject:`workflow.${n}.cancel`,suspensionStrategy:`wait-in-process`};return Promise.resolve().then(()=>l.run(h,m.signal)).then(async t=>{if(t.status===`paused`){await vt(e,t);return}await yt(e,t)}).catch(async t=>{if(m.signal.aborted){await _t(e,n,m.signal).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist file runner cancellation for ${n}:`,e)});return}let r=f.get(n);if(r){let i=t instanceof Error?t.message:String(t);await R(e.buildFinalizerDeps(),r.execution,n,i).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist file runner boot failure for ${n}:`,e)})}}).finally(()=>{u.delete(n),d.delete(n),f.delete(n)})}function xt(e,t){let{config:n}=e;return{source:t.source,...t.source.kind===`definition`?{definition:t.workflow}:{},executionId:t.executionId,workflowId:t.workflowId,triggerPayload:t.sanitizedTriggerPayload,inputs:t.boundInputs,config:t.boundConfig,...t.artifactRef===void 0?{}:{artifactRef:t.artifactRef},...t.executionHints===void 0?{}:{executionHints:t.executionHints},scope:t.scope,busUrl:n.busUrl,busAuth:n.busAuth,context:e.resolveWorkflowContext(t.workspaceRoot),env:n.platformDefaults.env??{},coordinatorSessionId:t.coordinatorSessionId,cancelSubject:`workflow.${t.executionId}.cancel`,suspensionStrategy:t.suspensionStrategy??`wait-in-process`}}function St(e,t){let{executionId:n}=t,{workflowRunner:r,workflowAbortControllers:i,executionTasks:a,activeExecutions:o}=e,s=new AbortController;i.set(n,s);let c=xt(e,t),l=t.dispatchMetadata===void 0?void 0:{dispatchMetadata:t.dispatchMetadata};return Promise.resolve().then(()=>r.run(c,s.signal,void 0,l)).then(async t=>{if(t.status===`paused`){await vt(e,t);return}await yt(e,t)}).catch(async t=>{if(s.signal.aborted){await _t(e,n,s.signal).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist runner cancellation for ${n}:`,e)});return}let r=o.get(n);if(r){let i=t instanceof Error?t.message:String(t);await R(e.buildFinalizerDeps(),r.execution,n,i).catch(e=>{console.error(`[WorkflowExecutor] Failed to persist runner boot failure for ${n}:`,e)})}}).finally(()=>{i.delete(n),a.delete(n),o.delete(n)})}function Ct(e,t,n={}){let r=wt(e,n);return{executionId:e.executionId,workflowId:e.workflowId,workflow:t,source:e.source,coordinatorSessionId:e.coordinatorSessionId,sanitizedTriggerPayload:e.triggerPayload,boundInputs:e.inputs,boundConfig:e.config??{},...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},...e.executionHints===void 0?{}:{executionHints:e.executionHints},scope:e.scope,workspaceRoot:e.context.repoPath,suspensionStrategy:e.suspensionStrategy,...r===void 0?{}:{dispatchMetadata:r}}}function wt(e,t){return t.resume===!0?{...e.dispatchMetadata,resume:!0}:e.dispatchMetadata}function Tt(e){return`${e}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function Et(e,t,n){let r=e?N(e,n):t,c=o(t),l=o(i(r)?r:o(t,r)),u,d;try{u=s(c),d=s(l)}catch{return null}let f=a(process.platform===`win32`?u.toLowerCase():u,process.platform===`win32`?d.toLowerCase():d);return f===``||!f.startsWith(`..`)&&!i(f)?d:null}function Dt(e){return e instanceof Error&&(`code`in e||`killed`in e)}function Ot(e){let t=e[0];return t===void 0||t.trim()===``?null:t}function kt(e){let{command:t,cwd:n,env:i,timeoutMs:a,signal:o}=e,s=Ot(t);if(s===null)return Promise.reject(Error(`Shell step command is empty`));let c=t.slice(1);return new Promise((e,t)=>{let l=null,u=!1,d=r(s,c,{cwd:n,env:{...process.env,...i},timeout:0,maxBuffer:10*1024*1024,shell:!1},(n,r,i)=>{n?t(Object.assign(n,{stdout:r,stderr:i,aborted:u})):e({stdout:r,stderr:i})}),f=()=>{d.exitCode===null&&(d.kill(`SIGTERM`),l=setTimeout(()=>{d.exitCode===null&&d.kill(`SIGKILL`)},5e3))},p=setTimeout(()=>{f()},a);if(d.on(`close`,()=>{clearTimeout(p),l!==null&&clearTimeout(l)}),o){let e=()=>{u=!0,f()};o.aborted?e():(o.addEventListener(`abort`,e,{once:!0}),d.on(`close`,()=>o.removeEventListener(`abort`,e)))}})}async function At(e){let{step:t,workspaceRoot:n,expressionContext:r,signal:i}=e,a=Et(t.cwd,n,r);if(a===null)return{status:`failed`,error:`Shell step cwd '${t.cwd}' is outside workspace root '${n}'`};let o=t.command.map(e=>N(e,r));if(Ot(o)===null)return{status:`failed`,error:`Shell step command is empty`};let s=Object.fromEntries(Object.entries(t.env??{}).map(([e,t])=>[e,N(t,r)])),c=t.timeoutMs??3e5;try{let{stdout:e}=await kt({command:o,cwd:a,env:s,timeoutMs:c,signal:i});return{status:`completed`,stdout:e}}catch(e){if(!Dt(e))return{status:`failed`,error:String(e)};let t=e.aborted===!0,n=!t&&(e.killed===!0||e.signal!=null);return{status:`failed`,error:t?`Command cancelled`:n?`Command timed out after ${c}ms`:e.stderr?.trim()||e.stdout?.trim()||e.message}}}const jt=/(?:^|[_-])(authorization|token|cookie|password|set[_-]?cookie|api[_-]?key|secret|credential|private[_-]?key|api[_-]?secret)(?:$|[_-])/i;function Mt(e){if(!e)return;let t={remainingBytes:65536},n={},r=Object.entries(e).slice(0,100);for(let[e,i]of r){if(t.remainingBytes<=0)break;let r=Nt(e,i,0,t);r!==void 0&&(n[e]=r)}return Object.keys(n).length>0?n:void 0}function Nt(e,t,n,r){if(!(r.remainingBytes<=0||n>6)&&(r.remainingBytes-=e.length,!(r.remainingBytes<=0))){if(jt.test(e))return r.remainingBytes-=10,`[REDACTED]`;if(t===null)return r.remainingBytes-=4,null;if(typeof t==`string`){let e=t.slice(0,2e3);return r.remainingBytes-=e.length,e}if(typeof t==`number`||typeof t==`boolean`)return r.remainingBytes-=String(t).length,t;if(Array.isArray(t)){let i=[];for(let a of t.slice(0,100)){if(r.remainingBytes<=0)break;let t=Nt(e,a,n+1,r);t!==void 0&&i.push(t)}return i}if(typeof t==`object`){let e={},i=Object.entries(t).slice(0,100);for(let[t,a]of i){if(r.remainingBytes<=0)break;let i=Nt(t,a,n+1,r);i!==void 0&&(e[t]=i)}return e}}}function Pt(e,t,n){let r=t?.requirements?.capabilities??[];if(r.length!==0)return{run:(t,i)=>e.request(C.dispatch,{config:t,requirements:{customCapabilities:r},...n===void 0?{}:{metadata:n}},{signal:i})}}function Ft(e,t){let n=Pt(e.bus,t.executionHints,t.dispatchMetadata);return n===void 0?e.workflowRunner===void 0?e.runExecution(t.executionId).finally(()=>{e.executionTasks.delete(t.executionId)}):St(e.buildRunnerTaskDeps(e.workflowRunner),t):St(e.buildRunnerTaskDeps(n),t)}async function It(e,t,n,r){let i=ot(r);await e.request(F.setExecutionStart,{execution:t,runContext:n,initialState:i})}async function Lt(e,t){try{await e.emit(D.execution.started,t)}catch(e){console.error(`[WorkflowExecutor] execution.started listener failed:`,e)}}async function Rt(e,t){await e.request(y.close,{sessionId:t}).catch(e=>{console.error(`[WorkflowExecutor] Failed to close coordinator session "${t}" after launch failure:`,e)})}function zt(e,t,n,r,i,a,o,s,c){let l={id:t,workflowId:n.id,coordinatorSessionId:r,status:`running`,inputs:i,config:a,startedAt:Date.now(),triggerPayload:o,...c.artifactRef===void 0?{}:{artifactRef:c.artifactRef},scope:s};return e.set(t,{execution:l,workflow:n,runContext:c,runtimeHandlers:new Map}),l}async function Bt(e,t,n,r){await e.request(F.setExecutionStart,{execution:t,runContext:n,initialState:r})}function Vt(e,t){let n=e?.source;if(n===void 0)return;let r=ae.parse(n);return r.kind===`path`&&!i(r.path)?{...r,path:o(t,r.path)}:r}function Ht(e,t,n){return Vt(t,n)??{kind:`definition`,workflowId:e}}async function Ut(e,t,n,r){return e.set(t,n),await r,t}async function Wt(e,t){let{workflow:n}=await e.request(F.get,{id:t});if(!n)throw Error(`Workflow not found: ${t}`);return n}function Gt(e,t){if(e===void 0&&t===void 0)return;let n=[...new Set([...e?.capabilities??[],...t?.capabilities??[]])];return{...e,...t,...n.length>0&&{capabilities:n}}}function Kt(e,t){if(e===void 0&&t===void 0)return;let n=Gt(e?.requirements,t?.requirements),r=e?.providers!==void 0||t?.providers!==void 0?{...e?.providers,...t?.providers}:void 0;return{...e,...t,...n!==void 0&&{requirements:n},...r!==void 0&&{providers:r}}}async function qt(e,t,n,r){let{sessionId:i}=await e.request(y.create,{parentSessionId:t,branchKind:`coordinator`,title:`Workflow: ${n}`,targetWorkingDirectory:r});return i}async function Jt(e,t,n={}){let{bus:r,activeExecutions:i,executionTasks:a}=e,{parentSessionId:o,triggerPayload:s,artifactRef:c,executionHints:l,scopeOverride:u}=n,d=n.input===void 0?{}:n.input,f=n.config??{},p=await Wt(r,t),m=Tt(`wfx`),h=Mt(s),g=mt(p,d),_=ht(p,f),v=u??p.scope,y=Kt(p.executionHints,l),b=await e.resolveExecutionWorkspaceRoot(o),x=Ht(t,y,b),S=await qt(r,o,p.name,b),C=!1;try{let n=e.buildRunContext({executionId:m,workflowId:t,coordinatorSessionId:S,source:x,...x.kind===`definition`?{definitionSnapshot:p}:{},inputs:g,config:_,scope:v,triggerPayload:h??{},...c===void 0?{}:{artifactRef:c},...y===void 0?{}:{executionHints:y},workspaceRoot:b}),o=zt(i,m,p,S,g,_,h,v,n);await Bt(r,o,n,x.kind===`definition`?ot(p):void 0);let s=o.startedAt,l=Lt(r,{executionId:m,workflowId:t,coordinatorSessionId:S,startedAt:s,...c===void 0?{}:{artifactRef:c}}),u=Ft(e,{executionId:m,workflowId:t,workflow:p,source:x,coordinatorSessionId:S,sanitizedTriggerPayload:h??{},boundInputs:g,boundConfig:_,scope:v,...c===void 0?{}:{artifactRef:c},...y===void 0?{}:{executionHints:y},workspaceRoot:b,suspensionStrategy:n.suspensionStrategy});return C=!0,Ut(a,m,u,l)}catch(e){throw C||(i.delete(m),a.delete(m),await Rt(r,S)),e}}function Yt(e,t,n,r,i){e.set(t.id,{execution:t,workflow:{id:t.workflowId,name:n,scope:r,root:{id:`${t.workflowId}-root`,type:`sequence`,nodes:[]}},runContext:i,runtimeHandlers:new Map})}async function Xt(e,t,n={}){let{bus:r,config:i,activeExecutions:a,executionTasks:o}=e,{triggerPayload:s,scopeOverride:c}=n,l=Tt(`wfx`),u=Mt(s),d=c??{type:`global`},f=i.platformDefaults.cwd,{sessionId:p}=await r.request(y.create,{branchKind:`coordinator`,title:`Workflow: ${t}`,targetWorkingDirectory:f}),m=l,h={id:l,workflowId:m,coordinatorSessionId:p,status:`running`,inputs:{},config:{},startedAt:Date.now(),triggerPayload:u,scope:d},g=!1;try{let{workflowRunner:n}=e;if(n===void 0)throw Error(`[WorkflowExecutor] startFileExecution called without a workflow runner`);let i=e.buildRunContext({executionId:l,workflowId:m,coordinatorSessionId:p,source:{kind:`path`,path:t},inputs:{},config:{},scope:d,triggerPayload:u??{},workspaceRoot:f});await Bt(r,h,i,void 0),Yt(a,h,t,d,i);let s=Lt(r,{executionId:l,workflowId:m,coordinatorSessionId:p,startedAt:h.startedAt}),c=bt(e.buildRunnerTaskDeps(n),{executionId:l,workflowId:m,filePath:t,coordinatorSessionId:p,sanitizedTriggerPayload:u??{},scope:d,workspaceRoot:f});return g=!0,Ut(o,l,c,s)}catch(e){throw g||(a.delete(l),o.delete(l),await Rt(r,p)),e}}function Zt(e){let t={};for(let[n,r]of Object.entries(e))r.status===`completed`?t[n]={status:`completed`,output:r.output}:r.status===`skipped`&&(t[n]={status:`skipped`});return t}function z(e){let t={...e,input:e.inputs,steps:e.frames};return{...t,ctx:t}}function Qt(){return{context:{repoPath:process.cwd(),makaioHome:process.env.MAKAIO_HOME??`${fe.homedir()}/.makaio`,os:process.platform===`win32`?`win32`:process.platform===`darwin`?`darwin`:`linux`,arch:process.arch},env:{}}}function $t(e){return{...e,path:[...e.path]}}function en(e){if(e===`station`||e===`delegate-agent`||e===`delegate-role`||e===`gate`)return e}function tn(e,t){let n=en(t.nodeType);if(n===void 0||t.status!==`running`&&t.status!==`completed`&&t.status!==`failed`&&t.status!==`skipped`)return;let r=t.startedAt!==void 0&&t.completedAt!==void 0?Math.max(0,t.completedAt-t.startedAt):void 0;return{executionId:e,frameId:t.frameId,stepId:t.nodeId,stepType:n,status:t.status,...t.startedAt===void 0?{}:{startedAt:t.startedAt},...t.completedAt===void 0?{}:{completedAt:t.completedAt},...r===void 0?{}:{durationMs:r},...t.output===void 0?{}:{output:JSON.stringify(t.output)}}}var nn=class e{executionId;workflowId;definition;execution;runtimeHandlers;bus;signal;frameRegistry;framePersistenceTasks=new Map;artifactBinding;constructor(e,t,n,r,i,a,o,s,c,l=Qt(),u={}){this.executionId=e,this.workflowId=t,this.definition=n,this.execution=r,this.runtimeHandlers=i,this.bus=a,this.signal=o,this.frameRegistry=s??new Map,this.artifactBinding=c,this.platformContext=l.context,this.env=l.env,this.suspensionStrategy=u.suspensionStrategy??`wait-in-process`,this.resumeFrames=u.resumeFrames}platformContext;env;suspensionStrategy;resumeFrames;withSignal(t){return new e(this.executionId,this.workflowId,this.definition,this.execution,this.runtimeHandlers,this.bus,t,this.frameRegistry,this.artifactBinding,{context:this.platformContext,env:this.env},{suspensionStrategy:this.suspensionStrategy,resumeFrames:this.resumeFrames})}buildExpressionContext(){return{inputs:this.execution.inputs,config:this.execution.config??{},trigger:this.execution.triggerPayload??{},frames:{},previousSteps:{}}}createFrame(e){let t=Tt(`frm`),n=[...e.path,t],r={frameId:t,nodeId:e.nodeId,nodeType:e.nodeType,path:n,parentFrameId:e.parentFrameId,status:`pending`,attempt:0,iteration:e.iteration,branchKey:e.branchKey};return this.frameRegistry.set(t,r),this.persistFrame(r).catch(()=>void 0),r}async persistFrame(e,t={}){let n=t.requireFrameStorage===!0||this.suspensionStrategy!==`wait-in-process`,r=$t(e),i=tn(this.executionId,r),a=(this.framePersistenceTasks.get(e.frameId)??Promise.resolve()).catch(()=>void 0).then(async()=>{n?await this.bus.request(F.setFrame,{executionId:this.executionId,frame:r}):await this.bus.requestOptional(F.setFrame,{executionId:this.executionId,frame:r}),i!==void 0&&await this.bus.requestOptional(F.setSpan,{span:i})}).catch(t=>{if(n)throw t;console.warn(`[RuntimeContext] Failed to persist frame ${e.frameId}:`,t)});this.framePersistenceTasks.set(e.frameId,a);try{await a}finally{this.framePersistenceTasks.get(e.frameId)===a&&this.framePersistenceTasks.delete(e.frameId)}}async updateFrame(e,t,n={}){let r=this.frameRegistry.get(e);if(!r)throw Error(`Frame not found: ${e}`);Object.assign(r,t),await this.persistFrame(r,n)}getFrame(e){return this.frameRegistry.get(e)}getFramesByNodeId(e){let t=[];for(let n of this.frameRegistry.values())n.nodeId===e&&t.push(n);return t.sort((e,t)=>(e.startedAt??0)-(t.startedAt??0))}async emitFrameStarted(e){try{await this.bus.emit(D.frame.started,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,nodeType:e.nodeType,path:e.path,parentFrameId:e.parentFrameId,startedAt:e.startedAt})}catch(t){console.error(`[RuntimeContext] frame.started observer failed for ${e.frameId}:`,t)}}async emitFrameCompleted(e,t){try{await this.bus.emit(D.frame.completed,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,output:e.output,duration:t,completedAt:e.completedAt})}catch(t){console.error(`[RuntimeContext] frame.completed observer failed for ${e.frameId}:`,t)}}async emitFrameFailed(e,t,n){try{await this.bus.emit(D.frame.failed,{executionId:this.executionId,frameId:e.frameId,nodeId:e.nodeId,error:t,duration:n,completedAt:e.completedAt})}catch(t){console.error(`[RuntimeContext] frame.failed observer failed for ${e.frameId}:`,t)}}};function rn(e){return{kind:`workflow-execution`,id:e,displayName:`Workflow Engine`}}function an(e,t,n){return{inputs:n.inputs,config:n.config??{},trigger:n.triggerPayload,scope:n.scope,context:n.context,env:n.env,execution:{id:t.id,workflowId:t.workflowId,scope:t.scope},workflow:{id:e.id,name:e.name,scope:e.scope}}}function on(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function sn(e){if(e!=null){if(on(e)&&typeof e.kind==`string`&&typeof e.id==`string`)return{kind:e.kind,id:e.id};throw Error(`Artifact resolve expression must return an object with string kind and id fields.`)}}function cn(e){if(e!==void 0){if(on(e))return e;throw Error(`Artifact create expression must return an object.`)}}async function ln(e){let{bindingOptions:t,binding:n,existingArtifactRef:r,executionId:i,scope:a,initialData:o,bus:s}=e,c=null;if(r!==void 0){let e=await s.request(d.query,{kind:r.kind,ids:[r.id],currentOnly:!0});if(e.artifacts.length>0)c=e.artifacts[0];else return}else c=(await s.request(d.create,{kind:n.kind,schemaVersion:n.schemaVersion,scope:a??n.scope,data:o??{},relations:[],actor:rn(i)})).artifact;return{current:c,schemaVersion:n.schemaVersion,statusPath:t.statusPath,zodSchema:t.schema}}async function un(e){let{definition:t,execution:n,runContext:r,zodSchema:i,bus:a}=e,o=t.artifact;if(o===void 0)return;let s=an(t,n,r),c=r.artifactRef??(o.resolve===void 0?void 0:sn(M(o.resolve,s))),l=c===void 0&&o.create!==void 0?cn(M(o.create,s)):void 0,u=await ln({bindingOptions:{kind:o.kind,schemaVersion:o.schemaVersion,scope:o.scope,...o.resolve===void 0?{}:{resolve:o.resolve},...o.create===void 0?{}:{create:o.create},...o.statusPath===void 0?{}:{statusPath:o.statusPath},...i===void 0?{}:{schema:i}},binding:o,existingArtifactRef:c,executionId:n.id,scope:o.scope,initialData:l,bus:a});if(u===void 0)throw Error(`Workflow artifact binding could not be resolved for the configured artifact reference.`);return u}const dn=new WeakMap;function fn(e,t){let n=(dn.get(e)??Promise.resolve()).catch(()=>void 0).then(t);return dn.set(e,n.then(()=>void 0,()=>void 0)),n}function pn(e,t){switch(t.operation){case`set`:return t.data;case`merge`:return{...e,...t.data};case`append`:{let n={...e};for(let[r,i]of Object.entries(t.data)){let t=e[r];Array.isArray(t)&&Array.isArray(i)?n[r]=[...t,...i]:n[r]=i}return n}}}function mn(e,t,n){let[r,...i]=t;if(i.length===0)return{...e,[r]:n};let a=e[r]!==null&&typeof e[r]==`object`&&!Array.isArray(e[r])?e[r]:{};return{...e,[r]:mn(a,i,n)}}function hn(e,t,n){return mn(e,t.startsWith(`/`)?t.slice(1).split(`/`):t.split(`.`),n)}function gn(e,t,n){if(n===`set`||n===`functional`)return[];let r=[];for(let n of Object.keys(t))e[n]!==t[n]&&r.push(`/${n}`);return r}async function _n(e,t){if(typeof t==`function`)return{nextData:await t(Object.freeze({...e})),operationLabel:`functional`,changedPaths:[]};let n=pn(e,t),r=gn(e,n,t.operation);return{nextData:n,operationLabel:t.operation,changedPaths:r}}function vn(e){let{executionId:t,frameId:n,bindingState:r,bus:i}=e,a=Object.freeze({...r.current.data}),o=async e=>fn(r,async()=>{let a=r.current,{nextData:o,operationLabel:s,changedPaths:c}=await _n(a.data,e);if(r.zodSchema!==void 0){let e=r.zodSchema.safeParse(o);if(!e.success)throw Error(`Artifact data validation failed: ${e.error.message}`)}let l=await i.request(d.revise,{previous:{refClass:`artifact`,kind:a.kind,id:a.id,revision:a.revision},revision:{kind:a.kind,schemaVersion:r.schemaVersion,scope:a.scope,data:o,relations:a.relations,actor:rn(t)}});r.current=l.artifact;let u=l.artifact.revision;return i.emit(ie.artifact.updated,{executionId:t,frameId:n,artifactRef:{kind:l.artifact.kind,id:l.artifact.id},paths:c,operation:s,revision:u}).catch(e=>{console.error(`[ArtifactContext] Failed to emit artifact.updated event:`,e)}),u});return{data:a,updateArtifact:o,updateStatus:async e=>{if(r.statusPath===void 0)throw Error(`updateStatus() called but no statusPath is configured on the artifact binding. Set statusPath in the .artifact() builder call to use updateStatus().`);let t=r.statusPath;return o(n=>hn(n,t,e))}}}function yn(e,t){return{async get(){return(await t.request(D.state.get,{executionId:e})).value},async update(n){let r=await t.request(D.state.get,{executionId:e}),i=structuredClone(r.value),a=await n(i),o=a===void 0?i:a,s=He(r.value,o);return(await t.request(D.state.patch,{executionId:e,expectedSequence:r.sequence,patch:s,nextValue:o})).value}}}async function bn(e,t,n){if(t.signal.aborted)return{status:`cancelled`};let r=await t.bus.requestOptional(D.resolveRole,{roleId:e.roleId});if(!r.handled)return{status:`failed`,error:e.unresolvedRoleError};let i=N(e.prompt,z(n)),a=e.completion===void 0?r.data:{...r.data,completion:e.completion};return B({...e,task:i,resolvedConfig:a},t)}async function B(e,t){if(t.signal.aborted)return{status:`cancelled`};let n=await t.bus.requestOptional(x.spawn,{parentSessionId:t.execution.coordinatorSessionId??t.executionId,depth:1,config:Tn(e.task,e.resolvedConfig,e.outputSchema)});if(!n.handled)return{status:`failed`,error:e.unavailableRuntimeError};let r=await xn(e,t,n.data.subagentId,{attempts:5}),i=await En(e,t,n.data.subagentId);return i===`aborted`?{status:`cancelled`}:(r||await xn(e,t,n.data.subagentId,{attempts:1}),i.handled?t.signal.aborted||i.data.status===`cancelled`?{status:`cancelled`}:i.data.status===`completed`?{status:`completed`,output:i.data.result??null}:{status:`failed`,error:`${e.nodeLabel} '${e.nodeId}' subagent ${i.data.status}: ${i.data.error??`no result`}`}:{status:`failed`,error:e.unavailableAwaitError})}async function xn(e,t,n,r){if(e.frameId===void 0)return!0;try{let i=await Sn(t,n,r.attempts);return i===void 0?!1:(await t.bus.emit(D.frame.sessionLinked,{executionId:t.executionId,frameId:e.frameId,sessionId:i}),!0)}catch(t){return console.warn(`[workflow-engine] Failed to emit frame.sessionLinked for frame '${e.frameId}' and subagent '${n}'`,t),!1}}async function Sn(e,t,n){for(let r=0;r<n;r+=1){if(e.signal?.aborted)return;let i=await Cn(e,t);if(i===void 0||!i.handled)return;if(i.data.childSessionId!==void 0)return i.data.childSessionId;if(r<n-1&&!await wn(e.signal,20))return}}async function Cn(e,t){try{return await e.bus.requestOptional(x.getStatus,{subagentId:t},{timeout:25,signal:e.signal})}catch{return}}function wn(e,t){return e.aborted?Promise.resolve(!1):new Promise(n=>{let r,i=t=>{r!==void 0&&(clearTimeout(r),r=void 0),e.removeEventListener(`abort`,a),n(t)},a=()=>i(!1);r=setTimeout(()=>i(!0),t),e.addEventListener(`abort`,a,{once:!0}),e.aborted&&i(!1)})}function Tn(e,t,n){return{task:e,adapterName:t.adapterName,...t.model===void 0?{}:{model:t.model},...t.reasoningEffort===void 0?{}:{reasoningEffort:t.reasoningEffort},...t.harnessId===void 0?{}:{harnessId:t.harnessId},...t.systemPrompt===void 0?{}:{systemPrompt:t.systemPrompt},...t.contextMode===void 0?{}:{contextMode:t.contextMode},...t.providerContext===void 0?{}:{providerContext:t.providerContext},...t.completion===void 0?{}:{completion:t.completion},...n===void 0?{}:{responseSchema:n}}}async function En(e,t,n){if(t.signal.aborted)return await V(e,t,n),`aborted`;let r=t.bus.requestOptional(x.await,{subagentId:n,...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs}},{timeout:0});if(t.signal.aborted)return await V(e,t,n),`aborted`;let i,a=new Promise(e=>{i=()=>e(`aborted`),t.signal.addEventListener(`abort`,i,{once:!0})}),o=await Promise.race([r,a]);return i!==void 0&&t.signal.removeEventListener(`abort`,i),o===`aborted`&&await V(e,t,n),o}async function V(e,t,n){try{await t.bus.requestOptional(x.kill,{subagentId:n,reason:`Workflow execution '${t.executionId}' cancelled ${e.cancellationLabel} '${e.nodeId}'`})}catch(t){console.warn(`[workflow-engine] Best-effort subagent kill failed for '${n}' (${e.cancellationLabel} '${e.nodeId}')`,t)}}async function Dn(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=Zt(n.frames),a=t.runtimeHandlers.get(e.id);if(a===void 0)return On(e,t,n,r);let o=t.artifactBinding!==void 0&&r!==void 0?vn({executionId:t.executionId,frameId:r,bindingState:t.artifactBinding,bus:t.bus}):void 0,s=t.definition.state===void 0?void 0:yn(t.executionId,t.bus);async function c(n){if(r===void 0){console.warn(`[station-node] updateProgress called without frameId for node '${e.id}'; skipping emit`);return}let i=re[`execution.progress`].parse({executionId:t.executionId,workflowId:t.workflowId,frameId:r,nodeId:e.id,progress:n,emittedAt:Date.now()});try{await t.bus.emit(D.execution.progress,i)}catch(t){console.error(`[station-node] execution.progress observer failed for ${e.id}:`,t)}}let l;try{l=await a({...t.platformContext,env:t.env,executionId:t.executionId,workflowId:t.workflowId,inputs:t.execution.inputs,config:t.execution.config??{},trigger:t.execution.triggerPayload??{},previousSteps:i,...n.item!==void 0&&{item:n.item},...n.index!==void 0&&{index:n.index},...n.previous!==void 0&&{previous:n.previous},signal:t.signal,...o!==void 0&&{artifact:o},...s!==void 0&&{state:s},bus:t.bus,updateProgress:c})}catch(e){return{status:`failed`,error:e instanceof Error?e.message:String(e)}}return{status:`completed`,output:l}}async function On(e,t,n,r){if(e.role===void 0)return{status:`failed`,error:`No handler registered for station node '${e.id}'`};let i=e.outputSchema===void 0?void 0:{schema:e.outputSchema};return bn({nodeId:e.id,nodeLabel:`Station node`,roleId:e.role,prompt:e.prompt,...i===void 0?{}:{outputSchema:i},...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs},...e.completion===void 0?{}:{completion:e.completion},unresolvedRoleError:`No runtime handler registered for station node '${e.id}', and role '${e.role}' could not be resolved`,unavailableRuntimeError:`Subagent runtime is not available for station node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await station node '${e.id}'`,cancellationLabel:`station`,...r===void 0?{}:{frameId:r}},t,n)}async function kn(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=await t.bus.requestOptional(D.resolveAgent,{agentId:e.agentId});if(!i.handled)return{status:`failed`,error:`Agent '${e.agentId}' could not be resolved for delegate-agent node '${e.id}'`};if(t.signal.aborted)return{status:`cancelled`};let a=Hn(e,n);if(a.status===`failed`)return a;let o=e.outputSchema===void 0?void 0:{schema:e.outputSchema};return B({nodeId:e.id,nodeLabel:`Delegate-agent node`,task:a.task,resolvedConfig:i.data,...o===void 0?{}:{outputSchema:o},unavailableRuntimeError:`Subagent runtime is not available for delegate-agent node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await delegate-agent node '${e.id}'`,cancellationLabel:`delegate-agent`,...r===void 0?{}:{frameId:r}},t)}async function An(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=await t.bus.requestOptional(D.resolveRole,{roleId:e.role});if(!i.handled)return{status:`failed`,error:`Role '${e.role}' could not be resolved for delegate-role node '${e.id}'`};let a=e.outputSchema===void 0?void 0:{schema:e.outputSchema},o=N(e.prompt,z(n)),s=Rn(e,i.data),c={node:e,task:o,resolvedRole:s,...a===void 0?{}:{outputSchema:a},...r===void 0?{}:{frameId:r}};return zn(s)?jn(c,t):B({nodeId:e.id,nodeLabel:`Delegate-role node`,task:o,resolvedConfig:s,...a===void 0?{}:{outputSchema:a},...e.timeoutMs===void 0?{}:{timeoutMs:e.timeoutMs},unavailableRuntimeError:`Subagent runtime is not available for delegate-role node '${e.id}'`,unavailableAwaitError:`Subagent runtime cannot await delegate-role node '${e.id}'`,cancellationLabel:`delegate-role`,...r===void 0?{}:{frameId:r}},t)}async function jn(e,t){let{node:n}=e,r=n.timeoutMs??3e5,i,a=Vn(t.signal);try{let n=await Mn(e,t);return`status`in n?n:(i=n.sessionId,t.signal.aborted?{status:`cancelled`}:await Nn(e,t,{abortLink:a,childSessionId:i,timeoutMs:r}))}catch(e){if(t.signal.aborted)return{status:`cancelled`};let r=e instanceof Error?e.message:String(e);return{status:`failed`,error:`Delegate-role node '${n.id}' session turn failed: ${r}`}}finally{a.controller.abort(),a.cleanup(),i!==void 0&&await H(t,n.id,i)}}async function Mn(e,t){let n=await t.bus.requestOptional(y.create,{sessionId:In(t,e),parentSessionId:t.execution.coordinatorSessionId??t.executionId,branchKind:`subagent`,title:`Workflow delegate-role '${e.node.id}'`});if(!n.handled)return{status:`failed`,error:`Session runtime is not available for delegate-role node '${e.node.id}'`};let r=n.data.sessionId;return await Bn(e,t,r),(await t.bus.requestOptional(y.agent.attach,{sessionId:r,agent:Ln(e.resolvedRole),role:`lead`},{signal:t.signal}).catch(async n=>{throw await H(t,e.node.id,r),n})).handled?{sessionId:r}:(await H(t,e.node.id,r),{status:`failed`,error:`Session runtime cannot attach delegate-role node '${e.node.id}'`})}async function Nn(e,t,n){let r=t.bus.once(u.complete,{timeoutMs:n.timeoutMs,filter:{sessionId:n.childSessionId},signal:n.abortLink.controller.signal});r.catch(()=>void 0);let i=await Pn(e,t,n);if(`status`in i)return i;let a=await Fn(e,t,n,i.turnId);if(a.status===`failed`)return a;let o=await r;return t.signal.aborted?{status:`cancelled`}:o.payload.outcome===`error`?{status:`failed`,error:`Delegate-role node '${e.node.id}' agent error: ${o.payload.error??`no result`}`}:{status:`completed`,output:o.payload.message??null}}async function Pn(e,t,n){let r=await t.bus.requestOptional(y.sendMessage,{sessionId:n.childSessionId,message:e.task,...e.outputSchema===void 0?{}:{responseSchema:e.outputSchema},source:`system`},{signal:t.signal});return r.handled?{turnId:r.data.turnId}:(n.abortLink.controller.abort(),{status:`failed`,error:`Session runtime cannot send delegate-role node '${e.node.id}'`})}async function Fn(e,t,n,r){let i=await t.bus.requestOptional(y.turn.await,{sessionId:n.childSessionId,turnId:r,timeoutMs:n.timeoutMs},{timeout:0,signal:t.signal});return i.handled?i.data.completion.success?{status:`completed`}:{status:`failed`,error:`Delegate-role node '${e.node.id}' session turn failed: ${i.data.completion.error??`no result`}`}:(n.abortLink.controller.abort(),{status:`failed`,error:`Session runtime cannot await delegate-role node '${e.node.id}'`})}function In(e,t){return`session-workflow-${e.executionId}-${t.frameId??t.node.id}`}function Ln(e){return{kind:`adapter`,adapterName:e.adapterName,...e.model===void 0?{}:{model:e.model},...e.reasoningEffort===void 0?{}:{reasoningEffort:e.reasoningEffort},...e.systemPrompt===void 0?{}:{systemPrompt:e.systemPrompt},...e.providerContext===void 0?{}:{providerConfigId:e.providerContext.providerConfigId}}}function Rn(e,t){return e.completion===void 0?t:{...t,completion:e.completion}}function zn(e){return e.completion===`turn`&&e.harnessId===void 0&&e.contextMode===void 0}async function Bn(e,t,n){if(e.frameId!==void 0)try{await t.bus.emit(D.frame.sessionLinked,{executionId:t.executionId,frameId:e.frameId,sessionId:n})}catch(t){console.warn(`[workflow-engine] Failed to emit frame.sessionLinked for frame '${e.frameId}' and session '${n}'`,t)}}async function H(e,t,n){try{await e.bus.requestOptional(y.close,{sessionId:n})}catch(e){console.warn(`[workflow-engine] Failed to close delegate-role session '${n}' for node '${t}'`,e)}}function Vn(e){let t=new AbortController;if(e.aborted)return t.abort(),{controller:t,cleanup:()=>void 0};let n=()=>t.abort();return e.addEventListener(`abort`,n,{once:!0}),{controller:t,cleanup:()=>e.removeEventListener(`abort`,n)}}function Hn(e,t){try{let n=z(t);return{status:`completed`,task:Un(e.inputExpression===void 0?n:M(e.inputExpression,n))}}catch(t){let n=t instanceof Error?t.message:String(t);return{status:`failed`,error:`delegate-agent node '${e.id}': input expression evaluation failed: ${n}`}}}function Un(e){if(typeof e==`string`)return e;if(e===void 0)return``;try{return JSON.stringify(e,null,2)??``}catch{return String(e)}}function Wn(e,t,n,r){try{let i=M(n,z(r));return Array.isArray(i)?i:{status:`failed`,error:`${t} node '${e}': collection expression did not resolve to an array (got ${typeof i})`}}catch(n){return{status:`failed`,error:`${t} node '${e}': collection expression evaluation failed: ${n instanceof Error?n.message:String(n)}`}}}function Gn(e,t,n){for(let r of[...e.nodes].reverse()){let e=n.getFramesByNodeId(r.id);for(let n of e)if(n.parentFrameId===t&&n.status===`completed`)return n.output}}function Kn(e,t,n){return Gn(e.body,t,n)}function qn(e){if(e.length===0)return;let t=new Map,n=new Map;for(let r of e){n.set(r.frameId,r);let e=t.get(r.nodeId)??[];e.push(r),t.set(r.nodeId,e)}return{byNodeId:t,byFrameId:n}}const Jn=new Set([`completed`,`skipped`,`waiting`]);function U(e,t,n){let r=e?.byNodeId.get(t)??[],i=n.statuses??Jn;return r.find(e=>e.parentFrameId===n.parentFrameId&&e.branchKey===n.branchKey&&e.iteration===n.iteration&&i.has(e.status))}function W(e,t,n){let r={...e.frames,[t]:n};return{...e,frames:r,previousSteps:Zt(r),output:n.status===`completed`?n.output:e.output}}function G(e,t){if(typeof AbortSignal.any==`function`)return AbortSignal.any([e,t]);let n=new AbortController,r=()=>n.abort();return e.addEventListener(`abort`,r,{once:!0}),t.addEventListener(`abort`,r,{once:!0}),n.signal}const Yn=new Set([`completed`,`running`]);function Xn(e,t){return e.status===`running`&&t.pauseSignal?.aborted===!0&&!t.outerSignal.aborted}async function Zn(e,t,n,r,i,a,o=`all-settled`){if(t.signal.aborted)return{status:`cancelled`};let s=Object.entries(e.branches);if(s.length===0)return{status:`completed`,output:K({},o)};let c=new AbortController,l=new AbortController,u=t.suspensionStrategy!==`wait-in-process`,d=o===`fail-fast`?G(c.signal,l.signal):u?l.signal:void 0,f=d===void 0?t.signal:G(t.signal,d),p=f===t.signal?t:t.withSignal(f),m=s.map(([s,c])=>Qn(s,c,e,p,n,r,i,a,{outerSignal:t.signal,pauseSignal:o===`fail-fast`||u?l.signal:void 0}));if(o===`all-settled`){let e=await Promise.all(u?m.map(e=>e.then(e=>(e.status===`paused`&&l.abort(),e))):m),t=e.find(e=>e.status===`paused`);return t===void 0?{status:`completed`,output:K(er(s,e),o)}:t}let h=await $n(s,m,c,l);return h.type===`cancelled`?{status:`cancelled`}:h.type===`paused`?h.outcome:h.type===`failed`?{status:`failed`,error:h.error}:{status:`completed`,output:K(er(s,h.outcomes),o)}}async function Qn(e,t,n,r,i,a,o,s,c){if(r.signal.aborted)return{status:`cancelled`};let l=U(r.resumeFrames,n.id,{parentFrameId:o,branchKey:e,statuses:Yn});if(l?.status===`completed`)return{status:`completed`,...l.output===void 0?{}:{output:l.output}};let u=l??r.createFrame({nodeId:n.id,nodeType:`parallel`,path:s,parentFrameId:o,branchKey:e});if(r.signal.aborted)return Xn(u,c)||await $(u,r),{status:`cancelled`};l===void 0&&await X(u,r);let d;try{d=await a(t,r,i,u.frameId,u.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(u,r,t),{status:`failed`,error:t}}switch(d.status){case`completed`:{let e=Gn(t,u.frameId,r);return await Z(u,r,e),{status:`completed`,output:e}}case`skipped`:return await Z(u,r),{status:`completed`};case`cancelled`:return Xn(u,c)||await $(u,r),{status:`cancelled`};case`paused`:return d;case`failed`:return await Q(u,r,d.error),{status:`failed`,error:d.error}}}async function $n(e,t,n,r){let i,a,o=t.map(e=>e.then(e=>(e.status===`failed`&&i===void 0?(i=e.error,n.abort()):e.status===`paused`&&a===void 0&&(a=e,r.abort()),e),e=>{let t=e instanceof Error?e.message:String(e);return i===void 0&&(i=t,n.abort()),{status:`failed`,error:t}})),s=await Promise.all(o);return a===void 0?s.some(e=>e.status===`cancelled`)&&i===void 0?{type:`cancelled`}:i===void 0?{type:`completed`,outcomes:s}:{type:`failed`,error:i}:{type:`paused`,outcome:a}}function K(e,t){return{mode:t,branches:e}}function er(e,t){let n={};for(let r=0;r<e.length;r++){let[i]=e[r],a=t[r];n[i]=tr(a)}return n}function tr(e){switch(e.status){case`completed`:return{status:`fulfilled`,...e.output===void 0?{}:{value:e.output}};case`skipped`:return{status:`fulfilled`,value:null};case`cancelled`:return{status:`cancelled`};case`paused`:return{status:`paused`,pausedAtGateId:e.pausedAtGateId,pausedAtFrameId:e.pausedAtFrameId};case`failed`:return{status:`rejected`,reason:e.error}}}const nr=new Ve.default({allErrors:!0,strict:!1});function rr(e,t){if(t===void 0)return{status:`ok`};try{return{status:`ok`,validator:nr.compile(t)}}catch(t){return{status:`failed`,error:`Gate '${e}' has an invalid resumeSchema: ${t instanceof Error?t.message:String(t)}`}}}function ir(e,t){return e===void 0||e(t)?{valid:!0}:{valid:!1,error:or(e.errors??[])}}function ar(e,t,n){let r=rr(e,t);return r.status===`failed`?{valid:!1,error:r.error}:ir(r.validator,n)}function or(e){return e.length===0?`schema validation failed`:e.map(e=>`${e.instancePath.length>0?e.instancePath:`/`} ${e.message??`is invalid`}`).join(`; `)}const sr={action:`approve`,source:`timeout`};function cr(e){return e===void 0?{}:{reason:e}}async function lr(e,t,n,r){let i=()=>{t.value&&(t.value=!1,e.reject(`cancelled`))};n.addEventListener(`abort`,i,{once:!0}),n.aborted&&i();let a=[e.promise],o;if(r!==null){let e=pr();o=setTimeout(()=>{t.value&&(t.value=!1,n.removeEventListener(`abort`,i),e.reject(`timed-out`))},r),a.push(e.promise)}try{let e=await Promise.race(a);return n.removeEventListener(`abort`,i),o!==void 0&&clearTimeout(o),{action:e.action,resumeData:e.resumeData,timedOut:!1,wasCancelled:!1,reason:e.reason}}catch(e){return o!==void 0&&clearTimeout(o),n.removeEventListener(`abort`,i),e===`timed-out`?{action:`reject`,resumeData:null,timedOut:!0,wasCancelled:!1}:{action:`reject`,resumeData:null,timedOut:!1,wasCancelled:!0}}}async function ur(e,t,n,r,i,a){let o={required:e.suspensionStrategy!==`wait-in-process`};if(a.timedOut){let a=Date.now();if(r.autoAction===`approve`){let s=ir(i,sr);return s.valid?(await q(e,{...r,status:`resumed`,resumeData:sr,resolvedAt:a},o),await J(e,t.id,n,{action:`approve`,source:`timeout`}),{status:`completed`,output:{resumeData:sr}}):(await q(e,{...r,status:`timed-out`,resolvedAt:a},o),await J(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Gate '${t.id}' auto-approve timeout resume data does not match resumeSchema: ${s.error}`})}return await q(e,{...r,status:`timed-out`,resolvedAt:a},o),await J(e,t.id,n,{action:`reject`,source:`timeout`}),{status:`failed`,error:`Gate '${t.id}' timed out after ${String(r.timeoutMs)}ms and auto-rejected`}}if(a.wasCancelled||e.signal.aborted)return await q(e,{...r,status:`cancelled`,resolvedAt:Date.now()},o),await J(e,t.id,n,{source:`cancelled`}),{status:`cancelled`};let s=Date.now();await q(e,{...r,status:a.action===`reject`?`rejected`:`resumed`,resumeData:a.resumeData,...cr(a.reason),resolvedAt:s},o);try{await e.bus.emit(D.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:a.resumeData}),await J(e,t.id,n,{action:a.action,source:`user`,...cr(a.reason)})}catch(e){console.error(`[GateNode] gate.resumed emit failed for '${t.id}':`,e)}return{status:`completed`,output:{resumeData:a.resumeData}}}async function dr(e,t,n,r){if(t.signal.aborted)return{status:`cancelled`};let i=e.resumeSchema??{};if(t.suspensionStrategy!==`wait-in-process`){let n=await gr(t,e,r);if(n!==void 0)return n}let a=rr(e.id,e.resumeSchema);return a.status===`failed`?{status:`failed`,error:a.error}:fr(t,e,n,r,i,a.validator)}async function fr(e,t,n,r,i,a){let o=N(t.prompt,z(n)),s={executionId:e.executionId,nodeId:t.id,frameId:r,schema:i,prompt:o,status:`waiting`,autoAction:t.autoAction,timeoutMs:t.timeoutMs,createdAt:Date.now()},c=e.suspensionStrategy!==`wait-in-process`;if(await q(e,s,{required:c}),await e.updateFrame(r,{status:`waiting`},{requireFrameStorage:c}),c)return await mr(e,t,r,i,o,s.createdAt),{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:r};let u={value:!0},d=pr(),f=e.bus.on(D.gate.respond,async n=>{let{executionId:i,gateId:o,frameId:s,action:c,resumeData:f,reason:p}=n.payload;if(i!==e.executionId||o!==t.id||s!==void 0&&s!==r){try{await n.next()}catch(e){if(e instanceof l)n.setResult({accepted:!1});else throw e}return}if(!u.value){n.setResult({accepted:!1});return}if(!ir(a,f).valid){n.setResult({accepted:!1});return}u.value=!1,n.setResult({accepted:!0}),d.resolve({action:c,resumeData:f,reason:p})});await mr(e,t,r,i,o,s.createdAt);let p=await lr(d,u,e.signal,t.timeoutMs);return f(),ur(e,t,r,s,a,p)}function pr(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}async function mr(e,t,n,r,i,a){try{await e.bus.emit(D.gate.suspended,{executionId:e.executionId,frameId:n,nodeId:t.id,schema:r,prompt:i,...t.title!==void 0&&{title:t.title},autoAction:t.autoAction,timeoutMs:t.timeoutMs,openedAt:a})}catch(e){console.error(`[GateNode] gate.suspended emit failed for '${t.id}':`,e)}}async function hr(e,t,n){if(e.suspensionStrategy!==`wait-in-process`)return(await e.bus.request(F.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n})).gate;let r=await e.bus.requestOptional(F.getGateInstance,{executionId:e.executionId,nodeId:t,frameId:n});return r.handled?r.data.gate:null}async function gr(e,t,n){let r=await hr(e,t.id,n);if((r?.status===`resumed`||r?.status===`rejected`)&&r.resumeData!==void 0){let i=ar(t.id,r.schema,r.resumeData);if(!i.valid)return{status:`failed`,error:`Gate '${t.id}' persisted resumeData is invalid: ${i.error}`};try{await e.bus.emit(D.gate.resumed,{executionId:e.executionId,frameId:n,nodeId:t.id,resumeData:r.resumeData})}catch(e){console.error(`[GateNode] gate.resumed emit failed for '${t.id}':`,e)}return await J(e,t.id,n,{action:r.status===`rejected`?`reject`:`approve`,source:`user`,...cr(r.reason)}),{status:`completed`,output:{resumeData:r.resumeData}}}if(r?.status===`waiting`){if(r.timeoutMs!==null&&Date.now()>=r.createdAt+r.timeoutMs){let i=rr(t.id,r.schema);return i.status===`failed`?{status:`failed`,error:i.error}:ur(e,t,n,r,i.validator,{action:`reject`,resumeData:null,timedOut:!0,wasCancelled:!1})}return{status:`paused`,pausedAtGateId:t.id,pausedAtFrameId:n}}if((r?.status===`resumed`||r?.status===`rejected`)&&r.resumeData===void 0)return{status:`failed`,error:`Gate '${t.id}' has status '${r.status}' but resumeData is missing — cannot reconstruct output`};if(r!==null)return{status:`failed`,error:`Gate '${t.id}' cannot resume from status '${r.status}'`}}async function q(e,t,n={}){try{n.required===!0?await e.bus.request(F.setGateInstance,{gate:t}):await e.bus.requestOptional(F.setGateInstance,{gate:t})}catch(e){if(n.required===!0)throw e;console.warn(`[GateNode] Failed to upsert gate instance for '${t.nodeId}':`,e)}}async function J(e,t,n,r){try{await e.bus.emit(D.gate.resolved,{executionId:e.executionId,stepId:t,stepType:`gate`,frameId:n,...r})}catch(e){console.error(`[GateNode] gate.resolved emit failed for '${t}':`,e)}}function Y(e){return{status:`fulfilled`,...e===void 0?{}:{value:e}}}const _r=new Set([`completed`,`running`]);function vr(e,t){return e.status===`running`&&t.pauseSignal?.aborted===!0&&!t.outerSignal.aborted}async function yr(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=Wn(e.id,`iterate`,e.collection,n);if(!Array.isArray(o))return o;let s=o;if(s.length===0)return{status:`completed`,output:Cr([])};let c=await br(s,e,t,n,r,i,a,e.concurrency!==void 0&&e.concurrency>0?e.concurrency:0);if(t.signal.aborted&&c.every(e=>e.status===`cancelled`))return{status:`cancelled`};let l=c.find(e=>e.status===`paused`);return l===void 0?{status:`completed`,output:Cr(c)}:{status:`paused`,pausedAtGateId:l.pausedAtGateId,pausedAtFrameId:l.pausedAtFrameId}}async function br(e,t,n,r,i,a,o,s){let c=new AbortController,l=n.suspensionStrategy!==`wait-in-process`,u=l?G(n.signal,c.signal):n.signal,d=u===n.signal?n:n.withSignal(u),f={outerSignal:n.signal,...l?{pauseSignal:c.signal}:{}};if(s===0){let n=e.map((e,n)=>Sr(e,n,t,d,r,i,a,o,f));return Promise.all(l?n.map(e=>xr(e,c)):n)}let p=Array(e.length);for(let n=0;n<e.length;n+=s){if(d.signal.aborted){for(let t=n;t<e.length;t++)p[t]={status:`cancelled`};break}let u=Math.min(n+s,e.length),m=[];for(let s=n;s<u;s++)m.push(Sr(e[s],s,t,d,r,i,a,o,f));let h=await Promise.all(l?m.map(e=>xr(e,c)):m);for(let e=0;e<h.length;e++)p[n+e]=h[e];if(h.some(e=>e.status===`paused`)){for(let t=u;t<e.length;t++)p[t]={status:`cancelled`};break}}return p}function xr(e,t){return e.then(e=>(e.status===`paused`&&t.abort(),e))}async function Sr(e,t,n,r,i,a,o,s,c){if(r.signal.aborted)return{status:`cancelled`};let l={...i,item:e,index:t},u=U(r.resumeFrames,n.id,{parentFrameId:o,iteration:t,statuses:_r});if(u?.status===`completed`)return Y(u.output);let d=u??r.createFrame({nodeId:n.id,nodeType:`iterate`,path:s,parentFrameId:o,iteration:t});if(r.signal.aborted)return vr(d,c)||await $(d,r),{status:`cancelled`};u===void 0&&await X(d,r);let f;try{f=await a(n.body,r,l,d.frameId,d.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(d,r,t),{status:`rejected`,reason:t}}switch(f.status){case`completed`:{let e=Kn(n,d.frameId,r);return await Z(d,r,e),Y(e)}case`skipped`:return await Z(d,r),Y();case`cancelled`:return vr(d,c)||await $(d,r),{status:`cancelled`};case`paused`:return f;case`failed`:return await Q(d,r,f.error),{status:`rejected`,reason:f.error}}}function Cr(e){return{items:e}}const wr=new Set([`completed`,`running`]);async function Tr(e,t,n,r,i,a){if(t.signal.aborted)return{status:`cancelled`};let o=Wn(e.id,`iterate-chain`,e.collection,n);if(!Array.isArray(o))return o;let s=o;if(s.length===0)return{status:`completed`,output:Dr([])};let c=[],l;for(let o=0;o<s.length;o++){if(t.signal.aborted)return{status:`cancelled`};let u=s[o],d=await Er(u,o,l,e,t,n,r,i,a);switch(c.push(d),d.status){case`fulfilled`:l=d.value;break;case`rejected`:return{status:`failed`,error:d.reason};case`cancelled`:return{status:`cancelled`};case`paused`:return{status:`paused`,pausedAtGateId:d.pausedAtGateId,pausedAtFrameId:d.pausedAtFrameId}}}return{status:`completed`,output:Dr(c)}}async function Er(e,t,n,r,i,a,o,s,c){if(i.signal.aborted)return{status:`cancelled`};let l={...a,item:e,index:t,...n!==void 0&&{previous:n}},u=U(i.resumeFrames,r.id,{parentFrameId:s,iteration:t,statuses:wr});if(u?.status===`completed`)return Y(u.output);let d=u??i.createFrame({nodeId:r.id,nodeType:`iterate-chain`,path:c,parentFrameId:s,iteration:t});if(i.signal.aborted)return await $(d,i),{status:`cancelled`};u===void 0&&await X(d,i);let f;try{f=await o(r.body,i,l,d.frameId,d.path)}catch(e){let t=e instanceof Error?e.message:String(e);return await Q(d,i,t),{status:`rejected`,reason:t}}switch(f.status){case`completed`:{let e=Kn(r,d.frameId,i);return await Z(d,i,e),Y(e)}case`skipped`:return await Z(d,i),Y();case`cancelled`:return await $(d,i),{status:`cancelled`};case`paused`:return f;case`failed`:return await Q(d,i,f.error),{status:`rejected`,reason:f.error}}}function Dr(e){return{items:e}}async function X(e,t){e.status=`running`,e.startedAt=Date.now(),await t.persistFrame(e),await t.emitFrameStarted(e)}async function Z(e,t,n){let r=Date.now(),i=e.startedAt===void 0?void 0:Math.max(0,r-e.startedAt);e.status=`completed`,e.output=n,e.completedAt=r,await t.persistFrame(e),await t.emitFrameCompleted(e,i)}async function Q(e,t,n){let r=Date.now(),i=e.startedAt===void 0?void 0:Math.max(0,r-e.startedAt);e.status=`failed`,e.error=n,e.completedAt=r,await t.persistFrame(e),await t.emitFrameFailed(e,n,i)}async function Or(e,t){e.status=`skipped`,e.completedAt=Date.now(),await t.persistFrame(e)}async function $(e,t){e.status=`cancelled`,e.completedAt=Date.now(),await t.persistFrame(e)}function kr(e,t){return!!M(e,z(t))}async function Ar(e,t,n,r,i,a=[]){if(t.signal.aborted)return{status:`cancelled`};switch(e.type){case`sequence`:return r(e,t,n,i,a);case`station`:return Dn(e,t,n,i);case`delegate-agent`:return kn(e,t,n,i);case`delegate-role`:return An(e,t,n,i);case`parallel`:return Zn(e,t,n,r,i??``,a,e.mode??`all-settled`);case`gate`:return dr(e,t,n,i??``);case`iterate`:return yr(e,t,n,r,i??``,a);case`iterate-chain`:return Tr(e,t,n,r,i??``,a);default:return{status:`failed`,error:`Unknown node type: ${String(e.type)}`}}}const jr=new Set([`completed`,`skipped`,`waiting`,`running`]);function Mr(e){return e.type===`parallel`||e.type===`iterate`||e.type===`iterate-chain`}function Nr(e,t,n){return U(e.resumeFrames,t.id,{parentFrameId:n,...Mr(t)?{statuses:jr}:{}})}function Pr(e,t,n){if(n?.status===`completed`)return W(e,t.id,{status:`completed`,...n.output===void 0?{}:{output:n.output}});if(n?.status===`skipped`)return W(e,t.id,{status:`skipped`})}async function Fr(e,t,n,r,i,a,o){try{return{result:kr(e,i)}}catch(e){let i=e instanceof Error?e.message:String(e);return await Q(r.createFrame({nodeId:n.id,nodeType:n.type,path:a,parentFrameId:o}),r,`'${t}' condition evaluation failed: ${i}`),{status:`failed`,error:`'${t}' condition evaluation failed for '${n.id}': ${i}`}}}async function Ir(e,t,n,r,i,a){let o=a??t.createFrame({nodeId:e.id,nodeType:e.type,path:r,parentFrameId:i});if(t.signal.aborted)return await $(o,t),{updatedCtx:n,outcome:{status:`cancelled`}};a===void 0&&await X(o,t);let s;try{s=await Ar(e,t,n,Lr,o.frameId,o.path)}catch(e){let r=e instanceof Error?e.message:String(e);return await Q(o,t,r),{updatedCtx:n,outcome:{status:`failed`,error:r}}}switch(s.status){case`completed`:return await Z(o,t,s.output),{updatedCtx:W(n,e.id,{status:`completed`,output:s.output})};case`skipped`:return await Or(o,t),{updatedCtx:W(n,e.id,{status:`skipped`})};case`cancelled`:return await $(o,t),{updatedCtx:n,outcome:{status:`cancelled`}};case`paused`:return{updatedCtx:n,outcome:s};case`failed`:return await Q(o,t,s.error),{updatedCtx:n,outcome:{status:`failed`,error:s.error}}}}async function Lr(e,t,n,r,i=[]){let a=n;for(let n of e.nodes){if(t.signal.aborted)return{status:`cancelled`};let e=Nr(t,n,r),o=Pr(a,n,e);if(o!==void 0){a=o;continue}if(n.when!==void 0){let e=await Fr(n.when,`when`,n,t,a,i,r);if(`status`in e)return e;if(!e.result){await Or(t.createFrame({nodeId:n.id,nodeType:n.type,path:i,parentFrameId:r}),t),a=W(a,n.id,{status:`skipped`});continue}}if(n.skip!==void 0){let e=await Fr(n.skip,`skip`,n,t,a,i,r);if(`status`in e)return e;if(e.result){await Or(t.createFrame({nodeId:n.id,nodeType:n.type,path:i,parentFrameId:r}),t),a=W(a,n.id,{status:`skipped`});continue}}let s=e?.status===`waiting`&&n.type===`gate`||e?.status===`running`&&Mr(n)?e:void 0,{updatedCtx:c,outcome:l}=await Ir(n,t,a,i,r,s);if(a=c,l!==void 0)return l}return{status:`completed`}}export{Le as A,je as B,ve as C,Ie as D,Ce as E,Ee as F,Oe as G,ke as H,Te as I,De as K,Se as L,P as M,be as N,Fe as O,ye as P,xe as R,me as S,we as T,Pe as U,Ae as V,Ne as W,Ye as _,nn as a,F as b,Xt as c,Ct as d,pt as f,at as g,ct as h,un as i,ge as j,Re as k,Ft as l,R as m,ar as n,It as o,dt as p,D as q,qn as r,Jt as s,Lr as t,At as u,He as v,_e as w,he as x,Be as y,Me as z};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RuntimeSubjects } from "./bus/runtime/namespace.mjs";
|
|
2
2
|
import { a as FilesystemDescriptorDiscovery, n as ExplicitDescriptorDiscovery, o as FilesystemDescriptorDiscoveryOptions, r as ExtensionDiscovery, t as DiscoveredExtension } from "../extension-discovery-Bv5FDtrM.mjs";
|
|
3
3
|
import { a as isMakaioExtensionLike, c as resolveConventionEntrypoint, i as isCliContributionLike, n as LoadExtensionsOptions, o as isWithinDirectory, r as entrypointStem, s as loadExtensions, t as DescriptorSourcePackageGroup } from "../load-extensions-CQqw0Smr.mjs";
|
|
4
|
-
import { A as
|
|
4
|
+
import { A as DatabaseBootOptions, B as NodeFrameworkModuleResolver, C as ServerTransportProvider, D as WorkflowWorkerEntryMode, E as WorkflowRunnerBootOptions, F as normalizeNodeHostCapabilities, G as HttpContributionPhase, H as resolveFrameworkSpecifier, I as selectFrameworkCorePackages, J as HonoRouteGraphOptions, K as HttpRouteContribution, L as ShutdownStep, M as InitializeNodeDatabaseResult, N as initializeNodeDatabase, O as WorkflowWorkerEntryResolverOptions, P as HostCapabilityDeclaration, R as BridgeBrowserOptions, S as MakaioRuntime, T as UpstreamTelemetryBootOptions, U as HttpRouteGraphBuilder, V as NoopFrameworkModuleResolver, W as createHttpRouteGraphBuilder, Y as createHonoRouteGraph, _ as ThinWorkflowPiscinaRunnerOptions, a as InProcessWorkflowRunnerOptions, b as BootMakaioRuntimeOptions, h as IWorkflowRunner, i as InProcessWorkflowRunner, j as InitializeNodeDatabaseOptions, k as resolveWorkflowWorkerEntry, m as ThinWorkflowPiscinaRunner, q as HonoRouteGraph, v as WorkflowRunResult, w as TransportReadyInfo, x as CoreBootOptions, y as BootCoordinatorSetupContext, z as FrameworkModuleResolver } from "../index-BBteExwv.mjs";
|
|
5
5
|
import { ConfiguredRuntimeOptions, LoadMakaioConfigOptions, LoadedMakaioConfig, MAKAIO_CONFIG_FILE_ENV, MAKAIO_HOME_ENV, MakaioConfig, ParseMakaioConfigOptions, ParsedMakaioConfig, WorkflowRunnerConfig, buildConfiguredRuntimeOptions, createMakaioConfigDiscovery, defineMakaioConfig, loadMakaioConfig, parseMakaioConfig, resolveMakaioConfigPath, resolveMakaioHome, shouldIncludeExtension } from "./makaio-config.mjs";
|
|
6
6
|
import { IConfigStorage } from "@makaio/framework/core";
|
|
7
7
|
import { BusTransport, IMakaioBus } from "@makaio/framework/bus";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { D as
|
|
2
|
-
export { CreateNodeWorkflowRunnerPackageOptionsParams, IWorkflowRunner, InProcessWorkflowRunner, InProcessWorkflowRunnerOptions, NodeWorkflowRunnerPackageOptions, PiscinaThinWorkflowProvider, PiscinaThinWorkflowProviderOptions, ThinWorkflowPiscinaRunner, ThinWorkflowPiscinaRunnerOptions, WorkerNodeRunner, WorkerNodeRunnerOptions, WorkflowRunResult, WorkflowWorkerEntryMode, WorkflowWorkerEntryResolverOptions, createNodeWorkflowRunner, createNodeWorkflowRunnerPackageOptions, loadWorkflowFromConfig, loadWorkflowModule, loadWorkflowModules, resolveWorkflowWorkerEntry };
|
|
1
|
+
import { D as WorkflowWorkerEntryMode, O as WorkflowWorkerEntryResolverOptions, _ as ThinWorkflowPiscinaRunnerOptions, a as InProcessWorkflowRunnerOptions, c as WorkerNodeRunner, d as NodeWorkflowRunnerPackageOptions, f as createNodeWorkflowRunner, g as RuntimeLoadedWorkflow, h as IWorkflowRunner, i as InProcessWorkflowRunner, k as resolveWorkflowWorkerEntry, l as WorkerNodeRunnerOptions, m as ThinWorkflowPiscinaRunner, n as loadWorkflowModules, o as PiscinaThinWorkflowProvider, p as createNodeWorkflowRunnerPackageOptions, r as loadWorkflowFromConfig, s as PiscinaThinWorkflowProviderOptions, t as loadWorkflowModule, u as CreateNodeWorkflowRunnerPackageOptionsParams, v as WorkflowRunResult } from "../../index-BBteExwv.mjs";
|
|
2
|
+
export { CreateNodeWorkflowRunnerPackageOptionsParams, IWorkflowRunner, InProcessWorkflowRunner, InProcessWorkflowRunnerOptions, NodeWorkflowRunnerPackageOptions, PiscinaThinWorkflowProvider, PiscinaThinWorkflowProviderOptions, RuntimeLoadedWorkflow, ThinWorkflowPiscinaRunner, ThinWorkflowPiscinaRunnerOptions, WorkerNodeRunner, WorkerNodeRunnerOptions, WorkflowRunResult, WorkflowWorkerEntryMode, WorkflowWorkerEntryResolverOptions, createNodeWorkflowRunner, createNodeWorkflowRunnerPackageOptions, loadWorkflowFromConfig, loadWorkflowModule, loadWorkflowModules, resolveWorkflowWorkerEntry };
|
|
@@ -251,7 +251,7 @@ declare const sessions: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
|
|
|
251
251
|
tableName: "sessions";
|
|
252
252
|
dataType: "string";
|
|
253
253
|
columnType: "SQLiteText";
|
|
254
|
-
data: "
|
|
254
|
+
data: "closed" | "active" | "archived" | "discovered";
|
|
255
255
|
driverParam: string;
|
|
256
256
|
notNull: true;
|
|
257
257
|
hasDefault: false;
|
|
@@ -365,7 +365,7 @@ declare const sessions: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
|
|
|
365
365
|
tableName: "sessions";
|
|
366
366
|
dataType: "string";
|
|
367
367
|
columnType: "SQLiteText";
|
|
368
|
-
data: "
|
|
368
|
+
data: "branch" | "fork" | "subagent" | "compress" | "rewrite" | "coordinator" | "aside";
|
|
369
369
|
driverParam: string;
|
|
370
370
|
notNull: false;
|
|
371
371
|
hasDefault: false;
|
|
@@ -44,8 +44,8 @@ type SubagentTemplateSummary = z.infer<typeof SubagentTemplateSummarySchema>;
|
|
|
44
44
|
*/
|
|
45
45
|
declare const SubagentTemplateCreateSchema: z.ZodObject<{
|
|
46
46
|
name: z.ZodString;
|
|
47
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
48
47
|
adapterName: z.ZodString;
|
|
48
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
49
49
|
model: z.ZodOptional<z.ZodString>;
|
|
50
50
|
providerConfigId: z.ZodOptional<z.ZodString>;
|
|
51
51
|
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
@@ -129,8 +129,8 @@ declare const SubagentTemplateSettingsSchemas: {
|
|
|
129
129
|
create: {
|
|
130
130
|
request: z.ZodObject<{
|
|
131
131
|
name: z.ZodString;
|
|
132
|
-
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
133
132
|
adapterName: z.ZodString;
|
|
133
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
134
134
|
model: z.ZodOptional<z.ZodString>;
|
|
135
135
|
providerConfigId: z.ZodOptional<z.ZodString>;
|
|
136
136
|
systemPrompt: z.ZodOptional<z.ZodString>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,t}from"./json-value-CmhSGMLv.mjs";import{a as n,s as ee}from"./visibility-Cb62p9bv.mjs";import"./credential-ref-YWQQENEo.mjs";import{c as te,f as r,i as ne,o as i,p as a,r as re,s as ie}from"./shared-DpOEfD8F.mjs";import{a as ae,d as oe,i as o,n as se,o as s,p as ce,r as c,t as le}from"./compression-vRUOO-28.mjs";import{t as l}from"./schemas-DAYPhB5K.mjs";import{r as ue}from"./profile-r4G32bCH.mjs";import{i as u}from"./account-identity-D-9gunfD.mjs";import{SessionLineageSchema as de}from"./contracts/adapter/schemas/session-lineage.mjs";import{z as d}from"zod";import{localSubject as fe,observability as f}from"@makaio/framework/core";const p=d.object({adapterId:d.string(),adapterName:d.string()}),m=d.object({cwd:d.string().optional(),allowedTools:d.array(d.string()).optional(),disallowedTools:d.array(d.string()).optional(),allowedDirectories:d.array(d.string()).optional(),systemPrompt:r.optional()}),pe={request:d.object({adapterName:d.string().optional(),adapterId:d.string().optional()}).refine(e=>e.adapterName||e.adapterId,{message:`Either adapterName or adapterId must be provided`}),response:d.object({capabilities:d.array(d.string()),nativeTools:d.array(d.string())})},h=d.enum([`lead`,`member`]),g=d.enum([`fork`,`branch`,`subagent`,`compress`,`rewrite`,`coordinator`,`aside`]),_=d.enum([`parent-history`,`none`]),v=d.enum([`discovered`,`imported`,`tracking`]),y=d.object({sessionId:d.string(),title:d.string().nullable(),forkPointMessageId:d.string().nullable(),branchKind:g.nullable(),messageCount:d.number(),hasChildren:d.boolean(),spawningToolCallId:d.string().optional()}),b=d.object({fromMessageId:d.string(),toMessageId:d.string(),policy:d.enum([`verbatim`,`summarize`,`exclude`]),stripReasoning:d.boolean().optional(),stripToolOutputs:d.boolean().optional(),overrides:d.record(d.string(),d.literal(`exclude`)).optional(),summaryText:d.string().optional()}),x=d.object({removedMessageIds:d.array(d.string()).optional(),appliedPipeline:d.array(d.object({actionId:d.string(),options:d.record(d.string(),d.unknown()).optional()})).optional(),segments:d.array(b).optional()}),me=d.object({parentSessionId:d.string(),childSessionId:d.string(),summary:d.string().optional(),source:d.enum([`extension`,`user`,`system`]).optional(),extensionId:d.string().optional()}),he=d.object({success:d.boolean(),handoff:d.string().optional()}),ge=d.object({parentSessionId:d.string(),childSessionId:d.string(),source:d.enum([`extension`,`user`,`system`]).optional(),extensionId:d.string().optional()}),_e=d.object({success:d.boolean()}),ve=d.object({sessionId:d.string()}),ye=d.object({children:d.array(y)}),be=d.object({parentSessionId:d.string(),childSessionId:d.string(),reason:d.string()}),xe=d.object({parentSessionId:d.string(),childSessionId:d.string(),forkPoint:d.string().optional()}),Se=d.object({parentSessionId:d.string(),childSessionId:d.string()}),Ce=d.object({parentSessionId:d.string(),childSessionId:d.string(),handoff:d.string()}),we=d.object({sessionId:d.string(),parentSessionId:d.string().optional()}),Te=d.object({parentSessionId:d.string(),childSessionId:d.string(),result:d.unknown()}),Ee=d.object({sessionId:d.string(),reason:d.string(),source:d.enum([`extension`,`user`,`system`]).optional(),extensionId:d.string().optional()}),De=d.object({sessionId:d.string(),pipeline:d.array(d.object({actionId:d.string(),options:d.record(d.string(),d.unknown()).optional()}))}),Oe=d.object({eventId:d.string(),contextJson:d.record(d.string(),d.unknown()),tokensBefore:d.number(),tokensAfter:d.number().optional()}),ke=d.object({sessionId:d.string(),childSessionId:d.string(),parentSessionId:d.string(),kind:g,forkPointMessageId:d.string().optional(),transforms:x.optional()}),Ae=d.object({sessionId:d.string(),childSessionId:d.string(),parentSessionId:d.string(),resultJson:d.string().optional(),resultMessageId:d.string().optional()}),je=d.object({sessionId:d.string(),summaryJson:d.string(),tokensBefore:d.number().optional(),tokensAfter:d.number().optional(),compressedMessageIds:d.array(d.string()).optional()}),S=d.object({sessionId:d.string(),parentSessionId:d.string().nullable(),branchKind:g.nullable(),createdAt:d.number(),originWindowId:d.string().optional()}),C=d.object({sessionId:d.string(),changedProperties:d.array(d.string())}),Me={merge:{request:me,response:he},abandon:{request:ge,response:_e},getChildren:{request:ve,response:ye},forking:be,forked:xe,merging:Se,merged:Ce,abandoned:we,childCompleted:Te,compressionRequested:Ee,"branch.created":ke,"branch.merged":Ae,squash:je,created:S,updated:C,compress:{request:De,response:Oe}},w=d.object({messageHistory:d.array(te).optional(),hasNewTransforms:d.boolean().optional(),hasCompression:d.boolean().optional(),extractedContext:d.unknown().optional(),isFirstTurn:d.boolean().optional(),hasConnectorSwap:d.boolean().optional(),turnContext:d.record(d.string(),e).optional()}),T=ne,E=d.enum([`user`,`assistant`]),D=d.enum([`voice`,`text`,`compact`]),O=d.object({messageId:d.string(),turnId:d.string().nullable(),sessionId:d.string(),role:E,contentText:d.string(),blocks:d.array(T),agentId:d.string().optional(),adapterSessionId:d.string().optional(),adapterMessageId:d.string().optional(),timestamp:d.number(),editOf:d.string().optional(),origin:D.optional()}),k=d.enum([`active`,`completed`,`error`]),A=d.object({inputTokens:d.number(),outputTokens:d.number(),cost:d.number().optional()}),j=d.object({total:A,byAgent:d.record(d.string(),A).optional()}),M=d.object({source:d.enum([`user`,`extension`,`system`]),sourceId:d.string().optional()}),N=d.object({turnId:d.string(),sessionId:d.string(),turnNumber:d.number().int().min(1),startedAt:d.number(),completedAt:d.number().optional(),status:k,error:d.string().optional(),usage:j.optional(),initiator:M.optional()}),P=d.enum([`sent`,`acknowledged`,`completed`]),Ne=d.object({messageId:d.string(),agentId:d.string(),status:P,timestamp:d.number(),error:d.string().optional()}),F=d.object({sessionId:d.string(),turnId:d.string(),turnNumber:d.number().int().min(1)}),I=F.extend({messageId:d.string()}),L=F.extend({success:d.boolean(),error:d.string().optional(),usage:j.optional(),initiator:M.optional()}),Pe=ae.safeExtend({kind:d.string().regex(/^(?!(?:adapter|canonical-model)$).+$/)}),Fe=d.union([o,se,Pe]),Ie=o.extend({providerContext:c.optional()}),Le=d.object({sessionId:d.string(),agent:Ie,initialMessage:i.optional(),role:d.enum([`lead`,`member`]).optional()}),Re=d.object({agentId:d.string(),adapterSessionId:d.string(),role:d.enum([`lead`,`member`]),messageId:d.string().optional(),turnId:d.string().optional()}),R={sendMessage:{request:d.object({sessionId:d.string(),message:i,agent:Fe.optional(),agentIds:d.union([d.array(d.string()),d.literal(`all`)]).optional(),deliveryMode:d.enum([`enqueue`]).optional(),turnId:d.string().optional(),sessionContext:w.optional(),responseSchema:a.optional(),source:d.enum([`extension`,`user`,`system`]).optional(),extensionId:d.string().optional(),originWindowId:d.string().optional(),skipConnectorSwapWarning:d.boolean().optional(),origin:D.optional()}),response:d.object({messageId:d.string(),turnId:d.string(),sessionId:d.string()})},"agent.attach":{request:d.object({sessionId:d.string(),agent:s,initialMessage:i.optional(),role:d.enum([`lead`,`member`]).optional()}),response:d.object({agentId:d.string(),adapterSessionId:d.string(),role:d.enum([`lead`,`member`]),messageId:d.string().optional(),turnId:d.string().optional()})},"agent.attachResolved":fe({request:Le,response:Re}),"turn.started":F.extend({messageId:d.string(),agentIds:d.array(d.string()),initiator:M.optional()}),"turn.completed":L,"turn.await":{request:d.object({sessionId:d.string(),turnId:d.string(),timeoutMs:d.number().int().positive()}),response:d.object({completion:L})},"user_message.sent":I.extend({content:i,agentIds:d.array(d.string()),source:d.enum([`extension`,`user`,`system`]).optional(),origin:D.optional()}),"user_message.acknowledged":I.extend({agentId:d.string()}),"user_message.completed":I.extend({agentId:d.string(),outcome:ie,supersededBy:d.string().optional(),mergedInto:d.string().optional(),error:d.string().optional()}),fork:{request:d.object({sourceSessionId:d.string(),fromMessageId:d.string().optional(),name:d.string().optional(),branchKind:d.enum([`fork`,`branch`,`aside`]).optional(),transforms:x.optional(),targetWorkingDirectory:d.string().optional(),existingSessionId:d.string().optional()}),response:d.object({sessionId:d.string()})}},z=d.enum([`idle`,`active`,`dead`,`disposed`]),B=d.object({agentId:d.string(),adapterId:d.string(),adapterName:d.string(),sessionId:d.string(),adapterSessionId:d.string().optional(),model:d.string().optional(),cwd:d.string().optional(),allowedDirectories:d.array(d.string()).optional(),providerConfigId:d.string().optional(),personaId:d.string().optional(),profileId:d.string().optional(),harnessId:d.string().optional(),clientId:d.string().optional(),compressionMode:le.optional(),role:h,status:z,createdAt:d.number(),lastActivityAt:d.number()}),V=d.object({sessionId:d.string(),createdAt:d.number(),lastActivityAt:d.number(),agents:d.array(B),status:d.enum([`active`,`closed`,`archived`,`discovered`]),leadAgentId:d.string().optional(),parentSessionId:d.string().optional(),contextInheritance:_.optional(),rootSessionId:d.string().optional(),forkPointMessageId:d.string().optional(),branchKind:g.optional(),adapterName:d.string().optional(),adapterSessionId:d.string().optional(),adapterId:d.string().optional(),clientId:d.string().optional(),clientAccountId:d.string().optional(),lastClientIdentityObservation:u.optional(),isOrchestrated:d.boolean().optional(),title:d.string().optional(),summary:d.string().optional(),summaryUpdatedAt:d.number().optional(),isImported:d.boolean().optional(),forkTransforms:x.optional(),targetWorkingDirectory:d.string().optional(),executionTargetId:d.string().optional(),spawningToolCallId:d.string().optional(),approvalPolicyOverride:l.nullable().optional(),source:d.string().optional(),parentExternalSessionId:d.string().optional(),logFilePath:d.string().optional(),discoveredAt:d.number().optional(),importStatus:v.optional()}),H=d.object({messageCount:d.number(),firstUserMessage:d.string().nullable()}),U=V.extend({preview:H.optional()}),ze=d.discriminatedUnion(`success`,[d.object({agentId:d.string(),adapterId:d.string(),success:d.literal(!0)}),d.object({agentId:d.string(),adapterId:d.string(),success:d.literal(!1),error:d.string()})]),W=d.object({sessionId:d.string().optional(),parentSessionId:d.string().optional(),contextInheritance:_.optional(),forkPointMessageId:d.string().optional(),branchKind:g.optional(),forkTransforms:x.optional(),title:d.string().optional(),targetWorkingDirectory:d.string().optional(),executionTargetId:d.string().optional(),spawningToolCallId:d.string().optional(),originWindowId:d.string().optional()});function G(e,t){e.spawningToolCallId&&e.branchKind!==`subagent`&&t.addIssue({code:d.ZodIssueCode.custom,path:[`spawningToolCallId`],message:`spawningToolCallId is only valid for subagent sessions`})}const Be={list:{request:f.schema(d.object({status:d.enum([`active`,`closed`,`archived`,`discovered`,`all`]).optional(),limit:d.number().int().min(1).optional(),offset:f.hidden(d.number().int().min(0).optional()),includePreview:d.boolean().optional(),executionTargetId:d.string().optional()}),{traceAll:!0}),response:d.object({sessions:d.array(U),total:d.number()})},search:{request:d.object({query:d.string(),limit:d.number().int().min(1).optional(),status:d.enum([`active`,`closed`,`archived`,`discovered`,`all`]).optional(),isImported:d.boolean().optional()}),response:d.object({sessions:d.array(U),total:d.number()})},get:{request:d.object({sessionId:d.string()}),response:d.object({session:V.nullable()})},create:{request:W.superRefine(G),response:d.object({sessionId:d.string()})},close:{request:d.object({sessionId:d.string()}),response:d.object({success:d.boolean()})},resume:{request:d.object({sessionId:d.string()}),response:d.object({success:d.boolean()})},restartAgents:{request:d.object({sessionId:d.string()}),response:d.object({sessionId:d.string(),results:d.array(ze)})},archive:{request:d.object({sessionId:d.string()}),response:d.object({success:d.boolean()})},purge:{request:d.object({sessionId:d.string()}),response:d.object({success:d.boolean(),eventsDeleted:d.number().optional(),error:d.string().optional()})},update:{request:d.object({sessionId:d.string(),executionTargetId:d.string().nullable().optional(),approvalPolicyOverride:l.nullable().optional(),title:d.string().optional()}),response:d.object({success:d.boolean()})},getByAdapterSessionId:{request:d.object({adapterSessionId:d.string()}),response:d.object({session:V.nullable()})},getStatusCounts:{request:d.object({}),response:d.object({all:d.number(),active:d.number(),closed:d.number(),archived:d.number(),discovered:d.number()})},registerExternal:{request:W.extend({adapterName:d.string(),adapterSessionId:d.string(),lastClientIdentityObservation:u.optional()}).superRefine(G),response:d.object({sessionId:d.string(),created:d.boolean()})}},K=d.object({sessionId:d.string(),eventId:d.string(),timestamp:d.number()}),Ve=d.discriminatedUnion(`type`,[K.extend({type:d.literal(`agent.added`),payload:d.object({sessionId:d.string(),adapterSessionId:d.string(),agentId:d.string(),adapterId:d.string(),adapterName:d.string(),role:d.enum([`lead`,`member`]).optional(),model:d.string().optional(),cwd:d.string().optional()})}),K.extend({type:d.literal(`user_message.sent`),payload:R[`user_message.sent`]}),K.extend({type:d.literal(`user_message.acknowledged`),payload:R[`user_message.acknowledged`]}),K.extend({type:d.literal(`user_message.completed`),payload:R[`user_message.completed`]}),K.extend({type:d.literal(`turn.started`),payload:R[`turn.started`]}),K.extend({type:d.literal(`turn.completed`),payload:R[`turn.completed`]}),K.extend({type:d.literal(`message`),payload:d.object({messageId:d.string(),turnId:d.string().nullable(),role:d.enum([`user`,`assistant`])})}),K.extend({type:d.literal(`branch.created`),payload:d.object({childSessionId:d.string(),parentSessionId:d.string(),kind:g,forkPointMessageId:d.string().optional()})}),K.extend({type:d.literal(`branch.merged`),payload:d.object({childSessionId:d.string(),parentSessionId:d.string(),resultJson:d.string().optional(),resultMessageId:d.string().optional()})}),K.extend({type:d.literal(`squash`),payload:d.object({summaryJson:d.string(),tokensBefore:d.number().optional(),tokensAfter:d.number().optional(),compressedMessageIds:d.array(d.string()).optional()})})]),q=[`message`,`agent.added`,`turn.started`,`turn.completed`,`user_message.sent`,`user_message.acknowledged`,`user_message.completed`,`branch.created`,`branch.merged`,`squash`],He=q,Ue=K.extend({type:d.string().refine(e=>!q.includes(e),{message:`Plugin session event type must not shadow a core event type.`}),payload:d.record(d.string(),d.unknown())}),J=d.union([Ve,Ue]),We=d.string(),Y=d.object({sessionId:d.string().min(1),clientId:d.string().min(1),previousClientAccountId:d.string().min(1).nullable(),clientAccountId:d.string().min(1),source:d.string().min(1),observedAt:d.number().int().finite().nonnegative(),lastClientIdentityObservation:u}),X=d.object({sessionId:d.string(),importStatus:v}),Ge={"agent.added":d.object({sessionId:d.string(),adapterSessionId:d.string(),agentId:d.string(),adapterId:d.string(),adapterName:d.string(),role:h.optional(),model:d.string().optional(),cwd:d.string().optional()}),"agent.removed":d.object({sessionId:d.string(),agentId:d.string()}),closed:d.object({sessionId:d.string(),reason:d.string().optional()}),resumed:d.object({sessionId:d.string()}),archived:d.object({sessionId:d.string()}),purged:d.object({sessionId:d.string()}),compressed:d.object({sessionId:d.string(),eventId:d.string()}),"clientAccount.changed":Y,"connectorSwap.editRequested":d.object({sessionId:d.string(),agentId:d.string(),previousCwd:d.string().optional(),newCwd:d.string().optional(),previousModel:d.string().optional(),newModel:d.string().optional()}),getContextWindowState:{request:d.object({sessionId:d.string()}),response:d.object({state:d.object({currentTokens:d.number(),maxTokens:d.number(),percentage:d.number(),level:d.enum([`ok`,`warn`,`critical`]),lastUpdatedAt:d.number()}).nullable()})},importStatusChanged:X,"import.completed":d.object({sessionId:d.string(),adapterSessionId:d.string(),source:d.string()}),event:J},Z=d.object({includeEvents:d.boolean().default(!1),includeToolOutputs:d.boolean().default(!1),includeAncestors:d.boolean().default(!0),includeChildren:d.boolean().default(!1)}),Ke=`1.0`,Q=d.object({version:d.literal(`1.0`),exportedAt:d.number(),options:Z,sessions:d.array(V),agents:d.array(B),messages:d.array(O),turns:d.array(N),events:d.array(J).optional()});function qe(e){return Q.parse(e)}function Je(e){let t=Q.safeParse(e);return t.success?{success:!0,data:t.data}:{success:!1,error:t.error}}const Ye={"snapshot.export":{request:d.object({sessionId:d.string(),options:Z.optional()}),response:d.object({snapshot:Q})},"snapshot.import":{request:d.object({snapshot:Q,onConflict:d.enum([`fail`,`skip`,`overwrite`]).default(`fail`)}),response:d.object({imported:d.array(d.string()),skipped:d.array(d.string()),errors:d.array(d.object({sessionId:d.string(),error:d.string()}))})},"snapshot.validate":{request:d.object({snapshot:d.unknown()}),response:d.object({valid:d.boolean(),errors:d.array(d.string())})}},Xe={resolveAgentConfig:{request:d.object({selection:s,projectId:d.string().optional()}),response:d.object({adapterName:d.string(),model:d.string().optional(),providerConfigId:d.string().optional(),reasoningEffort:n.optional(),supportedReasoningLevels:ee.optional(),systemPrompt:r.optional(),allowedTools:d.array(d.string()).optional(),disallowedTools:d.array(d.string()).optional(),allowedDirectories:d.array(d.string()).optional()})}},Ze={resolveSystemPrompt:{request:d.object({sessionId:d.string(),personaId:d.string().optional(),profileId:d.string().optional()}),response:d.object({systemPrompt:d.string(),personaName:d.string().optional(),profileName:d.string().optional()})}},Qe={enrichContext:{request:d.object({sessionId:d.string()}),response:d.record(d.string(),d.unknown())}},$e={...Be,...Ge,...Ye,...Me,...R,...Xe,...Ze,...Qe},$=d.object({adapterId:d.string(),harnessId:d.string().optional(),clientId:d.string().optional(),clientProfileName:ue.optional(),initialMessage:i.optional(),responseSchema:a.optional(),model:d.string().optional(),reasoningEffort:n.optional(),adapterConfig:t.optional(),env:d.record(d.string(),d.string()).optional(),role:h,sessionContext:w.optional(),mcpSessionContext:d.union([ce,oe]).optional(),providerContext:c.optional(),ephemeral:d.boolean().optional()}).merge(m),et={request:d.union([$.extend({mode:d.literal(`fork`),sessionId:d.string(),sourceSessionId:d.string()}),$.extend({mode:d.literal(`resume`),sessionId:d.string(),adapterSessionId:d.string()}),$.extend({mode:d.literal(`create`).optional(),sessionId:d.string().optional()})]).superRefine((e,t)=>{let n=e.mode??`create`;e.ephemeral&&n!==`create`&&t.addIssue({code:d.ZodIssueCode.custom,path:[`ephemeral`],message:`ephemeral is only supported for create mode`}),e.ephemeral&&e.initialMessage===void 0&&t.addIssue({code:d.ZodIssueCode.custom,path:[`initialMessage`],message:`ephemeral startAgent requires initialMessage`})}),response:d.discriminatedUnion(`success`,[d.object({success:d.literal(!0),agentId:d.string(),adapterId:d.string(),adapterSessionId:d.string(),sessionId:d.string(),messageId:d.string().optional()}),d.object({success:d.literal(!1),message:d.string()})])},tt={request:d.object({adapterId:d.string(),prompt:d.string(),model:d.string().optional(),systemPrompt:d.string().optional(),responseSchema:a.optional(),providerContext:c.optional()}),response:d.object({text:d.string(),usage:d.object({inputTokens:d.number(),outputTokens:d.number()}).optional()})},nt={request:d.object({adapterId:d.string()}),response:d.object({agents:d.array(d.object({agentId:d.string(),sessionId:d.string(),adapterSessionId:d.string()}))})},rt={request:d.object({adapterId:d.string(),agentId:d.string()}),response:d.object({agent:d.object({agentId:d.string(),sessionId:d.string(),adapterSessionId:d.string()}).nullable()})},it={request:d.object({adapterId:d.string(),agentId:d.string()}),response:d.object({success:d.boolean()})},at={request:d.object({adapterId:d.string(),agentId:d.string(),cwd:d.string().optional(),model:d.string().optional(),adapterSessionId:d.string().optional()}),response:d.object({})},ot={request:d.object({adapterName:d.string()}),response:d.object({found:d.boolean(),adapterName:d.string(),jsonSchema:d.record(d.string(),d.unknown()).nullable()})},st=p.extend({agentId:d.string(),sessionId:d.string(),adapterSessionId:d.string().optional()}),ct=p.extend({adapterSessionId:d.string(),sessionId:d.string(),model:d.string()}),lt=p.extend({sessionId:d.string(),adapterSessionId:d.string(),totalInputTokens:d.number(),totalOutputTokens:d.number(),totalCalls:d.number()}),ut=p.extend({agentId:d.string(),sessionId:d.string(),adapterSessionId:d.string(),reason:d.string().optional()}),dt=p.extend({message:d.string(),timestamp:d.number(),level:d.enum([`debug`,`info`,`warn`,`error`]).optional()}),ft=p.extend({error:d.string(),sessionId:d.string().optional(),errorCategory:re.optional()}),pt=p.extend({capabilities:d.array(d.string()),nativeTools:d.array(d.string()).optional()}),mt=p.extend({provider:d.string(),quotaType:d.string(),limit:d.number(),used:d.number(),overage:d.number(),resetDate:d.string()}),ht=d.object({agentId:d.string(),adapterId:d.string(),adapterName:d.string(),sessionId:d.string().optional(),adapterSessionId:d.string(),messageId:d.string().optional(),turnId:d.string().optional(),clientId:d.string().optional(),providerConfigId:d.string().optional(),occurredAt:d.number().optional()}),gt=d.object({model:d.string().nullable(),cwd:d.string().nullable()}),_t=ht.merge(gt),vt=p.merge(gt).extend({adapterSessionId:d.string(),title:d.string().optional(),logFilePath:d.string().nullable().optional(),startedAt:d.number().finite().optional()}).and(de);export{S as $,J as A,P as B,Ke as C,qe as D,Je as E,H as F,M as G,D as H,U as I,j as J,N as K,z as L,We as M,W as N,Y as O,V as P,b as Q,B as R,Xe as S,Z as T,E as U,T as V,O as W,w as X,A as Y,x as Z,tt as _,pt as a,_ as at,Qe as b,ut as c,st as d,C as et,ot as f,nt as g,rt as h,mt as i,v as it,He as j,X as k,lt as l,it as m,_t as n,h as nt,ft as o,pe as ot,at as p,k as q,ht as r,g as rt,dt as s,m as st,vt as t,y as tt,ct as u,et as v,Q as w,Ze as x,$e as y,Ne as z};
|
|
@@ -26,9 +26,9 @@ declare const TrayMenuEntrySchema: z.ZodObject<{
|
|
|
26
26
|
/** A group entry inherits its owning package and section from the group. */
|
|
27
27
|
declare const TrayMenuGroupEntrySchema: z.ZodObject<{
|
|
28
28
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
29
|
+
label: z.ZodString;
|
|
29
30
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
30
31
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
31
|
-
label: z.ZodString;
|
|
32
32
|
entryId: z.ZodString;
|
|
33
33
|
}, z.core.$strip>;
|
|
34
34
|
/** Ordered group of tray entries contributed by one package. */
|
|
@@ -37,9 +37,9 @@ declare const TrayMenuGroupSchema: z.ZodObject<{
|
|
|
37
37
|
groupId: z.ZodString;
|
|
38
38
|
entries: z.ZodArray<z.ZodObject<{
|
|
39
39
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
40
|
+
label: z.ZodString;
|
|
40
41
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
41
42
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
42
|
-
label: z.ZodString;
|
|
43
43
|
entryId: z.ZodString;
|
|
44
44
|
}, z.core.$strip>>;
|
|
45
45
|
section: z.ZodEnum<{
|
|
@@ -109,9 +109,9 @@ declare const TrayMenuSchemas: {
|
|
|
109
109
|
groupId: z.ZodString;
|
|
110
110
|
entries: z.ZodArray<z.ZodObject<{
|
|
111
111
|
metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
112
|
+
label: z.ZodString;
|
|
112
113
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
113
114
|
priority: z.ZodDefault<z.ZodNumber>;
|
|
114
|
-
label: z.ZodString;
|
|
115
115
|
entryId: z.ZodString;
|
|
116
116
|
}, z.core.$strip>>;
|
|
117
117
|
section: z.ZodEnum<{
|