@makaio/framework 1.0.0-dev-1781472900225 → 1.0.0-dev-1781517341920

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.
Files changed (73) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/adapters/index.d.mts +1 -1
  3. package/dist/bus/index.mjs +1 -1
  4. package/dist/bus-BgodbPl9.mjs +2 -0
  5. package/dist/bus-HgaFcCZ1.mjs +1 -0
  6. package/dist/contracts/adapter/index.d.mts +2 -2
  7. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  8. package/dist/contracts/artifact/index.d.mts +1 -1
  9. package/dist/contracts/client/index.d.mts +1 -1
  10. package/dist/contracts/config/index.d.mts +6 -6
  11. package/dist/contracts/extension/index.d.mts +2 -2
  12. package/dist/contracts/facet/index.d.mts +1 -1
  13. package/dist/contracts/harness/index.d.mts +1 -1
  14. package/dist/contracts/index.d.mts +83 -83
  15. package/dist/contracts/materialization/index.d.mts +3 -3
  16. package/dist/contracts/provider/index.d.mts +1 -1
  17. package/dist/contracts/session/index.d.mts +2 -2
  18. package/dist/contracts/variant/index.d.mts +1 -1
  19. package/dist/{definition-CZcVOhXZ.d.mts → definition-CPc6oKaF.d.mts} +1 -1
  20. package/dist/{index-DGbTPRLw.d.mts → index-B8v52gGb.d.mts} +66 -66
  21. package/dist/{index-DKR_B-Oa.d.mts → index-BDnI2oqX.d.mts} +1 -1
  22. package/dist/{index-9vCtepE32.d.mts → index-BM_y78ZA2.d.mts} +6 -6
  23. package/dist/{index-XzH0OovV.d.mts → index-BoI86whU.d.mts} +40 -40
  24. package/dist/{index-DDAviCTa.d.mts → index-C7vAbtvS.d.mts} +113 -113
  25. package/dist/{index-ldkFQKNM.d.mts → index-CsP4Ckem.d.mts} +7 -7
  26. package/dist/{index-CciZTbYG.d.mts → index-DVz3a2jZ.d.mts} +8 -8
  27. package/dist/{index-BafN3wmA.d.mts → index-DWqgo739.d.mts} +16 -16
  28. package/dist/{index-CKaFWH2Q.d.mts → index-Dun5uQwE.d.mts} +15 -15
  29. package/dist/{index-C2XLjebs.d.mts → index-GuspCNLR.d.mts} +8 -8
  30. package/dist/{index-BaajomEP.d.mts → index-I6pLxh17.d.mts} +4 -4
  31. package/dist/{index-DUI1W-zN.d.mts → index-WKF5BHsw.d.mts} +8 -8
  32. package/dist/{index-nEJX7pZ7.d.mts → index-dFTsZFlh.d.mts} +1 -1
  33. package/dist/{index-DBd4CgV5.d.mts → index-fTBtQ5fK.d.mts} +3 -3
  34. package/dist/kernel/extension/index.d.mts +1 -1
  35. package/dist/kernel/index.d.mts +2 -2
  36. package/dist/kernel/observability/index.d.mts +1 -1
  37. package/dist/{namespace-vf2H23bo.d.mts → namespace-BAJTZXWc.d.mts} +58 -58
  38. package/dist/{namespace-Ba1gUpUu.d.mts → namespace-CN2TfSCY.d.mts} +4 -4
  39. package/dist/{namespace-Q-z7Lr2f.d.mts → namespace-Cj7k5UH7.d.mts} +6 -6
  40. package/dist/{namespace-D8fZyqIh.d.mts → namespace-H9A39Mx8.d.mts} +26 -26
  41. package/dist/package.json +1 -1
  42. package/dist/{schema-zLCdL-0u.d.mts → schema-msWs4YhT.d.mts} +2 -2
  43. package/dist/{schemas-IDGAJ_zv.d.mts → schemas-CN9hprME.d.mts} +6 -6
  44. package/dist/{schemas-BbFAwUpf.d.mts → schemas-DMl7IKG-.d.mts} +5 -5
  45. package/dist/{schemas-C5iazMbM2.d.mts → schemas-DuQ9EcLu2.d.mts} +12 -12
  46. package/dist/scoped-bus-H3xMYR0E.mjs +1 -0
  47. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  48. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  49. package/dist/services/context-rules/index.d.mts +3 -3
  50. package/dist/services/filesystem/namespace.d.mts +6 -6
  51. package/dist/services/filesystem/schemas.d.mts +3 -3
  52. package/dist/services/git/namespace.d.mts +2 -2
  53. package/dist/services/git/schemas.d.mts +1 -1
  54. package/dist/services/harness/index.d.mts +3 -3
  55. package/dist/services/index.d.mts +41 -41
  56. package/dist/services/session/index.d.mts +4 -4
  57. package/dist/services/session/messages/namespace.d.mts +1 -1
  58. package/dist/services/session/storage/namespace.d.mts +1 -1
  59. package/dist/services/session/storage/schema.d.mts +1 -1
  60. package/dist/services/settings/namespace.d.mts +12 -12
  61. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  62. package/dist/services/subagent-template/index.d.mts +1 -1
  63. package/dist/services/subagent-template/schemas.d.mts +1 -1
  64. package/dist/services/tray-menu/index.d.mts +2 -2
  65. package/dist/services/tray-menu/namespace.d.mts +1 -1
  66. package/dist/services/tray-menu/schemas.d.mts +1 -1
  67. package/dist/{session-lineage-D_8W1MI0.d.mts → session-lineage-DFkJgYt5.d.mts} +1 -1
  68. package/dist/{types-DaznHkuE.d.mts → types-DUNA749O.d.mts} +36 -36
  69. package/dist/workflow-engine/index.d.mts +23 -23
  70. package/package.json +1 -1
  71. package/dist/bus-EZNBPRYi.mjs +0 -2
  72. package/dist/bus-TDrZtNyc.mjs +0 -1
  73. package/dist/scoped-bus-CRC3ba_l.mjs +0 -1
@@ -68,8 +68,8 @@ type SessionCreateBase = z.infer<typeof SessionCreateBaseSchema>;
68
68
  * - 'disposed': Agent replaced (cross-adapter switch) — retained for message metadata
69
69
  */
70
70
  declare const AgentStatusSchema$1: z.ZodEnum<{
71
- idle: "idle";
72
71
  active: "active";
72
+ idle: "idle";
73
73
  dead: "dead";
74
74
  disposed: "disposed";
75
75
  }>;
@@ -104,8 +104,8 @@ declare const MakaioSessionAgentSchema$1: z.ZodObject<{
104
104
  member: "member";
105
105
  }>;
106
106
  status: z.ZodEnum<{
107
- idle: "idle";
108
107
  active: "active";
108
+ idle: "idle";
109
109
  dead: "dead";
110
110
  disposed: "disposed";
111
111
  }>;
@@ -148,8 +148,8 @@ declare const MakaioSessionSchema: z.ZodObject<{
148
148
  member: "member";
149
149
  }>;
150
150
  status: z.ZodEnum<{
151
- idle: "idle";
152
151
  active: "active";
152
+ idle: "idle";
153
153
  dead: "dead";
154
154
  disposed: "disposed";
155
155
  }>;
@@ -157,10 +157,10 @@ declare const MakaioSessionSchema: z.ZodObject<{
157
157
  lastActivityAt: z.ZodNumber;
158
158
  }, z.core.$strip>>;
159
159
  status: z.ZodEnum<{
160
- discovered: "discovered";
161
- closed: "closed";
162
160
  active: "active";
163
161
  archived: "archived";
162
+ discovered: "discovered";
163
+ closed: "closed";
164
164
  }>;
165
165
  leadAgentId: z.ZodOptional<z.ZodString>;
166
166
  parentSessionId: z.ZodOptional<z.ZodString>;
@@ -273,8 +273,8 @@ declare const SessionWithPreviewSchema: z.ZodObject<{
273
273
  member: "member";
274
274
  }>;
275
275
  status: z.ZodEnum<{
276
- idle: "idle";
277
276
  active: "active";
277
+ idle: "idle";
278
278
  dead: "dead";
279
279
  disposed: "disposed";
280
280
  }>;
@@ -282,10 +282,10 @@ declare const SessionWithPreviewSchema: z.ZodObject<{
282
282
  lastActivityAt: z.ZodNumber;
283
283
  }, z.core.$strip>>;
284
284
  status: z.ZodEnum<{
285
- discovered: "discovered";
286
- closed: "closed";
287
285
  active: "active";
288
286
  archived: "archived";
287
+ discovered: "discovered";
288
+ closed: "closed";
289
289
  }>;
290
290
  leadAgentId: z.ZodOptional<z.ZodString>;
291
291
  parentSessionId: z.ZodOptional<z.ZodString>;
@@ -472,8 +472,8 @@ declare const SessionSnapshotSchema: z.ZodObject<{
472
472
  member: "member";
473
473
  }>;
474
474
  status: z.ZodEnum<{
475
- idle: "idle";
476
475
  active: "active";
476
+ idle: "idle";
477
477
  dead: "dead";
478
478
  disposed: "disposed";
479
479
  }>;
@@ -481,10 +481,10 @@ declare const SessionSnapshotSchema: z.ZodObject<{
481
481
  lastActivityAt: z.ZodNumber;
482
482
  }, z.core.$strip>>;
483
483
  status: z.ZodEnum<{
484
- discovered: "discovered";
485
- closed: "closed";
486
484
  active: "active";
487
485
  archived: "archived";
486
+ discovered: "discovered";
487
+ closed: "closed";
488
488
  }>;
489
489
  leadAgentId: z.ZodOptional<z.ZodString>;
490
490
  parentSessionId: z.ZodOptional<z.ZodString>;
@@ -582,8 +582,8 @@ declare const SessionSnapshotSchema: z.ZodObject<{
582
582
  member: "member";
583
583
  }>;
584
584
  status: z.ZodEnum<{
585
- idle: "idle";
586
585
  active: "active";
586
+ idle: "idle";
587
587
  dead: "dead";
588
588
  disposed: "disposed";
589
589
  }>;
@@ -5266,8 +5266,8 @@ declare const SessionSchemas: {
5266
5266
  member: "member";
5267
5267
  }>;
5268
5268
  status: _$zod.ZodEnum<{
5269
- idle: "idle";
5270
5269
  active: "active";
5270
+ idle: "idle";
5271
5271
  dead: "dead";
5272
5272
  disposed: "disposed";
5273
5273
  }>;
@@ -5275,10 +5275,10 @@ declare const SessionSchemas: {
5275
5275
  lastActivityAt: _$zod.ZodNumber;
5276
5276
  }, _$zod_v4_core0.$strip>>;
5277
5277
  status: _$zod.ZodEnum<{
5278
- discovered: "discovered";
5279
- closed: "closed";
5280
5278
  active: "active";
5281
5279
  archived: "archived";
5280
+ discovered: "discovered";
5281
+ closed: "closed";
5282
5282
  }>;
5283
5283
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
5284
5284
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -5376,8 +5376,8 @@ declare const SessionSchemas: {
5376
5376
  member: "member";
5377
5377
  }>;
5378
5378
  status: _$zod.ZodEnum<{
5379
- idle: "idle";
5380
5379
  active: "active";
5380
+ idle: "idle";
5381
5381
  dead: "dead";
5382
5382
  disposed: "disposed";
5383
5383
  }>;
@@ -5847,8 +5847,8 @@ declare const SessionSchemas: {
5847
5847
  member: "member";
5848
5848
  }>;
5849
5849
  status: _$zod.ZodEnum<{
5850
- idle: "idle";
5851
5850
  active: "active";
5851
+ idle: "idle";
5852
5852
  dead: "dead";
5853
5853
  disposed: "disposed";
5854
5854
  }>;
@@ -5856,10 +5856,10 @@ declare const SessionSchemas: {
5856
5856
  lastActivityAt: _$zod.ZodNumber;
5857
5857
  }, _$zod_v4_core0.$strip>>;
5858
5858
  status: _$zod.ZodEnum<{
5859
- discovered: "discovered";
5860
- closed: "closed";
5861
5859
  active: "active";
5862
5860
  archived: "archived";
5861
+ discovered: "discovered";
5862
+ closed: "closed";
5863
5863
  }>;
5864
5864
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
5865
5865
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -5957,8 +5957,8 @@ declare const SessionSchemas: {
5957
5957
  member: "member";
5958
5958
  }>;
5959
5959
  status: _$zod.ZodEnum<{
5960
- idle: "idle";
5961
5960
  active: "active";
5961
+ idle: "idle";
5962
5962
  dead: "dead";
5963
5963
  disposed: "disposed";
5964
5964
  }>;
@@ -6813,10 +6813,10 @@ declare const SessionSchemas: {
6813
6813
  request: _$zod.ZodObject<{
6814
6814
  status: _$zod.ZodOptional<_$zod.ZodEnum<{
6815
6815
  all: "all";
6816
- discovered: "discovered";
6817
- closed: "closed";
6818
6816
  active: "active";
6819
6817
  archived: "archived";
6818
+ discovered: "discovered";
6819
+ closed: "closed";
6820
6820
  }>>;
6821
6821
  limit: _$zod.ZodOptional<_$zod.ZodNumber>;
6822
6822
  offset: _$zod.ZodOptional<_$zod.ZodNumber>;
@@ -6852,8 +6852,8 @@ declare const SessionSchemas: {
6852
6852
  member: "member";
6853
6853
  }>;
6854
6854
  status: _$zod.ZodEnum<{
6855
- idle: "idle";
6856
6855
  active: "active";
6856
+ idle: "idle";
6857
6857
  dead: "dead";
6858
6858
  disposed: "disposed";
6859
6859
  }>;
@@ -6861,10 +6861,10 @@ declare const SessionSchemas: {
6861
6861
  lastActivityAt: _$zod.ZodNumber;
6862
6862
  }, _$zod_v4_core0.$strip>>;
6863
6863
  status: _$zod.ZodEnum<{
6864
- discovered: "discovered";
6865
- closed: "closed";
6866
6864
  active: "active";
6867
6865
  archived: "archived";
6866
+ discovered: "discovered";
6867
+ closed: "closed";
6868
6868
  }>;
6869
6869
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
6870
6870
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -6951,10 +6951,10 @@ declare const SessionSchemas: {
6951
6951
  limit: _$zod.ZodOptional<_$zod.ZodNumber>;
6952
6952
  status: _$zod.ZodOptional<_$zod.ZodEnum<{
6953
6953
  all: "all";
6954
- discovered: "discovered";
6955
- closed: "closed";
6956
6954
  active: "active";
6957
6955
  archived: "archived";
6956
+ discovered: "discovered";
6957
+ closed: "closed";
6958
6958
  }>>;
6959
6959
  isImported: _$zod.ZodOptional<_$zod.ZodBoolean>;
6960
6960
  }, _$zod_v4_core0.$strip>;
@@ -6987,8 +6987,8 @@ declare const SessionSchemas: {
6987
6987
  member: "member";
6988
6988
  }>;
6989
6989
  status: _$zod.ZodEnum<{
6990
- idle: "idle";
6991
6990
  active: "active";
6991
+ idle: "idle";
6992
6992
  dead: "dead";
6993
6993
  disposed: "disposed";
6994
6994
  }>;
@@ -6996,10 +6996,10 @@ declare const SessionSchemas: {
6996
6996
  lastActivityAt: _$zod.ZodNumber;
6997
6997
  }, _$zod_v4_core0.$strip>>;
6998
6998
  status: _$zod.ZodEnum<{
6999
- discovered: "discovered";
7000
- closed: "closed";
7001
6999
  active: "active";
7002
7000
  archived: "archived";
7001
+ discovered: "discovered";
7002
+ closed: "closed";
7003
7003
  }>;
7004
7004
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
7005
7005
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -7113,8 +7113,8 @@ declare const SessionSchemas: {
7113
7113
  member: "member";
7114
7114
  }>;
7115
7115
  status: _$zod.ZodEnum<{
7116
- idle: "idle";
7117
7116
  active: "active";
7117
+ idle: "idle";
7118
7118
  dead: "dead";
7119
7119
  disposed: "disposed";
7120
7120
  }>;
@@ -7122,10 +7122,10 @@ declare const SessionSchemas: {
7122
7122
  lastActivityAt: _$zod.ZodNumber;
7123
7123
  }, _$zod_v4_core0.$strip>>;
7124
7124
  status: _$zod.ZodEnum<{
7125
- discovered: "discovered";
7126
- closed: "closed";
7127
7125
  active: "active";
7128
7126
  archived: "archived";
7127
+ discovered: "discovered";
7128
+ closed: "closed";
7129
7129
  }>;
7130
7130
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
7131
7131
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -7349,8 +7349,8 @@ declare const SessionSchemas: {
7349
7349
  member: "member";
7350
7350
  }>;
7351
7351
  status: _$zod.ZodEnum<{
7352
- idle: "idle";
7353
7352
  active: "active";
7353
+ idle: "idle";
7354
7354
  dead: "dead";
7355
7355
  disposed: "disposed";
7356
7356
  }>;
@@ -7358,10 +7358,10 @@ declare const SessionSchemas: {
7358
7358
  lastActivityAt: _$zod.ZodNumber;
7359
7359
  }, _$zod_v4_core0.$strip>>;
7360
7360
  status: _$zod.ZodEnum<{
7361
- discovered: "discovered";
7362
- closed: "closed";
7363
7361
  active: "active";
7364
7362
  archived: "archived";
7363
+ discovered: "discovered";
7364
+ closed: "closed";
7365
7365
  }>;
7366
7366
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
7367
7367
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -953,8 +953,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
953
953
  cancelled: "cancelled";
954
954
  running: "running";
955
955
  failed: "failed";
956
- skipped: "skipped";
957
956
  waiting: "waiting";
957
+ skipped: "skipped";
958
958
  }>;
959
959
  attempt: z.ZodDefault<z.ZodNumber>;
960
960
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -998,8 +998,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
998
998
  cancelled: "cancelled";
999
999
  running: "running";
1000
1000
  failed: "failed";
1001
- skipped: "skipped";
1002
1001
  waiting: "waiting";
1002
+ skipped: "skipped";
1003
1003
  }>;
1004
1004
  attempt: z.ZodDefault<z.ZodNumber>;
1005
1005
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -1040,8 +1040,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1040
1040
  cancelled: "cancelled";
1041
1041
  running: "running";
1042
1042
  failed: "failed";
1043
- skipped: "skipped";
1044
1043
  waiting: "waiting";
1044
+ skipped: "skipped";
1045
1045
  }>;
1046
1046
  attempt: z.ZodDefault<z.ZodNumber>;
1047
1047
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -1068,8 +1068,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1068
1068
  status: z.ZodEnum<{
1069
1069
  cancelled: "cancelled";
1070
1070
  rejected: "rejected";
1071
- resumed: "resumed";
1072
1071
  waiting: "waiting";
1072
+ resumed: "resumed";
1073
1073
  "timed-out": "timed-out";
1074
1074
  }>;
1075
1075
  autoAction: z.ZodEnum<{
@@ -1200,8 +1200,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1200
1200
  status: z.ZodEnum<{
1201
1201
  cancelled: "cancelled";
1202
1202
  rejected: "rejected";
1203
- resumed: "resumed";
1204
1203
  waiting: "waiting";
1204
+ resumed: "resumed";
1205
1205
  "timed-out": "timed-out";
1206
1206
  }>;
1207
1207
  autoAction: z.ZodEnum<{
@@ -1225,8 +1225,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1225
1225
  status: z.ZodOptional<z.ZodEnum<{
1226
1226
  cancelled: "cancelled";
1227
1227
  rejected: "rejected";
1228
- resumed: "resumed";
1229
1228
  waiting: "waiting";
1229
+ resumed: "resumed";
1230
1230
  "timed-out": "timed-out";
1231
1231
  }>>;
1232
1232
  limit: z.ZodDefault<z.ZodNumber>;
@@ -1241,8 +1241,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1241
1241
  status: z.ZodEnum<{
1242
1242
  cancelled: "cancelled";
1243
1243
  rejected: "rejected";
1244
- resumed: "resumed";
1245
1244
  waiting: "waiting";
1245
+ resumed: "resumed";
1246
1246
  "timed-out": "timed-out";
1247
1247
  }>;
1248
1248
  autoAction: z.ZodEnum<{
@@ -1276,8 +1276,8 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
1276
1276
  status: z.ZodEnum<{
1277
1277
  cancelled: "cancelled";
1278
1278
  rejected: "rejected";
1279
- resumed: "resumed";
1280
1279
  waiting: "waiting";
1280
+ resumed: "resumed";
1281
1281
  "timed-out": "timed-out";
1282
1282
  }>;
1283
1283
  autoAction: z.ZodEnum<{
@@ -2756,7 +2756,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
2756
2756
  tableName: "workflow_execution_frames";
2757
2757
  dataType: "string";
2758
2758
  columnType: "SQLiteText";
2759
- data: "pending" | "completed" | "cancelled" | "running" | "failed" | "skipped" | "waiting";
2759
+ data: "pending" | "completed" | "cancelled" | "running" | "failed" | "waiting" | "skipped";
2760
2760
  driverParam: string;
2761
2761
  notNull: true;
2762
2762
  hasDefault: true;
@@ -2769,7 +2769,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
2769
2769
  generated: undefined;
2770
2770
  }, {}, {
2771
2771
  length: number | undefined;
2772
- $type: "pending" | "completed" | "cancelled" | "running" | "failed" | "skipped" | "waiting";
2772
+ $type: "pending" | "completed" | "cancelled" | "running" | "failed" | "waiting" | "skipped";
2773
2773
  }>;
2774
2774
  attempt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2775
2775
  name: string;
@@ -3039,7 +3039,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
3039
3039
  tableName: "workflow_gate_instances";
3040
3040
  dataType: "string";
3041
3041
  columnType: "SQLiteText";
3042
- data: "cancelled" | "rejected" | "resumed" | "waiting" | "timed-out";
3042
+ data: "cancelled" | "rejected" | "waiting" | "resumed" | "timed-out";
3043
3043
  driverParam: string;
3044
3044
  notNull: true;
3045
3045
  hasDefault: true;
@@ -3052,7 +3052,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
3052
3052
  generated: undefined;
3053
3053
  }, {}, {
3054
3054
  length: number | undefined;
3055
- $type: "cancelled" | "rejected" | "resumed" | "waiting" | "timed-out";
3055
+ $type: "cancelled" | "rejected" | "waiting" | "resumed" | "timed-out";
3056
3056
  }>;
3057
3057
  autoAction: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
3058
3058
  name: "auto_action";
@@ -4576,7 +4576,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
4576
4576
  tableName: "worklog_frame_entries";
4577
4577
  dataType: "string";
4578
4578
  columnType: "SQLiteText";
4579
- data: "pending" | "completed" | "cancelled" | "running" | "failed" | "skipped" | "waiting";
4579
+ data: "pending" | "completed" | "cancelled" | "running" | "failed" | "waiting" | "skipped";
4580
4580
  driverParam: string;
4581
4581
  notNull: true;
4582
4582
  hasDefault: false;
@@ -5010,7 +5010,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
5010
5010
  tableName: "worklog_gate_events";
5011
5011
  dataType: "string";
5012
5012
  columnType: "SQLiteText";
5013
- data: "cancelled" | "rejected" | "resumed" | "waiting" | "timed-out";
5013
+ data: "cancelled" | "rejected" | "waiting" | "resumed" | "timed-out";
5014
5014
  driverParam: string;
5015
5015
  notNull: true;
5016
5016
  hasDefault: false;
@@ -5023,7 +5023,7 @@ declare const WorkflowStorageNamespace: _$_makaio_storage_core0.StorageNamespace
5023
5023
  generated: undefined;
5024
5024
  }, {}, {
5025
5025
  length: number | undefined;
5026
- $type: "cancelled" | "rejected" | "resumed" | "waiting" | "timed-out";
5026
+ $type: "cancelled" | "rejected" | "waiting" | "resumed" | "timed-out";
5027
5027
  }>;
5028
5028
  prompt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
5029
5029
  name: "prompt";
@@ -6200,8 +6200,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6200
6200
  cancelled: "cancelled";
6201
6201
  running: "running";
6202
6202
  failed: "failed";
6203
- skipped: "skipped";
6204
6203
  waiting: "waiting";
6204
+ skipped: "skipped";
6205
6205
  }>;
6206
6206
  attempt: z.ZodDefault<z.ZodNumber>;
6207
6207
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -6245,8 +6245,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6245
6245
  cancelled: "cancelled";
6246
6246
  running: "running";
6247
6247
  failed: "failed";
6248
- skipped: "skipped";
6249
6248
  waiting: "waiting";
6249
+ skipped: "skipped";
6250
6250
  }>;
6251
6251
  attempt: z.ZodDefault<z.ZodNumber>;
6252
6252
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -6287,8 +6287,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6287
6287
  cancelled: "cancelled";
6288
6288
  running: "running";
6289
6289
  failed: "failed";
6290
- skipped: "skipped";
6291
6290
  waiting: "waiting";
6291
+ skipped: "skipped";
6292
6292
  }>;
6293
6293
  attempt: z.ZodDefault<z.ZodNumber>;
6294
6294
  iteration: z.ZodOptional<z.ZodNumber>;
@@ -6315,8 +6315,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6315
6315
  status: z.ZodEnum<{
6316
6316
  cancelled: "cancelled";
6317
6317
  rejected: "rejected";
6318
- resumed: "resumed";
6319
6318
  waiting: "waiting";
6319
+ resumed: "resumed";
6320
6320
  "timed-out": "timed-out";
6321
6321
  }>;
6322
6322
  autoAction: z.ZodEnum<{
@@ -6447,8 +6447,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6447
6447
  status: z.ZodEnum<{
6448
6448
  cancelled: "cancelled";
6449
6449
  rejected: "rejected";
6450
- resumed: "resumed";
6451
6450
  waiting: "waiting";
6451
+ resumed: "resumed";
6452
6452
  "timed-out": "timed-out";
6453
6453
  }>;
6454
6454
  autoAction: z.ZodEnum<{
@@ -6472,8 +6472,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6472
6472
  status: z.ZodOptional<z.ZodEnum<{
6473
6473
  cancelled: "cancelled";
6474
6474
  rejected: "rejected";
6475
- resumed: "resumed";
6476
6475
  waiting: "waiting";
6476
+ resumed: "resumed";
6477
6477
  "timed-out": "timed-out";
6478
6478
  }>>;
6479
6479
  limit: z.ZodDefault<z.ZodNumber>;
@@ -6488,8 +6488,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6488
6488
  status: z.ZodEnum<{
6489
6489
  cancelled: "cancelled";
6490
6490
  rejected: "rejected";
6491
- resumed: "resumed";
6492
6491
  waiting: "waiting";
6492
+ resumed: "resumed";
6493
6493
  "timed-out": "timed-out";
6494
6494
  }>;
6495
6495
  autoAction: z.ZodEnum<{
@@ -6523,8 +6523,8 @@ declare const WorkflowStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
6523
6523
  status: z.ZodEnum<{
6524
6524
  cancelled: "cancelled";
6525
6525
  rejected: "rejected";
6526
- resumed: "resumed";
6527
6526
  waiting: "waiting";
6527
+ resumed: "resumed";
6528
6528
  "timed-out": "timed-out";
6529
6529
  }>;
6530
6530
  autoAction: z.ZodEnum<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@makaio/framework",
3
- "version": "1.0.0-dev-1781472900225",
3
+ "version": "1.0.0-dev-1781517341920",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/makaio-ai/makaio-framework.git",
@@ -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(t){return typeof t==`object`&&!!t&&`request`in t&&`response`in t&&t.request instanceof e.ZodType&&t.response instanceof e.ZodType}function i(e){return typeof e==`object`&&!!e&&`__channel`in e&&e.__channel===!0&&`schema`in e}function a(e){return{__channel:!0,schema:e}}function o(e){return typeof e==`object`&&!!e&&`__local`in e&&e.__local===!0&&`schema`in e}function s(e){return{__local:!0,schema:e}}function c(e){return typeof e==`object`&&!!e&&`__defaultTransports`in e&&(e.__defaultTransports===`all`||e.__defaultTransports===`local-only`)&&`schema`in e}function l(e,t){return{__defaultTransports:t,schema:e}}function u(e){return typeof e==`object`&&!!e&&`__collectorOnly`in e&&e.__collectorOnly===!0&&`schema`in e}function d(e){return{__collectorOnly:!0,schema:e}}function f(e){return o(e)||u(e)||i(e)||c(e)?e.schema:e}function p(e,t,n){let a={};for(let[s,l]of Object.entries(t)){let t=s.split(`.`),u=a;for(let e=0;e<t.length-1;e++)u[t[e]]??={},u=u[t[e]];let d=o(l),p=i(l),m=c(l)?l.__defaultTransports:n,h={subject:s,$meta:{namespace:e,isRequest:r(f(l)),local:d,channel:p,...m!==void 0&&{defaultTransports:m}}};u[t[t.length-1]]=h}return a.$all={subject:`*`,$meta:{namespace:e,isRequest:!1,local:!1,channel:!1}},a}function m(e){return`${e.$meta.namespace}.${e.subject}`}function h(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:p(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 g=class extends Error{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}};const _=`makaio.observability`;function v(e){let t=e.meta()?.[_];if(typeof t!=`object`||!t)return;let n=t;return n.kind===`schema`||n.kind===`field`?n:void 0}function y(e,t){return e.meta({...e.meta(),[_]: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=v(t);if(e?.kind===`field`)return e;t=ee(t)}}function ne(e){let t=v(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 y(e,{kind:`schema`,traceAll:t.traceAll})},field(e,t){return y(e,{kind:`field`,visibility:t.visibility,attributeName:t.attributeName})},hidden(e){return y(e,{kind:`field`,visibility:`hidden`})},count(e,t){return y(e,{kind:`field`,visibility:`count`,attributeName:t})},attribute(e,t){return y(e,{kind:`field`,visibility:`attribute`,attributeName:t})}};function b(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(b(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 x(e,t){for(let[n,r]of Object.entries(t))if(!se(oe(e,n),r))return!1;return!0}function S(e,t){if(!(!e&&!t))return e?t?{...e,...t}:e:t}var C=class extends g{subject;constructor(e,t){super(e),this.subject=t,this.name=this.constructor.name,Error.captureStackTrace?.(this,this.constructor)}},ce=class extends C{constructor(e){super(`Authentication failed for channel endpoint "${e}"`,e),this.name=`ChannelAuthError`}},le=class extends C{constructor(e){super(`Channel "${e}" is closed`,e),this.name=`ChannelClosedError`}},ue=class extends C{constructor(e){super(`Subject "${e}" is channel-only and cannot be used on the public bus. Use a DirectChannel instead.`,e),this.name=`ChannelOnlyError`}},w=class extends C{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 de=`NO_HANDLER`;var T=class extends C{code=de;constructor(e){super(`No handler registered for request subject "${e}"`,e)}},fe=class extends C{cause;constructor(e,t,n){super(`Request to "${e}" failed: ${t}`,e),this.cause=n,n&&(this.cause=n)}},pe=class extends C{timeoutMs;constructor(e,t){super(`Request to "${e}" timed out after ${t}ms`,e),this.timeoutMs=t}},me=class extends C{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 he(e,t){if(!(e instanceof Error))return!1;if(e instanceof T)return e.subject===t;let n=e;return n.code===`NO_HANDLER`?n.subject===t:!1}function E(e){return`subject`in e&&`namespace`in e?`${e.namespace}.${e.subject}`:null}function ge(e,t){return e<t?-1:+(e>t)}function _e(e,t){return e.transportRegistry.names().filter(e=>e!==t).sort((e,t)=>ge(String(e),String(t))).map(t=>({name:t,transport:e.transportRegistry.getTransport(t)})).filter(e=>e.transport!==void 0)}function ve(e,t){return _e(e,t).filter(({transport:e})=>e.isReady?.()!==!1)}const ye=new Set([`message`,`name`,`stack`,`cause`,`subject`,`code`]);function D(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(ye.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 O(e,t,n){try{await e.send({type:`response`,correlationId:t.correlationId,error:D(n)})}catch(e){console.error(`[TransportRegistry] Failed to send error response:`,e)}}function k(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 A=Object.freeze({local:!0}),j=Object.freeze({local:!1});function be(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])))&&!x(t,i))return!1}return!0}function xe(e,t){if(e.type===`response`){let n=e;return n.error?t.reject(n.correlationId,k(n.error)):t.resolve(n.correlationId,n.result),!0}if(e.type===`broadcast-response`){let n=e;return n.error?t.reject(n.correlationId,k(n.error)):t.resolve(n.correlationId,n.results??[]),!0}return!1}function Se(e){return e.type===`request`}function Ce(e){return e.type===`broadcast`}function we(e,t,n,r){return Se(e)||Ce(e)?t.track(e.correlationId,n,r):Promise.resolve(!0)}function Te(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 Ee(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 M(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 me(e,a.error)}}function De(e,t,n){let{mode:i,onViolation:a}=e.namespaceRegistry.getValidationConfig(t);if(i===`skip`)return;let o=e.namespaceRegistry.getSchema(t);!o||r(o)||M(t,n,o,i,a)}function Oe(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 ke(e,t){let{mode:n,onViolation:i}=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||!r(a)?{requestSchema:void 0,responseSchema:void 0,mode:n,onViolation:i}:{requestSchema:a.request,responseSchema:a.response,mode:n,onViolation:i}}function Ae(e,t,n){n.requestSchema&&M(e,t,n.requestSchema,n.mode,n.onViolation)}function N(e,t,n){n.responseSchema&&M(e,t,n.responseSchema,n.mode,n.onViolation)}function je(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 Me(e,t,n,r){let i=new Set,a=e.requestHandlers.get(r);if(a)for(let e of a)i.add(e.priority);let o=e.eventHandlers.has(r),s=e.remoteRequestHandlers.get(r);if(s)for(let e of s)e.transport!==t&&i.add(e.priority);let c=e.remoteEventHandlers.get(r),l=c!==void 0&&(c.size>1||c.size===1&&!c.has(t));return i.size===0&&!o&&!l?Promise.resolve(n.unsubscribe(r)).catch(e=>{console.debug(`[AdvertisedState] unsubscribe propagation failed`,{transport:t,subject:r,error:e})}):Promise.resolve(n.subscribe(r,void 0,[...i])).catch(e=>{console.debug(`[AdvertisedState] subscribe propagation failed`,{transport:t,subject:r,priorities:[...i],error:e})})}function P(e,t,n){let r=[];for(let i of e.transportRegistry.names()){if(t!==null&&i===t)continue;let a=e.transportRegistry.getTransport(i);if(a)for(let t of n)r.push(Me(e,String(i),a,t))}return r.length>0?Promise.allSettled(r).then(()=>void 0):Promise.resolve()}async function Ne(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);let a=String(t),o=[];for(let t of i)o.push(Me(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})})}const F=new Set;function I(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||F.has(n))return;F.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 Pe=process.env.NODE_ENV===`test`?()=>F.clear():void 0,Fe=Symbol(`onPropagationPromise`);function Ie(e){return e?.[Fe]}async function Le(e){await(Ie(e)??Promise.resolve())}function Re(e,t,n,r,i){let a=e[t];a.has(n)||a.set(n,[]),je(a.get(n),{handler:r,priority:i})}function ze(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=m(t),o=t.$meta.isRequest,s=i.includes(`*`)||i.includes(`:`),c=s&&!o;s||I(e,t,a);let l=r?.filter?e=>{if(x(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)Re(e,t,a,l,f);let p=P(e,null,[a]),h=()=>{for(let t of d)ze(e,t,a,l);P(e,null,[a])};return h[Fe]=p,h}let R,z;function Be(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){Be(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 Ve(e,t,n){if(n.$meta.local)return[];let r=m(n);if(e.namespaceRegistry.isCollectorOnlySubject(r))return[];if(t===void 0)return n.$meta.defaultTransports===`local-only`?[]:ve(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 H(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 He=1e3,U=new Set;function Ue(e){if(U.size>=He){He/2;let e=0;for(let t of U)if(U.delete(t),e++,e>=500)break}U.add(e)}function We(){process.env.NODE_ENV!==`production`&&U.clear()}function Ge(e,t,n,r,i,a,o){if(process.env.NODE_ENV===`production`||e.anyHandlers.size===0)return;if(o!==void 0){if(U.has(o))return;Ue(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 W(e){return e===null||typeof e==`string`||typeof e==`boolean`||typeof e==`number`&&Number.isFinite(e)}function Ke(e){if(W(e))return!0;if(!Array.isArray(e)||!e.every(W))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 qe(e){return Array.isArray(e)||typeof e==`string`?e.length:e===void 0?void 0:1}function Je(t){if(t instanceof e.ZodObject)return t.shape}function Ye(e,t){let n=ne(e),r=Je(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=qe(o);if(t!==void 0){let n=r.attributeName??e;i[n]=t}continue}if(n?.traceAll){if(W(o)){let t=r?.attributeName??e;i[t]=o}}else if(r?.visibility===`attribute`&&W(o)){let t=r.attributeName??e;i[t]=o}}return i}function Xe(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 Ze(t){let{message:n,namespaceRegistry:i}=t,a=E(n);if(!a)return;let o=i.getSchema(a);if(o)return r(o)?o.request:o instanceof e.ZodType?o:void 0}function Qe(e){let t={};for(let[n,r]of Object.entries(e))Ke(r)&&(t[n]=r);return t}function $e(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 et(e){let{message:t,direction:n,observedAt:r,machineId:i}=e,a=Xe(e),o;if(a!==void 0)o=a;else{let n=Ze(e);o=n?Ye(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:Qe(o)}]}function tt(e,t){let n=e.interceptorHandlers.get(t);return!n||n.length===0?[]:n.map(e=>e.handler)}function nt(e,t,n,r,i){let a=tt(e,t);return a.length===0?{stopped:!1,payload:n}:rt(a,t,n,r,i)}async function rt(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 it(e,t){let{eventHandlers:n}=e,r=[];for(let[e,i]of n)b(t,e)&&r.push(i);return Ee(r).map(e=>e.handler)}async function at(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 G(e,t,n,r){let i=t.subject,a=m(t);I(e,t,a);let o=r?.messageId??B(),s=r?.correlationId,c=H(e,t,a,r?.transports),l=t.$meta.local||e.namespaceRegistry.isCollectorOnlySubject(a)||V(c);De(e,a,n);let u=nt(e,a,n,o,s),d=u instanceof Promise?await u:u;if(d.stopped)return;let f=d.payload,p=it(e,a);Ge(e,`event`,a,t.$meta.namespace,f,o,s),$e(e,{type:`event`,namespace:t.$meta.namespace,subject:i,payload:f,messageId:o,correlationId:s,transport:r?.transport,localOnly:l}),p.length>0&&await at(p,{payload:f,messageId:o,correlationId:s,subject:a,isRequest:!1,transport:r?.transport,origin:r?.transport?j:A},a);let h=Ve(e,c,t);if(h.length>0){let e=[];for(let n of h)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 ot(e,t,n,r){let i=m(t),a=r?.priority??0;e.interceptorHandlers.has(i)||e.interceptorHandlers.set(i,[]);let o=r?.filter?e=>{if(x(e.payload,r.filter))return n(e)}:n;return je(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 st=class extends Error{constructor(e){super(e),this.name=`TimeoutError`}},ct=class extends Error{constructor(e){super(),this.name=`AbortError`,this.message=e}};const lt=e=>globalThis.DOMException===void 0?new ct(e):new DOMException(e),ut=e=>{let t=e.reason===void 0?lt(`This operation was aborted.`):e.reason;return t instanceof Error?t:lt(t)};function dt(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(ut(e)),e.addEventListener(`abort`,()=>{c(ut(e))})}if(n===1/0){e.then(s,c);return}let l=new st;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}function K(e){return e instanceof Error?e:Error(typeof e==`string`?e:`Request aborted`)}async function q(e,t,n){if(t!==0)return dt(e,{milliseconds:t,signal:n});if(!n)return e;if(n.aborted)throw K(n.reason);return new Promise((t,r)=>{let i=()=>{r(K(n.reason))};n.addEventListener(`abort`,i,{once:!0}),e.then(t,r).finally(()=>{n.removeEventListener(`abort`,i)})})}function ft(e,t){let{requestHandlers:n}=e,r=[];for(let[e,i]of n)b(t,e)&&r.push(i);return Ee(r)}function pt(e,t){return ft(e,t).map(e=>e.handler)}function mt(e,t){let{remoteRequestHandlers:n}=e,r=[];for(let[e,i]of n)b(t,e)&&r.push(...i);return r.sort((e,t)=>t.priority-e.priority),r}function ht(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 gt(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 J(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`?_t(e,t,n,s,r,i+1,a,o):vt(e,t,n,s,r,i+1,a,o)}async function _t(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?j:A,...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 J(e,t,f,i,a,o,s);n.handled&&!u&&(l=n.value,u=!0)})();return d??=n,n}};try{if(await r.handler(p),d!==void 0)await d;else if(!u){let n=await J(e,t,f,i,a,o,s);n.handled&&(l=n.value,u=!0)}}catch(e){throw e instanceof fe?e:new fe(c,e instanceof Error?e.message:String(e),e instanceof Error?e:void 0)}return{handled:u,value:l}}async function vt(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 J(e,t,n,i,a,p,s);let m=e.transportRegistry.getTransport(r.transport);if(!m)return J(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 K(g.reason);return{handled:!0,value:await q(m.send(h,f),f,g)}}catch(l){if(g?.aborted)throw m.cancelRequest?.(o.correlationId,l instanceof Error?l:K(g.reason)),l instanceof Error?l:K(g.reason);return he(l,u)?J(e,t,n,i,a,p,s):(console.error(`[${o.correlationId}][${o.messageId}] Error sending request "${c}" via transport '${r.transport}':`,l),J(e,t,n,i,a,p,s??l))}}async function yt(e,t,n,r){let i=m(t),a=ft(e,i),o=ht(a,t.$meta.local||r.localOnly?[]:gt(e,mt(e,i),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 q(Promise.allSettled(o),r.timeout,r.signal);let s=ht(a,gt(e,mt(e,i),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}:J(e,t,n,s,l,r)}}return c===-1||o.length===0?{handled:!1}:J(e,t,n,o,c,r)}const bt=6e4;function xt(e,t,n,r){return t.$meta.local?!0:V(H(e,t,n,r))}function St(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 Y(e,t,n,r){let i=t.subject,a=m(t);I(e,t,a);let o=r?.messageId??B(),s=r?.correlationId??B(),c=r?.timeout??6e4,l=r?.signal,u=xt(e,t,a,r?.transports),d=ke(e,a);Ae(a,n,d),Ge(e,`request`,i,t.$meta.namespace,n,o,s),$e(e,{type:`request`,namespace:t.$meta.namespace,subject:i,payload:n,messageId:o,correlationId:s,transport:r?.transport,localOnly:u});let f=St(r?.transports),p;try{p=await q(yt(e,t,n,{allowedTransports:f,correlationId:s,messageId:o,timeout:c,signal:l,localOnly:u}),c,l)}catch(e){throw e instanceof st?new pe(i,c):e}if(!p.handled)throw new T(a);let h=p.value;return N(a,h,d),h}async function Ct(e,t,n,r){try{return{handled:!0,data:await Y(e,t,n,r)}}catch(e){if(e instanceof T)return{handled:!1};throw e}}var wt=class extends Error{constructor(){super(`once() was aborted via AbortSignal`),this.name=`OnceAbortError`}},Tt=class extends Error{constructor(e,t){super(`once() timed out after ${t}ms waiting for subject: ${e}`),this.name=`OnceTimeoutError`}};function Et(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 wt);return}s=()=>{l(),i(new wt)},c.addEventListener(`abort`,s,{once:!0})}a=L(e,t,(e=>{l(),n(e)}),r?.filter?{filter:r.filter}:void 0);let u=Ie(a),d=()=>{r?.timeoutMs&&a!==null&&(o=setTimeout(()=>{l(),i(new Tt(m(t),r.timeoutMs))},r.timeoutMs))};u?u.then(d,d):d()})}function Dt(e,t,n,r,i){let a=`anonymous`,o=!1,s;return{isRequest:!0,payload:e,messageId:t,correlationId:n,transport:i,origin:i?j:A,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 Ot(e,t){let n=[],r=Dt(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)N(t.fullSubjectKey,e.payload,t.validationCtx);return n}async function kt(e,t,n,r){let i=t.subject,a=m(t),o=r?.messageId??B(),s=r?.correlationId??B(),c=r?.timeout??6e4,l=r?.signal,u=ke(e,a),d=H(e,t,a,r?.transports),f=t.$meta.local||e.namespaceRegistry.isCollectorOnlySubject(a)||V(d);Ae(a,n,u),Ge(e,`broadcast`,i,t.$meta.namespace,n,o,s),$e(e,{type:`broadcast`,namespace:t.$meta.namespace,subject:i,payload:n,messageId:o,correlationId:s,transport:r?.transport,localOnly:f});let p=[],h=pt(e,a),g=d===void 0?t.$meta.local?[]:ve(e).map(({transport:e})=>e):Ve(e,d,t),_=h.map(async e=>{let t=await Ot(e,{payload:n,messageId:o,correlationId:s,subjectKey:i,fullSubjectKey:a,transport:r?.transport,validationCtx:u});p.push(...t)}),v=g.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)N(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 q(Promise.all([..._,...v]),c,l)}catch(e){throw e instanceof st?new pe(i,c):e}return p}function X(e,t,n){if(!t?.$meta)throw Error(`Invalid subject definition provided to ${e}()`);if(t.$meta.channel)throw new ue(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 Z(e,t){let n=S(e,t?.filter);return!n||Object.keys(n).length===0?t:{...t,filter:n}}function Q(e,t,n){return{namespace:t,getFilter(){return n},withFilter:(r=>Q(e,t,S(n,r))),on(r,i,a){return X(`on`,r,t),L(e,r,i,Z(n,a))},intercept(r,i,a){return X(`intercept`,r,t),ot(e,r,i,Z(n,a))},once:((r,i)=>{if(X(`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)}),Z(n,void 0)),()=>{a&&=(a(),null)}}return Et(e,r,Z(n,i))}),async emit(n,r){return X(`emit`,n,t),G(e,n,r)},async request(n,r){return X(`request`,n,t),Y(e,n,r)},async requestOptional(n,r){return X(`request`,n,t),Ct(e,n,r)}}}function At(e,t){let n=t,r=sn({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=>Q(e,n,t)),getContext:()=>e}}function jt(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 Mt(e,t){let n=e.safeExtend(t),r=e.meta();return r?n.meta(r):n}function Nt(e,t){let n=Pt(e.toLowerCase(),t.toLowerCase());return n===0?Pt(e,t):n}function Pt(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 Ft=async(e,t)=>{if(!e)throw Error(`Namespace not initialized yet`);let{MakaioBus:n}=await import(`./bus-TDrZtNyc.mjs`),{createScopedBus:r}=await import(`./scoped-bus-CRC3ba_l.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 It(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&&!Lt(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 Lt(e,t){let n=Rt(e),r=Rt(t);return typeof n==`string`&&typeof r==`string`?n===r:e===t}function Rt(t){try{let n=r(t)?{request:e.toJSONSchema(t.request),response:e.toJSONSchema(t.response)}:e.toJSONSchema(t);return JSON.stringify(n)}catch{return t}}function zt(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,f(r));return t}function Bt(e){return e?.busValidationMode===`lenient`?{mode:`lenient`,onViolation:e.onSchemaViolation}:e?.busValidationMode===`skip`?{mode:`skip`}:{mode:`strict`}}function Vt(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 Ht=()=>{let e=new Map,t=new Map,n=new Map,a=new Map,s=new Set,c=new Set,l=new Map,d=new Map;return{registerNamespace(r){let{name:p,schemas:m,options:h}=r,g=zt(m),_=e.get(p);if(_)return It(p,t.get(p)??new Map,g),Vt(p,l.get(p)??{mode:`strict`},Bt(h)),_;l.set(p,Bt(h)),t.set(p,g);for(let[e,t]of Object.entries(m)){let l=`${p}.${e}`,m=o(t),h=u(t),_=i(t),v=g.get(e)??f(t);n.set(l,v),a.set(l,{namespace:p,subject:e,fullSubject:l,schema:v,local:m,collectorOnly:h,channel:_}),m&&s.add(l),h&&c.add(l),r.defaultTransports&&d.set(l,r.defaultTransports)}let v={name:p,subjects:r.subjects,scopedBus:e=>Ft(p,e)};return e.set(p,v),v},registerNamespaces(e){for(let t of e)this.registerNamespace(t)},getSchema(e){let t=typeof e==`string`?e:m(e);return n.get(t)},listRegisteredSubjects(){return Array.from(a.values()).map(e=>({...e,schema:r(e.schema)?{...e.schema}:e.schema})).sort((e,t)=>Nt(e.fullSubject,t.fullSubject))},getRegisteredSubject(e){return a.get(e)},isRequestSubject(e){let t=n.get(e);return t?r(t):!1},isLocalSubject(e){return s.has(e)},isCollectorOnlySubject(e){return c.has(e)},getDefaultTransports(e){return d.get(e)??`all`},getValidationConfig(e){let t;for(let[n,r]of l)(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 i=n.get(e);if(!i)throw Error(`[MakaioBus] Cannot extend subject '${e}': not registered. Ensure the owning namespace is imported before calling extendSubject().`);if(r(i)){let r=t;r.request&&jt(i.request,`'${e}' request`),r.response&&jt(i.response,`'${e}' response`);let o={request:r.request?Mt(i.request,r.request):i.request,response:r.response?Mt(i.response,r.response):i.response};n.set(e,o);let s=a.get(e);s&&a.set(e,{...s,schema:o})}else{jt(i,`'${e}'`);let r=Mt(i,t);n.set(e,r);let o=a.get(e);o&&a.set(e,{...o,schema:r})}},__resetNamespaces:process.env.NODE_ENV===`test`?()=>{e.clear(),t.clear(),n.clear(),a.clear(),s.clear(),c.clear(),l.clear(),d.clear()}:void 0}},Ut=(e,t)=>({subject:e.subject,$meta:{namespace:e.namespace,isRequest:t,payload:{},local:!1,channel:!1}}),Wt=(e,t)=>ve(e,t),Gt=async(e,t,n,r)=>{let i=E(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=Wt(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 G(e,Ut(n,!1),n.payload,{messageId:n.messageId,correlationId:n.correlationId,transports:[],transport:r})}},Kt=async(e,t,n,r,i)=>{let a=E(r),o=r.timeout??6e4;if(!a){await O(n,r,Error(`Invalid subject in request message`));return}if(e.namespaceRegistry.isLocalSubject(a)){await O(n,r,new w(a));return}let s=Ut(r,!0);try{let t=await yt(e,s,r.payload,{correlationId:r.correlationId,messageId:r.messageId,timeout:o,deadline:r.deadline,priority:r.priority,transport:i});if(!t.handled){await O(n,r,new T(a));return}await n.send({type:`response`,correlationId:r.correlationId,result:t.value})}catch(e){await O(n,r,e)}},$=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)},qt=async(e,t,n,r,i)=>{let a=E(r),o=r.timeout??6e4;if(!a){await $(n,r.correlationId,[],D(Error(`Invalid subject in broadcast message`)));return}if(e.namespaceRegistry.isLocalSubject(a)){await $(n,r.correlationId,[],D(new w(a)));return}try{let s=[],c,l=kt(e,Ut(r,!0),r.payload,{messageId:r.messageId,correlationId:r.correlationId,timeout:o,transports:[],transport:i}).then(e=>s.push(...e)).catch(e=>{c=D(e)}),u=Wt(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 $(n,r.correlationId,s,c)}catch(e){await $(n,r.correlationId,[],D(e))}},Jt=async(e,t,n)=>{for(let[r,i]of Object.entries(n.subjects)){let n=String(t),a=e.remoteRequestHandlers.get(r),o=a?a.filter(e=>e.transport!==n):[];for(let e of i)o.push({transport:n,priority:e});if(o.length>0?e.remoteRequestHandlers.set(r,o):e.remoteRequestHandlers.delete(r),i.length===0){let t=e.remoteEventHandlers.get(r)??new Set;t.add(n),e.remoteEventHandlers.set(r,t)}else e.remoteEventHandlers.get(r)?.delete(n)}await P(e,t,Object.keys(n.subjects))},Yt=async(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)}e.remoteEventHandlers.get(t)?.delete(r)}await P(e,t,Object.keys(n.subjects))},Xt=(e,t)=>{let n=new Set;for(let[r,i]of e.remoteRequestHandlers){let a=i.filter(e=>e.transport!==t);a.length===0?e.remoteRequestHandlers.delete(r):e.remoteRequestHandlers.set(r,a),n.add(r)}for(let[r,i]of e.remoteEventHandlers)i.has(t)&&(i.delete(t),n.add(r));n.size>0&&P(e,t,[...n])},Zt=(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)},Qt=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 Jt(e,t,r);return}if(r.type===`unsubscribe`){await Yt(e,t,r);return}let a=i?{...i,transportName:i.transportName||String(t)}:{transportName:String(t)};r.type===`event`?await Gt(e,t,r,a):r.type===`request`?await Kt(e,t,n,r,a):r.type===`broadcast`&&await qt(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.`),Xt(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}),Zt(r,a,o.ready),o.onNewReadySession=e=>Zt(r,a,e),o.onConnected=()=>n?.onConnected(String(a)),o.onDisconnected=()=>n?.onDisconnected(String(a)),Ne(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,Xt(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 $t(e,t){return{subject:e,register(n){return n.extendSubject(e,t)}}}function en(e,t,n){let r=m(t);return e.namespaceRegistry.extendSubjectSchema(r,n),t}const tn={connected:s(e.object({transport:e.string()})),disconnected:s(e.object({transport:e.string()}))};function nn(e,t){e.transportRegistry.setLifecycleEmitter({onConnected(n){G(e,t.connected,{transport:n}).catch(e=>{console.error(`[bus] lifecycle emit error on connected:`,e)})},onDisconnected(n){G(e,t.disconnected,{transport:n}).catch(e=>{console.error(`[bus] lifecycle emit error on disconnected:`,e)})}})}const rn=()=>{let e={eventHandlers:new Map,requestHandlers:new Map,interceptorHandlers:new Map,anyHandlers:new Set,messageObservers:new Set,transportRegistry:void 0,namespaceRegistry:Ht(),remoteRequestHandlers:new Map,remoteEventHandlers:new Map};return e.transportRegistry=Qt(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 on(e){e.eventHandlers.clear(),e.requestHandlers.clear(),e.interceptorHandlers.clear(),e.anyHandlers.clear(),e.messageObservers.clear(),e.remoteRequestHandlers.clear(),e.remoteEventHandlers.clear(),We()}function sn(e){let{context:t=rn(),namespace:n,transports:r}=e??{},i=an(t),a={namespace:n,on:(e,r,i)=>(X(`on`,e,n),L(t,e,r,i)),intercept:(e,r,i)=>(X(`intercept`,e,n),ot(t,e,r,i)),once:(e,r)=>(X(`once`,e,n),Et(t,e,r)),emit:async(e,r,i)=>(X(`emit`,e,n),G(t,e,r,i)),request:async(e,r,i)=>(X(`request`,e,n),Y(t,e,r,i)),requestOptional:async(e,r,i)=>(X(`request`,e,n),Ct(t,e,r,i)),broadcast:async(e,r,i)=>(X(`request`,e,n),kt(t,e,r,i)),scoped:(e,n)=>At(n??t,e.name),withFilter:e=>Q(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`?()=>on(t):void 0};Object.defineProperty(a,`ready`,{get(){return i.ready},enumerable:!0,configurable:!0}),nn(t,a.registerNamespace(h(`bus:lifecycle`,tn)).subjects);for(let e of r??[])a.registerTransport(e);return a}const cn=sn();export{de as A,ae as B,we as C,me as D,he as E,ce as F,d as G,ie as H,C as I,a as J,l as K,oe as L,w as M,ue as N,pe as O,le as P,x as R,be as S,E as T,h as U,b as V,m as W,r as Y,Oe as _,$t as a,xe as b,Q as c,bt as d,G as f,Pe as g,Le as h,tn as i,T as j,fe as k,wt as l,L as m,rn as n,en as o,et as p,s as q,sn as r,At as s,cn as t,Y as u,A as v,k as w,Te as x,j as y,S as z};
@@ -1 +0,0 @@
1
- import{t as e}from"./bus-EZNBPRYi.mjs";export{e as MakaioBus};
@@ -1 +0,0 @@
1
- import{s as e}from"./bus-EZNBPRYi.mjs";export{e as createScopedBus};