yaml-flow 8.8.7 → 8.9.0

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 (155) hide show
  1. package/browser/adapters/firestore-storage.js +2 -2
  2. package/browser/adapters/localstorage-storage.js +3 -3
  3. package/browser/asset-integrity.json +7 -7
  4. package/browser/server-runtime-controlface.js +5 -5
  5. package/examples/board/test/server-http-test-browser.ts +2394 -0
  6. package/examples/board/test/server-http-test.js +44 -35
  7. package/lib/{artifacts-store-lib-C6qBpMfU.d.cts → artifacts-store-lib-CqkJEgbx.d.cts} +1 -1
  8. package/lib/{artifacts-store-lib-D4qf7Q-7.d.ts → artifacts-store-lib-D6Bo4yFN.d.ts} +1 -1
  9. package/lib/artifacts-store-public.d.cts +5 -3
  10. package/lib/artifacts-store-public.d.ts +5 -3
  11. package/lib/board-callback-transport-Bekq8Gp-.d.ts +71 -0
  12. package/lib/board-callback-transport-kP0K6UMq.d.cts +71 -0
  13. package/lib/board-live-cards-lib-DVh3t9NT.d.cts +222 -0
  14. package/lib/board-live-cards-lib-iU8xOwNp.d.ts +222 -0
  15. package/lib/board-live-cards-mcp.cjs +1 -1
  16. package/lib/board-live-cards-mcp.d.cts +4 -8
  17. package/lib/board-live-cards-mcp.d.ts +4 -8
  18. package/lib/board-live-cards-mcp.js +1 -1
  19. package/lib/board-live-cards-node.cjs +7 -7
  20. package/lib/board-live-cards-node.d.cts +15 -11
  21. package/lib/board-live-cards-node.d.ts +15 -11
  22. package/lib/board-live-cards-node.js +7 -7
  23. package/lib/{board-live-cards-public-async-CYjr4mgX.d.cts → board-live-cards-public-async-Cl0M3j5P.d.cts} +6 -4
  24. package/lib/{board-live-cards-public-async-DlyC3PgC.d.ts → board-live-cards-public-async-U98IXUBx.d.ts} +6 -4
  25. package/lib/board-live-cards-public.cjs +1 -1
  26. package/lib/board-live-cards-public.d.cts +325 -3
  27. package/lib/board-live-cards-public.d.ts +325 -3
  28. package/lib/board-live-cards-public.js +1 -1
  29. package/lib/board-live-cards-server-runtime.cjs +1 -1
  30. package/lib/board-live-cards-server-runtime.d.cts +8 -6
  31. package/lib/board-live-cards-server-runtime.d.ts +8 -6
  32. package/lib/board-live-cards-server-runtime.js +1 -1
  33. package/lib/{board-platform-adapter-async-JP9V-U5E.d.ts → board-platform-adapter-async-ByBRFn1G.d.ts} +4 -3
  34. package/lib/{board-platform-adapter-async-BZIftm36.d.cts → board-platform-adapter-async-DjBwE0m9.d.cts} +4 -3
  35. package/lib/board-state-reducer.cjs +2 -0
  36. package/lib/board-state-reducer.d.cts +53 -0
  37. package/lib/board-state-reducer.d.ts +53 -0
  38. package/lib/board-state-reducer.js +2 -0
  39. package/lib/card-store-public.cjs +1 -1
  40. package/lib/card-store-public.d.cts +11 -4
  41. package/lib/card-store-public.d.ts +11 -4
  42. package/lib/card-store-public.js +1 -1
  43. package/lib/chat-store-public.cjs +1 -1
  44. package/lib/chat-store-public.d.cts +15 -4
  45. package/lib/chat-store-public.d.ts +15 -4
  46. package/lib/chat-store-public.js +1 -1
  47. package/lib/chunk-2RIHC5TZ.cjs +2 -0
  48. package/lib/chunk-37FDOKDK.js +3 -0
  49. package/lib/chunk-3S7LV2HZ.cjs +2 -0
  50. package/lib/chunk-3T5TMAWG.cjs +3 -0
  51. package/lib/chunk-5XLFPPTY.cjs +2 -0
  52. package/lib/{chunk-R44X3RQB.cjs → chunk-6EJRZHFP.cjs} +2 -2
  53. package/lib/{chunk-NNSBBO5R.js → chunk-6MD6FVE3.js} +2 -2
  54. package/lib/chunk-7QNEV5S3.js +2 -0
  55. package/lib/{chunk-6OPXQPSC.js → chunk-7UJQMFVS.js} +2 -2
  56. package/lib/chunk-BJGK5FNL.js +2 -0
  57. package/lib/{chunk-ETW3BXHD.cjs → chunk-BQJVCCFU.cjs} +2 -2
  58. package/lib/chunk-DQPBAB5Z.cjs +2 -0
  59. package/lib/chunk-JB4Q2W7I.js +7 -0
  60. package/lib/chunk-JYVYAAXT.js +3 -0
  61. package/lib/chunk-LFVMX23W.cjs +7 -0
  62. package/lib/chunk-NIBLKYXN.js +2 -0
  63. package/lib/chunk-OF4FPYNI.cjs +2 -0
  64. package/lib/chunk-P3R6TXII.js +3 -0
  65. package/lib/{chunk-7BTZCOT5.js → chunk-QLB6PKOT.js} +2 -2
  66. package/lib/chunk-R4YASXSJ.js +2 -0
  67. package/lib/chunk-RZRIXQ6A.cjs +3 -0
  68. package/lib/chunk-SDJ3747Q.cjs +2 -0
  69. package/lib/chunk-SJANU3PL.cjs +3 -0
  70. package/lib/chunk-UGB7PC4P.js +2 -0
  71. package/lib/chunk-VBYNMTWC.js +2 -0
  72. package/lib/{chunk-37HDEW26.cjs → chunk-WRMOGPRG.cjs} +2 -2
  73. package/lib/cloud-storage.cjs +1 -1
  74. package/lib/cloud-storage.d.cts +44 -8
  75. package/lib/cloud-storage.d.ts +44 -8
  76. package/lib/cloud-storage.js +1 -1
  77. package/lib/firebase-storage/index.d.cts +2 -2
  78. package/lib/firebase-storage/index.d.ts +2 -2
  79. package/lib/firestore-storage/index.cjs +2 -2
  80. package/lib/firestore-storage/index.d.cts +6 -5
  81. package/lib/firestore-storage/index.d.ts +6 -5
  82. package/lib/firestore-storage/index.js +2 -2
  83. package/lib/index.cjs +2 -2
  84. package/lib/index.d.cts +1 -1
  85. package/lib/index.d.ts +1 -1
  86. package/lib/index.js +1 -1
  87. package/lib/localstorage-storage/index.cjs +1 -1
  88. package/lib/localstorage-storage/index.d.cts +6 -5
  89. package/lib/localstorage-storage/index.d.ts +6 -5
  90. package/lib/localstorage-storage/index.js +1 -1
  91. package/lib/notification-consumer/index.cjs +2 -0
  92. package/lib/notification-consumer/index.d.cts +17 -0
  93. package/lib/notification-consumer/index.d.ts +17 -0
  94. package/lib/notification-consumer/index.js +2 -0
  95. package/lib/queue-storage-public.cjs +2 -0
  96. package/lib/queue-storage-public.d.cts +13 -0
  97. package/lib/queue-storage-public.d.ts +13 -0
  98. package/lib/queue-storage-public.js +2 -0
  99. package/lib/server-jobs-queue-runner/index.cjs +1 -1
  100. package/lib/server-jobs-queue-runner/index.d.cts +9 -7
  101. package/lib/server-jobs-queue-runner/index.d.ts +9 -7
  102. package/lib/server-jobs-queue-runner/index.js +1 -1
  103. package/lib/server-runtime/index.cjs +1 -1
  104. package/lib/server-runtime/index.d.cts +9 -7
  105. package/lib/server-runtime/index.d.ts +9 -7
  106. package/lib/server-runtime/index.js +1 -1
  107. package/lib/server-runtime-agentface/index.d.cts +8 -6
  108. package/lib/server-runtime-agentface/index.d.ts +8 -6
  109. package/lib/server-runtime-controlface/index.cjs +1 -1
  110. package/lib/server-runtime-controlface/index.d.cts +8 -6
  111. package/lib/server-runtime-controlface/index.d.ts +8 -6
  112. package/lib/server-runtime-controlface/index.js +1 -1
  113. package/lib/server-runtime-core/index.cjs +1 -1
  114. package/lib/server-runtime-core/index.d.cts +16 -37
  115. package/lib/server-runtime-core/index.d.ts +16 -37
  116. package/lib/server-runtime-core/index.js +1 -1
  117. package/lib/server-runtime-watchers/index.cjs +1 -1
  118. package/lib/server-runtime-watchers/index.d.cts +11 -8
  119. package/lib/server-runtime-watchers/index.d.ts +11 -8
  120. package/lib/server-runtime-watchers/index.js +1 -1
  121. package/lib/server-runtime-webhooks/index.d.cts +8 -6
  122. package/lib/server-runtime-webhooks/index.d.ts +8 -6
  123. package/lib/{sse-hub-DM8bw-dO.d.ts → sse-hub-BRBvymHR.d.cts} +18 -15
  124. package/lib/{sse-hub-BDjWI7JR.d.cts → sse-hub-D_94fV87.d.ts} +18 -15
  125. package/lib/step-machine-public/index.d.cts +1 -1
  126. package/lib/step-machine-public/index.d.ts +1 -1
  127. package/lib/{storage-async-interface-CyO-zwVQ.d.cts → storage-async-interface-CLOXiqwC.d.cts} +2 -2
  128. package/lib/{storage-async-interface-CG0bMqvE.d.ts → storage-async-interface-Cb-SULrI.d.ts} +2 -2
  129. package/lib/{storage-interface-D-iEiTJA.d.cts → storage-interface-DogVPooM.d.cts} +1 -1
  130. package/lib/{storage-interface-D-iEiTJA.d.ts → storage-interface-DogVPooM.d.ts} +1 -1
  131. package/lib/stores/index.d.cts +1 -1
  132. package/lib/stores/index.d.ts +1 -1
  133. package/lib/stores/kv.d.cts +1 -1
  134. package/lib/stores/kv.d.ts +1 -1
  135. package/lib/{types-BsfXZyI3.d.ts → types-BsqzUZNl.d.ts} +6 -4
  136. package/lib/{types-CPnYv7RC.d.cts → types-DxhB6Toz.d.cts} +6 -4
  137. package/package.json +16 -1
  138. package/lib/board-live-cards-public-BT5HrgqZ.d.cts +0 -529
  139. package/lib/board-live-cards-public-DSRamFm8.d.ts +0 -529
  140. package/lib/chunk-35N7ONTH.js +0 -2
  141. package/lib/chunk-36QUKFL7.cjs +0 -3
  142. package/lib/chunk-3MMTBEAO.js +0 -2
  143. package/lib/chunk-7QQFDYBM.js +0 -3
  144. package/lib/chunk-7QZ267XP.cjs +0 -2
  145. package/lib/chunk-ABAVFLDP.js +0 -7
  146. package/lib/chunk-EPCJYP4N.js +0 -3
  147. package/lib/chunk-H22NK6KH.cjs +0 -7
  148. package/lib/chunk-KBELAKIY.js +0 -2
  149. package/lib/chunk-OJ2CAQ4C.cjs +0 -2
  150. package/lib/chunk-Q3OTUDIE.js +0 -2
  151. package/lib/chunk-QG6ERLZQ.cjs +0 -3
  152. package/lib/chunk-UB54HZA4.cjs +0 -2
  153. package/lib/chunk-YMEIPKLW.cjs +0 -2
  154. package/lib/chunk-ZENTBLLA.cjs +0 -3
  155. package/lib/chunk-ZWVT24YW.js +0 -3
@@ -1,20 +1,22 @@
1
- import { d as BoardRuntimePlatformAdapter } from '../types-BsfXZyI3.js';
2
- export { A as Awaitable, B as BoardContextConfig, c as BoardRuntimeNonCorePublic, e as BoardRuntimePublic, f as BoardWorkerRequest, C as ChatHandlerFlowRunner, D as DescribeEnvelope, H as HostedBoardQueueLaneTuning, I as InvocationAdapter, a as MultiBoardRuntime, M as MultiBoardRuntimeOptions, N as NotificationTransport, Q as QueueLaneRuntimeTuning, R as RuntimeLogger, g as RuntimeRequest, h as RuntimeResponse, b as SingleBoardRuntime, S as SingleBoardRuntimeOptions } from '../types-BsfXZyI3.js';
1
+ import { d as BoardRuntimePlatformAdapter } from '../types-BsqzUZNl.js';
2
+ export { A as Awaitable, B as BoardContextConfig, c as BoardRuntimeNonCorePublic, e as BoardRuntimePublic, f as BoardWorkerRequest, C as ChatHandlerFlowRunner, D as DescribeEnvelope, H as HostedBoardQueueLaneTuning, I as InvocationAdapter, a as MultiBoardRuntime, M as MultiBoardRuntimeOptions, N as NotificationTransport, Q as QueueLaneRuntimeTuning, R as RuntimeLogger, g as RuntimeRequest, h as RuntimeResponse, b as SingleBoardRuntime, S as SingleBoardRuntimeOptions } from '../types-BsqzUZNl.js';
3
3
  export { HostedBoardQueueLaneRegistryOptions, createHostedBoardQueueLaneRegistry } from '../server-jobs-queue-runner/index.js';
4
4
  export { M as McpControlplaneRegistryDeps, a as McpFacadeForRegistry, b as McpWebhookFacadeForRegistry, T as ToolRegistry, c as createMcpControlplaneToolRegistry, d as createMcpToolRegistry, e as createMcpWebhookToolRegistry } from '../mcp-tool-registries-D3rWSppt.js';
5
5
  import { createBoardLiveCardsMcp, BoardLiveCardsMcpBoardDeps, BoardLiveCardsMcpNonCoreDeps, BoardLiveCardsMcpCardStoreDeps, BoardLiveCardsMcp } from '../board-live-cards-mcp.js';
6
- import { a as CommandResult } from '../board-live-cards-public-DSRamFm8.js';
7
- export { B as BoardChangeNotification, c as BoardLiveCardsPublic, d as BoardNonCorePlatformAdapter, e as BoardPlatformAdapter, f as ChatStorage, C as CommandInput } from '../board-live-cards-public-DSRamFm8.js';
8
- import { S as SseHub } from '../sse-hub-DM8bw-dO.js';
9
- import { C as CardFileMetadataStore } from '../artifacts-store-lib-D4qf7Q-7.js';
10
- import { A as AsyncBoardPlatformAdapter } from '../board-platform-adapter-async-JP9V-U5E.js';
6
+ import { CommandResult, BoardSseOneShotPayload } from '../board-live-cards-public.js';
7
+ export { BoardLiveCardsPublic, BoardNonCorePlatformAdapter, BoardPlatformAdapter, CommandInput } from '../board-live-cards-public.js';
8
+ import { S as SseHub } from '../sse-hub-D_94fV87.js';
9
+ import { C as CardFileMetadataStore } from '../artifacts-store-lib-D6Bo4yFN.js';
10
+ import { A as AsyncBoardPlatformAdapter } from '../board-platform-adapter-async-ByBRFn1G.js';
11
11
  import { ExecutionRef } from '../execution-refs.js';
12
- export { A as AsyncBoardLiveCardsPublic } from '../board-live-cards-public-async-DlyC3PgC.js';
13
- export { B as BlobStorage, K as KVStorage, a as KindValueRef } from '../storage-interface-D-iEiTJA.js';
12
+ export { A as AsyncBoardLiveCardsPublic } from '../board-live-cards-public-async-U98IXUBx.js';
13
+ export { B as BlobStorage, K as KVStorage, a as KindValueRef } from '../storage-interface-DogVPooM.js';
14
+ export { B as BoardChangeNotification } from '../board-live-cards-lib-iU8xOwNp.js';
15
+ export { C as ChatStorage } from '../board-callback-transport-Bekq8Gp-.js';
14
16
  import '../queue-lane-registry-PaZuFpwp.js';
15
17
  import '../chat-store-public.js';
16
18
  import '../types-BBhqYGhE.js';
17
- import '../storage-async-interface-CG0bMqvE.js';
19
+ import '../storage-async-interface-Cb-SULrI.js';
18
20
 
19
21
  /**
20
22
  * server-runtime/notifications.ts
@@ -98,11 +100,6 @@ interface McpFacadeBoardContextLike {
98
100
  id: string;
99
101
  };
100
102
  }) => Promise<CommandResult>;
101
- cardRefreshedNotify: (input: {
102
- params: {
103
- cardId: string;
104
- };
105
- }) => Promise<CommandResult>;
106
103
  upsertCard: (input: {
107
104
  params: {
108
105
  cardId: string;
@@ -184,43 +181,25 @@ declare function createMcpFacadeModule(deps: McpFacadeDeps): McpFacadeModule;
184
181
  * index.ts.
185
182
  */
186
183
 
187
- /** Minimum surface of the kv-storage handle used to read persisted status. */
188
- interface KvStorageReader {
189
- read(key: string): unknown | Promise<unknown>;
190
- }
191
- /** Minimum surface of the board-platform adapter consumed by readStatusSnapshot. */
192
- interface BoardAdapterForPayload {
193
- kvStorageForRef(ref: string): KvStorageReader;
194
- }
195
184
  /** Minimum surface of the board-ops handle consumed by payload readers. */
196
185
  interface BoardOpsForPayload {
197
- getAllOutputsComputedValues(input: Record<string, unknown>): {
198
- status: string;
199
- data?: unknown;
200
- } | Promise<{
201
- status: string;
202
- data?: unknown;
203
- }>;
204
- getAllOutputsDataObjects(input: Record<string, unknown>): {
186
+ buildSseOneShotPayload(input: Record<string, unknown>): {
205
187
  status: string;
206
- data?: unknown;
188
+ data?: BoardSseOneShotPayload;
207
189
  } | Promise<{
208
190
  status: string;
209
- data?: unknown;
191
+ data?: BoardSseOneShotPayload;
210
192
  }>;
211
193
  }
212
194
  /** Subset of BoardContext consumed by runtime-payload readers. */
213
195
  interface RuntimePayloadBoardContext {
214
196
  boardOps: BoardOpsForPayload;
215
- boardAdapter: BoardAdapterForPayload;
216
- outputsStoreRef: string;
217
197
  notification: NotificationState;
218
198
  }
219
199
  interface RuntimePayloadDeps {
220
200
  boardId: string;
221
201
  /** Live reference to the runtime's board-contexts array (read on each call). */
222
202
  boardContexts: ReadonlyArray<RuntimePayloadBoardContext>;
223
- readCardDefinitions: () => Promise<Array<Record<string, unknown>>>;
224
203
  readChatRecords: (cardId: string) => Promise<Array<Record<string, unknown>>>;
225
204
  getChatProcessing: (cardId: string) => Promise<boolean>;
226
205
  }
@@ -248,7 +227,7 @@ declare function createRuntimePayloadModule(deps: RuntimePayloadDeps): RuntimePa
248
227
  interface ControlplaneToolHandlersDeps {
249
228
  boardId: string;
250
229
  bootstrapBoard: () => Promise<void>;
251
- sseHub: Pick<SseHub, 'has' | 'subscribeChat' | 'unsubscribeChat'>;
230
+ sseHub: Pick<SseHub, 'has' | 'subscribeChat' | 'unsubscribeChat' | 'subscribeChannel' | 'unsubscribeChannel'>;
252
231
  onChannelSubscribed?: (clientId: string, channelName: string, params: {
253
232
  cardId?: string;
254
233
  }) => void;
@@ -1,2 +1,2 @@
1
- export{c as appendNotification,j as createCardFileOps,h as createControlplaneToolHandlers,m as createMcpControlplaneToolRegistry,n as createMcpFacadeModule,k as createMcpToolRegistry,l as createMcpWebhookToolRegistry,i as createRuntimePayloadModule,d as expectControlplaneSuccess,e as expectControlplaneSuccessAsync,f as getCardMetaKey,b as hasNonEmptyCardCountStatus,a as makeNotificationState,g as readCardMetaValue}from'../chunk-3MMTBEAO.js';export{b as getMcpArgNumber,c as getMcpArgRecord,a as getMcpArgString,e as getRequiredMcpArgNumber,d as getRequiredMcpArgRecord,f as parseMcpUploadBytes}from'../chunk-O7NOHKVR.js';export{b as extractMcpFailureMessage,a as invokeMcpTool}from'../chunk-ZJ5M5COT.js';export{a as createHostedBoardQueueLaneRegistry}from'../chunk-6OPXQPSC.js';export{d as concatUint8Arrays,c as escapeRegExp,b as executionWhatToRunValue,a as isAsyncBoardPlatformAdapter}from'../chunk-FOFGEABN.js';import'../chunk-RKKSVOP2.js';import'../chunk-NNSBBO5R.js';import'../chunk-ANKA7HEJ.js';import'../chunk-44L64VQ2.js';import'../chunk-35N7ONTH.js';import'../chunk-JMDHDY6M.js';import'../chunk-3KC6LBOG.js';import'../chunk-MNEOJWPS.js';import'../chunk-FW4363Y4.js';//# sourceMappingURL=index.js.map
1
+ export{e as appendNotification,l as createCardFileOps,j as createControlplaneToolHandlers,o as createMcpControlplaneToolRegistry,p as createMcpFacadeModule,m as createMcpToolRegistry,n as createMcpWebhookToolRegistry,k as createRuntimePayloadModule,f as expectControlplaneSuccess,g as expectControlplaneSuccessAsync,h as getCardMetaKey,d as hasNonEmptyCardCountStatus,c as makeNotificationState,i as readCardMetaValue}from'../chunk-R4YASXSJ.js';export{a as createHostedBoardQueueLaneRegistry}from'../chunk-7UJQMFVS.js';export{d as concatUint8Arrays,c as escapeRegExp,b as executionWhatToRunValue,a as isAsyncBoardPlatformAdapter}from'../chunk-FOFGEABN.js';import'../chunk-RKKSVOP2.js';export{b as getMcpArgNumber,c as getMcpArgRecord,a as getMcpArgString,e as getRequiredMcpArgNumber,d as getRequiredMcpArgRecord,f as parseMcpUploadBytes}from'../chunk-O7NOHKVR.js';export{b as extractMcpFailureMessage,a as invokeMcpTool}from'../chunk-ZJ5M5COT.js';import'../chunk-6MD6FVE3.js';import'../chunk-ANKA7HEJ.js';import'../chunk-44L64VQ2.js';import'../chunk-VBYNMTWC.js';import'../chunk-JMDHDY6M.js';import'../chunk-3KC6LBOG.js';import'../chunk-MNEOJWPS.js';import'../chunk-FW4363Y4.js';//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkH22NK6KH_cjs=require('../chunk-H22NK6KH.cjs');require('../chunk-BQUQTOPB.cjs'),require('../chunk-VQCIOKJV.cjs'),require('../chunk-GNFE24S7.cjs');Object.defineProperty(exports,"createRoutesWatchers",{enumerable:true,get:function(){return chunkH22NK6KH_cjs.b}});Object.defineProperty(exports,"createSseHub",{enumerable:true,get:function(){return chunkH22NK6KH_cjs.a}});//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunkLFVMX23W_cjs=require('../chunk-LFVMX23W.cjs');require('../chunk-BQUQTOPB.cjs'),require('../chunk-VQCIOKJV.cjs'),require('../chunk-2RIHC5TZ.cjs'),require('../chunk-GNFE24S7.cjs');Object.defineProperty(exports,"createRoutesWatchers",{enumerable:true,get:function(){return chunkLFVMX23W_cjs.b}});Object.defineProperty(exports,"createSseHub",{enumerable:true,get:function(){return chunkLFVMX23W_cjs.a}});//# sourceMappingURL=index.cjs.map
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1,13 +1,15 @@
1
- import { h as RuntimeResponse, g as RuntimeRequest } from '../types-CPnYv7RC.cjs';
2
- import { S as SseHub } from '../sse-hub-BDjWI7JR.cjs';
3
- export { a as SseHubDeps, c as createSseHub } from '../sse-hub-BDjWI7JR.cjs';
4
- import '../board-live-cards-public-BT5HrgqZ.cjs';
5
- import '../storage-interface-D-iEiTJA.cjs';
1
+ import { h as RuntimeResponse, g as RuntimeRequest } from '../types-DxhB6Toz.cjs';
2
+ import { S as SseHub } from '../sse-hub-BRBvymHR.cjs';
3
+ export { a as SseHubDeps, c as createSseHub } from '../sse-hub-BRBvymHR.cjs';
4
+ import '../board-live-cards-public.cjs';
5
+ import '../storage-interface-DogVPooM.cjs';
6
+ import '../board-callback-transport-kP0K6UMq.cjs';
6
7
  import '../execution-refs.cjs';
8
+ import '../board-live-cards-lib-DVh3t9NT.cjs';
7
9
  import '../types-BBhqYGhE.cjs';
8
- import '../board-platform-adapter-async-BZIftm36.cjs';
9
- import '../storage-async-interface-CyO-zwVQ.cjs';
10
- import '../board-live-cards-public-async-CYjr4mgX.cjs';
10
+ import '../board-platform-adapter-async-DjBwE0m9.cjs';
11
+ import '../storage-async-interface-CLOXiqwC.cjs';
12
+ import '../board-live-cards-public-async-Cl0M3j5P.cjs';
11
13
 
12
14
  /**
13
15
  * server-runtime/routes-sse.ts
@@ -48,6 +50,7 @@ interface RoutesSseDeps {
48
50
  */
49
51
 
50
52
  interface RoutesWatchersDeps extends RoutesSseDeps {
53
+ queueSseHub: SseHub;
51
54
  apiBasePath: string;
52
55
  readJsonBody: (req: RuntimeRequest) => Promise<Record<string, unknown>>;
53
56
  initBoardAndSetup: () => Promise<void>;
@@ -1,13 +1,15 @@
1
- import { h as RuntimeResponse, g as RuntimeRequest } from '../types-BsfXZyI3.js';
2
- import { S as SseHub } from '../sse-hub-DM8bw-dO.js';
3
- export { a as SseHubDeps, c as createSseHub } from '../sse-hub-DM8bw-dO.js';
4
- import '../board-live-cards-public-DSRamFm8.js';
5
- import '../storage-interface-D-iEiTJA.js';
1
+ import { h as RuntimeResponse, g as RuntimeRequest } from '../types-BsqzUZNl.js';
2
+ import { S as SseHub } from '../sse-hub-D_94fV87.js';
3
+ export { a as SseHubDeps, c as createSseHub } from '../sse-hub-D_94fV87.js';
4
+ import '../board-live-cards-public.js';
5
+ import '../storage-interface-DogVPooM.js';
6
+ import '../board-callback-transport-Bekq8Gp-.js';
6
7
  import '../execution-refs.js';
8
+ import '../board-live-cards-lib-iU8xOwNp.js';
7
9
  import '../types-BBhqYGhE.js';
8
- import '../board-platform-adapter-async-JP9V-U5E.js';
9
- import '../storage-async-interface-CG0bMqvE.js';
10
- import '../board-live-cards-public-async-DlyC3PgC.js';
10
+ import '../board-platform-adapter-async-ByBRFn1G.js';
11
+ import '../storage-async-interface-Cb-SULrI.js';
12
+ import '../board-live-cards-public-async-U98IXUBx.js';
11
13
 
12
14
  /**
13
15
  * server-runtime/routes-sse.ts
@@ -48,6 +50,7 @@ interface RoutesSseDeps {
48
50
  */
49
51
 
50
52
  interface RoutesWatchersDeps extends RoutesSseDeps {
53
+ queueSseHub: SseHub;
51
54
  apiBasePath: string;
52
55
  readJsonBody: (req: RuntimeRequest) => Promise<Record<string, unknown>>;
53
56
  initBoardAndSetup: () => Promise<void>;
@@ -1,2 +1,2 @@
1
- export{b as createRoutesWatchers,a as createSseHub}from'../chunk-ABAVFLDP.js';import'../chunk-FOFGEABN.js';import'../chunk-44L64VQ2.js';import'../chunk-FW4363Y4.js';//# sourceMappingURL=index.js.map
1
+ export{b as createRoutesWatchers,a as createSseHub}from'../chunk-JB4Q2W7I.js';import'../chunk-FOFGEABN.js';import'../chunk-44L64VQ2.js';import'../chunk-UGB7PC4P.js';import'../chunk-FW4363Y4.js';//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1,12 +1,14 @@
1
- import { g as RuntimeRequest, h as RuntimeResponse } from '../types-CPnYv7RC.cjs';
1
+ import { g as RuntimeRequest, h as RuntimeResponse } from '../types-DxhB6Toz.cjs';
2
2
  import { T as ToolRegistry } from '../mcp-tool-registries-CRtea2x4.cjs';
3
- import '../board-live-cards-public-BT5HrgqZ.cjs';
4
- import '../storage-interface-D-iEiTJA.cjs';
3
+ import '../board-live-cards-public.cjs';
4
+ import '../storage-interface-DogVPooM.cjs';
5
+ import '../board-callback-transport-kP0K6UMq.cjs';
5
6
  import '../execution-refs.cjs';
7
+ import '../board-live-cards-lib-DVh3t9NT.cjs';
6
8
  import '../types-BBhqYGhE.cjs';
7
- import '../board-platform-adapter-async-BZIftm36.cjs';
8
- import '../storage-async-interface-CyO-zwVQ.cjs';
9
- import '../board-live-cards-public-async-CYjr4mgX.cjs';
9
+ import '../board-platform-adapter-async-DjBwE0m9.cjs';
10
+ import '../storage-async-interface-CLOXiqwC.cjs';
11
+ import '../board-live-cards-public-async-Cl0M3j5P.cjs';
10
12
  import '../board-live-cards-mcp.cjs';
11
13
  import '../chat-store-public.cjs';
12
14
 
@@ -1,12 +1,14 @@
1
- import { g as RuntimeRequest, h as RuntimeResponse } from '../types-BsfXZyI3.js';
1
+ import { g as RuntimeRequest, h as RuntimeResponse } from '../types-BsqzUZNl.js';
2
2
  import { T as ToolRegistry } from '../mcp-tool-registries-D3rWSppt.js';
3
- import '../board-live-cards-public-DSRamFm8.js';
4
- import '../storage-interface-D-iEiTJA.js';
3
+ import '../board-live-cards-public.js';
4
+ import '../storage-interface-DogVPooM.js';
5
+ import '../board-callback-transport-Bekq8Gp-.js';
5
6
  import '../execution-refs.js';
7
+ import '../board-live-cards-lib-iU8xOwNp.js';
6
8
  import '../types-BBhqYGhE.js';
7
- import '../board-platform-adapter-async-JP9V-U5E.js';
8
- import '../storage-async-interface-CG0bMqvE.js';
9
- import '../board-live-cards-public-async-DlyC3PgC.js';
9
+ import '../board-platform-adapter-async-ByBRFn1G.js';
10
+ import '../storage-async-interface-Cb-SULrI.js';
11
+ import '../board-live-cards-public-async-U98IXUBx.js';
10
12
  import '../board-live-cards-mcp.js';
11
13
  import '../chat-store-public.js';
12
14
 
@@ -1,4 +1,6 @@
1
- import { h as RuntimeResponse } from './types-BsfXZyI3.js';
1
+ import { h as RuntimeResponse } from './types-DxhB6Toz.cjs';
2
+ import { R as RuntimeNotification, d as RuntimeNotificationBatch } from './board-live-cards-lib-DVh3t9NT.cjs';
3
+ import { CommandResult } from './board-live-cards-public.cjs';
2
4
 
3
5
  /**
4
6
  * server-runtime/sse-hub.ts
@@ -11,17 +13,17 @@ import { h as RuntimeResponse } from './types-BsfXZyI3.js';
11
13
  * State owned here:
12
14
  * - sseClients (clientId -> { res, subscribedChatCardIds })
13
15
  * - sseEventId monotonic counter
14
- * - chat-subscription scan timer + per-card cursor/processing snapshots
15
16
  *
16
17
  * Dependencies passed in by the runtime:
17
- * - chatStorage for tailing chat history
18
- * - readChatRecords for building chat-scoped notifications
18
+ * - chat-store one-shot builder for subscription hydration
19
19
  * - optional host hooks (onSseClientDisconnected, etc.)
20
20
  */
21
21
 
22
22
  interface SseClientState {
23
23
  res: RuntimeResponse;
24
24
  subscribedChatCardIds: Set<string>;
25
+ subscribedChannelNames: Set<string>;
26
+ subscribedCardChannels: Map<string, Set<string>>;
25
27
  }
26
28
  interface SseHub {
27
29
  /** Number of currently-registered SSE clients. */
@@ -35,27 +37,28 @@ interface SseHub {
35
37
  /** Best-effort transport-level flush for the underlying response object. */
36
38
  flushTransport(res: RuntimeResponse): void;
37
39
  /** Register a fresh client. Any prior registration with the same id is disconnected first. */
38
- register(clientId: string, res: RuntimeResponse, subscribedChatCardIds?: Set<string>): void;
40
+ register(clientId: string, res: RuntimeResponse, state?: {
41
+ subscribedChatCardIds?: Set<string>;
42
+ subscribedChannelNames?: Set<string>;
43
+ subscribedCardChannels?: Map<string, Set<string>>;
44
+ }): void;
39
45
  /** Drop a registered client. If expectedRes is supplied and does not match, no-op. */
40
46
  disconnect(clientId: string, expectedRes?: RuntimeResponse): void;
41
47
  /** Write an SSE frame to one client; transport errors disconnect that client. */
42
48
  writeFrame(clientId: string, payload: unknown): void;
43
- /** Subscribe a client to a card's chat stream and prime its cursor. */
49
+ /** Subscribe a client to a card's chat stream and send one-shot hydration. */
44
50
  subscribeChat(clientId: string, cardId: string): Promise<boolean>;
45
51
  /** Unsubscribe a client from a card's chat stream. */
46
52
  unsubscribeChat(clientId: string, cardId: string): boolean;
53
+ /** Subscribe a client to a named board or card-scoped channel. */
54
+ subscribeChannel(clientId: string, channelName: string, cardId?: string): boolean;
55
+ /** Unsubscribe a client from a named board or card-scoped channel. */
56
+ unsubscribeChannel(clientId: string, channelName: string, cardId?: string): boolean;
47
57
  /** Broadcast a notification batch; chat-scoped notes are routed to chat-subscribed clients. */
48
- broadcastNotificationBatch(notifications: unknown[]): void;
49
- /** Push a fresh card-chats notification to every chat-subscribed client. */
50
- broadcastCardChats(cardId: string, receiving?: boolean): Promise<void>;
58
+ broadcastNotificationBatch(notifications: RuntimeNotification[]): void;
51
59
  }
52
60
  interface SseHubDeps {
53
- readChatRecords: (cardId: string) => Promise<Array<Record<string, unknown>>>;
54
- readChatAfter: (cardId: string, cursor: string | null) => Promise<{
55
- records: Array<Record<string, unknown>>;
56
- cursor: string | null;
57
- }>;
58
- getChatProcessing: (cardId: string) => Promise<boolean>;
61
+ buildChatOneShotBatch: (cardId: string, receiving: boolean) => Promise<CommandResult<RuntimeNotificationBatch>>;
59
62
  onSseClientDisconnected?: (clientId: string) => void;
60
63
  }
61
64
  declare function createSseHub(deps: SseHubDeps): SseHub;
@@ -1,4 +1,6 @@
1
- import { h as RuntimeResponse } from './types-CPnYv7RC.cjs';
1
+ import { h as RuntimeResponse } from './types-BsqzUZNl.js';
2
+ import { R as RuntimeNotification, d as RuntimeNotificationBatch } from './board-live-cards-lib-iU8xOwNp.js';
3
+ import { CommandResult } from './board-live-cards-public.js';
2
4
 
3
5
  /**
4
6
  * server-runtime/sse-hub.ts
@@ -11,17 +13,17 @@ import { h as RuntimeResponse } from './types-CPnYv7RC.cjs';
11
13
  * State owned here:
12
14
  * - sseClients (clientId -> { res, subscribedChatCardIds })
13
15
  * - sseEventId monotonic counter
14
- * - chat-subscription scan timer + per-card cursor/processing snapshots
15
16
  *
16
17
  * Dependencies passed in by the runtime:
17
- * - chatStorage for tailing chat history
18
- * - readChatRecords for building chat-scoped notifications
18
+ * - chat-store one-shot builder for subscription hydration
19
19
  * - optional host hooks (onSseClientDisconnected, etc.)
20
20
  */
21
21
 
22
22
  interface SseClientState {
23
23
  res: RuntimeResponse;
24
24
  subscribedChatCardIds: Set<string>;
25
+ subscribedChannelNames: Set<string>;
26
+ subscribedCardChannels: Map<string, Set<string>>;
25
27
  }
26
28
  interface SseHub {
27
29
  /** Number of currently-registered SSE clients. */
@@ -35,27 +37,28 @@ interface SseHub {
35
37
  /** Best-effort transport-level flush for the underlying response object. */
36
38
  flushTransport(res: RuntimeResponse): void;
37
39
  /** Register a fresh client. Any prior registration with the same id is disconnected first. */
38
- register(clientId: string, res: RuntimeResponse, subscribedChatCardIds?: Set<string>): void;
40
+ register(clientId: string, res: RuntimeResponse, state?: {
41
+ subscribedChatCardIds?: Set<string>;
42
+ subscribedChannelNames?: Set<string>;
43
+ subscribedCardChannels?: Map<string, Set<string>>;
44
+ }): void;
39
45
  /** Drop a registered client. If expectedRes is supplied and does not match, no-op. */
40
46
  disconnect(clientId: string, expectedRes?: RuntimeResponse): void;
41
47
  /** Write an SSE frame to one client; transport errors disconnect that client. */
42
48
  writeFrame(clientId: string, payload: unknown): void;
43
- /** Subscribe a client to a card's chat stream and prime its cursor. */
49
+ /** Subscribe a client to a card's chat stream and send one-shot hydration. */
44
50
  subscribeChat(clientId: string, cardId: string): Promise<boolean>;
45
51
  /** Unsubscribe a client from a card's chat stream. */
46
52
  unsubscribeChat(clientId: string, cardId: string): boolean;
53
+ /** Subscribe a client to a named board or card-scoped channel. */
54
+ subscribeChannel(clientId: string, channelName: string, cardId?: string): boolean;
55
+ /** Unsubscribe a client from a named board or card-scoped channel. */
56
+ unsubscribeChannel(clientId: string, channelName: string, cardId?: string): boolean;
47
57
  /** Broadcast a notification batch; chat-scoped notes are routed to chat-subscribed clients. */
48
- broadcastNotificationBatch(notifications: unknown[]): void;
49
- /** Push a fresh card-chats notification to every chat-subscribed client. */
50
- broadcastCardChats(cardId: string, receiving?: boolean): Promise<void>;
58
+ broadcastNotificationBatch(notifications: RuntimeNotification[]): void;
51
59
  }
52
60
  interface SseHubDeps {
53
- readChatRecords: (cardId: string) => Promise<Array<Record<string, unknown>>>;
54
- readChatAfter: (cardId: string, cursor: string | null) => Promise<{
55
- records: Array<Record<string, unknown>>;
56
- cursor: string | null;
57
- }>;
58
- getChatProcessing: (cardId: string) => Promise<boolean>;
61
+ buildChatOneShotBatch: (cardId: string, receiving: boolean) => Promise<CommandResult<RuntimeNotificationBatch>>;
59
62
  onSseClientDisconnected?: (clientId: string) => void;
60
63
  }
61
64
  declare function createSseHub(deps: SseHubDeps): SseHub;
@@ -3,7 +3,7 @@ import { l as StepMachineStore } from '../types-DjlwALZC.cjs';
3
3
  export { MemoryStore } from '../stores/memory.cjs';
4
4
  export { KVStorageStore } from '../stores/kv.cjs';
5
5
  import { ExecutionRef } from '../execution-refs.cjs';
6
- import '../storage-interface-D-iEiTJA.cjs';
6
+ import '../storage-interface-DogVPooM.cjs';
7
7
 
8
8
  /**
9
9
  * The single normalized shape the engine consumes.
@@ -3,7 +3,7 @@ import { l as StepMachineStore } from '../types-DjlwALZC.js';
3
3
  export { MemoryStore } from '../stores/memory.js';
4
4
  export { KVStorageStore } from '../stores/kv.js';
5
5
  import { ExecutionRef } from '../execution-refs.js';
6
- import '../storage-interface-D-iEiTJA.js';
6
+ import '../storage-interface-DogVPooM.js';
7
7
 
8
8
  /**
9
9
  * The single normalized shape the engine consumes.
@@ -1,4 +1,4 @@
1
- import { b as BlobStat, a as KindValueRef, Q as QueueMessage, c as QueueLeasedMessage, d as QueueDeadLetterMessage, J as JournalEntry, e as JournalReadResult } from './storage-interface-D-iEiTJA.cjs';
1
+ import { b as BlobStat, a as KindValueRef, c as QueueMessage, d as QueueLeasedMessage, e as QueueDeadLetterMessage, J as JournalEntry, f as JournalReadResult } from './storage-interface-DogVPooM.cjs';
2
2
 
3
3
  interface AsyncBlobStorage {
4
4
  read(key: string): Promise<string | null>;
@@ -97,4 +97,4 @@ interface AsyncAtomicRelayLock {
97
97
  }
98
98
  declare function withAsyncRelayLock(lock: AsyncAtomicRelayLock, work: () => Promise<void>, continuation?: () => Promise<void> | void): Promise<boolean>;
99
99
 
100
- export { type AsyncArchiveFactory as A, type AsyncBlobStorage as a, type AsyncJournalStorage as b, type AsyncKVStorage as c, type AsyncAtomicRelayLock as d, type AsyncQueueStorage as e, type AsyncScratchStorage as f, type AsyncJSONStorage as g, type AsyncStorageProvider as h, withAsyncRelayLock as w };
100
+ export { type AsyncKVStorage as A, type AsyncBlobStorage as a, type AsyncQueueStorage as b, type AsyncScratchStorage as c, type AsyncArchiveFactory as d, type AsyncJournalStorage as e, type AsyncAtomicRelayLock as f, type AsyncJSONStorage as g, type AsyncStorageProvider as h, withAsyncRelayLock as w };
@@ -1,4 +1,4 @@
1
- import { b as BlobStat, a as KindValueRef, Q as QueueMessage, c as QueueLeasedMessage, d as QueueDeadLetterMessage, J as JournalEntry, e as JournalReadResult } from './storage-interface-D-iEiTJA.js';
1
+ import { b as BlobStat, a as KindValueRef, c as QueueMessage, d as QueueLeasedMessage, e as QueueDeadLetterMessage, J as JournalEntry, f as JournalReadResult } from './storage-interface-DogVPooM.js';
2
2
 
3
3
  interface AsyncBlobStorage {
4
4
  read(key: string): Promise<string | null>;
@@ -97,4 +97,4 @@ interface AsyncAtomicRelayLock {
97
97
  }
98
98
  declare function withAsyncRelayLock(lock: AsyncAtomicRelayLock, work: () => Promise<void>, continuation?: () => Promise<void> | void): Promise<boolean>;
99
99
 
100
- export { type AsyncArchiveFactory as A, type AsyncBlobStorage as a, type AsyncJournalStorage as b, type AsyncKVStorage as c, type AsyncAtomicRelayLock as d, type AsyncQueueStorage as e, type AsyncScratchStorage as f, type AsyncJSONStorage as g, type AsyncStorageProvider as h, withAsyncRelayLock as w };
100
+ export { type AsyncKVStorage as A, type AsyncBlobStorage as a, type AsyncQueueStorage as b, type AsyncScratchStorage as c, type AsyncArchiveFactory as d, type AsyncJournalStorage as e, type AsyncAtomicRelayLock as f, type AsyncJSONStorage as g, type AsyncStorageProvider as h, withAsyncRelayLock as w };
@@ -226,4 +226,4 @@ interface AtomicRelayLock {
226
226
  tryAcquire(): (() => void) | null;
227
227
  }
228
228
 
229
- export { type ArchiveFactory as A, type BlobStorage as B, type JournalEntry as J, type KVStorage as K, type QueueMessage as Q, type ScratchStorage as S, type KindValueRef as a, type BlobStat as b, type QueueLeasedMessage as c, type QueueDeadLetterMessage as d, type JournalReadResult as e, type QueueStorage as f, type JournalStorage as g, type AtomicRelayLock as h, parseRef as p, serializeRef as s };
229
+ export { type ArchiveFactory as A, type BlobStorage as B, type JournalEntry as J, type KVStorage as K, type QueueStorage as Q, type ScratchStorage as S, type KindValueRef as a, type BlobStat as b, type QueueMessage as c, type QueueLeasedMessage as d, type QueueDeadLetterMessage as e, type JournalReadResult as f, type AtomicRelayLock as g, type JournalStorage as h, parseRef as p, serializeRef as s };
@@ -226,4 +226,4 @@ interface AtomicRelayLock {
226
226
  tryAcquire(): (() => void) | null;
227
227
  }
228
228
 
229
- export { type ArchiveFactory as A, type BlobStorage as B, type JournalEntry as J, type KVStorage as K, type QueueMessage as Q, type ScratchStorage as S, type KindValueRef as a, type BlobStat as b, type QueueLeasedMessage as c, type QueueDeadLetterMessage as d, type JournalReadResult as e, type QueueStorage as f, type JournalStorage as g, type AtomicRelayLock as h, parseRef as p, serializeRef as s };
229
+ export { type ArchiveFactory as A, type BlobStorage as B, type JournalEntry as J, type KVStorage as K, type QueueStorage as Q, type ScratchStorage as S, type KindValueRef as a, type BlobStat as b, type QueueMessage as c, type QueueLeasedMessage as d, type QueueDeadLetterMessage as e, type JournalReadResult as f, type AtomicRelayLock as g, type JournalStorage as h, parseRef as p, serializeRef as s };
@@ -1,4 +1,4 @@
1
1
  export { MemoryStore } from './memory.cjs';
2
2
  export { KVStorageStore } from './kv.cjs';
3
3
  import '../types-DjlwALZC.cjs';
4
- import '../storage-interface-D-iEiTJA.cjs';
4
+ import '../storage-interface-DogVPooM.cjs';
@@ -1,4 +1,4 @@
1
1
  export { MemoryStore } from './memory.js';
2
2
  export { KVStorageStore } from './kv.js';
3
3
  import '../types-DjlwALZC.js';
4
- import '../storage-interface-D-iEiTJA.js';
4
+ import '../storage-interface-DogVPooM.js';
@@ -1,5 +1,5 @@
1
1
  import { l as StepMachineStore, k as StepMachineState } from '../types-DjlwALZC.cjs';
2
- import { K as KVStorage } from '../storage-interface-D-iEiTJA.cjs';
2
+ import { K as KVStorage } from '../storage-interface-DogVPooM.cjs';
3
3
 
4
4
  /**
5
5
  * yaml-flow - KVStorageStore
@@ -1,5 +1,5 @@
1
1
  import { l as StepMachineStore, k as StepMachineState } from '../types-DjlwALZC.js';
2
- import { K as KVStorage } from '../storage-interface-D-iEiTJA.js';
2
+ import { K as KVStorage } from '../storage-interface-DogVPooM.js';
3
3
 
4
4
  /**
5
5
  * yaml-flow - KVStorageStore
@@ -1,8 +1,9 @@
1
- import { l as BoardLiveCardsNonCorePublic, e as BoardPlatformAdapter, d as BoardNonCorePlatformAdapter, c as BoardLiveCardsPublic, a as CommandResult } from './board-live-cards-public-DSRamFm8.js';
1
+ import { BoardLiveCardsNonCorePublic, BoardPlatformAdapter, BoardNonCorePlatformAdapter, BoardLiveCardsPublic, CommandResult } from './board-live-cards-public.js';
2
+ import { R as RuntimeNotification, d as RuntimeNotificationBatch } from './board-live-cards-lib-iU8xOwNp.js';
2
3
  import { ExecutionRef } from './execution-refs.js';
3
- import { f as QueueStorage, a as KindValueRef } from './storage-interface-D-iEiTJA.js';
4
- import { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-JP9V-U5E.js';
5
- import { A as AsyncBoardLiveCardsPublic } from './board-live-cards-public-async-DlyC3PgC.js';
4
+ import { Q as QueueStorage, a as KindValueRef } from './storage-interface-DogVPooM.js';
5
+ import { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-ByBRFn1G.js';
6
+ import { A as AsyncBoardLiveCardsPublic } from './board-live-cards-public-async-U98IXUBx.js';
6
7
 
7
8
  interface BoardWorkerRequest {
8
9
  boardId?: string;
@@ -224,6 +225,7 @@ interface SingleBoardRuntime {
224
225
  error?: string;
225
226
  }>;
226
227
  };
228
+ emitNotification(notification: RuntimeNotification | RuntimeNotificationBatch): void;
227
229
  }
228
230
  interface MultiBoardRuntime {
229
231
  readonly apiBasePath: string;
@@ -1,8 +1,9 @@
1
- import { l as BoardLiveCardsNonCorePublic, e as BoardPlatformAdapter, d as BoardNonCorePlatformAdapter, c as BoardLiveCardsPublic, a as CommandResult } from './board-live-cards-public-BT5HrgqZ.cjs';
1
+ import { BoardLiveCardsNonCorePublic, BoardPlatformAdapter, BoardNonCorePlatformAdapter, BoardLiveCardsPublic, CommandResult } from './board-live-cards-public.cjs';
2
+ import { R as RuntimeNotification, d as RuntimeNotificationBatch } from './board-live-cards-lib-DVh3t9NT.cjs';
2
3
  import { ExecutionRef } from './execution-refs.cjs';
3
- import { f as QueueStorage, a as KindValueRef } from './storage-interface-D-iEiTJA.cjs';
4
- import { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-BZIftm36.cjs';
5
- import { A as AsyncBoardLiveCardsPublic } from './board-live-cards-public-async-CYjr4mgX.cjs';
4
+ import { Q as QueueStorage, a as KindValueRef } from './storage-interface-DogVPooM.cjs';
5
+ import { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-DjBwE0m9.cjs';
6
+ import { A as AsyncBoardLiveCardsPublic } from './board-live-cards-public-async-Cl0M3j5P.cjs';
6
7
 
7
8
  interface BoardWorkerRequest {
8
9
  boardId?: string;
@@ -224,6 +225,7 @@ interface SingleBoardRuntime {
224
225
  error?: string;
225
226
  }>;
226
227
  };
228
+ emitNotification(notification: RuntimeNotification | RuntimeNotificationBatch): void;
227
229
  }
228
230
  interface MultiBoardRuntime {
229
231
  readonly apiBasePath: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yaml-flow",
3
- "version": "8.8.7",
3
+ "version": "8.9.0",
4
4
  "description": "Unified workflow engine: step-machine (sequential) + event-graph (stateless DAG) with pluggable storage",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -34,6 +34,11 @@
34
34
  "import": "./lib/card-store-public.js",
35
35
  "require": "./lib/card-store-public.cjs"
36
36
  },
37
+ "./queue-storage-public": {
38
+ "types": "./lib/queue-storage-public.d.ts",
39
+ "import": "./lib/queue-storage-public.js",
40
+ "require": "./lib/queue-storage-public.cjs"
41
+ },
37
42
  "./artifacts-store-public": {
38
43
  "types": "./lib/artifacts-store-public.d.ts",
39
44
  "import": "./lib/artifacts-store-public.js",
@@ -60,6 +65,16 @@
60
65
  "import": "./lib/compute-jsonata/index.js",
61
66
  "require": "./lib/compute-jsonata/index.cjs"
62
67
  },
68
+ "./notification-consumer": {
69
+ "types": "./lib/notification-consumer/index.d.ts",
70
+ "import": "./lib/notification-consumer/index.js",
71
+ "require": "./lib/notification-consumer/index.cjs"
72
+ },
73
+ "./board-state-reducer": {
74
+ "types": "./lib/board-state-reducer.d.ts",
75
+ "import": "./lib/board-state-reducer.js",
76
+ "require": "./lib/board-state-reducer.cjs"
77
+ },
63
78
  "./browser/compute-jsonata": "./browser/compute-jsonata.js",
64
79
  "./browser/compute-jsonata.js": "./browser/compute-jsonata.js",
65
80
  "./card-validation": {