yaml-flow 8.5.3 → 8.6.1

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 (166) hide show
  1. package/browser/asset-integrity.json +3 -3
  2. package/examples/board/demo-shell-with-server.html +2 -2
  3. package/examples/board/doc.html +2 -2
  4. package/examples/board/server/board-server.js +266 -5
  5. package/examples/board/server/board-worker/task-executor.js +166 -51
  6. package/examples/board/server/chat-flow/copilot-chat/assistant.js +25 -12
  7. package/examples/board/server/chat-flow/copilot-chat/probe.js +7 -0
  8. package/examples/board/server/chat-flow/copilot-chat/shared.js +97 -0
  9. package/examples/board/server/chat-flow/flow-steps.json +109 -51
  10. package/examples/board/server-config.json +1 -0
  11. package/examples/board/test/server-http-test.js +870 -67
  12. package/examples/board-local/demo-shell-localstorage.html +3 -3
  13. package/lib/{artifacts-store-lib-D-k-E8Vy.d.ts → artifacts-store-lib-C1rtrkxm.d.ts} +1 -1
  14. package/lib/{artifacts-store-lib-CVgtQrNZ.d.cts → artifacts-store-lib-CLOtsiav.d.cts} +1 -1
  15. package/lib/artifacts-store-public.cjs +1 -1
  16. package/lib/artifacts-store-public.d.cts +3 -3
  17. package/lib/artifacts-store-public.d.ts +3 -3
  18. package/lib/artifacts-store-public.js +1 -1
  19. package/lib/batch/index.cjs +1 -1
  20. package/lib/batch/index.js +1 -1
  21. package/lib/board-live-cards-mcp.cjs +1 -1
  22. package/lib/board-live-cards-mcp.d.cts +35 -15
  23. package/lib/board-live-cards-mcp.d.ts +35 -15
  24. package/lib/board-live-cards-mcp.js +1 -1
  25. package/lib/board-live-cards-node.cjs +8 -16
  26. package/lib/board-live-cards-node.d.cts +32 -12
  27. package/lib/board-live-cards-node.d.ts +32 -12
  28. package/lib/board-live-cards-node.js +8 -16
  29. package/lib/{board-live-cards-public-BGS22cMb.d.ts → board-live-cards-public-CBVjm327.d.ts} +59 -24
  30. package/lib/{board-live-cards-public-B13InXhC.d.cts → board-live-cards-public-CPJy-aGW.d.cts} +59 -24
  31. package/lib/board-live-cards-public.cjs +1 -2
  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 -2
  35. package/lib/board-live-cards-server-runtime.cjs +1 -7
  36. package/lib/board-live-cards-server-runtime.d.cts +5 -5
  37. package/lib/board-live-cards-server-runtime.d.ts +5 -5
  38. package/lib/board-live-cards-server-runtime.js +1 -7
  39. package/lib/board-livegraph-runtime/index.cjs +1 -2
  40. package/lib/board-livegraph-runtime/index.js +1 -2
  41. package/lib/board-worker-adapter.cjs +21 -7
  42. package/lib/board-worker-adapter.d.cts +17 -2
  43. package/lib/board-worker-adapter.d.ts +17 -2
  44. package/lib/board-worker-adapter.js +21 -7
  45. package/lib/card-compute/index.cjs +1 -9
  46. package/lib/card-compute/index.js +1 -9
  47. package/lib/card-store-public.cjs +1 -1
  48. package/lib/card-store-public.d.cts +2 -2
  49. package/lib/card-store-public.d.ts +2 -2
  50. package/lib/card-store-public.js +1 -1
  51. package/lib/card-validation.cjs +1 -9
  52. package/lib/card-validation.js +1 -9
  53. package/lib/{chat-storage-lib-CJn7a6OH.d.ts → chat-storage-lib-Bce-xx6l.d.ts} +1 -1
  54. package/lib/{chat-storage-lib-0imhRX3l.d.cts → chat-storage-lib-CKylihjm.d.cts} +1 -1
  55. package/lib/chat-store-public.cjs +1 -1
  56. package/lib/chat-store-public.d.cts +3 -3
  57. package/lib/chat-store-public.d.ts +3 -3
  58. package/lib/chat-store-public.js +1 -1
  59. package/lib/chunk-2MZUYY65.cjs +2 -0
  60. package/lib/chunk-5DB54ZX2.cjs +2 -0
  61. package/lib/chunk-5EA2ESS4.cjs +16 -0
  62. package/lib/chunk-6APH25VI.js +2 -0
  63. package/lib/chunk-76ON3V7R.js +2 -0
  64. package/lib/chunk-7BKNHFNH.js +2 -0
  65. package/lib/chunk-CWREBRXS.js +3 -0
  66. package/lib/chunk-DAXACY63.js +2 -0
  67. package/lib/chunk-FW4363Y4.js +2 -0
  68. package/lib/chunk-FZ2SBU5M.js +3 -0
  69. package/lib/chunk-G4XXRHL2.cjs +3 -0
  70. package/lib/chunk-GNFE24S7.cjs +2 -0
  71. package/lib/chunk-GYQXDNNI.cjs +2 -0
  72. package/lib/chunk-H5KD3JPY.cjs +2 -0
  73. package/lib/chunk-HLJH7LGW.js +16 -0
  74. package/lib/chunk-I4WH5U5D.cjs +2 -0
  75. package/lib/chunk-IXZG74EW.cjs +2 -0
  76. package/lib/chunk-JAL25FGA.cjs +2 -0
  77. package/lib/chunk-JM5EKT57.js +2 -0
  78. package/lib/chunk-JMDHDY6M.js +2 -0
  79. package/lib/chunk-KBELAKIY.js +2 -0
  80. package/lib/chunk-KHJABJ45.cjs +3 -0
  81. package/lib/chunk-KLRUISRY.cjs +2 -0
  82. package/lib/chunk-KNFFDVLD.cjs +2 -0
  83. package/lib/chunk-LBMEVV4U.js +2 -0
  84. package/lib/chunk-LDAP75GN.js +2 -0
  85. package/lib/chunk-LODXIALE.cjs +2 -0
  86. package/lib/chunk-LVNQCE5X.cjs +3 -0
  87. package/lib/chunk-M7EQRS6W.js +3 -0
  88. package/lib/chunk-MNEOJWPS.js +10 -0
  89. package/lib/chunk-NJJ7WEDT.cjs +2 -0
  90. package/lib/chunk-NMZ6XNLB.cjs +3 -0
  91. package/lib/chunk-OPNGCSXJ.js +2 -0
  92. package/lib/chunk-P64UKI3L.cjs +8 -0
  93. package/lib/chunk-P7ZCDICS.cjs +2 -0
  94. package/lib/chunk-Q6H7NINN.cjs +5 -0
  95. package/lib/chunk-Q6VSL327.js +8 -0
  96. package/lib/chunk-QWBNDVUA.js +5 -0
  97. package/lib/chunk-S6DRP2HX.cjs +2 -0
  98. package/lib/chunk-UJ7ZTV4J.cjs +10 -0
  99. package/lib/chunk-UVE65IPR.cjs +3 -0
  100. package/lib/chunk-VCCTAUIG.js +2 -0
  101. package/lib/chunk-VGT3TRQG.js +3 -0
  102. package/lib/chunk-VLBB3D6B.js +3 -0
  103. package/lib/chunk-WDPOGXTY.js +2 -0
  104. package/lib/chunk-X3LC4LII.js +2 -0
  105. package/lib/chunk-YGKDQLYP.js +2 -0
  106. package/lib/chunk-YMEIPKLW.cjs +2 -0
  107. package/lib/config/index.cjs +1 -1
  108. package/lib/config/index.js +1 -1
  109. package/lib/continuous-event-graph/index.cjs +1 -2
  110. package/lib/continuous-event-graph/index.js +1 -2
  111. package/lib/event-graph/index.cjs +1 -22
  112. package/lib/event-graph/index.js +1 -22
  113. package/lib/execution-refs.cjs +1 -2
  114. package/lib/execution-refs.d.cts +3 -2
  115. package/lib/execution-refs.d.ts +3 -2
  116. package/lib/execution-refs.js +1 -2
  117. package/lib/index.cjs +2 -24
  118. package/lib/index.d.cts +1 -1
  119. package/lib/index.d.ts +1 -1
  120. package/lib/index.js +2 -24
  121. package/lib/server-runtime/index.cjs +1 -7
  122. package/lib/server-runtime/index.d.cts +6 -6
  123. package/lib/server-runtime/index.d.ts +6 -6
  124. package/lib/server-runtime/index.js +1 -7
  125. package/lib/step-machine/index.cjs +1 -11
  126. package/lib/step-machine/index.js +1 -11
  127. package/lib/step-machine-public/index.cjs +1 -4
  128. package/lib/step-machine-public/index.d.cts +1 -1
  129. package/lib/step-machine-public/index.d.ts +1 -1
  130. package/lib/step-machine-public/index.js +1 -4
  131. package/lib/{storage-interface-B2WD9D5n.d.cts → storage-interface-Ct-C4tlz.d.cts} +28 -1
  132. package/lib/{storage-interface-B2WD9D5n.d.ts → storage-interface-Ct-C4tlz.d.ts} +28 -1
  133. package/lib/stores/index.cjs +1 -2
  134. package/lib/stores/index.d.cts +1 -1
  135. package/lib/stores/index.d.ts +1 -1
  136. package/lib/stores/index.js +1 -2
  137. package/lib/stores/kv.cjs +1 -2
  138. package/lib/stores/kv.d.cts +1 -1
  139. package/lib/stores/kv.d.ts +1 -1
  140. package/lib/stores/kv.js +1 -2
  141. package/lib/stores/memory.cjs +1 -1
  142. package/lib/stores/memory.js +1 -1
  143. package/lib/{types-30R357js.d.ts → types-BuK2UMxk.d.ts} +4 -4
  144. package/lib/{types-CIgsh56O.d.cts → types-DRl0Hy_p.d.cts} +4 -4
  145. package/package.json +2 -16
  146. package/cli/board-live-cards-lib-COi4bSpk.d.ts +0 -322
  147. package/cli/browser-api/board-live-cards-browser-adapter.d.ts +0 -36
  148. package/cli/browser-api/board-live-cards-browser-adapter.js +0 -4
  149. package/cli/browser-api/card-store-browser-api.d.ts +0 -25
  150. package/cli/browser-api/card-store-browser-api.js +0 -2
  151. package/cli/browser-api/jsonata-sync.cjs +0 -7623
  152. package/cli/bundled/artifacts-store-cli.mjs +0 -12
  153. package/cli/bundled/batch-runner-cli.mjs +0 -3
  154. package/cli/bundled/board-live-cards-cli.mjs +0 -29
  155. package/cli/bundled/card-store-cli.mjs +0 -154
  156. package/cli/bundled/chat-store-cli.mjs +0 -16
  157. package/cli/bundled/jsonata-sync.cjs +0 -7623
  158. package/cli/bundled/step-machine-cli.mjs +0 -150
  159. package/cli/execution-interface-BCIhu1gO.d.ts +0 -442
  160. package/cli/types-H3EMBPY2.d.ts +0 -398
  161. package/examples/board/server/README-mcp-api.md +0 -690
  162. package/examples/board/test/server-http-mcp-test.js +0 -1280
  163. package/lib/board-livegraph-runtime/jsonata-sync.cjs +0 -7623
  164. package/lib/card-compute/jsonata-sync.cjs +0 -7623
  165. package/lib/continuous-event-graph/jsonata-sync.cjs +0 -7623
  166. package/lib/server-runtime/jsonata-sync.cjs +0 -7623
@@ -7,27 +7,28 @@
7
7
  },
8
8
  "steps": {
9
9
  "read_chats": {
10
- "description": "Read chats from runtime storage via chat-store-cli and pass them through the flow",
11
- "expects_data": ["boardSetupRoot", "boardRuntimeDir", "cardId"],
10
+ "description": "Read chats from runtime storage via MCP inspect.chat-messages-on-cards",
11
+ "expects_data": ["serverUrl", "boardId", "cardId"],
12
12
  "produces_data": ["chatMessages"],
13
13
  "input_validations": [
14
- "$type(boardSetupRoot) = \"string\" and $length(boardSetupRoot) > 0",
14
+ "$type(serverUrl) = \"string\" and $length(serverUrl) > 0",
15
+ "$type(boardId) = \"string\" and $length(boardId) > 0",
15
16
  "$type(cardId) = \"string\" and $length(cardId) > 0"
16
17
  ],
17
18
  "handler": {
18
19
  "type": "ref",
19
- "howToRun": "local-node",
20
+ "howToRun": "http:post",
20
21
  "whatToRun": {
21
- "kind": "yaml-flow-cli",
22
- "value": "chat-store-cli.js"
22
+ "kind": "http-url",
23
+ "value": ""
23
24
  },
24
25
  "meta": "chat-handler",
25
26
  "argsMassaging": {
26
- "cmdTemplate": ["'--stdin'"],
27
- "stdinTemplate": "{ 'command': 'read-all', 'storeRef': $fsPathRef(boardSetupRoot & '/' & boardRuntimeDir), 'cardId': cardId }"
27
+ "urlTemplate": "serverUrl & '/api/boards/' & boardId & '/mcp'",
28
+ "bodyTemplate": "{ 'tool': 'inspect.chat-messages-on-cards', 'args': { 'card_id': cardId } }"
28
29
  },
29
30
  "outputTransforms": {
30
- "dataTemplate": "{ 'chatMessages': output.data.records }"
31
+ "dataTemplate": "{ 'chatMessages': output.data.messages }"
31
32
  }
32
33
  },
33
34
  "transitions": {
@@ -38,7 +39,7 @@
38
39
  },
39
40
  "open_turn": {
40
41
  "description": "Resolve the current user turn from flow-provided chat messages and parse any chat envelope options",
41
- "produces_data": ["boardId", "cardId", "boardSetupRoot", "boardBaseRef", "boardRuntimeDir", "runtimeStatusDir", "cardsDir", "projectRoot", "chatFlowRoot", "chatMessages", "userText", "lastChatEntryId", "turnId", "probe", "chatHandlerMode", "chatCopilotTimeoutMs", "probeAttachmentFileIdx"],
42
+ "produces_data": ["boardId", "cardId", "boardSetupRoot", "boardBaseRef", "boardRuntimeDir", "runtimeStatusDir", "cardsDir", "projectRoot", "chatFlowRoot", "chatMessages", "userText", "lastChatEntryId", "turnId", "probe", "chatHandlerMode", "chatCopilotTimeoutMs", "probeAttachmentFileIdx", "serverUrl"],
42
43
  "input_validations": [
43
44
  "$type(cardId) = \"string\" and $length(cardId) > 0",
44
45
  "$type(chatMessages) = \"array\"",
@@ -57,6 +58,7 @@
57
58
  "data.cardsDir = ($type(expects_data.cardsDir) = \"string\" and $length(expects_data.cardsDir) > 0) ? expects_data.cardsDir : \"cards\"",
58
59
  "data.projectRoot = $type(expects_data.projectRoot) = \"string\" ? expects_data.projectRoot : \"\"",
59
60
  "data.chatFlowRoot = $type(expects_data.chatFlowRoot) = \"string\" ? expects_data.chatFlowRoot : \"\"",
61
+ "data.serverUrl = $type(expects_data.serverUrl) = \"string\" ? expects_data.serverUrl : \"\"",
60
62
  "data.chatMessages = expects_data.chatMessages",
61
63
  "data.lastChatEntryId = expects_data.lastChatEntryId",
62
64
  "data._currentUserMessage = $filter(expects_data.chatMessages, function($message) { $message.id = expects_data.lastChatEntryId and $message.role = \"user\" })[0]",
@@ -119,18 +121,24 @@
119
121
  }
120
122
  },
121
123
  "probe_in_progress": {
122
- "description": "Append a probe-only in-progress system message before generating the deterministic echo reply",
124
+ "description": "Append a probe-only in-progress system message via the host test endpoint before generating the deterministic echo reply",
125
+ "expects_data": ["serverUrl", "boardId", "cardId", "turnId"],
126
+ "input_validations": [
127
+ "$type(serverUrl) = \"string\" and $length(serverUrl) > 0",
128
+ "$type(boardId) = \"string\" and $length(boardId) > 0",
129
+ "$type(cardId) = \"string\" and $length(cardId) > 0"
130
+ ],
123
131
  "handler": {
124
132
  "type": "ref",
125
- "howToRun": "local-node",
133
+ "howToRun": "http:post",
126
134
  "whatToRun": {
127
- "kind": "yaml-flow-cli",
128
- "value": "chat-store-cli.js"
135
+ "kind": "http-url",
136
+ "value": ""
129
137
  },
130
138
  "meta": "chat-handler",
131
139
  "argsMassaging": {
132
- "cmdTemplate": ["'--stdin'"],
133
- "stdinTemplate": "{ 'storeRef': $fsPathRef(boardSetupRoot & '/' & boardRuntimeDir), 'cardId': cardId, 'commands': [{ 'command': 'append', 'role': 'system', 'text': 'in-progress', 'files': [], 'turn': turnId }] }"
140
+ "urlTemplate": "serverUrl & '/test-req/boards/' & boardId & '/chat/system-message'",
141
+ "bodyTemplate": "{ 'cardId': cardId, 'text': 'in-progress', 'turn': turnId, 'files': [] }"
134
142
  }
135
143
  },
136
144
  "transitions": {
@@ -140,35 +148,29 @@
140
148
  }
141
149
  },
142
150
  "probe_attachment_reply": {
143
- "description": "Read the current probe attachment via board-live-cards-cli and use its content as the assistant reply",
144
- "expects_data": ["boardBaseRef", "cardId", "probeAttachmentFileIdx"],
145
- "produces_data": ["replyText"],
151
+ "description": "Read the current probe attachment via MCP inspect.file-contents and use its content as the assistant reply",
152
+ "expects_data": ["serverUrl", "boardId", "cardId", "probeAttachmentFileIdx"],
153
+ "produces_data": ["replyText", "probeAttachmentMimeType", "probeAttachmentBodyBase64"],
146
154
  "input_validations": [
147
- "$type(boardBaseRef) = \"string\" and $length(boardBaseRef) > 0",
155
+ "$type(serverUrl) = \"string\" and $length(serverUrl) > 0",
156
+ "$type(boardId) = \"string\" and $length(boardId) > 0",
148
157
  "$type(cardId) = \"string\" and $length(cardId) > 0",
149
158
  "$type(probeAttachmentFileIdx) = \"number\" and probeAttachmentFileIdx >= 0"
150
159
  ],
151
160
  "handler": {
152
161
  "type": "ref",
153
- "howToRun": "local-node",
162
+ "howToRun": "http:post",
154
163
  "whatToRun": {
155
- "kind": "yaml-flow-cli",
156
- "value": "board-live-cards-cli.js"
164
+ "kind": "http-url",
165
+ "value": ""
157
166
  },
158
167
  "meta": "chat-handler",
159
168
  "argsMassaging": {
160
- "cmdTemplate": [
161
- "'get-attachment-content'",
162
- "'--base-ref'",
163
- "boardBaseRef",
164
- "'--card-id'",
165
- "cardId",
166
- "'--file-idx'",
167
- "$string(probeAttachmentFileIdx)"
168
- ]
169
+ "urlTemplate": "serverUrl & '/api/boards/' & boardId & '/mcp-raw?resp=json-b64'",
170
+ "bodyTemplate": "{ 'tool': 'inspect.file-contents', 'args': { 'card_id': cardId, 'file_idx': probeAttachmentFileIdx } }"
169
171
  },
170
172
  "outputTransforms": {
171
- "dataTemplate": "{ 'replyText': $string(output.data.stdout) }"
173
+ "dataTemplate": "{ 'replyText': ($type(output.data.bodyBase64) = 'string' ? $base64decode(output.data.bodyBase64) : ''), 'probeAttachmentMimeType': output.data.mimeType, 'probeAttachmentBodyBase64': output.data.bodyBase64 }"
172
174
  }
173
175
  },
174
176
  "transitions": {
@@ -225,56 +227,112 @@
225
227
  }
226
228
  },
227
229
  "write_reply": {
228
- "description": "Append the assistant reply and clear processing via one chat-store-cli command envelope",
229
- "expects_data": ["boardSetupRoot", "boardRuntimeDir", "cardId", "replyText", "turnId"],
230
+ "description": "Append the assistant reply via MCP stage-ai-response-and-any-attachments",
231
+ "expects_data": ["serverUrl", "boardId", "cardId", "replyText", "turnId"],
230
232
  "produces_data": ["replyId"],
231
233
  "input_validations": [
232
- "$type(boardSetupRoot) = \"string\" and $length(boardSetupRoot) > 0",
234
+ "$type(serverUrl) = \"string\" and $length(serverUrl) > 0",
235
+ "$type(boardId) = \"string\" and $length(boardId) > 0",
233
236
  "$type(cardId) = \"string\" and $length(cardId) > 0",
234
237
  "$type(replyText) = \"string\""
235
238
  ],
236
239
  "handler": {
237
240
  "type": "ref",
238
- "howToRun": "local-node",
241
+ "howToRun": "http:post",
239
242
  "whatToRun": {
240
- "kind": "yaml-flow-cli",
241
- "value": "chat-store-cli.js"
243
+ "kind": "http-url",
244
+ "value": ""
242
245
  },
243
246
  "meta": "chat-handler",
244
247
  "argsMassaging": {
245
- "cmdTemplate": ["'--stdin'"],
246
- "stdinTemplate": "{ 'storeRef': $fsPathRef(boardSetupRoot & '/' & boardRuntimeDir), 'cardId': cardId, 'commands': [{ 'command': 'append', 'role': 'assistant', 'text': replyText, 'files': [], 'turn': turnId }, { 'command': 'set-processing', 'active': false }] }"
248
+ "urlTemplate": "serverUrl & '/api/boards/' & boardId & '/mcp'",
249
+ "bodyTemplate": "{ 'tool': 'stage-ai-response-and-any-attachments', 'args': { 'card_id': cardId, 'text': replyText, 'turn_id': turnId } }"
247
250
  },
248
251
  "outputTransforms": {
249
- "dataTemplate": "{ 'replyId': output.data.results[0].data.id }"
252
+ "dataTemplate": "{ 'replyId': output.data.id }"
250
253
  }
251
254
  },
252
255
  "transitions": {
253
- "success": "completed",
256
+ "success": "clear_processing_done",
254
257
  "failure": "cleanup_failure",
255
258
  "error": "cleanup_failure"
256
259
  }
257
260
  },
261
+ "clear_processing_done": {
262
+ "description": "Clear processing through the runtime MCP controlplane",
263
+ "expects_data": ["serverUrl", "boardId", "cardId"],
264
+ "input_validations": [
265
+ "$type(serverUrl) = \"string\" and $length(serverUrl) > 0",
266
+ "$type(boardId) = \"string\" and $length(boardId) > 0",
267
+ "$type(cardId) = \"string\" and $length(cardId) > 0"
268
+ ],
269
+ "handler": {
270
+ "type": "ref",
271
+ "howToRun": "http:post",
272
+ "whatToRun": {
273
+ "kind": "http-url",
274
+ "value": ""
275
+ },
276
+ "argsMassaging": {
277
+ "urlTemplate": "serverUrl & '/api/boards/' & boardId & '/mcp-controlplane'",
278
+ "bodyTemplate": "{ 'tool': 'setstate.chat-processing-done', 'args': { 'board_id': boardId, 'card_id': cardId } }"
279
+ },
280
+ "meta": "chat-handler"
281
+ },
282
+ "transitions": {
283
+ "success": "completed",
284
+ "failure": "failed",
285
+ "error": "failed"
286
+ }
287
+ },
258
288
  "cleanup_failure": {
259
- "description": "Write a failure system message and clear processing via one chat-store-cli command envelope",
260
- "expects_data": ["boardSetupRoot", "boardRuntimeDir", "cardId", "turnId"],
289
+ "description": "Write a failure system message via the host test endpoint",
290
+ "expects_data": ["serverUrl", "boardId", "cardId", "turnId"],
261
291
  "input_validations": [
262
- "$type(boardSetupRoot) = \"string\" and $length(boardSetupRoot) > 0",
292
+ "$type(serverUrl) = \"string\" and $length(serverUrl) > 0",
293
+ "$type(boardId) = \"string\" and $length(boardId) > 0",
263
294
  "$type(cardId) = \"string\" and $length(cardId) > 0"
264
295
  ],
265
296
  "handler": {
266
297
  "type": "ref",
267
- "howToRun": "local-node",
298
+ "howToRun": "http:post",
268
299
  "whatToRun": {
269
- "kind": "yaml-flow-cli",
270
- "value": "chat-store-cli.js"
300
+ "kind": "http-url",
301
+ "value": ""
271
302
  },
272
303
  "meta": "chat-handler",
273
304
  "argsMassaging": {
274
- "cmdTemplate": ["'--stdin'"],
275
- "stdinTemplate": "{ 'storeRef': $fsPathRef(boardSetupRoot & '/' & boardRuntimeDir), 'cardId': cardId, 'commands': [{ 'command': 'append', 'role': 'system', 'text': 'AI response failed - the assistant could not generate a reply. Check server configuration and logs.', 'files': [], 'turn': turnId }, { 'command': 'set-processing', 'active': false }] }"
305
+ "urlTemplate": "serverUrl & '/test-req/boards/' & boardId & '/chat/system-message'",
306
+ "bodyTemplate": "{ 'cardId': cardId, 'text': 'AI response failed - the assistant could not generate a reply. Check server configuration and logs.', 'turn': turnId, 'files': [] }"
276
307
  }
277
308
  },
309
+ "transitions": {
310
+ "success": "clear_processing_done_failure",
311
+ "failure": "failed",
312
+ "error": "failed"
313
+ }
314
+ },
315
+ "clear_processing_done_failure": {
316
+ "description": "Clear processing through the runtime MCP controlplane after failure cleanup",
317
+ "expects_data": ["serverUrl", "boardId", "cardId"],
318
+ "input_validations": [
319
+ "$type(serverUrl) = \"string\" and $length(serverUrl) > 0",
320
+ "$type(boardId) = \"string\" and $length(boardId) > 0",
321
+ "$type(cardId) = \"string\" and $length(cardId) > 0"
322
+ ],
323
+ "handler": {
324
+ "type": "ref",
325
+ "howToRun": "http:post",
326
+ "whatToRun": {
327
+ "kind": "http-url",
328
+ "value": ""
329
+ },
330
+ "argsMassaging": {
331
+ "urlTemplate": "serverUrl & '/api/boards/' & boardId & '/mcp-controlplane'",
332
+ "bodyTemplate": "{ 'tool': 'setstate.chat-processing-done', 'args': { 'board_id': boardId, 'card_id': cardId } }"
333
+ },
334
+ "meta": "chat-handler"
335
+ },
278
336
  "transitions": {
279
337
  "success": "failed",
280
338
  "failure": "failed",
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "port": 7799,
3
+ "taskExecutorTransport": "queue",
3
4
  "chatFlowTimeoutMs": 1800000,
4
5
  "chatInvokeRefTimeoutMs": 1800000,
5
6
  "chatCopilotTimeoutMs": 1800000,