yaml-flow 8.6.3 → 8.7.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 (148) hide show
  1. package/browser/adapters/firebase-storage.js +3 -0
  2. package/browser/adapters/firestore-storage.js +3 -0
  3. package/browser/adapters/localstorage-storage.js +4 -0
  4. package/browser/asset-integrity.json +20 -4
  5. package/browser/server-runtime-controlface.js +8 -0
  6. package/examples/ARCHITECTURE.md +5 -32
  7. package/examples/board/demo-shell-with-server.html +2 -2
  8. package/examples/board/doc.html +2 -2
  9. package/examples/board/server/board-server.js +4 -2
  10. package/examples/board/server/chat-flow/flow-steps.json +10 -5
  11. package/examples/board/test/server-http-test.js +93 -0
  12. package/examples/board-firestore/README.md +81 -0
  13. package/examples/board-firestore/browser/board-runtime.js +263 -0
  14. package/examples/board-firestore/firestore.indexes.json +29 -0
  15. package/examples/board-firestore/package.json +14 -0
  16. package/examples/board-firestore/server/adapters/firestore-archive-factory.js +59 -0
  17. package/examples/board-firestore/server/adapters/firestore-blob-storage.js +82 -0
  18. package/examples/board-firestore/server/adapters/firestore-board-adapter.js +127 -0
  19. package/examples/board-firestore/server/adapters/firestore-journal-storage.js +54 -0
  20. package/examples/board-firestore/server/adapters/firestore-kv-storage.js +47 -0
  21. package/examples/board-firestore/server/adapters/firestore-lock.js +62 -0
  22. package/examples/board-firestore/server/adapters/firestore-queue-storage.js +186 -0
  23. package/examples/board-firestore/server/adapters/firestore-scratch-storage.js +50 -0
  24. package/examples/board-firestore/server/worker.js +146 -0
  25. package/lib/{artifacts-store-lib-BR-Samty.d.cts → artifacts-store-lib-D9nMkVcE.d.cts} +1 -1
  26. package/lib/{artifacts-store-lib-DT7XlWUL.d.ts → artifacts-store-lib-DSSMqVL2.d.ts} +1 -1
  27. package/lib/artifacts-store-public.d.cts +2 -2
  28. package/lib/artifacts-store-public.d.ts +2 -2
  29. package/lib/board-live-cards-mcp.cjs +1 -1
  30. package/lib/board-live-cards-mcp.d.cts +51 -3
  31. package/lib/board-live-cards-mcp.d.ts +51 -3
  32. package/lib/board-live-cards-mcp.js +1 -1
  33. package/lib/board-live-cards-node.cjs +8 -8
  34. package/lib/board-live-cards-node.d.cts +13 -9
  35. package/lib/board-live-cards-node.d.ts +13 -9
  36. package/lib/board-live-cards-node.js +8 -8
  37. package/lib/{board-live-cards-public-BMUIPOrc.d.ts → board-live-cards-public-D-DJek3X.d.ts} +1 -1
  38. package/lib/{board-live-cards-public-wkNmBIRC.d.cts → board-live-cards-public-DQzPe7A9.d.cts} +1 -1
  39. package/lib/board-live-cards-public-async-3hUuHxDx.d.ts +55 -0
  40. package/lib/board-live-cards-public-async-CgMCYYft.d.cts +55 -0
  41. package/lib/board-live-cards-public.d.cts +1 -1
  42. package/lib/board-live-cards-public.d.ts +1 -1
  43. package/lib/board-live-cards-server-runtime.cjs +1 -1
  44. package/lib/board-live-cards-server-runtime.d.cts +10 -6
  45. package/lib/board-live-cards-server-runtime.d.ts +10 -6
  46. package/lib/board-live-cards-server-runtime.js +1 -1
  47. package/lib/board-platform-adapter-async-DOfEq_HC.d.cts +129 -0
  48. package/lib/board-platform-adapter-async-JZPCzZnH.d.ts +129 -0
  49. package/lib/board-worker-adapter.cjs +3 -3
  50. package/lib/board-worker-adapter.js +3 -3
  51. package/lib/card-store-public.d.cts +1 -1
  52. package/lib/card-store-public.d.ts +1 -1
  53. package/lib/{chat-storage-lib-BIUbE-fM.d.cts → chat-storage-lib-B9Q34Dyv.d.cts} +1 -1
  54. package/lib/{chat-storage-lib-BlG-sobS.d.ts → chat-storage-lib-DB9iSai2.d.ts} +1 -1
  55. package/lib/chat-store-public.d.cts +2 -2
  56. package/lib/chat-store-public.d.ts +2 -2
  57. package/lib/chunk-272IYUKT.cjs +2 -0
  58. package/lib/chunk-5XHOHTLZ.cjs +2 -0
  59. package/lib/chunk-6APH25VI.js +2 -0
  60. package/lib/chunk-7FGPOGRV.cjs +2 -0
  61. package/lib/chunk-7ICPAABP.cjs +7 -0
  62. package/lib/chunk-CPAXTVBQ.cjs +2 -0
  63. package/lib/chunk-DDYSXP2A.cjs +3 -0
  64. package/lib/chunk-EGRHWZRV.js +2 -0
  65. package/lib/chunk-GL2OHR2E.cjs +2 -0
  66. package/lib/chunk-IPLSRN6P.cjs +4 -0
  67. package/lib/chunk-J5J6BG7B.js +2 -0
  68. package/lib/chunk-KAWQPLIE.cjs +2 -0
  69. package/lib/chunk-LPXVVMQT.cjs +2 -0
  70. package/lib/chunk-M3OU6IS5.cjs +2 -0
  71. package/lib/chunk-M6STQR5F.cjs +2 -0
  72. package/lib/chunk-NJJ7WEDT.cjs +2 -0
  73. package/lib/chunk-NKIQRCOM.cjs +2 -0
  74. package/lib/chunk-NM6O35RY.cjs +2 -0
  75. package/lib/chunk-NTICU4OK.js +2 -0
  76. package/lib/chunk-O7NOHKVR.js +2 -0
  77. package/lib/chunk-PRHQBGPT.js +2 -0
  78. package/lib/chunk-S44QZUDX.js +2 -0
  79. package/lib/chunk-SGV7PU4H.js +2 -0
  80. package/lib/chunk-TSN3RTXT.js +4 -0
  81. package/lib/chunk-VXJHBWK3.js +2 -0
  82. package/lib/chunk-WHDEBJLT.js +7 -0
  83. package/lib/chunk-XYN5D3GL.js +2 -0
  84. package/lib/chunk-YGALANRO.js +2 -0
  85. package/lib/chunk-ZJ5M5COT.js +2 -0
  86. package/lib/chunk-ZXQR7GHT.js +3 -0
  87. package/lib/cloud-storage.cjs +1 -1
  88. package/lib/cloud-storage.d.cts +5 -3
  89. package/lib/cloud-storage.d.ts +5 -3
  90. package/lib/cloud-storage.js +1 -1
  91. package/lib/firebase-storage/index.cjs +3 -0
  92. package/lib/firebase-storage/index.d.cts +57 -0
  93. package/lib/firebase-storage/index.d.ts +57 -0
  94. package/lib/firebase-storage/index.js +3 -0
  95. package/lib/firestore-storage/index.cjs +3 -0
  96. package/lib/firestore-storage/index.d.cts +98 -0
  97. package/lib/firestore-storage/index.d.ts +98 -0
  98. package/lib/firestore-storage/index.js +3 -0
  99. package/lib/localstorage-storage/index.cjs +2 -0
  100. package/lib/localstorage-storage/index.d.cts +39 -0
  101. package/lib/localstorage-storage/index.d.ts +39 -0
  102. package/lib/localstorage-storage/index.js +2 -0
  103. package/lib/mcp-tool-registries-BBObLYga.d.ts +41 -0
  104. package/lib/mcp-tool-registries-W3TRj6O5.d.cts +41 -0
  105. package/lib/queue-lane-registry-PaZuFpwp.d.cts +30 -0
  106. package/lib/queue-lane-registry-PaZuFpwp.d.ts +30 -0
  107. package/lib/server-jobs-queue-runner/index.cjs +2 -0
  108. package/lib/server-jobs-queue-runner/index.d.cts +22 -0
  109. package/lib/server-jobs-queue-runner/index.d.ts +22 -0
  110. package/lib/server-jobs-queue-runner/index.js +2 -0
  111. package/lib/server-runtime/index.cjs +1 -1
  112. package/lib/server-runtime/index.d.cts +11 -17
  113. package/lib/server-runtime/index.d.ts +11 -17
  114. package/lib/server-runtime/index.js +1 -1
  115. package/lib/server-runtime-agentface/index.cjs +2 -0
  116. package/lib/server-runtime-agentface/index.d.cts +53 -0
  117. package/lib/server-runtime-agentface/index.d.ts +53 -0
  118. package/lib/server-runtime-agentface/index.js +2 -0
  119. package/lib/server-runtime-controlface/index.cjs +2 -0
  120. package/lib/server-runtime-controlface/index.d.cts +80 -0
  121. package/lib/server-runtime-controlface/index.d.ts +80 -0
  122. package/lib/server-runtime-controlface/index.js +2 -0
  123. package/lib/server-runtime-core/index.cjs +2 -0
  124. package/lib/server-runtime-core/index.d.cts +376 -0
  125. package/lib/server-runtime-core/index.d.ts +376 -0
  126. package/lib/server-runtime-core/index.js +2 -0
  127. package/lib/server-runtime-watchers/index.cjs +2 -0
  128. package/lib/server-runtime-watchers/index.d.cts +127 -0
  129. package/lib/server-runtime-watchers/index.d.ts +127 -0
  130. package/lib/server-runtime-watchers/index.js +2 -0
  131. package/lib/server-runtime-webhooks/index.cjs +2 -0
  132. package/lib/server-runtime-webhooks/index.d.cts +34 -0
  133. package/lib/server-runtime-webhooks/index.d.ts +34 -0
  134. package/lib/server-runtime-webhooks/index.js +2 -0
  135. package/lib/storage-async-interface-BRR4eBjx.d.cts +81 -0
  136. package/lib/storage-async-interface-DhlOVPSp.d.ts +81 -0
  137. package/lib/{queue-lane-registry-BPKWWgd4.d.cts → types-BzQY45dH.d.cts} +8 -34
  138. package/lib/{queue-lane-registry-Be6c0ftj.d.ts → types-CF2xUcZW.d.ts} +8 -34
  139. package/package.json +46 -2
  140. package/examples/board-local/demo-shell-localstorage.html +0 -843
  141. package/lib/board-live-cards-public-async-DKZqbJVU.d.ts +0 -256
  142. package/lib/board-live-cards-public-async-dMWNbWq6.d.cts +0 -256
  143. package/lib/chunk-GJJMEAVN.cjs +0 -2
  144. package/lib/chunk-GLIX37VG.cjs +0 -8
  145. package/lib/chunk-LRVAVWAG.js +0 -8
  146. package/lib/chunk-MLVTJASJ.js +0 -2
  147. package/lib/chunk-SCWHDI3I.js +0 -2
  148. package/lib/chunk-WOALA3V5.cjs +0 -2
@@ -0,0 +1,146 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * board-firestore/server/worker.js
4
+ *
5
+ * Long-running worker server for the Firestore-backed board.
6
+ * Runs three things in one Node.js process:
7
+ *
8
+ * 1. Queue lane runners — drain worker-queue, chat-queue, process-queue
9
+ * 2. Board control-plane HTTP — GET/POST /api/board/* for browser SPA
10
+ * 3. Callback endpoint — POST /api/board/callback/* for execution webhooks
11
+ *
12
+ * Environment variables:
13
+ * GOOGLE_APPLICATION_CREDENTIALS Path to Firebase service account JSON key
14
+ * FIREBASE_PROJECT_ID Firebase project ID
15
+ * BOARD_ID Firestore board document ID (default: "default")
16
+ * WORKER_PORT HTTP listen port (default: 7900)
17
+ */
18
+
19
+ import http from 'node:http';
20
+ import { Buffer } from 'node:buffer';
21
+ import { createSingleBoardServerRuntime } from 'yaml-flow/server-runtime-controlface';
22
+ import { createHostedBoardQueueLaneRegistry } from 'yaml-flow/server-jobs-queue-runner';
23
+ import { startQueueLaneRunners } from 'yaml-flow/board-live-cards-node';
24
+ import { initializeApp, cert, getApps } from 'firebase-admin/app';
25
+ import { getFirestore } from 'firebase-admin/firestore';
26
+ import { createFirestoreBoardAdapter } from './adapters/firestore-board-adapter.js';
27
+
28
+ // ── Firebase Admin SDK init ────────────────────────────────────────────────────
29
+ if (getApps().length === 0) {
30
+ initializeApp({
31
+ credential: cert(process.env.GOOGLE_APPLICATION_CREDENTIALS ?? './service-account.json'),
32
+ projectId: process.env.FIREBASE_PROJECT_ID,
33
+ });
34
+ }
35
+
36
+ const db = getFirestore();
37
+
38
+ // ── Config ─────────────────────────────────────────────────────────────────────
39
+ const BOARD_ID = process.env.BOARD_ID ?? 'default';
40
+ const PORT = Number(process.env.WORKER_PORT ?? 7900);
41
+
42
+ // ── Helper: build a b64 ref string (matches serializeRef in yaml-flow) ──────────
43
+ function makeRef(kind, value) {
44
+ return `b64:${Buffer.from(JSON.stringify({ kind, value })).toString('base64url')}`;
45
+ }
46
+
47
+ // ── Firestore board adapter ────────────────────────────────────────────────────
48
+ const boardAdapter = createFirestoreBoardAdapter(db, BOARD_ID);
49
+
50
+ // ── Single-board runtime ───────────────────────────────────────────────────────
51
+ const runtime = createSingleBoardServerRuntime({
52
+ boardId: BOARD_ID,
53
+ boards: [
54
+ {
55
+ label: `Board — ${BOARD_ID}`,
56
+ boardAdapter,
57
+ baseRef: { kind: 'firestore', value: `boards/${BOARD_ID}` },
58
+ cardStoreRef: makeRef('firestore', `boards/${BOARD_ID}/cards`),
59
+ outputsStoreRef: makeRef('firestore', `boards/${BOARD_ID}/runtime-out`),
60
+ },
61
+ ],
62
+ invocationAdapter: {
63
+ /**
64
+ * Route execution requests to the appropriate handler.
65
+ * For worker queue dispatch, yaml-flow uses boardAdapter.dispatchExecution internally.
66
+ * This adapter is the last-resort fallback for refs not handled by boardAdapter.
67
+ */
68
+ async invoke(ref, _args) {
69
+ return { dispatched: false, error: `No invocation handler for ${ref?.howToRun ?? '?'}` };
70
+ },
71
+ },
72
+ logger: {
73
+ info: (msg, ...args) => console.log(`[worker:${BOARD_ID}] ${msg}`, ...args),
74
+ warn: (msg, ...args) => console.warn(`[worker:${BOARD_ID}] ${msg}`, ...args),
75
+ error: (msg, ...args) => console.error(`[worker:${BOARD_ID}] ${msg}`, ...args),
76
+ },
77
+ });
78
+
79
+ // ── Queue lane runners ─────────────────────────────────────────────────────────
80
+ const stopRunners = startQueueLaneRunners(
81
+ createHostedBoardQueueLaneRegistry({
82
+ boardId: BOARD_ID,
83
+ runtime,
84
+ boardAdapter,
85
+ logger: {
86
+ info: (msg, ...args) => console.log(`[queue:${BOARD_ID}] ${msg}`, ...args),
87
+ warn: (msg, ...args) => console.warn(`[queue:${BOARD_ID}] ${msg}`, ...args),
88
+ error: (msg, ...args) => console.error(`[queue:${BOARD_ID}] ${msg}`, ...args),
89
+ },
90
+ }),
91
+ );
92
+
93
+ // ── HTTP server ────────────────────────────────────────────────────────────────
94
+ function sendJson(res, status, payload) {
95
+ const body = JSON.stringify(payload);
96
+ res.writeHead(status, {
97
+ 'Content-Type': 'application/json',
98
+ 'Content-Length': Buffer.byteLength(body),
99
+ 'Access-Control-Allow-Origin': '*',
100
+ });
101
+ res.end(body);
102
+ }
103
+
104
+ const server = http.createServer(async (req, res) => {
105
+ // Handle CORS preflight
106
+ if (req.method === 'OPTIONS') {
107
+ res.writeHead(204, {
108
+ 'Access-Control-Allow-Origin': '*',
109
+ 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
110
+ 'Access-Control-Allow-Headers': 'Content-Type, Authorization',
111
+ });
112
+ res.end();
113
+ return;
114
+ }
115
+
116
+ const url = new URL(req.url ?? '/', `http://localhost:${PORT}`);
117
+
118
+ try {
119
+ const handled = await runtime.handleRuntimeApi(req, res, url);
120
+ if (!handled) sendJson(res, 404, { error: 'not found', path: url.pathname });
121
+ } catch (err) {
122
+ console.error(`[worker:${BOARD_ID}] unhandled error for ${req.method} ${req.url}:`, err);
123
+ if (!res.headersSent) sendJson(res, 500, { error: 'internal error' });
124
+ }
125
+ });
126
+
127
+ server.listen(PORT, () => {
128
+ console.log(`[board-firestore/worker] Listening on http://localhost:${PORT}`);
129
+ console.log(`[board-firestore/worker] Board ID : ${BOARD_ID}`);
130
+ console.log(`[board-firestore/worker] Firebase project: ${process.env.FIREBASE_PROJECT_ID ?? '(auto-detect)'}`);
131
+ });
132
+
133
+ // ── Graceful shutdown ───────────────────────────────────────────────────────────
134
+ function shutdown() {
135
+ console.log('[board-firestore/worker] Shutting down...');
136
+ stopRunners();
137
+ server.close(() => {
138
+ console.log('[board-firestore/worker] HTTP server closed.');
139
+ process.exit(0);
140
+ });
141
+ // Force exit after 10 s if connections linger
142
+ setTimeout(() => process.exit(0), 10_000).unref();
143
+ }
144
+
145
+ process.on('SIGTERM', shutdown);
146
+ process.on('SIGINT', shutdown);
@@ -58,4 +58,4 @@ declare function createArtifactsStore(blob: BlobStorage): ArtifactsStore;
58
58
  declare function createFileArtifactsStore(store: ArtifactsStore): FileArtifactsStore;
59
59
  declare function createCardFileMetadataStore(): CardFileMetadataStore;
60
60
 
61
- export { type ArtifactInfo as A, type ArtifactsStore as a, createCardFileMetadataStore as b, createArtifactsStore as c, createFileArtifactsStore as d };
61
+ export { type ArtifactInfo as A, type CardFileMetadataStore as C, type ArtifactsStore as a, createCardFileMetadataStore as b, createArtifactsStore as c, createFileArtifactsStore as d };
@@ -58,4 +58,4 @@ declare function createArtifactsStore(blob: BlobStorage): ArtifactsStore;
58
58
  declare function createFileArtifactsStore(store: ArtifactsStore): FileArtifactsStore;
59
59
  declare function createCardFileMetadataStore(): CardFileMetadataStore;
60
60
 
61
- export { type ArtifactInfo as A, type ArtifactsStore as a, createCardFileMetadataStore as b, createArtifactsStore as c, createFileArtifactsStore as d };
61
+ export { type ArtifactInfo as A, type CardFileMetadataStore as C, type ArtifactsStore as a, createCardFileMetadataStore as b, createArtifactsStore as c, createFileArtifactsStore as d };
@@ -1,5 +1,5 @@
1
- import { a as CommandInput, C as CommandResult } from './board-live-cards-public-wkNmBIRC.cjs';
2
- import { A as ArtifactInfo, a as ArtifactsStore } from './artifacts-store-lib-BR-Samty.cjs';
1
+ import { C as CommandInput, a as CommandResult } from './board-live-cards-public-DQzPe7A9.cjs';
2
+ import { A as ArtifactInfo, a as ArtifactsStore } from './artifacts-store-lib-D9nMkVcE.cjs';
3
3
  import './storage-interface-BFiD3kyB.cjs';
4
4
  import './execution-refs.cjs';
5
5
  import './types-BBhqYGhE.cjs';
@@ -1,5 +1,5 @@
1
- import { a as CommandInput, C as CommandResult } from './board-live-cards-public-BMUIPOrc.js';
2
- import { A as ArtifactInfo, a as ArtifactsStore } from './artifacts-store-lib-DT7XlWUL.js';
1
+ import { C as CommandInput, a as CommandResult } from './board-live-cards-public-D-DJek3X.js';
2
+ import { A as ArtifactInfo, a as ArtifactsStore } from './artifacts-store-lib-DSSMqVL2.js';
3
3
  import './storage-interface-BFiD3kyB.js';
4
4
  import './execution-refs.js';
5
5
  import './types-BBhqYGhE.js';
@@ -1,2 +1,2 @@
1
- 'use strict';var chunkGJJMEAVN_cjs=require('./chunk-GJJMEAVN.cjs');require('./chunk-IXZG74EW.cjs'),require('./chunk-NMZ6XNLB.cjs'),require('./chunk-UJ7ZTV4J.cjs'),require('./chunk-GNFE24S7.cjs');Object.defineProperty(exports,"createBoardLiveCardsMcp",{enumerable:true,get:function(){return chunkGJJMEAVN_cjs.a}});//# sourceMappingURL=board-live-cards-mcp.cjs.map
1
+ 'use strict';var chunkM6STQR5F_cjs=require('./chunk-M6STQR5F.cjs');require('./chunk-IXZG74EW.cjs'),require('./chunk-NMZ6XNLB.cjs'),require('./chunk-UJ7ZTV4J.cjs'),require('./chunk-GNFE24S7.cjs');Object.defineProperty(exports,"createBoardLiveCardsMcp",{enumerable:true,get:function(){return chunkM6STQR5F_cjs.a}});//# sourceMappingURL=board-live-cards-mcp.cjs.map
2
2
  //# sourceMappingURL=board-live-cards-mcp.cjs.map
@@ -1,6 +1,6 @@
1
- import { C as CommandResult, L as LiveCard } from './board-live-cards-public-wkNmBIRC.cjs';
1
+ import { L as LiveCard, a as CommandResult } from './board-live-cards-public-DQzPe7A9.cjs';
2
2
  import { ChatStorePublic } from './chat-store-public.cjs';
3
- import { C as ChatRecord } from './chat-storage-lib-BIUbE-fM.cjs';
3
+ import { a as ChatRecord } from './chat-storage-lib-B9Q34Dyv.cjs';
4
4
  import './storage-interface-BFiD3kyB.cjs';
5
5
  import './execution-refs.cjs';
6
6
  import './types-BBhqYGhE.cjs';
@@ -114,6 +114,14 @@ interface BoardLiveCardsMcpManageAddChatEntryAndAnyAttachmentsResult {
114
114
  files: Array<Record<string, unknown>>;
115
115
  };
116
116
  }
117
+ interface BoardLiveCardsMcpManageAddChatAttachmentResult {
118
+ status: 'success';
119
+ data: {
120
+ cardId: string;
121
+ turn: string;
122
+ files: Array<Record<string, unknown>>;
123
+ };
124
+ }
117
125
  interface BoardLiveCardsMcpPreflightRunOneCycleResult {
118
126
  status: 'success';
119
127
  data: {
@@ -242,6 +250,15 @@ interface BoardLiveCardsMcpDeps {
242
250
  nonCore: BoardLiveCardsMcpNonCoreDeps;
243
251
  cardStore: BoardLiveCardsMcpCardStoreDeps;
244
252
  chatStore: ChatStorePublic;
253
+ processAccumulated?: () => Awaitable<CommandResult>;
254
+ sourceFetchDone?: (args: {
255
+ token: string;
256
+ ref: string;
257
+ }) => Awaitable<CommandResult>;
258
+ sourceFetchFailed?: (args: {
259
+ token: string;
260
+ reason: string;
261
+ }) => Awaitable<CommandResult>;
245
262
  uploadCardFile(args: {
246
263
  cardId: string;
247
264
  fileName: string;
@@ -250,6 +267,7 @@ interface BoardLiveCardsMcpDeps {
250
267
  }): Awaitable<{
251
268
  ok: true;
252
269
  file: Record<string, unknown>;
270
+ file_idx?: number | null;
253
271
  }>;
254
272
  buildFileDownloadUrl(args: {
255
273
  cardId: string;
@@ -262,6 +280,7 @@ interface BoardLiveCardsMcpDeps {
262
280
  }): unknown | null;
263
281
  }
264
282
  interface BoardLiveCardsMcp {
283
+ listRuntimeCards(): Promise<LiveCard[]>;
265
284
  discoverSourceKinds(): Promise<BoardLiveCardsMcpDiscoverSourceKindsResult>;
266
285
  inspectBoardRuntimeStatus(): Promise<BoardLiveCardsMcpBoardStatusResult>;
267
286
  inspectCardDefinitionAndRuntime(args: {
@@ -309,6 +328,12 @@ interface BoardLiveCardsMcp {
309
328
  manageReadCard(args: {
310
329
  cardId: string;
311
330
  }): Promise<LiveCard[]>;
331
+ manageAddChatAttachment(args: {
332
+ cardId: string;
333
+ role?: string;
334
+ turn?: string;
335
+ files?: unknown[];
336
+ }): Promise<BoardLiveCardsMcpManageAddChatAttachmentResult>;
312
337
  manageAddChatEntryAndAnyAttachments(args: {
313
338
  cardId: string;
314
339
  role: string;
@@ -316,6 +341,10 @@ interface BoardLiveCardsMcp {
316
341
  turn?: string;
317
342
  files?: unknown[];
318
343
  }): Promise<BoardLiveCardsMcpManageAddChatEntryAndAnyAttachmentsResult>;
344
+ managePatchCard(args: {
345
+ cardId: string;
346
+ patch: UnknownRecord;
347
+ }): Promise<BoardLiveCardsMcpManageUpsertCardResult>;
319
348
  manageUpsertCard(args: {
320
349
  cardId: string;
321
350
  candidateCardContent: UnknownRecord;
@@ -343,7 +372,26 @@ interface BoardLiveCardsMcp {
343
372
  cardId: string;
344
373
  active: boolean;
345
374
  };
375
+ webhookProcessAccumulated(): Promise<CommandResult<{
376
+ runtime_result: unknown;
377
+ }>>;
378
+ webhookSourceFetchDone(args: {
379
+ token: string;
380
+ ref: string;
381
+ }): Promise<CommandResult<{
382
+ token: string;
383
+ ref: string;
384
+ runtime_result: unknown;
385
+ }>>;
386
+ webhookSourceFetchFailed(args: {
387
+ token: string;
388
+ reason: string;
389
+ }): Promise<CommandResult<{
390
+ token: string;
391
+ reason: string;
392
+ runtime_result: unknown;
393
+ }>>;
346
394
  }
347
395
  declare function createBoardLiveCardsMcp(deps: BoardLiveCardsMcpDeps): BoardLiveCardsMcp;
348
396
 
349
- export { type BoardLiveCardsMcp, type BoardLiveCardsMcpBoardDeps, type BoardLiveCardsMcpBoardStatusCard, type BoardLiveCardsMcpBoardStatusResult, type BoardLiveCardsMcpCardStoreDeps, type BoardLiveCardsMcpDeps, type BoardLiveCardsMcpDiscoverSourceKindsResult, type BoardLiveCardsMcpFileDownloadDescriptor, type BoardLiveCardsMcpInspectCardDefinitionAndRuntimeResult, type BoardLiveCardsMcpInspectChatMessagesResult, type BoardLiveCardsMcpManageAddChatEntryAndAnyAttachmentsResult, type BoardLiveCardsMcpManageUpsertCardFailureResult, type BoardLiveCardsMcpManageUpsertCardResult, type BoardLiveCardsMcpManageUpsertCardSuccessResult, type BoardLiveCardsMcpNonCoreDeps, type BoardLiveCardsMcpPreflightMaterializeResult, type BoardLiveCardsMcpPreflightRunOneCycleResult, type BoardLiveCardsMcpRenderedView, type BoardLiveCardsMcpRenderedViewElement, createBoardLiveCardsMcp };
397
+ export { type BoardLiveCardsMcp, type BoardLiveCardsMcpBoardDeps, type BoardLiveCardsMcpBoardStatusCard, type BoardLiveCardsMcpBoardStatusResult, type BoardLiveCardsMcpCardStoreDeps, type BoardLiveCardsMcpDeps, type BoardLiveCardsMcpDiscoverSourceKindsResult, type BoardLiveCardsMcpFileDownloadDescriptor, type BoardLiveCardsMcpInspectCardDefinitionAndRuntimeResult, type BoardLiveCardsMcpInspectChatMessagesResult, type BoardLiveCardsMcpManageAddChatAttachmentResult, type BoardLiveCardsMcpManageAddChatEntryAndAnyAttachmentsResult, type BoardLiveCardsMcpManageUpsertCardFailureResult, type BoardLiveCardsMcpManageUpsertCardResult, type BoardLiveCardsMcpManageUpsertCardSuccessResult, type BoardLiveCardsMcpNonCoreDeps, type BoardLiveCardsMcpPreflightMaterializeResult, type BoardLiveCardsMcpPreflightRunOneCycleResult, type BoardLiveCardsMcpRenderedView, type BoardLiveCardsMcpRenderedViewElement, createBoardLiveCardsMcp };
@@ -1,6 +1,6 @@
1
- import { C as CommandResult, L as LiveCard } from './board-live-cards-public-BMUIPOrc.js';
1
+ import { L as LiveCard, a as CommandResult } from './board-live-cards-public-D-DJek3X.js';
2
2
  import { ChatStorePublic } from './chat-store-public.js';
3
- import { C as ChatRecord } from './chat-storage-lib-BlG-sobS.js';
3
+ import { a as ChatRecord } from './chat-storage-lib-DB9iSai2.js';
4
4
  import './storage-interface-BFiD3kyB.js';
5
5
  import './execution-refs.js';
6
6
  import './types-BBhqYGhE.js';
@@ -114,6 +114,14 @@ interface BoardLiveCardsMcpManageAddChatEntryAndAnyAttachmentsResult {
114
114
  files: Array<Record<string, unknown>>;
115
115
  };
116
116
  }
117
+ interface BoardLiveCardsMcpManageAddChatAttachmentResult {
118
+ status: 'success';
119
+ data: {
120
+ cardId: string;
121
+ turn: string;
122
+ files: Array<Record<string, unknown>>;
123
+ };
124
+ }
117
125
  interface BoardLiveCardsMcpPreflightRunOneCycleResult {
118
126
  status: 'success';
119
127
  data: {
@@ -242,6 +250,15 @@ interface BoardLiveCardsMcpDeps {
242
250
  nonCore: BoardLiveCardsMcpNonCoreDeps;
243
251
  cardStore: BoardLiveCardsMcpCardStoreDeps;
244
252
  chatStore: ChatStorePublic;
253
+ processAccumulated?: () => Awaitable<CommandResult>;
254
+ sourceFetchDone?: (args: {
255
+ token: string;
256
+ ref: string;
257
+ }) => Awaitable<CommandResult>;
258
+ sourceFetchFailed?: (args: {
259
+ token: string;
260
+ reason: string;
261
+ }) => Awaitable<CommandResult>;
245
262
  uploadCardFile(args: {
246
263
  cardId: string;
247
264
  fileName: string;
@@ -250,6 +267,7 @@ interface BoardLiveCardsMcpDeps {
250
267
  }): Awaitable<{
251
268
  ok: true;
252
269
  file: Record<string, unknown>;
270
+ file_idx?: number | null;
253
271
  }>;
254
272
  buildFileDownloadUrl(args: {
255
273
  cardId: string;
@@ -262,6 +280,7 @@ interface BoardLiveCardsMcpDeps {
262
280
  }): unknown | null;
263
281
  }
264
282
  interface BoardLiveCardsMcp {
283
+ listRuntimeCards(): Promise<LiveCard[]>;
265
284
  discoverSourceKinds(): Promise<BoardLiveCardsMcpDiscoverSourceKindsResult>;
266
285
  inspectBoardRuntimeStatus(): Promise<BoardLiveCardsMcpBoardStatusResult>;
267
286
  inspectCardDefinitionAndRuntime(args: {
@@ -309,6 +328,12 @@ interface BoardLiveCardsMcp {
309
328
  manageReadCard(args: {
310
329
  cardId: string;
311
330
  }): Promise<LiveCard[]>;
331
+ manageAddChatAttachment(args: {
332
+ cardId: string;
333
+ role?: string;
334
+ turn?: string;
335
+ files?: unknown[];
336
+ }): Promise<BoardLiveCardsMcpManageAddChatAttachmentResult>;
312
337
  manageAddChatEntryAndAnyAttachments(args: {
313
338
  cardId: string;
314
339
  role: string;
@@ -316,6 +341,10 @@ interface BoardLiveCardsMcp {
316
341
  turn?: string;
317
342
  files?: unknown[];
318
343
  }): Promise<BoardLiveCardsMcpManageAddChatEntryAndAnyAttachmentsResult>;
344
+ managePatchCard(args: {
345
+ cardId: string;
346
+ patch: UnknownRecord;
347
+ }): Promise<BoardLiveCardsMcpManageUpsertCardResult>;
319
348
  manageUpsertCard(args: {
320
349
  cardId: string;
321
350
  candidateCardContent: UnknownRecord;
@@ -343,7 +372,26 @@ interface BoardLiveCardsMcp {
343
372
  cardId: string;
344
373
  active: boolean;
345
374
  };
375
+ webhookProcessAccumulated(): Promise<CommandResult<{
376
+ runtime_result: unknown;
377
+ }>>;
378
+ webhookSourceFetchDone(args: {
379
+ token: string;
380
+ ref: string;
381
+ }): Promise<CommandResult<{
382
+ token: string;
383
+ ref: string;
384
+ runtime_result: unknown;
385
+ }>>;
386
+ webhookSourceFetchFailed(args: {
387
+ token: string;
388
+ reason: string;
389
+ }): Promise<CommandResult<{
390
+ token: string;
391
+ reason: string;
392
+ runtime_result: unknown;
393
+ }>>;
346
394
  }
347
395
  declare function createBoardLiveCardsMcp(deps: BoardLiveCardsMcpDeps): BoardLiveCardsMcp;
348
396
 
349
- export { type BoardLiveCardsMcp, type BoardLiveCardsMcpBoardDeps, type BoardLiveCardsMcpBoardStatusCard, type BoardLiveCardsMcpBoardStatusResult, type BoardLiveCardsMcpCardStoreDeps, type BoardLiveCardsMcpDeps, type BoardLiveCardsMcpDiscoverSourceKindsResult, type BoardLiveCardsMcpFileDownloadDescriptor, type BoardLiveCardsMcpInspectCardDefinitionAndRuntimeResult, type BoardLiveCardsMcpInspectChatMessagesResult, type BoardLiveCardsMcpManageAddChatEntryAndAnyAttachmentsResult, type BoardLiveCardsMcpManageUpsertCardFailureResult, type BoardLiveCardsMcpManageUpsertCardResult, type BoardLiveCardsMcpManageUpsertCardSuccessResult, type BoardLiveCardsMcpNonCoreDeps, type BoardLiveCardsMcpPreflightMaterializeResult, type BoardLiveCardsMcpPreflightRunOneCycleResult, type BoardLiveCardsMcpRenderedView, type BoardLiveCardsMcpRenderedViewElement, createBoardLiveCardsMcp };
397
+ export { type BoardLiveCardsMcp, type BoardLiveCardsMcpBoardDeps, type BoardLiveCardsMcpBoardStatusCard, type BoardLiveCardsMcpBoardStatusResult, type BoardLiveCardsMcpCardStoreDeps, type BoardLiveCardsMcpDeps, type BoardLiveCardsMcpDiscoverSourceKindsResult, type BoardLiveCardsMcpFileDownloadDescriptor, type BoardLiveCardsMcpInspectCardDefinitionAndRuntimeResult, type BoardLiveCardsMcpInspectChatMessagesResult, type BoardLiveCardsMcpManageAddChatAttachmentResult, type BoardLiveCardsMcpManageAddChatEntryAndAnyAttachmentsResult, type BoardLiveCardsMcpManageUpsertCardFailureResult, type BoardLiveCardsMcpManageUpsertCardResult, type BoardLiveCardsMcpManageUpsertCardSuccessResult, type BoardLiveCardsMcpNonCoreDeps, type BoardLiveCardsMcpPreflightMaterializeResult, type BoardLiveCardsMcpPreflightRunOneCycleResult, type BoardLiveCardsMcpRenderedView, type BoardLiveCardsMcpRenderedViewElement, createBoardLiveCardsMcp };
@@ -1,2 +1,2 @@
1
- export{a as createBoardLiveCardsMcp}from'./chunk-SCWHDI3I.js';import'./chunk-JMDHDY6M.js';import'./chunk-VLBB3D6B.js';import'./chunk-MNEOJWPS.js';import'./chunk-FW4363Y4.js';//# sourceMappingURL=board-live-cards-mcp.js.map
1
+ export{a as createBoardLiveCardsMcp}from'./chunk-PRHQBGPT.js';import'./chunk-JMDHDY6M.js';import'./chunk-VLBB3D6B.js';import'./chunk-MNEOJWPS.js';import'./chunk-FW4363Y4.js';//# sourceMappingURL=board-live-cards-mcp.js.map
2
2
  //# sourceMappingURL=board-live-cards-mcp.js.map