@makaio/framework 1.0.0-dev-1782480236258 → 1.0.0-dev-1783355411417

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 (154) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/adapter-BRxCc72E.mjs +1 -0
  3. package/dist/adapters/index.d.mts +11 -2
  4. package/dist/adapters/index.mjs +1 -1
  5. package/dist/adapters/node.d.mts +1 -1
  6. package/dist/{base-orchestrator-Cw0vpNgB.d.mts → base-orchestrator-BNysGvaM.d.mts} +70 -2
  7. package/dist/bus/index.d.mts +39 -1
  8. package/dist/bus/index.mjs +1 -1
  9. package/dist/bus-D-ioC0DE.mjs +1 -0
  10. package/dist/bus-rgUFuO2a.mjs +2 -0
  11. package/dist/{client-BcfR-LJC.mjs → client-BgUjVbXX.mjs} +1 -1
  12. package/dist/contracts/adapter/index.d.mts +1 -1
  13. package/dist/contracts/adapter/index.mjs +1 -1
  14. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  15. package/dist/contracts/artifact/index.d.mts +1 -1
  16. package/dist/contracts/client/index.d.mts +1 -1
  17. package/dist/contracts/client/index.mjs +1 -1
  18. package/dist/contracts/config/index.d.mts +6 -6
  19. package/dist/contracts/extension/index.d.mts +2 -2
  20. package/dist/contracts/facet/index.d.mts +1 -1
  21. package/dist/contracts/index.d.mts +14 -14
  22. package/dist/contracts/index.mjs +1 -1
  23. package/dist/contracts/materialization/index.d.mts +3 -3
  24. package/dist/contracts/provider/index.d.mts +1 -1
  25. package/dist/contracts/session/index.d.mts +3 -3
  26. package/dist/contracts/session/index.mjs +1 -1
  27. package/dist/contracts/workflow/index.d.mts +2 -2
  28. package/dist/contracts/workflow/index.mjs +1 -1
  29. package/dist/{definition-DePb3ke-.d.mts → definition-b9jyJqPD.d.mts} +1 -1
  30. package/dist/drizzle/0021_m_mr8e1j84.sql +3 -0
  31. package/dist/drizzle/0022_m_mr8i4ky3.sql +43 -0
  32. package/dist/drizzle/meta/_journal.json +14 -0
  33. package/dist/{handler-2bPhRn0u.mjs → handler-BFNvtv5t.mjs} +1 -1
  34. package/dist/handlers-v47Gbsr1.mjs +57 -0
  35. package/dist/hooks/index.d.mts +8 -0
  36. package/dist/hooks/index.mjs +1 -1
  37. package/dist/{index-BhOLtp0B.d.mts → index-31vR1sxk.d.mts} +47 -29
  38. package/dist/{index-Clqt7Nm3.d.mts → index-3J0HZlPH.d.mts} +372 -87
  39. package/dist/{index-D4gn93gL.d.mts → index-3X0368CL.d.mts} +12 -12
  40. package/dist/{index-gAFwNiJT.d.mts → index-BYfSAJRC.d.mts} +64 -0
  41. package/dist/{index-B1XsbrAr.d.mts → index-BwGfdbI0.d.mts} +6 -6
  42. package/dist/{index-D8ScOpus.d.mts → index-C5C1tk9f.d.mts} +222 -9
  43. package/dist/{index-Cvjnj7Zh.d.mts → index-C6Ys8pxt.d.mts} +5 -5
  44. package/dist/{index-mU2lnU7O.d.mts → index-CqCe7Phc.d.mts} +6 -6
  45. package/dist/{index-Cyi7y_aG.d.mts → index-D6aAzr32.d.mts} +20 -20
  46. package/dist/{index-wfSedMR9.d.mts → index-D7rWAEY0.d.mts} +2 -1
  47. package/dist/{index-CYHWOXUm.d.mts → index-DEzdNQum.d.mts} +1 -1
  48. package/dist/{index-DsLpP5ek.d.mts → index-DQYj8-53.d.mts} +1 -1
  49. package/dist/{index-0WhPbKnH.d.mts → index-DV4nRk0h.d.mts} +21 -21
  50. package/dist/{index-C6SLILCZ.d.mts → index-DvHYpi-J.d.mts} +378 -176
  51. package/dist/{index-BMbmoarE.d.mts → index-O08Q2ikz.d.mts} +8 -8
  52. package/dist/kernel/extension/index.d.mts +1 -1
  53. package/dist/kernel/index.d.mts +2 -2
  54. package/dist/kernel/observability/index.d.mts +1 -1
  55. package/dist/{lib-Ba55od_d.mjs → lib-BOmKyjWD.mjs} +1 -1
  56. package/dist/{lib-CM_BUxN8.mjs → lib-DLZYp5z3.mjs} +1 -1
  57. package/dist/{loop-gate-handlers-BLoGCWMQ.mjs → loop-gate-handlers-Bjmat-K3.mjs} +1 -1
  58. package/dist/{namespace-CGxFYDlK.d.mts → namespace-B4cV_pk3.d.mts} +32 -32
  59. package/dist/{namespace-LUNf8zo5.d.mts → namespace-D1_9WVCo.d.mts} +157 -0
  60. package/dist/{namespace-BsYKEMd8.d.mts → namespace-DAj_riOn.d.mts} +138 -0
  61. package/dist/{namespace-BeMGmLrp.d.mts → namespace-DhDY0juT.d.mts} +75 -9
  62. package/dist/{namespace-Bmi5bjm4.d.mts → namespace-DmqoDDRD.d.mts} +156 -20
  63. package/dist/namespace-dFBD2ZmS.mjs +1 -0
  64. package/dist/node/transports/index.d.mts +8 -0
  65. package/dist/node/transports/index.mjs +2 -2
  66. package/dist/orchestrator-shared-ChygCvR1.mjs +1 -0
  67. package/dist/{orchestrator-shared-ChOdIgh6.d.mts → orchestrator-shared-DFLb1otg.d.mts} +9 -3
  68. package/dist/package-BmRhhi-3.mjs +1 -0
  69. package/dist/package.json +1 -1
  70. package/dist/runtime-node/index.mjs +1 -1
  71. package/dist/schema-7aKBGB7S.mjs +1 -0
  72. package/dist/{schema-DHlTAy0N.mjs → schema-CHp6I33k.mjs} +1 -1
  73. package/dist/{schema-Bf_ZNjif.d.mts → schema-DLNBajAV.d.mts} +23 -1
  74. package/dist/{schemas-D512XweP.d.mts → schemas-DMMWmWjq.d.mts} +4 -4
  75. package/dist/schemas-DZGnr9Tl.mjs +1 -0
  76. package/dist/{schemas-C6TVJ80V2.d.mts → schemas-DuuVuhHX2.d.mts} +2 -2
  77. package/dist/schemas-ftgVeWIG.mjs +1 -0
  78. package/dist/scoped-bus-CZId-Df8.mjs +1 -0
  79. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  80. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  81. package/dist/services/execution-target/index.d.mts +1 -1
  82. package/dist/services/filesystem/namespace.d.mts +6 -6
  83. package/dist/services/filesystem/schemas.d.mts +3 -3
  84. package/dist/services/harness/index.d.mts +1 -1
  85. package/dist/services/harness/index.mjs +1 -1
  86. package/dist/services/index.d.mts +103 -34
  87. package/dist/services/index.mjs +1 -1
  88. package/dist/services/log-import/browser.d.mts +2 -2
  89. package/dist/services/log-import/index.d.mts +73 -6
  90. package/dist/services/log-import/index.mjs +2 -2
  91. package/dist/services/log-import/log-import.d.mts +1 -1
  92. package/dist/services/log-import/log-import.mjs +1 -1
  93. package/dist/services/log-import/namespace.d.mts +56 -2
  94. package/dist/services/log-import/namespace.mjs +1 -1
  95. package/dist/services/log-import/schemas.d.mts +45 -1
  96. package/dist/services/log-import/schemas.mjs +1 -1
  97. package/dist/services/session/handlers/index.d.mts +1 -1
  98. package/dist/services/session/handlers/index.mjs +1 -1
  99. package/dist/services/session/index.d.mts +8 -8
  100. package/dist/services/session/index.mjs +1 -1
  101. package/dist/services/session/messages/namespace.mjs +1 -1
  102. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  103. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  104. package/dist/services/session/session-events/namespace.d.mts +1 -1
  105. package/dist/services/session/session-events/namespace.mjs +1 -1
  106. package/dist/services/session/storage/namespace.d.mts +1 -1
  107. package/dist/services/session/storage/schema.d.mts +1 -1
  108. package/dist/services/session/storage/schema.mjs +1 -1
  109. package/dist/services/session/testing/index.mjs +9 -4
  110. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  111. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  112. package/dist/services/session/turns/namespace.d.mts +1 -1
  113. package/dist/services/session/turns/namespace.mjs +1 -1
  114. package/dist/services/settings/namespace.d.mts +5 -5
  115. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  116. package/dist/services/subagent-template/index.d.mts +1 -1
  117. package/dist/services/subagent-template/schemas.d.mts +1 -1
  118. package/dist/services/tool-approval/index.mjs +1 -1
  119. package/dist/services/tools/index.mjs +1 -1
  120. package/dist/services/turn/index.d.mts +1 -1
  121. package/dist/services/turn/namespace.d.mts +1 -1
  122. package/dist/services/turn/schemas.d.mts +89 -0
  123. package/dist/services/turn/schemas.mjs +1 -1
  124. package/dist/session-CKWfn3oc.mjs +1 -0
  125. package/dist/session-DCbJwYEU.mjs +69 -0
  126. package/dist/{session-lineage-5-wRBzuC.d.mts → session-lineage-DR-9DU-U.d.mts} +1 -1
  127. package/dist/storage/drizzle/index.d.mts +1 -1
  128. package/dist/storage/drizzle/index.mjs +1 -1
  129. package/dist/{tool-approval-service-DEQiipxj.mjs → tool-approval-service-MU_DmJsf.mjs} +1 -1
  130. package/dist/tools-BrNm-een.mjs +1 -0
  131. package/dist/{transition-CBjccCMw.d.mts → transition-Dq41YCkc.d.mts} +1 -1
  132. package/dist/{types-InWSdi-V.d.mts → types-BMlzmWp6.d.mts} +11 -1
  133. package/dist/{types-8rhArs_K.d.mts → types-C76EP81O.d.mts} +136 -93
  134. package/dist/ui-components/index.mjs +1 -1
  135. package/dist/{workflow-BqH6ar-D.mjs → workflow-C1z7I5CI.mjs} +1 -1
  136. package/dist/workflow-engine/index.d.mts +12 -12
  137. package/dist/workflow-engine/index.mjs +1 -1
  138. package/dist/workflow-engine/package.mjs +1 -1
  139. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  140. package/package.json +1 -1
  141. package/dist/adapter-DaQqmKOJ.mjs +0 -1
  142. package/dist/bus-BgodbPl9.mjs +0 -2
  143. package/dist/bus-HgaFcCZ1.mjs +0 -1
  144. package/dist/handlers-BAycjV02.mjs +0 -41
  145. package/dist/namespace-C-piH3w4.mjs +0 -1
  146. package/dist/orchestrator-shared-Cxk3x8Vs.mjs +0 -1
  147. package/dist/package-B1AXe-oz.mjs +0 -1
  148. package/dist/schema-D6WAI8OL.mjs +0 -1
  149. package/dist/schemas-ArqQTC0Q.mjs +0 -1
  150. package/dist/schemas-uID59wR8.mjs +0 -1
  151. package/dist/scoped-bus-H3xMYR0E.mjs +0 -1
  152. package/dist/session-0nWT4st6.mjs +0 -39
  153. package/dist/session-DH-ja8Ka.mjs +0 -1
  154. package/dist/tools-DFOsOboy.mjs +0 -1
@@ -19,8 +19,8 @@ import { ExtensionWarningEntry, ExtensionWarningEntrySchema } from "@makaio/fram
19
19
  */
20
20
  declare const ComponentStateSchema: z.ZodEnum<{
21
21
  failed: "failed";
22
- stopped: "stopped";
23
22
  discovered: "discovered";
23
+ stopped: "stopped";
24
24
  active: "active";
25
25
  skipped: "skipped";
26
26
  initializing: "initializing";
@@ -48,8 +48,8 @@ declare const ComponentInfoSchema: z.ZodObject<{
48
48
  displayName: z.ZodString;
49
49
  state: z.ZodEnum<{
50
50
  failed: "failed";
51
- stopped: "stopped";
52
51
  discovered: "discovered";
52
+ stopped: "stopped";
53
53
  active: "active";
54
54
  skipped: "skipped";
55
55
  initializing: "initializing";
@@ -69,8 +69,8 @@ declare const ServiceInfoSchema: z.ZodObject<{
69
69
  displayName: z.ZodString;
70
70
  state: z.ZodEnum<{
71
71
  failed: "failed";
72
- stopped: "stopped";
73
72
  discovered: "discovered";
73
+ stopped: "stopped";
74
74
  active: "active";
75
75
  skipped: "skipped";
76
76
  initializing: "initializing";
@@ -91,8 +91,8 @@ declare const ExtensionInfoSchema: z.ZodObject<{
91
91
  displayName: z.ZodString;
92
92
  state: z.ZodEnum<{
93
93
  failed: "failed";
94
- stopped: "stopped";
95
94
  discovered: "discovered";
95
+ stopped: "stopped";
96
96
  active: "active";
97
97
  skipped: "skipped";
98
98
  initializing: "initializing";
@@ -139,16 +139,16 @@ declare const ExtensionNamespace: _$_makaio_core0.BusNamespaceDefinition<"kernel
139
139
  displayName: z.ZodString;
140
140
  from: z.ZodEnum<{
141
141
  failed: "failed";
142
- stopped: "stopped";
143
142
  discovered: "discovered";
143
+ stopped: "stopped";
144
144
  active: "active";
145
145
  skipped: "skipped";
146
146
  initializing: "initializing";
147
147
  }>;
148
148
  to: z.ZodEnum<{
149
149
  failed: "failed";
150
- stopped: "stopped";
151
150
  discovered: "discovered";
151
+ stopped: "stopped";
152
152
  active: "active";
153
153
  skipped: "skipped";
154
154
  initializing: "initializing";
@@ -182,8 +182,8 @@ declare const ExtensionNamespace: _$_makaio_core0.BusNamespaceDefinition<"kernel
182
182
  displayName: z.ZodString;
183
183
  state: z.ZodEnum<{
184
184
  failed: "failed";
185
- stopped: "stopped";
186
185
  discovered: "discovered";
186
+ stopped: "stopped";
187
187
  active: "active";
188
188
  skipped: "skipped";
189
189
  initializing: "initializing";
@@ -220,8 +220,8 @@ declare const ExtensionNamespace: _$_makaio_core0.BusNamespaceDefinition<"kernel
220
220
  displayName: z.ZodString;
221
221
  state: z.ZodEnum<{
222
222
  failed: "failed";
223
- stopped: "stopped";
224
223
  discovered: "discovered";
224
+ stopped: "stopped";
225
225
  active: "active";
226
226
  skipped: "skipped";
227
227
  initializing: "initializing";
@@ -594,16 +594,16 @@ declare const ExtensionSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fla
594
594
  displayName: z.ZodString;
595
595
  from: z.ZodEnum<{
596
596
  failed: "failed";
597
- stopped: "stopped";
598
597
  discovered: "discovered";
598
+ stopped: "stopped";
599
599
  active: "active";
600
600
  skipped: "skipped";
601
601
  initializing: "initializing";
602
602
  }>;
603
603
  to: z.ZodEnum<{
604
604
  failed: "failed";
605
- stopped: "stopped";
606
605
  discovered: "discovered";
606
+ stopped: "stopped";
607
607
  active: "active";
608
608
  skipped: "skipped";
609
609
  initializing: "initializing";
@@ -637,8 +637,8 @@ declare const ExtensionSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fla
637
637
  displayName: z.ZodString;
638
638
  state: z.ZodEnum<{
639
639
  failed: "failed";
640
- stopped: "stopped";
641
640
  discovered: "discovered";
641
+ stopped: "stopped";
642
642
  active: "active";
643
643
  skipped: "skipped";
644
644
  initializing: "initializing";
@@ -675,8 +675,8 @@ declare const ExtensionSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fla
675
675
  displayName: z.ZodString;
676
676
  state: z.ZodEnum<{
677
677
  failed: "failed";
678
- stopped: "stopped";
679
678
  discovered: "discovered";
679
+ stopped: "stopped";
680
680
  active: "active";
681
681
  skipped: "skipped";
682
682
  initializing: "initializing";
@@ -201,6 +201,16 @@ type TurnCompleteCallback = (turn: Turn$1, result: TurnCompletionResult) => Prom
201
201
  * `TurnStorageSubjects.create` is unhandled, synthetic IDs are generated
202
202
  * locally. When `TurnStorageSubjects.complete` is unhandled, the turn is
203
203
  * still cleared from memory and `session.turn.completed` is emitted.
204
+ *
205
+ * **Persist-before-emit barrier:** `session.turn.completed` promises the
206
+ * four-point consumer contract, including messages being queryable via
207
+ * `storage:message.getByTurn`. Message persistence (SessionBridge) and turn
208
+ * completion both react to `agent.complete`, and the bus runs event handlers
209
+ * in parallel — so before emitting, `completeTurn` awaits
210
+ * `storage:message.stored` confirmations for the turn's assistant messages
211
+ * (bus-mediated: the manager holds no reference to SessionBridge). The wait
212
+ * is bounded by {@link TURN_COMPLETION_PERSISTENCE_TIMEOUT_MS} and skipped
213
+ * entirely in ephemeral mode.
204
214
  */
205
215
  declare class SessionTurnManager {
206
216
  private readonly bus;
@@ -221,6 +231,18 @@ declare class SessionTurnManager {
221
231
  * the counter and cause duplicate turn numbers if the session continues.
222
232
  */
223
233
  private readonly syntheticTurnCounters;
234
+ /**
235
+ * Stored assistant messages per turnId, counted from `storage:message.stored`.
236
+ *
237
+ * Populated continuously (from construction) so messages persisted before
238
+ * `completeTurn` runs are counted. FIFO-capped at
239
+ * {@link ASSISTANT_PERSISTENCE_COUNTER_CAP}; a turn's entry is deleted when
240
+ * its completion emits, so late `stored` events for an already-emitted turn
241
+ * merely recreate a short-lived entry that the cap eventually evicts.
242
+ */
243
+ private readonly assistantStoredCounts;
244
+ /** Pending persist-before-emit barrier waiters, keyed by turnId. */
245
+ private readonly assistantPersistenceWaiters;
224
246
  /** Bus subscription cleanup functions. */
225
247
  private readonly cleanups;
226
248
  /**
@@ -240,6 +262,15 @@ declare class SessionTurnManager {
240
262
  * @returns The newly created and activated Turn entity
241
263
  */
242
264
  createTurn(sessionId: string, agentIds: string[], initiator?: TurnInitiator, turnId?: string): Promise<Turn$1>;
265
+ /**
266
+ * Discard active in-memory state for a turn that failed before routing began.
267
+ *
268
+ * The storage contract has no turn-delete operation, so this only rolls back
269
+ * the active manager state that would otherwise make the next user message
270
+ * reuse a turn whose first message was never persisted.
271
+ * @param turn - Newly created active turn to discard
272
+ */
273
+ discardActiveTurn(turn: Turn$1): void;
243
274
  /**
244
275
  * Register bus listeners for `agent.usage` and `agent.complete` events.
245
276
  *
@@ -260,6 +291,12 @@ declare class SessionTurnManager {
260
291
  * `TurnStorageSubjects.complete` call. State is cleared only after durable
261
292
  * persistence succeeds; if persistence fails, the state remains intact so
262
293
  * completion can be retried.
294
+ *
295
+ * Before the event fires, the persist-before-emit barrier waits for the
296
+ * turn's assistant messages to be stored (see class docs), then a
297
+ * `turn.completed` lifecycle row is appended to `session_events` — so both
298
+ * message rows and the lifecycle row are durable before consumers observe
299
+ * `session.turn.completed`.
263
300
  * @param turn - The turn to complete
264
301
  * @param result - Turn result (success status and error messages)
265
302
  */
@@ -311,6 +348,33 @@ declare class SessionTurnManager {
311
348
  * @param usageEvent - Usage event to defer until after persistence
312
349
  */
313
350
  private bufferUsageDuringCompletion;
351
+ /**
352
+ * Subscribe to `storage:message.stored` and count stored assistant messages
353
+ * per turnId, resolving any pending barrier waiter on each increment.
354
+ *
355
+ * Registered from the constructor (not `registerCompletionHandlers`) so the
356
+ * barrier also works for callers that drive `completeTurn` directly without
357
+ * wiring the agent-event handlers.
358
+ */
359
+ private registerAssistantPersistenceCounter;
360
+ /**
361
+ * Persist-before-emit barrier: wait until the turn's assistant messages are
362
+ * durably stored (one per agent) or the bounded timeout elapses.
363
+ *
364
+ * Resolution paths, in order:
365
+ * 1. The continuous `storage:message.stored` counter already reached the
366
+ * expected count (messages stored before `completeTurn` ran).
367
+ * 2. `storage:message.getByTurn` is unhandled — no message storage exists,
368
+ * nothing can be waited for (skip).
369
+ * 3. A queryable-state probe already shows the expected assistant messages
370
+ * (covers messages persisted before this manager was constructed).
371
+ * 4. A waiter resolved by the counter reaching the expected count, bounded
372
+ * by {@link TURN_COMPLETION_PERSISTENCE_TIMEOUT_MS} — the timeout is
373
+ * mandatory because SessionBridge persists nothing for agents with zero
374
+ * blocks and no error, and swallows write errors.
375
+ * @param turn - The completing turn (expected count = its agent count)
376
+ */
377
+ private awaitAssistantPersistence;
314
378
  }
315
379
  //#endregion
316
380
  //#region services/core/src/session/handlers/abandon-handler.d.ts
@@ -48,8 +48,8 @@ declare const MaterializationSchemas: {
48
48
  template: z.ZodString;
49
49
  }, z.core.$strip>], "kind">;
50
50
  appliesTo: z.ZodArray<z.ZodEnum<{
51
- artifact: "artifact";
52
51
  workpiece: "workpiece";
52
+ artifact: "artifact";
53
53
  surface: "surface";
54
54
  }>>;
55
55
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -88,8 +88,8 @@ declare const MaterializationSchemas: {
88
88
  template: z.ZodString;
89
89
  }, z.core.$strip>], "kind">;
90
90
  appliesTo: z.ZodArray<z.ZodEnum<{
91
- artifact: "artifact";
92
91
  workpiece: "workpiece";
92
+ artifact: "artifact";
93
93
  surface: "surface";
94
94
  }>>;
95
95
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -153,8 +153,8 @@ declare const MaterializationNamespace: _$_makaio_core0.BusNamespaceDefinition<"
153
153
  template: z.ZodString;
154
154
  }, z.core.$strip>], "kind">;
155
155
  appliesTo: z.ZodArray<z.ZodEnum<{
156
- artifact: "artifact";
157
156
  workpiece: "workpiece";
157
+ artifact: "artifact";
158
158
  surface: "surface";
159
159
  }>>;
160
160
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -193,8 +193,8 @@ declare const MaterializationNamespace: _$_makaio_core0.BusNamespaceDefinition<"
193
193
  template: z.ZodString;
194
194
  }, z.core.$strip>], "kind">;
195
195
  appliesTo: z.ZodArray<z.ZodEnum<{
196
- artifact: "artifact";
197
196
  workpiece: "workpiece";
197
+ artifact: "artifact";
198
198
  surface: "surface";
199
199
  }>>;
200
200
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -268,8 +268,8 @@ declare const MaterializationSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
268
268
  template: z.ZodString;
269
269
  }, z.core.$strip>], "kind">;
270
270
  appliesTo: z.ZodArray<z.ZodEnum<{
271
- artifact: "artifact";
272
271
  workpiece: "workpiece";
272
+ artifact: "artifact";
273
273
  surface: "surface";
274
274
  }>>;
275
275
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -308,8 +308,8 @@ declare const MaterializationSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
308
308
  template: z.ZodString;
309
309
  }, z.core.$strip>], "kind">;
310
310
  appliesTo: z.ZodArray<z.ZodEnum<{
311
- artifact: "artifact";
312
311
  workpiece: "workpiece";
312
+ artifact: "artifact";
313
313
  surface: "surface";
314
314
  }>>;
315
315
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -1,4 +1,4 @@
1
- import { It as ArtifactRevision$1 } from "./index-0WhPbKnH.mjs";
1
+ import { It as ArtifactRevision$1 } from "./index-DV4nRk0h.mjs";
2
2
  import { i as JsonValue$1, t as JsonObjectContractSchema } from "./json-value-DtIkQN7g.mjs";
3
3
  import { z } from "zod";
4
4
  import * as _$_makaio_core0 from "@makaio/framework/core";
@@ -173,10 +173,10 @@ type WorkflowSourceLocation = z.infer<typeof WorkflowSourceLocationSchema>;
173
173
  * - `sequence` — ordered list of child nodes (the structural container)
174
174
  */
175
175
  declare const WorkflowNodeTypeSchema: z.ZodEnum<{
176
- sequence: "sequence";
177
176
  station: "station";
178
177
  "delegate-agent": "delegate-agent";
179
178
  "delegate-role": "delegate-role";
179
+ sequence: "sequence";
180
180
  parallel: "parallel";
181
181
  gate: "gate";
182
182
  iterate: "iterate";
@@ -902,10 +902,10 @@ declare const WorkflowFrameStateSchema$1: z.ZodObject<{
902
902
  frameId: z.ZodString;
903
903
  nodeId: z.ZodString;
904
904
  nodeType: z.ZodEnum<{
905
- sequence: "sequence";
906
905
  station: "station";
907
906
  "delegate-agent": "delegate-agent";
908
907
  "delegate-role": "delegate-role";
908
+ sequence: "sequence";
909
909
  parallel: "parallel";
910
910
  gate: "gate";
911
911
  iterate: "iterate";
@@ -2881,10 +2881,10 @@ declare const WorkflowSchemas: {
2881
2881
  frameId: z.ZodString;
2882
2882
  nodeId: z.ZodString;
2883
2883
  nodeType: z.ZodEnum<{
2884
- sequence: "sequence";
2885
2884
  station: "station";
2886
2885
  "delegate-agent": "delegate-agent";
2887
2886
  "delegate-role": "delegate-role";
2887
+ sequence: "sequence";
2888
2888
  parallel: "parallel";
2889
2889
  gate: "gate";
2890
2890
  iterate: "iterate";
@@ -2959,6 +2959,77 @@ declare const WorkflowSchemas: {
2959
2959
  executionId: z.ZodString;
2960
2960
  }, z.core.$strip>;
2961
2961
  };
2962
+ /**
2963
+ * Register an external execution that is not driven by the workflow engine.
2964
+ *
2965
+ * Creates a minimal `workflow_executions` row so that subsequent lifecycle
2966
+ * events (`execution.started`, `frame.*`, `execution.completed/failed`)
2967
+ * satisfy the foreign-key constraints on WorkLog projection tables.
2968
+ *
2969
+ * External executions are not associated with a persisted workflow definition
2970
+ * and do not create coordinator sessions, run-context snapshots, or
2971
+ * runtime state. They exist solely to provide a legitimate parent row for
2972
+ * telemetry projections.
2973
+ *
2974
+ * After registration the caller is responsible for emitting the standard
2975
+ * execution and frame lifecycle events on the bus. The WorkLog projection
2976
+ * consumes them exactly as it does for engine-driven executions.
2977
+ */
2978
+ registerExternalExecution: {
2979
+ request: z.ZodObject<{
2980
+ name: z.ZodString;
2981
+ scope: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
2982
+ type: z.ZodLiteral<"global">;
2983
+ }, z.core.$strict>, z.ZodObject<{
2984
+ type: z.ZodLiteral<"workspace">;
2985
+ id: z.ZodString;
2986
+ }, z.core.$strict>, z.ZodObject<{
2987
+ type: z.ZodLiteral<"session">;
2988
+ id: z.ZodString;
2989
+ }, z.core.$strict>, z.ZodObject<{
2990
+ type: z.ZodLiteral<"external">;
2991
+ kind: z.ZodString;
2992
+ id: z.ZodString;
2993
+ }, z.core.$strict>], "type">>;
2994
+ artifactRef: z.ZodOptional<z.ZodObject<{
2995
+ kind: z.ZodString;
2996
+ id: z.ZodString;
2997
+ }, z.core.$strip>>;
2998
+ input: z.ZodOptional<z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>>;
2999
+ triggerPayload: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
3000
+ }, z.core.$strip>;
3001
+ response: z.ZodObject<{
3002
+ executionId: z.ZodString;
3003
+ }, z.core.$strip>;
3004
+ };
3005
+ /**
3006
+ * Complete an external execution by updating its terminal status.
3007
+ *
3008
+ * Callers should also emit the corresponding lifecycle event
3009
+ * (`execution.completed`, `execution.failed`, or `execution.cancelled`)
3010
+ * so that WorkLog projections update the summary row.
3011
+ *
3012
+ * Cross-field invariants (enforced by schema refinement):
3013
+ * - `'failed'` requires a non-empty `error` string.
3014
+ * - `'cancelled'` requires a non-empty `reason` string.
3015
+ * - `'completed'` must not carry `error` or `reason`.
3016
+ */
3017
+ completeExternalExecution: {
3018
+ request: z.ZodObject<{
3019
+ executionId: z.ZodString;
3020
+ status: z.ZodEnum<{
3021
+ completed: "completed";
3022
+ cancelled: "cancelled";
3023
+ failed: "failed";
3024
+ }>;
3025
+ error: z.ZodOptional<z.ZodString>;
3026
+ reason: z.ZodOptional<z.ZodString>;
3027
+ completedAt: z.ZodOptional<z.ZodNumber>;
3028
+ }, z.core.$strip>;
3029
+ response: z.ZodObject<{
3030
+ success: z.ZodBoolean;
3031
+ }, z.core.$strip>;
3032
+ };
2962
3033
  /**
2963
3034
  * Resolve a named role to its full adapter configuration.
2964
3035
  * Called by the workflow executor when an agent step specifies `role`.
@@ -3473,10 +3544,10 @@ declare const WorkflowSchemas: {
3473
3544
  frameId: z.ZodString;
3474
3545
  nodeId: z.ZodString;
3475
3546
  nodeType: z.ZodEnum<{
3476
- sequence: "sequence";
3477
3547
  station: "station";
3478
3548
  "delegate-agent": "delegate-agent";
3479
3549
  "delegate-role": "delegate-role";
3550
+ sequence: "sequence";
3480
3551
  parallel: "parallel";
3481
3552
  gate: "gate";
3482
3553
  iterate: "iterate";
@@ -4799,10 +4870,10 @@ declare const WorkflowNamespace$1: _$_makaio_core0.BusNamespaceDefinition<"workf
4799
4870
  frameId: z.ZodString;
4800
4871
  nodeId: z.ZodString;
4801
4872
  nodeType: z.ZodEnum<{
4802
- sequence: "sequence";
4803
4873
  station: "station";
4804
4874
  "delegate-agent": "delegate-agent";
4805
4875
  "delegate-role": "delegate-role";
4876
+ sequence: "sequence";
4806
4877
  parallel: "parallel";
4807
4878
  gate: "gate";
4808
4879
  iterate: "iterate";
@@ -4877,6 +4948,77 @@ declare const WorkflowNamespace$1: _$_makaio_core0.BusNamespaceDefinition<"workf
4877
4948
  executionId: z.ZodString;
4878
4949
  }, z.core.$strip>;
4879
4950
  };
4951
+ /**
4952
+ * Register an external execution that is not driven by the workflow engine.
4953
+ *
4954
+ * Creates a minimal `workflow_executions` row so that subsequent lifecycle
4955
+ * events (`execution.started`, `frame.*`, `execution.completed/failed`)
4956
+ * satisfy the foreign-key constraints on WorkLog projection tables.
4957
+ *
4958
+ * External executions are not associated with a persisted workflow definition
4959
+ * and do not create coordinator sessions, run-context snapshots, or
4960
+ * runtime state. They exist solely to provide a legitimate parent row for
4961
+ * telemetry projections.
4962
+ *
4963
+ * After registration the caller is responsible for emitting the standard
4964
+ * execution and frame lifecycle events on the bus. The WorkLog projection
4965
+ * consumes them exactly as it does for engine-driven executions.
4966
+ */
4967
+ registerExternalExecution: {
4968
+ request: z.ZodObject<{
4969
+ name: z.ZodString;
4970
+ scope: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
4971
+ type: z.ZodLiteral<"global">;
4972
+ }, z.core.$strict>, z.ZodObject<{
4973
+ type: z.ZodLiteral<"workspace">;
4974
+ id: z.ZodString;
4975
+ }, z.core.$strict>, z.ZodObject<{
4976
+ type: z.ZodLiteral<"session">;
4977
+ id: z.ZodString;
4978
+ }, z.core.$strict>, z.ZodObject<{
4979
+ type: z.ZodLiteral<"external">;
4980
+ kind: z.ZodString;
4981
+ id: z.ZodString;
4982
+ }, z.core.$strict>], "type">>;
4983
+ artifactRef: z.ZodOptional<z.ZodObject<{
4984
+ kind: z.ZodString;
4985
+ id: z.ZodString;
4986
+ }, z.core.$strip>>;
4987
+ input: z.ZodOptional<z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>>;
4988
+ triggerPayload: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
4989
+ }, z.core.$strip>;
4990
+ response: z.ZodObject<{
4991
+ executionId: z.ZodString;
4992
+ }, z.core.$strip>;
4993
+ };
4994
+ /**
4995
+ * Complete an external execution by updating its terminal status.
4996
+ *
4997
+ * Callers should also emit the corresponding lifecycle event
4998
+ * (`execution.completed`, `execution.failed`, or `execution.cancelled`)
4999
+ * so that WorkLog projections update the summary row.
5000
+ *
5001
+ * Cross-field invariants (enforced by schema refinement):
5002
+ * - `'failed'` requires a non-empty `error` string.
5003
+ * - `'cancelled'` requires a non-empty `reason` string.
5004
+ * - `'completed'` must not carry `error` or `reason`.
5005
+ */
5006
+ completeExternalExecution: {
5007
+ request: z.ZodObject<{
5008
+ executionId: z.ZodString;
5009
+ status: z.ZodEnum<{
5010
+ completed: "completed";
5011
+ cancelled: "cancelled";
5012
+ failed: "failed";
5013
+ }>;
5014
+ error: z.ZodOptional<z.ZodString>;
5015
+ reason: z.ZodOptional<z.ZodString>;
5016
+ completedAt: z.ZodOptional<z.ZodNumber>;
5017
+ }, z.core.$strip>;
5018
+ response: z.ZodObject<{
5019
+ success: z.ZodBoolean;
5020
+ }, z.core.$strip>;
5021
+ };
4880
5022
  /**
4881
5023
  * Resolve a named role to its full adapter configuration.
4882
5024
  * Called by the workflow executor when an agent step specifies `role`.
@@ -5391,10 +5533,10 @@ declare const WorkflowNamespace$1: _$_makaio_core0.BusNamespaceDefinition<"workf
5391
5533
  frameId: z.ZodString;
5392
5534
  nodeId: z.ZodString;
5393
5535
  nodeType: z.ZodEnum<{
5394
- sequence: "sequence";
5395
5536
  station: "station";
5396
5537
  "delegate-agent": "delegate-agent";
5397
5538
  "delegate-role": "delegate-role";
5539
+ sequence: "sequence";
5398
5540
  parallel: "parallel";
5399
5541
  gate: "gate";
5400
5542
  iterate: "iterate";
@@ -6717,10 +6859,10 @@ declare const WorkflowSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fl
6717
6859
  frameId: z.ZodString;
6718
6860
  nodeId: z.ZodString;
6719
6861
  nodeType: z.ZodEnum<{
6720
- sequence: "sequence";
6721
6862
  station: "station";
6722
6863
  "delegate-agent": "delegate-agent";
6723
6864
  "delegate-role": "delegate-role";
6865
+ sequence: "sequence";
6724
6866
  parallel: "parallel";
6725
6867
  gate: "gate";
6726
6868
  iterate: "iterate";
@@ -6795,6 +6937,77 @@ declare const WorkflowSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fl
6795
6937
  executionId: z.ZodString;
6796
6938
  }, z.core.$strip>;
6797
6939
  };
6940
+ /**
6941
+ * Register an external execution that is not driven by the workflow engine.
6942
+ *
6943
+ * Creates a minimal `workflow_executions` row so that subsequent lifecycle
6944
+ * events (`execution.started`, `frame.*`, `execution.completed/failed`)
6945
+ * satisfy the foreign-key constraints on WorkLog projection tables.
6946
+ *
6947
+ * External executions are not associated with a persisted workflow definition
6948
+ * and do not create coordinator sessions, run-context snapshots, or
6949
+ * runtime state. They exist solely to provide a legitimate parent row for
6950
+ * telemetry projections.
6951
+ *
6952
+ * After registration the caller is responsible for emitting the standard
6953
+ * execution and frame lifecycle events on the bus. The WorkLog projection
6954
+ * consumes them exactly as it does for engine-driven executions.
6955
+ */
6956
+ registerExternalExecution: {
6957
+ request: z.ZodObject<{
6958
+ name: z.ZodString;
6959
+ scope: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
6960
+ type: z.ZodLiteral<"global">;
6961
+ }, z.core.$strict>, z.ZodObject<{
6962
+ type: z.ZodLiteral<"workspace">;
6963
+ id: z.ZodString;
6964
+ }, z.core.$strict>, z.ZodObject<{
6965
+ type: z.ZodLiteral<"session">;
6966
+ id: z.ZodString;
6967
+ }, z.core.$strict>, z.ZodObject<{
6968
+ type: z.ZodLiteral<"external">;
6969
+ kind: z.ZodString;
6970
+ id: z.ZodString;
6971
+ }, z.core.$strict>], "type">>;
6972
+ artifactRef: z.ZodOptional<z.ZodObject<{
6973
+ kind: z.ZodString;
6974
+ id: z.ZodString;
6975
+ }, z.core.$strip>>;
6976
+ input: z.ZodOptional<z.ZodType<_$_makaio_contracts0.JsonValue, unknown, z.core.$ZodTypeInternals<_$_makaio_contracts0.JsonValue, unknown>>>;
6977
+ triggerPayload: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
6978
+ }, z.core.$strip>;
6979
+ response: z.ZodObject<{
6980
+ executionId: z.ZodString;
6981
+ }, z.core.$strip>;
6982
+ };
6983
+ /**
6984
+ * Complete an external execution by updating its terminal status.
6985
+ *
6986
+ * Callers should also emit the corresponding lifecycle event
6987
+ * (`execution.completed`, `execution.failed`, or `execution.cancelled`)
6988
+ * so that WorkLog projections update the summary row.
6989
+ *
6990
+ * Cross-field invariants (enforced by schema refinement):
6991
+ * - `'failed'` requires a non-empty `error` string.
6992
+ * - `'cancelled'` requires a non-empty `reason` string.
6993
+ * - `'completed'` must not carry `error` or `reason`.
6994
+ */
6995
+ completeExternalExecution: {
6996
+ request: z.ZodObject<{
6997
+ executionId: z.ZodString;
6998
+ status: z.ZodEnum<{
6999
+ completed: "completed";
7000
+ cancelled: "cancelled";
7001
+ failed: "failed";
7002
+ }>;
7003
+ error: z.ZodOptional<z.ZodString>;
7004
+ reason: z.ZodOptional<z.ZodString>;
7005
+ completedAt: z.ZodOptional<z.ZodNumber>;
7006
+ }, z.core.$strip>;
7007
+ response: z.ZodObject<{
7008
+ success: z.ZodBoolean;
7009
+ }, z.core.$strip>;
7010
+ };
6798
7011
  /**
6799
7012
  * Resolve a named role to its full adapter configuration.
6800
7013
  * Called by the workflow executor when an agent step specifies `role`.
@@ -7309,10 +7522,10 @@ declare const WorkflowSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fl
7309
7522
  frameId: z.ZodString;
7310
7523
  nodeId: z.ZodString;
7311
7524
  nodeType: z.ZodEnum<{
7312
- sequence: "sequence";
7313
7525
  station: "station";
7314
7526
  "delegate-agent": "delegate-agent";
7315
7527
  "delegate-role": "delegate-role";
7528
+ sequence: "sequence";
7316
7529
  parallel: "parallel";
7317
7530
  gate: "gate";
7318
7531
  iterate: "iterate";
@@ -1,12 +1,12 @@
1
- import { J as ArtifactLifecycleHookEvent, Y as ArtifactLifecycleHookRegistration$1, z as AnyArtifactKindDefinition } from "./index-0WhPbKnH.mjs";
1
+ import { J as ArtifactLifecycleHookEvent, Y as ArtifactLifecycleHookRegistration$1, z as AnyArtifactKindDefinition } from "./index-DV4nRk0h.mjs";
2
2
  import { A as VersionRange, O as VersionLiteral$1, r as ClientDefinition$1 } from "./definition-CuJvtYeG.mjs";
3
3
  import { c as ProviderDefinitionInput$1, r as ProtocolId$1 } from "./definition-Cllhr9mi.mjs";
4
4
  import { t as RequiredTimeoutConfig } from "./index-CuHqL95P.mjs";
5
- import { b as SESSION_EVENT_TYPES, i as MakaioSessionEvent$1, j as SessionMessage$1 } from "./types-8rhArs_K.mjs";
5
+ import { F as SessionMessage$1, b as SESSION_EVENT_TYPES, i as MakaioSessionEvent$1 } from "./types-C76EP81O.mjs";
6
6
  import { D as EntityUIConfig, I as FormFieldProps } from "./index-CaerrEDH.mjs";
7
- import { n as ExtensionTransitionRulesContribution, t as ExtensionTransitionActionsContribution, y as WorkflowBlockCollection$1 } from "./transition-CBjccCMw.mjs";
8
- import { l as FacetNamespaceDefinition } from "./index-BMbmoarE.mjs";
9
- import { t as SurfaceBindingDefinition } from "./definition-DePb3ke-.mjs";
7
+ import { n as ExtensionTransitionRulesContribution, t as ExtensionTransitionActionsContribution, y as WorkflowBlockCollection$1 } from "./transition-Dq41YCkc.mjs";
8
+ import { l as FacetNamespaceDefinition } from "./index-O08Q2ikz.mjs";
9
+ import { t as SurfaceBindingDefinition } from "./definition-b9jyJqPD.mjs";
10
10
  import { z } from "zod";
11
11
  import { MakaioBusLike, PayloadFilter, RegistrableBusNamespaceDefinition, SubjectSchema } from "@makaio/framework/core";
12
12
  import * as _$_makaio_contracts0 from "@makaio/framework/contracts";