@makaio/framework 1.0.0-dev-1789148673705 → 1.0.0-dev-1789160791094
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/artifact-B-PQO_TB.mjs +1 -0
- package/dist/bus/index.d.mts +41 -1
- package/dist/bus/index.mjs +1 -8
- package/dist/bus-DU_7GM0J.mjs +9 -0
- package/dist/contracts/artifact/index.d.mts +2 -2
- package/dist/contracts/artifact/index.mjs +1 -1
- package/dist/contracts/capabilities/index.d.mts +1 -1
- package/dist/contracts/client/index.d.mts +1 -1
- package/dist/contracts/extension/index.d.mts +2 -2
- package/dist/contracts/index.d.mts +12 -12
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +1 -1
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/worker/index.mjs +1 -1
- package/dist/contracts/workflow/index.d.mts +1 -1
- package/dist/contracts/workflow/index.mjs +1 -1
- package/dist/{index-Zf9Zayey2.d.mts → index-BUoIGZmF2.d.mts} +43 -43
- package/dist/{index-2YEh0vHQ.d.mts → index-Bt9YxVg5.d.mts} +12 -12
- package/dist/{index-OLGGmjgd.d.mts → index-CU9xmTkP.d.mts} +1 -1
- package/dist/{index-DKI-qw1F.d.mts → index-CdPWA8co.d.mts} +19 -19
- package/dist/{index-LFS-KagP.d.mts → index-DN2Odrnz.d.mts} +173 -6
- package/dist/{index-DC2C-u2k.d.mts → index-DhW9WHFS.d.mts} +1 -1
- package/dist/{index-Bk-hwMue.d.mts → index-KmZLl8Ne.d.mts} +3 -3
- package/dist/{index-DcfuHw2O.d.mts → index-WhgPewY4.d.mts} +6 -6
- package/dist/{namespace-Bw7YLQHw.d.mts → namespace-CvCk6Y9i.d.mts} +25 -25
- package/dist/{namespace-BHkEHrUG.d.mts → namespace-DyWNxLt1.d.mts} +6 -6
- package/dist/{namespace-BD4lgMfP.d.mts → namespace-TX9DlWiQ.d.mts} +1 -1
- package/dist/package.json +1 -1
- package/dist/{schema-CbmZYwEl.d.mts → schema-B098Jz9p.d.mts} +1 -1
- package/dist/{schemas-COQUToGQ.d.mts → schemas-BGcAiQE0.d.mts} +4 -4
- package/dist/{schemas-DYtUc2WA.d.mts → schemas-FkLOBJgq.d.mts} +4 -4
- package/dist/{schemas-DNvDh0eE2.d.mts → schemas-Fn-eeay32.d.mts} +7 -7
- package/dist/services/adapter-subsystem/index.d.mts +2 -2
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/git/namespace.d.mts +2 -2
- package/dist/services/git/schemas.d.mts +2 -2
- package/dist/services/index.d.mts +16 -16
- package/dist/services/preferences/index.d.mts +2 -2
- package/dist/services/preferences/schemas.d.mts +1 -1
- package/dist/services/preferences/storage-namespace.d.mts +2 -2
- package/dist/services/provider-context/index.d.mts +1 -1
- package/dist/services/session/index.d.mts +5 -5
- package/dist/services/session/messages/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/{storage-namespace-DITavhRL.d.mts → storage-namespace-BUSNKZLw.d.mts} +10 -10
- package/dist/{types-BrD4l8JJ.d.mts → types-HFQQoeAz.d.mts} +11 -11
- package/dist/ui-kernel/index.d.mts +4 -4
- package/dist/ui-kernel/pages/namespace.d.mts +4 -4
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/{view-builder--qgYM35J.d.mts → view-builder-ADC1ng2t.d.mts} +1 -1
- package/dist/{worker-DHZKWcLx.mjs → worker-CrYtBGy1.mjs} +1 -1
- package/dist/workflow-engine/index.d.mts +15 -15
- package/dist/{workflow-D8uoSvcR.mjs → workflow-mCL6Xv-J.mjs} +1 -1
- package/package.json +1 -1
- package/dist/artifact-0LaQv515.mjs +0 -1
- package/dist/bus-CobBUqjo.mjs +0 -2
- package/dist/bus-Uy9C3TBM.mjs +0 -1
- package/dist/scoped-bus-DwVrmi_1.mjs +0 -1
|
@@ -1186,8 +1186,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
|
|
|
1186
1186
|
"delegate-agent": "delegate-agent";
|
|
1187
1187
|
"delegate-role": "delegate-role";
|
|
1188
1188
|
sequence: "sequence";
|
|
1189
|
-
parallel: "parallel";
|
|
1190
1189
|
gate: "gate";
|
|
1190
|
+
parallel: "parallel";
|
|
1191
1191
|
iterate: "iterate";
|
|
1192
1192
|
"iterate-chain": "iterate-chain";
|
|
1193
1193
|
loop: "loop";
|
|
@@ -1231,8 +1231,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
|
|
|
1231
1231
|
"delegate-agent": "delegate-agent";
|
|
1232
1232
|
"delegate-role": "delegate-role";
|
|
1233
1233
|
sequence: "sequence";
|
|
1234
|
-
parallel: "parallel";
|
|
1235
1234
|
gate: "gate";
|
|
1235
|
+
parallel: "parallel";
|
|
1236
1236
|
iterate: "iterate";
|
|
1237
1237
|
"iterate-chain": "iterate-chain";
|
|
1238
1238
|
loop: "loop";
|
|
@@ -1589,8 +1589,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
|
|
|
1589
1589
|
"delegate-agent": "delegate-agent";
|
|
1590
1590
|
"delegate-role": "delegate-role";
|
|
1591
1591
|
sequence: "sequence";
|
|
1592
|
-
parallel: "parallel";
|
|
1593
1592
|
gate: "gate";
|
|
1593
|
+
parallel: "parallel";
|
|
1594
1594
|
iterate: "iterate";
|
|
1595
1595
|
"iterate-chain": "iterate-chain";
|
|
1596
1596
|
loop: "loop";
|
|
@@ -1635,8 +1635,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
|
|
|
1635
1635
|
"delegate-agent": "delegate-agent";
|
|
1636
1636
|
"delegate-role": "delegate-role";
|
|
1637
1637
|
sequence: "sequence";
|
|
1638
|
-
parallel: "parallel";
|
|
1639
1638
|
gate: "gate";
|
|
1639
|
+
parallel: "parallel";
|
|
1640
1640
|
iterate: "iterate";
|
|
1641
1641
|
"iterate-chain": "iterate-chain";
|
|
1642
1642
|
loop: "loop";
|
|
@@ -1678,8 +1678,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
|
|
|
1678
1678
|
"delegate-agent": "delegate-agent";
|
|
1679
1679
|
"delegate-role": "delegate-role";
|
|
1680
1680
|
sequence: "sequence";
|
|
1681
|
-
parallel: "parallel";
|
|
1682
1681
|
gate: "gate";
|
|
1682
|
+
parallel: "parallel";
|
|
1683
1683
|
iterate: "iterate";
|
|
1684
1684
|
"iterate-chain": "iterate-chain";
|
|
1685
1685
|
loop: "loop";
|
|
@@ -3327,7 +3327,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
|
|
|
3327
3327
|
tableName: "workflow_execution_frames";
|
|
3328
3328
|
dataType: "string";
|
|
3329
3329
|
columnType: "SQLiteText";
|
|
3330
|
-
data: "station" | "delegate-agent" | "delegate-role" | "sequence" | "
|
|
3330
|
+
data: "station" | "delegate-agent" | "delegate-role" | "sequence" | "gate" | "parallel" | "iterate" | "iterate-chain" | "loop";
|
|
3331
3331
|
driverParam: string;
|
|
3332
3332
|
notNull: true;
|
|
3333
3333
|
hasDefault: false;
|
|
@@ -3340,7 +3340,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
|
|
|
3340
3340
|
generated: undefined;
|
|
3341
3341
|
}, {}, {
|
|
3342
3342
|
length: number | undefined;
|
|
3343
|
-
$type: "station" | "delegate-agent" | "delegate-role" | "sequence" | "
|
|
3343
|
+
$type: "station" | "delegate-agent" | "delegate-role" | "sequence" | "gate" | "parallel" | "iterate" | "iterate-chain" | "loop";
|
|
3344
3344
|
}>;
|
|
3345
3345
|
path: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
|
|
3346
3346
|
name: string;
|
|
@@ -5141,7 +5141,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
|
|
|
5141
5141
|
tableName: "worklog_frame_entries";
|
|
5142
5142
|
dataType: "string";
|
|
5143
5143
|
columnType: "SQLiteText";
|
|
5144
|
-
data: "station" | "delegate-agent" | "delegate-role" | "sequence" | "
|
|
5144
|
+
data: "station" | "delegate-agent" | "delegate-role" | "sequence" | "gate" | "parallel" | "iterate" | "iterate-chain" | "loop";
|
|
5145
5145
|
driverParam: string;
|
|
5146
5146
|
notNull: true;
|
|
5147
5147
|
hasDefault: false;
|
|
@@ -5154,7 +5154,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
|
|
|
5154
5154
|
generated: undefined;
|
|
5155
5155
|
}, {}, {
|
|
5156
5156
|
length: number | undefined;
|
|
5157
|
-
$type: "station" | "delegate-agent" | "delegate-role" | "sequence" | "
|
|
5157
|
+
$type: "station" | "delegate-agent" | "delegate-role" | "sequence" | "gate" | "parallel" | "iterate" | "iterate-chain" | "loop";
|
|
5158
5158
|
}>;
|
|
5159
5159
|
path: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
|
|
5160
5160
|
name: string;
|
|
@@ -6809,8 +6809,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
|
|
|
6809
6809
|
"delegate-agent": "delegate-agent";
|
|
6810
6810
|
"delegate-role": "delegate-role";
|
|
6811
6811
|
sequence: "sequence";
|
|
6812
|
-
parallel: "parallel";
|
|
6813
6812
|
gate: "gate";
|
|
6813
|
+
parallel: "parallel";
|
|
6814
6814
|
iterate: "iterate";
|
|
6815
6815
|
"iterate-chain": "iterate-chain";
|
|
6816
6816
|
loop: "loop";
|
|
@@ -6854,8 +6854,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
|
|
|
6854
6854
|
"delegate-agent": "delegate-agent";
|
|
6855
6855
|
"delegate-role": "delegate-role";
|
|
6856
6856
|
sequence: "sequence";
|
|
6857
|
-
parallel: "parallel";
|
|
6858
6857
|
gate: "gate";
|
|
6858
|
+
parallel: "parallel";
|
|
6859
6859
|
iterate: "iterate";
|
|
6860
6860
|
"iterate-chain": "iterate-chain";
|
|
6861
6861
|
loop: "loop";
|
|
@@ -7212,8 +7212,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
|
|
|
7212
7212
|
"delegate-agent": "delegate-agent";
|
|
7213
7213
|
"delegate-role": "delegate-role";
|
|
7214
7214
|
sequence: "sequence";
|
|
7215
|
-
parallel: "parallel";
|
|
7216
7215
|
gate: "gate";
|
|
7216
|
+
parallel: "parallel";
|
|
7217
7217
|
iterate: "iterate";
|
|
7218
7218
|
"iterate-chain": "iterate-chain";
|
|
7219
7219
|
loop: "loop";
|
|
@@ -7258,8 +7258,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
|
|
|
7258
7258
|
"delegate-agent": "delegate-agent";
|
|
7259
7259
|
"delegate-role": "delegate-role";
|
|
7260
7260
|
sequence: "sequence";
|
|
7261
|
-
parallel: "parallel";
|
|
7262
7261
|
gate: "gate";
|
|
7262
|
+
parallel: "parallel";
|
|
7263
7263
|
iterate: "iterate";
|
|
7264
7264
|
"iterate-chain": "iterate-chain";
|
|
7265
7265
|
loop: "loop";
|
|
@@ -7301,8 +7301,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
|
|
|
7301
7301
|
"delegate-agent": "delegate-agent";
|
|
7302
7302
|
"delegate-role": "delegate-role";
|
|
7303
7303
|
sequence: "sequence";
|
|
7304
|
-
parallel: "parallel";
|
|
7305
7304
|
gate: "gate";
|
|
7305
|
+
parallel: "parallel";
|
|
7306
7306
|
iterate: "iterate";
|
|
7307
7307
|
"iterate-chain": "iterate-chain";
|
|
7308
7308
|
loop: "loop";
|
|
@@ -8379,7 +8379,7 @@ declare const worklogFrameEntriesDual: _$_makaio_storage_drizzle0.DualTable<"wor
|
|
|
8379
8379
|
/** Unique frame identifier within the execution. */frameId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"frame_id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"frame_id", [string, ...string[]]>>>>; /** Execution this frame belongs to. */
|
|
8380
8380
|
executionId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"execution_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"execution_id", [string, ...string[]]>>>; /** Node identifier from the workflow definition. */
|
|
8381
8381
|
nodeId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"node_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"node_id", [string, ...string[]]>>>; /** Node type discriminant. */
|
|
8382
|
-
nodeType: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"node_type", [string, ...string[]], number | undefined>>, "station" | "delegate-agent" | "delegate-role" | "sequence" | "
|
|
8382
|
+
nodeType: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"node_type", [string, ...string[]], number | undefined>>, "station" | "delegate-agent" | "delegate-role" | "sequence" | "gate" | "parallel" | "iterate" | "iterate-chain" | "loop">, _$drizzle_orm0.$Type<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"node_type", [string, ...string[]]>>, "station" | "delegate-agent" | "delegate-role" | "sequence" | "gate" | "parallel" | "iterate" | "iterate-chain" | "loop">>;
|
|
8383
8383
|
/**
|
|
8384
8384
|
* Ordered path of frame IDs from the root frame to this frame (inclusive).
|
|
8385
8385
|
* Stored as a JSON array for tree correlation.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,i as t,n,o as r}from"./json-value-DM-EjTC1.mjs";import{a as i,d as a,f as o}from"./schemas-BhkprYU1.mjs";import{l as s}from"./kind-registration-CyMf-vey.mjs";import"./artifact-0LaQv515.mjs";import{t as c}from"./zod-json-schema-DGWHUOK0.mjs";import{a as l}from"./visibility-cMXbf9nY.mjs";import"./model-Dya0clsM.mjs";import{t as u}from"./provider-context-BpabfMlj.mjs";import{a as d,o as f}from"./schemas-pBrUJEN6.mjs";import{A as ee,M as te,O as ne,k as p}from"./worker-B0xwfo9-.mjs";import{r as re}from"./schemas-mLjTSUvJ.mjs";import{z as m}from"zod";import{createBusNamespace as h,getFullSubjectForSubjectDefinition as ie,observability as g,splitSubjectKey as ae}from"@makaio/framework/core";const _=m.object({kind:m.string().min(1),id:m.string().min(1)});function oe(e){return`${ce(e.kind)}:${ce(e.id)}`}function se(e){let t=le(e);if(t<1)throw Error(`Invalid artifact ref key: ${e}`);let n=ue(e.slice(t+1));if(n.length===0)throw Error(`Invalid artifact ref key (empty id): ${e}`);return{kind:ue(e.slice(0,t)),id:n}}function ce(e){return e.replace(/\\/g,`\\\\`).replace(/:/g,`\\:`)}function le(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(t){t=!1;continue}if(r===`\\`){t=!0;continue}if(r===`:`)return n}return-1}function ue(e){let t=``,n=!1;for(let r of e){if(n){if(r!==`\\`&&r!==`:`)throw Error(`Invalid artifact ref key component: ${e}`);t+=r,n=!1;continue}if(r===`\\`){n=!0;continue}t+=r}if(n)throw Error(`Invalid artifact ref key component: ${e}`);return t}const de=m.enum([`completed`,`failed`,`cancelled`]),fe=m.object({status:de,completedAt:m.number().int().nonnegative(),error:m.string().min(1).optional(),reason:m.string().min(1).optional()}).strict(),pe=m.object({executionId:m.string().min(1),workflowId:m.string().min(1),finalizerId:m.string().min(1),transitionKey:m.string().min(1),claimToken:m.string().min(1),intent:fe,claimedAt:m.number().int().nonnegative()}).strict(),me=m.object({accepted:m.boolean()}).strict(),he=/^[a-z0-9]+(?:[._-][a-z0-9]+)*$/,v=m.string().regex(he,`Workflow finalizer IDs must be lowercase dot, dash, or underscore separated names.`),y=m.string().regex(he,`Workflow delegate result finalizer IDs must be lowercase dot, dash, or underscore separated names.`),ge=m.object({toolName:m.string().min(1),outcome:m.enum([`success`,`failure`]).optional(),artifact:m.object({kind:m.string().min(1),id:m.string().min(1),revision:m.string().min(1)}).strict().optional()}).strict().superRefine((e,t)=>{e.artifact!==void 0&&e.outcome!==`success`&&t.addIssue({code:`custom`,path:[`artifact`],message:`requires an explicit successful outcome`})}),_e=m.object({durationMs:m.number().int().nonnegative(),inputTokens:m.number().int().nonnegative().optional(),outputTokens:m.number().int().nonnegative().optional(),cachedInputTokens:m.number().int().nonnegative().optional(),toolCallCount:m.number().int().nonnegative().optional(),binding:m.object({adapterName:m.string().min(1),providerConfigId:m.string().min(1).optional(),providerDefinitionId:m.string().min(1).optional(),model:m.string().min(1).optional(),auth:m.object({mode:m.enum([`explicit`,`inferred`,`none`]),owner:m.enum([`provider`,`client`]),methodId:m.string().min(1)}).strict().optional()}).strict()}).strict(),b=m.object({executionId:m.string().min(1),workflowId:m.string().min(1),frameId:m.string().min(1),nodeId:m.string().min(1),nodeType:m.enum([`delegate-agent`,`delegate-role`]),rawResult:r,toolObservations:m.array(ge),economics:_e.optional()}).strict(),ve=b.extend({finalizerId:y}).strict(),x=m.object({output:r}).strict();function ye(e){if(!v.safeParse(e).success)throw Error(`Invalid workflow finalizer ID: "${e}"`);let t=`workflow-finalizer:${e}`,n=h(t,{finalize:{request:pe,response:me}});return{namespaceDomain:t,namespace:n,subjects:n.subjects}}function be(e){if(!y.safeParse(e).success)throw Error(`Invalid workflow delegate result finalizer ID: "${e}"`);let t=`workflow-delegate-finalizer:${e}`,n=h(t,{finalize:{request:b,response:x}});return{namespaceDomain:t,namespace:n,subjects:n.subjects}}const S=m.union([m.string(),m.number(),m.boolean(),m.null()]),xe=m.union([S,m.object({$in:m.array(S)}).strict(),m.object({$ne:S}).strict(),m.object({$exists:m.boolean()}).strict(),m.object({$startsWith:m.string()}).strict(),m.object({$endsWith:m.string()}).strict()]),Se=m.record(m.string(),xe),Ce=m.object({kind:re,params:t,filter:Se.optional(),filterExpression:m.string().optional()}),C=m.discriminatedUnion(`type`,[m.object({type:m.literal(`global`)}).strict(),m.object({type:m.literal(`workspace`),id:m.string().min(1)}).strict(),m.object({type:m.literal(`session`),id:m.string().min(1)}).strict(),m.object({type:m.literal(`external`),kind:m.string().min(1),id:m.string().min(1)}).strict()]),w=m.string().min(1),T=m.object({kind:m.string().min(1),schemaVersion:s,scope:o,resolve:m.string().min(1).optional(),create:m.string().min(1).optional(),statusPath:m.string().min(1).optional()}),we=m.object({kind:m.string().min(1),schemaVersion:s,scope:o,dataExpression:m.string().optional()}),Te=m.object({file:m.string().min(1),line:m.number().int().positive().optional(),column:m.number().int().positive().optional()}),E=m.enum([`station`,`delegate-agent`,`delegate-role`,`parallel`,`gate`,`iterate`,`iterate-chain`,`loop`,`sequence`]),Ee=m.enum([`all-settled`,`fail-fast`]),D=m.object({id:m.string().min(1),when:w.optional(),skip:w.optional(),writes:m.array(we).optional()}),O=m.lazy(()=>m.discriminatedUnion(`type`,[A,De,Oe,ke,Ae,je,Me,Pe,k])),k=D.extend({type:m.literal(`sequence`),nodes:m.lazy(()=>m.array(O))}),A=D.extend({type:m.literal(`station`),prompt:m.string().min(1),role:m.string().min(1).optional(),outputSchema:e.optional(),timeoutMs:m.number().int().positive().optional(),completion:d.optional()}),De=D.extend({type:m.literal(`delegate-agent`),agentId:m.string().min(1),inputExpression:m.string().optional(),outputSchema:e.optional(),allowedTools:m.array(m.string()).optional(),completion:d.optional(),resultFinalizerId:y.optional()}),Oe=D.extend({type:m.literal(`delegate-role`),role:m.string().min(1),prompt:m.string().min(1),outputSchema:e.optional(),allowedTools:m.array(m.string()).optional(),resultFinalizerId:y.optional(),timeoutMs:m.number().int().positive().optional(),completion:d.optional()}),ke=D.extend({type:m.literal(`parallel`),mode:Ee.optional(),branches:m.record(m.string().min(1),m.lazy(()=>k))}),Ae=D.extend({type:m.literal(`gate`),prompt:m.string().min(1),title:m.string().optional(),autoAction:m.enum([`approve`,`reject`]),timeoutMs:m.number().int().positive().nullable(),resumeSchema:e.optional()}),je=D.extend({type:m.literal(`iterate`),collection:m.string().min(1),body:m.lazy(()=>k),concurrency:m.number().int().nonnegative().optional()}),Me=D.extend({type:m.literal(`iterate-chain`),collection:m.string().min(1),body:m.lazy(()=>k)}),Ne=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`pass`)}).strict(),m.object({kind:m.literal(`loop`)}).strict(),m.object({kind:m.literal(`escalate`),reason:m.string().min(1)}).strict()]),Pe=D.extend({type:m.literal(`loop`),maxRounds:m.number().int().positive(),body:m.lazy(()=>k),gate:m.object({handler:m.string().min(1),input:m.string().min(1).optional(),config:r.optional(),escalation:m.object({title:m.string().optional(),prompt:m.string().min(1),resumeSchema:e.optional(),autoAction:m.enum([`approve`,`reject`]).default(`reject`),timeoutMs:m.number().int().positive().nullable().default(null)}).strict().optional()}).strict()}),Fe=m.object({factoryId:m.string().min(1),preview:m.array(m.lazy(()=>O)).optional(),sourceLocation:Te.optional()}),Ie=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`editor`)}).strict(),m.object({kind:m.literal(`extension`),extension:m.string().min(1),externalId:m.string().min(1).optional(),syncedAt:m.string().datetime().optional(),metadata:n.default({})}).strict()]),Le=m.object({schema:e,initial:r.optional()}),Re=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`path`),path:m.string().min(1)}).strict(),m.object({kind:m.literal(`source`),filename:m.string().min(1),source:m.string()}).strict(),m.object({kind:m.literal(`definition`),workflowId:m.string().min(1)}).strict()]),j=m.object({id:m.string().min(1),name:m.string().optional(),description:m.string().optional(),inputSchema:e.optional(),configSchema:e.optional(),outputSchema:e.optional(),state:Le.optional(),artifact:T.optional(),root:k,triggers:m.array(Ce).optional(),scope:C.default({type:`global`}),canvasLayout:m.record(m.string(),r).optional(),source:Ie.optional(),executableSource:Re.optional(),requirements:ee.optional(),successFinalizerId:v.optional()}),M=m.enum([`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]),N=m.object({id:m.string(),workflowId:m.string(),coordinatorSessionId:m.string().optional(),status:M,inputs:r,config:n.optional(),startedAt:m.number(),completedAt:m.number().optional(),error:m.string().optional(),reason:m.string().optional(),triggerPayload:n.optional(),scope:C,artifactRef:_.optional()}),ze=m.object({frameId:m.string(),nodeId:m.string(),nodeType:E,path:m.array(m.string()),parentFrameId:m.string().optional(),status:m.enum([`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]),attempt:m.number().int().nonnegative().default(0),iteration:m.number().int().nonnegative().optional(),branchKey:m.string().optional(),output:r.optional(),error:m.string().optional(),startedAt:m.number().optional(),completedAt:m.number().optional()}),P=m.enum([`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]),Be=m.object({executionId:m.string(),nodeId:m.string(),frameId:m.string(),schema:e,prompt:m.string().optional(),status:P,autoAction:m.enum([`approve`,`reject`]),timeoutMs:m.number().int().positive().nullable(),resumeData:r.optional(),reason:m.string().optional(),createdAt:m.number(),resolvedAt:m.number().optional()}),F=m.object({adapterName:m.string().min(1),providerConfigId:m.string().min(1).optional(),model:m.string().optional(),reasoningEffort:l.optional(),harnessId:m.string().optional(),systemPrompt:m.string().optional(),contextMode:f.optional(),providerContext:u.optional(),adapterConfig:n.optional(),tools:m.array(m.string()).optional(),disallowedTools:m.array(m.string()).optional(),allowedDirectories:m.array(m.string()).optional(),completion:d.optional()}),Ve=F,He=m.object({scope:C.optional()}),Ue=m.object({startedAt:m.number(),id:m.string()}),We=1,Ge=500,Ke=50,qe=m.object({workflowId:m.string().min(1).optional(),scope:C.optional(),status:M.optional(),artifactRef:_.optional(),limit:m.number().int().min(1).max(500).default(50),cursor:Ue.optional()}).refine(e=>e.workflowId!==void 0||e.scope!==void 0||e.artifactRef!==void 0,{message:`Either workflowId, scope, or artifactRef is required.`}),Je=200,Ye=100,Xe=10,Ze=m.object({refs:m.array(_).min(1).max(200),limitPerRef:m.number().int().min(1).max(100).default(10)}),Qe=m.object({executionId:m.string().min(1).optional(),status:P.optional(),limit:m.number().int().min(1).max(500).default(50)}).refine(e=>e.executionId!==void 0||e.status!==void 0,{message:`Either executionId or status is required.`}),I=m.enum([`station`,`delegate-agent`,`delegate-role`,`gate`]),$e=m.enum([`station`]),et=m.object({input:m.number().int().nonnegative(),output:m.number().int().nonnegative(),cached:m.number().int().nonnegative().optional()}),tt=m.object({duration:m.number().nonnegative(),tokenUsage:et.optional(),estimatedCost:m.number().nonnegative().optional(),toolCalls:m.number().int().nonnegative().optional()}),nt=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`none`)}).strict(),m.object({kind:m.literal(`hmac`),secret:m.string().min(1)}).strict()]),rt=m.object({cwd:m.string().min(1),env:m.record(m.string(),m.string()).optional()}),it=m.object({executionId:m.string().min(1),stepId:m.string().min(1),reason:m.string().optional()});function at(e){let t=ae(e);if(t===void 0)throw Error(`Invalid step cancel subject: ${e}`);return{subject:t.subject,$meta:{namespace:t.namespace,isRequest:!1,payload:{},local:!1,channel:!1}}}const ot=m.object({executionId:m.string().min(1),reason:m.string().optional()});function st(e){let t=ae(e);if(t===void 0)throw Error(`Invalid workflow cancel subject: ${e}`);return{subject:t.subject,$meta:{namespace:t.namespace,isRequest:!1,payload:{},local:!1,channel:!1}}}const ct=m.object({stepId:m.string().min(1),executionId:m.string().min(1),workflowId:m.string().min(1),coordinatorSessionId:m.string().min(1),stepType:$e,stepDefinition:A,resolvedInputs:n,busUrl:m.string().optional(),busAuth:nt.default({kind:`none`}),platformDefaults:rt,cancelSubject:m.string().min(1)}).superRefine((e,t)=>{e.stepType!==e.stepDefinition.type&&t.addIssue({code:`custom`,path:[`stepDefinition`,`type`],message:`stepDefinition.type must match stepType (${e.stepType})`})}),lt=`Workflow cancelled`,ut=m.object({status:m.enum([`completed`,`failed`]),output:r.optional(),error:m.string().optional(),telemetry:tt}),dt=m.enum([`running`,`completed`,`failed`,`skipped`]),ft=m.object({executionId:m.string().min(1),frameId:m.string().min(1),stepId:m.string().min(1),stepType:I,status:dt,startedAt:m.number().optional(),completedAt:m.number().optional(),durationMs:m.number().nonnegative().optional(),inputTokens:m.number().int().nonnegative().optional(),outputTokens:m.number().int().nonnegative().optional(),estimatedCost:m.number().nonnegative().optional(),toolCallCount:m.number().int().nonnegative().optional(),input:m.string().optional(),output:m.string().optional()}),pt=m.enum([`triggered-by`,`feedback-loop`,`rerun-of`]),L=m.object({sourceExecutionId:m.string().min(1),targetExecutionId:m.string().min(1),linkType:pt,metadata:m.record(m.string(),m.unknown()).optional()}),mt=m.object({sourceExecutionId:m.string().min(1).optional(),targetExecutionId:m.string().min(1).optional()}).refine(e=>e.sourceExecutionId!==void 0||e.targetExecutionId!==void 0,{message:`Either sourceExecutionId or targetExecutionId is required.`}),ht={RUN_CONTEXT_NOT_FOUND:`WORKFLOW_RUN_CONTEXT_NOT_FOUND`,SNAPSHOT_UNAVAILABLE:`WORKFLOW_SNAPSHOT_UNAVAILABLE`,SOURCE_MISMATCH:`WORKFLOW_SOURCE_MISMATCH`,NOT_EXECUTABLE:`WORKFLOW_NOT_EXECUTABLE`,HANDLER_UNAVAILABLE:`WORKFLOW_HANDLER_UNAVAILABLE`};var gt=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`WorkflowError`}};const R=m.string().refine(e=>e===``||e.startsWith(`/`),{message:`JSON Patch paths must be empty or start with "/".`}),_t=m.object({op:m.enum([`add`,`replace`,`test`]),path:R,value:r}).strict(),vt=m.object({op:m.literal(`remove`),path:R}).strict(),yt=m.object({op:m.enum([`move`,`copy`]),path:R,from:R}).strict(),z=m.discriminatedUnion(`op`,[_t,vt,yt]),bt=m.object({type:m.literal(`artifact-query`),query:i,select:m.enum([`latest`,`all`]),optional:m.boolean().optional()}),xt=m.object({type:m.literal(`bus-request`),subject:m.string().min(1),payload:m.record(m.string(),m.unknown()).optional(),optional:m.boolean().optional()}),St=m.discriminatedUnion(`type`,[bt,xt]),Ct=m.object({type:m.literal(`artifact`),kind:m.string().min(1),schemaVersion:s,scope:o,metadata:m.record(m.string(),m.unknown()).optional()}),wt=m.object({type:m.literal(`bus-event`),subject:m.string().min(1),payload:m.record(m.string(),m.unknown()).optional()}),Tt=m.discriminatedUnion(`type`,[Ct,wt]),Et=m.object({content:m.string(),metadata:m.record(m.string(),m.unknown()).optional()}),Dt=m.object({sources:m.record(m.string(),Et)}),Ot=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`none`)}).strict(),m.object({kind:m.literal(`hmac`),secret:m.string().min(1)}).strict()]),kt=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`path`),path:m.string().min(1)}).strict(),m.object({kind:m.literal(`source`),filename:m.string().min(1),source:m.string()}).strict(),m.object({kind:m.literal(`definition`),workflowId:m.string().min(1)}).strict()]),B=m.enum([`immediate`,`await-trigger`]),At=m.object({source:kt,definition:j.optional(),executionId:m.string().min(1),workflowId:m.string().min(1),triggerPayload:n.default({}),triggerMode:B.optional(),inputs:r.default({}),config:n.optional(),artifactRef:_.optional(),scope:C.default({type:`global`}),busUrl:m.string().optional(),busAuth:Ot.default({kind:`none`}),env:m.record(m.string(),m.string()).default({}),coordinatorSessionId:m.string().min(1),cancelSubject:m.string().min(1),suspensionStrategy:te.default(`wait-in-process`),terminalAuthority:m.enum([`worker`,`authority`]).optional(),materializationSpec:p.optional()}),V=m.object({executionId:m.string().min(1),workflowId:m.string().min(1)}),jt=m.discriminatedUnion(`status`,[V.extend({status:m.literal(`completed`),artifact:a.optional()}).strict(),V.extend({status:m.literal(`failed`),error:m.string().min(1)}).strict(),V.extend({status:m.literal(`cancelled`),reason:m.string().min(1).optional()}).strict(),V.extend({status:m.literal(`paused`),pausedAtGateId:m.string().min(1),pausedAtFrameId:m.string().min(1)}).strict()]),Mt=m.object({contributionRefs:m.array(ne)}).strict(),Nt=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`path`),path:m.string().min(1).refine(e=>!e.startsWith(`/`)&&!/^[A-Za-z]:[/\\]/.test(e),{message:`path must be workspace-relative (no leading / or drive letter)`})}).strict(),m.object({kind:m.literal(`source`),filename:m.string().min(1),source:m.string()}).strict(),m.object({kind:m.literal(`definition`),workflowId:m.string().min(1)}).strict()]),Pt=m.object({executionId:m.string().min(1),workflowId:m.string().min(1),source:Nt,definitionSnapshot:j.optional(),workerManifest:Mt.default({contributionRefs:[]}),inputs:r.default({}),config:n.optional(),scope:C.default({type:`global`}),triggerPayload:n.default({}),triggerMode:B.optional(),artifactRef:_.optional(),coordinatorSessionId:m.string().min(1),dispatchMetadata:n.optional(),cancelSubject:m.string().min(1),env:m.record(m.string(),m.string()).default({}),createdAt:m.number(),suspensionStrategy:te.default(`wait-in-process`),terminalAuthority:m.enum([`worker`,`authority`]).optional(),materializationSpec:p.optional()}).superRefine((e,t)=>{e.source.kind===`definition`&&e.definitionSnapshot===void 0&&t.addIssue({code:m.ZodIssueCode.custom,path:[`definitionSnapshot`],message:`definitionSnapshot is required when source.kind is "definition"`}),e.source.kind===`path`?e.materializationSpec===void 0?t.addIssue({code:m.ZodIssueCode.custom,path:[`materializationSpec`],message:`materializationSpec is required when source.kind is "path"`}):e.materializationSpec.sourcePath!==e.source.path&&t.addIssue({code:m.ZodIssueCode.custom,path:[`materializationSpec`,`sourcePath`],message:`materializationSpec.sourcePath must match source.path`}):e.materializationSpec!==void 0&&t.addIssue({code:m.ZodIssueCode.custom,path:[`materializationSpec`],message:`materializationSpec is only valid when source.kind is "path"`})}),H=m.object({executionId:m.string().min(1),workflowId:m.string().min(1),workflowName:m.string().optional(),status:m.enum([`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]),startedAt:m.number(),completedAt:m.number().optional(),durationMs:m.number().nonnegative().optional(),totalInputTokens:m.number().int().nonnegative().optional(),totalOutputTokens:m.number().int().nonnegative().optional(),totalEstimatedCost:m.number().nonnegative().optional(),error:m.string().optional(),failedNodeId:m.string().optional()}),Ft=m.object({executionId:m.string().min(1),frameId:m.string().min(1),nodeId:m.string().min(1),nodeType:E,path:m.array(m.string()),status:m.enum([`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]),attempt:m.number().int().nonnegative(),iteration:m.number().int().nonnegative().optional(),branchKey:m.string().optional(),startedAt:m.number().optional(),completedAt:m.number().optional(),durationMs:m.number().nonnegative().optional(),inputTokens:m.number().int().nonnegative().optional(),outputTokens:m.number().int().nonnegative().optional(),estimatedCost:m.number().nonnegative().optional(),error:m.string().optional()}),It=m.object({executionId:m.string().min(1),frameId:m.string().min(1),nodeId:m.string().min(1),artifact:T,revision:m.string().min(1).optional(),writtenAt:m.number()}),Lt=m.object({executionId:m.string().min(1),nodeId:m.string().min(1),frameId:m.string().min(1),status:m.enum([`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]),prompt:m.string().optional(),openedAt:m.number(),resolvedAt:m.number().optional(),resumeData:r.optional()}),Rt=m.object({executionId:m.string().min(1),inputTokens:m.number().int().nonnegative(),outputTokens:m.number().int().nonnegative(),cachedTokens:m.number().int().nonnegative().optional(),estimatedCost:m.number().nonnegative(),byModel:m.record(m.string(),m.object({inputTokens:m.number().int().nonnegative(),outputTokens:m.number().int().nonnegative(),estimatedCost:m.number().nonnegative()})).optional()}),zt=m.object({total:m.number().int().nonnegative(),byStatus:m.object({pending:m.number().int().nonnegative(),running:m.number().int().nonnegative(),paused:m.number().int().nonnegative(),finalizing:m.number().int().nonnegative(),completed:m.number().int().nonnegative(),failed:m.number().int().nonnegative(),cancelled:m.number().int().nonnegative()}),totalDurationMs:m.number().nonnegative(),totalInputTokens:m.number().int().nonnegative(),totalOutputTokens:m.number().int().nonnegative(),totalEstimatedCost:m.number().nonnegative()}),Bt=m.object({executionId:m.string().min(1),frameId:m.string().min(1),factoryId:m.string().min(1),materializedNodeIds:m.array(m.string().min(1)),factoryInput:e.optional(),materializedAt:m.number()}),Vt=`wfx-ext-`,Ht=m.object({frameId:m.string().min(1).optional(),nodeId:m.string().min(1),nodeType:I,path:m.array(m.string().min(1)).optional(),attempt:m.number().int().nonnegative().default(0),iteration:m.number().int().nonnegative().optional(),branchKey:m.string().min(1).optional(),startedAt:m.number().int().nonnegative().optional()}).strict(),Ut=m.object({frameId:m.string().min(1),nodeId:m.string().min(1),nodeType:I,path:m.array(m.string().min(1)),attempt:m.number().int().nonnegative().default(0),iteration:m.number().int().nonnegative().optional(),branchKey:m.string().min(1).optional(),startedAt:m.number().int().nonnegative(),durationMs:m.number().int().nonnegative().optional()}).strict(),Wt=m.object({executionId:m.string().startsWith(Vt,{message:`executionId must use the wfx-ext- prefix`}).optional(),name:m.string().min(1),startedAt:m.number().int().nonnegative().optional(),scope:C.optional(),artifactRef:_.optional(),input:r.optional(),triggerPayload:n.optional(),frame:Ht.optional()}).superRefine((e,t)=>{e.executionId!==void 0&&e.startedAt===void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`startedAt is required when executionId is supplied`,path:[`startedAt`]})}),Gt=m.object({executionId:m.string().min(1),status:m.enum([`completed`,`failed`,`cancelled`]),error:m.string().min(1).optional(),reason:m.string().min(1).optional(),completedAt:m.number().nonnegative().overwrite(e=>Math.trunc(e)).optional(),frame:Ut.optional()}).superRefine((e,t)=>{if(e.status===`failed`&&e.error===void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`status 'failed' requires a non-empty 'error' message`,path:[`error`]}),e.status===`cancelled`&&e.reason===void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`status 'cancelled' requires a non-empty 'reason' string`,path:[`reason`]}),e.status===`completed`&&e.error!==void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`status 'completed' must not carry an 'error'`,path:[`error`]}),e.status===`completed`&&e.reason!==void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`status 'completed' must not carry a 'reason'`,path:[`reason`]}),e.frame!==void 0&&e.completedAt===void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`completedAt is required when frame metadata is supplied`,path:[`completedAt`]}),e.frame!==void 0&&e.completedAt!==void 0){let n=e.completedAt-e.frame.startedAt;n<0&&t.addIssue({code:m.ZodIssueCode.custom,message:`completedAt must not precede frame.startedAt`,path:[`completedAt`]}),e.frame.durationMs!==void 0&&e.frame.durationMs!==n&&t.addIssue({code:m.ZodIssueCode.custom,message:`frame.durationMs must equal completedAt - frame.startedAt`,path:[`frame`,`durationMs`]})}}),Kt=m.object({message:m.string().min(1),details:m.string().min(1).optional(),kind:m.string().min(1).optional(),metadata:r.optional()}).strict(),U=m.object({executionId:m.string(),stepId:m.string(),stepType:m.enum([`station`,`delegate-agent`,`delegate-role`,`gate`])}),W=U.extend({stepType:m.literal(`gate`)}),qt=m.discriminatedUnion(`source`,[W.extend({frameId:m.string(),action:m.enum([`approve`,`reject`]),source:m.literal(`user`),reason:m.string().optional()}),W.extend({frameId:m.string(),action:m.enum([`approve`,`reject`]),source:m.literal(`timeout`)}),W.extend({frameId:m.string(),source:m.literal(`cancelled`)})]),Jt=W.extend({workflowId:m.string(),workflowName:m.string(),title:m.string(),message:m.string(),autoAction:m.enum([`approve`,`reject`]),timeoutMs:m.number().nullable(),openedAt:m.number()}),Yt={getDefinition:{request:m.object({id:m.string()}),response:m.object({workflow:j.nullable()})},setDefinition:{request:m.object({workflow:j}),response:m.object({id:m.string()})},deleteDefinition:{request:m.object({id:m.string()}),response:m.object({deleted:m.boolean()})},listDefinitions:{request:He,response:m.object({workflows:m.array(j)})},"definition.created":j,"definition.updated":j,"definition.deleted":m.object({id:m.string()}),start:{request:m.object({workflowId:m.string(),input:r.optional(),config:r.optional(),artifactRef:_.optional(),scope:C.optional(),parentSessionId:m.string().optional(),triggerPayload:n.optional()}),response:m.object({executionId:m.string()})},rerun:{request:m.object({executionId:m.string().min(1),mode:m.enum([`snapshot`,`current`]),input:r.optional(),config:r.optional(),artifactRef:_.optional(),scope:C.optional(),parentSessionId:m.string().optional(),triggerPayload:n.optional(),reason:m.string().min(1).optional()}),response:m.object({executionId:m.string()})},cancel:{request:m.object({executionId:m.string(),reason:m.string().optional()}),response:m.object({cancelled:m.boolean()})},bootstrapAuthorityState:{request:m.object({executionId:m.string().min(1),terminalAuthority:m.literal(`authority`),definition:j}).strict(),response:m.object({persisted:m.boolean()})},acceptAuthorityRunnerResult:{request:m.object({executionId:m.string().min(1),result:jt.refine(e=>e.status!==`paused`,{message:`Authority runner results must be terminal`})}).strict().superRefine((e,t)=>{e.result.executionId!==e.executionId&&t.addIssue({code:m.ZodIssueCode.custom,path:[`result`,`executionId`],message:`result.executionId must match executionId`})}),response:m.object({accepted:m.boolean(),status:M})},finalizeDelegateResult:{request:ve,response:x},getExecution:{request:m.object({executionId:m.string()}),response:m.object({execution:N.nullable()})},listExecutions:{request:qe,response:m.object({executions:m.array(N)})},listExecutionsByArtifactRefs:{request:Ze,response:m.object({executionsByRef:m.record(m.string(),m.array(N))})},listSpans:{request:m.object({executionId:m.string()}),response:m.object({spans:m.array(ft)})},listGateInstances:{request:Qe,response:m.object({gates:m.array(Be)})},setExecutionLink:{request:m.object({link:L}),response:m.object({id:m.string()})},listExecutionLinks:{request:mt,response:m.object({links:m.array(L)})},listFrames:{request:m.object({executionId:m.string().min(1)}),response:m.object({frames:m.array(ze)})},runFile:{request:m.object({filePath:m.string().min(1),materializationSpec:p.optional(),triggerPayload:n.optional(),triggerMode:B.default(`immediate`),scope:C.optional()}),response:m.object({executionId:m.string()})},registerExternalExecution:{request:Wt,response:m.object({executionId:m.string(),frameId:m.string().optional()})},completeExternalExecution:{request:Gt,response:m.object({success:m.boolean()})},resolveRole:{request:m.object({roleId:m.string().min(1)}),response:F},resolveAgent:{request:m.object({agentId:m.string().min(1)}),response:Ve},getRunContext:{request:m.object({executionId:m.string().min(1)}),response:Pt},"execution.started":m.object({executionId:m.string(),workflowId:m.string(),coordinatorSessionId:m.string().optional(),startedAt:m.number().nonnegative().optional(),artifactRef:_.optional()}),"execution.completed":m.object({executionId:m.string(),workflowId:m.string(),totalDuration:m.number(),completedAt:m.number().nonnegative().optional(),transitionKey:m.string().min(1).optional()}),"execution.failed":m.object({executionId:m.string(),workflowId:m.string(),error:m.string(),failedStepId:m.string().optional(),completedAt:m.number().nonnegative().optional(),transitionKey:m.string().min(1).optional()}),"execution.cancelled":m.object({executionId:m.string(),workflowId:m.string(),reason:m.string().optional(),completedAt:m.number().nonnegative().optional(),transitionKey:m.string().min(1).optional()}),"execution.progress":m.object({executionId:m.string().min(1),workflowId:m.string().min(1),frameId:m.string().min(1),nodeId:m.string().min(1),progress:Kt,emittedAt:m.number().int().nonnegative()}),"execution.paused":g.schema(m.object({executionId:m.string(),workflowId:m.string(),pausedAtGateId:m.string().min(1),pausedAtFrameId:m.string().min(1)}),{traceAll:!0}),"step.beforeStart":U,"step.started":U.extend({sessionId:m.string().optional(),subagentId:m.string().optional()}),"step.completed":U.extend({result:r.optional(),duration:m.number()}),"step.failed":U.extend({error:m.string()}),"step.skipped":U.extend({reason:m.string().optional(),condition:m.string().optional()}),"gate.requested":Jt,"gate.awaitApproval":{request:Jt,response:m.object({action:m.enum([`approve`,`reject`]),source:m.enum([`user`,`timeout`]),reason:m.string().optional()})},"gate.respond":{request:m.object({executionId:m.string(),gateId:m.string(),action:m.enum([`approve`,`reject`]),frameId:m.string().optional(),resumeData:r,reason:m.string().optional()}),response:m.object({accepted:m.boolean()})},"gate.resolved":qt,"frame.started":m.object({executionId:m.string(),frameId:m.string(),nodeId:m.string(),nodeType:E,path:m.array(m.string()),parentFrameId:m.string().optional(),startedAt:m.number().nonnegative().optional()}),"frame.completed":m.object({executionId:m.string(),frameId:m.string(),nodeId:m.string(),output:r.optional(),duration:m.number().nonnegative().optional(),completedAt:m.number().nonnegative().optional()}),"frame.failed":m.object({executionId:m.string(),frameId:m.string(),nodeId:m.string(),error:m.string(),duration:m.number().nonnegative().optional(),completedAt:m.number().nonnegative().optional()}),"frame.sessionLinked":m.object({executionId:g.attribute(m.string(),`makaio.execution.id`),frameId:g.attribute(m.string(),`makaio.frame.id`),sessionId:g.attribute(m.string(),`makaio.session.id`)}).strict(),"gate.suspended":m.object({executionId:m.string(),frameId:m.string(),nodeId:m.string(),schema:e,prompt:m.string().optional(),title:m.string().optional(),autoAction:m.enum([`approve`,`reject`]),timeoutMs:m.number().nullable(),openedAt:m.number()}),"gate.resumed":m.object({executionId:m.string(),frameId:m.string(),nodeId:m.string(),resumeData:r}),"dynamic.materialized":m.object({executionId:m.string(),frameId:m.string(),factoryId:m.string().min(1),materializedNodes:m.number().int().nonnegative()}),"artifact.updated":m.object({executionId:m.string(),frameId:m.string(),artifactRef:m.object({kind:m.string().min(1),id:m.string().min(1)}),paths:m.array(m.string()),operation:m.string().min(1),revision:m.string().min(1).optional()}),"worklog.get":{request:m.object({executionId:m.string().min(1)}),response:m.object({summary:H.nullable()})},"worklog.frame.get":{request:m.object({frameId:m.string().min(1)}),response:m.object({frame:Ft.nullable()})},"worklog.list":{request:m.object({workflowId:m.string().min(1).optional(),status:M.optional(),limit:m.number().int().positive().optional(),offset:m.number().int().nonnegative().optional()}),response:m.object({items:m.array(H),total:m.number().int().nonnegative()})},"worklog.stats":{request:m.object({workflowId:m.string().min(1).optional(),since:m.number().int().nonnegative().optional(),until:m.number().int().nonnegative().optional()}),response:m.object({stats:zt})},"worklog.changed":m.object({executionId:m.string().min(1)}),"state.get":{request:m.object({executionId:m.string().min(1)}),response:m.object({executionId:m.string().min(1),sequence:m.number().int().nonnegative(),value:r})},"state.patch":{request:m.object({executionId:m.string().min(1),expectedSequence:m.number().int().nonnegative(),patch:m.array(z),nextValue:r}),response:m.object({executionId:m.string().min(1),sequence:m.number().int().positive(),value:r})},"state.updated":m.object({executionId:m.string().min(1),sequence:m.number().int().positive(),patch:m.array(z),value:r,updatedAt:m.number().int().positive()})},Xt=h(`workflow`,Yt),Zt=Xt.subjects;function Qt(e,t){G(e,t,void 0,0,[],`root`,void 0,void 0)}function G(e,t,n,r,i,a,o,s){let c={parent:n,depth:r,ancestors:i,relationship:a,...o!==void 0&&{index:o},...s!==void 0&&{branchKey:s}};if(t.enter?.(e,c)===!1)return;let l=[...i,e.id],u=r+1;switch(e.type){case`sequence`:{let n=e;for(let r=0;r<n.nodes.length;r++)G(n.nodes[r],t,e,u,l,`sequence-child`,r,void 0);break}case`parallel`:{let n=e;for(let[r,i]of Object.entries(n.branches))G(i,t,e,u,l,`parallel-branch`,void 0,r);break}case`iterate`:G(e.body,t,e,u,l,`iterate-body`,void 0,void 0);break;case`iterate-chain`:G(e.body,t,e,u,l,`iterate-chain-body`,void 0,void 0);break;case`loop`:G(e.body,t,e,u,l,`loop-body`,void 0,void 0);break}t.leave?.(e,c)}function $t(e){switch(e){case`station`:case`delegate-agent`:case`delegate-role`:case`gate`:return`leaf`;case`parallel`:case`iterate`:case`iterate-chain`:case`loop`:return`control`;case`sequence`:return`structural`}}function en(e,t,n){return e===`parallel-branch`&&t!==void 0?[{kind:`branch`,key:t}]:e===`sequence-child`&&n!==void 0?[{kind:`index`,value:n}]:e===`iterate-body`||e===`iterate-chain-body`||e===`loop-body`?[{kind:`body`}]:[]}function tn(e){return e.replace(/\\/g,`\\\\`).replace(/\//g,`\\/`)}function nn(e){return e.map(e=>{switch(e.kind){case`node`:return`n:${tn(e.id)}`;case`branch`:return`b:${tn(e.key)}`;case`index`:return`i:${e.value}`;case`body`:return`body`}}).join(`/`)}function rn(e){let t=[],n=[],r=new Map,i=[],a=[],o=[];return Qt(e.root,{enter(e,s){let c=en(s.relationship,s.branchKey,s.index),l={kind:`node`,id:e.id};i.push(...c,l),o.push(c.length+1);let u=[...i],d=nn(u),f=a.at(-1);if(t.push({key:d,nodeId:e.id,type:e.type,role:$t(e.type),path:u,parentKey:f,...s.branchKey!==void 0&&{branchKey:s.branchKey}}),f!==void 0&&s.parent!==void 0)switch(s.parent.type){case`sequence`:{n.push({sourceKey:f,targetKey:d,kind:`contains`});let e=r.get(f);e!==void 0&&n.push({sourceKey:e,targetKey:d,kind:`sequence`}),r.set(f,d);break}case`parallel`:n.push({sourceKey:f,targetKey:d,kind:`branch`});break;case`iterate`:case`iterate-chain`:case`loop`:n.push({sourceKey:f,targetKey:d,kind:`body`});break;default:n.push({sourceKey:f,targetKey:d,kind:`contains`});break}a.push(d)},leave(){let e=o.pop()??0;i.splice(i.length-e,e),a.pop()}}),{nodes:t,edges:n}}const an=`makaio.bus-event`,on=`makaio.cron`,sn=`UTC`;function K(e,t,n){return{kind:e,params:t,...n.filter!==void 0&&{filter:n.filter},...n.filterExpression!==void 0&&{filterExpression:n.filterExpression}}}function cn(e,n){let r=t.parse(n.params);return e.paramsSchema.parse(r),K(e.kind,r,n)}function ln(e){return K(an,{subject:ie(e.subject)},e)}const un=m.object({schedule:m.string().min(1),timezone:m.string().min(1).default(`UTC`)});function dn(e){return K(on,un.parse(e),{})}function q(e){return J(e.body.nodes,e.id)}function J(e,t){for(let n of e){if(n.type===`loop`)return`Nested loop '${n.id}' found inside loop '${t}' — V1 does not support nested loops`;if(n.type===`sequence`){let e=J(n.nodes,t);if(e)return e}if(n.type===`parallel`)for(let e of Object.values(n.branches)){let n=J(e.nodes,t);if(n)return n}if(n.type===`iterate`||n.type===`iterate-chain`){let e=n.body,r=J(e.nodes,t);if(r)return r}}}const Y=new WeakMap,fn=new WeakMap;function X(e,t,n){let r=Y.get(e);if(r!==void 0&&t.set(e.id,r),e.type===`sequence`)for(let r of e.nodes)X(r,t,n);else if(e.type===`parallel`)for(let r of Object.values(e.branches))X(r,t,n);else if(e.type===`iterate`)X(e.body,t,n);else if(e.type===`iterate-chain`)X(e.body,t,n);else if(e.type===`loop`){if(n!==void 0){let t=fn.get(e);t!==void 0&&n.set(e.gate.handler,t)}X(e.body,t,n)}}function pn(e,t,n){let r={id:e,type:`station`,prompt:e,...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip}};return Y.set(r,t),r}function mn(e,t,n){return{id:e,type:`delegate-agent`,agentId:t.agentId,...t.inputExpression!==void 0&&{inputExpression:t.inputExpression},...t.outputSchema!==void 0&&{outputSchema:t.outputSchema},...t.allowedTools!==void 0&&{allowedTools:t.allowedTools},...t.completion!==void 0&&{completion:t.completion},...t.resultFinalizerId!==void 0&&{resultFinalizerId:t.resultFinalizerId},...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip}}}function hn(e,t,n){return{id:e,type:`delegate-role`,role:t,prompt:n?.prompt??e,...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip},...n?.outputSchema!==void 0&&{outputSchema:n.outputSchema},...n?.timeoutMs!==void 0&&{timeoutMs:n.timeoutMs},...n?.completion!==void 0&&{completion:n.completion},...n?.allowedTools!==void 0&&{allowedTools:n.allowedTools},...n?.resultFinalizerId!==void 0&&{resultFinalizerId:n.resultFinalizerId}}}function gn(e,t){return{id:e,type:`gate`,prompt:t.prompt,autoAction:t.autoAction,timeoutMs:t.timeoutMs,...t.title!==void 0&&{title:t.title},...t.resume!==void 0&&{resumeSchema:c(t.resume)}}}function _n(e,t,n){let r=`${e}__item`,i={id:r,type:`station`,prompt:r},a={id:e,type:`iterate`,collection:n.collection,body:{id:`${e}__body`,type:`sequence`,nodes:[i]},...n.concurrency!==void 0&&{concurrency:n.concurrency},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}};return Y.set(i,t),a}function vn(e,t,n){return{id:e,type:`iterate-chain`,collection:n.collection,body:{id:`${e}__body`,type:`sequence`,nodes:t},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function yn(e,t,n){let r={id:e,type:`loop`,maxRounds:n.maxRounds,body:{id:`${e}__body`,type:`sequence`,nodes:t},gate:bn(n),...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}},i=q(r);if(i!==void 0)throw Error(i);return fn.set(r,n.gate.evaluate),r}function bn(e){let t=e.gate.escalation;return{handler:e.gate.handler,...e.gate.input!==void 0&&{input:e.gate.input},...e.gate.config!==void 0&&{config:e.gate.config},...t!==void 0&&{escalation:{prompt:t.prompt,autoAction:t.autoAction??`reject`,timeoutMs:t.timeoutMs??null,...t.title!==void 0&&{title:t.title},...t.resumeSchema!==void 0&&{resumeSchema:t.resumeSchema}}}}}function Z(e,t){if(e.has(t))throw Error(`Duplicate step ID: ${t}`);e.add(t)}function Q(e,t){if(Z(e,t.id),t.type===`sequence`)for(let n of t.nodes)Q(e,n);else if(t.type===`parallel`)for(let n of Object.values(t.branches))Q(e,n);else (t.type===`iterate`||t.type===`iterate-chain`||t.type===`loop`)&&Q(e,t.body)}function xn(e,t,n,r,i){let a={};return t.forEach((t,o)=>{if(t.id.length===0)throw Error(`parallel branch at index ${o} has an empty ID`);let s=t.id,c=`${e}__${s}`;Q(n,t),Z(n,c),X(t,r,i),a[s]={id:c,type:`sequence`,nodes:[t]}}),a}function Sn(e,t,n,r,i){let a=`${e}__body`,o=`${e}__item`;Z(r,a),Z(r,o),i.set(o,t);let s={id:o,type:`station`,prompt:o};return{id:e,type:`iterate`,collection:n.collection,body:{id:a,type:`sequence`,nodes:[s]},...n.concurrency!==void 0&&{concurrency:n.concurrency},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function Cn(e,t,n){return t.resume!==void 0&&(n[e]=t.resume),{id:e,type:`gate`,prompt:t.prompt,autoAction:t.autoAction,timeoutMs:t.timeoutMs,...t.title!==void 0&&{title:t.title},...t.resume!==void 0&&{resumeSchema:c(t.resume)}}}function wn(e,t,n,r,i,a){let o=`${e}__body`;Z(r,o);for(let e of t)Q(r,e),X(e,i,a);return{id:e,type:`iterate-chain`,collection:n.collection,body:{id:o,type:`sequence`,nodes:t},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function Tn(e,t,n,r,i,a){let o=`${e}__body`;Z(r,o);for(let e of t)Q(r,e),X(e,i,a);let s={id:e,type:`loop`,maxRounds:n.maxRounds,body:{id:o,type:`sequence`,nodes:t},gate:bn(n),...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}},c=q(s);if(c!==void 0)throw Error(c);return a.set(n.gate.handler,n.gate.evaluate),s}function En(e,t){e.input=n=>(t.zodSchemas.input=n,t.definition.inputSchema=c(n),e),e.config=n=>(t.zodSchemas.config=n,t.definition.configSchema=c(n),e),e.output=n=>(t.zodSchemas.output=n,t.definition.outputSchema=c(n),e),e.artifact=n=>(n.schema!==void 0&&(t.zodSchemas.artifact=n.schema),t.definition.artifact={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,...n.resolve!==void 0&&{resolve:n.resolve},...n.create!==void 0&&{create:n.create},...n.statusPath!==void 0&&{statusPath:n.statusPath}},e),e.state=e=>(t.definition.state={schema:e.schema,...e.initial!==void 0&&{initial:e.initial}},$(t))}function Dn(e,t){let{rootNodes:n,runtimeHandlers:r,runtimeLoopGates:i,registeredIds:a,zodGates:o}=t;e.station=(t,i,o)=>(Z(a,t),n.push({id:t,type:`station`,prompt:t,...o?.when!==void 0&&{when:o.when},...o?.skip!==void 0&&{skip:o.skip}}),r.set(t,i),e),e.delegateToAgent=(t,r,i)=>(Z(a,t),n.push(mn(t,r,i)),e),e.delegateToRole=(t,r,i)=>(Z(a,t),n.push(hn(t,r,i)),e),e.parallel=(t,o,s)=>(Z(a,t),n.push({id:t,type:`parallel`,mode:o.mode??`all-settled`,branches:xn(t,s,a,r,i),...o.when!==void 0&&{when:o.when},...o.skip!==void 0&&{skip:o.skip}}),e),e.gate=(t,r)=>(Z(a,t),n.push(Cn(t,r,o)),e),e.iterate=(t,i,o)=>(Z(a,t),n.push(Sn(t,i,o,a,r)),e),e.iterateChain=(t,o,s)=>(Z(a,t),n.push(wn(t,o,s,a,r,i)),e),e.loop=(t,o,s)=>(Z(a,t),n.push(Tn(t,o,s,a,r,i)),e),e.addNode=e=>On(e,a,r,i,n)}function On(e,t,n,r,i){Q(t,e),X(e,n,r),i.push(e)}function $(e){let t={id:e.definition.id,definition:e.definition,runtimeHandlers:e.runtimeHandlers,runtimeFactories:e.runtimeFactories,runtimeLoopGates:e.runtimeLoopGates,source:void 0,get zodSchemas(){return e.zodSchemas},addTrigger(t){return e.triggers.push(t),$(e)}};return En(t,e),Dn(t,e),t}function kn(e,t){let n=[],r=new Map,i=new Map,a=new Set,o={},s={gates:o},c=new Map,l=t?.triggers?[...t.triggers]:[];return $({rootNodes:n,runtimeHandlers:r,runtimeFactories:c,runtimeLoopGates:i,registeredIds:a,zodGates:o,zodSchemas:s,definition:{id:e,...t?.name!==void 0&&{name:t.name},...t?.description!==void 0&&{description:t.description},...t?.successFinalizerId!==void 0&&{successFinalizerId:v.parse(t.successFinalizerId)},root:{id:`${e}__root`,type:`sequence`,nodes:n},triggers:l,scope:{type:`global`}},triggers:l})}function An(e){if(e.workflows.length===0)throw Error(`defineWorkflowBundle: workflows must not be empty`);return{workflows:Object.freeze([...e.workflows])}}const jn=m.enum([`artifact.created`,`artifact.revised`,`artifact.status.changed`]),Mn=m.record(m.string(),r),Nn=m.object({type:m.string().min(1),input:m.record(m.string(),r).optional()}),Pn=m.object({id:m.string().min(1),description:m.string().optional(),on:jn,when:Mn.optional(),action:Nn,enabled:m.boolean().default(!0)});export{St as $,D as $t,Ut as A,M as At,Pt as B,De as Bt,Qt as C,_ as Cn,Ye as Ct,Zt as D,We as Dt,Yt as E,Ge as Et,H as F,we as Ft,At as G,ze as Gt,jt as H,Fe as Ht,Ft as I,Ce as It,bt as J,P as Jt,kt as K,Be as Kt,Lt as L,w as Lt,Wt as M,Qe as Mt,It as N,Ne as Nt,Gt as O,Ue as Ot,Bt as P,T as Pt,Tt as Q,Pe as Qt,zt as R,Ie as Rt,rn as S,ye as Sn,Xe as St,Kt as T,oe as Tn,Ke as Tt,B as U,N as Ut,Mt as V,Oe as Vt,Ot as W,C as Wt,xt as X,je as Xt,wt as Y,Me as Yt,Dt as Z,He as Zt,ln as _,me as _n,ot as _t,An as a,F as an,L as at,dn as b,de as bn,at as bt,hn as c,Le as cn,dt as ct,vn as d,ve as dn,ut as dt,O as en,Et as et,yn as f,b as fn,nt as ft,an as g,pe as gn,lt as gt,cn as h,ge as hn,et as ht,Pn as i,Ve as in,mt as it,Ht as j,Ze as jt,Vt as k,qe as kt,gn as l,A as ln,it as lt,q as m,y as mn,tt as mt,Mn as n,Ee as nn,gt as nt,kn as o,k as on,pt as ot,pn as p,x as pn,rt as pt,Ct as q,Ae as qt,jn as r,ke as rn,ht as rt,mn as s,Te as sn,ft as st,Nn as t,E as tn,z as tt,_n as u,_e as un,ct as ut,on as v,fe as vn,$e as vt,Xt as w,se as wn,Je as wt,sn as x,be as xn,st as xt,un as y,v as yn,I as yt,Rt as z,j as zt};
|
|
1
|
+
import{a as e,i as t,n,o as r}from"./json-value-DM-EjTC1.mjs";import{a as i,d as a,f as o}from"./schemas-BhkprYU1.mjs";import{l as s}from"./kind-registration-CyMf-vey.mjs";import"./artifact-B-PQO_TB.mjs";import{t as c}from"./zod-json-schema-DGWHUOK0.mjs";import{a as l}from"./visibility-cMXbf9nY.mjs";import"./model-Dya0clsM.mjs";import{t as u}from"./provider-context-BpabfMlj.mjs";import{a as d,o as f}from"./schemas-pBrUJEN6.mjs";import{A as ee,M as te,O as ne,k as p}from"./worker-B0xwfo9-.mjs";import{r as re}from"./schemas-mLjTSUvJ.mjs";import{z as m}from"zod";import{createBusNamespace as h,getFullSubjectForSubjectDefinition as ie,observability as g,splitSubjectKey as ae}from"@makaio/framework/core";const _=m.object({kind:m.string().min(1),id:m.string().min(1)});function oe(e){return`${ce(e.kind)}:${ce(e.id)}`}function se(e){let t=le(e);if(t<1)throw Error(`Invalid artifact ref key: ${e}`);let n=ue(e.slice(t+1));if(n.length===0)throw Error(`Invalid artifact ref key (empty id): ${e}`);return{kind:ue(e.slice(0,t)),id:n}}function ce(e){return e.replace(/\\/g,`\\\\`).replace(/:/g,`\\:`)}function le(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(t){t=!1;continue}if(r===`\\`){t=!0;continue}if(r===`:`)return n}return-1}function ue(e){let t=``,n=!1;for(let r of e){if(n){if(r!==`\\`&&r!==`:`)throw Error(`Invalid artifact ref key component: ${e}`);t+=r,n=!1;continue}if(r===`\\`){n=!0;continue}t+=r}if(n)throw Error(`Invalid artifact ref key component: ${e}`);return t}const de=m.enum([`completed`,`failed`,`cancelled`]),fe=m.object({status:de,completedAt:m.number().int().nonnegative(),error:m.string().min(1).optional(),reason:m.string().min(1).optional()}).strict(),pe=m.object({executionId:m.string().min(1),workflowId:m.string().min(1),finalizerId:m.string().min(1),transitionKey:m.string().min(1),claimToken:m.string().min(1),intent:fe,claimedAt:m.number().int().nonnegative()}).strict(),me=m.object({accepted:m.boolean()}).strict(),he=/^[a-z0-9]+(?:[._-][a-z0-9]+)*$/,v=m.string().regex(he,`Workflow finalizer IDs must be lowercase dot, dash, or underscore separated names.`),y=m.string().regex(he,`Workflow delegate result finalizer IDs must be lowercase dot, dash, or underscore separated names.`),ge=m.object({toolName:m.string().min(1),outcome:m.enum([`success`,`failure`]).optional(),artifact:m.object({kind:m.string().min(1),id:m.string().min(1),revision:m.string().min(1)}).strict().optional()}).strict().superRefine((e,t)=>{e.artifact!==void 0&&e.outcome!==`success`&&t.addIssue({code:`custom`,path:[`artifact`],message:`requires an explicit successful outcome`})}),_e=m.object({durationMs:m.number().int().nonnegative(),inputTokens:m.number().int().nonnegative().optional(),outputTokens:m.number().int().nonnegative().optional(),cachedInputTokens:m.number().int().nonnegative().optional(),toolCallCount:m.number().int().nonnegative().optional(),binding:m.object({adapterName:m.string().min(1),providerConfigId:m.string().min(1).optional(),providerDefinitionId:m.string().min(1).optional(),model:m.string().min(1).optional(),auth:m.object({mode:m.enum([`explicit`,`inferred`,`none`]),owner:m.enum([`provider`,`client`]),methodId:m.string().min(1)}).strict().optional()}).strict()}).strict(),b=m.object({executionId:m.string().min(1),workflowId:m.string().min(1),frameId:m.string().min(1),nodeId:m.string().min(1),nodeType:m.enum([`delegate-agent`,`delegate-role`]),rawResult:r,toolObservations:m.array(ge),economics:_e.optional()}).strict(),ve=b.extend({finalizerId:y}).strict(),x=m.object({output:r}).strict();function ye(e){if(!v.safeParse(e).success)throw Error(`Invalid workflow finalizer ID: "${e}"`);let t=`workflow-finalizer:${e}`,n=h(t,{finalize:{request:pe,response:me}});return{namespaceDomain:t,namespace:n,subjects:n.subjects}}function be(e){if(!y.safeParse(e).success)throw Error(`Invalid workflow delegate result finalizer ID: "${e}"`);let t=`workflow-delegate-finalizer:${e}`,n=h(t,{finalize:{request:b,response:x}});return{namespaceDomain:t,namespace:n,subjects:n.subjects}}const S=m.union([m.string(),m.number(),m.boolean(),m.null()]),xe=m.union([S,m.object({$in:m.array(S)}).strict(),m.object({$ne:S}).strict(),m.object({$exists:m.boolean()}).strict(),m.object({$startsWith:m.string()}).strict(),m.object({$endsWith:m.string()}).strict()]),Se=m.record(m.string(),xe),Ce=m.object({kind:re,params:t,filter:Se.optional(),filterExpression:m.string().optional()}),C=m.discriminatedUnion(`type`,[m.object({type:m.literal(`global`)}).strict(),m.object({type:m.literal(`workspace`),id:m.string().min(1)}).strict(),m.object({type:m.literal(`session`),id:m.string().min(1)}).strict(),m.object({type:m.literal(`external`),kind:m.string().min(1),id:m.string().min(1)}).strict()]),w=m.string().min(1),T=m.object({kind:m.string().min(1),schemaVersion:s,scope:o,resolve:m.string().min(1).optional(),create:m.string().min(1).optional(),statusPath:m.string().min(1).optional()}),we=m.object({kind:m.string().min(1),schemaVersion:s,scope:o,dataExpression:m.string().optional()}),Te=m.object({file:m.string().min(1),line:m.number().int().positive().optional(),column:m.number().int().positive().optional()}),E=m.enum([`station`,`delegate-agent`,`delegate-role`,`parallel`,`gate`,`iterate`,`iterate-chain`,`loop`,`sequence`]),Ee=m.enum([`all-settled`,`fail-fast`]),D=m.object({id:m.string().min(1),when:w.optional(),skip:w.optional(),writes:m.array(we).optional()}),O=m.lazy(()=>m.discriminatedUnion(`type`,[A,De,Oe,ke,Ae,je,Me,Pe,k])),k=D.extend({type:m.literal(`sequence`),nodes:m.lazy(()=>m.array(O))}),A=D.extend({type:m.literal(`station`),prompt:m.string().min(1),role:m.string().min(1).optional(),outputSchema:e.optional(),timeoutMs:m.number().int().positive().optional(),completion:d.optional()}),De=D.extend({type:m.literal(`delegate-agent`),agentId:m.string().min(1),inputExpression:m.string().optional(),outputSchema:e.optional(),allowedTools:m.array(m.string()).optional(),completion:d.optional(),resultFinalizerId:y.optional()}),Oe=D.extend({type:m.literal(`delegate-role`),role:m.string().min(1),prompt:m.string().min(1),outputSchema:e.optional(),allowedTools:m.array(m.string()).optional(),resultFinalizerId:y.optional(),timeoutMs:m.number().int().positive().optional(),completion:d.optional()}),ke=D.extend({type:m.literal(`parallel`),mode:Ee.optional(),branches:m.record(m.string().min(1),m.lazy(()=>k))}),Ae=D.extend({type:m.literal(`gate`),prompt:m.string().min(1),title:m.string().optional(),autoAction:m.enum([`approve`,`reject`]),timeoutMs:m.number().int().positive().nullable(),resumeSchema:e.optional()}),je=D.extend({type:m.literal(`iterate`),collection:m.string().min(1),body:m.lazy(()=>k),concurrency:m.number().int().nonnegative().optional()}),Me=D.extend({type:m.literal(`iterate-chain`),collection:m.string().min(1),body:m.lazy(()=>k)}),Ne=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`pass`)}).strict(),m.object({kind:m.literal(`loop`)}).strict(),m.object({kind:m.literal(`escalate`),reason:m.string().min(1)}).strict()]),Pe=D.extend({type:m.literal(`loop`),maxRounds:m.number().int().positive(),body:m.lazy(()=>k),gate:m.object({handler:m.string().min(1),input:m.string().min(1).optional(),config:r.optional(),escalation:m.object({title:m.string().optional(),prompt:m.string().min(1),resumeSchema:e.optional(),autoAction:m.enum([`approve`,`reject`]).default(`reject`),timeoutMs:m.number().int().positive().nullable().default(null)}).strict().optional()}).strict()}),Fe=m.object({factoryId:m.string().min(1),preview:m.array(m.lazy(()=>O)).optional(),sourceLocation:Te.optional()}),Ie=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`editor`)}).strict(),m.object({kind:m.literal(`extension`),extension:m.string().min(1),externalId:m.string().min(1).optional(),syncedAt:m.string().datetime().optional(),metadata:n.default({})}).strict()]),Le=m.object({schema:e,initial:r.optional()}),Re=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`path`),path:m.string().min(1)}).strict(),m.object({kind:m.literal(`source`),filename:m.string().min(1),source:m.string()}).strict(),m.object({kind:m.literal(`definition`),workflowId:m.string().min(1)}).strict()]),j=m.object({id:m.string().min(1),name:m.string().optional(),description:m.string().optional(),inputSchema:e.optional(),configSchema:e.optional(),outputSchema:e.optional(),state:Le.optional(),artifact:T.optional(),root:k,triggers:m.array(Ce).optional(),scope:C.default({type:`global`}),canvasLayout:m.record(m.string(),r).optional(),source:Ie.optional(),executableSource:Re.optional(),requirements:ee.optional(),successFinalizerId:v.optional()}),M=m.enum([`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]),N=m.object({id:m.string(),workflowId:m.string(),coordinatorSessionId:m.string().optional(),status:M,inputs:r,config:n.optional(),startedAt:m.number(),completedAt:m.number().optional(),error:m.string().optional(),reason:m.string().optional(),triggerPayload:n.optional(),scope:C,artifactRef:_.optional()}),ze=m.object({frameId:m.string(),nodeId:m.string(),nodeType:E,path:m.array(m.string()),parentFrameId:m.string().optional(),status:m.enum([`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]),attempt:m.number().int().nonnegative().default(0),iteration:m.number().int().nonnegative().optional(),branchKey:m.string().optional(),output:r.optional(),error:m.string().optional(),startedAt:m.number().optional(),completedAt:m.number().optional()}),P=m.enum([`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]),Be=m.object({executionId:m.string(),nodeId:m.string(),frameId:m.string(),schema:e,prompt:m.string().optional(),status:P,autoAction:m.enum([`approve`,`reject`]),timeoutMs:m.number().int().positive().nullable(),resumeData:r.optional(),reason:m.string().optional(),createdAt:m.number(),resolvedAt:m.number().optional()}),F=m.object({adapterName:m.string().min(1),providerConfigId:m.string().min(1).optional(),model:m.string().optional(),reasoningEffort:l.optional(),harnessId:m.string().optional(),systemPrompt:m.string().optional(),contextMode:f.optional(),providerContext:u.optional(),adapterConfig:n.optional(),tools:m.array(m.string()).optional(),disallowedTools:m.array(m.string()).optional(),allowedDirectories:m.array(m.string()).optional(),completion:d.optional()}),Ve=F,He=m.object({scope:C.optional()}),Ue=m.object({startedAt:m.number(),id:m.string()}),We=1,Ge=500,Ke=50,qe=m.object({workflowId:m.string().min(1).optional(),scope:C.optional(),status:M.optional(),artifactRef:_.optional(),limit:m.number().int().min(1).max(500).default(50),cursor:Ue.optional()}).refine(e=>e.workflowId!==void 0||e.scope!==void 0||e.artifactRef!==void 0,{message:`Either workflowId, scope, or artifactRef is required.`}),Je=200,Ye=100,Xe=10,Ze=m.object({refs:m.array(_).min(1).max(200),limitPerRef:m.number().int().min(1).max(100).default(10)}),Qe=m.object({executionId:m.string().min(1).optional(),status:P.optional(),limit:m.number().int().min(1).max(500).default(50)}).refine(e=>e.executionId!==void 0||e.status!==void 0,{message:`Either executionId or status is required.`}),I=m.enum([`station`,`delegate-agent`,`delegate-role`,`gate`]),$e=m.enum([`station`]),et=m.object({input:m.number().int().nonnegative(),output:m.number().int().nonnegative(),cached:m.number().int().nonnegative().optional()}),tt=m.object({duration:m.number().nonnegative(),tokenUsage:et.optional(),estimatedCost:m.number().nonnegative().optional(),toolCalls:m.number().int().nonnegative().optional()}),nt=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`none`)}).strict(),m.object({kind:m.literal(`hmac`),secret:m.string().min(1)}).strict()]),rt=m.object({cwd:m.string().min(1),env:m.record(m.string(),m.string()).optional()}),it=m.object({executionId:m.string().min(1),stepId:m.string().min(1),reason:m.string().optional()});function at(e){let t=ae(e);if(t===void 0)throw Error(`Invalid step cancel subject: ${e}`);return{subject:t.subject,$meta:{namespace:t.namespace,isRequest:!1,payload:{},local:!1,channel:!1}}}const ot=m.object({executionId:m.string().min(1),reason:m.string().optional()});function st(e){let t=ae(e);if(t===void 0)throw Error(`Invalid workflow cancel subject: ${e}`);return{subject:t.subject,$meta:{namespace:t.namespace,isRequest:!1,payload:{},local:!1,channel:!1}}}const ct=m.object({stepId:m.string().min(1),executionId:m.string().min(1),workflowId:m.string().min(1),coordinatorSessionId:m.string().min(1),stepType:$e,stepDefinition:A,resolvedInputs:n,busUrl:m.string().optional(),busAuth:nt.default({kind:`none`}),platformDefaults:rt,cancelSubject:m.string().min(1)}).superRefine((e,t)=>{e.stepType!==e.stepDefinition.type&&t.addIssue({code:`custom`,path:[`stepDefinition`,`type`],message:`stepDefinition.type must match stepType (${e.stepType})`})}),lt=`Workflow cancelled`,ut=m.object({status:m.enum([`completed`,`failed`]),output:r.optional(),error:m.string().optional(),telemetry:tt}),dt=m.enum([`running`,`completed`,`failed`,`skipped`]),ft=m.object({executionId:m.string().min(1),frameId:m.string().min(1),stepId:m.string().min(1),stepType:I,status:dt,startedAt:m.number().optional(),completedAt:m.number().optional(),durationMs:m.number().nonnegative().optional(),inputTokens:m.number().int().nonnegative().optional(),outputTokens:m.number().int().nonnegative().optional(),estimatedCost:m.number().nonnegative().optional(),toolCallCount:m.number().int().nonnegative().optional(),input:m.string().optional(),output:m.string().optional()}),pt=m.enum([`triggered-by`,`feedback-loop`,`rerun-of`]),L=m.object({sourceExecutionId:m.string().min(1),targetExecutionId:m.string().min(1),linkType:pt,metadata:m.record(m.string(),m.unknown()).optional()}),mt=m.object({sourceExecutionId:m.string().min(1).optional(),targetExecutionId:m.string().min(1).optional()}).refine(e=>e.sourceExecutionId!==void 0||e.targetExecutionId!==void 0,{message:`Either sourceExecutionId or targetExecutionId is required.`}),ht={RUN_CONTEXT_NOT_FOUND:`WORKFLOW_RUN_CONTEXT_NOT_FOUND`,SNAPSHOT_UNAVAILABLE:`WORKFLOW_SNAPSHOT_UNAVAILABLE`,SOURCE_MISMATCH:`WORKFLOW_SOURCE_MISMATCH`,NOT_EXECUTABLE:`WORKFLOW_NOT_EXECUTABLE`,HANDLER_UNAVAILABLE:`WORKFLOW_HANDLER_UNAVAILABLE`};var gt=class extends Error{code;constructor(e,t){super(t),this.code=e,this.name=`WorkflowError`}};const R=m.string().refine(e=>e===``||e.startsWith(`/`),{message:`JSON Patch paths must be empty or start with "/".`}),_t=m.object({op:m.enum([`add`,`replace`,`test`]),path:R,value:r}).strict(),vt=m.object({op:m.literal(`remove`),path:R}).strict(),yt=m.object({op:m.enum([`move`,`copy`]),path:R,from:R}).strict(),z=m.discriminatedUnion(`op`,[_t,vt,yt]),bt=m.object({type:m.literal(`artifact-query`),query:i,select:m.enum([`latest`,`all`]),optional:m.boolean().optional()}),xt=m.object({type:m.literal(`bus-request`),subject:m.string().min(1),payload:m.record(m.string(),m.unknown()).optional(),optional:m.boolean().optional()}),St=m.discriminatedUnion(`type`,[bt,xt]),Ct=m.object({type:m.literal(`artifact`),kind:m.string().min(1),schemaVersion:s,scope:o,metadata:m.record(m.string(),m.unknown()).optional()}),wt=m.object({type:m.literal(`bus-event`),subject:m.string().min(1),payload:m.record(m.string(),m.unknown()).optional()}),Tt=m.discriminatedUnion(`type`,[Ct,wt]),Et=m.object({content:m.string(),metadata:m.record(m.string(),m.unknown()).optional()}),Dt=m.object({sources:m.record(m.string(),Et)}),Ot=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`none`)}).strict(),m.object({kind:m.literal(`hmac`),secret:m.string().min(1)}).strict()]),kt=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`path`),path:m.string().min(1)}).strict(),m.object({kind:m.literal(`source`),filename:m.string().min(1),source:m.string()}).strict(),m.object({kind:m.literal(`definition`),workflowId:m.string().min(1)}).strict()]),B=m.enum([`immediate`,`await-trigger`]),At=m.object({source:kt,definition:j.optional(),executionId:m.string().min(1),workflowId:m.string().min(1),triggerPayload:n.default({}),triggerMode:B.optional(),inputs:r.default({}),config:n.optional(),artifactRef:_.optional(),scope:C.default({type:`global`}),busUrl:m.string().optional(),busAuth:Ot.default({kind:`none`}),env:m.record(m.string(),m.string()).default({}),coordinatorSessionId:m.string().min(1),cancelSubject:m.string().min(1),suspensionStrategy:te.default(`wait-in-process`),terminalAuthority:m.enum([`worker`,`authority`]).optional(),materializationSpec:p.optional()}),V=m.object({executionId:m.string().min(1),workflowId:m.string().min(1)}),jt=m.discriminatedUnion(`status`,[V.extend({status:m.literal(`completed`),artifact:a.optional()}).strict(),V.extend({status:m.literal(`failed`),error:m.string().min(1)}).strict(),V.extend({status:m.literal(`cancelled`),reason:m.string().min(1).optional()}).strict(),V.extend({status:m.literal(`paused`),pausedAtGateId:m.string().min(1),pausedAtFrameId:m.string().min(1)}).strict()]),Mt=m.object({contributionRefs:m.array(ne)}).strict(),Nt=m.discriminatedUnion(`kind`,[m.object({kind:m.literal(`path`),path:m.string().min(1).refine(e=>!e.startsWith(`/`)&&!/^[A-Za-z]:[/\\]/.test(e),{message:`path must be workspace-relative (no leading / or drive letter)`})}).strict(),m.object({kind:m.literal(`source`),filename:m.string().min(1),source:m.string()}).strict(),m.object({kind:m.literal(`definition`),workflowId:m.string().min(1)}).strict()]),Pt=m.object({executionId:m.string().min(1),workflowId:m.string().min(1),source:Nt,definitionSnapshot:j.optional(),workerManifest:Mt.default({contributionRefs:[]}),inputs:r.default({}),config:n.optional(),scope:C.default({type:`global`}),triggerPayload:n.default({}),triggerMode:B.optional(),artifactRef:_.optional(),coordinatorSessionId:m.string().min(1),dispatchMetadata:n.optional(),cancelSubject:m.string().min(1),env:m.record(m.string(),m.string()).default({}),createdAt:m.number(),suspensionStrategy:te.default(`wait-in-process`),terminalAuthority:m.enum([`worker`,`authority`]).optional(),materializationSpec:p.optional()}).superRefine((e,t)=>{e.source.kind===`definition`&&e.definitionSnapshot===void 0&&t.addIssue({code:m.ZodIssueCode.custom,path:[`definitionSnapshot`],message:`definitionSnapshot is required when source.kind is "definition"`}),e.source.kind===`path`?e.materializationSpec===void 0?t.addIssue({code:m.ZodIssueCode.custom,path:[`materializationSpec`],message:`materializationSpec is required when source.kind is "path"`}):e.materializationSpec.sourcePath!==e.source.path&&t.addIssue({code:m.ZodIssueCode.custom,path:[`materializationSpec`,`sourcePath`],message:`materializationSpec.sourcePath must match source.path`}):e.materializationSpec!==void 0&&t.addIssue({code:m.ZodIssueCode.custom,path:[`materializationSpec`],message:`materializationSpec is only valid when source.kind is "path"`})}),H=m.object({executionId:m.string().min(1),workflowId:m.string().min(1),workflowName:m.string().optional(),status:m.enum([`pending`,`running`,`paused`,`finalizing`,`completed`,`failed`,`cancelled`]),startedAt:m.number(),completedAt:m.number().optional(),durationMs:m.number().nonnegative().optional(),totalInputTokens:m.number().int().nonnegative().optional(),totalOutputTokens:m.number().int().nonnegative().optional(),totalEstimatedCost:m.number().nonnegative().optional(),error:m.string().optional(),failedNodeId:m.string().optional()}),Ft=m.object({executionId:m.string().min(1),frameId:m.string().min(1),nodeId:m.string().min(1),nodeType:E,path:m.array(m.string()),status:m.enum([`pending`,`running`,`waiting`,`completed`,`failed`,`skipped`,`cancelled`]),attempt:m.number().int().nonnegative(),iteration:m.number().int().nonnegative().optional(),branchKey:m.string().optional(),startedAt:m.number().optional(),completedAt:m.number().optional(),durationMs:m.number().nonnegative().optional(),inputTokens:m.number().int().nonnegative().optional(),outputTokens:m.number().int().nonnegative().optional(),estimatedCost:m.number().nonnegative().optional(),error:m.string().optional()}),It=m.object({executionId:m.string().min(1),frameId:m.string().min(1),nodeId:m.string().min(1),artifact:T,revision:m.string().min(1).optional(),writtenAt:m.number()}),Lt=m.object({executionId:m.string().min(1),nodeId:m.string().min(1),frameId:m.string().min(1),status:m.enum([`waiting`,`resumed`,`rejected`,`timed-out`,`cancelled`]),prompt:m.string().optional(),openedAt:m.number(),resolvedAt:m.number().optional(),resumeData:r.optional()}),Rt=m.object({executionId:m.string().min(1),inputTokens:m.number().int().nonnegative(),outputTokens:m.number().int().nonnegative(),cachedTokens:m.number().int().nonnegative().optional(),estimatedCost:m.number().nonnegative(),byModel:m.record(m.string(),m.object({inputTokens:m.number().int().nonnegative(),outputTokens:m.number().int().nonnegative(),estimatedCost:m.number().nonnegative()})).optional()}),zt=m.object({total:m.number().int().nonnegative(),byStatus:m.object({pending:m.number().int().nonnegative(),running:m.number().int().nonnegative(),paused:m.number().int().nonnegative(),finalizing:m.number().int().nonnegative(),completed:m.number().int().nonnegative(),failed:m.number().int().nonnegative(),cancelled:m.number().int().nonnegative()}),totalDurationMs:m.number().nonnegative(),totalInputTokens:m.number().int().nonnegative(),totalOutputTokens:m.number().int().nonnegative(),totalEstimatedCost:m.number().nonnegative()}),Bt=m.object({executionId:m.string().min(1),frameId:m.string().min(1),factoryId:m.string().min(1),materializedNodeIds:m.array(m.string().min(1)),factoryInput:e.optional(),materializedAt:m.number()}),Vt=`wfx-ext-`,Ht=m.object({frameId:m.string().min(1).optional(),nodeId:m.string().min(1),nodeType:I,path:m.array(m.string().min(1)).optional(),attempt:m.number().int().nonnegative().default(0),iteration:m.number().int().nonnegative().optional(),branchKey:m.string().min(1).optional(),startedAt:m.number().int().nonnegative().optional()}).strict(),Ut=m.object({frameId:m.string().min(1),nodeId:m.string().min(1),nodeType:I,path:m.array(m.string().min(1)),attempt:m.number().int().nonnegative().default(0),iteration:m.number().int().nonnegative().optional(),branchKey:m.string().min(1).optional(),startedAt:m.number().int().nonnegative(),durationMs:m.number().int().nonnegative().optional()}).strict(),Wt=m.object({executionId:m.string().startsWith(Vt,{message:`executionId must use the wfx-ext- prefix`}).optional(),name:m.string().min(1),startedAt:m.number().int().nonnegative().optional(),scope:C.optional(),artifactRef:_.optional(),input:r.optional(),triggerPayload:n.optional(),frame:Ht.optional()}).superRefine((e,t)=>{e.executionId!==void 0&&e.startedAt===void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`startedAt is required when executionId is supplied`,path:[`startedAt`]})}),Gt=m.object({executionId:m.string().min(1),status:m.enum([`completed`,`failed`,`cancelled`]),error:m.string().min(1).optional(),reason:m.string().min(1).optional(),completedAt:m.number().nonnegative().overwrite(e=>Math.trunc(e)).optional(),frame:Ut.optional()}).superRefine((e,t)=>{if(e.status===`failed`&&e.error===void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`status 'failed' requires a non-empty 'error' message`,path:[`error`]}),e.status===`cancelled`&&e.reason===void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`status 'cancelled' requires a non-empty 'reason' string`,path:[`reason`]}),e.status===`completed`&&e.error!==void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`status 'completed' must not carry an 'error'`,path:[`error`]}),e.status===`completed`&&e.reason!==void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`status 'completed' must not carry a 'reason'`,path:[`reason`]}),e.frame!==void 0&&e.completedAt===void 0&&t.addIssue({code:m.ZodIssueCode.custom,message:`completedAt is required when frame metadata is supplied`,path:[`completedAt`]}),e.frame!==void 0&&e.completedAt!==void 0){let n=e.completedAt-e.frame.startedAt;n<0&&t.addIssue({code:m.ZodIssueCode.custom,message:`completedAt must not precede frame.startedAt`,path:[`completedAt`]}),e.frame.durationMs!==void 0&&e.frame.durationMs!==n&&t.addIssue({code:m.ZodIssueCode.custom,message:`frame.durationMs must equal completedAt - frame.startedAt`,path:[`frame`,`durationMs`]})}}),Kt=m.object({message:m.string().min(1),details:m.string().min(1).optional(),kind:m.string().min(1).optional(),metadata:r.optional()}).strict(),U=m.object({executionId:m.string(),stepId:m.string(),stepType:m.enum([`station`,`delegate-agent`,`delegate-role`,`gate`])}),W=U.extend({stepType:m.literal(`gate`)}),qt=m.discriminatedUnion(`source`,[W.extend({frameId:m.string(),action:m.enum([`approve`,`reject`]),source:m.literal(`user`),reason:m.string().optional()}),W.extend({frameId:m.string(),action:m.enum([`approve`,`reject`]),source:m.literal(`timeout`)}),W.extend({frameId:m.string(),source:m.literal(`cancelled`)})]),Jt=W.extend({workflowId:m.string(),workflowName:m.string(),title:m.string(),message:m.string(),autoAction:m.enum([`approve`,`reject`]),timeoutMs:m.number().nullable(),openedAt:m.number()}),Yt={getDefinition:{request:m.object({id:m.string()}),response:m.object({workflow:j.nullable()})},setDefinition:{request:m.object({workflow:j}),response:m.object({id:m.string()})},deleteDefinition:{request:m.object({id:m.string()}),response:m.object({deleted:m.boolean()})},listDefinitions:{request:He,response:m.object({workflows:m.array(j)})},"definition.created":j,"definition.updated":j,"definition.deleted":m.object({id:m.string()}),start:{request:m.object({workflowId:m.string(),input:r.optional(),config:r.optional(),artifactRef:_.optional(),scope:C.optional(),parentSessionId:m.string().optional(),triggerPayload:n.optional()}),response:m.object({executionId:m.string()})},rerun:{request:m.object({executionId:m.string().min(1),mode:m.enum([`snapshot`,`current`]),input:r.optional(),config:r.optional(),artifactRef:_.optional(),scope:C.optional(),parentSessionId:m.string().optional(),triggerPayload:n.optional(),reason:m.string().min(1).optional()}),response:m.object({executionId:m.string()})},cancel:{request:m.object({executionId:m.string(),reason:m.string().optional()}),response:m.object({cancelled:m.boolean()})},bootstrapAuthorityState:{request:m.object({executionId:m.string().min(1),terminalAuthority:m.literal(`authority`),definition:j}).strict(),response:m.object({persisted:m.boolean()})},acceptAuthorityRunnerResult:{request:m.object({executionId:m.string().min(1),result:jt.refine(e=>e.status!==`paused`,{message:`Authority runner results must be terminal`})}).strict().superRefine((e,t)=>{e.result.executionId!==e.executionId&&t.addIssue({code:m.ZodIssueCode.custom,path:[`result`,`executionId`],message:`result.executionId must match executionId`})}),response:m.object({accepted:m.boolean(),status:M})},finalizeDelegateResult:{request:ve,response:x},getExecution:{request:m.object({executionId:m.string()}),response:m.object({execution:N.nullable()})},listExecutions:{request:qe,response:m.object({executions:m.array(N)})},listExecutionsByArtifactRefs:{request:Ze,response:m.object({executionsByRef:m.record(m.string(),m.array(N))})},listSpans:{request:m.object({executionId:m.string()}),response:m.object({spans:m.array(ft)})},listGateInstances:{request:Qe,response:m.object({gates:m.array(Be)})},setExecutionLink:{request:m.object({link:L}),response:m.object({id:m.string()})},listExecutionLinks:{request:mt,response:m.object({links:m.array(L)})},listFrames:{request:m.object({executionId:m.string().min(1)}),response:m.object({frames:m.array(ze)})},runFile:{request:m.object({filePath:m.string().min(1),materializationSpec:p.optional(),triggerPayload:n.optional(),triggerMode:B.default(`immediate`),scope:C.optional()}),response:m.object({executionId:m.string()})},registerExternalExecution:{request:Wt,response:m.object({executionId:m.string(),frameId:m.string().optional()})},completeExternalExecution:{request:Gt,response:m.object({success:m.boolean()})},resolveRole:{request:m.object({roleId:m.string().min(1)}),response:F},resolveAgent:{request:m.object({agentId:m.string().min(1)}),response:Ve},getRunContext:{request:m.object({executionId:m.string().min(1)}),response:Pt},"execution.started":m.object({executionId:m.string(),workflowId:m.string(),coordinatorSessionId:m.string().optional(),startedAt:m.number().nonnegative().optional(),artifactRef:_.optional()}),"execution.completed":m.object({executionId:m.string(),workflowId:m.string(),totalDuration:m.number(),completedAt:m.number().nonnegative().optional(),transitionKey:m.string().min(1).optional()}),"execution.failed":m.object({executionId:m.string(),workflowId:m.string(),error:m.string(),failedStepId:m.string().optional(),completedAt:m.number().nonnegative().optional(),transitionKey:m.string().min(1).optional()}),"execution.cancelled":m.object({executionId:m.string(),workflowId:m.string(),reason:m.string().optional(),completedAt:m.number().nonnegative().optional(),transitionKey:m.string().min(1).optional()}),"execution.progress":m.object({executionId:m.string().min(1),workflowId:m.string().min(1),frameId:m.string().min(1),nodeId:m.string().min(1),progress:Kt,emittedAt:m.number().int().nonnegative()}),"execution.paused":g.schema(m.object({executionId:m.string(),workflowId:m.string(),pausedAtGateId:m.string().min(1),pausedAtFrameId:m.string().min(1)}),{traceAll:!0}),"step.beforeStart":U,"step.started":U.extend({sessionId:m.string().optional(),subagentId:m.string().optional()}),"step.completed":U.extend({result:r.optional(),duration:m.number()}),"step.failed":U.extend({error:m.string()}),"step.skipped":U.extend({reason:m.string().optional(),condition:m.string().optional()}),"gate.requested":Jt,"gate.awaitApproval":{request:Jt,response:m.object({action:m.enum([`approve`,`reject`]),source:m.enum([`user`,`timeout`]),reason:m.string().optional()})},"gate.respond":{request:m.object({executionId:m.string(),gateId:m.string(),action:m.enum([`approve`,`reject`]),frameId:m.string().optional(),resumeData:r,reason:m.string().optional()}),response:m.object({accepted:m.boolean()})},"gate.resolved":qt,"frame.started":m.object({executionId:m.string(),frameId:m.string(),nodeId:m.string(),nodeType:E,path:m.array(m.string()),parentFrameId:m.string().optional(),startedAt:m.number().nonnegative().optional()}),"frame.completed":m.object({executionId:m.string(),frameId:m.string(),nodeId:m.string(),output:r.optional(),duration:m.number().nonnegative().optional(),completedAt:m.number().nonnegative().optional()}),"frame.failed":m.object({executionId:m.string(),frameId:m.string(),nodeId:m.string(),error:m.string(),duration:m.number().nonnegative().optional(),completedAt:m.number().nonnegative().optional()}),"frame.sessionLinked":m.object({executionId:g.attribute(m.string(),`makaio.execution.id`),frameId:g.attribute(m.string(),`makaio.frame.id`),sessionId:g.attribute(m.string(),`makaio.session.id`)}).strict(),"gate.suspended":m.object({executionId:m.string(),frameId:m.string(),nodeId:m.string(),schema:e,prompt:m.string().optional(),title:m.string().optional(),autoAction:m.enum([`approve`,`reject`]),timeoutMs:m.number().nullable(),openedAt:m.number()}),"gate.resumed":m.object({executionId:m.string(),frameId:m.string(),nodeId:m.string(),resumeData:r}),"dynamic.materialized":m.object({executionId:m.string(),frameId:m.string(),factoryId:m.string().min(1),materializedNodes:m.number().int().nonnegative()}),"artifact.updated":m.object({executionId:m.string(),frameId:m.string(),artifactRef:m.object({kind:m.string().min(1),id:m.string().min(1)}),paths:m.array(m.string()),operation:m.string().min(1),revision:m.string().min(1).optional()}),"worklog.get":{request:m.object({executionId:m.string().min(1)}),response:m.object({summary:H.nullable()})},"worklog.frame.get":{request:m.object({frameId:m.string().min(1)}),response:m.object({frame:Ft.nullable()})},"worklog.list":{request:m.object({workflowId:m.string().min(1).optional(),status:M.optional(),limit:m.number().int().positive().optional(),offset:m.number().int().nonnegative().optional()}),response:m.object({items:m.array(H),total:m.number().int().nonnegative()})},"worklog.stats":{request:m.object({workflowId:m.string().min(1).optional(),since:m.number().int().nonnegative().optional(),until:m.number().int().nonnegative().optional()}),response:m.object({stats:zt})},"worklog.changed":m.object({executionId:m.string().min(1)}),"state.get":{request:m.object({executionId:m.string().min(1)}),response:m.object({executionId:m.string().min(1),sequence:m.number().int().nonnegative(),value:r})},"state.patch":{request:m.object({executionId:m.string().min(1),expectedSequence:m.number().int().nonnegative(),patch:m.array(z),nextValue:r}),response:m.object({executionId:m.string().min(1),sequence:m.number().int().positive(),value:r})},"state.updated":m.object({executionId:m.string().min(1),sequence:m.number().int().positive(),patch:m.array(z),value:r,updatedAt:m.number().int().positive()})},Xt=h(`workflow`,Yt),Zt=Xt.subjects;function Qt(e,t){G(e,t,void 0,0,[],`root`,void 0,void 0)}function G(e,t,n,r,i,a,o,s){let c={parent:n,depth:r,ancestors:i,relationship:a,...o!==void 0&&{index:o},...s!==void 0&&{branchKey:s}};if(t.enter?.(e,c)===!1)return;let l=[...i,e.id],u=r+1;switch(e.type){case`sequence`:{let n=e;for(let r=0;r<n.nodes.length;r++)G(n.nodes[r],t,e,u,l,`sequence-child`,r,void 0);break}case`parallel`:{let n=e;for(let[r,i]of Object.entries(n.branches))G(i,t,e,u,l,`parallel-branch`,void 0,r);break}case`iterate`:G(e.body,t,e,u,l,`iterate-body`,void 0,void 0);break;case`iterate-chain`:G(e.body,t,e,u,l,`iterate-chain-body`,void 0,void 0);break;case`loop`:G(e.body,t,e,u,l,`loop-body`,void 0,void 0);break}t.leave?.(e,c)}function $t(e){switch(e){case`station`:case`delegate-agent`:case`delegate-role`:case`gate`:return`leaf`;case`parallel`:case`iterate`:case`iterate-chain`:case`loop`:return`control`;case`sequence`:return`structural`}}function en(e,t,n){return e===`parallel-branch`&&t!==void 0?[{kind:`branch`,key:t}]:e===`sequence-child`&&n!==void 0?[{kind:`index`,value:n}]:e===`iterate-body`||e===`iterate-chain-body`||e===`loop-body`?[{kind:`body`}]:[]}function tn(e){return e.replace(/\\/g,`\\\\`).replace(/\//g,`\\/`)}function nn(e){return e.map(e=>{switch(e.kind){case`node`:return`n:${tn(e.id)}`;case`branch`:return`b:${tn(e.key)}`;case`index`:return`i:${e.value}`;case`body`:return`body`}}).join(`/`)}function rn(e){let t=[],n=[],r=new Map,i=[],a=[],o=[];return Qt(e.root,{enter(e,s){let c=en(s.relationship,s.branchKey,s.index),l={kind:`node`,id:e.id};i.push(...c,l),o.push(c.length+1);let u=[...i],d=nn(u),f=a.at(-1);if(t.push({key:d,nodeId:e.id,type:e.type,role:$t(e.type),path:u,parentKey:f,...s.branchKey!==void 0&&{branchKey:s.branchKey}}),f!==void 0&&s.parent!==void 0)switch(s.parent.type){case`sequence`:{n.push({sourceKey:f,targetKey:d,kind:`contains`});let e=r.get(f);e!==void 0&&n.push({sourceKey:e,targetKey:d,kind:`sequence`}),r.set(f,d);break}case`parallel`:n.push({sourceKey:f,targetKey:d,kind:`branch`});break;case`iterate`:case`iterate-chain`:case`loop`:n.push({sourceKey:f,targetKey:d,kind:`body`});break;default:n.push({sourceKey:f,targetKey:d,kind:`contains`});break}a.push(d)},leave(){let e=o.pop()??0;i.splice(i.length-e,e),a.pop()}}),{nodes:t,edges:n}}const an=`makaio.bus-event`,on=`makaio.cron`,sn=`UTC`;function K(e,t,n){return{kind:e,params:t,...n.filter!==void 0&&{filter:n.filter},...n.filterExpression!==void 0&&{filterExpression:n.filterExpression}}}function cn(e,n){let r=t.parse(n.params);return e.paramsSchema.parse(r),K(e.kind,r,n)}function ln(e){return K(an,{subject:ie(e.subject)},e)}const un=m.object({schedule:m.string().min(1),timezone:m.string().min(1).default(`UTC`)});function dn(e){return K(on,un.parse(e),{})}function q(e){return J(e.body.nodes,e.id)}function J(e,t){for(let n of e){if(n.type===`loop`)return`Nested loop '${n.id}' found inside loop '${t}' — V1 does not support nested loops`;if(n.type===`sequence`){let e=J(n.nodes,t);if(e)return e}if(n.type===`parallel`)for(let e of Object.values(n.branches)){let n=J(e.nodes,t);if(n)return n}if(n.type===`iterate`||n.type===`iterate-chain`){let e=n.body,r=J(e.nodes,t);if(r)return r}}}const Y=new WeakMap,fn=new WeakMap;function X(e,t,n){let r=Y.get(e);if(r!==void 0&&t.set(e.id,r),e.type===`sequence`)for(let r of e.nodes)X(r,t,n);else if(e.type===`parallel`)for(let r of Object.values(e.branches))X(r,t,n);else if(e.type===`iterate`)X(e.body,t,n);else if(e.type===`iterate-chain`)X(e.body,t,n);else if(e.type===`loop`){if(n!==void 0){let t=fn.get(e);t!==void 0&&n.set(e.gate.handler,t)}X(e.body,t,n)}}function pn(e,t,n){let r={id:e,type:`station`,prompt:e,...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip}};return Y.set(r,t),r}function mn(e,t,n){return{id:e,type:`delegate-agent`,agentId:t.agentId,...t.inputExpression!==void 0&&{inputExpression:t.inputExpression},...t.outputSchema!==void 0&&{outputSchema:t.outputSchema},...t.allowedTools!==void 0&&{allowedTools:t.allowedTools},...t.completion!==void 0&&{completion:t.completion},...t.resultFinalizerId!==void 0&&{resultFinalizerId:t.resultFinalizerId},...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip}}}function hn(e,t,n){return{id:e,type:`delegate-role`,role:t,prompt:n?.prompt??e,...n?.when!==void 0&&{when:n.when},...n?.skip!==void 0&&{skip:n.skip},...n?.outputSchema!==void 0&&{outputSchema:n.outputSchema},...n?.timeoutMs!==void 0&&{timeoutMs:n.timeoutMs},...n?.completion!==void 0&&{completion:n.completion},...n?.allowedTools!==void 0&&{allowedTools:n.allowedTools},...n?.resultFinalizerId!==void 0&&{resultFinalizerId:n.resultFinalizerId}}}function gn(e,t){return{id:e,type:`gate`,prompt:t.prompt,autoAction:t.autoAction,timeoutMs:t.timeoutMs,...t.title!==void 0&&{title:t.title},...t.resume!==void 0&&{resumeSchema:c(t.resume)}}}function _n(e,t,n){let r=`${e}__item`,i={id:r,type:`station`,prompt:r},a={id:e,type:`iterate`,collection:n.collection,body:{id:`${e}__body`,type:`sequence`,nodes:[i]},...n.concurrency!==void 0&&{concurrency:n.concurrency},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}};return Y.set(i,t),a}function vn(e,t,n){return{id:e,type:`iterate-chain`,collection:n.collection,body:{id:`${e}__body`,type:`sequence`,nodes:t},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function yn(e,t,n){let r={id:e,type:`loop`,maxRounds:n.maxRounds,body:{id:`${e}__body`,type:`sequence`,nodes:t},gate:bn(n),...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}},i=q(r);if(i!==void 0)throw Error(i);return fn.set(r,n.gate.evaluate),r}function bn(e){let t=e.gate.escalation;return{handler:e.gate.handler,...e.gate.input!==void 0&&{input:e.gate.input},...e.gate.config!==void 0&&{config:e.gate.config},...t!==void 0&&{escalation:{prompt:t.prompt,autoAction:t.autoAction??`reject`,timeoutMs:t.timeoutMs??null,...t.title!==void 0&&{title:t.title},...t.resumeSchema!==void 0&&{resumeSchema:t.resumeSchema}}}}}function Z(e,t){if(e.has(t))throw Error(`Duplicate step ID: ${t}`);e.add(t)}function Q(e,t){if(Z(e,t.id),t.type===`sequence`)for(let n of t.nodes)Q(e,n);else if(t.type===`parallel`)for(let n of Object.values(t.branches))Q(e,n);else (t.type===`iterate`||t.type===`iterate-chain`||t.type===`loop`)&&Q(e,t.body)}function xn(e,t,n,r,i){let a={};return t.forEach((t,o)=>{if(t.id.length===0)throw Error(`parallel branch at index ${o} has an empty ID`);let s=t.id,c=`${e}__${s}`;Q(n,t),Z(n,c),X(t,r,i),a[s]={id:c,type:`sequence`,nodes:[t]}}),a}function Sn(e,t,n,r,i){let a=`${e}__body`,o=`${e}__item`;Z(r,a),Z(r,o),i.set(o,t);let s={id:o,type:`station`,prompt:o};return{id:e,type:`iterate`,collection:n.collection,body:{id:a,type:`sequence`,nodes:[s]},...n.concurrency!==void 0&&{concurrency:n.concurrency},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function Cn(e,t,n){return t.resume!==void 0&&(n[e]=t.resume),{id:e,type:`gate`,prompt:t.prompt,autoAction:t.autoAction,timeoutMs:t.timeoutMs,...t.title!==void 0&&{title:t.title},...t.resume!==void 0&&{resumeSchema:c(t.resume)}}}function wn(e,t,n,r,i,a){let o=`${e}__body`;Z(r,o);for(let e of t)Q(r,e),X(e,i,a);return{id:e,type:`iterate-chain`,collection:n.collection,body:{id:o,type:`sequence`,nodes:t},...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}}}function Tn(e,t,n,r,i,a){let o=`${e}__body`;Z(r,o);for(let e of t)Q(r,e),X(e,i,a);let s={id:e,type:`loop`,maxRounds:n.maxRounds,body:{id:o,type:`sequence`,nodes:t},gate:bn(n),...n.when!==void 0&&{when:n.when},...n.skip!==void 0&&{skip:n.skip}},c=q(s);if(c!==void 0)throw Error(c);return a.set(n.gate.handler,n.gate.evaluate),s}function En(e,t){e.input=n=>(t.zodSchemas.input=n,t.definition.inputSchema=c(n),e),e.config=n=>(t.zodSchemas.config=n,t.definition.configSchema=c(n),e),e.output=n=>(t.zodSchemas.output=n,t.definition.outputSchema=c(n),e),e.artifact=n=>(n.schema!==void 0&&(t.zodSchemas.artifact=n.schema),t.definition.artifact={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,...n.resolve!==void 0&&{resolve:n.resolve},...n.create!==void 0&&{create:n.create},...n.statusPath!==void 0&&{statusPath:n.statusPath}},e),e.state=e=>(t.definition.state={schema:e.schema,...e.initial!==void 0&&{initial:e.initial}},$(t))}function Dn(e,t){let{rootNodes:n,runtimeHandlers:r,runtimeLoopGates:i,registeredIds:a,zodGates:o}=t;e.station=(t,i,o)=>(Z(a,t),n.push({id:t,type:`station`,prompt:t,...o?.when!==void 0&&{when:o.when},...o?.skip!==void 0&&{skip:o.skip}}),r.set(t,i),e),e.delegateToAgent=(t,r,i)=>(Z(a,t),n.push(mn(t,r,i)),e),e.delegateToRole=(t,r,i)=>(Z(a,t),n.push(hn(t,r,i)),e),e.parallel=(t,o,s)=>(Z(a,t),n.push({id:t,type:`parallel`,mode:o.mode??`all-settled`,branches:xn(t,s,a,r,i),...o.when!==void 0&&{when:o.when},...o.skip!==void 0&&{skip:o.skip}}),e),e.gate=(t,r)=>(Z(a,t),n.push(Cn(t,r,o)),e),e.iterate=(t,i,o)=>(Z(a,t),n.push(Sn(t,i,o,a,r)),e),e.iterateChain=(t,o,s)=>(Z(a,t),n.push(wn(t,o,s,a,r,i)),e),e.loop=(t,o,s)=>(Z(a,t),n.push(Tn(t,o,s,a,r,i)),e),e.addNode=e=>On(e,a,r,i,n)}function On(e,t,n,r,i){Q(t,e),X(e,n,r),i.push(e)}function $(e){let t={id:e.definition.id,definition:e.definition,runtimeHandlers:e.runtimeHandlers,runtimeFactories:e.runtimeFactories,runtimeLoopGates:e.runtimeLoopGates,source:void 0,get zodSchemas(){return e.zodSchemas},addTrigger(t){return e.triggers.push(t),$(e)}};return En(t,e),Dn(t,e),t}function kn(e,t){let n=[],r=new Map,i=new Map,a=new Set,o={},s={gates:o},c=new Map,l=t?.triggers?[...t.triggers]:[];return $({rootNodes:n,runtimeHandlers:r,runtimeFactories:c,runtimeLoopGates:i,registeredIds:a,zodGates:o,zodSchemas:s,definition:{id:e,...t?.name!==void 0&&{name:t.name},...t?.description!==void 0&&{description:t.description},...t?.successFinalizerId!==void 0&&{successFinalizerId:v.parse(t.successFinalizerId)},root:{id:`${e}__root`,type:`sequence`,nodes:n},triggers:l,scope:{type:`global`}},triggers:l})}function An(e){if(e.workflows.length===0)throw Error(`defineWorkflowBundle: workflows must not be empty`);return{workflows:Object.freeze([...e.workflows])}}const jn=m.enum([`artifact.created`,`artifact.revised`,`artifact.status.changed`]),Mn=m.record(m.string(),r),Nn=m.object({type:m.string().min(1),input:m.record(m.string(),r).optional()}),Pn=m.object({id:m.string().min(1),description:m.string().optional(),on:jn,when:Mn.optional(),action:Nn,enabled:m.boolean().default(!0)});export{St as $,D as $t,Ut as A,M as At,Pt as B,De as Bt,Qt as C,_ as Cn,Ye as Ct,Zt as D,We as Dt,Yt as E,Ge as Et,H as F,we as Ft,At as G,ze as Gt,jt as H,Fe as Ht,Ft as I,Ce as It,bt as J,P as Jt,kt as K,Be as Kt,Lt as L,w as Lt,Wt as M,Qe as Mt,It as N,Ne as Nt,Gt as O,Ue as Ot,Bt as P,T as Pt,Tt as Q,Pe as Qt,zt as R,Ie as Rt,rn as S,ye as Sn,Xe as St,Kt as T,oe as Tn,Ke as Tt,B as U,N as Ut,Mt as V,Oe as Vt,Ot as W,C as Wt,xt as X,je as Xt,wt as Y,Me as Yt,Dt as Z,He as Zt,ln as _,me as _n,ot as _t,An as a,F as an,L as at,dn as b,de as bn,at as bt,hn as c,Le as cn,dt as ct,vn as d,ve as dn,ut as dt,O as en,Et as et,yn as f,b as fn,nt as ft,an as g,pe as gn,lt as gt,cn as h,ge as hn,et as ht,Pn as i,Ve as in,mt as it,Ht as j,Ze as jt,Vt as k,qe as kt,gn as l,A as ln,it as lt,q as m,y as mn,tt as mt,Mn as n,Ee as nn,gt as nt,kn as o,k as on,pt as ot,pn as p,x as pn,rt as pt,Ct as q,Ae as qt,jn as r,ke as rn,ht as rt,mn as s,Te as sn,ft as st,Nn as t,E as tn,z as tt,_n as u,_e as un,ct as ut,on as v,fe as vn,$e as vt,Xt as w,se as wn,Je as wt,sn as x,be as xn,st as xt,un as y,v as yn,I as yt,Rt as z,j as zt};
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./chunk-DTipWd-i.mjs";import{o as t,s as n}from"./json-value-DM-EjTC1.mjs";import{C as r,a as i,b as a,c as o,d as s,i as c,l,n as u,p as d,r as ee,t as te,u as ne,w as f,x as re}from"./schemas-BhkprYU1.mjs";import{a as p,g as ie,l as m,p as ae,s as h,t as g}from"./kind-registration-CyMf-vey.mjs";import{t as oe}from"./zod-json-schema-DGWHUOK0.mjs";import{t as se}from"./ajv-Dz-0DD7m.mjs";import{t as ce}from"./2020-DvDj4r_K.mjs";import{t as le}from"./dist-DMIaE8sg.mjs";import{z as _}from"zod";import{createBusNamespace as ue}from"@makaio/framework/core";const de=_.strictObject({evidence:r}),v=_.strictObject({kind:_.literal(`text`),text:_.string()}),[fe,pe,me]=r.options,he=_.union([fe.pick({source:!0,location:!0}).extend({content:v}),pe.pick({source:!0,location:!0}).extend({content:v}),me.pick({source:!0,location:!0}).extend({content:v})]);function y(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function b(e){return e.replaceAll(`~`,`~0`).replaceAll(`/`,`~1`)}function ge(e,t){if(t===`#`)return{node:e,pointer:``};if(!t.startsWith(`#/`))return;let n;try{n=decodeURIComponent(t.slice(1))}catch{return}let r=e;for(let e of n.slice(1).split(`/`)){let t=e.replaceAll(`~1`,`/`).replaceAll(`~0`,`~`);if(Array.isArray(r)){if(!/^(0|[1-9]\d*)$/.test(t)||Number(t)>=r.length)return;r=r[Number(t)]}else{let e=y(r);if(!e||!Object.hasOwn(e,t))return;r=e[t]}}let i=typeof r==`boolean`?r:y(r);return i===void 0?void 0:{node:i,pointer:n}}function x(e,t){if(t===``)return!1;let n=e;for(let e of t.slice(1).split(`/`)){let t=e.replaceAll(`~1`,`/`).replaceAll(`~0`,`~`);if(n=Array.isArray(n)?n[Number(t)]:y(n)?.[t],typeof y(n)?.$id==`string`)return!0}return!1}function _e(e,t,n){if(e[`x-makaio-value-type`]!==`evidence/v1`)return;let i=r.safeParse(t);if(!i.success)throw Error(`Invalid schema-declared evidence at ${n}`);return{evidence:i.data,dataPath:n}}function ve(e,t,n,r){if(typeof t.$ref!=`string`)return!1;if(r)return!0;let i=ge(e,t.$ref);return i===void 0?!0:typeof i.node!=`boolean`&&S(e,i.node,n,x(e,i.pointer))}function S(e,t,n=new WeakSet,r=!1){let i=y(t);if(!i||n.has(i))return!1;n.add(i);let a=r||i!==e&&typeof i.$id==`string`;if(i[`x-makaio-value-type`]===`evidence/v1`||typeof i.$dynamicRef==`string`||ve(e,i,n,a)||[`additionalItems`,`additionalProperties`,`contains`,`else`,`if`,`items`,`then`,`unevaluatedItems`,`unevaluatedProperties`].some(t=>S(e,i[t],n,a))||[`allOf`,`anyOf`,`oneOf`,`prefixItems`].some(t=>Array.isArray(i[t])&&i[t].some(t=>S(e,t,n,a)))||Array.isArray(i.items)&&i.items.some(t=>S(e,t,n,a)))return!0;for(let t of[`dependentSchemas`,`dependencies`,`patternProperties`,`properties`]){let r=y(i[t]);if(r&&Object.values(r).some(t=>S(e,t,n,a)))return!0}return!1}var ye=class{dataSchema;matchesSchema;occurrences=new Map;visited=new WeakMap;constructor(e,t){this.dataSchema=e,this.matchesSchema=t}extract(e){return this.visit(this.dataSchema,e,`/data`),[...this.occurrences.values()]}visit(e,t,n,r=``){let i=this.visited.get(e)??new Set;if(i.has(n))return;if(i.add(n),this.visited.set(e,i),typeof e.$dynamicRef==`string`)throw Error(`Evidence discovery does not support active $dynamicRef at ${n}`);if(typeof e.$ref==`string`){if(x(this.dataSchema,r))throw Error(`Evidence discovery does not support local $ref inside nested $id resource at ${n}`);let i=ge(this.dataSchema,e.$ref);if(i===void 0)throw Error(`Cannot resolve local schema reference ${e.$ref} at ${n}`);if(typeof i.node!=`boolean`&&this.visit(i.node,t,n,i.pointer),this.dataSchema.$schema!==`https://json-schema.org/draft/2020-12/schema`)return}let a=_e(e,t,n);if(a){this.occurrences.set(n,a);return}this.visitCombiners(e,t,n,r),this.visitConditional(e,t,n,r),this.visitDependencies(e,t,n,r),this.assertSupportedApplicators(e,n,r),Array.isArray(t)?this.visitArray(e,t,n,r):typeof t==`object`&&t&&this.visitObject(e,t,n,r)}visitCombiners(e,t,n,r){for(let i of[`allOf`,`anyOf`,`oneOf`]){let a=e[i];if(Array.isArray(a))for(let[e,o]of a.entries()){let a=y(o),s=`${r}/${i}/${e}`;a&&(i===`allOf`||this.matchesSchema(this.dataSchema,s,t))&&this.visit(a,t,n,s)}}}visitConditional(e,t,n,r){let i=typeof e.if==`boolean`?e.if:y(e.if);if(i===void 0)return;let a=`${r}/if`,o=this.matchesSchema(this.dataSchema,a,t);o&&typeof i!=`boolean`&&this.visit(i,t,n,a);let s=o?`then`:`else`,c=y(e[s]);c&&this.visit(c,t,n,`${r}/${s}`)}visitDependencies(e,t,n,r){if(!(typeof t!=`object`||!t||Array.isArray(t)))for(let i of[`dependentSchemas`,`dependencies`]){let a=y(e[i]);if(a)for(let[e,o]of Object.entries(a)){let a=y(o);Object.hasOwn(t,e)&&a&&this.visit(a,t,n,`${r}/${i}/${b(e)}`)}}}assertSupportedApplicators(e,t,n){for(let r of[`unevaluatedProperties`,`unevaluatedItems`])if(S(this.dataSchema,e[r],void 0,x(this.dataSchema,n)))throw Error(`Evidence under unsupported ${r} applicator at ${t}`)}visitArray(e,t,n,r){let i=Array.isArray(e.prefixItems),a=i?e.prefixItems:Array.isArray(e.items)?e.items:[];a.forEach((e,a)=>{let o=y(e),s=i?`prefixItems`:`items`;o&&a<t.length&&this.visit(o,t[a],`${n}/${a}`,`${r}/${s}/${a}`)});let o=Array.isArray(e.items)?y(e.additionalItems):y(e.items);if(o){let i=Array.isArray(e.items)?`additionalItems`:`items`;t.slice(a.length).forEach((e,t)=>this.visit(o,e,`${n}/${a.length+t}`,`${r}/${i}`))}this.visitContains(e,t,n,r)}visitContains(e,t,n,r){let i=y(e.contains);if(!i)return;let a=`${r}/contains`;t.forEach((e,t)=>{this.matchesSchema(this.dataSchema,a,e)&&this.visit(i,e,`${n}/${t}`,a)})}visitObject(e,t,n,r){let i=y(e.properties),a=y(e.patternProperties);for(let[o,s]of Object.entries(t)){let t=b(o),c=i!==void 0&&Object.hasOwn(i,o),l=y(i?.[o]);l&&this.visit(l,s,`${n}/${t}`,`${r}/properties/${t}`);let u=this.visitPatterns(a,o,s,`${n}/${t}`,r),d=y(e.additionalProperties);!c&&!u&&d&&this.visit(d,s,`${n}/${t}`,`${r}/additionalProperties`)}}visitPatterns(e,t,n,r,i){let a=!1;for(let[o,s]of Object.entries(e??{})){if(!new RegExp(o,`u`).test(t))continue;a=!0;let e=y(s);e&&this.visit(e,n,r,`${i}/patternProperties/${b(o)}`)}return a}};function be(e,t,n){return new ye(e,n.matchesSchema).extract(t)}function xe(e){let{dataSchema:t,hooks:n,...r}=e,i={$schema:`https://json-schema.org/draft/2020-12/schema`,...oe(t)};ae(i);let a=p.parse({...r,dataSchema:i});if(a.kind!==e.kind)throw Error(`Artifact kind identifiers must not contain surrounding whitespace`);let o=_.fromJSONSchema(a.dataSchema),s=_.unknown().superRefine((e,t)=>{let n=o.safeParse(e);if(!n.success)for(let e of n.error.issues)t.addIssue({code:`custom`,path:e.path,message:e.message})}).pipe(t).superRefine((e,t)=>{try{ie(e,a.titlePath)}catch(e){t.addIssue({code:`custom`,path:a.titlePath.split(`.`),message:e instanceof Error?e.message:`Artifact title must be a nonblank string`})}});return{...structuredClone(a),kind:e.kind,schemaVersion:e.schemaVersion,dataSchema:s,...n?{hooks:n}:{},toRegistration:()=>structuredClone(a)}}var Se=e(se(),1),Ce=e(ce(),1),we=e(le(),1);function Te(e){let t={allErrors:!0,strict:!1,strictSchema:!0},n=e.dataSchema.$schema===`https://json-schema.org/draft/2020-12/schema`?new Ce.default(t):new Se.default(t);return(0,we.default)(n),n.addKeyword({keyword:re,schemaType:`string`,valid:!0}),n.compile(e.dataSchema)}function Ee(e){return e.replace(/~1/gu,`/`).replace(/~0/gu,`~`)}function De(e){let t=e.instancePath.split(`/`).slice(1).map(Ee),n=e.keyword===`required`?e.params.missingProperty:e.params.additionalProperty;return typeof n==`string`&&(e.keyword===`required`||e.keyword===`additionalProperties`)&&t.push(n),t.join(`.`)}function Oe(e){if(e.keyword!==`type`)return;let t=e.params.type;if(typeof t==`string`)return t;if(Array.isArray(t)&&t.every(e=>typeof e==`string`))return t.join(` | `)}const ke=t.array();function Ae(e){if(e.keyword!==`enum`)return;let t=ke.safeParse(e.params.allowedValues);return t.success?t.data:void 0}function je(e){return(e??[]).map(e=>{let t=Oe(e),n=Ae(e);return{path:De(e),reason:e.message??`violates ${e.keyword}`,...t===void 0?{}:{expectedType:t},...n===void 0?{}:{allowedValues:n}}})}function Me(e){return Te(e)}function Ne(e){let t=Te(e);return e=>t(e)?{valid:!0}:{valid:!1,issues:je(t.errors)}}function Pe(e){return{hooks:[...e.hooks]}}const Fe=[`inline`,`summary`,`link`,`omit`],C=_.string().min(1),w=_.object({kinds:_.array(_.string().min(1)).optional(),hint:C.optional(),depth:_.number().int().min(1).max(20).optional(),nested:_.lazy(()=>T).optional()}),T=_.record(_.string().min(1),w);function E(e){return JSON.stringify([e.kind,e.id,e.revision])}const D=_.enum([`not-selected`,`not-found`,`depth-exceeded`,`unsupported-ref-class`,`cycle-detected`]),O=_.object({target:l,sourceRef:f,relationType:_.string().min(1),hint:C,status:_.enum([`resolved`,`unresolved`]),reason:D.optional()}).superRefine((e,t)=>{e.status===`unresolved`&&e.reason===void 0&&t.addIssue({code:_.ZodIssueCode.custom,path:[`reason`],message:`reason is required for unresolved artifact context refs`}),e.status===`resolved`&&e.reason!==void 0&&t.addIssue({code:_.ZodIssueCode.custom,path:[`reason`],message:`reason must be omitted for resolved artifact context refs`}),e.status===`resolved`&&e.target.refClass!==`artifact`&&t.addIssue({code:_.ZodIssueCode.custom,path:[`target`],message:`resolved artifact context refs must target an artifact revision`})}),k=_.object({rootRef:f,refs:_.array(O),resolved:_.array(s)}).superRefine((e,t)=>{let n=new Set(e.resolved.map(E));n.has(E(e.rootRef))||t.addIssue({code:_.ZodIssueCode.custom,path:[`resolved`],message:`resolved artifact context wire payloads must include the root artifact revision`}),e.refs.forEach((e,r)=>{n.has(E(e.sourceRef))||t.addIssue({code:_.ZodIssueCode.custom,path:[`refs`,r,`sourceRef`],message:`artifact context ref sources must have a matching revision in resolved`}),!(e.status!==`resolved`||e.target.refClass!==`artifact`)&&(n.has(E(e.target))||t.addIssue({code:_.ZodIssueCode.custom,path:[`refs`,r,`target`],message:`resolved artifact context refs must have a matching revision in resolved`}))})});function Ie(e){let t=k.parse(e),n=new Map(t.resolved.map(e=>[A(e),e])),r=new Map;for(let e of t.refs){let t=A(e.sourceRef),n=r.get(t);n||(n=[],r.set(t,n)),n.push(e)}let i=n.get(A(t.rootRef));if(!i)throw Error(`Resolved artifact context is missing root artifact '${A(t.rootRef)}'`);let a=Le(t.rootRef,i,`inline`,r,n);return{root:a,flatten(){let e=[];return Be(a,e),e}}}function Le(e,t,n,r,i){return{status:`resolved`,ref:e,artifact:t,hint:n,children:ze(e,r,i,new Set([A(e)]))}}function Re(e,t,n,r,i,a,o){let s=A(e),c=new Set(o);return c.add(s),{status:`resolved`,ref:e,artifact:t,relation:n,hint:r,children:ze(e,i,a,c)}}function ze(e,t,n,r){return(t.get(A(e))??[]).map(e=>{if(e.status===`unresolved`)return{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:e.reason};if(e.target.refClass!==`artifact`)throw Error(`Resolved artifact context refs must target an artifact revision`);let i=A(e.target),a=n.get(i);if(!a)throw Error(`Resolved artifact context is missing target artifact '${i}'`);return r.has(i)?{status:`unresolved`,target:e.target,relation:e.relationType,hint:e.hint,reason:`cycle-detected`}:Re(e.target,a,e.relationType,e.hint,t,n,r)})}function Be(e,t){if(e.status!==`unresolved`){t.push(e.artifact);for(let n of e.children)Be(n,t)}}function A(e){return JSON.stringify([e.kind,e.id,e.revision])}const j=[`$set`,`$unset`,`$push`,`$pull`],M=`[A-Za-z_$][A-Za-z0-9_$]*`,N=`[A-Za-z_$][A-Za-z0-9_$-]*`,Ve=`(?:0|[1-9][0-9]*)`,He=`(?:${`\\$\\[${M}\\]`}|${Ve}|${N})`,Ue=RegExp(`^${N}(?:\\.${He})*$`),We=RegExp(`^${M}(?:\\.${N})*$`),Ge=RegExp(`^${Ve}$`),Ke=RegExp(`^\\$\\[(${M})\\]$`),P=_.string().regex(Ue,`Expected a data-relative path of object properties, array positions, or $[filter] placeholders`);function qe(e){let t=Ke.exec(e);return t?.[1]===void 0?Ge.test(e)?{kind:`index`,index:Number(e)}:{kind:`property`,name:e}:{kind:`filter`,placeholder:t[1]}}function Je(e){return e.split(`.`).map(qe)}function Ye(e){return Je(e).flatMap(e=>e.kind===`filter`?[e.placeholder]:[])}const Xe=n(_.record(_.string().regex(We,`Expected a filter key of the form name or name.field.path`),t),{prototypeKey:`an array filter cannot compare a __proto__ key, which JSON transport drops`,nonPlainObject:`an array filter must be a plain object of comparison keys`,symbolKey:`an array filter cannot carry symbol-keyed comparisons`,nonEnumerableKey:`an array filter cannot carry non-enumerable comparison keys`,extraArrayKey:`an array filter must be a plain object, not an array`});function Ze(e){let t=new Set(Object.keys(e).map(e=>e.split(`.`)[0]));if(t.size!==1)return;let[n]=t;return n!==void 0&&n.length>0?n:void 0}function F(e,t){return n(_.record(P,t),{prototypeKey:`${e} cannot address __proto__, which JSON transport drops`,nonPlainObject:`${e} must be a plain object of path instructions`,symbolKey:`${e} cannot carry symbol-keyed instructions`,nonEnumerableKey:`${e} cannot carry non-enumerable instructions`,extraArrayKey:`${e} must be a plain object, not an array`})}const Qe=_.literal(!0),$e=_.strictObject({$set:F(`$set`,t).optional(),$unset:F(`$unset`,Qe).optional(),$push:F(`$push`,t).optional(),$pull:F(`$pull`,t).optional(),arrayFilters:_.array(Xe).optional()});function I(e){return j.flatMap(t=>Object.entries(e[t]??{}).map(([e,n])=>({operator:t,path:e,value:n})))}function et(e,t){let n=I(e),r=new Map;(e.arrayFilters??[]).forEach((e,n)=>{let i=Ze(e);if(i===void 0){t.addIssue({code:`custom`,path:[`arrayFilters`,n],message:`An array filter must bind exactly one placeholder name across all of its keys`});return}if(r.has(i)){t.addIssue({code:`custom`,path:[`arrayFilters`,n],message:`Array filter placeholder ${i} is already bound by another filter`});return}r.set(i,n)});let i=new Set;for(let{operator:e,path:a}of n)for(let n of Ye(a))i.add(n),r.has(n)||t.addIssue({code:`custom`,path:[e,a],message:`Path uses placeholder $[${n}] without a matching entry in arrayFilters`});for(let[e,n]of r)i.has(e)||t.addIssue({code:`custom`,path:[`arrayFilters`,n],message:`Array filter binds placeholder ${e}, which no path uses`})}const tt=$e.superRefine(et).superRefine((e,t)=>{I(e).length===0&&t.addIssue({code:`custom`,message:`Declare at least one of ${j.join(`, `)}`})}),nt=$e.superRefine(et),rt=_.strictObject({kind:f.shape.kind,id:f.shape.id}),it=_.strictObject({ref:rt,baseRevision:f.shape.revision,patch:nt,dryRun:_.boolean().optional(),schemaVersion:m.optional().describe(`Target schema version for the patched revision; defaults to the base revision's. Use it to migrate an artifact left at an older version by a kind bump.`),statusPath:d.optional(),representations:ne.strict().nullable().optional().describe(`Rendering hints (markdown, summary, plaintext) for the new revision. Omit to keep the previous revision's hints. An object replaces all of them, it does not merge: send every hint you want to keep. null clears them.`)}).superRefine((e,t)=>{e.schemaVersion===void 0&&I(e.patch).length===0&&t.addIssue({code:`custom`,path:[`patch`],message:`Declare at least one of ${j.join(`, `)}, or name a schemaVersion to migrate a payload that already fits`})}),at=[`ARTIFACT_NOT_FOUND`,`BASE_REVISION_CONFLICT`,`KIND_NOT_REGISTERED`,`SCHEMA_VERSION_MISMATCH`,`PATH_NOT_DECLARED`,`PATH_NOT_RESOLVABLE`,`TARGET_NOT_A_COLLECTION`,`UNSUPPORTED_TARGET`,`NO_MATCH`,`SCHEMA_VALIDATION_FAILED`,`NO_CHANGE`,`STORE_REJECTED`,`HOST_FAILED`],ot=_.strictObject({path:_.string(),reason:_.string().min(1),expectedType:_.string().min(1).optional(),allowedValues:_.array(t).optional()}),st=_.strictObject({code:_.enum(at),message:_.string().min(1),operator:_.enum(j).optional(),path:P.optional(),currentRevision:f.shape.revision.optional(),issues:_.array(ot).optional(),repair:_.string().min(1)}).superRefine((e,t)=>{e.code===`BASE_REVISION_CONFLICT`&&e.currentRevision===void 0&&t.addIssue({code:_.ZodIssueCode.custom,message:`A BASE_REVISION_CONFLICT must name the revision the artifact carries.`,path:[`currentRevision`]})}),ct=_.strictObject({operator:_.enum(j),path:P,matched:_.number().int().positive()}),lt=_.strictObject({from:m,to:m}).refine(e=>e.to>e.from,{path:[`to`],message:`A migration moves the artifact forward to a newer schema version`}),ut=_.strictObject({ok:_.literal(!0),base:f,operations:_.array(ct),migration:lt.optional()});function dt(e,t){e.operations.length===0&&e.migration===void 0&&t.addIssue({code:`custom`,path:[`operations`],message:`A success without a migration must report at least one applied instruction`})}const ft=ut.extend({dryRun:_.literal(!0)}).superRefine(dt),pt=ut.extend({dryRun:_.literal(!1),artifact:f}).superRefine(dt),mt=_.discriminatedUnion(`dryRun`,[ft,pt]),ht=_.strictObject({ok:_.literal(!1),error:st}),gt=_.union([mt,ht]),L=f.pick({kind:!0,id:!0}),R=_.number().int().positive(),z=R,B={knowledge:`valid`,commitment:`proposed`,interaction:`open`},V=_.discriminatedUnion(`category`,[_.strictObject({category:_.literal(`knowledge`),state:_.enum(g.knowledge),version:z}),_.strictObject({category:_.literal(`commitment`),state:_.enum(g.commitment),version:z}),_.strictObject({category:_.literal(`interaction`),state:_.enum(g.interaction),version:z})]).superRefine((e,t)=>{e.version===1&&e.state!==B[e.category]&&t.addIssue({code:`custom`,path:[`state`],message:`Lifecycle version 1 is reserved for the category initial state`})}),H=_.union([V,_.strictObject({category:_.literal(`record`)})]),U=_.string().trim().min(1),_t=_.strictObject({kind:U,ref:U}),W=_.discriminatedUnion(`kind`,[_.strictObject({kind:_.literal(`revision-assessment`),assessedRevision:f.shape.revision,source:_t.optional()}),_.strictObject({kind:_.literal(`handover`),source:_t})]),vt={artifact:L,expectedVersion:z,state:h,situation:W,reason:U.optional()},G=_.strictObject(vt),yt=_.strictObject({...vt,actor:te}),bt={valid:[`retired`],retired:[],proposed:[`decided`],decided:[`fulfilled`,`revoked`],fulfilled:[],revoked:[],open:[`resolved`,`closed-without-resolution`],resolved:[],"closed-without-resolution":[]};function K(e,t){return bt[e].includes(t)}const xt={artifact:L,lifecycle:V,actor:te,timestamp:_.number().int().nonnegative(),observedRevision:f.shape.revision},St=_.strictObject({...xt,operation:_.literal(`initialized`)}).superRefine((e,t)=>{(e.lifecycle.version!==1||e.lifecycle.state!==B[e.lifecycle.category])&&t.addIssue({code:`custom`,path:[`lifecycle`],message:`Initialization requires the category initial state and version 1`})}),q=_.strictObject({...xt,operation:_.literal(`transitioned`),previousState:h,situation:W,reason:G.shape.reason}).superRefine((e,t)=>{(!K(e.previousState,e.lifecycle.state)||e.lifecycle.version<=1)&&t.addIssue({code:`custom`,path:[`lifecycle`],message:`History requires a category-compatible transition after initialization`}),e.lifecycle.state===`retired`&&!e.reason&&t.addIssue({code:`custom`,path:[`reason`],message:`Retiring knowledge requires a reason`}),e.situation.kind===`revision-assessment`&&e.situation.assessedRevision!==e.observedRevision&&t.addIssue({code:`custom`,path:[`situation`],message:`An assessment cannot authorize a different observed content revision`})}),Ct=_.discriminatedUnion(`operation`,[St,q]),J=_.discriminatedUnion(`reason`,[_.strictObject({reason:_.literal(`lifecycle-version-conflict`),expectedVersion:z,current:V,requestedState:h}),_.strictObject({reason:_.literal(`content-basis-conflict`),assessedRevision:f.shape.revision,currentRevision:f.shape.revision}),_.strictObject({reason:_.literal(`invalid-transition`),current:H,requestedState:h}),_.strictObject({reason:_.literal(`precondition-failed`),current:V,requestedState:h})]),Y=`artifact-lifecycle-rejected`;var X=class extends Error{code=Y;data;constructor(e,t){super(e),this.name=`ArtifactLifecycleError`,this.data=J.parse(t)}};function wt(e){return e===`record`?{category:`record`}:V.parse({category:e,state:B[e],version:1})}function Tt(e){let t=H.parse(e.current),n=f.shape.revision.parse(e.currentRevision),r=yt.parse(e.command);if(t.category===`record`)throw new X(`Record artifacts do not have a lifecycle`,{reason:`invalid-transition`,current:t,requestedState:r.state});if(r.expectedVersion!==t.version)throw new X(`Artifact lifecycle changed since the supplied baseline`,{reason:`lifecycle-version-conflict`,expectedVersion:r.expectedVersion,current:t,requestedState:r.state});if(r.situation.kind===`revision-assessment`&&r.situation.assessedRevision!==n)throw new X(`Assessed content revision is no longer current`,{reason:`content-basis-conflict`,assessedRevision:r.situation.assessedRevision,currentRevision:n});if(!K(t.state,r.state))throw new X(`Artifact lifecycle transition is not allowed`,{reason:`invalid-transition`,current:t,requestedState:r.state});if(r.state===`retired`&&!r.reason)throw new X(`Retiring knowledge requires a reason`,{reason:`precondition-failed`,current:t,requestedState:r.state});return V.parse({...t,state:r.state,version:t.version+1})}const Et=_.strictObject({artifact:L}),Dt=_.strictObject({lifecycle:H}),Ot=_.strictObject({artifact:L,afterVersion:R.optional(),limit:_.number().int().min(1).max(100).default(50)}),kt=_.strictObject({entries:_.array(Ct).max(100),nextCursor:R.optional()}).superRefine(({entries:e,nextCursor:t},n)=>{let r=e[0],i;for(let[t,a]of e.entries()){let e=a.artifact.kind===r?.artifact.kind&&a.artifact.id===r?.artifact.id,o=i===void 0||a.lifecycle.version===i.lifecycle.version+1,s=i===void 0||a.operation===`transitioned`&&a.lifecycle.category===i.lifecycle.category&&a.previousState===i.lifecycle.state;if(!e||!o||!s){n.addIssue({code:`custom`,path:[`entries`,t],message:`History pages contain one artifact in contiguous ascending, state-linked order`});break}i=a}t!==void 0&&t!==i?.lifecycle.version&&n.addIssue({code:`custom`,path:[`nextCursor`],message:`nextCursor must equal the last returned lifecycle version`})}),Z=_.strictObject({entry:q}),At=Z,jt=_.strictObject({code:_.literal(Y),message:_.string().min(1),data:J});function Mt(e){return{code:e.code,message:e.message,data:e.data}}function Nt(e,t){switch(t.reason){case`content-basis-conflict`:return Ft(e,t);case`lifecycle-version-conflict`:return[...Q(e,t),...Pt(e,t)];case`invalid-transition`:case`precondition-failed`:return[...Q(e,t),...It(e,t)]}}function Q(e,t){return t.requestedState===e.state?[]:[{path:[`requestedState`],message:`Rejection requestedState must match the rejected transition`}]}function Pt(e,t){let n=[];return t.expectedVersion!==e.expectedVersion&&n.push({path:[`expectedVersion`],message:`Version conflict baseline must match the rejected transition`}),t.current.version===e.expectedVersion&&n.push({path:[`current`,`version`],message:`Version conflict requires a current version different from the supplied baseline`}),n}function Ft(e,t){let n=[];return(e.situation.kind!==`revision-assessment`||t.assessedRevision!==e.situation.assessedRevision)&&n.push({path:[`assessedRevision`],message:`Content conflict must identify the rejected revision assessment`}),t.currentRevision===t.assessedRevision&&n.push({path:[`currentRevision`],message:`Content conflict requires a current revision different from the assessed revision`}),n}function It(e,t){if(t.current.category===`record`)return[];let n=[];t.current.version!==e.expectedVersion&&n.push({path:[`current`,`version`],message:`A rejection after the version check must report the supplied baseline version`});let r=K(t.current.state,t.requestedState);return t.reason===`invalid-transition`&&r&&n.push({path:[`reason`],message:`invalid-transition requires a transition the lifecycle matrix disallows`}),t.reason===`precondition-failed`&&!r&&n.push({path:[`reason`],message:`precondition-failed requires a transition the lifecycle matrix allows`}),n}const Lt=_.strictObject({transition:G,error:jt}).superRefine(({transition:e,error:t},n)=>{for(let r of Nt(e,t.data))n.addIssue({code:`custom`,path:[`error`,`data`,...r.path],message:r.message})}),Rt={"lifecycle.get":{request:Et,response:Dt},"lifecycle.history":{request:Ot,response:kt},"lifecycle.transition":{request:G,response:Z},"lifecycle.committed":At,"lifecycle.rejected":Lt},zt={...Rt,"kind.register":{request:p,response:_.object({registered:_.boolean()})},"kind.list":{request:_.object({kind:_.string().min(1).optional()}),response:_.object({kinds:_.array(p)})},"relation-type.register":{request:a,response:_.object({registered:_.boolean()})},"relation-type.list":{request:_.object({type:_.string().min(1).optional()}),response:_.object({relationTypes:_.array(a)})},create:{request:s.omit({id:!0,revision:!0,timestamp:!0}).extend({id:f.shape.id.optional()}),response:_.object({artifact:s})},revise:{request:_.object({previous:f,statusPath:d.optional(),revision:s.omit({id:!0,revision:!0,timestamp:!0})}),response:_.object({artifact:s})},patch:{request:it,response:gt},resolve:{request:_.object({ref:f}),response:_.object({artifact:s.nullable()})},query:{request:i,response:_.object({artifacts:_.array(s)})},compare:{request:u,response:ee},"evidence.resolve":{request:de,response:he},resolveContext:{request:_.object({ref:f,selectors:T.optional(),maxDepth:_.number().int().min(1).max(20).default(5)}),response:_.object({context:k})},created:_.object({artifact:s}),revised:_.object({previous:f,artifact:s}),"relation.added":_.object({artifact:f,relation:o}),"observation.added":_.object({artifact:f,observation:c}),"status.changed":_.object({artifact:f,path:_.string().min(1),previous:_.unknown().optional(),current:_.unknown().optional()}),"kind.changed":_.object({kind:_.string().min(1),schemaVersion:m})},$=ue(`artifact`,zt),Bt=$.subjects;export{D as $,at as A,P as B,yt as C,Tt as D,R as E,st as F,rt as G,it as H,ht as I,Ye as J,Ze as K,ot as L,Xe as M,tt as N,wt as O,ft as P,O as Q,lt as R,V as S,q as T,gt as U,pt as V,mt as W,Je as X,qe as Y,Ie as Z,Ct as _,jt as a,Pe as at,J as b,Ot as c,xe as ct,Rt as d,he as dt,k as et,Z as f,X as g,H as h,At as i,T as it,j,K as k,kt as l,be as lt,Y as m,zt as n,w as nt,Et as o,Ne as ot,Mt as p,I as q,Bt as r,C as rt,Dt as s,Me as st,$ as t,Fe as tt,Lt as u,de as ut,L as v,G as w,W as x,St as y,ct as z};
|
package/dist/bus-CobBUqjo.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{z as e}from"zod";import{webcrypto as t}from"node:crypto";function n(e){if(typeof e!=`object`||!e)return!1;let t=e;return`$in`in t||`$ne`in t||`$exists`in t||`$startsWith`in t||`$endsWith`in t}function r(e){return{subject:`*`,$meta:{namespace:e,isRequest:!1,payload:{},local:!1,channel:!1}}}function i(t){return typeof t==`object`&&!!t&&`request`in t&&`response`in t&&t.request instanceof e.ZodType&&t.response instanceof e.ZodType}function a(e){return typeof e==`object`&&!!e&&`__channel`in e&&e.__channel===!0&&`schema`in e}function o(e){return{__channel:!0,schema:e}}function s(e){return typeof e==`object`&&!!e&&`__local`in e&&e.__local===!0&&`schema`in e}function c(e){return{__local:!0,schema:e}}function l(e){return typeof e==`object`&&!!e&&`__hostLocalRequest`in e&&e.__hostLocalRequest===!0&&`schema`in e}function u(e){return{__hostLocalRequest:!0,schema:e}}function d(e){return typeof e==`object`&&!!e&&`__defaultTransports`in e&&(e.__defaultTransports===`all`||e.__defaultTransports===`local-only`)&&`schema`in e}function f(e,t){return{__defaultTransports:t,schema:e}}function p(e){return typeof e==`object`&&!!e&&`__collectorOnly`in e&&e.__collectorOnly===!0&&`schema`in e}function m(e){return{__collectorOnly:!0,schema:e}}function h(e){return s(e)||p(e)||a(e)||l(e)||d(e)?e.schema:e}function g(e,t,n){let o={};for(let[r,c]of Object.entries(t)){let t=r.split(`.`),u=o;for(let e=0;e<t.length-1;e++)u[t[e]]??={},u=u[t[e]];let f=s(c),p=a(c),m=l(c),g=d(c)?c.__defaultTransports:n,_={subject:r,$meta:{namespace:e,isRequest:i(h(c)),local:f,channel:p,...m&&{hostLocalRequest:m},...g!==void 0&&{defaultTransports:g}}};u[t[t.length-1]]=_}return o.$all=r(e),o}function _(e){return`${e.$meta.namespace}.${e.subject}`}function v(e,t,n){let r=n?.defaultTransports,i;if(n!==void 0){let{defaultTransports:e,...t}=n;i=Object.keys(t).length>0?t:void 0}return{name:e,subjects:g(e,t,r),schemas:t,...i===void 0?{}:{options:i},...r===void 0?{}:{defaultTransports:r}}}e.object({cwd:e.string(),env:e.record(e.string(),e.string()),platform:e.enum([`posix`,`windows`]),signal:e.custom().optional(),constraints:e.record(e.string(),e.unknown()).optional(),sessionId:e.string().optional(),subagentId:e.string().optional(),subagentDepth:e.number().optional()});var y=class extends Error{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}};const b=`makaio.observability`;function x(e){let t=e.meta()?.[b];if(typeof t!=`object`||!t)return;let n=t;return n.kind===`schema`||n.kind===`field`?n:void 0}function S(e,t){return e.meta({...e.meta(),[b]:t})}function ee(t){if(t instanceof e.ZodOptional||t instanceof e.ZodNullable||t instanceof e.ZodDefault||t instanceof e.ZodCatch||t instanceof e.ZodReadonly)return t.unwrap()}function te(e){let t=e;for(;t;){let e=x(t);if(e?.kind===`field`)return e;t=ee(t)}}function ne(e){let t=x(e);if(t?.kind===`schema`)return{traceAll:t.traceAll}}function re(e){let t=te(e);if(t)return{visibility:t.visibility,attributeName:t.attributeName}}const ie={schema(e,t){return S(e,{kind:`schema`,traceAll:t.traceAll})},field(e,t){return S(e,{kind:`field`,visibility:t.visibility,attributeName:t.attributeName})},hidden(e){return S(e,{kind:`field`,visibility:`hidden`})},count(e,t){return S(e,{kind:`field`,visibility:`count`,attributeName:t})},attribute(e,t){return S(e,{kind:`field`,visibility:`attribute`,attributeName:t})}};function C(e,t){if(t===`*`)return!0;if(!t.endsWith(`*`))return e===t;if(t.endsWith(`:*`)){let n=t.slice(0,-2);return e.startsWith(n+`:`)}if(t.endsWith(`.*`)){let n=t.slice(0,-2);return e.startsWith(n+`.`)}return!1}function ae(e,t){for(let n of t)if(C(e,n))return!0;return!1}function oe(e,t){if(e==null)return;let n=t.split(`.`),r=e;for(let e of n){if(typeof r!=`object`||!r)return;r=r[e]}return r}function se(e,t){if(n(t)){if(`$in`in t)return t.$in.includes(e);if(`$ne`in t)return e!==t.$ne;if(`$exists`in t){let n=e!==void 0;return t.$exists?n:!n}return`$startsWith`in t?typeof e==`string`&&e.startsWith(t.$startsWith):`$endsWith`in t?typeof e==`string`&&e.endsWith(t.$endsWith):!1}return e===t}function w(e,t){for(let[n,r]of Object.entries(t))if(!se(oe(e,n),r))return!1;return!0}function ce(e,t){if(!(!e&&!t))return e?t?{...e,...t}:e:t}var T=class extends y{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},le=class extends DOMException{cause;constructor(e){super(typeof e==`string`?e:`Request aborted`,`AbortError`),this.cause=e}};function ue(e){try{return e instanceof Error||e instanceof DOMException||typeof e==`object`&&!!e&&!(Symbol.toStringTag in e)&&Object.prototype.toString.call(e)===`[object Error]`}catch{return!1}}function E(e){return ue(e)?e:new le(e)}function D(e,t){return!!(t?.aborted&&ue(e)&&(Object.is(e,t.reason)||e instanceof le&&Object.is(e.cause,t.reason)))}var de=class extends T{constructor(e){super(`Authentication failed for channel endpoint "${e}"`,e),this.name=`ChannelAuthError`}},fe=class extends T{constructor(e){super(`Channel "${e}" is closed`,e),this.name=`ChannelClosedError`}},pe=class extends T{constructor(e){super(`Subject "${e}" is channel-only and cannot be used on the public bus. Use a DirectChannel instead.`,e),this.name=`ChannelOnlyError`}};const me=`CONNECTION_LOST`;var he=class extends T{code=me;retryable=!0;constructor(e){super(`Connection lost on transport "${e}" — pending requests were rejected. This is retryable after reconnection.`)}},O=class extends T{constructor(e){super(`Subject "${e}" is local-only and cannot be invoked over a transport. Register a non-local handler on each node that needs to respond to this subject.`,e),this.name=`LocalSubjectError`}};const ge=`NO_HANDLER`;var k=class extends T{code=ge;constructor(e){super(`No handler registered for request subject "${e}"`,e)}},_e=class extends T{cause;constructor(e,t,n){super(`Request to "${e}" failed: ${t}`,e),this.cause=n,n&&(this.cause=n)}},ve=class extends T{timeoutMs;constructor(e,t){super(`Request to "${e}" timed out after ${t}ms`,e),this.timeoutMs=t}},ye=class extends T{zodError;constructor(e,t){let n=t.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`);super(`Validation failed for subject "${e}":\n${n.join(`
|
|
2
|
-
`)}`,e),this.zodError=t}};function be(e,t){if(!(e instanceof Error))return!1;if(e instanceof k)return e.subject===t;let n=e;return n.code===`NO_HANDLER`?n.subject===t:!1}function A(e){return`subject`in e&&`namespace`in e?`${e.namespace}.${e.subject}`:null}function xe(e,t){return e<t?-1:+(e>t)}function Se(e,t){return e.transportRegistry.names().filter(e=>e!==t).sort((e,t)=>xe(String(e),String(t))).map(t=>({name:t,transport:e.transportRegistry.getTransport(t)})).filter(e=>e.transport!==void 0)}function Ce(e,t){return Se(e,t).filter(({transport:e})=>e.isReady?.()!==!1)}const we=new Set([`message`,`name`,`stack`,`cause`,`subject`,`code`]);function j(e){if(!(e instanceof Error))return{message:typeof e==`string`?e:`Unknown error`};let t={message:e.message},n=e.cause instanceof Error?e.cause:e,r=`code`in e?e:n;`code`in r&&typeof r.code==`string`&&(t.code=r.code);let i=`subject`in e?e.subject:void 0,a=`subject`in n?n.subject:void 0;typeof i==`string`?t.subject=i:typeof a==`string`&&(t.subject=a);for(let e of Object.keys(n)){if(we.has(e))continue;let r=Object.getOwnPropertyDescriptor(n,e)?.value;typeof r==`function`||r===void 0||typeof r==`bigint`||typeof r==`symbol`||(t.data??={},t.data[e]=r)}return t}async function M(e,t,n){try{await e.send({type:`response`,correlationId:t.correlationId,error:j(n)})}catch(e){console.error(`[TransportRegistry] Failed to send error response:`,e)}}function Te(e){let t=Error(e.message);if(e.code&&(t.code=e.code),e.subject&&(t.subject=e.subject),e.data)for(let[n,r]of Object.entries(e.data))t[n]=r;return t}const N=Object.freeze({local:!0}),P=Object.freeze({local:!1});function Ee(e,t,n,r){if(n.size>0&&e&&!ae(e,n))return!1;if(e&&t!==void 0){for(let[n,i]of r)if((n===e||ae(e,new Set([n])))&&!w(t,i))return!1}return!0}function De(e,t){if(e.type===`response`){let n=e;return n.error?t.reject(n.correlationId,Te(n.error)):t.resolve(n.correlationId,n.result),!0}if(e.type===`broadcast-response`){let n=e;return n.error?t.reject(n.correlationId,Te(n.error)):t.resolve(n.correlationId,n.results??[]),!0}return!1}function Oe(e){return e.type===`request`}function ke(e){return e.type===`broadcast`}function Ae(e,t,n,r){return Oe(e)||ke(e)?t.track(e.correlationId,n,r):Promise.resolve(!0)}function je(e){let t=typeof e==`object`&&e?e:{};return{message:e instanceof Error?e.message:typeof t.message==`string`?t.message:String(e),code:t.code,subject:typeof t.subject==`string`?t.subject:void 0,data:t.data}}function Me(e){if(e.length===0)return[];if(e.length===1)return e[0].slice();let t=[];for(let n of e)for(let e of n)t.push(e);return t.sort((e,t)=>t.priority-e.priority),t}function Ne(e,t,n,r=`strict`,i){if(process.env.NODE_ENV===`production`||r===`skip`)return;let a=n.safeParse(t);if(!a.success){if(r===`lenient`){if(i)try{i({subject:e,payload:t,issues:a.error.issues})}catch(t){console.error(`[BUS] onSchemaViolation callback threw for "${e}":`,t)}return}throw console.error(`Payload validation failed for subject "${e}":`,JSON.stringify(t)),new ye(e,a.error)}}function Pe(e,t,n){let{mode:r,onViolation:a}=e.namespaceRegistry.getValidationConfig(t);if(r===`skip`)return;let o=e.namespaceRegistry.getSchema(t);!o||i(o)||Ne(t,n,o,r,a)}function Fe(e){let t=!e,n=new URL(e??`ws://localhost:6252/bus`);if(t){let e=parseInt(n.port,10);return{href:`${n.protocol}//${n.hostname}:${e}${n.pathname}`,port:e,isDefault:!0}}let r=n.port?parseInt(n.port,10):void 0;return{href:n.href,port:r,isDefault:!1}}function Ie(e,t){let{mode:n,onViolation:r}=e.namespaceRegistry.getValidationConfig(t);if(n===`skip`)return{requestSchema:void 0,responseSchema:void 0,mode:n,onViolation:void 0};let a=e.namespaceRegistry.getSchema(t);return!a||!i(a)?{requestSchema:void 0,responseSchema:void 0,mode:n,onViolation:r}:{requestSchema:a.request,responseSchema:a.response,mode:n,onViolation:r}}function Le(e,t,n){n.requestSchema&&Ne(e,t,n.requestSchema,n.mode,n.onViolation)}function Re(e,t,n){n.responseSchema&&Ne(e,t,n.responseSchema,n.mode,n.onViolation)}function ze(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>>1;e[i].priority>=t.priority?n=i+1:r=i}e.splice(n,0,t)}function F(e,t){let{requestHandlers:n}=e,r=[];for(let[e,i]of n)C(t,e)&&r.push(i);return Me(r)}function Be(e,t){return F(e,t).map(e=>e.handler)}function Ve(e,t,n=!1){let{remoteRequestHandlers:r}=e,i=[],a=new Set,o=new Set;if(n){for(let[n,r]of e.remoteSubscriptionDeliveryClasses)if(C(t,n))for(let[e,t]of r)t!==`relayable`&&a.add(e)}for(let[s,c]of r)if(C(t,s))for(let t of c){if(a.has(t.transport)||n&&!e.remoteSubscriptionDeliveryClasses.get(s)?.has(t.transport))continue;let r=`${t.transport}\0${t.priority}`;o.has(r)||(o.add(r),i.push(t))}return i.sort((e,t)=>t.priority-e.priority),i}function He(e,t,n,r){let i=new Set,a=F(e,r);if(a.length>0)for(let e of a)i.add(e.priority);let o=e.eventHandlers.has(r),s=a.length>0||o,c=e.namespaceRegistry.isHostLocalRequestSubject(r),l=e.remoteRequestHandlers.get(r),u=e.remoteSubscriptionDeliveryClasses.get(r);if(l&&!c)for(let e of l)e.transport!==t&&u?.get(e.transport)===`relayable`&&i.add(e.priority);let d=e.remoteEventHandlers.get(r),f=!c&&d!==void 0&&[...d].some(e=>e!==t&&u?.get(e)===`relayable`);if(i.size===0&&!o&&!f)return Promise.resolve(n.unsubscribe(r)).catch(e=>{console.debug(`[AdvertisedState] unsubscribe propagation failed`,{transport:t,subject:r,error:e})});{let e=s&&c?`first-hop-only`:`relayable`;return Promise.resolve(n.subscribe(r,void 0,[...i],e)).catch(n=>{console.debug(`[AdvertisedState] subscribe propagation failed`,{transport:t,subject:r,priorities:[...i],deliveryClass:e,error:n})})}}function I(e,t,n){let r=[],i=We(e,n);for(let n of e.transportRegistry.names()){if(t!==null&&n===t)continue;let a=e.transportRegistry.getTransport(n);if(a)for(let t of i)r.push(He(e,String(n),a,t))}return r.length>0?Promise.allSettled(r).then(()=>void 0):Promise.resolve()}async function Ue(e,t,n,r){let i=new Set;for(let t of e.requestHandlers.keys())i.add(t);for(let t of e.eventHandlers.keys())i.add(t);for(let t of e.remoteRequestHandlers.keys())i.add(t);for(let t of e.remoteEventHandlers.keys())i.add(t);for(let t of e.remoteSubscriptionDeliveryClasses.keys())i.add(t);for(let t of e.namespaceRegistry.listRegisteredSubjects())t.hostLocalRequest&&F(e,t.fullSubject).length>0&&i.add(t.fullSubject);let a=String(t),o=[];for(let t of i)o.push(He(e,a,n,t));await Promise.allSettled(o),!r?.aborted&&n.isReady?.()!==!1&&n.ready!==void 0&&Promise.resolve(n.send({type:`subscribe-sync-complete`})).catch(e=>{console.debug(`[AdvertisedState] subscribe-sync-complete send failed`,{transport:a,error:e})})}function We(e,t){let n=new Set(t);for(let r of e.namespaceRegistry.listRegisteredSubjects())r.hostLocalRequest&&t.some(e=>C(r.fullSubject,e))&&n.add(r.fullSubject);return n}const Ge=new Set;function Ke(e,t,n){if(process.env.NODE_ENV===`production`||process.env.MAKAIO_DEBUG!==`true`||t.subject.includes(`*`)||t.$meta.namespace.startsWith(`channel:`)||e.namespaceRegistry.getSchema(n)!==void 0||Ge.has(n))return;Ge.add(n);let r=t.$meta.namespace;console.warn(`[MakaioBus] Subject '${n}' used but namespace '${r}' is not registered. Validation and local-subject routing are disabled. Call registerNamespace() at boot.`)}const qe=process.env.NODE_ENV===`test`?()=>Ge.clear():void 0,Je=Symbol(`onPropagationPromise`);function Ye(e){return e?.[Je]}async function Xe(e){await(Ye(e)??Promise.resolve())}function Ze(e,t,n,r,i){let a=e[t];a.has(n)||a.set(n,[]),ze(a.get(n),{handler:r,priority:i})}function Qe(e,t,n,r){let i=e[t],a=i.get(n);if(a){let e=a.findIndex(e=>e.handler===r);e!==-1&&a.splice(e,1),a.length===0&&i.delete(n)}}function L(e,t,n,r){let i=t.subject,a=_(t),o=t.$meta.isRequest,s=i.includes(`*`)||i.includes(`:`),c=s&&!o;s||Ke(e,t,a);let l=r?.filter?e=>{if(w(e.payload,r.filter))return n(e)}:n,u=s?r?.handlerKind:void 0,d=u===`both`?[`eventHandlers`,`requestHandlers`]:u===`event`?[`eventHandlers`]:u===`request`?[`requestHandlers`]:c?[`eventHandlers`,`requestHandlers`]:o?[`requestHandlers`]:[`eventHandlers`],f=r?.priority??0;for(let t of d)Ze(e,t,a,l,f);let p=I(e,null,[a]),m=()=>{for(let t of d)Qe(e,t,a,l);I(e,null,[a])};return m[Je]=p,m}let R,z;function $e(e){if(e<0||e>1024)throw RangeError(`Wrong ID size`);!R||R.length<e?(R=Buffer.allocUnsafe(e*128),t.getRandomValues(R),z=0):z+e>R.length&&(t.getRandomValues(R),z=0),z+=e}function B(e=21){$e(e|=0);let t=``;for(let n=z-e;n<z;n++)t+=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`[R[n]&63];return t}function V(e){return e===void 0?!1:Array.isArray(e)?e.length===0:e.size===0}function et(e,t,n){if(n.$meta.local)return[];let r=_(n);if(e.namespaceRegistry.isCollectorOnlySubject(r))return[];if(t===void 0)return n.$meta.defaultTransports===`local-only`?[]:Ce(e).map(({transport:e})=>e);let i=Array.isArray(t)?t:Array.from(t);if(V(t))return[];let a=[];for(let t of i){let n=e.transportRegistry.getTransport(t);if(!n){console.warn(`Transport "${String(t)}" not found for request "${r}"`);continue}a.push(n)}return a}function tt(e,t,n,r){if(r!==void 0)return r;let i=t.$meta.defaultTransports;if(i!==void 0)return i===`local-only`?[]:void 0;if(e.namespaceRegistry.getDefaultTransports(n)===`local-only`)return[]}const nt=1e3,H=new Set;function rt(e){if(H.size>=nt){nt/2;let e=0;for(let t of H)if(H.delete(t),e++,e>=500)break}H.add(e)}function it(){process.env.NODE_ENV!==`production`&&H.clear()}function at(e,t,n,r,i,a,o){if(process.env.NODE_ENV===`production`||e.anyHandlers.size===0)return;if(o!==void 0){if(H.has(o))return;rt(o)}let s={type:t,subject:n,namespace:r,payload:i,messageId:a,correlationId:o};for(let t of e.anyHandlers)Promise.resolve().then(()=>t(s)).catch(e=>{console.error(`[${a}] Error in __onAny handler:`,e)})}function U(e){return e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e)}function ot(e){if(U(e))return!0;if(!Array.isArray(e)||!e.every(U))return!1;if(e.length<=1)return!0;let t=e[0]===null?`null`:typeof e[0];return e.every(e=>(e===null?`null`:typeof e)===t)}function st(e){return Array.isArray(e)||typeof e==`string`?e.length:e===void 0?void 0:1}function ct(t){if(t instanceof e.ZodObject)return t.shape}function lt(e,t){let n=ne(e),r=ct(e),i={};if(!r||typeof t!=`object`||!t)return i;let a=t;for(let[e,t]of Object.entries(r)){let r=re(t);if(r?.visibility===`hidden`)continue;let o=a[e];if(r?.visibility===`count`){let t=st(o);if(t!==void 0){let n=r.attributeName??e;i[n]=t}continue}if(n?.traceAll){if(U(o)){let t=r?.attributeName??e;i[t]=o}}else if(r?.visibility===`attribute`&&U(o)){let t=r.attributeName??e;i[t]=o}}return i}function ut(e){let{projectorRegistry:t,message:n}=e;if(!t)return;let r=t.get(n.namespace,n.subject);if(r)return r.project({payload:n.payload,namespace:n.namespace,subject:n.subject,messageType:n.type})}function dt(t){let{message:n,namespaceRegistry:r}=t,a=A(n);if(!a)return;let o=r.getSchema(a);if(o)return i(o)?o.request:o instanceof e.ZodType?o:void 0}function ft(e){let t={};for(let[n,r]of Object.entries(e))ot(r)&&(t[n]=r);return t}function pt(e,t){if(e.messageObservers.size!==0)for(let n of e.messageObservers)Promise.resolve().then(()=>n(t)).catch(e=>{console.error(`[${t.messageId}] Error in bus message observer:`,e)})}function mt(e){let{message:t,direction:n,observedAt:r,machineId:i}=e,a=ut(e),o;if(a!==void 0)o=a;else{let n=dt(e);o=n?lt(n,t.payload):{}}return[{factId:`${t.messageId}:${n}`,observedAt:r,...i===void 0?{}:{machineId:i},namespace:t.namespace,subject:t.subject,messageType:t.type,direction:n,messageId:t.messageId,...t.correlationId===void 0?{}:{correlationId:t.correlationId},attributes:ft(o)}]}function ht(e,t){let n=e.interceptorHandlers.get(t);return!n||n.length===0?[]:n.map(e=>e.handler)}function gt(e,t,n,r,i){let a=ht(e,t);return a.length===0?{stopped:!1,payload:n}:_t(a,t,n,r,i)}async function _t(e,t,n,r,i){let a=n,o=!1;for(let n of e){if(o)break;await n({subject:t,get payload(){return a},messageId:r,correlationId:i,stopPropagation(){o=!0},replacePayload(e){a=e},next(){}})}return{stopped:o,payload:a}}function vt(e,t){let{eventHandlers:n}=e,r=[];for(let[e,i]of n)C(t,e)&&r.push(i);return Me(r).map(e=>e.handler)}async function yt(e,t,n){let{correlationId:r,messageId:i}=t,a=[];for(let o of e)a.push(Promise.resolve().then(()=>o(t)).catch(e=>{let t=r?`[${r}][${i}]`:`[${i}]`;throw console.error(`${t} Error in event handler for "${n}":`,e),e}));await Promise.all(a)}async function W(e,t,n,r){let i=t.subject,a=_(t);Ke(e,t,a);let o=r?.messageId??B(),s=r?.correlationId,c=tt(e,t,a,r?.transports),l=t.$meta.local||e.namespaceRegistry.isCollectorOnlySubject(a)||V(c);Pe(e,a,n);let u=gt(e,a,n,o,s),d=u instanceof Promise?await u:u;if(d.stopped)return;let f=d.payload,p=vt(e,a);at(e,`event`,a,t.$meta.namespace,f,o,s),pt(e,{type:`event`,namespace:t.$meta.namespace,subject:i,payload:f,messageId:o,correlationId:s,transport:r?.transport,localOnly:l}),p.length>0&&await yt(p,{payload:f,messageId:o,correlationId:s,subject:a,isRequest:!1,transport:r?.transport,origin:r?.transport?P:N},a);let m=et(e,c,t);if(m.length>0){let e=[];for(let n of m)e.push(n.send({type:`event`,subject:i,namespace:t.$meta.namespace,payload:f,messageId:o,correlationId:s}).catch(e=>{let t=s?`[${s}][${o}]`:`[${o}]`;console.error(`${t} Error sending event "${i}" to transport:`,e)}));await Promise.all(e)}}function bt(e,t,n,r){let i=_(t),a=r?.priority??0;e.interceptorHandlers.has(i)||e.interceptorHandlers.set(i,[]);let o=r?.filter?e=>{if(w(e.payload,r.filter))return n(e)}:n;return ze(e.interceptorHandlers.get(i),{handler:o,priority:a}),()=>{let t=e.interceptorHandlers.get(i);if(t){let n=t.findIndex(e=>e.handler===o);n!==-1&&t.splice(n,1),t.length===0&&e.interceptorHandlers.delete(i)}}}var xt=class extends Error{constructor(e){super(e),this.name=`TimeoutError`}},St=class extends Error{constructor(e){super(),this.name=`AbortError`,this.message=e}};const Ct=e=>globalThis.DOMException===void 0?new St(e):new DOMException(e),wt=e=>{let t=e.reason===void 0?Ct(`This operation was aborted.`):e.reason;return t instanceof Error?t:Ct(t)};function Tt(e,t){let{milliseconds:n,fallback:r,message:i,customTimers:a={setTimeout,clearTimeout}}=t,o,s=new Promise((s,c)=>{if(typeof n!=`number`||Math.sign(n)!==1)throw TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(t.signal){let{signal:e}=t;e.aborted&&c(wt(e)),e.addEventListener(`abort`,()=>{c(wt(e))})}if(n===1/0){e.then(s,c);return}let l=new xt;o=a.setTimeout.call(void 0,()=>{if(r){try{s(r())}catch(e){c(e)}return}typeof e.cancel==`function`&&e.cancel(),i===!1?s():i instanceof Error?c(i):(l.message=i??`Promise timed out after ${n} milliseconds`,c(l))},n),(async()=>{try{s(await e)}catch(e){c(e)}})()}).finally(()=>{s.clear()});return s.clear=()=>{a.clearTimeout.call(void 0,o),o=void 0},s}async function G(e,t,n){let r,i=n?new Promise((t,i)=>{e.then(t,i);let a=()=>i(E(n.reason));if(n.aborted){a();return}n.addEventListener(`abort`,a,{once:!0}),r=()=>n.removeEventListener(`abort`,a)}):e;i.catch(()=>void 0);try{return t===0?await i:await Tt(i,{milliseconds:t})}finally{r?.()}}function Et(e,t){let n=[...e.map(e=>({...e,kind:`local`})),...t.map(e=>({...e,kind:`remote`}))];return n.sort((e,t)=>t.priority===e.priority?e.kind===`local`&&t.kind===`remote`?-1:+(e.kind===`remote`&&t.kind===`local`):t.priority-e.priority),n}function Dt(e,t,n){if(!n||n.length===0)return[...t];let r=new Set(n),i=t.filter(e=>r.has(e.transport));return i.length>0?i:[...new Set(n)].filter(t=>{let n=e.transportRegistry.getTransport(t);return n?n.isReady?.()!==!1:!1}).map(e=>({transport:e,priority:0}))}async function K(e,t,n,r,i,a,o){if(i>=r.length){if(o!==void 0)throw o;return{handled:!1}}let s=r[i];return s.kind===`local`?Ot(e,t,n,s,r,i+1,a,o):kt(e,t,n,s,r,i+1,a,o)}async function Ot(e,t,n,r,i,a,o,s){let c=t.subject,l,u=!1,d,f=n,p={isRequest:!0,get payload(){return f},get result(){return u?l:void 0},messageId:o.messageId,correlationId:o.correlationId,transport:o.transport,origin:o.transport?P:N,...o.deadline!==void 0&&{deadline:o.deadline},...o.signal!==void 0&&{signal:o.signal},setResult:e=>{l=e,u=!0},extendResult:e=>{l={...u?l:{},...e},u=!0},replacePayload:e=>{f=e},next:()=>{let n=(async()=>{let n=await K(e,t,f,i,a,o,s);n.handled&&!u&&(l=n.value,u=!0)})();return n.catch(()=>void 0),d??=n,n}};try{if(await r.handler(p),d!==void 0)await d;else if(!u){let n=await K(e,t,f,i,a,o,s);n.handled&&(l=n.value,u=!0)}}catch(e){throw D(e,o.signal)?E(e):e instanceof _e?e:new _e(c,e instanceof Error?e.message:String(e),e instanceof Error?e:void 0)}return{handled:u,value:l}}async function kt(e,t,n,r,i,a,o,s){let c=t.subject,l=t.$meta.namespace,u=`${l}.${c}`,d=o.deadline??(o.timeout>0?Date.now()+o.timeout:void 0),f=d===void 0?o.timeout:Math.max(0,d-Date.now()),p={...o,deadline:d};if(d!==void 0&&f===0)return K(e,t,n,i,a,p,s);let m=e.transportRegistry.getTransport(r.transport);if(!m)return K(e,t,n,i,a,p,s);let h={type:`request`,subject:c,namespace:l,payload:n,correlationId:o.correlationId,messageId:o.messageId,timeout:f,priority:(()=>{if(a<2)return o.priority;let e=i[a-2].priority;return e===r.priority?e+1:e})(),deadline:d},{signal:g}=o;try{if(g?.aborted)throw E(g.reason);return{handled:!0,value:await G(m.send(h,f),f,g)}}catch(l){if(D(l,g)){let e=E(l);throw m.cancelRequest?.(o.correlationId,e),e}if(g?.aborted)throw l;return be(l,u)?K(e,t,n,i,a,p,s):(console.error(`[${o.correlationId}][${o.messageId}] Error sending request "${c}" via transport '${r.transport}':`,l),K(e,t,n,i,a,p,s??l))}}async function At(e,t,n,r){let i=_(t),a=F(e,i),o=Et(a,t.$meta.local||r.localOnly?[]:Dt(e,Ve(e,i,r.excludeFirstHopOnlyRemote),r.allowedTransports)),s=r.priority,c=s===void 0?0:o.findIndex(e=>e.priority<s);if(!t.$meta.local&&!r.localOnly){let o=e.transportRegistry.getPendingReady();if(o.length>0){await G(Promise.allSettled(o),r.timeout,r.signal);let s=Et(a,Dt(e,Ve(e,i,r.excludeFirstHopOnlyRemote),r.allowedTransports));if(s.length===0)return{handled:!1};let c=r.priority,l=c===void 0?0:s.findIndex(e=>e.priority<c);return l===-1?{handled:!1}:K(e,t,n,s,l,r)}}return c===-1||o.length===0?{handled:!1}:K(e,t,n,o,c,r)}const jt=6e4;function Mt(e,t,n,r){return t.$meta.local?!0:V(tt(e,t,n,r))}function Nt(e){if(e===void 0)return;let t=Array.isArray(e)?e:Array.from(e);return t.length>0?t.map(String):void 0}async function q(e,t,n,r){let i=t.subject,a=_(t);Ke(e,t,a);let o=r?.messageId??B(),s=r?.correlationId??B(),c=r?.timeout??6e4,l=r?.signal,u=Mt(e,t,a,r?.transports),d=Ie(e,a);Le(a,n,d),at(e,`request`,i,t.$meta.namespace,n,o,s),pt(e,{type:`request`,namespace:t.$meta.namespace,subject:i,payload:n,messageId:o,correlationId:s,transport:r?.transport,localOnly:u});let f=Nt(r?.transports),p=c>0?Date.now()+c:void 0,m;try{m=await G(At(e,t,n,{allowedTransports:f,correlationId:s,messageId:o,timeout:c,signal:l,localOnly:u,deadline:p}),c,l)}catch(e){throw e instanceof xt&&!D(e,l)?new ve(i,c):e}if(!m.handled)throw new k(a);let h=m.value;return Re(a,h,d),h}async function Pt(e,t,n,r){try{return{handled:!0,data:await q(e,t,n,r)}}catch(e){if(e instanceof k&&!D(e,r?.signal))return{handled:!1};throw e}}var Ft=class extends Error{constructor(){super(`once() was aborted via AbortSignal`),this.name=`OnceAbortError`}},It=class extends Error{constructor(e,t){super(`once() timed out after ${t}ms waiting for subject: ${e}`),this.name=`OnceTimeoutError`}};function Lt(e,t,n){if(typeof n==`function`){let r=n,i=null;return i=L(e,t,(e=>{let t=i;return i=null,t?.(),r(e)})),()=>{i&&=(i(),null)}}let r=n;return new Promise((n,i)=>{let a=null,o=null,s=null,c=r?.signal,l=()=>{o&&=(clearTimeout(o),null),c&&s&&(c.removeEventListener(`abort`,s),s=null),a&&=(a(),null)};if(c){if(c.aborted){l(),i(new Ft);return}s=()=>{l(),i(new Ft)},c.addEventListener(`abort`,s,{once:!0})}a=L(e,t,(e=>{l(),n(e)}),r?.filter?{filter:r.filter}:void 0);let u=Ye(a),d=()=>{r?.timeoutMs&&a!==null&&(o=setTimeout(()=>{l(),i(new It(_(t),r.timeoutMs))},r.timeoutMs))};u?u.then(d,d):d()})}function Rt(e,t,n,r,i){let a=`anonymous`,o=!1,s;return{isRequest:!0,payload:e,messageId:t,correlationId:n,transport:i,origin:i?P:N,get result(){return s},identify:e=>{a=e},setResult:e=>{o||(o=!0,s=e,r(a,e))},extendResult:e=>{o?Object.assign(s,e):(s={...e},o=!0,r(a,s))},next:async()=>{},replacePayload:()=>{}}}async function zt(e,t){let n=[],r=Rt(t.payload,t.messageId,t.correlationId,(e,t)=>{n.push({nodeId:e,payload:t})},t.transport);try{await e(r)}catch(e){return console.error(`[${t.correlationId}][${t.messageId}] Broadcast handler error for "${t.subjectKey}":`,e),[]}for(let e of n)Re(t.fullSubjectKey,e.payload,t.validationCtx);return n}async function Bt(e,t,n,r){let i=t.subject,a=_(t),o=r?.messageId??B(),s=r?.correlationId??B(),c=r?.timeout??6e4,l=r?.signal,u=Ie(e,a),d=tt(e,t,a,r?.transports),f=t.$meta.local||e.namespaceRegistry.isCollectorOnlySubject(a)||V(d);Le(a,n,u),at(e,`broadcast`,i,t.$meta.namespace,n,o,s),pt(e,{type:`broadcast`,namespace:t.$meta.namespace,subject:i,payload:n,messageId:o,correlationId:s,transport:r?.transport,localOnly:f});let p=[],m=Be(e,a),h=d===void 0?t.$meta.local?[]:Ce(e).map(({transport:e})=>e):et(e,d,t),g=m.map(async e=>{let t=await zt(e,{payload:n,messageId:o,correlationId:s,subjectKey:i,fullSubjectKey:a,transport:r?.transport,validationCtx:u});p.push(...t)}),v=h.map(async e=>{try{let r=await e.send({type:`broadcast`,subject:i,namespace:t.$meta.namespace,payload:n,correlationId:s,messageId:o,timeout:c},c);for(let e of r)Re(a,e.payload,u),p.push({nodeId:e.nodeId,payload:e.payload})}catch(e){console.error(`[${s}][${o}] Broadcast transport error for "${i}":`,e)}});try{await G(Promise.all([...g,...v]),c,l)}catch(e){throw e instanceof xt&&!D(e,l)?new ve(i,c):e}return p}function J(e,t,n){if(!t?.$meta)throw Error(`Invalid subject definition provided to ${e}()`);if(t.$meta.channel)throw new pe(String(t.subject));if(n){let e=t?.$meta?.namespace??`(NO NAMESPACE)`;if(e!==n)throw Error(`Subject namespace ${e} does not match scoped bus namespace ${n}`)}if(e===`emit`){if(t.$meta.isRequest)throw Error(`Cannot emit to request subjects. Use event subjects only.`);if(t.subject?.includes(`*`))throw Error(`Emitting wildcard subjects is not allowed. Use concrete subject keys only.`)}if(e===`intercept`){if(t.$meta.isRequest===!0)throw Error(`intercept() only supports event subjects, not request subjects. Use middleware for requests.`);if(t.subject?.includes(`*`))throw Error(`intercept() requires exact subjects, not wildcards. Wildcards are only supported for on().`)}}function Y(e,t){let n=ce(e,t?.filter);return!n||Object.keys(n).length===0?t:{...t,filter:n}}function X(e,t,n){return{namespace:t,getFilter(){return n},withFilter:(r=>X(e,t,ce(n,r))),on(r,i,a){return J(`on`,r,t),L(e,r,i,Y(n,a))},intercept(r,i,a){return J(`intercept`,r,t),bt(e,r,i,Y(n,a))},once:((r,i)=>{if(J(`once`,r,t),typeof i==`function`){let t=i,a=null;return a=L(e,r,(e=>{let n=a;return a=null,n?.(),t(e)}),Y(n,void 0)),()=>{a&&=(a(),null)}}return Lt(e,r,Y(n,i))}),async emit(n,r,i){return J(`emit`,n,t),W(e,n,r,i)},async request(n,r,i){return J(`request`,n,t),q(e,n,r,i)},async requestOptional(n,r,i){return J(`request`,n,t),Pt(e,n,r,i)}}}function Vt(e,t){let n=t,r=$({context:e,namespace:n});return{namespace:n,emit:r.emit,on:r.on,intercept:r.intercept,once:r.once,request:r.request,requestOptional:r.requestOptional,withFilter:(t=>X(e,n,t)),getContext:()=>e}}function Ht(e){return{local:s(e),collectorOnly:p(e),channel:a(e),hostLocalRequest:l(e),defaultTransports:d(e)?e.__defaultTransports:void 0}}function Ut(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,Ht(r));return t}function Wt(e){let t=[];return e.local&&t.push(`local`),e.collectorOnly&&t.push(`collectorOnly`),e.channel&&t.push(`channel`),e.hostLocalRequest&&t.push(`hostLocalRequest`),e.defaultTransports&&t.push(`defaultTransports=${e.defaultTransports}`),t.length>0?t.join(`, `):`(none)`}function Gt(e,t,n){let r=[];for(let[e,i]of n){let n=t.get(e);n&&(n.local!==i.local||n.collectorOnly!==i.collectorOnly||n.channel!==i.channel||n.hostLocalRequest!==i.hostLocalRequest||n.defaultTransports!==i.defaultTransports)&&r.push(`${e}: existing=[${Wt(n)}], incoming=[${Wt(i)}]`)}if(r.length!==0)throw Error(`[MakaioBus] Namespace '${e}' already registered with different routing metadata. Routing metadata must be identical across registrations because it determines security-critical transport behavior. Conflicts: ${r.join(`; `)}`)}const Kt=new WeakMap;function qt(e){let t=e._def.values;if(t)return new Set(t.map(e=>`literal:${typeof e}:${String(e)}`))}function Jt(e){let t=e._def.checks;return Array.isArray(t)&&t.length>0}function Yt(t,n=!1){let r=new Set,i=t;for(;i instanceof e.ZodOptional||i instanceof e.ZodNullable||i instanceof e.ZodDefault||i instanceof e.ZodReadonly;){if(i instanceof e.ZodDefault)return;i instanceof e.ZodOptional&&r.add(`undefined`),i instanceof e.ZodNullable&&r.add(`null`),i=i.unwrap()}if(!(n&&Jt(i))){if(i instanceof e.ZodLiteral){let e=qt(i);if(!e)return;for(let t of e)r.add(t);return r}if(i instanceof e.ZodString)r.add(`string`);else if(i instanceof e.ZodNumber)r.add(`number`);else if(i instanceof e.ZodBoolean)r.add(`boolean`);else if(i instanceof e.ZodBigInt)r.add(`bigint`);else if(i instanceof e.ZodDate)r.add(`date`);else return;return r}}function Xt(e,t){let n=Yt(e,!0),r=Yt(t);if(!n||!r)return!1;for(let e of r){if(n.has(e))continue;let t=e.startsWith(`literal:`)?e.slice(8).split(`:`,1)[0]:e;if(!n.has(t))return!1}return!0}function Zt(e){let t=e._def.checks;return Array.isArray(t)&&t.length>0}function Qt(e){let t=Kt.get(e);if(t)return t;let n=new Map(Object.entries(e.shape).map(([e,t])=>[e,t]));return Kt.set(e,n),n}function $t(e,t,n){if(!Zt(e))return;let r=Qt(e);for(let[e,i]of Object.entries(t)){let t=r.get(e);if(t&&!Xt(t,i))throw Error(`[MakaioBus] Cannot extend ${n}: field '${e}' overrides an incompatible refined schema field`)}}function en(e,t){Zt(e)&&Kt.set(t,Qt(e))}function Z(t,n){if(!(t instanceof e.ZodObject)){let e=t?.constructor?.name??typeof t;throw Error(`[MakaioBus] Cannot extend ${n}: schema is not a ZodObject (got ${e})`)}}function tn(e,t,n){$t(e,t,n);let r=e.safeExtend(t),i=e.meta(),a=i?r.meta(i):r;return en(e,a),a}function nn(e,t){let n=rn(e.toLowerCase(),t.toLowerCase());return n===0?rn(e,t):n}function rn(e,t){if(e===t)return 0;let n=Array.from(e),r=Array.from(t),i=Math.min(n.length,r.length);for(let e=0;e<i;e+=1){let t=n[e].codePointAt(0),i=r[e].codePointAt(0);if(t!==i)return(t??0)<(i??0)?-1:1}return n.length-r.length}const an=async(e,t)=>{if(!e)throw Error(`Namespace not initialized yet`);let{MakaioBus:n}=await import(`./bus-Uy9C3TBM.mjs`),{createScopedBus:r}=await import(`./scoped-bus-DwVrmi_1.mjs`),i=t??n.getContext();if(!i)throw Error(`No MakaioBus context available. Please provide a context when calling scopedBus().`);return r(i,e)};function on(e,t,n){let r=Array.from(t.keys()),i=Array.from(n.keys()),a=i.filter(e=>!t.has(e)),o=r.filter(e=>!n.has(e)),s=i.filter(e=>{let r=t.get(e),i=n.get(e);return r!==void 0&&i!==void 0&&!sn(r,i)});if(a.length===0&&o.length===0&&s.length===0)return;let c=[];a.length>0&&c.push(`new subjects: ${a.join(`, `)}`),o.length>0&&c.push(`missing subjects: ${o.join(`, `)}`),s.length>0&&c.push(`changed schemas: ${s.join(`, `)}`),console.warn(`[MakaioBus] Namespace '${e}' already registered with different schemas. ${c.join(`; `)}. This usually indicates a namespace collision between packages.`)}function sn(e,t){let n=cn(e),r=cn(t);return typeof n==`string`&&typeof r==`string`?n===r:e===t}function cn(t){try{let n=i(t)?{request:e.toJSONSchema(t.request),response:e.toJSONSchema(t.response)}:e.toJSONSchema(t);return JSON.stringify(n)}catch{return t}}function ln(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,h(r));return t}function un(e){return e?.busValidationMode===`lenient`?{mode:`lenient`,onViolation:e.onSchemaViolation}:e?.busValidationMode===`skip`?{mode:`skip`}:{mode:`strict`}}function dn(e,t,n){t.mode===n.mode&&t.onViolation===n.onViolation||console.warn(`[MakaioBus] Namespace '${e}' already registered with different validation settings. Existing mode: ${t.mode}; incoming mode: ${n.mode}. This usually indicates a namespace collision between packages.`)}const fn=()=>{let e=new Map,t=new Map,n=new Map,r=new Map,o=new Map,c=new Set,u=new Set,d=new Set,f=new Map,m=new Map;return{registerNamespace(i){let{name:g,schemas:_,options:v}=i,y=ln(_),b=Ut(_),x=e.get(g);if(x)return Gt(g,n.get(g)??new Map,b),on(g,t.get(g)??new Map,y),dn(g,f.get(g)??{mode:`strict`},un(v)),x;f.set(g,un(v)),t.set(g,y),n.set(g,b);for(let[e,t]of Object.entries(_)){let n=`${g}.${e}`,f=s(t),_=p(t),v=a(t),b=l(t),x=y.get(e)??h(t);r.set(n,x),o.set(n,{namespace:g,subject:e,fullSubject:n,schema:x,local:f,collectorOnly:_,channel:v,hostLocalRequest:b}),f&&c.add(n),_&&u.add(n),b&&d.add(n),i.defaultTransports&&m.set(n,i.defaultTransports)}let S={name:g,subjects:i.subjects,scopedBus:e=>an(g,e)};return e.set(g,S),S},registerNamespaces(e){for(let t of e)this.registerNamespace(t)},getSchema(e){let t=typeof e==`string`?e:_(e);return r.get(t)},listRegisteredSubjects(){return Array.from(o.values()).map(e=>({...e,schema:i(e.schema)?{...e.schema}:e.schema})).sort((e,t)=>nn(e.fullSubject,t.fullSubject))},getRegisteredSubject(e){return o.get(e)},isRequestSubject(e){let t=r.get(e);return t?i(t):!1},isLocalSubject(e){return c.has(e)},isCollectorOnlySubject(e){return u.has(e)},isHostLocalRequestSubject(e){return d.has(e)},getDefaultTransports(e){return m.get(e)??`all`},getValidationConfig(e){let t;for(let[n,r]of f)(e===n||e.startsWith(n+`.`))&&(!t||n.length>t.namespace.length)&&(t={namespace:n,config:r});return t?.config??{mode:`strict`}},extendSubjectSchema(e,t){let n=r.get(e);if(!n)throw Error(`[MakaioBus] Cannot extend subject '${e}': not registered. Ensure the owning namespace is imported before calling extendSubject().`);if(i(n)){let i=t;i.request&&Z(n.request,`'${e}' request`),i.response&&Z(n.response,`'${e}' response`);let a={request:i.request?tn(n.request,i.request,`'${e}' request`):n.request,response:i.response?tn(n.response,i.response,`'${e}' response`):n.response};r.set(e,a);let s=o.get(e);s&&o.set(e,{...s,schema:a})}else{Z(n,`'${e}'`);let i=tn(n,t,`'${e}'`);r.set(e,i);let a=o.get(e);a&&o.set(e,{...a,schema:i})}},__resetNamespaces:process.env.NODE_ENV===`test`?()=>{e.clear(),t.clear(),n.clear(),r.clear(),o.clear(),c.clear(),u.clear(),d.clear(),f.clear(),m.clear()}:void 0}};function pn(e){return e===`relayable`?`relayable`:`first-hop-only`}async function mn(e,t,n){let r=String(t);for(let[t,i]of Object.entries(n.subjects)){let a=pn(n.deliveryClasses?.[t]),o=e.remoteRequestHandlers.get(t),s=o?o.filter(e=>e.transport!==r):[];for(let e of i)s.push({transport:r,priority:e});s.length>0?e.remoteRequestHandlers.set(t,s):e.remoteRequestHandlers.delete(t);let c=e.remoteSubscriptionDeliveryClasses.get(t)??new Map;if(c.set(r,a),e.remoteSubscriptionDeliveryClasses.set(t,c),i.length===0){let n=e.remoteEventHandlers.get(t)??new Set;n.add(r),e.remoteEventHandlers.set(t,n)}else _n(e,t,r)}await I(e,t,Object.keys(n.subjects))}async function hn(e,t,n){let r=String(t);for(let t of Object.keys(n.subjects)){let n=e.remoteRequestHandlers.get(t);if(n){let i=n.filter(e=>e.transport!==r);i.length===0?e.remoteRequestHandlers.delete(t):e.remoteRequestHandlers.set(t,i)}_n(e,t,r);let i=e.remoteSubscriptionDeliveryClasses.get(t);i?.delete(r),i?.size===0&&e.remoteSubscriptionDeliveryClasses.delete(t)}await I(e,t,Object.keys(n.subjects))}function gn(e,t){let n=new Set;for(let[r,i]of e.remoteRequestHandlers){let a=i.filter(e=>e.transport!==t);a.length!==i.length&&(a.length===0?e.remoteRequestHandlers.delete(r):e.remoteRequestHandlers.set(r,a),n.add(r))}for(let[r,i]of e.remoteEventHandlers)i.delete(t)&&(i.size===0&&e.remoteEventHandlers.delete(r),n.add(r));for(let[r,i]of e.remoteSubscriptionDeliveryClasses)i.delete(t)&&(i.size===0&&e.remoteSubscriptionDeliveryClasses.delete(r),n.add(r));n.size>0&&I(e,t,[...n])}function _n(e,t,n){let r=e.remoteEventHandlers.get(t);r?.delete(n),r?.size===0&&e.remoteEventHandlers.delete(t)}const vn=(e,t)=>({subject:e.subject,$meta:{namespace:e.namespace,isRequest:t,payload:{},local:!1,channel:!1}}),yn=(e,t)=>Ce(e,t),bn=async(e,t,n,r)=>{let i=A(n);if(i){if(e.namespaceRegistry.isLocalSubject(i)){console.warn(`[TransportRegistry] Dropping inbound event '${i}' from transport '${String(t)}': subject is local-only and cannot be invoked remotely.`);return}if(!e.namespaceRegistry.isCollectorOnlySubject(i)){let r=yn(e,t),a=await Promise.allSettled(r.map(async({transport:e})=>e.send(n)));for(let[e,t]of a.entries())t.status===`rejected`&&console.error(`[TransportRegistry] Failed to relay event '${i}' to transport '${String(r[e].name)}':`,t.reason)}await W(e,vn(n,!1),n.payload,{messageId:n.messageId,correlationId:n.correlationId,transports:[],transport:r})}},xn=async(e,t,n,r,i)=>{let a=A(r),o=r.timeout??6e4;if(!a){await M(n,r,Error(`Invalid subject in request message`));return}if(e.namespaceRegistry.isLocalSubject(a)){await M(n,r,new O(a));return}let s=e.namespaceRegistry.isHostLocalRequestSubject(a),c=vn(r,!0);try{let t=await At(e,c,r.payload,{correlationId:r.correlationId,messageId:r.messageId,timeout:o,deadline:r.deadline,priority:r.priority,transport:i,excludeFirstHopOnlyRemote:!0,...s&&{localOnly:!0}});if(!t.handled){await M(n,r,new k(a));return}await n.send({type:`response`,correlationId:r.correlationId,result:t.value})}catch(e){await M(n,r,e)}},Q=async(e,t,n,r)=>{if(e.onBroadcastResults){e.onBroadcastResults(t,n,r);return}let i={type:`broadcast-response`,correlationId:t,...n.length>0?{results:n}:{},...r?{error:r}:{}};await e.send(i)},Sn=async(e,t,n,r,i)=>{let a=A(r),o=r.timeout??6e4;if(!a){await Q(n,r.correlationId,[],j(Error(`Invalid subject in broadcast message`)));return}if(e.namespaceRegistry.isLocalSubject(a)){await Q(n,r.correlationId,[],j(new O(a)));return}try{let s=[],c,l=Bt(e,vn(r,!0),r.payload,{messageId:r.messageId,correlationId:r.correlationId,timeout:o,transports:[],transport:i}).then(e=>s.push(...e)).catch(e=>{c=j(e)}),u=yn(e,t).map(async({name:e,transport:t})=>{try{s.push(...await t.send(r,o))}catch(t){console.error(`[TransportRegistry] Failed to relay broadcast '${a}' to transport '${String(e)}':`,t)}});await Promise.all([l,...u]),await Q(n,r.correlationId,s,c)}catch(e){await Q(n,r.correlationId,[],j(e))}},Cn=(e,t,n)=>{if(n===void 0)return;e.set(t,n);let r=()=>{e.get(t)===n&&e.delete(t)};n.then(r,r)},wn=e=>{let t=new Map,n,r=new Map,i=async(t,n,r,i)=>{try{if(r.type===`subscribe-sync-complete`||r.type===`subscription-ack`)return;if(r.type===`subscribe`){await mn(e,t,r);return}if(r.type===`unsubscribe`){await hn(e,t,r);return}let a=i?{...i,transportName:i.transportName||String(t)}:{transportName:String(t)};r.type===`event`?await bn(e,t,r,a):r.type===`request`?await xn(e,t,n,r,a):r.type===`broadcast`&&await Sn(e,t,n,r,a)}catch(e){console.error(`[TransportRegistry] Unhandled error processing transport message:`,e)}};return{registerTransport(a,o){let s=t.get(a);s&&(console.warn(`[TransportRegistry] Replacing existing transport '${a}'. This unsubscribes the old transport's handler - if unintended, use a different name.`),gn(e,String(a)),s.syncAbort.abort(),s.unsubscribe(),s.transport.onNewReadySession=void 0,s.transport.onConnected=void 0,s.transport.onDisconnected=void 0,r.delete(a));let c=o.onReceive(async(e,t)=>{await i(a,o,e,t)}),l=new AbortController;return t.set(a,{transport:o,unsubscribe:c,syncAbort:l}),Cn(r,a,o.ready),o.onNewReadySession=e=>Cn(r,a,e),o.onConnected=()=>n?.onConnected(String(a)),o.onDisconnected=()=>n?.onDisconnected(String(a)),Ue(e,a,o,l.signal),{unregister:()=>{let n=t.get(a);n?.transport===o&&(n.syncAbort.abort(),n.unsubscribe(),t.delete(a),r.delete(a),o.onNewReadySession=void 0,o.onConnected=void 0,o.onDisconnected=void 0,gn(e,String(a)))},ready:o.ready??Promise.resolve()}},getTransport(e){return t.get(e)?.transport},all(){return Array.from(t.values(),e=>e.transport)},names(){return Array.from(t.keys())},getPendingReady(){return Array.from(r.values())},setLifecycleEmitter(e){n=e}}};function Tn(e,t){return{subject:e,register(n){return n.extendSubject(e,t)}}}function En(e,t,n){let r=_(t);return e.namespaceRegistry.extendSubjectSchema(r,n),t}const Dn={connected:c(e.object({transport:e.string()})),disconnected:c(e.object({transport:e.string()}))};function On(e,t){e.transportRegistry.setLifecycleEmitter({onConnected(n){W(e,t.connected,{transport:n}).catch(e=>{console.error(`[bus] lifecycle emit error on connected:`,e)})},onDisconnected(n){W(e,t.disconnected,{transport:n}).catch(e=>{console.error(`[bus] lifecycle emit error on disconnected:`,e)})}})}const kn=()=>{let e={eventHandlers:new Map,requestHandlers:new Map,interceptorHandlers:new Map,anyHandlers:new Set,messageObservers:new Set,transportRegistry:void 0,namespaceRegistry:fn(),remoteRequestHandlers:new Map,remoteEventHandlers:new Map,remoteSubscriptionDeliveryClasses:new Map};return e.transportRegistry=wn(e),e},An=e=>{let t=new Map,n=!1,r=null,i=null,a=null,o=()=>n||r!==null,s=e=>e.every(e=>t.get(e.transport.name)===e),c=async e=>{for(let n of e)try{n.unregister()}catch(e){console.error(`[bus.connect] Failed to unregister '${n.transport.name}' during rollback:`,e)}finally{t.get(n.transport.name)===n&&t.delete(n.transport.name)}await Promise.allSettled(e.map(e=>e.transport.disconnect()))},l=e=>{i===e&&(i=null)},u=async e=>{e?.awaitReady!==!1&&i&&await i},d=()=>{let e=!1,t=!1,n,r,i,a=new Promise((e,t)=>{n=e,r=t}),o=new Promise(e=>{i=e});return a.catch(()=>void 0),{promise:a,cancelSignal:o,resolve:()=>{t||(t=!0,n())},reject:e=>{t||(t=!0,r(e))},cancel:()=>{e||(e=!0,i(),t||(t=!0,n()))},isCanceled:()=>e}},f=(e,t)=>{let n=t instanceof Error?t.message:String(t),r=Error(`Failed to connect transport "${e}": ${n}`,{cause:t});if(typeof t==`object`&&t){let e=t,n=r;`code`in e&&(n.code=e.code),`status`in e&&(n.status=e.status)}return r},p=async(e,t)=>{await c(e),t()},m=async(e,t,n,r)=>{n(r),l(t),await c(e)},h=(e,t)=>{let n=Promise.all(e.map(e=>e.ready.catch(t=>{throw console.error(`[bus.connect] Transport '${e.transport.name}' ready failed:`,t),t}))).then(()=>{});return n.catch(()=>void 0),Promise.race([n,t.cancelSignal])};return{registerTransport:n=>{if(o())throw Error(`[bus.connect] Cannot register transport '${n.name}' after connect() has started; create a new bus instance or use the shared transport registry directly`);let r=e.transportRegistry.registerTransport(n.name,n);return t.set(n.name,{transport:n,unregister:r.unregister,get ready(){return n.ready??r.ready}}),r},unregisterTransport:e=>{let n=t.get(e);n&&(n.unregister(),t.delete(e))},get ready(){return i??Promise.resolve()},disconnect:()=>{n=!1,a?.cancel(),a=null,r=null,i=null;for(let{transport:e,unregister:n}of t.values()){try{Promise.resolve(e.disconnect()).catch(()=>{})}catch{}n()}t.clear()},reconnect:async()=>{let e=Array.from(t.values()).filter(e=>typeof e.transport.reconnect==`function`),n=await Promise.allSettled(e.map(e=>Promise.resolve().then(()=>e.transport.reconnect())));for(let[t,r]of n.entries())r.status===`rejected`&&console.error(`[bus] reconnect failed for transport '${e[t].transport.name}':`,r.reason)},connect:async e=>{if(n){await u(e);return}if(r){await r,await u(e);return}let o=Array.from(t.values());if(o.length===0)return;let c=d();i=c.promise,a=c;let l=null,g=!1;r=(async()=>{try{await Promise.all(o.map(async e=>{try{await e.transport.connect()}catch(t){throw f(e.transport.name,t)}}))}catch(e){throw await m(o,c.promise,c.reject,e),e}if(!s(o)){await p(o,c.resolve);return}n=!0;try{let t=h(o,c),r=async()=>{if(!(!n||c.isCanceled())&&(await t,!(!n||c.isCanceled()))){if(!s(o)){await p(o,c.resolve);return}c.resolve()}};e?.awaitReady===!1?(l=r(),g=!0,l.catch(async e=>{console.error(`[bus.connect] Background ready failed:`,e),await m(o,c.promise,c.reject,e),n=!1}).finally(()=>{l=null,a===c&&(a=null)})):(l=r(),await l)}catch(e){throw n=!1,await m(o,c.promise,c.reject,e),e}})().finally(()=>{r=null,!g&&a===c&&(a=null),l=null}),await r}}};function jn(e){e.eventHandlers.clear(),e.requestHandlers.clear(),e.interceptorHandlers.clear(),e.anyHandlers.clear(),e.messageObservers.clear(),e.remoteRequestHandlers.clear(),e.remoteEventHandlers.clear(),it()}function $(e){let{context:t=kn(),namespace:n,transports:r}=e??{},i=An(t),a={namespace:n,on:(e,r,i)=>(J(`on`,e,n),L(t,e,r,i)),intercept:(e,r,i)=>(J(`intercept`,e,n),bt(t,e,r,i)),once:(e,r)=>(J(`once`,e,n),Lt(t,e,r)),emit:async(e,r,i)=>(J(`emit`,e,n),W(t,e,r,i)),request:async(e,r,i)=>(J(`request`,e,n),q(t,e,r,i)),requestOptional:async(e,r,i)=>(J(`request`,e,n),Pt(t,e,r,i)),broadcast:async(e,r,i)=>(J(`request`,e,n),Bt(t,e,r,i)),scoped:(e,n)=>Vt(n??t,e.name),withFilter:e=>X(t,n??``,e),...i,getContext:()=>t,getSchema:e=>t.namespaceRegistry.getSchema(e),registerNamespace:e=>t.namespaceRegistry.registerNamespace(e),registerNamespaces:e=>t.namespaceRegistry.registerNamespaces(e),extendSubject:(e,r)=>{if(n&&e.$meta.namespace!==n)throw Error(`Subject namespace ${e.$meta.namespace} does not match scoped bus namespace ${n}`);return En(t,e,r)},observeMessages:e=>(t.messageObservers.add(e),()=>{t.messageObservers.delete(e)}),__onAny:e=>process.env.NODE_ENV===`production`?()=>{}:(t.anyHandlers.add(e),()=>{t.anyHandlers.delete(e)}),__resetHandlers:process.env.NODE_ENV===`test`?()=>jn(t):void 0};Object.defineProperty(a,`ready`,{get(){return i.ready},enumerable:!0,configurable:!0}),On(t,a.registerNamespace(v(`bus:lifecycle`,Dn)).subjects);for(let e of r??[])a.registerTransport(e);return a}const Mn=$();export{c as $,ge as A,E as B,Ae as C,ye as D,be as E,pe as F,ae as G,oe as H,fe as I,v as J,C as K,de as L,O as M,me as N,ve as O,he as P,u as Q,le as R,Ee as S,A as T,w as U,T as V,ce as W,m as X,_ as Y,f as Z,Fe as _,Tn as a,De as b,X as c,jt as d,o as et,W as f,qe as g,Xe as h,Dn as i,k as j,_e as k,Ft as l,L as m,kn as n,En as o,mt as p,ie as q,$ as r,Vt as s,Mn as t,i as tt,q as u,N as v,Te as w,je as x,P as y,D as z};
|
package/dist/bus-Uy9C3TBM.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./bus-CobBUqjo.mjs";export{e as MakaioBus};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as e}from"./bus-CobBUqjo.mjs";export{e as createScopedBus};
|