yaml-flow 8.7.0 → 8.8.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 (200) hide show
  1. package/browser/adapters/firebase-storage.js +2 -2
  2. package/browser/adapters/firestore-storage.js +2 -2
  3. package/browser/adapters/localstorage-storage.js +3 -3
  4. package/browser/asset-integrity.json +11 -15
  5. package/browser/live-cards.schema.json +10 -1
  6. package/browser/server-runtime-controlface.js +5 -5
  7. package/examples/ARCHITECTURE.md +0 -27
  8. package/examples/board/server/board-server.js +151 -101
  9. package/examples/board/server/board-worker/source_def_flows.json +0 -8
  10. package/examples/board/server/board-worker/task-executor.js +1 -3
  11. package/examples/board/test/server-http-test.js +181 -152
  12. package/examples/board-firestore/server/worker.js +9 -1
  13. package/examples/portfolio-tracker/portfolio-tracker.js +11 -1
  14. package/examples/portfolio-tracker/test/portfolio-t4.js +12 -2
  15. package/lib/{artifacts-store-lib-D9nMkVcE.d.cts → artifacts-store-lib-C6qBpMfU.d.cts} +1 -1
  16. package/lib/{artifacts-store-lib-DSSMqVL2.d.ts → artifacts-store-lib-D4qf7Q-7.d.ts} +1 -1
  17. package/lib/artifacts-store-public.d.cts +3 -3
  18. package/lib/artifacts-store-public.d.ts +3 -3
  19. package/lib/board-live-cards-mcp.cjs +1 -1
  20. package/lib/board-live-cards-mcp.d.cts +7 -7
  21. package/lib/board-live-cards-mcp.d.ts +7 -7
  22. package/lib/board-live-cards-mcp.js +1 -1
  23. package/lib/board-live-cards-node.cjs +8 -8
  24. package/lib/board-live-cards-node.d.cts +16 -14
  25. package/lib/board-live-cards-node.d.ts +16 -14
  26. package/lib/board-live-cards-node.js +8 -8
  27. package/lib/{board-live-cards-public-DQzPe7A9.d.cts → board-live-cards-public-BT5HrgqZ.d.cts} +82 -59
  28. package/lib/{board-live-cards-public-D-DJek3X.d.ts → board-live-cards-public-DSRamFm8.d.ts} +82 -59
  29. package/lib/{board-live-cards-public-async-CgMCYYft.d.cts → board-live-cards-public-async-CYjr4mgX.d.cts} +18 -8
  30. package/lib/{board-live-cards-public-async-3hUuHxDx.d.ts → board-live-cards-public-async-DlyC3PgC.d.ts} +18 -8
  31. package/lib/board-live-cards-public.cjs +1 -1
  32. package/lib/board-live-cards-public.d.cts +2 -2
  33. package/lib/board-live-cards-public.d.ts +2 -2
  34. package/lib/board-live-cards-public.js +1 -1
  35. package/lib/board-live-cards-server-runtime.cjs +1 -1
  36. package/lib/board-live-cards-server-runtime.d.cts +6 -8
  37. package/lib/board-live-cards-server-runtime.d.ts +6 -8
  38. package/lib/board-live-cards-server-runtime.js +1 -1
  39. package/lib/board-livegraph-runtime/index.cjs +1 -1
  40. package/lib/board-livegraph-runtime/index.js +1 -1
  41. package/lib/{board-platform-adapter-async-DOfEq_HC.d.cts → board-platform-adapter-async-BZIftm36.d.cts} +18 -14
  42. package/lib/{board-platform-adapter-async-JZPCzZnH.d.ts → board-platform-adapter-async-JP9V-U5E.d.ts} +18 -14
  43. package/lib/board-worker-adapter.cjs +1 -24
  44. package/lib/board-worker-adapter.d.cts +68 -3
  45. package/lib/board-worker-adapter.d.ts +68 -3
  46. package/lib/board-worker-adapter.js +1 -24
  47. package/lib/card-compute/index.cjs +1 -1
  48. package/lib/card-compute/index.js +1 -1
  49. package/lib/card-store-public.d.cts +2 -2
  50. package/lib/card-store-public.d.ts +2 -2
  51. package/lib/card-validation.cjs +1 -1
  52. package/lib/card-validation.js +1 -1
  53. package/lib/chat-store-public.cjs +1 -1
  54. package/lib/chat-store-public.d.cts +20 -20
  55. package/lib/chat-store-public.d.ts +20 -20
  56. package/lib/chat-store-public.js +1 -1
  57. package/lib/chunk-2GSI6C45.js +7 -0
  58. package/lib/chunk-35N7ONTH.js +2 -0
  59. package/lib/chunk-37HDEW26.cjs +2 -0
  60. package/lib/{chunk-PMUSJQSR.cjs → chunk-3CZCGNY4.cjs} +2 -2
  61. package/lib/chunk-3KC6LBOG.js +3 -0
  62. package/lib/{chunk-BQS3EIEK.js → chunk-44L64VQ2.js} +3 -3
  63. package/lib/chunk-6OPXQPSC.js +2 -0
  64. package/lib/chunk-7BTZCOT5.js +2 -0
  65. package/lib/{chunk-U2N6MCD5.cjs → chunk-7JVHYHT2.cjs} +2 -2
  66. package/lib/chunk-7QZ267XP.cjs +2 -0
  67. package/lib/{chunk-XQRNDX4Q.js → chunk-ANKA7HEJ.js} +2 -2
  68. package/lib/{chunk-KAWQPLIE.cjs → chunk-BQUQTOPB.cjs} +2 -2
  69. package/lib/chunk-CMFD27ZC.cjs +3 -0
  70. package/lib/chunk-DOFNXJ4C.js +3 -0
  71. package/lib/chunk-ETW3BXHD.cjs +2 -0
  72. package/lib/chunk-FO4KNVU7.cjs +2 -0
  73. package/lib/{chunk-SGV7PU4H.js → chunk-FOFGEABN.js} +2 -2
  74. package/lib/chunk-GPCMBPLK.cjs +2 -0
  75. package/lib/chunk-GU3T75C4.js +3 -0
  76. package/lib/chunk-H3EHFCDZ.js +3 -0
  77. package/lib/chunk-H4TYOSMD.cjs +45 -0
  78. package/lib/chunk-HFW7E2Z7.cjs +4 -0
  79. package/lib/chunk-HWYMZK3N.cjs +3 -0
  80. package/lib/chunk-IQIZA7TN.cjs +7 -0
  81. package/lib/chunk-J4MHQ7JF.js +45 -0
  82. package/lib/chunk-MCPADH33.cjs +2 -0
  83. package/lib/chunk-NBJTYAYN.cjs +2 -0
  84. package/lib/chunk-NDAKMJQK.cjs +3 -0
  85. package/lib/chunk-NNSBBO5R.js +2 -0
  86. package/lib/chunk-NU5NO5NM.js +2 -0
  87. package/lib/chunk-O4RKTQBP.cjs +3 -0
  88. package/lib/chunk-O5UYCGIN.js +2 -0
  89. package/lib/chunk-Q3OTUDIE.js +2 -0
  90. package/lib/chunk-R44X3RQB.cjs +2 -0
  91. package/lib/chunk-RKKSVOP2.js +2 -0
  92. package/lib/chunk-UB54HZA4.cjs +2 -0
  93. package/lib/{chunk-CIAJNUR4.js → chunk-VGDLSS2H.js} +2 -2
  94. package/lib/{chunk-SFVO2LB2.cjs → chunk-VQCIOKJV.cjs} +3 -3
  95. package/lib/chunk-VS3BXEYK.js +4 -0
  96. package/lib/chunk-Y4WK7HE4.js +2 -0
  97. package/lib/chunk-YBYXCFAI.js +2 -0
  98. package/lib/chunk-ZK3E7L4Y.cjs +2 -0
  99. package/lib/cloud-storage.cjs +1 -1
  100. package/lib/cloud-storage.d.cts +6 -6
  101. package/lib/cloud-storage.d.ts +6 -6
  102. package/lib/cloud-storage.js +1 -1
  103. package/lib/continuous-event-graph/index.cjs +1 -1
  104. package/lib/continuous-event-graph/index.js +1 -1
  105. package/lib/execution-refs.cjs +1 -1
  106. package/lib/execution-refs.js +1 -1
  107. package/lib/firebase-storage/index.cjs +2 -2
  108. package/lib/firebase-storage/index.d.cts +2 -2
  109. package/lib/firebase-storage/index.d.ts +2 -2
  110. package/lib/firebase-storage/index.js +2 -2
  111. package/lib/firestore-storage/index.cjs +2 -2
  112. package/lib/firestore-storage/index.d.cts +23 -8
  113. package/lib/firestore-storage/index.d.ts +23 -8
  114. package/lib/firestore-storage/index.js +2 -2
  115. package/lib/index.cjs +2 -2
  116. package/lib/index.d.cts +1 -1
  117. package/lib/index.d.ts +1 -1
  118. package/lib/index.js +1 -1
  119. package/lib/localstorage-storage/index.cjs +1 -1
  120. package/lib/localstorage-storage/index.d.cts +10 -6
  121. package/lib/localstorage-storage/index.d.ts +10 -6
  122. package/lib/localstorage-storage/index.js +1 -1
  123. package/lib/{mcp-tool-registries-W3TRj6O5.d.cts → mcp-tool-registries-CRtea2x4.d.cts} +3 -0
  124. package/lib/{mcp-tool-registries-BBObLYga.d.ts → mcp-tool-registries-D3rWSppt.d.ts} +3 -0
  125. package/lib/server-jobs-queue-runner/index.cjs +1 -1
  126. package/lib/server-jobs-queue-runner/index.d.cts +12 -9
  127. package/lib/server-jobs-queue-runner/index.d.ts +12 -9
  128. package/lib/server-jobs-queue-runner/index.js +1 -1
  129. package/lib/server-runtime/index.cjs +1 -1
  130. package/lib/server-runtime/index.d.cts +7 -9
  131. package/lib/server-runtime/index.d.ts +7 -9
  132. package/lib/server-runtime/index.js +1 -1
  133. package/lib/server-runtime-agentface/index.d.cts +7 -9
  134. package/lib/server-runtime-agentface/index.d.ts +7 -9
  135. package/lib/server-runtime-controlface/index.cjs +1 -1
  136. package/lib/server-runtime-controlface/index.d.cts +19 -71
  137. package/lib/server-runtime-controlface/index.d.ts +19 -71
  138. package/lib/server-runtime-controlface/index.js +1 -1
  139. package/lib/server-runtime-core/index.cjs +1 -1
  140. package/lib/server-runtime-core/index.d.cts +61 -21
  141. package/lib/server-runtime-core/index.d.ts +61 -21
  142. package/lib/server-runtime-core/index.js +1 -1
  143. package/lib/server-runtime-watchers/index.cjs +1 -1
  144. package/lib/server-runtime-watchers/index.d.cts +9 -65
  145. package/lib/server-runtime-watchers/index.d.ts +9 -65
  146. package/lib/server-runtime-watchers/index.js +1 -1
  147. package/lib/server-runtime-webhooks/index.d.cts +7 -9
  148. package/lib/server-runtime-webhooks/index.d.ts +7 -9
  149. package/lib/sse-hub-CYXisfXJ.d.cts +63 -0
  150. package/lib/sse-hub-Dodwtc3_.d.ts +63 -0
  151. package/lib/step-machine-public/index.cjs +1 -1
  152. package/lib/step-machine-public/index.d.cts +1 -1
  153. package/lib/step-machine-public/index.d.ts +1 -1
  154. package/lib/step-machine-public/index.js +1 -1
  155. package/lib/{storage-async-interface-BRR4eBjx.d.cts → storage-async-interface-CG0bMqvE.d.ts} +20 -1
  156. package/lib/{storage-async-interface-DhlOVPSp.d.ts → storage-async-interface-CyO-zwVQ.d.cts} +20 -1
  157. package/lib/{storage-interface-BFiD3kyB.d.ts → storage-interface-D-iEiTJA.d.cts} +45 -1
  158. package/lib/{storage-interface-BFiD3kyB.d.cts → storage-interface-D-iEiTJA.d.ts} +45 -1
  159. package/lib/stores/index.d.cts +1 -1
  160. package/lib/stores/index.d.ts +1 -1
  161. package/lib/stores/kv.d.cts +1 -1
  162. package/lib/stores/kv.d.ts +1 -1
  163. package/lib/{types-CF2xUcZW.d.ts → types-BtH3scgE.d.ts} +66 -29
  164. package/lib/{types-BzQY45dH.d.cts → types-Ch0u3FKP.d.cts} +66 -29
  165. package/package.json +4 -5
  166. package/schema/live-cards.schema.json +10 -1
  167. package/browser/board-livecards-client.js +0 -2
  168. package/examples/board/demo-shell-with-server.html +0 -272
  169. package/examples/board/doc.html +0 -465
  170. package/examples/board/server-config.json +0 -24
  171. package/lib/chat-storage-lib-B9Q34Dyv.d.cts +0 -54
  172. package/lib/chat-storage-lib-DB9iSai2.d.ts +0 -54
  173. package/lib/chunk-5XHOHTLZ.cjs +0 -2
  174. package/lib/chunk-6APH25VI.js +0 -2
  175. package/lib/chunk-76ON3V7R.js +0 -2
  176. package/lib/chunk-7ICPAABP.cjs +0 -7
  177. package/lib/chunk-CPAXTVBQ.cjs +0 -2
  178. package/lib/chunk-DDYSXP2A.cjs +0 -3
  179. package/lib/chunk-EGRHWZRV.js +0 -2
  180. package/lib/chunk-GL2OHR2E.cjs +0 -2
  181. package/lib/chunk-GYQXDNNI.cjs +0 -2
  182. package/lib/chunk-H5HBXPOI.cjs +0 -3
  183. package/lib/chunk-IPLSRN6P.cjs +0 -4
  184. package/lib/chunk-J5J6BG7B.js +0 -2
  185. package/lib/chunk-M3OU6IS5.cjs +0 -2
  186. package/lib/chunk-M6STQR5F.cjs +0 -2
  187. package/lib/chunk-N6P2JW4W.js +0 -3
  188. package/lib/chunk-NJJ7WEDT.cjs +0 -2
  189. package/lib/chunk-NKIQRCOM.cjs +0 -2
  190. package/lib/chunk-NMZ6XNLB.cjs +0 -3
  191. package/lib/chunk-OEFTOO47.cjs +0 -3
  192. package/lib/chunk-PRHQBGPT.js +0 -2
  193. package/lib/chunk-S44QZUDX.js +0 -2
  194. package/lib/chunk-TSN3RTXT.js +0 -4
  195. package/lib/chunk-VLBB3D6B.js +0 -3
  196. package/lib/chunk-VMW4Z6EF.js +0 -3
  197. package/lib/chunk-VXJHBWK3.js +0 -2
  198. package/lib/chunk-WHDEBJLT.js +0 -7
  199. package/lib/chunk-YGALANRO.js +0 -2
  200. package/lib/chunk-ZXQR7GHT.js +0 -3
@@ -1,9 +1,11 @@
1
- import { a as KindValueRef } from '../storage-interface-BFiD3kyB.cjs';
2
- import { A as AsyncArchiveFactory, a as AsyncBlobStorage, b as AsyncJournalStorage, c as AsyncKVStorage, d as AsyncAtomicRelayLock, e as AsyncQueueStorage, f as AsyncScratchStorage } from '../storage-async-interface-BRR4eBjx.cjs';
3
- import { A as AsyncBoardPlatformAdapter } from '../board-platform-adapter-async-DOfEq_HC.cjs';
4
- import '../board-live-cards-public-DQzPe7A9.cjs';
5
- import '../execution-refs.cjs';
1
+ import { ExecutionRef } from '../execution-refs.cjs';
2
+ import { a as KindValueRef } from '../storage-interface-D-iEiTJA.cjs';
3
+ import { A as AsyncArchiveFactory, a as AsyncBlobStorage, b as AsyncJournalStorage, c as AsyncKVStorage, d as AsyncAtomicRelayLock, e as AsyncQueueStorage, f as AsyncScratchStorage } from '../storage-async-interface-CyO-zwVQ.cjs';
4
+ import { A as AsyncBoardPlatformAdapter } from '../board-platform-adapter-async-BZIftm36.cjs';
5
+ import { c as BoardRuntimeNonCorePublic } from '../types-Ch0u3FKP.cjs';
6
+ import '../board-live-cards-public-BT5HrgqZ.cjs';
6
7
  import '../types-BBhqYGhE.cjs';
8
+ import '../board-live-cards-public-async-CYjr4mgX.cjs';
7
9
 
8
10
  interface FirestoreDocumentSnapshotLike {
9
11
  readonly exists: boolean;
@@ -52,13 +54,21 @@ interface FirestoreLike {
52
54
  }
53
55
  interface FirestoreBoardRefs {
54
56
  baseRef: KindValueRef;
57
+ boardRuntimeStoreRef: string;
55
58
  cardStoreRef: string;
56
59
  outputsStoreRef: string;
60
+ queueStoreRef: string;
57
61
  scratchStoreRef: string;
58
- archiveStoreRef: string;
59
62
  chatStoreRef: string;
60
63
  artifactsStoreRef: string;
64
+ fetchedSourcesStoreRef: string;
61
65
  }
66
+ interface FirestoreNonCoreExecutorRequest {
67
+ subcommand: string;
68
+ input?: string;
69
+ timeoutMs?: number;
70
+ }
71
+ type FirestoreNonCoreExecutorHook = (request: FirestoreNonCoreExecutorRequest) => Promise<unknown>;
62
72
  interface FirestoreQueueStorageOptions {
63
73
  defaultVisibilityMs?: number;
64
74
  }
@@ -67,6 +77,8 @@ interface FirestoreBoardAdapterOptions {
67
77
  holderId?: string;
68
78
  requestProcessAccumulated?: () => void | Promise<void>;
69
79
  publishBoardChangeNotifications?: (notifications: unknown[]) => void | Promise<void>;
80
+ nonCoreTaskExecutorRef?: ExecutionRef;
81
+ nonCoreTaskExecutor?: FirestoreNonCoreExecutorHook;
70
82
  }
71
83
  declare function makeFirestoreRef(path: string): KindValueRef;
72
84
  declare function serializeFirestoreRef(path: string): string;
@@ -85,14 +97,17 @@ declare function createFirestoreBoardAdapter(db: FirestoreLike, boardId: string,
85
97
  declare function createFirestoreBoardRuntimeBundle(db: FirestoreLike, boardId: string, options?: FirestoreBoardAdapterOptions): {
86
98
  refs: {
87
99
  baseRef: KindValueRef;
100
+ boardRuntimeStoreRef: string;
88
101
  cardStoreRef: string;
89
102
  outputsStoreRef: string;
103
+ queueStoreRef: string;
90
104
  scratchStoreRef: string;
91
- archiveStoreRef: string;
92
105
  chatStoreRef: string;
93
106
  artifactsStoreRef: string;
107
+ fetchedSourcesStoreRef: string;
94
108
  };
95
109
  boardAdapter: AsyncBoardPlatformAdapter;
110
+ nonCore: BoardRuntimeNonCorePublic;
96
111
  };
97
112
 
98
- export { type FirestoreBoardAdapterOptions, type FirestoreBoardRefs, type FirestoreCollectionLike, type FirestoreDocumentLike, type FirestoreDocumentSnapshotLike, type FirestoreLike, type FirestoreQueryLike, type FirestoreQuerySnapshotLike, type FirestoreQueueStorageOptions, type FirestoreTransactionLike, createFirestoreArchiveFactory, createFirestoreBlobStorage, createFirestoreBoardAdapter, createFirestoreBoardRefs, createFirestoreBoardRuntimeBundle, createFirestoreJournalStorage, createFirestoreKvStorage, createFirestoreLock, createFirestoreQueueStorage, createFirestoreScratchStorage, makeFirestoreRef, serializeFirestoreRef };
113
+ export { type FirestoreBoardAdapterOptions, type FirestoreBoardRefs, type FirestoreCollectionLike, type FirestoreDocumentLike, type FirestoreDocumentSnapshotLike, type FirestoreLike, type FirestoreNonCoreExecutorHook, type FirestoreNonCoreExecutorRequest, type FirestoreQueryLike, type FirestoreQuerySnapshotLike, type FirestoreQueueStorageOptions, type FirestoreTransactionLike, createFirestoreArchiveFactory, createFirestoreBlobStorage, createFirestoreBoardAdapter, createFirestoreBoardRefs, createFirestoreBoardRuntimeBundle, createFirestoreJournalStorage, createFirestoreKvStorage, createFirestoreLock, createFirestoreQueueStorage, createFirestoreScratchStorage, makeFirestoreRef, serializeFirestoreRef };
@@ -1,9 +1,11 @@
1
- import { a as KindValueRef } from '../storage-interface-BFiD3kyB.js';
2
- import { A as AsyncArchiveFactory, a as AsyncBlobStorage, b as AsyncJournalStorage, c as AsyncKVStorage, d as AsyncAtomicRelayLock, e as AsyncQueueStorage, f as AsyncScratchStorage } from '../storage-async-interface-DhlOVPSp.js';
3
- import { A as AsyncBoardPlatformAdapter } from '../board-platform-adapter-async-JZPCzZnH.js';
4
- import '../board-live-cards-public-D-DJek3X.js';
5
- import '../execution-refs.js';
1
+ import { ExecutionRef } from '../execution-refs.js';
2
+ import { a as KindValueRef } from '../storage-interface-D-iEiTJA.js';
3
+ import { A as AsyncArchiveFactory, a as AsyncBlobStorage, b as AsyncJournalStorage, c as AsyncKVStorage, d as AsyncAtomicRelayLock, e as AsyncQueueStorage, f as AsyncScratchStorage } from '../storage-async-interface-CG0bMqvE.js';
4
+ import { A as AsyncBoardPlatformAdapter } from '../board-platform-adapter-async-JP9V-U5E.js';
5
+ import { c as BoardRuntimeNonCorePublic } from '../types-BtH3scgE.js';
6
+ import '../board-live-cards-public-DSRamFm8.js';
6
7
  import '../types-BBhqYGhE.js';
8
+ import '../board-live-cards-public-async-DlyC3PgC.js';
7
9
 
8
10
  interface FirestoreDocumentSnapshotLike {
9
11
  readonly exists: boolean;
@@ -52,13 +54,21 @@ interface FirestoreLike {
52
54
  }
53
55
  interface FirestoreBoardRefs {
54
56
  baseRef: KindValueRef;
57
+ boardRuntimeStoreRef: string;
55
58
  cardStoreRef: string;
56
59
  outputsStoreRef: string;
60
+ queueStoreRef: string;
57
61
  scratchStoreRef: string;
58
- archiveStoreRef: string;
59
62
  chatStoreRef: string;
60
63
  artifactsStoreRef: string;
64
+ fetchedSourcesStoreRef: string;
61
65
  }
66
+ interface FirestoreNonCoreExecutorRequest {
67
+ subcommand: string;
68
+ input?: string;
69
+ timeoutMs?: number;
70
+ }
71
+ type FirestoreNonCoreExecutorHook = (request: FirestoreNonCoreExecutorRequest) => Promise<unknown>;
62
72
  interface FirestoreQueueStorageOptions {
63
73
  defaultVisibilityMs?: number;
64
74
  }
@@ -67,6 +77,8 @@ interface FirestoreBoardAdapterOptions {
67
77
  holderId?: string;
68
78
  requestProcessAccumulated?: () => void | Promise<void>;
69
79
  publishBoardChangeNotifications?: (notifications: unknown[]) => void | Promise<void>;
80
+ nonCoreTaskExecutorRef?: ExecutionRef;
81
+ nonCoreTaskExecutor?: FirestoreNonCoreExecutorHook;
70
82
  }
71
83
  declare function makeFirestoreRef(path: string): KindValueRef;
72
84
  declare function serializeFirestoreRef(path: string): string;
@@ -85,14 +97,17 @@ declare function createFirestoreBoardAdapter(db: FirestoreLike, boardId: string,
85
97
  declare function createFirestoreBoardRuntimeBundle(db: FirestoreLike, boardId: string, options?: FirestoreBoardAdapterOptions): {
86
98
  refs: {
87
99
  baseRef: KindValueRef;
100
+ boardRuntimeStoreRef: string;
88
101
  cardStoreRef: string;
89
102
  outputsStoreRef: string;
103
+ queueStoreRef: string;
90
104
  scratchStoreRef: string;
91
- archiveStoreRef: string;
92
105
  chatStoreRef: string;
93
106
  artifactsStoreRef: string;
107
+ fetchedSourcesStoreRef: string;
94
108
  };
95
109
  boardAdapter: AsyncBoardPlatformAdapter;
110
+ nonCore: BoardRuntimeNonCorePublic;
96
111
  };
97
112
 
98
- export { type FirestoreBoardAdapterOptions, type FirestoreBoardRefs, type FirestoreCollectionLike, type FirestoreDocumentLike, type FirestoreDocumentSnapshotLike, type FirestoreLike, type FirestoreQueryLike, type FirestoreQuerySnapshotLike, type FirestoreQueueStorageOptions, type FirestoreTransactionLike, createFirestoreArchiveFactory, createFirestoreBlobStorage, createFirestoreBoardAdapter, createFirestoreBoardRefs, createFirestoreBoardRuntimeBundle, createFirestoreJournalStorage, createFirestoreKvStorage, createFirestoreLock, createFirestoreQueueStorage, createFirestoreScratchStorage, makeFirestoreRef, serializeFirestoreRef };
113
+ export { type FirestoreBoardAdapterOptions, type FirestoreBoardRefs, type FirestoreCollectionLike, type FirestoreDocumentLike, type FirestoreDocumentSnapshotLike, type FirestoreLike, type FirestoreNonCoreExecutorHook, type FirestoreNonCoreExecutorRequest, type FirestoreQueryLike, type FirestoreQuerySnapshotLike, type FirestoreQueueStorageOptions, type FirestoreTransactionLike, createFirestoreArchiveFactory, createFirestoreBlobStorage, createFirestoreBoardAdapter, createFirestoreBoardRefs, createFirestoreBoardRuntimeBundle, createFirestoreJournalStorage, createFirestoreKvStorage, createFirestoreLock, createFirestoreQueueStorage, createFirestoreScratchStorage, makeFirestoreRef, serializeFirestoreRef };
@@ -1,3 +1,3 @@
1
- import {a as a$1}from'../chunk-TSN3RTXT.js';import'../chunk-EGRHWZRV.js';import'../chunk-S44QZUDX.js';import {i}from'../chunk-VMW4Z6EF.js';import'../chunk-HEEDJEKM.js';import'../chunk-N6P2JW4W.js';import'../chunk-XQRNDX4Q.js';import {a,b}from'../chunk-BQS3EIEK.js';import'../chunk-VGT3TRQG.js';import'../chunk-WDPOGXTY.js';import'../chunk-JMDHDY6M.js';import'../chunk-VLBB3D6B.js';import'../chunk-MNEOJWPS.js';import'../chunk-KBELAKIY.js';import'../chunk-FW4363Y4.js';function P(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function N(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}function _(e){let t=new TextEncoder().encode(e);return P(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function K(e){return a$1(e).slice(0,16)}function E(){return globalThis.crypto&&typeof globalThis.crypto.randomUUID=="function"?globalThis.crypto.randomUUID():`${Date.now().toString(16)}-${Math.random().toString(16).slice(2,10)}`}function c(e){return _(String(e))}function f(){let e=String(Date.now()).padStart(13,"0"),t=Math.random().toString(36).slice(2,10).padEnd(8,"0");return `${e}-${t}`}function O(e){try{return b(e)}catch{return null}}function T(e,t){let n=O(e);return n?.kind==="firestore"&&n.value?n.value:t}function M(e,t){return e.collection("boards").doc(t)}function d(e,t,n){return M(e,t).collection(n)}function w(e){return {kind:"firestore",value:String(e)}}function g(e){return a(w(e))}function U(e){return {baseRef:w(`boards/${e}`),cardStoreRef:g(`boards/${e}/cards`),outputsStoreRef:g(`boards/${e}/runtime-out`),scratchStoreRef:g(`boards/${e}/scratch`),archiveStoreRef:g(`boards/${e}/archive`),chatStoreRef:g(`boards/${e}/chat`),artifactsStoreRef:g(`boards/${e}/files`)}}function q(e){return {async read(t){let n=await e.doc(c(t)).get();return n.exists?n.data()?.value??null:null},async write(t,n){await e.doc(c(t)).set({k:t,value:n});},async delete(t){await e.doc(c(t)).delete();},async listKeys(t=""){return (await(t?e.where("k",">=",t).where("k","<",`${t}\uF8FF`).orderBy("k"):e.orderBy("k")).get()).docs.map(i=>i.data()?.k??i.id)}}}function Q(e){return {async append(t){let n=f();return await e.doc(n).set({id:n,createdAt:new Date().toISOString(),payload:t}),{id:n,payload:t}},async readAll(){return (await e.orderBy("id").get()).docs.map(n=>{let r=n.data()??{};return {id:String(r.id??n.id),payload:r.payload}})},async readAfter(t){let i=(await(t?e.where("id",">",t).orderBy("id"):e.orderBy("id")).get()).docs.map(a=>{let s=a.data()??{};return {id:String(s.id??a.id),payload:s.payload}});return {entries:i,newCursor:i.length>0?i[i.length-1].id:t}},async clear(){let t=await e.get();if(typeof e.firestore.batch=="function"){let n=e.firestore.batch();for(let r of t.docs)n.delete(e.doc(r.id));await n.commit();return}await Promise.all(t.docs.map(n=>e.doc(n.id).delete()));}}}function k(e){return {async read(t){let n=await e.doc(c(t)).get();return n.exists?n.data()?.content??null:null},async write(t,n){await e.doc(c(t)).set({k:t,content:n});},async exists(t){return (await e.doc(c(t)).get()).exists},async remove(t){await e.doc(c(t)).delete();},async readBytes(t){let n=await e.doc(c(t)).get();if(!n.exists)return null;let r=n.data()??{};return typeof r.bytesBase64=="string"?N(r.bytesBase64):typeof r.content=="string"?new TextEncoder().encode(r.content):null},async writeBytes(t,n){await e.doc(c(t)).set({k:t,bytesBase64:P(n)});},async listKeys(t=""){return (await(t?e.where("k",">=",t).where("k","<",`${t}\uF8FF`).orderBy("k"):e.orderBy("k")).get()).docs.map(i=>i.data()?.k??i.id)},async stat(t){let n=await e.doc(c(t)).get();if(!n.exists)return null;let r=n.data()??{},i=typeof r.bytesBase64=="string"?Math.floor(r.bytesBase64.length*3/4):typeof r.content=="string"?r.content.length:0;return {key:t,size:i,contentType:String(r.contentType??"application/octet-stream")}}}}function D(e){let t=k(e);return {...t,async getUniqueKey(n="scratch-",r=""){return `${n}${f()}${r}`},async create(n,r="scratch-",i=""){let a=`${r}${f()}${i}`;return await t.write(a,n),a},keyRef(n){return w(`${e.path}/${c(n)}`)},config:{async get(n){let r=await t.read(`__config__/${n}`);if(r==null)return null;try{return JSON.parse(r)}catch{return r}},async set(n,r){await t.write(`__config__/${n}`,JSON.stringify(r));}}}}function C(e,t){let n=M(e,t);return {stream(r){return Q(n.collection(`archive-stream-${r}`))},blob(r){return k(n.collection(`archive-blob-${r}`))},async listStreams(r=""){return typeof n.listCollections!="function"?[]:(await n.listCollections()).map(a=>a.path.split("/").at(-1)??"").filter(a=>a.startsWith(`archive-stream-${r}`)).map(a=>a.slice(15))},async listBlobs(r=""){return typeof n.listCollections!="function"?[]:(await n.listCollections()).map(a=>a.path.split("/").at(-1)??"").filter(a=>a.startsWith(`archive-blob-${r}`)).map(a=>a.slice(13))},config:{async get(r){let i=await n.collection("archive-config").doc("main").get();return i.exists?i.data()?.[r]??null:null},async set(r,i){await n.collection("archive-config").doc("main").set({[r]:i},{merge:true});}}}}function I(e,t={}){let n=t.holderId??E(),r=t.ttlMs??3e4;return {async tryAcquire(){try{await e.firestore.runTransaction(async i=>{let a=await i.get(e),s=new Date().toISOString();if(a.exists){let o=a.data()??{};if(o.held===!0&&typeof o.expiresAt=="string"&&o.expiresAt>s)throw Object.assign(new Error("locked"),{code:"locked"})}i.set(e,{held:!0,holderId:n,acquiredAt:s,expiresAt:new Date(Date.now()+r).toISOString()});});}catch(i){if(i?.code==="locked")return null;throw i}return async()=>{try{await e.firestore.runTransaction(async i=>{let a=await i.get(e);if(!a.exists)return;(a.data()??{}).holderId===n&&i.update(e,{held:!1,holderId:null});});}catch{}}}}}function m(e,t={}){let n=t.defaultVisibilityMs??3e4;return {async enqueue(r){let i=f(),a=new Date().toISOString();return await e.doc(i).set({id:i,body:r,enqueuedAt:a,attempt:0,visibleAfter:a,leaseToken:null,leaseExpiresAt:null,dead:false,deadReason:null}),{id:i,body:r,enqueuedAt:a,attempt:0}},async enqueueIfAbsent(r,i){if((await e.where("dedupKey","==",i).where("dead","==",false).limit(1).get()).docs.length>0)return null;let s=f(),o=new Date().toISOString();return await e.doc(s).set({id:s,body:r,dedupKey:i,enqueuedAt:o,attempt:0,visibleAfter:o,leaseToken:null,leaseExpiresAt:null,dead:false,deadReason:null}),{id:s,body:r,enqueuedAt:o,attempt:0}},async lease(r={}){let i=Math.max(1,Number(r.max??1)),a=Math.max(1,Number(r.visibilityMs??n)),s=new Date().toISOString(),o=await e.where("dead","==",false).where("visibleAfter","<=",s).orderBy("visibleAfter").limit(i*4).get(),l=[];for(let y of o.docs){if(l.length>=i)break;let S=e.doc(y.id);try{let p=null;await e.firestore.runTransaction(async A=>{let F=await A.get(S);if(!F.exists)throw new Error("gone");let u=F.data()??{},h=new Date().toISOString();if(u.dead===!0)throw new Error("dead");if(typeof u.visibleAfter=="string"&&u.visibleAfter>h)throw new Error("hidden");if(u.leaseToken&&typeof u.leaseExpiresAt=="string"&&u.leaseExpiresAt>h)throw new Error("leased");let b=E(),v=new Date(Date.now()+a).toISOString(),R=Number(u.attempt??0)+1;A.update(S,{leaseToken:b,leaseExpiresAt:v,attempt:R}),p={id:String(u.id??y.id),body:u.body,enqueuedAt:String(u.enqueuedAt??h),attempt:R,leaseToken:b,leaseExpiresAt:v};}),p&&l.push(p);}catch{}}return l},async ack(r,i){try{return await e.firestore.runTransaction(async a=>{let s=e.doc(r),o=await a.get(s);if(!o.exists)return;if((o.data()??{}).leaseToken!==i)throw new Error("token mismatch");a.delete(s);}),!0}catch{return false}},async nack(r,i,a={}){try{return await e.firestore.runTransaction(async s=>{let o=e.doc(r),l=await s.get(o);if(!l.exists)return;if((l.data()??{}).leaseToken!==i)throw new Error("token mismatch");a.dead===!0?s.update(o,{dead:!0,deadReason:a.reason??"nacked",leaseToken:null,leaseExpiresAt:null}):s.update(o,{leaseToken:null,leaseExpiresAt:null,visibleAfter:new Date().toISOString()});}),!0}catch{return false}},async peekActive(r=""){return (await e.where("dead","==",false).orderBy("enqueuedAt").get()).docs.map(a=>a.data()??{}).filter(a=>!r||String(a.id??"").startsWith(r)).map(a=>({id:String(a.id??""),body:a.body,enqueuedAt:String(a.enqueuedAt??""),attempt:Number(a.attempt??0)}))},async peekDeadLetter(r=""){return (await e.where("dead","==",true).orderBy("enqueuedAt").get()).docs.map(a=>a.data()??{}).filter(a=>!r||String(a.id??"").startsWith(r)).map(a=>({id:String(a.id??""),body:a.body,enqueuedAt:String(a.enqueuedAt??""),attempt:Number(a.attempt??0),reason:a.deadReason}))}}}function V(e,t,n={}){return i({boardId:t,kvStorage(r){return q(d(e,t,`kv-${r||"root"}`))},kvStorageForRef(r){return q(e.collection(T(r,`boards/${t}/kv-root`)))},blobStorage(r){return k(d(e,t,`blobs-${r||"root"}`))},scratchStorage(){return D(d(e,t,"scratch"))},scratchStorageForRef(r){return D(e.collection(T(r,`boards/${t}/scratch`)))},archiveFactory(){return C(e,t)},archiveFactoryForRef(r){let i=O(r),a=i?.kind==="firestore-board"?i.value:t;return C(e,a)},journalStorage(){return Q(d(e,t,"journal"))},queueStorage:m(d(e,t,"worker-queue")),chatAgentQueueStorage:m(d(e,t,"chat-queue")),processAccumulatedQueueStorage:m(d(e,t,"process-queue")),lock:I(d(e,t,"locks").doc("board-lock"),{holderId:n.holderId}),hashFn(r){return K(r)},genId(){return f()},requestProcessAccumulated:n.requestProcessAccumulated,publishBoardChangeNotifications:n.publishBoardChangeNotifications,onWarn:r=>console.warn(`[firestore-board-adapter:${t}] ${r}`)})}function z(e,t,n={}){return {refs:{...U(t),...n.refs??{}},boardAdapter:V(e,t,n)}}
2
- export{C as createFirestoreArchiveFactory,k as createFirestoreBlobStorage,V as createFirestoreBoardAdapter,U as createFirestoreBoardRefs,z as createFirestoreBoardRuntimeBundle,Q as createFirestoreJournalStorage,q as createFirestoreKvStorage,I as createFirestoreLock,m as createFirestoreQueueStorage,D as createFirestoreScratchStorage,w as makeFirestoreRef,g as serializeFirestoreRef};//# sourceMappingURL=index.js.map
1
+ import {a as a$1}from'../chunk-VS3BXEYK.js';import {a as a$3}from'../chunk-YBYXCFAI.js';import {b}from'../chunk-Y4WK7HE4.js';import'../chunk-7BTZCOT5.js';import'../chunk-GU3T75C4.js';import {c,b as b$2}from'../chunk-NNSBBO5R.js';import'../chunk-HEEDJEKM.js';import'../chunk-DOFNXJ4C.js';import'../chunk-ANKA7HEJ.js';import {a,b as b$1}from'../chunk-44L64VQ2.js';import'../chunk-VGT3TRQG.js';import'../chunk-WDPOGXTY.js';import {a as a$2}from'../chunk-JMDHDY6M.js';import'../chunk-3KC6LBOG.js';import'../chunk-MNEOJWPS.js';import'../chunk-KBELAKIY.js';import'../chunk-FW4363Y4.js';function x(e){return {status:"success",data:e}}function S(e){return {status:"fail",error:e}}function q(e){return {status:"error",error:e instanceof Error?e.message:String(e)}}function $(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function ue(e){return String(e).replace(/[^a-zA-Z0-9_-]/g,"_")}function de(e,t={}){let n=()=>b$2(e.kvStorage("config"));async function r(){return await n().readTaskExecutorRef().catch(()=>{})}async function s(c,i,a){if(!t.nonCoreTaskExecutor)throw new Error(`${c} is not supported on the hosted Firestore runtime yet`);let y=await t.nonCoreTaskExecutor({subcommand:c,...i!==void 0?{input:typeof i=="string"?i:JSON.stringify(i)}:{},...a!==void 0?{timeoutMs:a}:{}});return $(y)}async function o(c){try{if(!c.body||typeof c.body!="object"||Array.isArray(c.body))return S("validateCardPreflight requires card JSON object in body");let i=c.body,a=i["card-content"]??i,y=typeof a.id=="string"?a.id:"(unknown)",g=a$3(a),p=Array.isArray(a.source_defs)&&a.source_defs.length>0,d=[...g.issues];if(p)if(t.nonCoreTaskExecutor)for(let m of a.source_defs){let f=typeof m.bindTo=="string"?m.bindTo:"(unknown)";try{let R=await s("validate-source-def",m,1e4);if(R.ok!==!0&&Array.isArray(R.errors))for(let C of R.errors)typeof C=="string"&&C&&d.push(`source "${f}": ${C}`);}catch(R){d.push(`source "${f}": executor validate-source-def failed \u2014 ${R instanceof Error?R.message:String(R)}`);}}else await r()&&d.push("executor-backed source_def preflight is not supported on the hosted Firestore runtime yet");return x({cardId:y,isValid:d.length===0,issues:d})}catch(i){return q(i)}}function u(c){try{if(!c.body||typeof c.body!="object"||Array.isArray(c.body))return S("evalCardCompute requires a JSON object in body");let i=c.body,a=i["card-content"]??i,y=typeof a.id=="string"?a.id:"(unknown)",g=i["mock-fetched-sources"]??{},p=i["mock-requires"]??{},d=a.compute;if(!d||!Array.isArray(d)||d.length===0)return x({cardId:y,ok:!0,computed_values:{},errors:[]});let m={id:y,card_data:a.card_data??{},requires:p,source_defs:a.source_defs,compute:d},f=a$2.runSync(m,{sourcesData:g});return x({cardId:y,ok:(f.errors??[]).length===0,computed_values:f.node.computed_values??{},errors:f.errors??[]})}catch(i){return q(i)}}async function l(c){return await r(),S(`${c} is not supported on the hosted Firestore runtime yet`)}async function w(){try{return t.nonCoreTaskExecutor?x(await s("describe-capabilities",void 0,1e4)):await l("describeTaskExecutorCapabilities")}catch(c){return q(c)}}async function E(c){try{if(!t.nonCoreTaskExecutor)return await l("probeSourcePreflight");if(!c.body||typeof c.body!="object"||Array.isArray(c.body))return S("probeSourcePreflight requires card JSON object in body");let i=c.body,a=i["card-content"]??i,y=$(i["mock-projections"]??{}),g=c.params?.sourceIdx,p=Array.isArray(a.source_defs)?a.source_defs:[];if(g===void 0)return S("probeSourcePreflight requires params.sourceIdx");if(g<0||g>=p.length)return S(`sourceIdx ${g} out of range (card has ${p.length} source(s))`);let d=p[g],m=typeof d.bindTo=="string"?d.bindTo:"source",f=await s("probe-source-preflight",{...d,_projections:y},d.timeout??6e4);return f.ok!==!0?S(typeof f.error=="string"?f.error:"Preflight probe failed"):x({bindTo:m,reachable:f.reachable,latencyMs:f.latencyMs,...typeof f.note=="string"?{note:f.note}:{}})}catch(i){return q(i)}}async function D(c){try{if(!t.nonCoreTaskExecutor)return await l("runSourcePreflight");if(!c.body||typeof c.body!="object"||Array.isArray(c.body))return S("runSourcePreflight requires card JSON object in body");let i=c.body,a=i["card-content"]??i,y=$(i["mock-projections"]??{}),g=c.params?.sourceIdx,p=Array.isArray(a.source_defs)?a.source_defs:[];if(g===void 0)return S("runSourcePreflight requires params.sourceIdx");if(g<0||g>=p.length)return S(`sourceIdx ${g} out of range (card has ${p.length} source(s))`);let d=p[g],m=typeof d.bindTo=="string"?d.bindTo:"source",f=await s("run-source-preflight",{...d,_projections:y},d.timeout??6e4);return f.ok!==!0?x({bindTo:m,ok:!1,result:null,issues:[typeof f.error=="string"?f.error:"Preflight run failed"]}):x({bindTo:m,ok:!0,result:Object.prototype.hasOwnProperty.call(f,"resultValue")?f.resultValue:null,issues:[]})}catch(i){return q(i)}}async function B(c){try{if(!c.body||typeof c.body!="object"||Array.isArray(c.body))return S("simulateCardCycle requires a JSON object in body");let i=c.body,a=i["card-content"]??i,y=typeof a.id=="string"?a.id:"(unknown)",g=$(i["mock-fetched-sources"]??{}),p=$(i["mock-requires"]??{}),d=await o({body:{"card-content":a}}),m=d.status==="success"?{isValid:d.data.isValid,issues:d.data.issues}:{isValid:!1,issues:[d.status==="fail"?d.error:"internal error"]},f=Array.isArray(a.source_defs)?a.source_defs:[],R=$(a.card_data??{}),C=[],V=[];if(f.length>0){C=a$2.enrichSourcesSync(f,{card_data:R,requires:p});for(let b of C){let A=b.projections,T=b._projections;if(A&&T){for(let k of Object.keys(A))if(T[k]===void 0){let ce=typeof b.bindTo=="string"?b.bindTo:"(unknown)";V.push({bindTo:ce,key:k,error:`Projection "${k}" resolved to undefined`});}}}}let L=[],K={...g};for(let b=0;b<C.length;b+=1){let A=C[b],T=typeof A.bindTo=="string"?A.bindTo:`source_${b}`;if(!t.nonCoreTaskExecutor){L.push({bindTo:T,skipped:!0,error:"No task executor configured"});continue}try{let k=await s("run-source-preflight",A,A.timeout??6e4);k.ok===!0&&!Object.prototype.hasOwnProperty.call(g,T)&&Object.prototype.hasOwnProperty.call(k,"resultValue")&&(K[T]=k.resultValue),L.push({bindTo:T,reachable:k.reachable,latencyMs:k.latencyMs,...k.ok===!0?{}:{error:typeof k.error=="string"?k.error:"Preflight run failed"}});}catch{L.push({bindTo:T,skipped:!0,error:"Executor does not support run-source-preflight"});}}let O=a.compute,H={},Q=[];if(O&&Array.isArray(O)&&O.length>0){let b={id:y,card_data:R,requires:p,source_defs:a.source_defs,compute:O},A=a$2.runSync(b,{sourcesData:K});H=A.node.computed_values??{},Q=A.errors??[];}return x({cardId:y,ok:m.isValid&&V.length===0&&Q.length===0&&L.every(b=>!b.error),validation:m,source_probes:L,projection_errors:V,fetched_sources:K,computed_values:H,compute_errors:Q})}catch(i){return q(i)}}return {describeTaskExecutorCapabilities:w,validateCardPreflight:o,evalCardCompute:u,probeSourcePreflight:E,runSourcePreflight:D,simulateCardCycle:B}}function ne(e){let t="";for(let n=0;n<e.length;n++)t+=String.fromCharCode(e[n]);return btoa(t)}function le(e){let t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}function fe(e){let t=new TextEncoder().encode(e);return ne(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function ge(e){return a$1(e).slice(0,16)}function oe(){return globalThis.crypto&&typeof globalThis.crypto.randomUUID=="function"?globalThis.crypto.randomUUID():`${Date.now().toString(16)}-${Math.random().toString(16).slice(2,10)}`}function h(e){return fe(String(e))}function _(){let e=String(Date.now()).padStart(13,"0"),t=Math.random().toString(36).slice(2,10).padEnd(8,"0");return `${e}-${t}`}function se(e){try{return b$1(e)}catch{return null}}function P(e,t){let n=se(e);return n?.kind==="firestore"&&n.value?n.value:t}function v(e){if(e===void 0)return null;if(Array.isArray(e))return e.map(t=>v(t===void 0?null:t));if(e&&typeof e=="object"){let t=Object.entries(e).filter(([,n])=>n!==void 0).map(([n,r])=>[n,v(r)]);return Object.fromEntries(t)}return e}function ae(e,t){return e.collection("boards").doc(t)}function j(e,t,n){return ae(e,t).collection(n)}function U(e){return {kind:"firestore",value:String(e)}}function F(e){return a(U(e))}function ie(e){return {baseRef:U(`boards/${e}`),boardRuntimeStoreRef:F(`boards/${e}/runtime-board`),cardStoreRef:F(`boards/${e}/cards`),outputsStoreRef:F(`boards/${e}/runtime-out`),queueStoreRef:F(`boards/${e}/runtime`),scratchStoreRef:F(`boards/${e}/scratch`),chatStoreRef:F(`boards/${e}/chat`),artifactsStoreRef:F(`boards/${e}/files`),fetchedSourcesStoreRef:F(`boards/${e}/sources`)}}function J(e){return {async read(t){let n=await e.doc(h(t)).get();return n.exists?n.data()?.value??null:null},async write(t,n){await e.doc(h(t)).set(v({k:t,value:n}));},async delete(t){await e.doc(h(t)).delete();},async listKeys(t=""){return (await(t?e.where("k",">=",t).where("k","<",`${t}\uF8FF`).orderBy("k"):e.orderBy("k")).get()).docs.map(s=>s.data()?.k??s.id)}}}function N(e){return {async append(t){let n=_();return await e.doc(n).set(v({id:n,createdAt:new Date().toISOString(),payload:t})),{id:n,payload:t}},async readAll(){return (await e.orderBy("id").get()).docs.map(n=>{let r=n.data()??{};return {id:String(r.id??n.id),payload:r.payload}})},async readAfter(t){let s=(await(t?e.where("id",">",t).orderBy("id"):e.orderBy("id")).get()).docs.map(o=>{let u=o.data()??{};return {id:String(u.id??o.id),payload:u.payload}});return {entries:s,newCursor:s.length>0?s[s.length-1].id:t}},async clear(){let t=await e.get();if(typeof e.firestore.batch=="function"){let n=e.firestore.batch();for(let r of t.docs)n.delete(e.doc(r.id));await n.commit();return}await Promise.all(t.docs.map(n=>e.doc(n.id).delete()));}}}function M(e){return {async read(t){let n=await e.doc(h(t)).get();return n.exists?n.data()?.content??null:null},async write(t,n){await e.doc(h(t)).set({k:t,content:n});},async exists(t){return (await e.doc(h(t)).get()).exists},async remove(t){await e.doc(h(t)).delete();},async readBytes(t){let n=await e.doc(h(t)).get();if(!n.exists)return null;let r=n.data()??{};return typeof r.bytesBase64=="string"?le(r.bytesBase64):typeof r.content=="string"?new TextEncoder().encode(r.content):null},async writeBytes(t,n){await e.doc(h(t)).set({k:t,bytesBase64:ne(n)});},async listKeys(t=""){return (await(t?e.where("k",">=",t).where("k","<",`${t}\uF8FF`).orderBy("k"):e.orderBy("k")).get()).docs.map(s=>s.data()?.k??s.id)},async stat(t){let n=await e.doc(h(t)).get();if(!n.exists)return null;let r=n.data()??{},s=typeof r.bytesBase64=="string"?Math.floor(r.bytesBase64.length*3/4):typeof r.content=="string"?r.content.length:0;return {key:t,size:s,contentType:String(r.contentType??"application/octet-stream")}},async renameKey(t,n){let r=await e.doc(h(t)).get();if(!r.exists)return false;let s=r.data()??{};return await e.doc(h(n)).set({...s,k:n}),await e.doc(h(t)).delete(),true}}}function re(e){let t=M(e);return {...t,async getUniqueKey(n="scratch-",r=""){return `${n}${_()}${r}`},async create(n,r="scratch-",s=""){let o=`${r}${_()}${s}`;return await t.write(o,n),o},keyRef(n){return U(`${e.path}/${h(n)}`)},config:{async get(n){let r=await t.read(`__config__/${n}`);if(r==null)return null;try{return JSON.parse(r)}catch{return r}},async set(n,r){await t.write(`__config__/${n}`,JSON.stringify(r));}}}}function te(e,t){let n=ae(e,t);return {stream(r){return N(n.collection(`archive-stream-${r}`))},blob(r){return M(n.collection(`archive-blob-${r}`))},async listStreams(r=""){return typeof n.listCollections!="function"?[]:(await n.listCollections()).map(o=>o.path.split("/").at(-1)??"").filter(o=>o.startsWith(`archive-stream-${r}`)).map(o=>o.slice(15))},async listBlobs(r=""){return typeof n.listCollections!="function"?[]:(await n.listCollections()).map(o=>o.path.split("/").at(-1)??"").filter(o=>o.startsWith(`archive-blob-${r}`)).map(o=>o.slice(13))},config:{async get(r){let s=await n.collection("archive-config").doc("main").get();return s.exists?s.data()?.[r]??null:null},async set(r,s){await n.collection("archive-config").doc("main").set(v({[r]:s}),{merge:true});}}}}function ye(e,t={}){let n=t.holderId??oe(),r=t.ttlMs??3e4;return {async tryAcquire(){try{await e.firestore.runTransaction(async s=>{let o=await s.get(e),u=new Date().toISOString();if(o.exists){let l=o.data()??{};if(l.held===!0&&typeof l.expiresAt=="string"&&l.expiresAt>u)throw Object.assign(new Error("locked"),{code:"locked"})}s.set(e,{held:!0,holderId:n,acquiredAt:u,expiresAt:new Date(Date.now()+r).toISOString()});});}catch(s){if(s?.code==="locked")return null;throw s}return async()=>{try{await e.firestore.runTransaction(async s=>{let o=await s.get(e);if(!o.exists)return;(o.data()??{}).holderId===n&&s.update(e,{held:!1,holderId:null});});}catch{}}}}}function pe(e,t={}){let n=t.defaultVisibilityMs??3e4;return {async enqueue(r){let s=_(),o=new Date().toISOString();return await e.doc(s).set(v({id:s,body:r,enqueuedAt:o,attempt:0,staged:false,visibleAfter:o,leaseToken:null,leaseExpiresAt:null,dead:false,deadReason:null})),{id:s,body:r,enqueuedAt:o,attempt:0}},async enqueueMany(r){let s=[];for(let o of r)s.push(await this.enqueue(o));return s},async enqueueIfAbsent(r,s){if((await e.where("dedupKey","==",s).where("dead","==",false).limit(1).get()).docs.length>0)return null;let u=_(),l=new Date().toISOString();return await e.doc(u).set(v({id:u,body:r,dedupKey:s,enqueuedAt:l,attempt:0,staged:false,visibleAfter:l,leaseToken:null,leaseExpiresAt:null,dead:false,deadReason:null})),{id:u,body:r,enqueuedAt:l,attempt:0}},async stage(r,s={}){if(s.dedupKey&&(await e.where("dedupKey","==",s.dedupKey).where("dead","==",false).limit(1).get()).docs.length>0)return null;let o=_(),u=new Date().toISOString();return await e.doc(o).set(v({id:o,body:r,dedupKey:s.dedupKey,enqueuedAt:u,attempt:0,staged:true,visibleAfter:null,leaseToken:null,leaseExpiresAt:null,dead:false,deadReason:null})),{id:o,body:r,enqueuedAt:u,attempt:0}},async commitStaged(r){try{return await e.firestore.runTransaction(async s=>{let o=e.doc(r),u=await s.get(o);if(!u.exists)throw new Error("missing");let l=u.data()??{};if(l.dead===!0||l.staged!==!0)throw new Error("not-staged");s.update(o,{staged:!1,enqueuedAt:new Date().toISOString(),attempt:0,visibleAfter:new Date().toISOString()});}),!0}catch{return false}},async discardStaged(r,s){try{return await e.firestore.runTransaction(async o=>{let u=e.doc(r),l=await o.get(u);if(!l.exists)throw new Error("missing");let w=l.data()??{};if(w.dead===!0||w.staged!==!0)throw new Error("not-staged");o.update(u,{staged:!1,dead:!0,deadReason:s??"discarded"});}),!0}catch{return false}},async peekStaged(r=""){return (await e.where("dead","==",false).where("staged","==",true).orderBy("enqueuedAt").get()).docs.map(o=>o.data()??{}).filter(o=>!r||String(o.id??"").startsWith(r)).map(o=>({id:String(o.id??""),body:o.body,enqueuedAt:String(o.enqueuedAt??""),attempt:Number(o.attempt??0)}))},async lease(r={}){let s=Math.max(1,Number(r.max??1)),o=Math.max(1,Number(r.visibilityMs??n)),u=new Date().toISOString(),l=await e.where("dead","==",false).where("staged","==",false).where("visibleAfter","<=",u).orderBy("visibleAfter").limit(s*4).get(),w=[];for(let E of l.docs){if(w.length>=s)break;let D=e.doc(E.id);try{let B=null;await e.firestore.runTransaction(async c=>{let i=await c.get(D);if(!i.exists)throw new Error("gone");let a=i.data()??{},y=new Date().toISOString();if(a.dead===!0)throw new Error("dead");if(a.staged===!0)throw new Error("staged");if(typeof a.visibleAfter=="string"&&a.visibleAfter>y)throw new Error("hidden");if(a.leaseToken&&typeof a.leaseExpiresAt=="string"&&a.leaseExpiresAt>y)throw new Error("leased");let g=oe(),p=new Date(Date.now()+o).toISOString(),d=Number(a.attempt??0)+1;c.update(D,{leaseToken:g,leaseExpiresAt:p,attempt:d}),B={id:String(a.id??E.id),body:a.body,enqueuedAt:String(a.enqueuedAt??y),attempt:d,leaseToken:g,leaseExpiresAt:p};}),B&&w.push(B);}catch{}}return w},async ack(r,s){try{return await e.firestore.runTransaction(async o=>{let u=e.doc(r),l=await o.get(u);if(!l.exists)return;if((l.data()??{}).leaseToken!==s)throw new Error("token mismatch");o.delete(u);}),!0}catch{return false}},async nack(r,s,o={}){try{return await e.firestore.runTransaction(async u=>{let l=e.doc(r),w=await u.get(l);if(!w.exists)return;if((w.data()??{}).leaseToken!==s)throw new Error("token mismatch");o.dead===!0?u.update(l,{dead:!0,deadReason:o.reason??"nacked",leaseToken:null,leaseExpiresAt:null}):u.update(l,{leaseToken:null,leaseExpiresAt:null,visibleAfter:new Date().toISOString()});}),!0}catch{return false}},async peekActive(r=""){return (await e.where("dead","==",false).where("staged","==",false).orderBy("enqueuedAt").get()).docs.map(o=>o.data()??{}).filter(o=>!r||String(o.id??"").startsWith(r)).map(o=>({id:String(o.id??""),body:o.body,enqueuedAt:String(o.enqueuedAt??""),attempt:Number(o.attempt??0)}))},async peekDeadLetter(r=""){return (await e.where("dead","==",true).orderBy("enqueuedAt").get()).docs.map(o=>o.data()??{}).filter(o=>!r||String(o.id??"").startsWith(r)).map(o=>({id:String(o.id??""),body:o.body,enqueuedAt:String(o.enqueuedAt??""),attempt:Number(o.attempt??0),reason:o.deadReason}))}}}function me(e,t,n={}){return c({boardId:t,kvStorage(r){return J(j(e,t,`kv-${r||"root"}`))},kvStorageForRef(r){return J(e.collection(P(r,`boards/${t}/kv-root`)))},blobStorage(r){return M(j(e,t,`blobs-${r||"root"}`))},blobStorageForRef(r){return M(e.collection(P(r,`boards/${t}/blobs-root`)))},chatStorageForRef(r){let s=P(r,`boards/${t}/chat`);return b(o=>N(e.collection(`${s}-journal-${ue(o)}`)),J(e.collection(`${s}-kv`)))},queueStoreRef:ie(t).queueStoreRef,queueStorageForRef(r,s){let o=P(r,`boards/${t}/runtime`);return pe(e.collection(`${o}-${s}`))},scratchStorage(){return re(j(e,t,"scratch"))},scratchStorageForRef(r){return re(e.collection(P(r,`boards/${t}/scratch`)))},archiveFactory(){return te(e,t)},archiveFactoryForRef(r){let s=se(r),o=s?.kind==="firestore-board"?s.value:t;return te(e,o)},journalStorage(){return N(j(e,t,"journal"))},journalStorageForRef(r){let s=P(r,`boards/${t}/runtime-board`);return N(e.collection(`${s}-journal`))},lock:ye(j(e,t,"locks").doc("board-lock"),{holderId:n.holderId}),hashFn(r){return ge(r)},genId(){return _()},supportsDirectSourceOutput(r){return r.howToRun==="queue-storage"||r.howToRun==="http:post"},requestProcessAccumulated:n.requestProcessAccumulated,publishBoardChangeNotifications:n.publishBoardChangeNotifications,onWarn:r=>console.warn(`[firestore-board-adapter:${t}] ${r}`)})}function Ce(e,t,n={}){let r={...ie(t),...n.refs??{}},s=me(e,t,n);return {refs:r,boardAdapter:s,nonCore:de(s,n)}}
2
+ export{te as createFirestoreArchiveFactory,M as createFirestoreBlobStorage,me as createFirestoreBoardAdapter,ie as createFirestoreBoardRefs,Ce as createFirestoreBoardRuntimeBundle,N as createFirestoreJournalStorage,J as createFirestoreKvStorage,ye as createFirestoreLock,pe as createFirestoreQueueStorage,re as createFirestoreScratchStorage,U as makeFirestoreRef,F as serializeFirestoreRef};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
package/lib/index.cjs CHANGED
@@ -1,3 +1,3 @@
1
- 'use strict';var chunkJAL25FGA_cjs=require('./chunk-JAL25FGA.cjs'),chunkS6DRP2HX_cjs=require('./chunk-S6DRP2HX.cjs'),chunkQ6H7NINN_cjs=require('./chunk-Q6H7NINN.cjs'),chunk5EA2ESS4_cjs=require('./chunk-5EA2ESS4.cjs'),chunkH5KD3JPY_cjs=require('./chunk-H5KD3JPY.cjs'),chunkKHJABJ45_cjs=require('./chunk-KHJABJ45.cjs'),chunkKLRUISRY_cjs=require('./chunk-KLRUISRY.cjs'),chunk2MZUYY65_cjs=require('./chunk-2MZUYY65.cjs'),chunkG4XXRHL2_cjs=require('./chunk-G4XXRHL2.cjs'),chunkLODXIALE_cjs=require('./chunk-LODXIALE.cjs'),chunkIXZG74EW_cjs=require('./chunk-IXZG74EW.cjs'),chunkNMZ6XNLB_cjs=require('./chunk-NMZ6XNLB.cjs'),chunkUJ7ZTV4J_cjs=require('./chunk-UJ7ZTV4J.cjs'),chunkGNFE24S7_cjs=require('./chunk-GNFE24S7.cjs'),Ba=require('ajv-formats');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Ba__default=/*#__PURE__*/_interopDefault(Ba);var T=chunkGNFE24S7_cjs.a(b=>{Object.defineProperty(b,"__esModule",{value:true});b.dynamicAnchor=void 0;var q=chunkUJ7ZTV4J_cjs.a(),Cr=chunkUJ7ZTV4J_cjs.c(),Z=chunkUJ7ZTV4J_cjs.g(),kr=chunkUJ7ZTV4J_cjs.i(),xr={keyword:"$dynamicAnchor",schemaType:"string",code:e=>Q(e,e.schema)};function Q(e,t){let{gen:r,it:i}=e;i.schemaEnv.root.dynamicAnchors[t]=true;let s=(0, q._)`${Cr.default.dynamicAnchors}${(0, q.getProperty)(t)}`,c=i.errSchemaPath==="#"?i.validateName:Er(e);r.if((0, q._)`!${s}`,()=>r.assign(s,c));}b.dynamicAnchor=Q;function Er(e){let{schemaEnv:t,schema:r,self:i}=e.it,{root:s,baseId:c,localRefs:p,meta:u}=t.root,{schemaId:o}=i.opts,m=new Z.SchemaEnv({schema:r,schemaId:o,root:s,baseId:c,localRefs:p,meta:u});return Z.compileSchema.call(i,m),(0, kr.getValidate)(e,m)}b.default=xr;});var A=chunkGNFE24S7_cjs.a($=>{Object.defineProperty($,"__esModule",{value:true});$.dynamicRef=void 0;var Y=chunkUJ7ZTV4J_cjs.a(),Or=chunkUJ7ZTV4J_cjs.c(),ee=chunkUJ7ZTV4J_cjs.i(),Mr={keyword:"$dynamicRef",schemaType:"string",code:e=>te(e,e.schema)};function te(e,t){let{gen:r,keyword:i,it:s}=e;if(t[0]!=="#")throw new Error(`"${i}" only supports hash fragment reference`);let c=t.slice(1);if(s.allErrors)p();else {let o=r.let("valid",false);p(o),e.ok(o);}function p(o){if(s.schemaEnv.root.dynamicAnchors[c]){let m=r.let("_v",(0, Y._)`${Or.default.dynamicAnchors}${(0, Y.getProperty)(c)}`);r.if(m,u(m,o),u(s.validateName,o));}else u(s.validateName,o)();}function u(o,m){return m?()=>r.block(()=>{(0, ee.callRef)(e,o),r.let(m,true);}):()=>(0, ee.callRef)(e,o)}}$.dynamicRef=te;$.default=Mr;});var re=chunkGNFE24S7_cjs.a(C=>{Object.defineProperty(C,"__esModule",{value:true});var wr=T(),Ir=chunkUJ7ZTV4J_cjs.b(),Nr={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0, wr.dynamicAnchor)(e,""):(0, Ir.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored");}};C.default=Nr;});var ae=chunkGNFE24S7_cjs.a(k=>{Object.defineProperty(k,"__esModule",{value:true});var Vr=A(),Gr={keyword:"$recursiveRef",schemaType:"string",code:e=>(0, Vr.dynamicRef)(e,e.schema)};k.default=Gr;});var ne=chunkGNFE24S7_cjs.a(x=>{Object.defineProperty(x,"__esModule",{value:true});var Lr=T(),Br=A(),Dr=re(),Fr=ae(),Hr=[Lr.default,Br.default,Dr.default,Fr.default];x.default=Hr;});var ie=chunkGNFE24S7_cjs.a(E=>{Object.defineProperty(E,"__esModule",{value:true});var oe=chunkUJ7ZTV4J_cjs.l(),Ur={keyword:"dependentRequired",type:"object",schemaType:"object",error:oe.error,code:e=>(0, oe.validatePropertyDeps)(e)};E.default=Ur;});var se=chunkGNFE24S7_cjs.a(O=>{Object.defineProperty(O,"__esModule",{value:true});var Kr=chunkUJ7ZTV4J_cjs.l(),Jr={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0, Kr.validateSchemaDeps)(e)};O.default=Jr;});var ce=chunkGNFE24S7_cjs.a(M=>{Object.defineProperty(M,"__esModule",{value:true});var zr=chunkUJ7ZTV4J_cjs.b(),Wr={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:r}){t.contains===void 0&&(0, zr.checkStrictMode)(r,`"${e}" without "contains" is ignored`);}};M.default=Wr;});var de=chunkGNFE24S7_cjs.a(w=>{Object.defineProperty(w,"__esModule",{value:true});var Xr=ie(),Zr=se(),Qr=ce(),Yr=[Xr.default,Zr.default,Qr.default];w.default=Yr;});var me=chunkGNFE24S7_cjs.a(I=>{Object.defineProperty(I,"__esModule",{value:true});var l=chunkUJ7ZTV4J_cjs.a(),ue=chunkUJ7ZTV4J_cjs.b(),ea=chunkUJ7ZTV4J_cjs.c(),ta={message:"must NOT have unevaluated properties",params:({params:e})=>(0, l._)`{unevaluatedProperty: ${e.unevaluatedProperty}}`},ra={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:true,error:ta,code(e){let{gen:t,schema:r,data:i,errsCount:s,it:c}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:p,props:u}=c;u instanceof l.Name?t.if((0, l._)`${u} !== true`,()=>t.forIn("key",i,d=>t.if(m(u,d),()=>o(d)))):u!==true&&t.forIn("key",i,d=>u===void 0?o(d):t.if(R(u,d),()=>o(d))),c.props=true,e.ok((0, l._)`${s} === ${ea.default.errors}`);function o(d){if(r===false){e.setParams({unevaluatedProperty:d}),e.error(),p||t.break();return}if(!(0, ue.alwaysValidSchema)(c,r)){let h=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:ue.Type.Str},h),p||t.if((0, l.not)(h),()=>t.break());}}function m(d,h){return (0, l._)`!${d} || !${d}[${h}]`}function R(d,h){let F=[];for(let H in d)d[H]===true&&F.push((0, l._)`${h} !== ${H}`);return (0, l.and)(...F)}}};I.default=ra;});var le=chunkGNFE24S7_cjs.a(N=>{Object.defineProperty(N,"__esModule",{value:true});var f=chunkUJ7ZTV4J_cjs.a(),pe=chunkUJ7ZTV4J_cjs.b(),aa={message:({params:{len:e}})=>(0, f.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, f._)`{limit: ${e}}`},na={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:aa,code(e){let{gen:t,schema:r,data:i,it:s}=e,c=s.items||0;if(c===true)return;let p=t.const("len",(0, f._)`${i}.length`);if(r===false)e.setParams({len:c}),e.fail((0, f._)`${p} > ${c}`);else if(typeof r=="object"&&!(0, pe.alwaysValidSchema)(s,r)){let o=t.var("valid",(0, f._)`${p} <= ${c}`);t.if((0, f.not)(o),()=>u(o,c)),e.ok(o);}s.items=true;function u(o,m){t.forRange("i",m,p,R=>{e.subschema({keyword:"unevaluatedItems",dataProp:R,dataPropType:pe.Type.Num},o),s.allErrors||t.if((0, f.not)(o),()=>t.break());});}}};N.default=na;});var fe=chunkGNFE24S7_cjs.a(V=>{Object.defineProperty(V,"__esModule",{value:true});var oa=me(),ia=le(),sa=[oa.default,ia.default];V.default=sa;});var ye=chunkGNFE24S7_cjs.a(G=>{Object.defineProperty(G,"__esModule",{value:true});var ca=chunkUJ7ZTV4J_cjs.j(),da=chunkUJ7ZTV4J_cjs.k(),ua=chunkUJ7ZTV4J_cjs.m(),ma=ne(),pa=de(),la=fe(),fa=chunkUJ7ZTV4J_cjs.n(),he=chunkUJ7ZTV4J_cjs.o(),ha=[ma.default,ca.default,da.default,(0, ua.default)(true),fa.default,he.metadataVocabulary,he.contentVocabulary,pa.default,la.default];G.default=ha;});var ge=chunkGNFE24S7_cjs.a((on,ya)=>{ya.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:true,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:true,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:true},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:true}}};});var ve=chunkGNFE24S7_cjs.a((sn,ga)=>{ga.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":true},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}};});var be=chunkGNFE24S7_cjs.a((cn,va)=>{va.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}};});var $e=chunkGNFE24S7_cjs.a((dn,ba)=>{ba.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}};});var _e=chunkGNFE24S7_cjs.a((un,$a)=>{$a.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}};});var Se=chunkGNFE24S7_cjs.a((mn,_a)=>{_a.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}};});var je=chunkGNFE24S7_cjs.a((pn,Sa)=>{Sa.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:true,deprecated:{type:"boolean",default:false},readOnly:{type:"boolean",default:false},writeOnly:{type:"boolean",default:false},examples:{type:"array",items:true}}};});var Re=chunkGNFE24S7_cjs.a((ln,ja)=>{ja.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":true},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:true}]},const:true,enum:{type:"array",items:true},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:false},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:true,default:[]}}};});var Pe=chunkGNFE24S7_cjs.a(L=>{Object.defineProperty(L,"__esModule",{value:true});var Ra=ge(),Pa=ve(),qa=be(),Ta=$e(),Aa=_e(),Ca=Se(),ka=je(),xa=Re(),Ea=["/properties"];function Oa(e){return [Ra,Pa,qa,Ta,Aa,t(this,Ca),ka,t(this,xa)].forEach(r=>this.addMetaSchema(r,void 0,false)),this;function t(r,i){return e?r.$dataMetaSchema(i,Ea):i}}L.default=Oa;});var qe=chunkGNFE24S7_cjs.a((a,D)=>{Object.defineProperty(a,"__esModule",{value:true});a.MissingRefError=a.ValidationError=a.CodeGen=a.Name=a.nil=a.stringify=a.str=a._=a.KeywordCxt=a.Ajv2020=void 0;var Ma=chunkUJ7ZTV4J_cjs.h(),wa=ye(),Ia=chunkUJ7ZTV4J_cjs.p(),Na=Pe(),B="https://json-schema.org/draft/2020-12/schema",y=class extends Ma.default{constructor(t={}){super({...t,dynamicRef:true,next:true,unevaluated:true});}_addVocabularies(){super._addVocabularies(),wa.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Ia.default);}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:t,meta:r}=this.opts;r&&(Na.default.call(this,t),this.refs["http://json-schema.org/schema"]=B);}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(B)?B:void 0)}};a.Ajv2020=y;D.exports=a=y;D.exports.Ajv2020=y;Object.defineProperty(a,"__esModule",{value:true});a.default=y;var Va=chunkUJ7ZTV4J_cjs.d();Object.defineProperty(a,"KeywordCxt",{enumerable:true,get:function(){return Va.KeywordCxt}});var g=chunkUJ7ZTV4J_cjs.a();Object.defineProperty(a,"_",{enumerable:true,get:function(){return g._}});Object.defineProperty(a,"str",{enumerable:true,get:function(){return g.str}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return g.stringify}});Object.defineProperty(a,"nil",{enumerable:true,get:function(){return g.nil}});Object.defineProperty(a,"Name",{enumerable:true,get:function(){return g.Name}});Object.defineProperty(a,"CodeGen",{enumerable:true,get:function(){return g.CodeGen}});var Ga=chunkUJ7ZTV4J_cjs.e();Object.defineProperty(a,"ValidationError",{enumerable:true,get:function(){return Ga.default}});var La=chunkUJ7ZTV4J_cjs.f();Object.defineProperty(a,"MissingRefError",{enumerable:true,get:function(){return La.default}});});var W={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://yaml-flow.dev/schema/board-status.schema.json",title:"Board Status Object",type:"object",additionalProperties:false,required:["schema_version","meta","summary","cards"],properties:{schema_version:{type:"string",const:"v1"},meta:{type:"object",additionalProperties:false,required:["board"],properties:{board:{type:"object",additionalProperties:false,required:["path"],properties:{path:{type:"string"}}}}},summary:{type:"object",additionalProperties:false,required:["card_count","completed","eligible","pending","blocked","unresolved"],properties:{card_count:{type:"integer",minimum:0},completed:{type:"integer",minimum:0},eligible:{type:"integer",minimum:0},pending:{type:"integer",minimum:0},blocked:{type:"integer",minimum:0},unresolved:{type:"integer",minimum:0},failed:{type:"integer",minimum:0},in_progress:{type:"integer",minimum:0},orphan_cards:{type:"integer",minimum:0},topology:{type:"object",additionalProperties:false,required:["edge_count","max_fan_out_card","max_fan_out"],properties:{edge_count:{type:"integer",minimum:0},max_fan_out_card:{type:["string","null"]},max_fan_out:{type:"integer",minimum:0}}}}},cards:{type:"array",items:{type:"object",additionalProperties:false,required:["name","status","requires","requires_satisfied","requires_missing","provides_declared","provides_runtime","blocked_by","unblocks","runtime"],properties:{name:{type:"string"},status:{type:"string"},error:{type:"object",additionalProperties:false,required:["message"],properties:{message:{type:"string"},code:{type:"string"},at:{type:["string","null"]},source:{type:"string"}}},requires:{type:"array",items:{type:"string"}},requires_satisfied:{type:"array",items:{type:"string"}},requires_missing:{type:"array",items:{type:"string"}},provides_declared:{type:"array",items:{type:"string"}},provides_runtime:{type:"array",items:{type:"string"}},blocked_by:{type:"array",items:{type:"string"}},unblocks:{type:"array",items:{type:"string"}},runtime:{type:"object",additionalProperties:false,required:["attempt_count","restart_count","in_progress_since","last_transition_at","last_completed_at","last_restarted_at","status_age_ms"],properties:{attempt_count:{type:"integer",minimum:0},restart_count:{type:"integer",minimum:0},in_progress_since:{type:["string","null"]},last_transition_at:{type:["string","null"]},last_completed_at:{type:["string","null"]},last_restarted_at:{type:["string","null"]},status_age_ms:{type:["integer","null"],minimum:0}}}}}}}};var X={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://yaml-flow.dev/schema/card-runtime.schema.json",title:"Card Runtime Computed Artifact",description:"Published per-card runtime artifact written to runtime-out/cards/<card-id>.computed.json. Contains only values produced by the compute step.",type:"object",required:["schema_version","card_id","computed_values"],additionalProperties:false,properties:{schema_version:{type:"string",const:"v1",description:"Artifact schema version."},card_id:{type:"string",description:"The ID of the card this artifact belongs to."},computed_values:{type:"object",description:"Key/value map of outputs produced by the card's JSONata compute steps.",additionalProperties:true}}};var Te=chunkGNFE24S7_cjs.b(qe(),1);var S=null,j=null;function Ae(){let e=new Te.default({allErrors:true,strict:false});return Ba__default.default(e),e}function Ce(e){return {ok:false,errors:(e.errors??[]).map(r=>`${r.instancePath||"/"}: ${r.message??"unknown error"}`)}}function Da(){return S||(S=Ae().compile(W),S)}function Fa(){return j||(j=Ae().compile(X),j)}function ke(e){let t=Da();return t(e)?{ok:true,errors:[]}:Ce(t)}function xe(e){let t=Fa();return t(e)?{ok:true,errors:[]}:Ce(t)}
2
- Object.defineProperty(exports,"createCallbackHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.i}});Object.defineProperty(exports,"createFireAndForgetHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.j}});Object.defineProperty(exports,"createNoopHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.o}});Object.defineProperty(exports,"createProcessHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.l}});Object.defineProperty(exports,"createScriptHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.m}});Object.defineProperty(exports,"createShellHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.k}});Object.defineProperty(exports,"createWebhookHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.n}});Object.defineProperty(exports,"getDownstream",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.e}});Object.defineProperty(exports,"getUnreachableNodes",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.c}});Object.defineProperty(exports,"getUnreachableTokens",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.b}});Object.defineProperty(exports,"getUpstream",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.d}});Object.defineProperty(exports,"inspect",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.a}});Object.defineProperty(exports,"liveCardsToReactiveGraph",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.p}});Object.defineProperty(exports,"mutateGraph",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.h}});Object.defineProperty(exports,"validateLiveGraph",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.f}});Object.defineProperty(exports,"validateReactiveGraph",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.g}});Object.defineProperty(exports,"createBoardLiveGraphRuntime",{enumerable:true,get:function(){return chunkS6DRP2HX_cjs.b}});Object.defineProperty(exports,"FlowEngine",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.f}});Object.defineProperty(exports,"StepMachine",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.f}});Object.defineProperty(exports,"applyStepResult",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.a}});Object.defineProperty(exports,"checkCircuitBreaker",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.b}});Object.defineProperty(exports,"computeStepInput",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.c}});Object.defineProperty(exports,"createEngine",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.g}});Object.defineProperty(exports,"createInitialState",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.e}});Object.defineProperty(exports,"createStepMachine",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.g}});Object.defineProperty(exports,"extractReturnData",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.d}});Object.defineProperty(exports,"loadStepFlow",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.j}});Object.defineProperty(exports,"validateFlowSchema",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.k}});Object.defineProperty(exports,"validateStepFlowConfig",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.i}});Object.defineProperty(exports,"apply",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.h}});Object.defineProperty(exports,"applyAll",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.i}});Object.defineProperty(exports,"detectStuckState",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.e}});Object.defineProperty(exports,"exportGraphConfig",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.o}});Object.defineProperty(exports,"exportGraphConfigToFile",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.p}});Object.defineProperty(exports,"flowToMermaid",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.l}});Object.defineProperty(exports,"getCandidateTasks",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.g}});Object.defineProperty(exports,"graphToMermaid",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.k}});Object.defineProperty(exports,"isExecutionComplete",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.d}});Object.defineProperty(exports,"loadGraphConfig",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.n}});Object.defineProperty(exports,"next",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.f}});Object.defineProperty(exports,"planExecution",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.j}});Object.defineProperty(exports,"validateGraph",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.q}});Object.defineProperty(exports,"validateGraphConfig",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.m}});Object.defineProperty(exports,"validateGraphSchema",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.r}});Object.defineProperty(exports,"MemoryStore",{enumerable:true,get:function(){return chunkH5KD3JPY_cjs.a}});Object.defineProperty(exports,"KVStorageStore",{enumerable:true,get:function(){return chunkKHJABJ45_cjs.a}});Object.defineProperty(exports,"batch",{enumerable:true,get:function(){return chunkKLRUISRY_cjs.a}});Object.defineProperty(exports,"resolveConfigTemplates",{enumerable:true,get:function(){return chunk2MZUYY65_cjs.b}});Object.defineProperty(exports,"resolveVariables",{enumerable:true,get:function(){return chunk2MZUYY65_cjs.a}});Object.defineProperty(exports,"MemoryJournal",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.s}});Object.defineProperty(exports,"addNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.d}});Object.defineProperty(exports,"addProvides",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.h}});Object.defineProperty(exports,"addRequires",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.f}});Object.defineProperty(exports,"applyEvent",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.b}});Object.defineProperty(exports,"applyEvents",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.c}});Object.defineProperty(exports,"createLiveGraph",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.a}});Object.defineProperty(exports,"createReactiveGraph",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.u}});Object.defineProperty(exports,"disableNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.m}});Object.defineProperty(exports,"drainTokens",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.k}});Object.defineProperty(exports,"enableNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.n}});Object.defineProperty(exports,"getNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.o}});Object.defineProperty(exports,"injectTokens",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.j}});Object.defineProperty(exports,"removeNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.e}});Object.defineProperty(exports,"removeProvides",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.i}});Object.defineProperty(exports,"removeRequires",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.g}});Object.defineProperty(exports,"resetNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.l}});Object.defineProperty(exports,"restore",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.q}});Object.defineProperty(exports,"schedule",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.r}});Object.defineProperty(exports,"snapshot",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.p}});Object.defineProperty(exports,"COMPLETION_STRATEGIES",{enumerable:true,get:function(){return chunkLODXIALE_cjs.c}});Object.defineProperty(exports,"CONFLICT_STRATEGIES",{enumerable:true,get:function(){return chunkLODXIALE_cjs.e}});Object.defineProperty(exports,"DEFAULTS",{enumerable:true,get:function(){return chunkLODXIALE_cjs.f}});Object.defineProperty(exports,"EXECUTION_MODES",{enumerable:true,get:function(){return chunkLODXIALE_cjs.d}});Object.defineProperty(exports,"EXECUTION_STATUS",{enumerable:true,get:function(){return chunkLODXIALE_cjs.b}});Object.defineProperty(exports,"TASK_STATUS",{enumerable:true,get:function(){return chunkLODXIALE_cjs.a}});Object.defineProperty(exports,"addDynamicTask",{enumerable:true,get:function(){return chunkLODXIALE_cjs.y}});Object.defineProperty(exports,"computeAvailableOutputs",{enumerable:true,get:function(){return chunkLODXIALE_cjs.r}});Object.defineProperty(exports,"createDefaultGraphEngineStore",{enumerable:true,get:function(){return chunkLODXIALE_cjs.z}});Object.defineProperty(exports,"createInitialExecutionState",{enumerable:true,get:function(){return chunkLODXIALE_cjs.A}});Object.defineProperty(exports,"getAllTasks",{enumerable:true,get:function(){return chunkLODXIALE_cjs.i}});Object.defineProperty(exports,"getMaxExecutions",{enumerable:true,get:function(){return chunkLODXIALE_cjs.q}});Object.defineProperty(exports,"getProvides",{enumerable:true,get:function(){return chunkLODXIALE_cjs.g}});Object.defineProperty(exports,"getRefreshStrategy",{enumerable:true,get:function(){return chunkLODXIALE_cjs.o}});Object.defineProperty(exports,"getRequires",{enumerable:true,get:function(){return chunkLODXIALE_cjs.h}});Object.defineProperty(exports,"getTask",{enumerable:true,get:function(){return chunkLODXIALE_cjs.j}});Object.defineProperty(exports,"hasTask",{enumerable:true,get:function(){return chunkLODXIALE_cjs.k}});Object.defineProperty(exports,"isNonActiveTask",{enumerable:true,get:function(){return chunkLODXIALE_cjs.l}});Object.defineProperty(exports,"isRerunnable",{enumerable:true,get:function(){return chunkLODXIALE_cjs.p}});Object.defineProperty(exports,"isTaskCompleted",{enumerable:true,get:function(){return chunkLODXIALE_cjs.m}});Object.defineProperty(exports,"isTaskRunning",{enumerable:true,get:function(){return chunkLODXIALE_cjs.n}});Object.defineProperty(exports,"CardCompute",{enumerable:true,get:function(){return chunkIXZG74EW_cjs.a}});Object.defineProperty(exports,"validateLiveCard",{enumerable:true,get:function(){return chunkNMZ6XNLB_cjs.c}});Object.defineProperty(exports,"validateLiveCardDefinition",{enumerable:true,get:function(){return chunkNMZ6XNLB_cjs.d}});Object.defineProperty(exports,"validateLiveCardRuntimeExpressions",{enumerable:true,get:function(){return chunkNMZ6XNLB_cjs.b}});Object.defineProperty(exports,"validateLiveCardSchema",{enumerable:true,get:function(){return chunkNMZ6XNLB_cjs.a}});exports.validateBoardStatusSchema=ke;exports.validateCardRuntimeSchema=xe;//# sourceMappingURL=index.cjs.map
1
+ 'use strict';var chunkJAL25FGA_cjs=require('./chunk-JAL25FGA.cjs'),chunkS6DRP2HX_cjs=require('./chunk-S6DRP2HX.cjs'),chunkQ6H7NINN_cjs=require('./chunk-Q6H7NINN.cjs'),chunk5EA2ESS4_cjs=require('./chunk-5EA2ESS4.cjs'),chunkH5KD3JPY_cjs=require('./chunk-H5KD3JPY.cjs'),chunkKHJABJ45_cjs=require('./chunk-KHJABJ45.cjs'),chunkKLRUISRY_cjs=require('./chunk-KLRUISRY.cjs'),chunk2MZUYY65_cjs=require('./chunk-2MZUYY65.cjs'),chunkG4XXRHL2_cjs=require('./chunk-G4XXRHL2.cjs'),chunkLODXIALE_cjs=require('./chunk-LODXIALE.cjs'),chunkIXZG74EW_cjs=require('./chunk-IXZG74EW.cjs'),chunkHWYMZK3N_cjs=require('./chunk-HWYMZK3N.cjs'),chunkUJ7ZTV4J_cjs=require('./chunk-UJ7ZTV4J.cjs'),chunkGNFE24S7_cjs=require('./chunk-GNFE24S7.cjs'),Ba=require('ajv-formats');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var Ba__default=/*#__PURE__*/_interopDefault(Ba);var T=chunkGNFE24S7_cjs.a(b=>{Object.defineProperty(b,"__esModule",{value:true});b.dynamicAnchor=void 0;var q=chunkUJ7ZTV4J_cjs.a(),Cr=chunkUJ7ZTV4J_cjs.c(),Z=chunkUJ7ZTV4J_cjs.g(),kr=chunkUJ7ZTV4J_cjs.i(),xr={keyword:"$dynamicAnchor",schemaType:"string",code:e=>Q(e,e.schema)};function Q(e,t){let{gen:r,it:i}=e;i.schemaEnv.root.dynamicAnchors[t]=true;let s=(0, q._)`${Cr.default.dynamicAnchors}${(0, q.getProperty)(t)}`,c=i.errSchemaPath==="#"?i.validateName:Er(e);r.if((0, q._)`!${s}`,()=>r.assign(s,c));}b.dynamicAnchor=Q;function Er(e){let{schemaEnv:t,schema:r,self:i}=e.it,{root:s,baseId:c,localRefs:p,meta:u}=t.root,{schemaId:o}=i.opts,m=new Z.SchemaEnv({schema:r,schemaId:o,root:s,baseId:c,localRefs:p,meta:u});return Z.compileSchema.call(i,m),(0, kr.getValidate)(e,m)}b.default=xr;});var A=chunkGNFE24S7_cjs.a($=>{Object.defineProperty($,"__esModule",{value:true});$.dynamicRef=void 0;var Y=chunkUJ7ZTV4J_cjs.a(),Or=chunkUJ7ZTV4J_cjs.c(),ee=chunkUJ7ZTV4J_cjs.i(),Mr={keyword:"$dynamicRef",schemaType:"string",code:e=>te(e,e.schema)};function te(e,t){let{gen:r,keyword:i,it:s}=e;if(t[0]!=="#")throw new Error(`"${i}" only supports hash fragment reference`);let c=t.slice(1);if(s.allErrors)p();else {let o=r.let("valid",false);p(o),e.ok(o);}function p(o){if(s.schemaEnv.root.dynamicAnchors[c]){let m=r.let("_v",(0, Y._)`${Or.default.dynamicAnchors}${(0, Y.getProperty)(c)}`);r.if(m,u(m,o),u(s.validateName,o));}else u(s.validateName,o)();}function u(o,m){return m?()=>r.block(()=>{(0, ee.callRef)(e,o),r.let(m,true);}):()=>(0, ee.callRef)(e,o)}}$.dynamicRef=te;$.default=Mr;});var re=chunkGNFE24S7_cjs.a(C=>{Object.defineProperty(C,"__esModule",{value:true});var wr=T(),Ir=chunkUJ7ZTV4J_cjs.b(),Nr={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0, wr.dynamicAnchor)(e,""):(0, Ir.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored");}};C.default=Nr;});var ae=chunkGNFE24S7_cjs.a(k=>{Object.defineProperty(k,"__esModule",{value:true});var Vr=A(),Gr={keyword:"$recursiveRef",schemaType:"string",code:e=>(0, Vr.dynamicRef)(e,e.schema)};k.default=Gr;});var ne=chunkGNFE24S7_cjs.a(x=>{Object.defineProperty(x,"__esModule",{value:true});var Lr=T(),Br=A(),Dr=re(),Fr=ae(),Hr=[Lr.default,Br.default,Dr.default,Fr.default];x.default=Hr;});var ie=chunkGNFE24S7_cjs.a(E=>{Object.defineProperty(E,"__esModule",{value:true});var oe=chunkUJ7ZTV4J_cjs.l(),Ur={keyword:"dependentRequired",type:"object",schemaType:"object",error:oe.error,code:e=>(0, oe.validatePropertyDeps)(e)};E.default=Ur;});var se=chunkGNFE24S7_cjs.a(O=>{Object.defineProperty(O,"__esModule",{value:true});var Kr=chunkUJ7ZTV4J_cjs.l(),Jr={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0, Kr.validateSchemaDeps)(e)};O.default=Jr;});var ce=chunkGNFE24S7_cjs.a(M=>{Object.defineProperty(M,"__esModule",{value:true});var zr=chunkUJ7ZTV4J_cjs.b(),Wr={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:r}){t.contains===void 0&&(0, zr.checkStrictMode)(r,`"${e}" without "contains" is ignored`);}};M.default=Wr;});var de=chunkGNFE24S7_cjs.a(w=>{Object.defineProperty(w,"__esModule",{value:true});var Xr=ie(),Zr=se(),Qr=ce(),Yr=[Xr.default,Zr.default,Qr.default];w.default=Yr;});var me=chunkGNFE24S7_cjs.a(I=>{Object.defineProperty(I,"__esModule",{value:true});var l=chunkUJ7ZTV4J_cjs.a(),ue=chunkUJ7ZTV4J_cjs.b(),ea=chunkUJ7ZTV4J_cjs.c(),ta={message:"must NOT have unevaluated properties",params:({params:e})=>(0, l._)`{unevaluatedProperty: ${e.unevaluatedProperty}}`},ra={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:true,error:ta,code(e){let{gen:t,schema:r,data:i,errsCount:s,it:c}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:p,props:u}=c;u instanceof l.Name?t.if((0, l._)`${u} !== true`,()=>t.forIn("key",i,d=>t.if(m(u,d),()=>o(d)))):u!==true&&t.forIn("key",i,d=>u===void 0?o(d):t.if(R(u,d),()=>o(d))),c.props=true,e.ok((0, l._)`${s} === ${ea.default.errors}`);function o(d){if(r===false){e.setParams({unevaluatedProperty:d}),e.error(),p||t.break();return}if(!(0, ue.alwaysValidSchema)(c,r)){let h=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:ue.Type.Str},h),p||t.if((0, l.not)(h),()=>t.break());}}function m(d,h){return (0, l._)`!${d} || !${d}[${h}]`}function R(d,h){let F=[];for(let H in d)d[H]===true&&F.push((0, l._)`${h} !== ${H}`);return (0, l.and)(...F)}}};I.default=ra;});var le=chunkGNFE24S7_cjs.a(N=>{Object.defineProperty(N,"__esModule",{value:true});var f=chunkUJ7ZTV4J_cjs.a(),pe=chunkUJ7ZTV4J_cjs.b(),aa={message:({params:{len:e}})=>(0, f.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, f._)`{limit: ${e}}`},na={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:aa,code(e){let{gen:t,schema:r,data:i,it:s}=e,c=s.items||0;if(c===true)return;let p=t.const("len",(0, f._)`${i}.length`);if(r===false)e.setParams({len:c}),e.fail((0, f._)`${p} > ${c}`);else if(typeof r=="object"&&!(0, pe.alwaysValidSchema)(s,r)){let o=t.var("valid",(0, f._)`${p} <= ${c}`);t.if((0, f.not)(o),()=>u(o,c)),e.ok(o);}s.items=true;function u(o,m){t.forRange("i",m,p,R=>{e.subschema({keyword:"unevaluatedItems",dataProp:R,dataPropType:pe.Type.Num},o),s.allErrors||t.if((0, f.not)(o),()=>t.break());});}}};N.default=na;});var fe=chunkGNFE24S7_cjs.a(V=>{Object.defineProperty(V,"__esModule",{value:true});var oa=me(),ia=le(),sa=[oa.default,ia.default];V.default=sa;});var ye=chunkGNFE24S7_cjs.a(G=>{Object.defineProperty(G,"__esModule",{value:true});var ca=chunkUJ7ZTV4J_cjs.j(),da=chunkUJ7ZTV4J_cjs.k(),ua=chunkUJ7ZTV4J_cjs.m(),ma=ne(),pa=de(),la=fe(),fa=chunkUJ7ZTV4J_cjs.n(),he=chunkUJ7ZTV4J_cjs.o(),ha=[ma.default,ca.default,da.default,(0, ua.default)(true),fa.default,he.metadataVocabulary,he.contentVocabulary,pa.default,la.default];G.default=ha;});var ge=chunkGNFE24S7_cjs.a((on,ya)=>{ya.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:true,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:true,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:true},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:true}}};});var ve=chunkGNFE24S7_cjs.a((sn,ga)=>{ga.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":true},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}};});var be=chunkGNFE24S7_cjs.a((cn,va)=>{va.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}};});var $e=chunkGNFE24S7_cjs.a((dn,ba)=>{ba.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}};});var _e=chunkGNFE24S7_cjs.a((un,$a)=>{$a.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}};});var Se=chunkGNFE24S7_cjs.a((mn,_a)=>{_a.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}};});var je=chunkGNFE24S7_cjs.a((pn,Sa)=>{Sa.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:true,deprecated:{type:"boolean",default:false},readOnly:{type:"boolean",default:false},writeOnly:{type:"boolean",default:false},examples:{type:"array",items:true}}};});var Re=chunkGNFE24S7_cjs.a((ln,ja)=>{ja.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":true},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:true}]},const:true,enum:{type:"array",items:true},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:false},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:true,default:[]}}};});var Pe=chunkGNFE24S7_cjs.a(L=>{Object.defineProperty(L,"__esModule",{value:true});var Ra=ge(),Pa=ve(),qa=be(),Ta=$e(),Aa=_e(),Ca=Se(),ka=je(),xa=Re(),Ea=["/properties"];function Oa(e){return [Ra,Pa,qa,Ta,Aa,t(this,Ca),ka,t(this,xa)].forEach(r=>this.addMetaSchema(r,void 0,false)),this;function t(r,i){return e?r.$dataMetaSchema(i,Ea):i}}L.default=Oa;});var qe=chunkGNFE24S7_cjs.a((a,D)=>{Object.defineProperty(a,"__esModule",{value:true});a.MissingRefError=a.ValidationError=a.CodeGen=a.Name=a.nil=a.stringify=a.str=a._=a.KeywordCxt=a.Ajv2020=void 0;var Ma=chunkUJ7ZTV4J_cjs.h(),wa=ye(),Ia=chunkUJ7ZTV4J_cjs.p(),Na=Pe(),B="https://json-schema.org/draft/2020-12/schema",y=class extends Ma.default{constructor(t={}){super({...t,dynamicRef:true,next:true,unevaluated:true});}_addVocabularies(){super._addVocabularies(),wa.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Ia.default);}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:t,meta:r}=this.opts;r&&(Na.default.call(this,t),this.refs["http://json-schema.org/schema"]=B);}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(B)?B:void 0)}};a.Ajv2020=y;D.exports=a=y;D.exports.Ajv2020=y;Object.defineProperty(a,"__esModule",{value:true});a.default=y;var Va=chunkUJ7ZTV4J_cjs.d();Object.defineProperty(a,"KeywordCxt",{enumerable:true,get:function(){return Va.KeywordCxt}});var g=chunkUJ7ZTV4J_cjs.a();Object.defineProperty(a,"_",{enumerable:true,get:function(){return g._}});Object.defineProperty(a,"str",{enumerable:true,get:function(){return g.str}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return g.stringify}});Object.defineProperty(a,"nil",{enumerable:true,get:function(){return g.nil}});Object.defineProperty(a,"Name",{enumerable:true,get:function(){return g.Name}});Object.defineProperty(a,"CodeGen",{enumerable:true,get:function(){return g.CodeGen}});var Ga=chunkUJ7ZTV4J_cjs.e();Object.defineProperty(a,"ValidationError",{enumerable:true,get:function(){return Ga.default}});var La=chunkUJ7ZTV4J_cjs.f();Object.defineProperty(a,"MissingRefError",{enumerable:true,get:function(){return La.default}});});var W={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://yaml-flow.dev/schema/board-status.schema.json",title:"Board Status Object",type:"object",additionalProperties:false,required:["schema_version","meta","summary","cards"],properties:{schema_version:{type:"string",const:"v1"},meta:{type:"object",additionalProperties:false,required:["board"],properties:{board:{type:"object",additionalProperties:false,required:["path"],properties:{path:{type:"string"}}}}},summary:{type:"object",additionalProperties:false,required:["card_count","completed","eligible","pending","blocked","unresolved"],properties:{card_count:{type:"integer",minimum:0},completed:{type:"integer",minimum:0},eligible:{type:"integer",minimum:0},pending:{type:"integer",minimum:0},blocked:{type:"integer",minimum:0},unresolved:{type:"integer",minimum:0},failed:{type:"integer",minimum:0},in_progress:{type:"integer",minimum:0},orphan_cards:{type:"integer",minimum:0},topology:{type:"object",additionalProperties:false,required:["edge_count","max_fan_out_card","max_fan_out"],properties:{edge_count:{type:"integer",minimum:0},max_fan_out_card:{type:["string","null"]},max_fan_out:{type:"integer",minimum:0}}}}},cards:{type:"array",items:{type:"object",additionalProperties:false,required:["name","status","requires","requires_satisfied","requires_missing","provides_declared","provides_runtime","blocked_by","unblocks","runtime"],properties:{name:{type:"string"},status:{type:"string"},error:{type:"object",additionalProperties:false,required:["message"],properties:{message:{type:"string"},code:{type:"string"},at:{type:["string","null"]},source:{type:"string"}}},requires:{type:"array",items:{type:"string"}},requires_satisfied:{type:"array",items:{type:"string"}},requires_missing:{type:"array",items:{type:"string"}},provides_declared:{type:"array",items:{type:"string"}},provides_runtime:{type:"array",items:{type:"string"}},blocked_by:{type:"array",items:{type:"string"}},unblocks:{type:"array",items:{type:"string"}},runtime:{type:"object",additionalProperties:false,required:["attempt_count","restart_count","in_progress_since","last_transition_at","last_completed_at","last_restarted_at","status_age_ms"],properties:{attempt_count:{type:"integer",minimum:0},restart_count:{type:"integer",minimum:0},in_progress_since:{type:["string","null"]},last_transition_at:{type:["string","null"]},last_completed_at:{type:["string","null"]},last_restarted_at:{type:["string","null"]},status_age_ms:{type:["integer","null"],minimum:0}}}}}}}};var X={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://yaml-flow.dev/schema/card-runtime.schema.json",title:"Card Runtime Computed Artifact",description:"Published per-card runtime artifact written to runtime-out/cards/<card-id>.computed.json. Contains only values produced by the compute step.",type:"object",required:["schema_version","card_id","computed_values"],additionalProperties:false,properties:{schema_version:{type:"string",const:"v1",description:"Artifact schema version."},card_id:{type:"string",description:"The ID of the card this artifact belongs to."},computed_values:{type:"object",description:"Key/value map of outputs produced by the card's JSONata compute steps.",additionalProperties:true}}};var Te=chunkGNFE24S7_cjs.b(qe(),1);var S=null,j=null;function Ae(){let e=new Te.default({allErrors:true,strict:false});return Ba__default.default(e),e}function Ce(e){return {ok:false,errors:(e.errors??[]).map(r=>`${r.instancePath||"/"}: ${r.message??"unknown error"}`)}}function Da(){return S||(S=Ae().compile(W),S)}function Fa(){return j||(j=Ae().compile(X),j)}function ke(e){let t=Da();return t(e)?{ok:true,errors:[]}:Ce(t)}function xe(e){let t=Fa();return t(e)?{ok:true,errors:[]}:Ce(t)}
2
+ Object.defineProperty(exports,"createCallbackHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.i}});Object.defineProperty(exports,"createFireAndForgetHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.j}});Object.defineProperty(exports,"createNoopHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.o}});Object.defineProperty(exports,"createProcessHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.l}});Object.defineProperty(exports,"createScriptHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.m}});Object.defineProperty(exports,"createShellHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.k}});Object.defineProperty(exports,"createWebhookHandler",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.n}});Object.defineProperty(exports,"getDownstream",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.e}});Object.defineProperty(exports,"getUnreachableNodes",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.c}});Object.defineProperty(exports,"getUnreachableTokens",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.b}});Object.defineProperty(exports,"getUpstream",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.d}});Object.defineProperty(exports,"inspect",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.a}});Object.defineProperty(exports,"liveCardsToReactiveGraph",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.p}});Object.defineProperty(exports,"mutateGraph",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.h}});Object.defineProperty(exports,"validateLiveGraph",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.f}});Object.defineProperty(exports,"validateReactiveGraph",{enumerable:true,get:function(){return chunkJAL25FGA_cjs.g}});Object.defineProperty(exports,"createBoardLiveGraphRuntime",{enumerable:true,get:function(){return chunkS6DRP2HX_cjs.b}});Object.defineProperty(exports,"FlowEngine",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.f}});Object.defineProperty(exports,"StepMachine",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.f}});Object.defineProperty(exports,"applyStepResult",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.a}});Object.defineProperty(exports,"checkCircuitBreaker",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.b}});Object.defineProperty(exports,"computeStepInput",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.c}});Object.defineProperty(exports,"createEngine",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.g}});Object.defineProperty(exports,"createInitialState",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.e}});Object.defineProperty(exports,"createStepMachine",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.g}});Object.defineProperty(exports,"extractReturnData",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.d}});Object.defineProperty(exports,"loadStepFlow",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.j}});Object.defineProperty(exports,"validateFlowSchema",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.k}});Object.defineProperty(exports,"validateStepFlowConfig",{enumerable:true,get:function(){return chunkQ6H7NINN_cjs.i}});Object.defineProperty(exports,"apply",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.h}});Object.defineProperty(exports,"applyAll",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.i}});Object.defineProperty(exports,"detectStuckState",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.e}});Object.defineProperty(exports,"exportGraphConfig",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.o}});Object.defineProperty(exports,"exportGraphConfigToFile",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.p}});Object.defineProperty(exports,"flowToMermaid",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.l}});Object.defineProperty(exports,"getCandidateTasks",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.g}});Object.defineProperty(exports,"graphToMermaid",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.k}});Object.defineProperty(exports,"isExecutionComplete",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.d}});Object.defineProperty(exports,"loadGraphConfig",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.n}});Object.defineProperty(exports,"next",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.f}});Object.defineProperty(exports,"planExecution",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.j}});Object.defineProperty(exports,"validateGraph",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.q}});Object.defineProperty(exports,"validateGraphConfig",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.m}});Object.defineProperty(exports,"validateGraphSchema",{enumerable:true,get:function(){return chunk5EA2ESS4_cjs.r}});Object.defineProperty(exports,"MemoryStore",{enumerable:true,get:function(){return chunkH5KD3JPY_cjs.a}});Object.defineProperty(exports,"KVStorageStore",{enumerable:true,get:function(){return chunkKHJABJ45_cjs.a}});Object.defineProperty(exports,"batch",{enumerable:true,get:function(){return chunkKLRUISRY_cjs.a}});Object.defineProperty(exports,"resolveConfigTemplates",{enumerable:true,get:function(){return chunk2MZUYY65_cjs.b}});Object.defineProperty(exports,"resolveVariables",{enumerable:true,get:function(){return chunk2MZUYY65_cjs.a}});Object.defineProperty(exports,"MemoryJournal",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.s}});Object.defineProperty(exports,"addNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.d}});Object.defineProperty(exports,"addProvides",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.h}});Object.defineProperty(exports,"addRequires",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.f}});Object.defineProperty(exports,"applyEvent",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.b}});Object.defineProperty(exports,"applyEvents",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.c}});Object.defineProperty(exports,"createLiveGraph",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.a}});Object.defineProperty(exports,"createReactiveGraph",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.u}});Object.defineProperty(exports,"disableNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.m}});Object.defineProperty(exports,"drainTokens",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.k}});Object.defineProperty(exports,"enableNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.n}});Object.defineProperty(exports,"getNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.o}});Object.defineProperty(exports,"injectTokens",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.j}});Object.defineProperty(exports,"removeNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.e}});Object.defineProperty(exports,"removeProvides",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.i}});Object.defineProperty(exports,"removeRequires",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.g}});Object.defineProperty(exports,"resetNode",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.l}});Object.defineProperty(exports,"restore",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.q}});Object.defineProperty(exports,"schedule",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.r}});Object.defineProperty(exports,"snapshot",{enumerable:true,get:function(){return chunkG4XXRHL2_cjs.p}});Object.defineProperty(exports,"COMPLETION_STRATEGIES",{enumerable:true,get:function(){return chunkLODXIALE_cjs.c}});Object.defineProperty(exports,"CONFLICT_STRATEGIES",{enumerable:true,get:function(){return chunkLODXIALE_cjs.e}});Object.defineProperty(exports,"DEFAULTS",{enumerable:true,get:function(){return chunkLODXIALE_cjs.f}});Object.defineProperty(exports,"EXECUTION_MODES",{enumerable:true,get:function(){return chunkLODXIALE_cjs.d}});Object.defineProperty(exports,"EXECUTION_STATUS",{enumerable:true,get:function(){return chunkLODXIALE_cjs.b}});Object.defineProperty(exports,"TASK_STATUS",{enumerable:true,get:function(){return chunkLODXIALE_cjs.a}});Object.defineProperty(exports,"addDynamicTask",{enumerable:true,get:function(){return chunkLODXIALE_cjs.y}});Object.defineProperty(exports,"computeAvailableOutputs",{enumerable:true,get:function(){return chunkLODXIALE_cjs.r}});Object.defineProperty(exports,"createDefaultGraphEngineStore",{enumerable:true,get:function(){return chunkLODXIALE_cjs.z}});Object.defineProperty(exports,"createInitialExecutionState",{enumerable:true,get:function(){return chunkLODXIALE_cjs.A}});Object.defineProperty(exports,"getAllTasks",{enumerable:true,get:function(){return chunkLODXIALE_cjs.i}});Object.defineProperty(exports,"getMaxExecutions",{enumerable:true,get:function(){return chunkLODXIALE_cjs.q}});Object.defineProperty(exports,"getProvides",{enumerable:true,get:function(){return chunkLODXIALE_cjs.g}});Object.defineProperty(exports,"getRefreshStrategy",{enumerable:true,get:function(){return chunkLODXIALE_cjs.o}});Object.defineProperty(exports,"getRequires",{enumerable:true,get:function(){return chunkLODXIALE_cjs.h}});Object.defineProperty(exports,"getTask",{enumerable:true,get:function(){return chunkLODXIALE_cjs.j}});Object.defineProperty(exports,"hasTask",{enumerable:true,get:function(){return chunkLODXIALE_cjs.k}});Object.defineProperty(exports,"isNonActiveTask",{enumerable:true,get:function(){return chunkLODXIALE_cjs.l}});Object.defineProperty(exports,"isRerunnable",{enumerable:true,get:function(){return chunkLODXIALE_cjs.p}});Object.defineProperty(exports,"isTaskCompleted",{enumerable:true,get:function(){return chunkLODXIALE_cjs.m}});Object.defineProperty(exports,"isTaskRunning",{enumerable:true,get:function(){return chunkLODXIALE_cjs.n}});Object.defineProperty(exports,"CardCompute",{enumerable:true,get:function(){return chunkIXZG74EW_cjs.a}});Object.defineProperty(exports,"validateLiveCard",{enumerable:true,get:function(){return chunkHWYMZK3N_cjs.c}});Object.defineProperty(exports,"validateLiveCardDefinition",{enumerable:true,get:function(){return chunkHWYMZK3N_cjs.d}});Object.defineProperty(exports,"validateLiveCardRuntimeExpressions",{enumerable:true,get:function(){return chunkHWYMZK3N_cjs.b}});Object.defineProperty(exports,"validateLiveCardSchema",{enumerable:true,get:function(){return chunkHWYMZK3N_cjs.a}});exports.validateBoardStatusSchema=ke;exports.validateCardRuntimeSchema=xe;//# sourceMappingURL=index.cjs.map
3
3
  //# sourceMappingURL=index.cjs.map
package/lib/index.d.cts CHANGED
@@ -12,7 +12,7 @@ export { CommandSpec, GraphMutation, Journal, MemoryJournal, ProcessHandlerOptio
12
12
  export { B as BlockedTask, D as DownstreamResult, L as LiveBoard, a as LiveCard, b as LiveCardsToReactiveOptions, c as LiveCardsToReactiveResult, d as LiveGraph, e as LiveGraphHealth, f as LiveGraphSnapshot, N as NodeInfo, P as PendingTask, R as ReactiveGraph, g as ReactiveGraphOptions, S as ScheduleResult, T as TaskHandlerFn, h as TaskHandlerInput, i as TaskHandlerReturn, U as UnreachableNodesResult, j as UnreachableTokensResult, k as UnresolvedDependency, l as UpstreamResult, m as createReactiveGraph, n as liveCardsToReactiveGraph, s as schedule } from './live-cards-bridge-Bwi-lbBT.cjs';
13
13
  export { BoardLiveGraphRuntime, BoardLiveGraphRuntimeOptions, BoardLiveGraphRuntimeUpdate, BoardRuntimeView, BoardTaskExecutor, BoardTaskExecutorContext, BrowserSourceAdapter, BrowserSourceAdapterContext, LiveCardRuntimeModel, createBoardLiveGraphRuntime } from './board-livegraph-runtime/index.cjs';
14
14
  export { CardCompute, ComputeNode, ComputeStep, ValidationResult, validateLiveCard, validateLiveCardDefinition, validateLiveCardRuntimeExpressions, validateLiveCardSchema } from './card-compute/index.cjs';
15
- import './storage-interface-BFiD3kyB.cjs';
15
+ import './storage-interface-D-iEiTJA.cjs';
16
16
 
17
17
  /**
18
18
  * schema-validator — Full JSON Schema validation for published runtime artifacts.
package/lib/index.d.ts CHANGED
@@ -12,7 +12,7 @@ export { CommandSpec, GraphMutation, Journal, MemoryJournal, ProcessHandlerOptio
12
12
  export { B as BlockedTask, D as DownstreamResult, L as LiveBoard, a as LiveCard, b as LiveCardsToReactiveOptions, c as LiveCardsToReactiveResult, d as LiveGraph, e as LiveGraphHealth, f as LiveGraphSnapshot, N as NodeInfo, P as PendingTask, R as ReactiveGraph, g as ReactiveGraphOptions, S as ScheduleResult, T as TaskHandlerFn, h as TaskHandlerInput, i as TaskHandlerReturn, U as UnreachableNodesResult, j as UnreachableTokensResult, k as UnresolvedDependency, l as UpstreamResult, m as createReactiveGraph, n as liveCardsToReactiveGraph, s as schedule } from './live-cards-bridge-YL6AWawT.js';
13
13
  export { BoardLiveGraphRuntime, BoardLiveGraphRuntimeOptions, BoardLiveGraphRuntimeUpdate, BoardRuntimeView, BoardTaskExecutor, BoardTaskExecutorContext, BrowserSourceAdapter, BrowserSourceAdapterContext, LiveCardRuntimeModel, createBoardLiveGraphRuntime } from './board-livegraph-runtime/index.js';
14
14
  export { CardCompute, ComputeNode, ComputeStep, ValidationResult, validateLiveCard, validateLiveCardDefinition, validateLiveCardRuntimeExpressions, validateLiveCardSchema } from './card-compute/index.js';
15
- import './storage-interface-BFiD3kyB.js';
15
+ import './storage-interface-D-iEiTJA.js';
16
16
 
17
17
  /**
18
18
  * schema-validator — Full JSON Schema validation for published runtime artifacts.
package/lib/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export{i as createCallbackHandler,j as createFireAndForgetHandler,o as createNoopHandler,l as createProcessHandler,m as createScriptHandler,k as createShellHandler,n as createWebhookHandler,e as getDownstream,c as getUnreachableNodes,b as getUnreachableTokens,d as getUpstream,a as inspect,p as liveCardsToReactiveGraph,h as mutateGraph,f as validateLiveGraph,g as validateReactiveGraph}from'./chunk-OPNGCSXJ.js';export{b as createBoardLiveGraphRuntime}from'./chunk-YGKDQLYP.js';export{f as FlowEngine,f as StepMachine,a as applyStepResult,b as checkCircuitBreaker,c as computeStepInput,g as createEngine,e as createInitialState,g as createStepMachine,d as extractReturnData,j as loadStepFlow,k as validateFlowSchema,i as validateStepFlowConfig}from'./chunk-QWBNDVUA.js';export{h as apply,i as applyAll,e as detectStuckState,o as exportGraphConfig,p as exportGraphConfigToFile,l as flowToMermaid,g as getCandidateTasks,k as graphToMermaid,d as isExecutionComplete,n as loadGraphConfig,f as next,j as planExecution,q as validateGraph,m as validateGraphConfig,r as validateGraphSchema}from'./chunk-HLJH7LGW.js';export{a as MemoryStore}from'./chunk-JM5EKT57.js';export{a as KVStorageStore}from'./chunk-FZ2SBU5M.js';export{a as batch}from'./chunk-7BKNHFNH.js';export{b as resolveConfigTemplates,a as resolveVariables}from'./chunk-DAXACY63.js';export{s as MemoryJournal,d as addNode,h as addProvides,f as addRequires,b as applyEvent,c as applyEvents,a as createLiveGraph,u as createReactiveGraph,m as disableNode,k as drainTokens,n as enableNode,o as getNode,j as injectTokens,e as removeNode,i as removeProvides,g as removeRequires,l as resetNode,q as restore,r as schedule,p as snapshot}from'./chunk-VGT3TRQG.js';export{c as COMPLETION_STRATEGIES,e as CONFLICT_STRATEGIES,f as DEFAULTS,d as EXECUTION_MODES,b as EXECUTION_STATUS,a as TASK_STATUS,y as addDynamicTask,r as computeAvailableOutputs,z as createDefaultGraphEngineStore,A as createInitialExecutionState,i as getAllTasks,q as getMaxExecutions,g as getProvides,o as getRefreshStrategy,h as getRequires,j as getTask,k as hasTask,l as isNonActiveTask,p as isRerunnable,m as isTaskCompleted,n as isTaskRunning}from'./chunk-WDPOGXTY.js';export{a as CardCompute}from'./chunk-JMDHDY6M.js';export{c as validateLiveCard,d as validateLiveCardDefinition,b as validateLiveCardRuntimeExpressions,a as validateLiveCardSchema}from'./chunk-VLBB3D6B.js';import {a as a$1,c,g,i,b,l,j as j$1,k,m,n,o,h,p,d,e,f}from'./chunk-MNEOJWPS.js';import {a,b as b$1}from'./chunk-FW4363Y4.js';import Ba from'ajv-formats';var T=a(b=>{Object.defineProperty(b,"__esModule",{value:true});b.dynamicAnchor=void 0;var q=a$1(),Cr=c(),Z=g(),kr=i(),xr={keyword:"$dynamicAnchor",schemaType:"string",code:e=>Q(e,e.schema)};function Q(e,t){let{gen:r,it:i}=e;i.schemaEnv.root.dynamicAnchors[t]=true;let s=(0, q._)`${Cr.default.dynamicAnchors}${(0, q.getProperty)(t)}`,c=i.errSchemaPath==="#"?i.validateName:Er(e);r.if((0, q._)`!${s}`,()=>r.assign(s,c));}b.dynamicAnchor=Q;function Er(e){let{schemaEnv:t,schema:r,self:i}=e.it,{root:s,baseId:c,localRefs:p,meta:u}=t.root,{schemaId:o}=i.opts,m=new Z.SchemaEnv({schema:r,schemaId:o,root:s,baseId:c,localRefs:p,meta:u});return Z.compileSchema.call(i,m),(0, kr.getValidate)(e,m)}b.default=xr;});var A=a($=>{Object.defineProperty($,"__esModule",{value:true});$.dynamicRef=void 0;var Y=a$1(),Or=c(),ee=i(),Mr={keyword:"$dynamicRef",schemaType:"string",code:e=>te(e,e.schema)};function te(e,t){let{gen:r,keyword:i,it:s}=e;if(t[0]!=="#")throw new Error(`"${i}" only supports hash fragment reference`);let c=t.slice(1);if(s.allErrors)p();else {let o=r.let("valid",false);p(o),e.ok(o);}function p(o){if(s.schemaEnv.root.dynamicAnchors[c]){let m=r.let("_v",(0, Y._)`${Or.default.dynamicAnchors}${(0, Y.getProperty)(c)}`);r.if(m,u(m,o),u(s.validateName,o));}else u(s.validateName,o)();}function u(o,m){return m?()=>r.block(()=>{(0, ee.callRef)(e,o),r.let(m,true);}):()=>(0, ee.callRef)(e,o)}}$.dynamicRef=te;$.default=Mr;});var re=a(C=>{Object.defineProperty(C,"__esModule",{value:true});var wr=T(),Ir=b(),Nr={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0, wr.dynamicAnchor)(e,""):(0, Ir.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored");}};C.default=Nr;});var ae=a(k=>{Object.defineProperty(k,"__esModule",{value:true});var Vr=A(),Gr={keyword:"$recursiveRef",schemaType:"string",code:e=>(0, Vr.dynamicRef)(e,e.schema)};k.default=Gr;});var ne=a(x=>{Object.defineProperty(x,"__esModule",{value:true});var Lr=T(),Br=A(),Dr=re(),Fr=ae(),Hr=[Lr.default,Br.default,Dr.default,Fr.default];x.default=Hr;});var ie=a(E=>{Object.defineProperty(E,"__esModule",{value:true});var oe=l(),Ur={keyword:"dependentRequired",type:"object",schemaType:"object",error:oe.error,code:e=>(0, oe.validatePropertyDeps)(e)};E.default=Ur;});var se=a(O=>{Object.defineProperty(O,"__esModule",{value:true});var Kr=l(),Jr={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0, Kr.validateSchemaDeps)(e)};O.default=Jr;});var ce=a(M=>{Object.defineProperty(M,"__esModule",{value:true});var zr=b(),Wr={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:r}){t.contains===void 0&&(0, zr.checkStrictMode)(r,`"${e}" without "contains" is ignored`);}};M.default=Wr;});var de=a(w=>{Object.defineProperty(w,"__esModule",{value:true});var Xr=ie(),Zr=se(),Qr=ce(),Yr=[Xr.default,Zr.default,Qr.default];w.default=Yr;});var me=a(I=>{Object.defineProperty(I,"__esModule",{value:true});var l=a$1(),ue=b(),ea=c(),ta={message:"must NOT have unevaluated properties",params:({params:e})=>(0, l._)`{unevaluatedProperty: ${e.unevaluatedProperty}}`},ra={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:true,error:ta,code(e){let{gen:t,schema:r,data:i,errsCount:s,it:c}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:p,props:u}=c;u instanceof l.Name?t.if((0, l._)`${u} !== true`,()=>t.forIn("key",i,d=>t.if(m(u,d),()=>o(d)))):u!==true&&t.forIn("key",i,d=>u===void 0?o(d):t.if(R(u,d),()=>o(d))),c.props=true,e.ok((0, l._)`${s} === ${ea.default.errors}`);function o(d){if(r===false){e.setParams({unevaluatedProperty:d}),e.error(),p||t.break();return}if(!(0, ue.alwaysValidSchema)(c,r)){let h=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:ue.Type.Str},h),p||t.if((0, l.not)(h),()=>t.break());}}function m(d,h){return (0, l._)`!${d} || !${d}[${h}]`}function R(d,h){let F=[];for(let H in d)d[H]===true&&F.push((0, l._)`${h} !== ${H}`);return (0, l.and)(...F)}}};I.default=ra;});var le=a(N=>{Object.defineProperty(N,"__esModule",{value:true});var f=a$1(),pe=b(),aa={message:({params:{len:e}})=>(0, f.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, f._)`{limit: ${e}}`},na={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:aa,code(e){let{gen:t,schema:r,data:i,it:s}=e,c=s.items||0;if(c===true)return;let p=t.const("len",(0, f._)`${i}.length`);if(r===false)e.setParams({len:c}),e.fail((0, f._)`${p} > ${c}`);else if(typeof r=="object"&&!(0, pe.alwaysValidSchema)(s,r)){let o=t.var("valid",(0, f._)`${p} <= ${c}`);t.if((0, f.not)(o),()=>u(o,c)),e.ok(o);}s.items=true;function u(o,m){t.forRange("i",m,p,R=>{e.subschema({keyword:"unevaluatedItems",dataProp:R,dataPropType:pe.Type.Num},o),s.allErrors||t.if((0, f.not)(o),()=>t.break());});}}};N.default=na;});var fe=a(V=>{Object.defineProperty(V,"__esModule",{value:true});var oa=me(),ia=le(),sa=[oa.default,ia.default];V.default=sa;});var ye=a(G=>{Object.defineProperty(G,"__esModule",{value:true});var ca=j$1(),da=k(),ua=m(),ma=ne(),pa=de(),la=fe(),fa=n(),he=o(),ha=[ma.default,ca.default,da.default,(0, ua.default)(true),fa.default,he.metadataVocabulary,he.contentVocabulary,pa.default,la.default];G.default=ha;});var ge=a((on,ya)=>{ya.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:true,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:true,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:true},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:true}}};});var ve=a((sn,ga)=>{ga.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":true},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}};});var be=a((cn,va)=>{va.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}};});var $e=a((dn,ba)=>{ba.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}};});var _e=a((un,$a)=>{$a.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}};});var Se=a((mn,_a)=>{_a.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}};});var je=a((pn,Sa)=>{Sa.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:true,deprecated:{type:"boolean",default:false},readOnly:{type:"boolean",default:false},writeOnly:{type:"boolean",default:false},examples:{type:"array",items:true}}};});var Re=a((ln,ja)=>{ja.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":true},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:true}]},const:true,enum:{type:"array",items:true},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:false},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:true,default:[]}}};});var Pe=a(L=>{Object.defineProperty(L,"__esModule",{value:true});var Ra=ge(),Pa=ve(),qa=be(),Ta=$e(),Aa=_e(),Ca=Se(),ka=je(),xa=Re(),Ea=["/properties"];function Oa(e){return [Ra,Pa,qa,Ta,Aa,t(this,Ca),ka,t(this,xa)].forEach(r=>this.addMetaSchema(r,void 0,false)),this;function t(r,i){return e?r.$dataMetaSchema(i,Ea):i}}L.default=Oa;});var qe=a((a,D)=>{Object.defineProperty(a,"__esModule",{value:true});a.MissingRefError=a.ValidationError=a.CodeGen=a.Name=a.nil=a.stringify=a.str=a._=a.KeywordCxt=a.Ajv2020=void 0;var Ma=h(),wa=ye(),Ia=p(),Na=Pe(),B="https://json-schema.org/draft/2020-12/schema",y=class extends Ma.default{constructor(t={}){super({...t,dynamicRef:true,next:true,unevaluated:true});}_addVocabularies(){super._addVocabularies(),wa.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Ia.default);}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:t,meta:r}=this.opts;r&&(Na.default.call(this,t),this.refs["http://json-schema.org/schema"]=B);}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(B)?B:void 0)}};a.Ajv2020=y;D.exports=a=y;D.exports.Ajv2020=y;Object.defineProperty(a,"__esModule",{value:true});a.default=y;var Va=d();Object.defineProperty(a,"KeywordCxt",{enumerable:true,get:function(){return Va.KeywordCxt}});var g=a$1();Object.defineProperty(a,"_",{enumerable:true,get:function(){return g._}});Object.defineProperty(a,"str",{enumerable:true,get:function(){return g.str}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return g.stringify}});Object.defineProperty(a,"nil",{enumerable:true,get:function(){return g.nil}});Object.defineProperty(a,"Name",{enumerable:true,get:function(){return g.Name}});Object.defineProperty(a,"CodeGen",{enumerable:true,get:function(){return g.CodeGen}});var Ga=e();Object.defineProperty(a,"ValidationError",{enumerable:true,get:function(){return Ga.default}});var La=f();Object.defineProperty(a,"MissingRefError",{enumerable:true,get:function(){return La.default}});});var W={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://yaml-flow.dev/schema/board-status.schema.json",title:"Board Status Object",type:"object",additionalProperties:false,required:["schema_version","meta","summary","cards"],properties:{schema_version:{type:"string",const:"v1"},meta:{type:"object",additionalProperties:false,required:["board"],properties:{board:{type:"object",additionalProperties:false,required:["path"],properties:{path:{type:"string"}}}}},summary:{type:"object",additionalProperties:false,required:["card_count","completed","eligible","pending","blocked","unresolved"],properties:{card_count:{type:"integer",minimum:0},completed:{type:"integer",minimum:0},eligible:{type:"integer",minimum:0},pending:{type:"integer",minimum:0},blocked:{type:"integer",minimum:0},unresolved:{type:"integer",minimum:0},failed:{type:"integer",minimum:0},in_progress:{type:"integer",minimum:0},orphan_cards:{type:"integer",minimum:0},topology:{type:"object",additionalProperties:false,required:["edge_count","max_fan_out_card","max_fan_out"],properties:{edge_count:{type:"integer",minimum:0},max_fan_out_card:{type:["string","null"]},max_fan_out:{type:"integer",minimum:0}}}}},cards:{type:"array",items:{type:"object",additionalProperties:false,required:["name","status","requires","requires_satisfied","requires_missing","provides_declared","provides_runtime","blocked_by","unblocks","runtime"],properties:{name:{type:"string"},status:{type:"string"},error:{type:"object",additionalProperties:false,required:["message"],properties:{message:{type:"string"},code:{type:"string"},at:{type:["string","null"]},source:{type:"string"}}},requires:{type:"array",items:{type:"string"}},requires_satisfied:{type:"array",items:{type:"string"}},requires_missing:{type:"array",items:{type:"string"}},provides_declared:{type:"array",items:{type:"string"}},provides_runtime:{type:"array",items:{type:"string"}},blocked_by:{type:"array",items:{type:"string"}},unblocks:{type:"array",items:{type:"string"}},runtime:{type:"object",additionalProperties:false,required:["attempt_count","restart_count","in_progress_since","last_transition_at","last_completed_at","last_restarted_at","status_age_ms"],properties:{attempt_count:{type:"integer",minimum:0},restart_count:{type:"integer",minimum:0},in_progress_since:{type:["string","null"]},last_transition_at:{type:["string","null"]},last_completed_at:{type:["string","null"]},last_restarted_at:{type:["string","null"]},status_age_ms:{type:["integer","null"],minimum:0}}}}}}}};var X={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://yaml-flow.dev/schema/card-runtime.schema.json",title:"Card Runtime Computed Artifact",description:"Published per-card runtime artifact written to runtime-out/cards/<card-id>.computed.json. Contains only values produced by the compute step.",type:"object",required:["schema_version","card_id","computed_values"],additionalProperties:false,properties:{schema_version:{type:"string",const:"v1",description:"Artifact schema version."},card_id:{type:"string",description:"The ID of the card this artifact belongs to."},computed_values:{type:"object",description:"Key/value map of outputs produced by the card's JSONata compute steps.",additionalProperties:true}}};var Te=b$1(qe(),1);var S=null,j=null;function Ae(){let e=new Te.default({allErrors:true,strict:false});return Ba(e),e}function Ce(e){return {ok:false,errors:(e.errors??[]).map(r=>`${r.instancePath||"/"}: ${r.message??"unknown error"}`)}}function Da(){return S||(S=Ae().compile(W),S)}function Fa(){return j||(j=Ae().compile(X),j)}function ke(e){let t=Da();return t(e)?{ok:true,errors:[]}:Ce(t)}function xe(e){let t=Fa();return t(e)?{ok:true,errors:[]}:Ce(t)}
1
+ export{i as createCallbackHandler,j as createFireAndForgetHandler,o as createNoopHandler,l as createProcessHandler,m as createScriptHandler,k as createShellHandler,n as createWebhookHandler,e as getDownstream,c as getUnreachableNodes,b as getUnreachableTokens,d as getUpstream,a as inspect,p as liveCardsToReactiveGraph,h as mutateGraph,f as validateLiveGraph,g as validateReactiveGraph}from'./chunk-OPNGCSXJ.js';export{b as createBoardLiveGraphRuntime}from'./chunk-YGKDQLYP.js';export{f as FlowEngine,f as StepMachine,a as applyStepResult,b as checkCircuitBreaker,c as computeStepInput,g as createEngine,e as createInitialState,g as createStepMachine,d as extractReturnData,j as loadStepFlow,k as validateFlowSchema,i as validateStepFlowConfig}from'./chunk-QWBNDVUA.js';export{h as apply,i as applyAll,e as detectStuckState,o as exportGraphConfig,p as exportGraphConfigToFile,l as flowToMermaid,g as getCandidateTasks,k as graphToMermaid,d as isExecutionComplete,n as loadGraphConfig,f as next,j as planExecution,q as validateGraph,m as validateGraphConfig,r as validateGraphSchema}from'./chunk-HLJH7LGW.js';export{a as MemoryStore}from'./chunk-JM5EKT57.js';export{a as KVStorageStore}from'./chunk-FZ2SBU5M.js';export{a as batch}from'./chunk-7BKNHFNH.js';export{b as resolveConfigTemplates,a as resolveVariables}from'./chunk-DAXACY63.js';export{s as MemoryJournal,d as addNode,h as addProvides,f as addRequires,b as applyEvent,c as applyEvents,a as createLiveGraph,u as createReactiveGraph,m as disableNode,k as drainTokens,n as enableNode,o as getNode,j as injectTokens,e as removeNode,i as removeProvides,g as removeRequires,l as resetNode,q as restore,r as schedule,p as snapshot}from'./chunk-VGT3TRQG.js';export{c as COMPLETION_STRATEGIES,e as CONFLICT_STRATEGIES,f as DEFAULTS,d as EXECUTION_MODES,b as EXECUTION_STATUS,a as TASK_STATUS,y as addDynamicTask,r as computeAvailableOutputs,z as createDefaultGraphEngineStore,A as createInitialExecutionState,i as getAllTasks,q as getMaxExecutions,g as getProvides,o as getRefreshStrategy,h as getRequires,j as getTask,k as hasTask,l as isNonActiveTask,p as isRerunnable,m as isTaskCompleted,n as isTaskRunning}from'./chunk-WDPOGXTY.js';export{a as CardCompute}from'./chunk-JMDHDY6M.js';export{c as validateLiveCard,d as validateLiveCardDefinition,b as validateLiveCardRuntimeExpressions,a as validateLiveCardSchema}from'./chunk-3KC6LBOG.js';import {a as a$1,c,g,i,b,l,j as j$1,k,m,n,o,h,p,d,e,f}from'./chunk-MNEOJWPS.js';import {a,b as b$1}from'./chunk-FW4363Y4.js';import Ba from'ajv-formats';var T=a(b=>{Object.defineProperty(b,"__esModule",{value:true});b.dynamicAnchor=void 0;var q=a$1(),Cr=c(),Z=g(),kr=i(),xr={keyword:"$dynamicAnchor",schemaType:"string",code:e=>Q(e,e.schema)};function Q(e,t){let{gen:r,it:i}=e;i.schemaEnv.root.dynamicAnchors[t]=true;let s=(0, q._)`${Cr.default.dynamicAnchors}${(0, q.getProperty)(t)}`,c=i.errSchemaPath==="#"?i.validateName:Er(e);r.if((0, q._)`!${s}`,()=>r.assign(s,c));}b.dynamicAnchor=Q;function Er(e){let{schemaEnv:t,schema:r,self:i}=e.it,{root:s,baseId:c,localRefs:p,meta:u}=t.root,{schemaId:o}=i.opts,m=new Z.SchemaEnv({schema:r,schemaId:o,root:s,baseId:c,localRefs:p,meta:u});return Z.compileSchema.call(i,m),(0, kr.getValidate)(e,m)}b.default=xr;});var A=a($=>{Object.defineProperty($,"__esModule",{value:true});$.dynamicRef=void 0;var Y=a$1(),Or=c(),ee=i(),Mr={keyword:"$dynamicRef",schemaType:"string",code:e=>te(e,e.schema)};function te(e,t){let{gen:r,keyword:i,it:s}=e;if(t[0]!=="#")throw new Error(`"${i}" only supports hash fragment reference`);let c=t.slice(1);if(s.allErrors)p();else {let o=r.let("valid",false);p(o),e.ok(o);}function p(o){if(s.schemaEnv.root.dynamicAnchors[c]){let m=r.let("_v",(0, Y._)`${Or.default.dynamicAnchors}${(0, Y.getProperty)(c)}`);r.if(m,u(m,o),u(s.validateName,o));}else u(s.validateName,o)();}function u(o,m){return m?()=>r.block(()=>{(0, ee.callRef)(e,o),r.let(m,true);}):()=>(0, ee.callRef)(e,o)}}$.dynamicRef=te;$.default=Mr;});var re=a(C=>{Object.defineProperty(C,"__esModule",{value:true});var wr=T(),Ir=b(),Nr={keyword:"$recursiveAnchor",schemaType:"boolean",code(e){e.schema?(0, wr.dynamicAnchor)(e,""):(0, Ir.checkStrictMode)(e.it,"$recursiveAnchor: false is ignored");}};C.default=Nr;});var ae=a(k=>{Object.defineProperty(k,"__esModule",{value:true});var Vr=A(),Gr={keyword:"$recursiveRef",schemaType:"string",code:e=>(0, Vr.dynamicRef)(e,e.schema)};k.default=Gr;});var ne=a(x=>{Object.defineProperty(x,"__esModule",{value:true});var Lr=T(),Br=A(),Dr=re(),Fr=ae(),Hr=[Lr.default,Br.default,Dr.default,Fr.default];x.default=Hr;});var ie=a(E=>{Object.defineProperty(E,"__esModule",{value:true});var oe=l(),Ur={keyword:"dependentRequired",type:"object",schemaType:"object",error:oe.error,code:e=>(0, oe.validatePropertyDeps)(e)};E.default=Ur;});var se=a(O=>{Object.defineProperty(O,"__esModule",{value:true});var Kr=l(),Jr={keyword:"dependentSchemas",type:"object",schemaType:"object",code:e=>(0, Kr.validateSchemaDeps)(e)};O.default=Jr;});var ce=a(M=>{Object.defineProperty(M,"__esModule",{value:true});var zr=b(),Wr={keyword:["maxContains","minContains"],type:"array",schemaType:"number",code({keyword:e,parentSchema:t,it:r}){t.contains===void 0&&(0, zr.checkStrictMode)(r,`"${e}" without "contains" is ignored`);}};M.default=Wr;});var de=a(w=>{Object.defineProperty(w,"__esModule",{value:true});var Xr=ie(),Zr=se(),Qr=ce(),Yr=[Xr.default,Zr.default,Qr.default];w.default=Yr;});var me=a(I=>{Object.defineProperty(I,"__esModule",{value:true});var l=a$1(),ue=b(),ea=c(),ta={message:"must NOT have unevaluated properties",params:({params:e})=>(0, l._)`{unevaluatedProperty: ${e.unevaluatedProperty}}`},ra={keyword:"unevaluatedProperties",type:"object",schemaType:["boolean","object"],trackErrors:true,error:ta,code(e){let{gen:t,schema:r,data:i,errsCount:s,it:c}=e;if(!s)throw new Error("ajv implementation error");let{allErrors:p,props:u}=c;u instanceof l.Name?t.if((0, l._)`${u} !== true`,()=>t.forIn("key",i,d=>t.if(m(u,d),()=>o(d)))):u!==true&&t.forIn("key",i,d=>u===void 0?o(d):t.if(R(u,d),()=>o(d))),c.props=true,e.ok((0, l._)`${s} === ${ea.default.errors}`);function o(d){if(r===false){e.setParams({unevaluatedProperty:d}),e.error(),p||t.break();return}if(!(0, ue.alwaysValidSchema)(c,r)){let h=t.name("valid");e.subschema({keyword:"unevaluatedProperties",dataProp:d,dataPropType:ue.Type.Str},h),p||t.if((0, l.not)(h),()=>t.break());}}function m(d,h){return (0, l._)`!${d} || !${d}[${h}]`}function R(d,h){let F=[];for(let H in d)d[H]===true&&F.push((0, l._)`${h} !== ${H}`);return (0, l.and)(...F)}}};I.default=ra;});var le=a(N=>{Object.defineProperty(N,"__esModule",{value:true});var f=a$1(),pe=b(),aa={message:({params:{len:e}})=>(0, f.str)`must NOT have more than ${e} items`,params:({params:{len:e}})=>(0, f._)`{limit: ${e}}`},na={keyword:"unevaluatedItems",type:"array",schemaType:["boolean","object"],error:aa,code(e){let{gen:t,schema:r,data:i,it:s}=e,c=s.items||0;if(c===true)return;let p=t.const("len",(0, f._)`${i}.length`);if(r===false)e.setParams({len:c}),e.fail((0, f._)`${p} > ${c}`);else if(typeof r=="object"&&!(0, pe.alwaysValidSchema)(s,r)){let o=t.var("valid",(0, f._)`${p} <= ${c}`);t.if((0, f.not)(o),()=>u(o,c)),e.ok(o);}s.items=true;function u(o,m){t.forRange("i",m,p,R=>{e.subschema({keyword:"unevaluatedItems",dataProp:R,dataPropType:pe.Type.Num},o),s.allErrors||t.if((0, f.not)(o),()=>t.break());});}}};N.default=na;});var fe=a(V=>{Object.defineProperty(V,"__esModule",{value:true});var oa=me(),ia=le(),sa=[oa.default,ia.default];V.default=sa;});var ye=a(G=>{Object.defineProperty(G,"__esModule",{value:true});var ca=j$1(),da=k(),ua=m(),ma=ne(),pa=de(),la=fe(),fa=n(),he=o(),ha=[ma.default,ca.default,da.default,(0, ua.default)(true),fa.default,he.metadataVocabulary,he.contentVocabulary,pa.default,la.default];G.default=ha;});var ge=a((on,ya)=>{ya.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/schema",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Core and Validation specifications meta-schema",allOf:[{$ref:"meta/core"},{$ref:"meta/applicator"},{$ref:"meta/unevaluated"},{$ref:"meta/validation"},{$ref:"meta/meta-data"},{$ref:"meta/format-annotation"},{$ref:"meta/content"}],type:["object","boolean"],$comment:"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.",properties:{definitions:{$comment:'"definitions" has been replaced by "$defs".',type:"object",additionalProperties:{$dynamicRef:"#meta"},deprecated:true,default:{}},dependencies:{$comment:'"dependencies" has been split and replaced by "dependentSchemas" and "dependentRequired" in order to serve their differing semantics.',type:"object",additionalProperties:{anyOf:[{$dynamicRef:"#meta"},{$ref:"meta/validation#/$defs/stringArray"}]},deprecated:true,default:{}},$recursiveAnchor:{$comment:'"$recursiveAnchor" has been replaced by "$dynamicAnchor".',$ref:"meta/core#/$defs/anchorString",deprecated:true},$recursiveRef:{$comment:'"$recursiveRef" has been replaced by "$dynamicRef".',$ref:"meta/core#/$defs/uriReferenceString",deprecated:true}}};});var ve=a((sn,ga)=>{ga.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/applicator",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/applicator":true},$dynamicAnchor:"meta",title:"Applicator vocabulary meta-schema",type:["object","boolean"],properties:{prefixItems:{$ref:"#/$defs/schemaArray"},items:{$dynamicRef:"#meta"},contains:{$dynamicRef:"#meta"},additionalProperties:{$dynamicRef:"#meta"},properties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},patternProperties:{type:"object",additionalProperties:{$dynamicRef:"#meta"},propertyNames:{format:"regex"},default:{}},dependentSchemas:{type:"object",additionalProperties:{$dynamicRef:"#meta"},default:{}},propertyNames:{$dynamicRef:"#meta"},if:{$dynamicRef:"#meta"},then:{$dynamicRef:"#meta"},else:{$dynamicRef:"#meta"},allOf:{$ref:"#/$defs/schemaArray"},anyOf:{$ref:"#/$defs/schemaArray"},oneOf:{$ref:"#/$defs/schemaArray"},not:{$dynamicRef:"#meta"}},$defs:{schemaArray:{type:"array",minItems:1,items:{$dynamicRef:"#meta"}}}};});var be=a((cn,va)=>{va.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/unevaluated",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},$dynamicAnchor:"meta",title:"Unevaluated applicator vocabulary meta-schema",type:["object","boolean"],properties:{unevaluatedItems:{$dynamicRef:"#meta"},unevaluatedProperties:{$dynamicRef:"#meta"}}};});var $e=a((dn,ba)=>{ba.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/content",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/content":true},$dynamicAnchor:"meta",title:"Content vocabulary meta-schema",type:["object","boolean"],properties:{contentEncoding:{type:"string"},contentMediaType:{type:"string"},contentSchema:{$dynamicRef:"#meta"}}};});var _e=a((un,$a)=>{$a.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/core",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/core":true},$dynamicAnchor:"meta",title:"Core vocabulary meta-schema",type:["object","boolean"],properties:{$id:{$ref:"#/$defs/uriReferenceString",$comment:"Non-empty fragments not allowed.",pattern:"^[^#]*#?$"},$schema:{$ref:"#/$defs/uriString"},$ref:{$ref:"#/$defs/uriReferenceString"},$anchor:{$ref:"#/$defs/anchorString"},$dynamicRef:{$ref:"#/$defs/uriReferenceString"},$dynamicAnchor:{$ref:"#/$defs/anchorString"},$vocabulary:{type:"object",propertyNames:{$ref:"#/$defs/uriString"},additionalProperties:{type:"boolean"}},$comment:{type:"string"},$defs:{type:"object",additionalProperties:{$dynamicRef:"#meta"}}},$defs:{anchorString:{type:"string",pattern:"^[A-Za-z_][-A-Za-z0-9._]*$"},uriString:{type:"string",format:"uri"},uriReferenceString:{type:"string",format:"uri-reference"}}};});var Se=a((mn,_a)=>{_a.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/format-annotation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},$dynamicAnchor:"meta",title:"Format vocabulary meta-schema for annotation results",type:["object","boolean"],properties:{format:{type:"string"}}};});var je=a((pn,Sa)=>{Sa.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/meta-data",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},$dynamicAnchor:"meta",title:"Meta-data vocabulary meta-schema",type:["object","boolean"],properties:{title:{type:"string"},description:{type:"string"},default:true,deprecated:{type:"boolean",default:false},readOnly:{type:"boolean",default:false},writeOnly:{type:"boolean",default:false},examples:{type:"array",items:true}}};});var Re=a((ln,ja)=>{ja.exports={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://json-schema.org/draft/2020-12/meta/validation",$vocabulary:{"https://json-schema.org/draft/2020-12/vocab/validation":true},$dynamicAnchor:"meta",title:"Validation vocabulary meta-schema",type:["object","boolean"],properties:{type:{anyOf:[{$ref:"#/$defs/simpleTypes"},{type:"array",items:{$ref:"#/$defs/simpleTypes"},minItems:1,uniqueItems:true}]},const:true,enum:{type:"array",items:true},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/$defs/nonNegativeInteger"},minLength:{$ref:"#/$defs/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},maxItems:{$ref:"#/$defs/nonNegativeInteger"},minItems:{$ref:"#/$defs/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:false},maxContains:{$ref:"#/$defs/nonNegativeInteger"},minContains:{$ref:"#/$defs/nonNegativeInteger",default:1},maxProperties:{$ref:"#/$defs/nonNegativeInteger"},minProperties:{$ref:"#/$defs/nonNegativeIntegerDefault0"},required:{$ref:"#/$defs/stringArray"},dependentRequired:{type:"object",additionalProperties:{$ref:"#/$defs/stringArray"}}},$defs:{nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{$ref:"#/$defs/nonNegativeInteger",default:0},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:true,default:[]}}};});var Pe=a(L=>{Object.defineProperty(L,"__esModule",{value:true});var Ra=ge(),Pa=ve(),qa=be(),Ta=$e(),Aa=_e(),Ca=Se(),ka=je(),xa=Re(),Ea=["/properties"];function Oa(e){return [Ra,Pa,qa,Ta,Aa,t(this,Ca),ka,t(this,xa)].forEach(r=>this.addMetaSchema(r,void 0,false)),this;function t(r,i){return e?r.$dataMetaSchema(i,Ea):i}}L.default=Oa;});var qe=a((a,D)=>{Object.defineProperty(a,"__esModule",{value:true});a.MissingRefError=a.ValidationError=a.CodeGen=a.Name=a.nil=a.stringify=a.str=a._=a.KeywordCxt=a.Ajv2020=void 0;var Ma=h(),wa=ye(),Ia=p(),Na=Pe(),B="https://json-schema.org/draft/2020-12/schema",y=class extends Ma.default{constructor(t={}){super({...t,dynamicRef:true,next:true,unevaluated:true});}_addVocabularies(){super._addVocabularies(),wa.default.forEach(t=>this.addVocabulary(t)),this.opts.discriminator&&this.addKeyword(Ia.default);}_addDefaultMetaSchema(){super._addDefaultMetaSchema();let{$data:t,meta:r}=this.opts;r&&(Na.default.call(this,t),this.refs["http://json-schema.org/schema"]=B);}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(B)?B:void 0)}};a.Ajv2020=y;D.exports=a=y;D.exports.Ajv2020=y;Object.defineProperty(a,"__esModule",{value:true});a.default=y;var Va=d();Object.defineProperty(a,"KeywordCxt",{enumerable:true,get:function(){return Va.KeywordCxt}});var g=a$1();Object.defineProperty(a,"_",{enumerable:true,get:function(){return g._}});Object.defineProperty(a,"str",{enumerable:true,get:function(){return g.str}});Object.defineProperty(a,"stringify",{enumerable:true,get:function(){return g.stringify}});Object.defineProperty(a,"nil",{enumerable:true,get:function(){return g.nil}});Object.defineProperty(a,"Name",{enumerable:true,get:function(){return g.Name}});Object.defineProperty(a,"CodeGen",{enumerable:true,get:function(){return g.CodeGen}});var Ga=e();Object.defineProperty(a,"ValidationError",{enumerable:true,get:function(){return Ga.default}});var La=f();Object.defineProperty(a,"MissingRefError",{enumerable:true,get:function(){return La.default}});});var W={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://yaml-flow.dev/schema/board-status.schema.json",title:"Board Status Object",type:"object",additionalProperties:false,required:["schema_version","meta","summary","cards"],properties:{schema_version:{type:"string",const:"v1"},meta:{type:"object",additionalProperties:false,required:["board"],properties:{board:{type:"object",additionalProperties:false,required:["path"],properties:{path:{type:"string"}}}}},summary:{type:"object",additionalProperties:false,required:["card_count","completed","eligible","pending","blocked","unresolved"],properties:{card_count:{type:"integer",minimum:0},completed:{type:"integer",minimum:0},eligible:{type:"integer",minimum:0},pending:{type:"integer",minimum:0},blocked:{type:"integer",minimum:0},unresolved:{type:"integer",minimum:0},failed:{type:"integer",minimum:0},in_progress:{type:"integer",minimum:0},orphan_cards:{type:"integer",minimum:0},topology:{type:"object",additionalProperties:false,required:["edge_count","max_fan_out_card","max_fan_out"],properties:{edge_count:{type:"integer",minimum:0},max_fan_out_card:{type:["string","null"]},max_fan_out:{type:"integer",minimum:0}}}}},cards:{type:"array",items:{type:"object",additionalProperties:false,required:["name","status","requires","requires_satisfied","requires_missing","provides_declared","provides_runtime","blocked_by","unblocks","runtime"],properties:{name:{type:"string"},status:{type:"string"},error:{type:"object",additionalProperties:false,required:["message"],properties:{message:{type:"string"},code:{type:"string"},at:{type:["string","null"]},source:{type:"string"}}},requires:{type:"array",items:{type:"string"}},requires_satisfied:{type:"array",items:{type:"string"}},requires_missing:{type:"array",items:{type:"string"}},provides_declared:{type:"array",items:{type:"string"}},provides_runtime:{type:"array",items:{type:"string"}},blocked_by:{type:"array",items:{type:"string"}},unblocks:{type:"array",items:{type:"string"}},runtime:{type:"object",additionalProperties:false,required:["attempt_count","restart_count","in_progress_since","last_transition_at","last_completed_at","last_restarted_at","status_age_ms"],properties:{attempt_count:{type:"integer",minimum:0},restart_count:{type:"integer",minimum:0},in_progress_since:{type:["string","null"]},last_transition_at:{type:["string","null"]},last_completed_at:{type:["string","null"]},last_restarted_at:{type:["string","null"]},status_age_ms:{type:["integer","null"],minimum:0}}}}}}}};var X={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://yaml-flow.dev/schema/card-runtime.schema.json",title:"Card Runtime Computed Artifact",description:"Published per-card runtime artifact written to runtime-out/cards/<card-id>.computed.json. Contains only values produced by the compute step.",type:"object",required:["schema_version","card_id","computed_values"],additionalProperties:false,properties:{schema_version:{type:"string",const:"v1",description:"Artifact schema version."},card_id:{type:"string",description:"The ID of the card this artifact belongs to."},computed_values:{type:"object",description:"Key/value map of outputs produced by the card's JSONata compute steps.",additionalProperties:true}}};var Te=b$1(qe(),1);var S=null,j=null;function Ae(){let e=new Te.default({allErrors:true,strict:false});return Ba(e),e}function Ce(e){return {ok:false,errors:(e.errors??[]).map(r=>`${r.instancePath||"/"}: ${r.message??"unknown error"}`)}}function Da(){return S||(S=Ae().compile(W),S)}function Fa(){return j||(j=Ae().compile(X),j)}function ke(e){let t=Da();return t(e)?{ok:true,errors:[]}:Ce(t)}function xe(e){let t=Fa();return t(e)?{ok:true,errors:[]}:Ce(t)}
2
2
  export{ke as validateBoardStatusSchema,xe as validateCardRuntimeSchema};//# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map