@makaio/framework 1.0.0-dev-1781397017668 → 1.0.0-dev-1781443723575

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{adapter-D_p5kKxi.mjs → adapter-BH1X0THX.mjs} +1 -1
  3. package/dist/bus/index.d.mts +21 -21
  4. package/dist/bus/index.mjs +1 -1
  5. package/dist/contracts/adapter/index.d.mts +2 -2
  6. package/dist/contracts/adapter/index.mjs +1 -1
  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/canonical-model/index.d.mts +1 -1
  10. package/dist/contracts/config/index.d.mts +6 -6
  11. package/dist/contracts/extension/index.d.mts +3 -3
  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 +664 -269
  15. package/dist/contracts/index.mjs +1 -1
  16. package/dist/contracts/provider/index.d.mts +1 -1
  17. package/dist/contracts/session/index.d.mts +2 -2
  18. package/dist/contracts/session/index.mjs +1 -1
  19. package/dist/contracts/shared/index.d.mts +1 -1
  20. package/dist/contracts/skill/index.d.mts +1 -1
  21. package/dist/drizzle/0018_m_mqcweucg.sql +17 -0
  22. package/dist/drizzle/0019_m_mqcwyn0w.sql +1 -0
  23. package/dist/drizzle/meta/_journal.json +14 -0
  24. package/dist/handlers-Cpy9Q8ho.mjs +41 -0
  25. package/dist/{index-DvETyI0_.d.mts → index-BBteExwv.d.mts} +1 -1
  26. package/dist/{index-CEdOq5Om.d.mts → index-BDnI2oqX.d.mts} +1 -1
  27. package/dist/{index-B3mq3Qjf.d.mts → index-BZuF4I8O.d.mts} +1 -1
  28. package/dist/{index-BLqtL-_a.d.mts → index-C2tDMYm0.d.mts} +4 -4
  29. package/dist/{index-C24PcW2r.d.mts → index-CQuLV3jj.d.mts} +12 -12
  30. package/dist/{index-B92SK0rO.d.mts → index-CtVy1e5h.d.mts} +6 -3
  31. package/dist/{index-C0TEY7RE.d.mts → index-D7oEYudM.d.mts} +1 -1
  32. package/dist/{index-QvciMc7_.d.mts → index-DWBpxSGQ.d.mts} +899 -385
  33. package/dist/{index-DLPjliGd.d.mts → index-DWRwbJjQ.d.mts} +1 -1
  34. package/dist/{index-BQ8H7cvY.d.mts → index-Doy13wLW.d.mts} +15 -15
  35. package/dist/{index-NyKdb8kT.d.mts → index-DsAfeVbS.d.mts} +24 -24
  36. package/dist/{index-CszoKxxO.d.mts → index-N7JtH6hX.d.mts} +392 -392
  37. package/dist/{index-DBgv39-Q.d.mts → index-bLWdMu_T.d.mts} +44 -44
  38. package/dist/{index-WKF5BHsw.d.mts → index-gYlNeEGH.d.mts} +8 -8
  39. package/dist/{index-DfNIhEm_.d.mts → index-iRe4CsR5.d.mts} +20 -20
  40. package/dist/{index-B99Prx5a.d.mts → index-xeg-bqxO.d.mts} +105 -105
  41. package/dist/kernel/extension/index.d.mts +1 -1
  42. package/dist/kernel/index.d.mts +2 -2
  43. package/dist/kernel/observability/index.d.mts +1 -1
  44. package/dist/{namespace-DbvQ4HYc.d.mts → namespace-1tHmgGQV.d.mts} +154 -154
  45. package/dist/{namespace-CN2TfSCY.d.mts → namespace-CK50FeCH.d.mts} +2 -2
  46. package/dist/{namespace-C_kaVySz.d.mts → namespace-D63jVkzY.d.mts} +4 -4
  47. package/dist/{namespace-BAJTZXWc.d.mts → namespace-DWT6hqxX.d.mts} +42 -42
  48. package/dist/{namespace-D_ZXa76m.d.mts → namespace-thr1fR3_.d.mts} +32 -32
  49. package/dist/{namespace-B1Bldc48.d.mts → namespace-vfKj-JHx.d.mts} +9 -9
  50. package/dist/package-Dvk8-Gfd.mjs +1 -0
  51. package/dist/package.json +1 -1
  52. package/dist/primitive-runtime-UEzX4Ayu.mjs +1 -0
  53. package/dist/runtime-node/index.d.mts +1 -1
  54. package/dist/runtime-node/workflow-worker/index.d.mts +2 -2
  55. package/dist/{schema-msWs4YhT.d.mts → schema-CXgFk-dK.d.mts} +2 -2
  56. package/dist/{schemas-DRZJK6hW2.d.mts → schemas-BS8xAZ2y2.d.mts} +2 -2
  57. package/dist/schemas-CzvG8xq7.mjs +1 -0
  58. package/dist/{schemas-CN9hprME.d.mts → schemas-YFBpHbzr.d.mts} +3 -3
  59. package/dist/{schemas-xoTn8JZb.d.mts → schemas-za4KzhEe.d.mts} +154 -154
  60. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  61. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  62. package/dist/services/agent-runtime/index.d.mts +2 -2
  63. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  64. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  65. package/dist/services/context-rules/index.d.mts +8 -8
  66. package/dist/services/filesystem/namespace.d.mts +6 -6
  67. package/dist/services/filesystem/schemas.d.mts +3 -3
  68. package/dist/services/harness/index.d.mts +3 -3
  69. package/dist/services/index.d.mts +113 -113
  70. package/dist/services/index.mjs +1 -1
  71. package/dist/services/log-import/browser.d.mts +2 -2
  72. package/dist/services/log-import/index.d.mts +2 -2
  73. package/dist/services/log-import/log-import.d.mts +1 -1
  74. package/dist/services/log-import/namespace.d.mts +2 -2
  75. package/dist/services/log-import/schemas.d.mts +1 -1
  76. package/dist/services/session/handlers/index.mjs +1 -1
  77. package/dist/services/session/index.d.mts +5 -5
  78. package/dist/services/session/index.mjs +1 -1
  79. package/dist/services/session/messages/namespace.d.mts +1 -1
  80. package/dist/services/session/session-events/namespace.d.mts +1 -1
  81. package/dist/services/session/storage/namespace.d.mts +1 -1
  82. package/dist/services/session/storage/schema.d.mts +1 -1
  83. package/dist/services/session/testing/index.mjs +1 -1
  84. package/dist/services/settings/namespace.d.mts +5 -5
  85. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  86. package/dist/services/subagent-template/index.d.mts +1 -1
  87. package/dist/services/subagent-template/schemas.d.mts +1 -1
  88. package/dist/services/tool-approval/index.mjs +1 -1
  89. package/dist/services/tools/index.mjs +1 -1
  90. package/dist/services/tray-menu/index.d.mts +2 -2
  91. package/dist/services/tray-menu/namespace.d.mts +1 -1
  92. package/dist/services/tray-menu/schemas.d.mts +1 -1
  93. package/dist/session-ZAJrcudH.mjs +39 -0
  94. package/dist/{session-lineage-DFkJgYt5.d.mts → session-lineage-CJgqfkMj.d.mts} +1 -1
  95. package/dist/{session-bKk-XeaY.mjs → session-owtKCoUX.mjs} +1 -1
  96. package/dist/{tool-approval-service-C2xXBtdJ.mjs → tool-approval-service-B_28RhuK.mjs} +1 -1
  97. package/dist/{tools-DEUzCPBB.mjs → tools-BpzJterj.mjs} +1 -1
  98. package/dist/{types-4LKM7ZfA.d.mts → types-8q9G9p34.d.mts} +890 -360
  99. package/dist/{types-BB8iIAjZ.d.mts → types-bPzpZb7_.d.mts} +1 -1
  100. package/dist/workflow-engine/index.d.mts +463 -48
  101. package/dist/workflow-engine/index.mjs +1 -1
  102. package/dist/workflow-engine/package.mjs +1 -1
  103. package/dist/workflow-engine/workflow-orchestrator.d.mts +3 -2
  104. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  105. package/package.json +1 -1
  106. package/dist/handlers-CTrL8wmC.mjs +0 -41
  107. package/dist/package-Bn665ylV.mjs +0 -1
  108. package/dist/primitive-runtime-C2yw4-F8.mjs +0 -1
  109. package/dist/schemas-CiMm2zrE.mjs +0 -1
  110. package/dist/session-Me3XO-l9.mjs +0 -39
@@ -17,13 +17,13 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
17
17
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
18
18
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
19
19
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
20
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
20
21
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
21
22
  label: _$zod.ZodString;
22
23
  url: _$zod.ZodString;
23
24
  }, _$zod_v4_core0.$strict>>>;
24
25
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
25
26
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
26
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
27
27
  name: _$zod.ZodString;
28
28
  enabled: _$zod.ZodBoolean;
29
29
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -42,13 +42,13 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
42
42
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
43
43
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
44
44
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
45
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
45
46
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
46
47
  label: _$zod.ZodString;
47
48
  url: _$zod.ZodString;
48
49
  }, _$zod_v4_core0.$strict>>>;
49
50
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
50
51
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
51
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
52
52
  name: _$zod.ZodString;
53
53
  enabled: _$zod.ZodBoolean;
54
54
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -70,8 +70,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
70
70
  name: _$zod.ZodString;
71
71
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
72
72
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
73
- disabled: "disabled";
74
73
  enabled: "enabled";
74
+ disabled: "disabled";
75
75
  visible: "visible";
76
76
  }>>>;
77
77
  modelFilterMode: _$zod.ZodEnum<{
@@ -97,8 +97,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
97
97
  name: _$zod.ZodString;
98
98
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
99
99
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
100
- disabled: "disabled";
101
100
  enabled: "enabled";
101
+ disabled: "disabled";
102
102
  visible: "visible";
103
103
  }>>>;
104
104
  modelFilterMode: _$zod.ZodEnum<{
@@ -124,8 +124,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
124
124
  name: _$zod.ZodString;
125
125
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
126
126
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
127
- disabled: "disabled";
128
127
  enabled: "enabled";
128
+ disabled: "disabled";
129
129
  visible: "visible";
130
130
  }>>>;
131
131
  modelFilterMode: _$zod.ZodEnum<{
@@ -188,8 +188,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
188
188
  name: _$zod.ZodString;
189
189
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
190
190
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
191
- disabled: "disabled";
192
191
  enabled: "enabled";
192
+ disabled: "disabled";
193
193
  visible: "visible";
194
194
  }>>>;
195
195
  modelFilterMode: _$zod.ZodEnum<{
@@ -335,8 +335,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
335
335
  openai: _$zod.ZodOptional<_$zod.ZodString>;
336
336
  }, _$zod_v4_core0.$strip>>;
337
337
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
338
- disabled: "disabled";
339
338
  enabled: "enabled";
339
+ disabled: "disabled";
340
340
  visible: "visible";
341
341
  }>>>;
342
342
  modelFilterMode: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -352,8 +352,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
352
352
  name: _$zod.ZodString;
353
353
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
354
354
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
355
- disabled: "disabled";
356
355
  enabled: "enabled";
356
+ disabled: "disabled";
357
357
  visible: "visible";
358
358
  }>>>;
359
359
  modelFilterMode: _$zod.ZodEnum<{
@@ -378,8 +378,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
378
378
  openai: _$zod.ZodOptional<_$zod.ZodString>;
379
379
  }, _$zod_v4_core0.$strip>>>;
380
380
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
381
- disabled: "disabled";
382
381
  enabled: "enabled";
382
+ disabled: "disabled";
383
383
  visible: "visible";
384
384
  }>>>;
385
385
  enabled: _$zod.ZodOptional<_$zod.ZodBoolean>;
@@ -392,8 +392,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
392
392
  name: _$zod.ZodString;
393
393
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
394
394
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
395
- disabled: "disabled";
396
395
  enabled: "enabled";
396
+ disabled: "disabled";
397
397
  visible: "visible";
398
398
  }>>>;
399
399
  modelFilterMode: _$zod.ZodEnum<{
@@ -420,8 +420,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
420
420
  name: _$zod.ZodString;
421
421
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
422
422
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
423
- disabled: "disabled";
424
423
  enabled: "enabled";
424
+ disabled: "disabled";
425
425
  visible: "visible";
426
426
  }>>>;
427
427
  modelFilterMode: _$zod.ZodEnum<{
@@ -455,8 +455,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
455
455
  name: _$zod.ZodString;
456
456
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
457
457
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
458
- disabled: "disabled";
459
458
  enabled: "enabled";
459
+ disabled: "disabled";
460
460
  visible: "visible";
461
461
  }>>>;
462
462
  modelFilterMode: _$zod.ZodEnum<{
@@ -487,8 +487,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
487
487
  name: _$zod.ZodString;
488
488
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
489
489
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
490
- disabled: "disabled";
491
490
  enabled: "enabled";
491
+ disabled: "disabled";
492
492
  visible: "visible";
493
493
  }>>>;
494
494
  modelFilterMode: _$zod.ZodEnum<{
@@ -527,13 +527,13 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
527
527
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
528
528
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
529
529
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
530
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
530
531
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
531
532
  label: _$zod.ZodString;
532
533
  url: _$zod.ZodString;
533
534
  }, _$zod_v4_core0.$strict>>>;
534
535
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
535
536
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
536
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
537
537
  name: _$zod.ZodString;
538
538
  enabled: _$zod.ZodBoolean;
539
539
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -592,8 +592,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
592
592
  name: _$zod.ZodString;
593
593
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
594
594
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
595
- disabled: "disabled";
596
595
  enabled: "enabled";
596
+ disabled: "disabled";
597
597
  visible: "visible";
598
598
  }>>>;
599
599
  modelFilterMode: _$zod.ZodEnum<{
@@ -612,8 +612,8 @@ declare const AdapterSubsystemNamespace: _$_makaio_core0.BusNamespaceDefinition<
612
612
  name: _$zod.ZodString;
613
613
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
614
614
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
615
- disabled: "disabled";
616
615
  enabled: "enabled";
616
+ disabled: "disabled";
617
617
  visible: "visible";
618
618
  }>>>;
619
619
  modelFilterMode: _$zod.ZodEnum<{
@@ -670,13 +670,13 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
670
670
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
671
671
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
672
672
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
673
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
673
674
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
674
675
  label: _$zod.ZodString;
675
676
  url: _$zod.ZodString;
676
677
  }, _$zod_v4_core0.$strict>>>;
677
678
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
678
679
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
679
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
680
680
  name: _$zod.ZodString;
681
681
  enabled: _$zod.ZodBoolean;
682
682
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -695,13 +695,13 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
695
695
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
696
696
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
697
697
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
698
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
698
699
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
699
700
  label: _$zod.ZodString;
700
701
  url: _$zod.ZodString;
701
702
  }, _$zod_v4_core0.$strict>>>;
702
703
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
703
704
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
704
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
705
705
  name: _$zod.ZodString;
706
706
  enabled: _$zod.ZodBoolean;
707
707
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -723,8 +723,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
723
723
  name: _$zod.ZodString;
724
724
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
725
725
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
726
- disabled: "disabled";
727
726
  enabled: "enabled";
727
+ disabled: "disabled";
728
728
  visible: "visible";
729
729
  }>>>;
730
730
  modelFilterMode: _$zod.ZodEnum<{
@@ -750,8 +750,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
750
750
  name: _$zod.ZodString;
751
751
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
752
752
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
753
- disabled: "disabled";
754
753
  enabled: "enabled";
754
+ disabled: "disabled";
755
755
  visible: "visible";
756
756
  }>>>;
757
757
  modelFilterMode: _$zod.ZodEnum<{
@@ -777,8 +777,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
777
777
  name: _$zod.ZodString;
778
778
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
779
779
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
780
- disabled: "disabled";
781
780
  enabled: "enabled";
781
+ disabled: "disabled";
782
782
  visible: "visible";
783
783
  }>>>;
784
784
  modelFilterMode: _$zod.ZodEnum<{
@@ -841,8 +841,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
841
841
  name: _$zod.ZodString;
842
842
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
843
843
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
844
- disabled: "disabled";
845
844
  enabled: "enabled";
845
+ disabled: "disabled";
846
846
  visible: "visible";
847
847
  }>>>;
848
848
  modelFilterMode: _$zod.ZodEnum<{
@@ -988,8 +988,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
988
988
  openai: _$zod.ZodOptional<_$zod.ZodString>;
989
989
  }, _$zod_v4_core0.$strip>>;
990
990
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
991
- disabled: "disabled";
992
991
  enabled: "enabled";
992
+ disabled: "disabled";
993
993
  visible: "visible";
994
994
  }>>>;
995
995
  modelFilterMode: _$zod.ZodOptional<_$zod.ZodEnum<{
@@ -1005,8 +1005,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1005
1005
  name: _$zod.ZodString;
1006
1006
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
1007
1007
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
1008
- disabled: "disabled";
1009
1008
  enabled: "enabled";
1009
+ disabled: "disabled";
1010
1010
  visible: "visible";
1011
1011
  }>>>;
1012
1012
  modelFilterMode: _$zod.ZodEnum<{
@@ -1031,8 +1031,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1031
1031
  openai: _$zod.ZodOptional<_$zod.ZodString>;
1032
1032
  }, _$zod_v4_core0.$strip>>>;
1033
1033
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
1034
- disabled: "disabled";
1035
1034
  enabled: "enabled";
1035
+ disabled: "disabled";
1036
1036
  visible: "visible";
1037
1037
  }>>>;
1038
1038
  enabled: _$zod.ZodOptional<_$zod.ZodBoolean>;
@@ -1045,8 +1045,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1045
1045
  name: _$zod.ZodString;
1046
1046
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
1047
1047
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
1048
- disabled: "disabled";
1049
1048
  enabled: "enabled";
1049
+ disabled: "disabled";
1050
1050
  visible: "visible";
1051
1051
  }>>>;
1052
1052
  modelFilterMode: _$zod.ZodEnum<{
@@ -1073,8 +1073,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1073
1073
  name: _$zod.ZodString;
1074
1074
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
1075
1075
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
1076
- disabled: "disabled";
1077
1076
  enabled: "enabled";
1077
+ disabled: "disabled";
1078
1078
  visible: "visible";
1079
1079
  }>>>;
1080
1080
  modelFilterMode: _$zod.ZodEnum<{
@@ -1108,8 +1108,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1108
1108
  name: _$zod.ZodString;
1109
1109
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
1110
1110
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
1111
- disabled: "disabled";
1112
1111
  enabled: "enabled";
1112
+ disabled: "disabled";
1113
1113
  visible: "visible";
1114
1114
  }>>>;
1115
1115
  modelFilterMode: _$zod.ZodEnum<{
@@ -1140,8 +1140,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1140
1140
  name: _$zod.ZodString;
1141
1141
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
1142
1142
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
1143
- disabled: "disabled";
1144
1143
  enabled: "enabled";
1144
+ disabled: "disabled";
1145
1145
  visible: "visible";
1146
1146
  }>>>;
1147
1147
  modelFilterMode: _$zod.ZodEnum<{
@@ -1180,13 +1180,13 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1180
1180
  displayName: _$zod.ZodOptional<_$zod.ZodString>;
1181
1181
  protocol: _$zod.ZodOptional<_$zod.ZodString>;
1182
1182
  clientId: _$zod.ZodOptional<_$zod.ZodString>;
1183
+ settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
1183
1184
  helpLinks: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodObject<{
1184
1185
  label: _$zod.ZodString;
1185
1186
  url: _$zod.ZodString;
1186
1187
  }, _$zod_v4_core0.$strict>>>;
1187
1188
  instructions: _$zod.ZodOptional<_$zod.ZodString>;
1188
1189
  providerDefinitionIds: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
1189
- settings: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
1190
1190
  name: _$zod.ZodString;
1191
1191
  enabled: _$zod.ZodBoolean;
1192
1192
  bindings: _$zod.ZodArray<_$zod.ZodObject<{
@@ -1245,8 +1245,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1245
1245
  name: _$zod.ZodString;
1246
1246
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
1247
1247
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
1248
- disabled: "disabled";
1249
1248
  enabled: "enabled";
1249
+ disabled: "disabled";
1250
1250
  visible: "visible";
1251
1251
  }>>>;
1252
1252
  modelFilterMode: _$zod.ZodEnum<{
@@ -1265,8 +1265,8 @@ declare const AdapterSubsystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_co
1265
1265
  name: _$zod.ZodString;
1266
1266
  endpointOverrides: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
1267
1267
  modelVisibility: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodEnum<{
1268
- disabled: "disabled";
1269
1268
  enabled: "enabled";
1269
+ disabled: "disabled";
1270
1270
  visible: "visible";
1271
1271
  }>>>;
1272
1272
  modelFilterMode: _$zod.ZodEnum<{
@@ -536,10 +536,10 @@ declare const SessionEventStorageNamespace$1: {
536
536
  childSessionId: _$zod.ZodString;
537
537
  parentSessionId: _$zod.ZodString;
538
538
  kind: _$zod.ZodEnum<{
539
+ branch: "branch";
539
540
  fork: "fork";
540
541
  subagent: "subagent";
541
542
  compress: "compress";
542
- branch: "branch";
543
543
  rewrite: "rewrite";
544
544
  coordinator: "coordinator";
545
545
  aside: "aside";
@@ -866,10 +866,10 @@ declare const SessionEventStorageNamespace$1: {
866
866
  childSessionId: _$zod.ZodString;
867
867
  parentSessionId: _$zod.ZodString;
868
868
  kind: _$zod.ZodEnum<{
869
+ branch: "branch";
869
870
  fork: "fork";
870
871
  subagent: "subagent";
871
872
  compress: "compress";
872
- branch: "branch";
873
873
  rewrite: "rewrite";
874
874
  coordinator: "coordinator";
875
875
  aside: "aside";
@@ -1186,10 +1186,10 @@ declare const SessionEventStorageNamespace$1: {
1186
1186
  childSessionId: _$zod.ZodString;
1187
1187
  parentSessionId: _$zod.ZodString;
1188
1188
  kind: _$zod.ZodEnum<{
1189
+ branch: "branch";
1189
1190
  fork: "fork";
1190
1191
  subagent: "subagent";
1191
1192
  compress: "compress";
1192
- branch: "branch";
1193
1193
  rewrite: "rewrite";
1194
1194
  coordinator: "coordinator";
1195
1195
  aside: "aside";
@@ -1514,10 +1514,10 @@ declare const SessionEventStorageNamespace$1: {
1514
1514
  childSessionId: _$zod.ZodString;
1515
1515
  parentSessionId: _$zod.ZodString;
1516
1516
  kind: _$zod.ZodEnum<{
1517
+ branch: "branch";
1517
1518
  fork: "fork";
1518
1519
  subagent: "subagent";
1519
1520
  compress: "compress";
1520
- branch: "branch";
1521
1521
  rewrite: "rewrite";
1522
1522
  coordinator: "coordinator";
1523
1523
  aside: "aside";
@@ -1830,10 +1830,10 @@ declare const SessionEventStorageNamespace$1: {
1830
1830
  childSessionId: _$zod.ZodString;
1831
1831
  parentSessionId: _$zod.ZodString;
1832
1832
  kind: _$zod.ZodEnum<{
1833
+ branch: "branch";
1833
1834
  fork: "fork";
1834
1835
  subagent: "subagent";
1835
1836
  compress: "compress";
1836
- branch: "branch";
1837
1837
  rewrite: "rewrite";
1838
1838
  coordinator: "coordinator";
1839
1839
  aside: "aside";
@@ -2160,10 +2160,10 @@ declare const SessionEventStorageNamespace$1: {
2160
2160
  childSessionId: _$zod.ZodString;
2161
2161
  parentSessionId: _$zod.ZodString;
2162
2162
  kind: _$zod.ZodEnum<{
2163
+ branch: "branch";
2163
2164
  fork: "fork";
2164
2165
  subagent: "subagent";
2165
2166
  compress: "compress";
2166
- branch: "branch";
2167
2167
  rewrite: "rewrite";
2168
2168
  coordinator: "coordinator";
2169
2169
  aside: "aside";
@@ -2480,10 +2480,10 @@ declare const SessionEventStorageNamespace$1: {
2480
2480
  childSessionId: _$zod.ZodString;
2481
2481
  parentSessionId: _$zod.ZodString;
2482
2482
  kind: _$zod.ZodEnum<{
2483
+ branch: "branch";
2483
2484
  fork: "fork";
2484
2485
  subagent: "subagent";
2485
2486
  compress: "compress";
2486
- branch: "branch";
2487
2487
  rewrite: "rewrite";
2488
2488
  coordinator: "coordinator";
2489
2489
  aside: "aside";
@@ -2808,10 +2808,10 @@ declare const SessionEventStorageNamespace$1: {
2808
2808
  childSessionId: _$zod.ZodString;
2809
2809
  parentSessionId: _$zod.ZodString;
2810
2810
  kind: _$zod.ZodEnum<{
2811
+ branch: "branch";
2811
2812
  fork: "fork";
2812
2813
  subagent: "subagent";
2813
2814
  compress: "compress";
2814
- branch: "branch";
2815
2815
  rewrite: "rewrite";
2816
2816
  coordinator: "coordinator";
2817
2817
  aside: "aside";
@@ -3086,7 +3086,7 @@ declare const SessionEventStorageNamespace$1: {
3086
3086
  payload: {
3087
3087
  childSessionId: string;
3088
3088
  parentSessionId: string;
3089
- kind: "fork" | "subagent" | "compress" | "branch" | "rewrite" | "coordinator" | "aside";
3089
+ kind: "branch" | "fork" | "subagent" | "compress" | "rewrite" | "coordinator" | "aside";
3090
3090
  forkPointMessageId?: string | undefined;
3091
3091
  };
3092
3092
  } | {
@@ -0,0 +1 @@
1
+ import{A as e,B as t,C as n,D as r,E as i,F as a,G as o,H as s,I as c,K as l,L as u,M as d,N as f,O as ee,P as te,R as ne,S as re,T as ie,U as ae,V as oe,W as se,_ as ce,a as le,b as p,c as ue,d as de,f as fe,g as pe,h as me,i as he,j as ge,k as _e,l as ve,m as ye,n as be,p as m,q as h,s as xe,t as Se,v as Ce,w as we,x as Te,y as Ee,z as De}from"./primitive-runtime-UEzX4Ayu.mjs";import{matchesFilter as Oe,matchesSubscription as ke}from"@makaio/framework/bus";import{ArtifactSubjects as Ae,EXECUTION_LIST_DEFAULT_LIMIT as je,EXECUTION_LIST_MAX_LIMIT as g,EXECUTION_LIST_MIN_LIMIT as _,ExecutionHintsSchema as Me,JsonPatchOperationSchema as Ne,JsonValueSchema as Pe,SessionSubjects as Fe,WORKFLOW_CANCELLED_REASON as v,WorkflowNamespace as Ie,WorkflowSubjects as y,createWorkflowCancelSubject as Le,dep as Re,extensionToken as ze}from"@makaio/framework/contracts";import{BaseService as Be}from"@makaio/framework/service-base";import{defineDialectSchema as Ve,executeTransaction as b,getDatabaseDialect as He,registerDrizzleHandlers as Ue,resolveSchema as x}from"@makaio/framework/storage/drizzle";import{and as S,asc as C,count as We,desc as w,eq as T,getTableColumns as Ge,gte as Ke,isNotNull as qe,lt as Je,lte as Ye,or as Xe,sql as E,sum as D}from"drizzle-orm";import{compile as Ze}from"@makaio/framework/expression";import*as Qe from"node:os";import{SessionToken as $e}from"@makaio/framework/services";const et=re.postgres,tt=d.postgres,nt=we.postgres,rt=te.postgres,it=ne.postgres,at=i.postgres,ot=c.postgres,st=l.postgres,ct=s.postgres,lt=t.postgres,ut=se.postgres,dt=ee.postgres,ft=e.postgres,O=Ve({workflowDefinitions:Te,workflowExecutions:ge,workflowExecutionFrames:n,workflowGateInstances:f,workflowStepSpans:u,workflowExecutionLinks:ie,workflowRunContexts:a,worklogSummaries:o,worklogFrameEntries:oe,worklogArtifactWrites:De,worklogGateEvents:ae,workflowExecutionState:r,workflowExecutionStateEvents:_e},{workflowDefinitions:et,workflowExecutions:tt,workflowExecutionFrames:nt,workflowGateInstances:rt,workflowStepSpans:it,workflowExecutionLinks:at,workflowRunContexts:ot,worklogSummaries:st,worklogFrameEntries:ct,worklogArtifactWrites:lt,worklogGateEvents:ut,workflowExecutionState:dt,workflowExecutionStateEvents:ft});function k(e){return e.type===`global`?{scopeType:`global`,scopeKind:``,scopeId:``}:e.type===`external`?{scopeType:`external`,scopeKind:e.kind,scopeId:e.id}:{scopeType:e.type,scopeKind:``,scopeId:e.id}}function A(e){switch(e.scopeType){case`global`:return{type:`global`};case`external`:if(!e.scopeKind||!e.scopeId)throw Error(`Invalid external workflow scope row: scopeKind and scopeId are required`);return{type:`external`,kind:e.scopeKind,id:e.scopeId};case`workspace`:case`session`:if(!e.scopeId)throw Error(`Invalid ${e.scopeType} workflow scope row: scopeId is required`);return{type:e.scopeType,id:e.scopeId};default:{let t=e.scopeType;throw Error(`Unknown scope type: ${String(t)}`)}}}function pt(e,t){let{scopeType:n,scopeKind:r,scopeId:i}=k(t);return[T(e.scopeType,n),T(e.scopeKind,r),T(e.scopeId,i)]}function j(e){return{id:e.id,name:e.name,description:e.description??void 0,root:e.root,inputSchema:e.inputSchema??void 0,configSchema:e.configSchema??void 0,outputSchema:e.outputSchema??void 0,state:e.state??void 0,artifact:e.artifact??void 0,triggers:e.triggers??void 0,scope:A(e),canvasLayout:e.canvasLayout??void 0,source:e.source??void 0,executionHints:e.executionHints??void 0}}function mt(e,t){let n=k(e.scope);return{id:e.id,name:e.name??e.id,root:e.root,description:e.description??null,inputSchema:e.inputSchema??null,configSchema:e.configSchema??null,outputSchema:e.outputSchema??null,state:e.state??null,artifact:e.artifact??null,triggers:e.triggers??null,canvasLayout:e.canvasLayout??null,source:e.source??null,executionHints:e.executionHints??null,createdAt:t,updatedAt:t,...n}}function ht(e,t){let{workflowDefinitions:n}=x(t,O),r=Ge(n),i=e.on(p.get,async e=>{let r=await t.select().from(n).where(T(n.id,e.payload.id)).limit(1);e.setResult({workflow:r[0]?j(r[0]):null})}),a=e.on(p.set,async i=>{let a=i.payload.workflow,o=Date.now(),s=mt(a,o),c=await t.insert(n).values(s).onConflictDoNothing({target:n.id}).returning();if(c.length>0){await e.emit(h.definition.created,j(c[0])),i.setResult({id:a.id});return}let[l]=await t.update(n).set({name:s.name,root:s.root,updatedAt:o,createdAt:E`COALESCE(${r.createdAt}, ${o})`,description:s.description===null?E`${r.description}`:s.description,inputSchema:s.inputSchema===null?E`${r.inputSchema}`:s.inputSchema,configSchema:s.configSchema===null?E`${r.configSchema}`:s.configSchema,outputSchema:s.outputSchema===null?E`${r.outputSchema}`:s.outputSchema,state:s.state,artifact:s.artifact===null?E`${r.artifact}`:s.artifact,triggers:s.triggers===null?E`${r.triggers}`:s.triggers,canvasLayout:s.canvasLayout===null?E`${r.canvasLayout}`:s.canvasLayout,source:s.source===null?E`${r.source}`:s.source,executionHints:s.executionHints===null?E`${r.executionHints}`:s.executionHints,...k(a.scope)}).where(T(n.id,a.id)).returning();l&&await e.emit(h.definition.updated,j(l)),i.setResult({id:a.id})}),o=e.on(p.delete,async r=>{let i=(await t.delete(n).where(T(n.id,r.payload.id)).returning()).length>0;i&&await e.emit(h.definition.deleted,{id:r.payload.id}),r.setResult({deleted:i})}),s=e.on(p.list,async e=>{let r=e.payload,i=r.scope?pt(n,r.scope):[],a=i.length>0?await t.select().from(n).where(S(...i)):await t.select().from(n);e.setResult({workflows:a.map(j)})});return()=>{i(),a(),o(),s()}}function gt(e){return{frameId:e.frameId,nodeId:e.nodeId,nodeType:e.nodeType,path:e.path,parentFrameId:e.parentFrameId??void 0,status:e.status,attempt:e.attempt,iteration:e.iteration??void 0,branchKey:e.branchKey??void 0,...e.outputPresent?{output:e.output}:{},error:e.error??void 0,startedAt:e.startedAt??void 0,completedAt:e.completedAt??void 0}}function _t(e,t){return{frameId:t.frameId,executionId:e,nodeId:t.nodeId,nodeType:t.nodeType,path:t.path,parentFrameId:t.parentFrameId??null,status:t.status,attempt:t.attempt,iteration:t.iteration??null,branchKey:t.branchKey??null,output:t.output===void 0?null:t.output,outputPresent:t.output!==void 0,error:t.error??null,startedAt:t.startedAt??null,completedAt:t.completedAt??null}}function vt(e,t){let{workflowExecutionFrames:n}=x(t,O),r=e.on(p.setFrame,async e=>{let{executionId:r,frame:i}=e.payload,a=_t(r,i);await t.insert(n).values(a).onConflictDoUpdate({target:n.frameId,set:a}),e.setResult({frameId:i.frameId})}),i=e.on(p.getFrame,async e=>{let r=await t.select().from(n).where(T(n.frameId,e.payload.frameId)).limit(1);e.setResult({frame:r[0]?gt(r[0]):null})}),a=e.on(p.listFrames,async e=>{let r=await t.select().from(n).where(T(n.executionId,e.payload.executionId)).orderBy(C(n.startedAt),C(n.frameId));e.setResult({frames:r.map(gt)})});return()=>{r(),i(),a()}}function yt(e){return`${e.executionId}:${e.nodeId}:${e.frameId}`}function M(e){return{executionId:e.executionId,nodeId:e.nodeId,frameId:e.frameId,schema:e.schema,prompt:e.prompt??void 0,status:e.status,autoAction:e.autoAction,timeoutMs:e.timeoutMs??null,...e.resumeDataPresent?{resumeData:e.resumeData}:{},...e.reason===null?{}:{reason:e.reason},createdAt:e.createdAt,resolvedAt:e.resolvedAt??void 0}}function N(e){return{id:yt(e),executionId:e.executionId,nodeId:e.nodeId,frameId:e.frameId,schema:e.schema,prompt:e.prompt??null,status:e.status,autoAction:e.autoAction,timeoutMs:e.timeoutMs,resumeData:e.resumeData===void 0?null:e.resumeData,reason:e.reason??null,resumeDataPresent:e.resumeData!==void 0,createdAt:e.createdAt,resolvedAt:e.resolvedAt??null}}function bt(e,t,n,r){if(e===void 0&&t===void 0)throw Error(`Either executionId or status is required to list gate instances.`);let i=n??je;if(!Number.isInteger(i)||i<_||i>g)throw Error(`Gate instance list limit must be an integer between ${_} and ${g}.`);return{resolvedLimit:i,predicates:[...e===void 0?[]:[T(r.executionId,e)],...t===void 0?[]:[T(r.status,t)]]}}function xt(e,t){let{workflowExecutions:n,workflowGateInstances:r}=x(t,O),i=e.on(p.setGateInstance,async e=>{let n=e.payload.gate,i=N(n);await t.insert(r).values(i).onConflictDoUpdate({target:r.id,set:i}),e.setResult({id:i.id})}),a=e.on(p.resolveWaitingGateInstance,async e=>{let n=e.payload.gate,i=N(n),a=await t.update(r).set(i).where(S(T(r.id,i.id),T(r.status,`waiting`))).returning({id:r.id});e.setResult({accepted:a.length===1})}),o=e.on(p.getGateInstance,async e=>{let{executionId:n,nodeId:i,frameId:a}=e.payload,o=[T(r.executionId,n),T(r.nodeId,i)];a!==void 0&&o.push(T(r.frameId,a));let s=await t.select().from(r).where(S(...o)).limit(1);e.setResult({gate:s[0]?M(s[0]):null})}),s=e.on(p.listGateInstances,async e=>{let{executionId:n,status:i,limit:a}=e.payload,{resolvedLimit:o,predicates:s}=bt(n,i,a,r),c=await t.select().from(r).where(S(...s)).orderBy(w(r.createdAt),w(r.id)).limit(o);e.setResult({gates:c.map(M)})}),c=e.on(p.listPausedGateTimeouts,async e=>{let i=await t.select({gate:r}).from(r).innerJoin(n,T(r.executionId,n.id)).where(S(T(r.status,`waiting`),T(n.status,`paused`),qe(r.timeoutMs)));e.setResult({gates:i.map(e=>M(e.gate))})});return()=>{i(),a(),o(),s(),c()}}function St(e){return{executionId:e.executionId,frameId:e.frameId,stepId:e.stepId,stepType:e.stepType,status:e.status,startedAt:e.startedAt??void 0,completedAt:e.completedAt??void 0,durationMs:e.durationMs??void 0,inputTokens:e.inputTokens??void 0,outputTokens:e.outputTokens??void 0,estimatedCost:e.estimatedCost??void 0,toolCallCount:e.toolCallCount??void 0,input:e.input??void 0,output:e.output??void 0}}function Ct(e){return{sourceExecutionId:e.sourceExecutionId,targetExecutionId:e.targetExecutionId,linkType:e.linkType,metadata:e.metadata??void 0}}function wt(e,t){let{workflowStepSpans:n,workflowExecutionLinks:r}=x(t,O),i=e.on(p.setSpan,async e=>{let{span:r}=e.payload;await t.insert(n).values(r).onConflictDoUpdate({target:[n.executionId,n.frameId],set:r}),e.setResult({id:`${r.executionId}:${r.frameId}`})}),a=e.on(p.listSpans,async e=>{let r=await t.select().from(n).where(T(n.executionId,e.payload.executionId)).orderBy(C(n.startedAt),C(n.stepId),C(n.frameId));e.setResult({spans:r.map(St)})}),o=e.on(p.setExecutionLink,async e=>{let{link:n}=e.payload;await t.insert(r).values(n).onConflictDoUpdate({target:[r.sourceExecutionId,r.targetExecutionId],set:n}),e.setResult({id:`${n.sourceExecutionId}:${n.targetExecutionId}`})}),s=e.on(p.listExecutionLinks,async e=>{let{sourceExecutionId:n,targetExecutionId:i}=e.payload;if(n===void 0&&i===void 0)throw Error(`Either sourceExecutionId or targetExecutionId is required to list execution links.`);let a=[...n===void 0?[]:[T(r.sourceExecutionId,n)],...i===void 0?[]:[T(r.targetExecutionId,i)]],o=t.select().from(r).where(S(...a));e.setResult({links:(await o).map(Ct)})});return()=>{i(),a(),o(),s()}}function Tt(e){switch(e.kind){case`path`:return{sourceKind:`path`,sourcePath:e.path,sourceFilename:null,sourceCode:null};case`source`:return{sourceKind:`source`,sourcePath:null,sourceFilename:e.filename,sourceCode:e.source};case`definition`:return{sourceKind:`definition`,sourcePath:null,sourceFilename:null,sourceCode:null}}}function Et(e){switch(e.sourceKind){case`path`:if(!e.sourcePath)throw Error(`Invalid run context row: sourcePath required for kind=path`);return{kind:`path`,path:e.sourcePath};case`source`:if(!e.sourceFilename)throw Error(`Invalid run context row: sourceFilename required for kind=source`);return{kind:`source`,filename:e.sourceFilename,source:e.sourceCode??``};case`definition`:return{kind:`definition`,workflowId:e.workflowId};default:throw Error(`Unknown run context source kind: ${String(e.sourceKind)}`)}}function Dt(e){return{executionId:e.executionId,workflowId:e.workflowId,coordinatorSessionId:e.coordinatorSessionId,source:Et(e),definitionSnapshot:e.definitionSnapshot??void 0,workerManifest:e.workerManifest,inputs:e.inputs,config:e.config??{},triggerPayload:e.triggerPayload,...e.artifactRef===null?{}:{artifactRef:e.artifactRef},scope:A(e),...e.executionHints===null?{}:{executionHints:e.executionHints},...e.dispatchMetadata===null?{}:{dispatchMetadata:e.dispatchMetadata},cancelSubject:e.cancelSubject,context:e.context,env:e.env,createdAt:e.createdAt,suspensionStrategy:e.suspensionStrategy??`wait-in-process`}}function Ot(e){let t=Tt(e.source),n=k(e.scope);return{executionId:e.executionId,workflowId:e.workflowId,coordinatorSessionId:e.coordinatorSessionId,...t,definitionSnapshot:e.definitionSnapshot??null,workerManifest:e.workerManifest,inputs:e.inputs,config:e.config??{},triggerPayload:e.triggerPayload,artifactRef:e.artifactRef??null,executionHints:e.executionHints??null,dispatchMetadata:e.dispatchMetadata??null,...n,cancelSubject:e.cancelSubject,context:e.context,env:e.env,createdAt:e.createdAt,suspensionStrategy:e.suspensionStrategy}}async function kt(e,t,n){let r=Ot(t);await e.insert(n).values(r).onConflictDoUpdate({target:n.executionId,set:r})}function At(e,t){let{workflowRunContexts:n}=x(t,O),r=e.on(p.setRunContext,async e=>{let r=e.payload.runContext;await kt(t,r,n),e.setResult({executionId:r.executionId})}),i=e.on(p.getRunContext,async e=>{let{executionId:r}=e.payload,i=await t.select().from(n).where(T(n.executionId,r)),a=i[0]?Dt(i[0]):null;e.setResult({runContext:a})});return()=>{r(),i()}}function P(e,t){return t===null?He(e)===`postgres`?E`'null'::jsonb`:E`'null'`:t}async function jt(e,t,n){let{workflowExecutionState:r,workflowExecutionStateEvents:i}=x(e,O),a=Date.now(),o=P(e,n);await b(e,async e=>{await e.insert(r).values({executionId:t,sequence:0,value:o,updatedAt:a}).onConflictDoNothing(),await e.insert(i).values({executionId:t,sequence:0,patch:[],value:o,createdAt:a}).onConflictDoNothing()})}async function Mt(e,t){let{workflowExecutionState:n}=x(e,O),r=(await e.select().from(n).where(T(n.executionId,t)).limit(1))[0];return r?{executionId:r.executionId,sequence:r.sequence,value:r.value}:null}async function Nt(e,t){let{workflowExecutionState:n,workflowExecutionStateEvents:r}=x(e,O),i=Date.now(),a=P(e,t.nextValue);return b(e,async e=>{let o=(await e.select().from(n).where(T(n.executionId,t.executionId)).limit(1))[0];if(!o)throw Error(`no workflow state for execution ${t.executionId}`);if(t.expectedSequence===void 0)throw Error(`expectedSequence is required to patch workflow state`);let s=o.sequence+1,c=Ce(o.value,t.nextValue);if((await e.update(n).set({sequence:s,value:a,updatedAt:i}).where(S(T(n.executionId,t.executionId),T(n.sequence,t.expectedSequence))).returning()).length===0)throw Error(`state sequence conflict: expected ${String(t.expectedSequence)}, got ${String(o.sequence)}`);return await e.insert(r).values({executionId:t.executionId,sequence:s,patch:c,value:a,createdAt:i}),{executionId:t.executionId,sequence:s,patch:c,value:t.nextValue}})}function Pt(e,t){let n=e.on(p.initializeState,async e=>{let{executionId:n,initialValue:r}=e.payload;await jt(t,n,r),e.setResult({})}),r=e.on(p.getState,async e=>{let{executionId:n}=e.payload,r=await Mt(t,n);e.setResult({state:r})}),i=e.on(p.patchState,async e=>{let{executionId:n,expectedSequence:r,nextValue:i}=e.payload,a=await Nt(t,{executionId:n,expectedSequence:r,nextValue:i});e.setResult(a)});return()=>{n(),r(),i()}}function Ft(e){return{executionId:e.executionId,workflowId:e.workflowId,workflowName:e.workflowName??void 0,status:e.status,startedAt:e.startedAt,completedAt:e.completedAt??void 0,durationMs:e.durationMs??void 0,totalInputTokens:e.totalInputTokens??void 0,totalOutputTokens:e.totalOutputTokens??void 0,totalEstimatedCost:e.totalEstimatedCost??void 0,error:e.error??void 0,failedNodeId:e.failedNodeId??void 0}}async function F(e,t){let{worklogSummaries:n}=x(e,O);await e.insert(n).values(t).onConflictDoUpdate({target:n.executionId,set:t})}async function I(e,t){let{worklogSummaries:n}=x(e,O),r=await e.select().from(n).where(T(n.executionId,t)).limit(1);return r[0]?Ft(r[0]):null}async function It(e,t={}){let{worklogSummaries:n}=x(e,O),{workflowId:r,status:i,limit:a=50,offset:o=0}=t,s=[...r===void 0?[]:[T(n.workflowId,r)],...i===void 0?[]:[T(n.status,i)]],c=s.length>0?S(...s):void 0,[l,u]=await Promise.all([e.select().from(n).where(c).orderBy(w(n.startedAt)).limit(a).offset(o),e.select({count:We()}).from(n).where(c)]);return{items:l.map(Ft),total:u[0]?.count??0}}async function L(e,t){let{worklogFrameEntries:n}=x(e,O);await e.insert(n).values(t).onConflictDoUpdate({target:n.frameId,set:t})}async function R(e,t){let{worklogFrameEntries:n}=x(e,O);return(await e.select().from(n).where(T(n.frameId,t)).limit(1))[0]??null}async function Lt(e,t){let{worklogArtifactWrites:n}=x(e,O);await e.insert(n).values(t).onConflictDoUpdate({target:n.id,set:t})}function Rt(e,t,n,r,i){return`${e}:${t}:${n}:${r}:${i}`}async function z(e,t){let{worklogGateEvents:n}=x(e,O);await e.insert(n).values(t).onConflictDoUpdate({target:n.id,set:t})}async function zt(e,t){let{worklogGateEvents:n}=x(e,O);return(await e.select().from(n).where(T(n.id,t)).limit(1))[0]??null}function B(e,t,n){return`${e}:${t}:${n}`}async function Bt(e,t){let{worklogFrameEntries:n}=x(e,O),[r]=await e.select({totalInputTokens:D(n.inputTokens),totalOutputTokens:D(n.outputTokens),totalEstimatedCost:D(n.estimatedCost)}).from(n).where(T(n.executionId,t));return{totalInputTokens:r?.totalInputTokens===null?0:Number(r?.totalInputTokens),totalOutputTokens:r?.totalOutputTokens===null?0:Number(r?.totalOutputTokens),totalEstimatedCost:r?.totalEstimatedCost===null?0:Number(r?.totalEstimatedCost)}}async function Vt(e,t={}){let{worklogSummaries:n}=x(e,O),{workflowId:r,since:i,until:a}=t,o=[...r===void 0?[]:[T(n.workflowId,r)],...i===void 0?[]:[Ke(n.startedAt,i)],...a===void 0?[]:[Ye(n.startedAt,a)]],s=o.length>0?S(...o):void 0,[c,l]=await Promise.all([e.select({status:n.status,count:We()}).from(n).where(s).groupBy(n.status),e.select({totalDurationMs:D(n.durationMs),totalInputTokens:D(n.totalInputTokens),totalOutputTokens:D(n.totalOutputTokens),totalEstimatedCost:D(n.totalEstimatedCost)}).from(n).where(s)]),u={pending:0,running:0,paused:0,completed:0,failed:0,cancelled:0},d=0;for(let e of c)u[e.status]=e.count,d+=e.count;let f=l[0];return{total:d,byStatus:u,totalDurationMs:Number(f?.totalDurationMs??0),totalInputTokens:Number(f?.totalInputTokens??0),totalOutputTokens:Number(f?.totalOutputTokens??0),totalEstimatedCost:Number(f?.totalEstimatedCost??0)}}async function Ht(e,t,n,r,i){let a=await R(t,n);if(a===null||i===void 0)return null;let o=await e.requestOptional(Ae.resolve,{ref:{refClass:`artifact`,kind:r.kind,id:r.id,revision:i}}).catch(()=>void 0);if(o===void 0||!o.handled||o.data.artifact===null)return null;let{kind:s,schemaVersion:c,scope:l}=o.data.artifact;return{nodeId:a.nodeId,artifact:{kind:s,schemaVersion:c,scope:l}}}async function V(e,t){try{await t()}catch(t){console.error(`[WorklogProjection] Write failed (${e}):`,t)}}async function H(e,t){try{await e.emit(h.worklog.changed,{executionId:t})}catch(e){console.error(`[WorklogProjection] worklog.changed emit failed for ${t}:`,e)}}async function Ut(e,t,n){await F(t,{executionId:n.executionId,workflowId:n.workflowId,workflowName:null,status:`running`,startedAt:n.startedAt??Date.now(),completedAt:null,durationMs:null,totalInputTokens:null,totalOutputTokens:null,totalEstimatedCost:null,error:null,failedNodeId:null}),await H(e,n.executionId)}async function Wt(e,t,n){let r=n.completedAt??Date.now(),i=await I(t,n.executionId);await F(t,{executionId:n.executionId,workflowId:i?.workflowId??n.executionId,workflowName:i?.workflowName??null,status:`completed`,startedAt:i?.startedAt??r-n.totalDuration,completedAt:r,durationMs:n.totalDuration,totalInputTokens:i?.totalInputTokens??null,totalOutputTokens:i?.totalOutputTokens??null,totalEstimatedCost:i?.totalEstimatedCost??null,error:null,failedNodeId:null}),await H(e,n.executionId)}async function Gt(e,t,n,r,i,a,o){let s=await I(t,n),c=s?.startedAt??o;await F(t,{executionId:n,workflowId:s?.workflowId??n,workflowName:s?.workflowName??null,status:r,startedAt:c,completedAt:o,durationMs:o-c,totalInputTokens:s?.totalInputTokens??null,totalOutputTokens:s?.totalOutputTokens??null,totalEstimatedCost:s?.totalEstimatedCost??null,error:i,failedNodeId:a}),await H(e,n)}async function Kt(e,t,n){let r=await Bt(t,n);if(r.totalInputTokens>0||r.totalOutputTokens>0||r.totalEstimatedCost>0){let e=await I(t,n);e&&await F(t,{executionId:n,workflowId:e.workflowId,workflowName:e.workflowName??null,status:e.status,startedAt:e.startedAt,completedAt:e.completedAt??null,durationMs:e.durationMs??null,totalInputTokens:r.totalInputTokens,totalOutputTokens:r.totalOutputTokens,totalEstimatedCost:r.totalEstimatedCost,error:e.error??null,failedNodeId:e.failedNodeId??null})}}function qt(e,t){return[e.on(h.execution.started,async n=>{let{executionId:r}=n.payload;await V(`execution.started[${r}]`,()=>Ut(e,t,n.payload))}),e.on(h.execution.completed,async n=>{let{executionId:r}=n.payload;await V(`execution.completed[${r}]`,()=>Wt(e,t,n.payload))}),e.on(h.execution.failed,async n=>{let{executionId:r,error:i,failedStepId:a}=n.payload,o=n.payload.completedAt??Date.now();await V(`execution.failed[${r}]`,()=>Gt(e,t,r,`failed`,i,a??null,o))}),e.on(h.execution.cancelled,async n=>{let{executionId:r}=n.payload,i=n.payload.completedAt??Date.now();await V(`execution.cancelled[${r}]`,()=>Gt(e,t,r,`cancelled`,null,null,i))})]}function Jt(e,t,n){return e===null?{nodeId:t,nodeType:`station`,path:[],attempt:0,iteration:null,branchKey:null,startedAt:n,inputTokens:null,outputTokens:null,estimatedCost:null}:{nodeId:e.nodeId,nodeType:e.nodeType,path:e.path,attempt:e.attempt,iteration:e.iteration,branchKey:e.branchKey,startedAt:e.startedAt,inputTokens:e.inputTokens,outputTokens:e.outputTokens,estimatedCost:e.estimatedCost}}async function Yt(e,t,n,r,i,a,o){let s=o??Date.now();await L(t,{frameId:r,executionId:n,...Jt(await R(t,r),i,a===void 0?null:s-a),status:`completed`,completedAt:s,durationMs:a??null,error:null}),await Kt(e,t,n),await H(e,n)}async function Xt(e,t,n,r,i,a,o,s){let c=s??Date.now();await L(t,{frameId:r,executionId:n,...Jt(await R(t,r),i,o===void 0?null:c-o),status:`failed`,completedAt:c,durationMs:o??null,error:a}),await H(e,n)}function Zt(e,t){return[e.on(h.frame.started,async n=>{let{executionId:r,frameId:i,nodeId:a,nodeType:o,path:s,startedAt:c}=n.payload;await V(`frame.started[${i}]`,async()=>{await L(t,{frameId:i,executionId:r,nodeId:a,nodeType:o,path:s,status:`running`,attempt:0,iteration:null,branchKey:null,startedAt:c??Date.now(),completedAt:null,durationMs:null,inputTokens:null,outputTokens:null,estimatedCost:null,error:null}),await H(e,r)})}),e.on(h.frame.completed,async n=>{let{executionId:r,frameId:i,nodeId:a,duration:o,completedAt:s}=n.payload;await V(`frame.completed[${i}]`,()=>Yt(e,t,r,i,a,o,s))}),e.on(h.frame.failed,async n=>{let{executionId:r,frameId:i,nodeId:a,error:o,duration:s,completedAt:c}=n.payload;await V(`frame.failed[${i}]`,()=>Xt(e,t,r,i,a,o,s,c))})]}const Qt={user:`rejected`,timeout:`timed-out`,cancelled:`cancelled`};function $t(e,t){return[e.on(h.gate.suspended,async n=>{let{executionId:r,frameId:i,nodeId:a,prompt:o}=n.payload;await V(`gate.suspended[${i}]`,async()=>{await z(t,{id:B(r,a,i),executionId:r,nodeId:a,frameId:i,status:`waiting`,prompt:o??null,openedAt:Date.now(),resolvedAt:null,resumeData:null}),await H(e,r)})}),e.on(h.gate.resumed,async n=>{let{executionId:r,frameId:i,nodeId:a,resumeData:o}=n.payload;await V(`gate.resumed[${i}]`,async()=>{let n=B(r,a,i),s=await zt(t,n),c=Date.now();await z(t,{id:n,executionId:r,nodeId:a,frameId:i,status:`resumed`,prompt:s?.prompt??null,openedAt:s?.openedAt??c,resolvedAt:c,resumeData:o}),await H(e,r)})}),e.on(h.gate.resolved,async n=>en(n.payload,e,t)),e.on(h.artifact.updated,async n=>{let{executionId:r,frameId:i,artifactRef:a,revision:o}=n.payload;await V(`artifact.updated[${r}:${i}]`,async()=>{let n=await Ht(e,t,i,a,o);if(n===null)return;let s=Date.now();await Lt(t,{id:Rt(r,i,a.kind,a.id,s),executionId:r,frameId:i,nodeId:n.nodeId,artifact:n.artifact,revision:o??null,writtenAt:s}),await H(e,r)})})]}async function en(e,t,n){let{executionId:r,frameId:i,stepId:a,source:o}=e;o===`user`&&e.action===`approve`||await V(`gate.resolved[${i}]`,async()=>{let s=B(r,a,i),c=await zt(n,s),l=Date.now();await z(n,{id:s,executionId:r,nodeId:a,frameId:i,status:o!==`cancelled`&&e.action===`approve`?`resumed`:Qt[o],prompt:c?.prompt??null,openedAt:c?.openedAt??l,resolvedAt:l,resumeData:c?.resumeData??null}),await H(t,r)})}function tn(e,t){let n=[...qt(e,t),...Zt(e,t),...$t(e,t),e.on(h.worklog.get,async e=>{let{executionId:n}=e.payload,r=await I(t,n);e.setResult({summary:r})}),e.on(h.worklog.list,async e=>{let{workflowId:n,status:r,limit:i,offset:a}=e.payload,o=await It(t,{workflowId:n,status:r,limit:i,offset:a});e.setResult(o)}),e.on(h.worklog.stats,async e=>{let{workflowId:n,since:r,until:i}=e.payload,a=await Vt(t,{workflowId:n,since:r,until:i});e.setResult({stats:a})})];return()=>{for(let e of n)e()}}function nn(e){return{id:e.id,workflowId:e.workflowId,coordinatorSessionId:e.coordinatorSessionId??void 0,status:e.status,inputs:e.inputs,config:{},error:e.error??void 0,reason:e.reason??void 0,startedAt:e.startedAt,completedAt:e.completedAt??void 0,triggerPayload:e.triggerPayload??void 0,...e.artifactKind!==null&&e.artifactId!==null?{artifactRef:{kind:e.artifactKind,id:e.artifactId}}:{},scope:A(e)}}function U(e){let t=k(e.scope);return{id:e.id,workflowId:e.workflowId,coordinatorSessionId:e.coordinatorSessionId??null,status:e.status,inputs:e.inputs,error:e.error??null,reason:e.reason??null,startedAt:e.startedAt,completedAt:e.completedAt??null,triggerPayload:e.triggerPayload??null,artifactKind:e.artifactRef?.kind??null,artifactId:e.artifactRef?.id??null,...t}}function rn(e,t,n,r,i,a){let o=[...e?[T(a.workflowId,e)]:[],...n?[T(a.status,n)]:[],...i===void 0?[]:[T(a.artifactKind,i.kind),T(a.artifactId,i.id)]];if(t&&o.push(...pt(a,t)),r){let e=Xe(Je(a.startedAt,r.startedAt),S(T(a.startedAt,r.startedAt),Je(a.id,r.id)));e&&o.push(e)}return o}async function an(e,t,n,r){if(n.executionId!==t.id)throw Error(`setExecutionStart requires execution.id to match runContext.executionId`);let{workflowExecutions:i,workflowRunContexts:a,workflowExecutionState:o,workflowExecutionStateEvents:s}=x(e,O),c=U(t);await b(e,async l=>{await l.insert(i).values(c).onConflictDoUpdate({target:i.id,set:c});let u=(n.dispatchMetadata===void 0?await l.select({dispatchMetadata:a.dispatchMetadata}).from(a).where(T(a.executionId,n.executionId)).limit(1):[])[0]?.dispatchMetadata;if(await kt(l,n.dispatchMetadata===void 0&&u!=null?{...n,dispatchMetadata:u}:n,a),r!==void 0){let n=Date.now(),i=P(e,r);await l.insert(o).values({executionId:t.id,sequence:0,value:i,updatedAt:n}).onConflictDoNothing(),await l.insert(s).values({executionId:t.id,sequence:0,patch:[],value:i,createdAt:n}).onConflictDoNothing()}})}async function on(e,t,n){if(n.executionId!==t.id)throw Error(`restorePausedGateResumeState requires execution.id to match gate.executionId`);if(t.status!==`paused`||n.status!==`waiting`)throw Error(`restorePausedGateResumeState requires a paused execution and waiting gate`);let{workflowExecutions:r,workflowGateInstances:i}=x(e,O),a=U(t),o=N(n);await b(e,async e=>{await e.insert(r).values(a).onConflictDoUpdate({target:r.id,set:a}),await e.insert(i).values(o).onConflictDoUpdate({target:i.id,set:o})})}async function sn(e,t,n,r){let{workflowExecutions:i,workflowGateInstances:a}=x(e,O);return b(e,async e=>{if((await e.select().from(i).where(T(i.id,t)).limit(1))[0]?.status!==`paused`)return{cancelled:!1,gates:[]};let o=(await e.select().from(a).where(S(T(a.executionId,t),T(a.status,`waiting`)))).map(e=>({...M(e),status:`cancelled`,resolvedAt:n}));await e.update(i).set({status:`cancelled`,completedAt:n,reason:r??null}).where(T(i.id,t));for(let t of o){let n=N(t);await e.update(a).set(n).where(T(a.id,n.id))}return{cancelled:!0,gates:o}})}async function cn(e,t,n,r,i,a){let{workflowExecutions:o}=x(e,O);return b(e,async e=>{if((await e.select({id:o.id}).from(o).where(T(o.id,t)).limit(1))[0]===void 0)return!1;let s={};return n!==void 0&&(s.status=n),r!==void 0&&(s.error=r),i!==void 0&&(s.reason=i),a!==void 0&&(s.completedAt=a),Object.keys(s).length>0&&await e.update(o).set(s).where(T(o.id,t)),!0})}function ln(e,t){let{workflowExecutions:n}=x(t,O),r=e.on(p.getExecution,async e=>{let{executionId:r}=e.payload,i=await t.select().from(n).where(T(n.id,r));e.setResult({execution:i[0]?nn(i[0]):null})}),i=e.on(p.setExecution,async e=>{let r=e.payload.execution,i=U(r);await t.insert(n).values(i).onConflictDoUpdate({target:n.id,set:i}),e.setResult({id:r.id})}),a=e.on(p.setExecutionStart,async e=>{let n=e.payload.execution,r=e.payload.runContext;await an(t,n,r,e.payload.initialState),e.setResult({id:n.id,executionId:n.id})}),o=e.on(p.restorePausedGateResumeState,async e=>{let n=e.payload.execution,r=e.payload.gate;await on(t,n,r),e.setResult({executionId:n.id,gateId:r.nodeId})}),s=e.on(p.updateExecution,async e=>{let{executionId:n,status:r,error:i,reason:a,completedAt:o}=e.payload,s=await cn(t,n,r,i,a,o);e.setResult({success:s})}),c=e.on(p.cancelPausedExecution,async e=>{let{executionId:n,completedAt:r,reason:i}=e.payload;e.setResult(await sn(t,n,r,i))}),l=e.on(p.listExecutions,async e=>{let{workflowId:r,scope:i,status:a,limit:o,cursor:s,artifactRef:c}=e.payload;if(r===void 0&&i===void 0&&c===void 0)throw Error(`Either workflowId, scope, or artifactRef is required to list executions.`);let l=rn(r,i,a,s,c,n),u=o??je;if(!Number.isInteger(u)||u<_||u>g)throw Error(`Execution list limit must be an integer between ${_} and ${g}.`);let d=await t.select().from(n).where(S(...l)).orderBy(w(n.startedAt),w(n.id)).limit(u);e.setResult({executions:d.map(nn)})});return()=>{r(),i(),a(),o(),s(),c(),l()}}function W(e,t){let n=ht(e,t),r=ln(e,t),i=vt(e,t),a=xt(e,t),o=wt(e,t),s=At(e,t),c=Pt(e,t),l=tn(e,t);return()=>{n(),r(),i(),a(),o(),s(),c(),l()}}function G(e,t){if(e.origin.local)return!0;let n=e.transport?.peer;return n?.authenticated!==!0||n.id!==t?!1:n.kind===`workflow-execution`?!0:n.kind===`e2e`&&n.encrypted===!0}async function un(e,t){let{runContext:n}=await e.request(p.getRunContext,{executionId:t});if(n===null)throw Error(`Run context not found for execution: ${t}`);if(n.definitionSnapshot!==void 0)return n.definitionSnapshot;let{workflow:r}=await e.request(p.get,{id:n.workflowId});return r??void 0}function dn(e){return[e.on(h.getDefinition,async t=>{let n=await e.request(p.get,{id:t.payload.id});t.setResult(n)}),e.on(h.setDefinition,async t=>{let n=await e.request(p.set,{workflow:t.payload.workflow});t.setResult(n)}),e.on(h.deleteDefinition,async t=>{let n=await e.request(p.delete,{id:t.payload.id});t.setResult(n)}),e.on(h.listDefinitions,async t=>{let n=await e.request(p.list,t.payload);t.setResult(n)}),e.on(h.getExecution,async t=>{let n=await e.request(p.getExecution,{executionId:t.payload.executionId});t.setResult(n)}),e.on(h.listExecutions,async t=>{let n=await e.request(p.listExecutions,t.payload);t.setResult(n)}),e.on(h.listSpans,async t=>{let n=await e.request(p.listSpans,{executionId:t.payload.executionId});t.setResult(n)}),e.on(h.listFrames,async t=>{let n=await e.request(p.listFrames,{executionId:t.payload.executionId});t.setResult(n)}),e.on(h.listGateInstances,async t=>{let n=await e.request(p.listGateInstances,t.payload);t.setResult(n)}),e.on(h.setExecutionLink,async t=>{let n=await e.request(p.setExecutionLink,{link:t.payload.link});t.setResult(n)}),e.on(h.listExecutionLinks,async t=>{let n=await e.request(p.listExecutionLinks,t.payload);t.setResult(n)}),e.on(h.getRunContext,async t=>{let{executionId:n}=t.payload;if(!G(t,n))throw Error(`Unauthorized: caller is not permitted to read run context for execution: ${n}`);let{runContext:r}=await e.request(p.getRunContext,{executionId:n});if(!r)throw Error(`Run context not found for execution: ${n}`);t.setResult(r)})]}function fn(e){return[e.on(h.state.get,async t=>{let{executionId:n}=t.payload;if(!G(t,n))throw Error(`Unauthorized: caller is not permitted to read state for execution: ${n}`);let{state:r}=await e.request(p.getState,{executionId:n});if(r===null)throw Error(`no workflow state for execution ${n}`);t.setResult(r)}),e.on(h.state.patch,async t=>{let{executionId:n,expectedSequence:r,patch:i,nextValue:a}=t.payload;if(!G(t,n))throw Error(`Unauthorized: caller is not permitted to patch state for execution: ${n}`);if(r===void 0)throw Error(`expectedSequence is required to patch workflow state`);let o=await un(e,n);o!==void 0&&pe(o,a,`next`),Ne.array().parse(i);let s=await e.request(p.patchState,{executionId:n,expectedSequence:r,nextValue:a});e.emit(h.state.updated,{executionId:s.executionId,sequence:s.sequence,patch:s.patch,value:s.value,updatedAt:Date.now()}).catch(()=>{}),t.setResult({executionId:s.executionId,sequence:s.sequence,value:s.value})})]}function pn(e,t){return[e.on(h.listTriggerTypes,e=>{let n=t()?.getAll()??[];e.setResult({triggerTypes:n})})]}var mn=class{bus;resumePausedExecution;handles=new Map;constructor(e,t){this.bus=e,this.resumePausedExecution=t}dispose(){for(let e of this.handles.values())clearTimeout(e);this.handles.clear()}clear(e,t,n){let r=this.makeKey(e,t,n),i=this.handles.get(r);i!==void 0&&(clearTimeout(i),this.handles.delete(r))}schedule(e){e.timeoutMs!==null&&(this.clear(e.executionId,e.nodeId,e.frameId),this.scheduleNextWakeup({...e,timeoutMs:e.timeoutMs}))}scheduleNextWakeup(e){let t=this.makeKey(e.executionId,e.nodeId,e.frameId),n=Math.max(0,e.openedAt+e.timeoutMs-Date.now()),r=setTimeout(()=>{if(this.handles.delete(t),Date.now()<e.openedAt+e.timeoutMs){this.scheduleNextWakeup(e);return}this.handleExpiredWakeup(e)},Math.min(n,2147483647));this.handles.set(t,r)}scheduleNextWakeupAfterDelay(e,t){let n=this.makeKey(e.executionId,e.nodeId,e.frameId),r=setTimeout(()=>{this.handles.delete(n),this.handleExpiredWakeup(e)},t);this.handles.set(n,r)}async handleExpiredWakeup(e){try{await this.resumeTimedOutPausedGate(e)===`retry`&&this.scheduleNextWakeupAfterDelay(e,25)}catch(t){this.scheduleFailedWakeupRetry(e,t)}}scheduleFailedWakeupRetry(e,t){let n=(e.failedWakeupAttempts??0)+1;if(n>4){console.error(`[WorkflowExecutor] Giving up on timed-out gate '${e.nodeId}' after 4 failed wakeup retries:`,t);return}let r=Math.min(250*2**(n-1),2e3);console.error(`[WorkflowExecutor] Failed to resume timed-out gate '${e.nodeId}', retrying in ${r} ms:`,t),this.scheduleNextWakeupAfterDelay({...e,failedWakeupAttempts:n},r)}makeKey(e,t,n){return`${e}:${t}:${n}`}async resumeTimedOutPausedGate(e){this.clear(e.executionId,e.nodeId,e.frameId);let{gate:t}=await this.bus.request(p.getGateInstance,{executionId:e.executionId,nodeId:e.nodeId,frameId:e.frameId});if(t===null||t.status!==`waiting`)return`settled`;let{execution:n}=await this.bus.request(p.getExecution,{executionId:e.executionId});return n?.status===`running`?`retry`:n?.status===`paused`?(await this.resumePausedExecution(e.executionId),`resumed`):`settled`}};function hn(e){if(e!==void 0)return Pe.parse(e)}function gn(e){if(e!==void 0)return Me.parse(e)}function _n(e,t){return{repoPath:t,makaioHome:e.makaioHome??process.env.MAKAIO_HOME??`${Qe.homedir()}/.makaio`,os:fe(process.platform),arch:process.arch}}function vn(e,t){return{executionId:e.executionId,workflowId:e.workflowId,source:e.source,...e.definitionSnapshot===void 0?{}:{definitionSnapshot:e.definitionSnapshot},workerManifest:{packages:[]},inputs:e.inputs,config:e.config,scope:e.scope,triggerPayload:e.triggerPayload,...e.artifactRef===void 0?{}:{artifactRef:e.artifactRef},...e.executionHints===void 0?{}:{executionHints:e.executionHints},coordinatorSessionId:e.coordinatorSessionId,cancelSubject:`workflow.${e.executionId}.cancel`,context:_n(t,e.workspaceRoot),env:t.platformDefaults.env??{},createdAt:Date.now(),suspensionStrategy:e.suspensionStrategy??`wait-in-process`}}function yn(e){return e?.status===`paused`}function bn(e){return e?.status===`waiting`}async function xn(e,t,n,r,i,a,o){t.delete(i.id),n.delete(i.id),r.delete(i.id);try{await e.request(p.restorePausedGateResumeState,{execution:i,gate:a})}catch(e){console.error(`[WorkflowExecutor] Failed to restore paused gate '${o}' after resume launch failure:`,e)}}async function Sn(e,t){if(t.suspensionStrategy===`wait-in-process`)return;let{frames:n}=await e.request(p.listFrames,{executionId:t.executionId});if(n.length===0)throw Error(`[WorkflowExecutor] Missing resume frames for paused execution: ${t.executionId}`)}function Cn(e){return{executionId:e.executionId,nodeId:e.nodeId,frameId:e.frameId,timeoutMs:e.timeoutMs,openedAt:e.createdAt}}async function wn(e,t){if(t.frameId!==void 0){let{gate:n}=await e.request(p.getGateInstance,t);return bn(n)?n:null}let{gates:n}=await e.request(p.listGateInstances,{executionId:t.executionId}),r=n.filter(e=>e.nodeId===t.nodeId&&e.status===`waiting`);return r.length===1?r[0]:null}var Tn=class extends Be{static storage={drizzle:W};config;activeExecutions=new Map;executionTasks=new Map;shellAbortControllers=new Map;activeRunnerSteps=new Map;gateTimeoutScheduler;resumeDispatches=new Set;workflowAbortControllers=new Map;workflowRunner;triggerTypeRegistry;constructor(e,t,n){super(e),this.config={...ce,...t},this.workflowRunner=n,this.gateTimeoutScheduler=new mn(e,e=>this.resumePausedExecution(e))}setTriggerTypeRegistry(e){this.triggerTypeRegistry=e}getTriggerTypeRegistry(){return this.triggerTypeRegistry}async onInit(){this.registerExecutionHandlers();for(let e of dn(this.bus))this.addCleanup(e);for(let e of fn(this.bus))this.addCleanup(e);for(let e of pn(this.bus,()=>this.triggerTypeRegistry))this.addCleanup(e);await this.rehydratePausedGateTimeouts()}async onDestroy(){let e=this.buildFinalizerDeps();await Promise.allSettled([...this.activeExecutions.keys()].map(async t=>{await m(e,t,`Workflow engine shutdown`)&&(this.workflowAbortControllers.get(t)?.abort(),this.workflowAbortControllers.delete(t))}));for(let e of this.workflowAbortControllers.values())e.abort();this.workflowAbortControllers.clear(),await Promise.allSettled(this.executionTasks.values());for(let e of this.shellAbortControllers.values())e.abort();this.shellAbortControllers.clear();for(let e of this.activeRunnerSteps.values())e.hardKillTimer&&clearTimeout(e.hardKillTimer);this.activeRunnerSteps.clear(),this.gateTimeoutScheduler.dispose(),await this.workflowRunner?.dispose?.(),this.activeExecutions.clear()}buildFinalizerDeps(){return{bus:this.bus,activeExecutions:this.activeExecutions,shellAbortControllers:this.shellAbortControllers,activeRunnerSteps:this.activeRunnerSteps,cancelTimeoutMs:this.config.cancelTimeoutMs}}buildRunnerTaskDeps(e){return{workflowRunner:e,workflowAbortControllers:this.workflowAbortControllers,executionTasks:this.executionTasks,activeExecutions:this.activeExecutions,buildFinalizerDeps:()=>this.buildFinalizerDeps(),resolveWorkflowContext:e=>_n(this.config,e),config:this.config}}async resolveExecutionWorkspaceRoot(e){if(!e)return this.config.platformDefaults.cwd;let{session:t}=await this.bus.request(Fe.get,{sessionId:e});return t?.targetWorkingDirectory??this.config.platformDefaults.cwd}buildStartDeps(){return{bus:this.bus,config:this.config,activeExecutions:this.activeExecutions,executionTasks:this.executionTasks,workflowRunner:this.workflowRunner,buildRunContext:e=>vn(e,this.config),buildRunnerTaskDeps:e=>this.buildRunnerTaskDeps(e),buildFinalizerDeps:()=>this.buildFinalizerDeps(),resolveExecutionWorkspaceRoot:e=>this.resolveExecutionWorkspaceRoot(e),runExecution:e=>this.runExecution(e)}}registerExecutionHandlers(){this.registerHandler(h.start,async e=>{let{workflowId:t,input:n,config:r,parentSessionId:i,triggerPayload:a,artifactRef:o,scope:s,executionHints:c}=e.payload,l=typeof r==`object`&&r&&!Array.isArray(r)?r:{};try{let r=await xe(this.buildStartDeps(),t,{input:hn(n),config:l,parentSessionId:i,triggerPayload:a,artifactRef:o,executionHints:gn(c),scopeOverride:s});e.setResult({executionId:r})}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to start workflow: ${t}`)}}),this.registerHandler(h.runFile,async e=>{if(this.workflowRunner===void 0)throw Error(`workflow.runFile requires a workflow runner — configure a ThinWorkflowPiscinaRunner or equivalent.`);let{filePath:t,triggerPayload:n,scope:r}=e.payload;try{let i=await ue(this.buildStartDeps(),t,{triggerPayload:n,scopeOverride:r});e.setResult({executionId:i})}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to start workflow file: ${t}`)}}),this.registerHandler(h.cancel,async e=>{let{executionId:t,reason:n}=e.payload;await this.bus.emit(Le(`workflow.${t}.cancel`),{executionId:t,reason:n}).catch(e=>{console.error(`[WorkflowExecutor] Failed to emit workflow cancel for ${t}:`,e)});let r=this.workflowAbortControllers.get(t);if(r){r.abort(n??v);let i=await m(this.buildFinalizerDeps(),t,n);e.setResult({cancelled:i});return}let i=await m(this.buildFinalizerDeps(),t,n);e.setResult({cancelled:i})}),this.registerGateTimeoutHandlers(),this.addCleanup(this.bus.on(h.gate.respond,async e=>{let{executionId:t,gateId:n,frameId:r,action:i,resumeData:a,reason:o}=e.payload,s=await this.respondToPausedGate({executionId:t,gateId:n,frameId:r,action:i,resumeData:a,reason:o});e.setResult({accepted:s})},{priority:-100}))}registerGateTimeoutHandlers(){this.addCleanup(this.bus.on(h.gate.suspended,e=>{this.gateTimeoutScheduler.schedule(e.payload)})),this.addCleanup(this.bus.on(h.gate.resolved,e=>{this.gateTimeoutScheduler.clear(e.payload.executionId,e.payload.stepId,e.payload.frameId)}))}async rehydratePausedGateTimeouts(){let{gates:e}=await this.bus.request(p.listPausedGateTimeouts,{});for(let t of e)this.gateTimeoutScheduler.schedule(Cn(t))}async runExecution(e){let t=this.activeExecutions.get(e);if(!t)return;let n=new AbortController;this.workflowAbortControllers.set(e,n);try{let r;try{let i=await he({definition:t.workflow,execution:t.execution,runContext:t.runContext,bus:this.bus}),a=new le(e,t.workflow.id,t.workflow,t.execution,t.runtimeHandlers,this.bus,n.signal,void 0,i,{context:t.runContext.context,env:t.runContext.env}),o=a.buildExpressionContext();r=await Se(t.workflow.root,a,o)}catch(r){if(n.signal.aborted||t.execution.status===`cancelled`){await m(this.buildFinalizerDeps(),e,v);return}let i=r instanceof Error?r.message:String(r);await ye(this.buildFinalizerDeps(),t.execution,e,i);return}let i=this.buildFinalizerDeps();r.status===`cancelled`||n.signal.aborted||t.execution.status===`cancelled`?await m(i,e,v):r.status===`failed`?await ye(i,t.execution,e,r.error):r.status===`paused`?(t.execution.status=`paused`,await this.bus.request(p.setExecution,{execution:t.execution}),this.activeExecutions.delete(e)):await me(i,t.execution,e,t.execution.startedAt)}finally{this.workflowAbortControllers.delete(e)}}async respondToPausedGate(e){let{executionId:t,gateId:n,frameId:r,resumeData:i,reason:a}=e,{execution:o}=await this.bus.request(p.getExecution,{executionId:t});if(!yn(o))return!1;let s=await wn(this.bus,{executionId:t,nodeId:n,frameId:r});if(s===null||!be(n,s.schema,i).valid)return!1;let{runContext:c}=await this.bus.request(p.getRunContext,{executionId:t});if(c===null)throw Error(`[WorkflowExecutor] Run context not found for paused execution: ${t}`);await Sn(this.bus,c);let{accepted:l}=await this.bus.request(p.resolveWaitingGateInstance,{gate:{...s,status:e.action===`reject`?`rejected`:`resumed`,resumeData:i,...a===void 0?{}:{reason:a},resolvedAt:Date.now()}});if(!l)return!1;try{await this.resumePausedExecution(o.id)}catch(e){throw await xn(this.bus,this.activeExecutions,this.executionTasks,this.workflowAbortControllers,o,s,n),e}return this.gateTimeoutScheduler.clear(t,n,s.frameId),!0}async resumePausedExecution(e){if(!this.resumeDispatches.has(e)){this.resumeDispatches.add(e);try{await this.dispatchPausedExecutionResume(e)||this.resumeDispatches.delete(e)}catch(t){throw this.resumeDispatches.delete(e),t}}}async dispatchPausedExecutionResume(e){let{runContext:t}=await this.bus.request(p.getRunContext,{executionId:e});if(t===null)throw Error(`[WorkflowExecutor] Run context not found for paused execution: ${e}`);let n=t.definitionSnapshot??(await this.bus.request(p.get,{id:t.workflowId})).workflow??(()=>{throw Error(`[WorkflowExecutor] Workflow definition not found for paused execution: ${e}`)})(),{execution:r}=await this.bus.request(p.getExecution,{executionId:e});if(r===null)throw Error(`[WorkflowExecutor] Execution not found for paused execution: ${e}`);if(r.status!==`paused`)return!1;await Sn(this.bus,t),await this.bus.request(p.setExecution,{execution:{...r,status:`running`}}),this.activeExecutions.set(e,{execution:{...r,status:`running`},workflow:n,runContext:t,runtimeHandlers:new Map});let i=de(t,n,{resume:!0}),a=ve(this.buildStartDeps(),i).finally(()=>{this.resumeDispatches.delete(e)});return this.executionTasks.set(e,a),!0}};function En(e,t){try{return Ze(e)}catch(n){console.error(`[BusEventTriggerEvaluator] Invalid trigger.filterExpression for workflow "${t}": "${e}"`,n);return}}function Dn(e){let t=e.indexOf(`.`),n=e.indexOf(`:`),r=t===-1?n:n===-1?t:Math.min(t,n);return r===-1?e:e.slice(0,r)}function On(e){return{subject:`*`,$meta:{namespace:e,isRequest:!1}}}var kn=class{bus;cleanupFns=[];initialized=!1;triggerIndex=new Map;subscribedNamespaces=new Set;constructor(e){this.bus=e}async init(){if(!this.initialized)try{this.cleanupFns.push(this.bus.on(y.definition.created,e=>{this.indexWorkflow(e.payload)}),this.bus.on(y.definition.updated,e=>{this.removeWorkflow(e.payload.id),this.indexWorkflow(e.payload)}),this.bus.on(y.definition.deleted,e=>{this.removeWorkflow(e.payload.id)})),await this.loadExistingTriggers(),this.initialized=!0}catch(e){throw this.cleanupFns.forEach(e=>e()),this.cleanupFns.length=0,this.triggerIndex.clear(),this.subscribedNamespaces.clear(),e}}destroy(){this.initialized&&=(this.cleanupFns.forEach(e=>e()),this.cleanupFns.length=0,this.triggerIndex.clear(),this.subscribedNamespaces.clear(),!1)}getTestState(){return{initialized:this.initialized,cleanupFns:[...this.cleanupFns],subscribedNamespaces:new Set(this.subscribedNamespaces)}}async loadExistingTriggers(){let{workflows:e}=await this.bus.request(p.list,{});for(let t of e)this.indexWorkflow(t)}indexWorkflow(e){let t=e.triggers??[],n=[];for(let r of t){if(r.type!==`bus-event`)continue;let t=typeof r.filterExpression==`string`?En(r.filterExpression,e.id):void 0;typeof r.filterExpression==`string`&&t===void 0||(n.push({workflowId:e.id,subject:r.subject,filter:r.filter,compiledFilterExpr:t}),this.ensureNamespaceSubscribed(Dn(r.subject)))}n.length>0&&this.triggerIndex.set(e.id,n)}removeWorkflow(e){this.triggerIndex.delete(e)}ensureNamespaceSubscribed(e){if(this.subscribedNamespaces.has(e))return;let t=On(e),n=this.bus.on(t,e=>{if(e.isRequest)return;let t=typeof e.payload==`object`&&e.payload!==null?e.payload:{};this.handleBusEvent(e.subject,t)});this.cleanupFns.push(n),this.subscribedNamespaces.add(e)}handleBusEvent(e,t){for(let n of this.triggerIndex.values())for(let r of n)if(ke(e,r.subject)&&!(r.filter&&!Oe(t,r.filter))){if(r.compiledFilterExpr){let n;try{n=r.compiledFilterExpr.evalSync({payload:t})}catch(n){console.error(`[BusEventTriggerEvaluator] filterExpression eval failed for workflow "${r.workflowId}" on subject "${e}" payload keys: [${Object.keys(t).join(`, `)}]`,n);continue}if(!n)continue}this.bus.request(y.start,{workflowId:r.workflowId,triggerPayload:t}).catch(t=>{console.error(`[BusEventTriggerEvaluator] Failed to start workflow "${r.workflowId}" triggered by "${e}":`,t)})}}};function K(e,t,n,r,i,a,o,s){return K.fromTZ(K.tp(e,t,n,r,i,a,o),s)}K.fromTZISO=(e,t,n)=>K.fromTZ(An(e,t),n),K.fromTZ=function(e,t){let n=new Date(Date.UTC(e.y,e.m-1,e.d,e.h,e.i,e.s)),r=q(e.tz,n),i=new Date(n.getTime()-r),a=q(e.tz,i);if(a-r===0)return i;{let r=new Date(n.getTime()-a),o=q(e.tz,r);if(o-a===0||!t&&o-a>0)return r;if(t)throw Error(`Invalid date passed to fromTZ()`);return i}},K.toTZ=function(e,t){let n=e.toLocaleString(`en-US`,{timeZone:t}).replace(/[\u202f]/,` `),r=new Date(n);return{y:r.getFullYear(),m:r.getMonth()+1,d:r.getDate(),h:r.getHours(),i:r.getMinutes(),s:r.getSeconds(),tz:t}},K.tp=(e,t,n,r,i,a,o)=>({y:e,m:t,d:n,h:r,i,s:a,tz:o});function q(e,t=new Date){let n=t.toLocaleString(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).split(` `).slice(-1)[0],r=t.toLocaleString(`en-US`).replace(/[\u202f]/,` `);return Date.parse(`${r} GMT`)-Date.parse(`${r} ${n}`)}function An(e,t){let n=new Date(Date.parse(e));if(isNaN(n))throw Error(`minitz: Invalid ISO8601 passed to parser.`);let r=e.substring(9);return e.includes(`Z`)||r.includes(`-`)||r.includes(`+`)?K.tp(n.getUTCFullYear(),n.getUTCMonth()+1,n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds(),`Etc/UTC`):K.tp(n.getFullYear(),n.getMonth()+1,n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),t)}K.minitz=K;var J=32,Y=31|J,jn=[1,2,4,8,16],Mn=class{pattern;timezone;second;minute;hour;day;month;dayOfWeek;lastDayOfMonth;starDOM;starDOW;constructor(e,t){this.pattern=e,this.timezone=t,this.second=Array(60).fill(0),this.minute=Array(60).fill(0),this.hour=Array(24).fill(0),this.day=Array(31).fill(0),this.month=Array(12).fill(0),this.dayOfWeek=Array(7).fill(0),this.lastDayOfMonth=!1,this.starDOM=!1,this.starDOW=!1,this.parse()}parse(){if(!(typeof this.pattern==`string`||this.pattern instanceof String))throw TypeError(`CronPattern: Pattern has to be of type string.`);this.pattern.indexOf(`@`)>=0&&(this.pattern=this.handleNicknames(this.pattern).trim());let e=this.pattern.replace(/\s+/g,` `).split(` `);if(e.length<5||e.length>6)throw TypeError(`CronPattern: invalid configuration format ('`+this.pattern+`'), exactly five or six space separated parts are required.`);if(e.length===5&&e.unshift(`0`),e[3].indexOf(`L`)>=0&&(e[3]=e[3].replace(`L`,``),this.lastDayOfMonth=!0),e[3]==`*`&&(this.starDOM=!0),e[4].length>=3&&(e[4]=this.replaceAlphaMonths(e[4])),e[5].length>=3&&(e[5]=this.replaceAlphaDays(e[5])),e[5]==`*`&&(this.starDOW=!0),this.pattern.indexOf(`?`)>=0){let t=new Z(new Date,this.timezone).getDate(!0);e[0]=e[0].replace(`?`,t.getSeconds().toString()),e[1]=e[1].replace(`?`,t.getMinutes().toString()),e[2]=e[2].replace(`?`,t.getHours().toString()),this.starDOM||(e[3]=e[3].replace(`?`,t.getDate().toString())),e[4]=e[4].replace(`?`,(t.getMonth()+1).toString()),this.starDOW||(e[5]=e[5].replace(`?`,t.getDay().toString()))}this.throwAtIllegalCharacters(e),this.partToArray(`second`,e[0],0,1),this.partToArray(`minute`,e[1],0,1),this.partToArray(`hour`,e[2],0,1),this.partToArray(`day`,e[3],-1,1),this.partToArray(`month`,e[4],-1,1),this.partToArray(`dayOfWeek`,e[5],0,Y),this.dayOfWeek[7]&&(this.dayOfWeek[0]=this.dayOfWeek[7])}partToArray(e,t,n,r){let i=this[e],a=e===`day`&&this.lastDayOfMonth;if(t===``&&!a)throw TypeError(`CronPattern: configuration entry `+e+` (`+t+`) is empty, check for trailing spaces.`);if(t===`*`)return i.fill(r);let o=t.split(`,`);if(o.length>1)for(let t=0;t<o.length;t++)this.partToArray(e,o[t],n,r);else t.indexOf(`-`)!==-1&&t.indexOf(`/`)!==-1?this.handleRangeWithStepping(t,e,n,r):t.indexOf(`-`)===-1?t.indexOf(`/`)===-1?t!==``&&this.handleNumber(t,e,n,r):this.handleStepping(t,e,n,r):this.handleRange(t,e,n,r)}throwAtIllegalCharacters(e){for(let t=0;t<e.length;t++)if((t===5?/[^/*0-9,\-#L]+/:/[^/*0-9,-]+/).test(e[t]))throw TypeError(`CronPattern: configuration entry `+t+` (`+e[t]+`) contains illegal characters.`)}handleNumber(e,t,n,r){let i=this.extractNth(e,t),a=parseInt(i[0],10)+n;if(isNaN(a))throw TypeError(`CronPattern: `+t+` is not a number: '`+e+`'`);this.setPart(t,a,i[1]||r)}setPart(e,t,n){if(!Object.prototype.hasOwnProperty.call(this,e))throw TypeError(`CronPattern: Invalid part specified: `+e);if(e===`dayOfWeek`){if(t===7&&(t=0),t<0||t>6)throw RangeError(`CronPattern: Invalid value for dayOfWeek: `+t);this.setNthWeekdayOfMonth(t,n);return}if(e===`second`||e===`minute`){if(t<0||t>=60)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`hour`){if(t<0||t>=24)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`day`){if(t<0||t>=31)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`month`&&(t<0||t>=12))throw RangeError(`CronPattern: Invalid value for `+e+`: `+t);this[e][t]=n}handleRangeWithStepping(e,t,n,r){let i=this.extractNth(e,t),a=i[0].match(/^(\d+)-(\d+)\/(\d+)$/);if(a===null)throw TypeError(`CronPattern: Syntax error, illegal range with stepping: '`+e+`'`);let[,o,s,c]=a,l=parseInt(o,10)+n,u=parseInt(s,10)+n,d=parseInt(c,10);if(isNaN(l))throw TypeError(`CronPattern: Syntax error, illegal lower range (NaN)`);if(isNaN(u))throw TypeError(`CronPattern: Syntax error, illegal upper range (NaN)`);if(isNaN(d))throw TypeError(`CronPattern: Syntax error, illegal stepping: (NaN)`);if(d===0)throw TypeError(`CronPattern: Syntax error, illegal stepping: 0`);if(d>this[t].length)throw TypeError(`CronPattern: Syntax error, steps cannot be greater than maximum value of part (`+this[t].length+`)`);if(l>u)throw TypeError(`CronPattern: From value is larger than to value: '`+e+`'`);for(let e=l;e<=u;e+=d)this.setPart(t,e,i[1]||r)}extractNth(e,t){let n=e,r;if(n.includes(`#`)){if(t!==`dayOfWeek`)throw Error(`CronPattern: nth (#) only allowed in day-of-week field`);r=n.split(`#`)[1],n=n.split(`#`)[0]}return[n,r]}handleRange(e,t,n,r){let i=this.extractNth(e,t),a=i[0].split(`-`);if(a.length!==2)throw TypeError(`CronPattern: Syntax error, illegal range: '`+e+`'`);let o=parseInt(a[0],10)+n,s=parseInt(a[1],10)+n;if(isNaN(o))throw TypeError(`CronPattern: Syntax error, illegal lower range (NaN)`);if(isNaN(s))throw TypeError(`CronPattern: Syntax error, illegal upper range (NaN)`);if(o>s)throw TypeError(`CronPattern: From value is larger than to value: '`+e+`'`);for(let e=o;e<=s;e++)this.setPart(t,e,i[1]||r)}handleStepping(e,t,n,r){let i=this.extractNth(e,t),a=i[0].split(`/`);if(a.length!==2)throw TypeError(`CronPattern: Syntax error, illegal stepping: '`+e+`'`);a[0]===``&&(a[0]=`*`);let o=0;a[0]!==`*`&&(o=parseInt(a[0],10)+n);let s=parseInt(a[1],10);if(isNaN(s))throw TypeError(`CronPattern: Syntax error, illegal stepping: (NaN)`);if(s===0)throw TypeError(`CronPattern: Syntax error, illegal stepping: 0`);if(s>this[t].length)throw TypeError(`CronPattern: Syntax error, max steps for part is (`+this[t].length+`)`);for(let e=o;e<this[t].length;e+=s)this.setPart(t,e,i[1]||r)}replaceAlphaDays(e){return e.replace(/-sun/gi,`-7`).replace(/sun/gi,`0`).replace(/mon/gi,`1`).replace(/tue/gi,`2`).replace(/wed/gi,`3`).replace(/thu/gi,`4`).replace(/fri/gi,`5`).replace(/sat/gi,`6`)}replaceAlphaMonths(e){return e.replace(/jan/gi,`1`).replace(/feb/gi,`2`).replace(/mar/gi,`3`).replace(/apr/gi,`4`).replace(/may/gi,`5`).replace(/jun/gi,`6`).replace(/jul/gi,`7`).replace(/aug/gi,`8`).replace(/sep/gi,`9`).replace(/oct/gi,`10`).replace(/nov/gi,`11`).replace(/dec/gi,`12`)}handleNicknames(e){let t=e.trim().toLowerCase();return t===`@yearly`||t===`@annually`?`0 0 1 1 *`:t===`@monthly`?`0 0 1 * *`:t===`@weekly`?`0 0 * * 0`:t===`@daily`?`0 0 * * *`:t===`@hourly`?`0 * * * *`:e}setNthWeekdayOfMonth(e,t){if(typeof t!=`number`&&t===`L`)this.dayOfWeek[e]=this.dayOfWeek[e]|J;else if(t===Y)this.dayOfWeek[e]=Y;else if(t<6&&t>0)this.dayOfWeek[e]=this.dayOfWeek[e]|jn[t-1];else throw TypeError(`CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${t}, Type: ${typeof t}`)}},Nn=[31,28,31,30,31,30,31,31,30,31,30,31],X=[[`month`,`year`,0],[`day`,`month`,-1],[`hour`,`day`,0],[`minute`,`hour`,0],[`second`,`minute`,0]],Z=class e{tz;ms;second;minute;hour;day;month;year;constructor(t,n){if(this.tz=n,t&&t instanceof Date)if(!isNaN(t))this.fromDate(t);else throw TypeError(`CronDate: Invalid date passed to CronDate constructor`);else if(t===void 0)this.fromDate(new Date);else if(t&&typeof t==`string`)this.fromString(t);else if(t instanceof e)this.fromCronDate(t);else throw TypeError(`CronDate: Invalid type (`+typeof t+`) passed to CronDate constructor`)}isNthWeekdayOfMonth(e,t,n,r){let i=new Date(Date.UTC(e,t,n)).getUTCDay(),a=0;for(let r=1;r<=n;r++)new Date(Date.UTC(e,t,r)).getUTCDay()===i&&a++;if(r&Y&&jn[a-1]&r)return!0;if(r&J){let r=new Date(Date.UTC(e,t+1,0)).getUTCDate();for(let a=n+1;a<=r;a++)if(new Date(Date.UTC(e,t,a)).getUTCDay()===i)return!1;return!0}return!1}fromDate(e){if(this.tz!==void 0)if(typeof this.tz==`number`)this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes()+this.tz,this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),this.apply();else{let t=K.toTZ(e,this.tz);this.ms=e.getMilliseconds(),this.second=t.s,this.minute=t.i,this.hour=t.h,this.day=t.d,this.month=t.m-1,this.year=t.y}else this.ms=e.getMilliseconds(),this.second=e.getSeconds(),this.minute=e.getMinutes(),this.hour=e.getHours(),this.day=e.getDate(),this.month=e.getMonth(),this.year=e.getFullYear()}fromCronDate(e){this.tz=e.tz,this.year=e.year,this.month=e.month,this.day=e.day,this.hour=e.hour,this.minute=e.minute,this.second=e.second,this.ms=e.ms}apply(){if(this.month>11||this.day>Nn[this.month]||this.hour>59||this.minute>59||this.second>59||this.hour<0||this.minute<0||this.second<0){let e=new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms));return this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes(),this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),!0}else return!1}fromString(e){if(typeof this.tz==`number`){let t=K.fromTZISO(e);this.ms=t.getUTCMilliseconds(),this.second=t.getUTCSeconds(),this.minute=t.getUTCMinutes(),this.hour=t.getUTCHours(),this.day=t.getUTCDate(),this.month=t.getUTCMonth(),this.year=t.getUTCFullYear(),this.apply()}else return this.fromDate(K.fromTZISO(e,this.tz))}findNext(e,t,n,r){let i=this[t],a;n.lastDayOfMonth&&(a=this.month===1?new Date(Date.UTC(this.year,this.month+1,0,0,0,0,0)).getUTCDate():Nn[this.month]);let o=!n.starDOW&&t==`day`?new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay():void 0;for(let s=this[t]+r;s<n[t].length;s++){let c=n[t][s];if(t===`day`&&n.lastDayOfMonth&&s-r==a&&(c=1),t===`day`&&!n.starDOW){let t=n.dayOfWeek[(o+(s-r-1))%7];if(t&&t&Y)t=+!!this.isNthWeekdayOfMonth(this.year,this.month,s-r,t);else if(t)throw Error(`CronDate: Invalid value for dayOfWeek encountered. ${t}`);e.legacyMode&&!n.starDOM?c||=t:c&&=t}if(c)return this[t]=s-r,i===this[t]?1:2}return 3}recurse(e,t,n){let r=this.findNext(t,X[n][0],e,X[n][2]);if(r>1){let i=n+1;for(;i<X.length;)this[X[i][0]]=-X[i][2],i++;if(r===3)return this[X[n][1]]++,this[X[n][0]]=-X[n][2],this.apply(),this.recurse(e,t,0);if(this.apply())return this.recurse(e,t,n-1)}return n+=1,n>=X.length?this:this.year>=3e3?null:this.recurse(e,t,n)}increment(e,t,n){return this.second+=t.interval!==void 0&&t.interval>1&&n?t.interval:1,this.ms=0,this.apply(),this.recurse(e,t,0)}getDate(e){return e||this.tz===void 0?new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms):typeof this.tz==`number`?new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute-this.tz,this.second,this.ms)):K.fromTZ(K.tp(this.year,this.month+1,this.day,this.hour,this.minute,this.second,this.tz),!1)}getTime(){return this.getDate(!1).getTime()}};function Pn(e){if(e===void 0&&(e={}),delete e.name,e.legacyMode=e.legacyMode===void 0?!0:e.legacyMode,e.paused=e.paused===void 0?!1:e.paused,e.maxRuns=e.maxRuns===void 0?1/0:e.maxRuns,e.catch=e.catch===void 0?!1:e.catch,e.interval=e.interval===void 0?0:parseInt(e.interval.toString(),10),e.utcOffset=e.utcOffset===void 0?void 0:parseInt(e.utcOffset.toString(),10),e.unref=e.unref===void 0?!1:e.unref,e.startAt&&=new Z(e.startAt,e.timezone),e.stopAt&&=new Z(e.stopAt,e.timezone),e.interval!==null){if(isNaN(e.interval))throw Error(`CronOptions: Supplied value for interval is not a number`);if(e.interval<0)throw Error(`CronOptions: Supplied value for interval can not be negative`)}if(e.utcOffset!==void 0){if(isNaN(e.utcOffset))throw Error(`CronOptions: Invalid value passed for utcOffset, should be number representing minutes offset from UTC.`);if(e.utcOffset<-870||e.utcOffset>870)throw Error(`CronOptions: utcOffset out of bounds.`);if(e.utcOffset!==void 0&&e.timezone)throw Error(`CronOptions: Combining 'utcOffset' with 'timezone' is not allowed.`)}if(e.unref!==!0&&e.unref!==!1)throw Error(`CronOptions: Unref should be either true, false or undefined(false).`);return e}function Q(e){return Object.prototype.toString.call(e)===`[object Function]`||typeof e==`function`||e instanceof Function}function Fn(e){return Q(e)}function In(e){typeof Deno<`u`&&typeof Deno.unrefTimer<`u`?Deno.unrefTimer(e):e&&typeof e.unref<`u`&&e.unref()}var Ln=30*1e3,$=[],Rn=class{name;options;_states;fn;constructor(e,t,n){let r,i;if(Q(t))i=t;else if(typeof t==`object`)r=t;else if(t!==void 0)throw Error(`Cron: Invalid argument passed for optionsIn. Should be one of function, or object (options).`);if(Q(n))i=n;else if(typeof n==`object`)r=n;else if(n!==void 0)throw Error(`Cron: Invalid argument passed for funcIn. Should be one of function, or object (options).`);if(this.name=r?.name,this.options=Pn(r),this._states={kill:!1,blocking:!1,previousRun:void 0,currentRun:void 0,once:void 0,currentTimeout:void 0,maxRuns:r?r.maxRuns:void 0,paused:r?r.paused:!1,pattern:new Mn(`* * * * *`)},e&&(e instanceof Date||typeof e==`string`&&e.indexOf(`:`)>0)?this._states.once=new Z(e,this.options.timezone||this.options.utcOffset):this._states.pattern=new Mn(e,this.options.timezone),this.name){if($.find(e=>e.name===this.name))throw Error(`Cron: Tried to initialize new named job '`+this.name+`', but name already taken.`);$.push(this)}return i!==void 0&&Fn(i)&&(this.fn=i,this.schedule()),this}nextRun(e){let t=this._next(e);return t?t.getDate(!1):null}nextRuns(e,t){this._states.maxRuns!==void 0&&e>this._states.maxRuns&&(e=this._states.maxRuns);let n=[],r=t||this._states.currentRun||void 0;for(;e--&&(r=this.nextRun(r));)n.push(r);return n}getPattern(){return this._states.pattern?this._states.pattern.pattern:void 0}isRunning(){let e=this.nextRun(this._states.currentRun),t=!this._states.paused,n=this.fn!==void 0,r=!this._states.kill;return t&&n&&r&&e!==null}isStopped(){return this._states.kill}isBusy(){return this._states.blocking}currentRun(){return this._states.currentRun?this._states.currentRun.getDate():null}previousRun(){return this._states.previousRun?this._states.previousRun.getDate():null}msToNext(e){let t=this._next(e);return t?e instanceof Z||e instanceof Date?t.getTime()-e.getTime():t.getTime()-new Z(e).getTime():null}stop(){this._states.kill=!0,this._states.currentTimeout&&clearTimeout(this._states.currentTimeout);let e=$.indexOf(this);e>=0&&$.splice(e,1)}pause(){return this._states.paused=!0,!this._states.kill}resume(){return this._states.paused=!1,!this._states.kill}schedule(e){if(e&&this.fn)throw Error(`Cron: It is not allowed to schedule two functions using the same Croner instance.`);e&&(this.fn=e);let t=this.msToNext(),n=this.nextRun(this._states.currentRun);return t==null||isNaN(t)||n===null?this:(t>Ln&&(t=Ln),this._states.currentTimeout=setTimeout(()=>this._checkTrigger(n),t),this._states.currentTimeout&&this.options.unref&&In(this._states.currentTimeout),this)}async _trigger(e){if(this._states.blocking=!0,this._states.currentRun=new Z(void 0,this.options.timezone||this.options.utcOffset),this.options.catch)try{this.fn!==void 0&&await this.fn(this,this.options.context)}catch(e){Q(this.options.catch)&&this.options.catch(e,this)}else this.fn!==void 0&&await this.fn(this,this.options.context);this._states.previousRun=new Z(e,this.options.timezone||this.options.utcOffset),this._states.blocking=!1}async trigger(){await this._trigger()}runsLeft(){return this._states.maxRuns}_checkTrigger(e){let t=new Date,n=!this._states.paused&&t.getTime()>=e.getTime(),r=this._states.blocking&&this.options.protect;n&&!r?(this._states.maxRuns!==void 0&&this._states.maxRuns--,this._trigger()):n&&r&&Q(this.options.protect)&&setTimeout(()=>this.options.protect(this),0),this.schedule()}_next(e){let t=!!(e||this._states.currentRun),n=!1;!e&&this.options.startAt&&this.options.interval&&([e,t]=this._calculatePreviousRun(e,t),n=!e),e=new Z(e,this.options.timezone||this.options.utcOffset),this.options.startAt&&e&&e.getTime()<this.options.startAt.getTime()&&(e=this.options.startAt);let r=this._states.once||new Z(e,this.options.timezone||this.options.utcOffset);return!n&&r!==this._states.once&&(r=r.increment(this._states.pattern,this.options,t)),this._states.once&&this._states.once.getTime()<=e.getTime()||r===null||this._states.maxRuns!==void 0&&this._states.maxRuns<=0||this._states.kill||this.options.stopAt&&r.getTime()>=this.options.stopAt.getTime()?null:r}_calculatePreviousRun(e,t){let n=new Z(void 0,this.options.timezone||this.options.utcOffset),r=e;if(this.options.startAt.getTime()<=n.getTime()){r=this.options.startAt;let e=r.getTime()+this.options.interval*1e3;for(;e<=n.getTime();)r=new Z(r,this.options.timezone||this.options.utcOffset).increment(this._states.pattern,this.options,!0),e=r.getTime()+this.options.interval*1e3;t=!0}return r===null&&(r=void 0),[r,t]}};function zn(e,t){return`${e}:${t}`}function Bn(e){return e??`UTC`}var Vn=class{bus;cleanupFns=[];initialized=!1;jobs=new Map;constructor(e){this.bus=e}async init(){if(!this.initialized)try{this.cleanupFns.push(this.bus.on(y.definition.created,e=>{this.scheduleWorkflow(e.payload)}),this.bus.on(y.definition.updated,e=>{this.unscheduleWorkflow(e.payload.id),this.scheduleWorkflow(e.payload)}),this.bus.on(y.definition.deleted,e=>{this.unscheduleWorkflow(e.payload.id)})),await this.loadExistingTriggers(),this.initialized=!0}catch(e){throw this.cleanupFns.forEach(e=>e()),this.cleanupFns.length=0,this.stopAllJobs(),e}}destroy(){this.initialized&&=(this.cleanupFns.forEach(e=>e()),this.cleanupFns.length=0,this.stopAllJobs(),!1)}activeJobCount(){return this.jobs.size}async loadExistingTriggers(){let{workflows:e}=await this.bus.request(p.list,{});for(let t of e)this.scheduleWorkflow(t)}scheduleWorkflow(e){if(e.scope.type===`global`)return;let t=e.triggers??[];for(let n=0;n<t.length;n++){let r=t[n];if(r.type!==`cron`)continue;let i=zn(e.id,n);this.stopJob(i);try{let t=Bn(r.timezone),a=new Rn(r.schedule,{timezone:t},()=>{this.fireTrigger(e.id,n)});this.jobs.set(i,{workflowId:e.id,triggerIndex:n,job:a})}catch(t){console.warn(`[CronTriggerEvaluator] Skipping invalid cron trigger key="${i}" workflowId="${e.id}" triggerIndex=${n} schedule="${r.schedule}" timezone="${r.timezone??`UTC`}"`,t)}}}unscheduleWorkflow(e){for(let[t,n]of this.jobs)n.workflowId===e&&(n.job.stop(),this.jobs.delete(t))}stopJob(e){let t=this.jobs.get(e);t&&(t.job.stop(),this.jobs.delete(e))}stopAllJobs(){for(let e of this.jobs.values())e.job.stop();this.jobs.clear()}fireTrigger(e,t){this.bus.request(y.start,{workflowId:e,triggerPayload:{firedAt:Date.now(),triggerIndex:t}}).catch(n=>{console.error(`[CronTriggerEvaluator] Failed to start workflow "${e}" for cron trigger index ${t}:`,n)})}},Hn=class extends Be{workflowExecutor;busEventTriggerEvaluator;cronTriggerEvaluator;constructor(e,t){super(e),this.workflowExecutor=new Tn(e,t?.executorConfig,t?.workflowRunner),this.busEventTriggerEvaluator=new kn(e),this.cronTriggerEvaluator=new Vn(e)}get executor(){return this.workflowExecutor}get cronTriggers(){return this.cronTriggerEvaluator}setTriggerTypeRegistry(e){this.workflowExecutor.setTriggerTypeRegistry(e)}getTriggerTypeRegistry(){return this.workflowExecutor.getTriggerTypeRegistry()}async onInit(){this.addCleanup(()=>this.destroyOwnedServices()),await this.workflowExecutor.init(),await this.busEventTriggerEvaluator.init(),await this.cronTriggerEvaluator.init()}async destroyOwnedServices(){let e=[];for(let t of[()=>this.cronTriggerEvaluator.destroy(),()=>this.busEventTriggerEvaluator.destroy(),()=>this.workflowExecutor.destroy()])try{await t()}catch(t){e.push(t)}if(e.length===1)throw e[0];if(e.length>1)throw AggregateError(e,`Workflow engine service teardown failed`)}};const Un=ze(`makaio.workflow-engine`);function Wn(e){return{name:Un.name,displayName:`Workflow Engine`,version:`0.1.0`,dependencies:[Re($e.name)],critical:!0,namespaces:[Ie,Ee],storage:{registerHandlers:Ue(W)},create:t=>new Hn(t.bus,e)}}const Gn=Wn();export{Tn as a,jt as c,Hn as i,Nt as l,Wn as n,W as o,Gn as r,Mt as s,Un as t};
package/dist/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@makaio/framework",
3
- "version": "1.0.0-dev-1781397017668",
3
+ "version": "1.0.0-dev-1781443723575",
4
4
  "type": "module"
5
5
  }