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
@@ -1,12 +1,12 @@
1
- 'use strict';var chunkWOALA3V5_cjs=require('./chunk-WOALA3V5.cjs'),chunkPMUSJQSR_cjs=require('./chunk-PMUSJQSR.cjs');require('./chunk-PBCDDO4V.cjs');var chunkOEFTOO47_cjs=require('./chunk-OEFTOO47.cjs'),chunkU2N6MCD5_cjs=require('./chunk-U2N6MCD5.cjs'),chunkSFVO2LB2_cjs=require('./chunk-SFVO2LB2.cjs');require('./chunk-G4XXRHL2.cjs'),require('./chunk-LODXIALE.cjs');var chunkGJJMEAVN_cjs=require('./chunk-GJJMEAVN.cjs');require('./chunk-IXZG74EW.cjs');var chunkNMZ6XNLB_cjs=require('./chunk-NMZ6XNLB.cjs');require('./chunk-UJ7ZTV4J.cjs');var chunkYMEIPKLW_cjs=require('./chunk-YMEIPKLW.cjs'),chunkP7ZCDICS_cjs=require('./chunk-P7ZCDICS.cjs');require('./chunk-GNFE24S7.cjs');var child_process=require('child_process'),a=require('fs'),Ee=require('os'),y=require('path'),Te=require('net'),url=require('url'),crypto=require('crypto'),module$1=require('module'),properLockfile=require('proper-lockfile');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var a__namespace=/*#__PURE__*/_interopNamespace(a);var Ee__namespace=/*#__PURE__*/_interopNamespace(Ee);var y__namespace=/*#__PURE__*/_interopNamespace(y);var Te__namespace=/*#__PURE__*/_interopNamespace(Te);function b(...e){return y__namespace.join(...e)}function Be(e){return y__namespace.isAbsolute(e)}function X(){return crypto.randomUUID()}function Ie(e){return crypto.createHash("sha256").update(e).digest("hex")}function Ce(e){return y__namespace.dirname(url.fileURLToPath(e))}function wt(e){if(typeof e=="object"&&e!==null){let{command:r,args:n=[],...o}=e,s=Ae(r,n);return {...o,command:s.command,args:s.args}}let t=Fe(e);if(t.length===0)throw new Error(`Empty command spec: ${JSON.stringify(e)}`);return Ae(t[0],t.slice(1))}function Ae(e,t){return /^(node|node\.exe)$/i.test(e)?{command:process.execPath,args:t}:/\.m?js$/i.test(e)?{command:process.execPath,args:[e,...t]}:{command:e,args:t}}function Fe(e){let t=[],r="",n=null;for(let o of e.trim()){if(n){o===n?n=null:r+=o;continue}if(o==='"'||o==="'"){n=o;continue}if(/\s/.test(o)){r&&(t.push(r),r="");continue}r+=o;}if(n)throw new Error(`Unterminated quote in command: ${e}`);return r&&t.push(r),t}function Me(e){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(e)}function je(e,t){let{command:r,args:n=[],cwd:o,env:s,timeoutMs:u}=e;return child_process.execFileSync(r,n,{shell:Me(r),timeout:u,encoding:t?.encoding??"utf-8",cwd:o,windowsHide:true,env:s?{...process.env,...s}:void 0,input:t?.input})}function kt(e,t){let{command:r,args:n=[],cwd:o,env:s,timeoutMs:u=3e4}=e;child_process.execFile(r,n,{shell:Me(r),encoding:"utf8",windowsHide:true,timeout:u,maxBuffer:10*1024*1024,cwd:o,env:s?{...process.env,...s}:void 0},(l,g,i)=>t(l??null,g,i));}function $e(e,t,r){let n=y__namespace.join(e,"board-live-cards-cli.js");if(a__namespace.existsSync(n))return {cmd:process.execPath,args:[n,t,...r]};let o=y__namespace.join(e,"board-live-cards-cli.ts"),u=[y__namespace.join(e,"..","..","..","node_modules","tsx","dist","cli.mjs"),y__namespace.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),y__namespace.join(e,"..","..","..","node_modules",".bin","tsx"),y__namespace.join(e,"..","..","node_modules",".bin","tsx")].find(g=>a__namespace.existsSync(g));return a__namespace.existsSync(o)&&u?{cmd:process.execPath,args:[u,o,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",o,t,...r]}}function Pe(e){let t=y__namespace.join(e,"board-live-cards-cli.mjs");if(a__namespace.existsSync(t))return t;let r=y__namespace.join(e,"..","..","..","dev","board-live-cards-cli.js");if(a__namespace.existsSync(r))return r;let n=y__namespace.join(e,"..","..","dev","board-live-cards-cli.js");if(a__namespace.existsSync(n))return n;let o=y__namespace.join(e,"board-live-cards-cli.js");if(a__namespace.existsSync(o))return o;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${e} (expected dev/board-live-cards-cli.js wrapper, ${o}, or ${t})`)}function vt(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:y__namespace.join(Ee__namespace.tmpdir(),`${e}.sock`)}var Z=new Map;function Le(e,t,r){if(t.length===0)return;let n=t.map(l=>JSON.stringify(l)).join(`
1
+ 'use strict';require('./chunk-NKIQRCOM.cjs');var chunkNJJ7WEDT_cjs=require('./chunk-NJJ7WEDT.cjs'),chunkGL2OHR2E_cjs=require('./chunk-GL2OHR2E.cjs'),chunkPMUSJQSR_cjs=require('./chunk-PMUSJQSR.cjs');require('./chunk-PBCDDO4V.cjs');var chunkOEFTOO47_cjs=require('./chunk-OEFTOO47.cjs'),chunkU2N6MCD5_cjs=require('./chunk-U2N6MCD5.cjs'),chunkSFVO2LB2_cjs=require('./chunk-SFVO2LB2.cjs');require('./chunk-G4XXRHL2.cjs'),require('./chunk-LODXIALE.cjs');var chunkM6STQR5F_cjs=require('./chunk-M6STQR5F.cjs');require('./chunk-IXZG74EW.cjs');var chunkNMZ6XNLB_cjs=require('./chunk-NMZ6XNLB.cjs');require('./chunk-UJ7ZTV4J.cjs');var chunkYMEIPKLW_cjs=require('./chunk-YMEIPKLW.cjs'),chunkP7ZCDICS_cjs=require('./chunk-P7ZCDICS.cjs');require('./chunk-GNFE24S7.cjs');var child_process=require('child_process'),i=require('fs'),Ee=require('os'),y=require('path'),Te=require('net'),url=require('url'),crypto=require('crypto'),module$1=require('module'),properLockfile=require('proper-lockfile');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var i__namespace=/*#__PURE__*/_interopNamespace(i);var Ee__namespace=/*#__PURE__*/_interopNamespace(Ee);var y__namespace=/*#__PURE__*/_interopNamespace(y);var Te__namespace=/*#__PURE__*/_interopNamespace(Te);function b(...e){return y__namespace.join(...e)}function Be(e){return y__namespace.isAbsolute(e)}function X(){return crypto.randomUUID()}function Ie(e){return crypto.createHash("sha256").update(e).digest("hex")}function Ce(e){return y__namespace.dirname(url.fileURLToPath(e))}function kt(e){if(typeof e=="object"&&e!==null){let{command:r,args:n=[],...o}=e,s=Ae(r,n);return {...o,command:s.command,args:s.args}}let t=Me(e);if(t.length===0)throw new Error(`Empty command spec: ${JSON.stringify(e)}`);return Ae(t[0],t.slice(1))}function Ae(e,t){return /^(node|node\.exe)$/i.test(e)?{command:process.execPath,args:t}:/\.m?js$/i.test(e)?{command:process.execPath,args:[e,...t]}:{command:e,args:t}}function Me(e){let t=[],r="",n=null;for(let o of e.trim()){if(n){o===n?n=null:r+=o;continue}if(o==='"'||o==="'"){n=o;continue}if(/\s/.test(o)){r&&(t.push(r),r="");continue}r+=o;}if(n)throw new Error(`Unterminated quote in command: ${e}`);return r&&t.push(r),t}function Fe(e){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(e)}function je(e,t){let{command:r,args:n=[],cwd:o,env:s,timeoutMs:u}=e;return child_process.execFileSync(r,n,{shell:Fe(r),timeout:u,encoding:t?.encoding??"utf-8",cwd:o,windowsHide:true,env:s?{...process.env,...s}:void 0,input:t?.input})}function wt(e,t){let{command:r,args:n=[],cwd:o,env:s,timeoutMs:u=3e4}=e;child_process.execFile(r,n,{shell:Fe(r),encoding:"utf8",windowsHide:true,timeout:u,maxBuffer:10*1024*1024,cwd:o,env:s?{...process.env,...s}:void 0},(l,g,a)=>t(l??null,g,a));}function $e(e,t,r){let n=y__namespace.join(e,"board-live-cards-cli.js");if(i__namespace.existsSync(n))return {cmd:process.execPath,args:[n,t,...r]};let o=y__namespace.join(e,"board-live-cards-cli.ts"),u=[y__namespace.join(e,"..","..","..","node_modules","tsx","dist","cli.mjs"),y__namespace.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),y__namespace.join(e,"..","..","..","node_modules",".bin","tsx"),y__namespace.join(e,"..","..","node_modules",".bin","tsx")].find(g=>i__namespace.existsSync(g));return i__namespace.existsSync(o)&&u?{cmd:process.execPath,args:[u,o,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",o,t,...r]}}function Pe(e){let t=y__namespace.join(e,"board-live-cards-cli.mjs");if(i__namespace.existsSync(t))return t;let r=y__namespace.join(e,"..","..","..","dev","board-live-cards-cli.js");if(i__namespace.existsSync(r))return r;let n=y__namespace.join(e,"..","..","dev","board-live-cards-cli.js");if(i__namespace.existsSync(n))return n;let o=y__namespace.join(e,"board-live-cards-cli.js");if(i__namespace.existsSync(o))return o;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${e} (expected dev/board-live-cards-cli.js wrapper, ${o}, or ${t})`)}function vt(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:y__namespace.join(Ee__namespace.tmpdir(),`${e}.sock`)}var Z=new Map;function qe(e,t,r){if(t.length===0)return;let n=t.map(l=>JSON.stringify(l)).join(`
2
2
  `)+`
3
- `,o=Z.get(e);if(o&&!o.socket.destroyed){o.ready?o.socket.write(n):o.queue.push(n);return}let s=vt(e),u=Te__namespace.createConnection(s);o={socket:u,ready:false,queue:[n]},Z.set(e,o),u.on("connect",()=>{o.ready=true;for(let l of o.queue)u.write(l);o.queue.length=0;}),u.on("error",l=>{r?.(`[named-pipe publish] ${s}: ${l instanceof Error?l.message:String(l)}`),Z.delete(e);}),u.on("close",()=>{Z.delete(e);});}function qe(){return {executeSync(e,t,r){return je({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(e,t,r){kt({command:e,args:t},r);},resolveInvocation(e,t){let r=wt({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:Fe}}function fe(e){return {id:e.id??"board-worker",pollIntervalMs:e.pollIntervalMs,visibilityMs:e.visibilityMs,concurrency:e.concurrency,maxAttempts:e.maxAttempts,async lease(t){return e.workerStore.leaseRequests(t).map(r=>({id:r.messageId,attempt:r.attempt,message:r.request,ack:()=>e.workerStore.ackRequest(r.messageId,r.leaseToken),nack:n=>e.workerStore.nackRequest(r.messageId,r.leaseToken,n)}))},async handle(t){await e.handleRequest(t.args,t);},onError:e.onError}}function pe(e){return {id:e.id,pollIntervalMs:e.pollIntervalMs,visibilityMs:e.visibilityMs,concurrency:e.concurrency,maxAttempts:e.maxAttempts,async lease(t){return e.queueStorage.lease(t).map(r=>({id:r.id,attempt:r.attempt,message:r.body,ack:()=>e.queueStorage.ack(r.id,r.leaseToken),nack:n=>e.queueStorage.nack(r.id,r.leaseToken,n)}))},handle:e.handleMessage,onError:e.onError}}async function Oe(e,t){try{await e.handle(t.message,t),await t.ack();}catch(r){let n=t.attempt>=Math.max(1,Math.floor(e.maxAttempts??5));await t.nack({dead:n,reason:r instanceof Error?r.message:String(r)}),e.onError?.(r,t);}}function Qe(e){let t=Math.max(1,Math.floor(e.pollIntervalMs??250)),r=Math.max(1,Math.floor(e.visibilityMs??6e4)),n=Math.max(1,Math.floor(e.concurrency??1)),o=false,s=false;async function u(){if(!(o||s)){s=true;try{let g=await e.lease({max:n,visibilityMs:r});for(let i of g)await Oe(e,i);}finally{s=false;}}}let l=setInterval(()=>{u();},t);return typeof l.unref=="function"&&l.unref(),u(),()=>{o=true,clearInterval(l);}}async function bt(e){let t=Math.max(1,Math.floor(e.visibilityMs??6e4)),r=Math.max(1,Math.floor(e.concurrency??1)),n=await e.lease({max:r,visibilityMs:t});for(let o of n)await Oe(e,o);return n.length}async function ee(e,t){let r=Math.max(1,Math.floor(t?.maxPasses??256)),n=0;for(let o=0;o<r;o+=1){let s=await bt(e);if(n+=s,s<=0)return n}throw new Error(`drainQueueLaneToIdle exceeded ${r} passes for lane "${e.id}"`)}function At(e){let r=(Array.isArray(e)?e:e.lanes).map(n=>Qe(n));return ()=>{for(let n of r)n();}}var Tt=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('board-live-cards-node.cjs', document.baseURI).href)));function Bt(e){return typeof e=="object"?e:chunkSFVO2LB2_cjs.b(e)}function Ne(e){let t=y__namespace.basename(String(e||"").trim());if(!t)throw new Error(`resolveYamlFlowCliPath: expected non-empty cli file name, got ${JSON.stringify(e)}`);let r=y__namespace.dirname(Tt.resolve("yaml-flow/package.json")),n=t.replace(/\.[^.]+$/,""),o=y__namespace.join(r,"cli","bundled",`${n}.mjs`);if(a__namespace.existsSync(o))return o;let s=y__namespace.join(r,"cli","node",t);if(a__namespace.existsSync(s))return s;throw new Error(`resolveYamlFlowCliPath: could not find ${t} under cli/bundled or cli/node in ${r}`)}function $(e){let t=Bt(e);return t.kind==="yaml-flow-cli"?Ne(t.value):t.value}function It(e,t){let r=$(e);switch(r){case "source-cli-task-executor":{let n=y__namespace.join(t,"source-cli-task-executor.js");if(a__namespace.existsSync(n))return {command:process.execPath,args:[n]};let o=y__namespace.join(t,"source-cli-task-executor.ts"),s=y__namespace.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),u=y__namespace.join(t,"..","..","node_modules",".bin","tsx"),l=a__namespace.existsSync(s)?s:u;return a__namespace.existsSync(o)&&a__namespace.existsSync(l)?{command:process.execPath,args:[l,o]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:o}=$e(t,"_",[]);return {command:n,args:o}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function Ct(e,t){if(e.howToRun==="built-in"){let{command:n,args:o}=It(e.whatToRun,t);return {command:n,baseArgs:o}}let r=(typeof e.whatToRun=="object",$(e.whatToRun));switch(e.howToRun){case "local-node":return {command:process.execPath,baseArgs:[r]};case "local-python":return {command:process.platform==="win32"?"python":"python3",baseArgs:[r]};case "local-process":return {command:r,baseArgs:[]};default:throw new Error(`resolveBaseInvocation: howToRun "${e.howToRun}" is not a local transport`)}}function te(e,t){return Ct(e,t)}var ge=new Map;function Ft(e,t){let r=String(e||"").trim();if(!r)throw new Error("registerInProcessExecutionHandler: key is required");ge.set(r,t);}function Mt(e){let t=String(e||"").trim();t&&ge.delete(t);}function _e(e){let t=e.trim();if(!t)throw new Error("empty stdout");try{return JSON.parse(t)}catch{let r=t.split(/\r?\n/).filter(Boolean),n=r[r.length-1];return JSON.parse(n)}}function Je(e,t){return {...t,whatToRun:$(e.whatToRun),...e.extra?{extra:e.extra}:{}}}function me(e,t,r="invokeExecutionRef"){return chunkPMUSJQSR_cjs.a(e,t,r)}function De(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.result=="string"&&e.data&&typeof e.data=="object"&&!Array.isArray(e.data))return {...e,...t||{}};if(e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.status=="string"){let n=e,o=n.status==="success"?"success":n.status==="fail"?"failure":n.status,s=n.data&&typeof n.data=="object"&&!Array.isArray(n.data)?n.data:n.data===void 0?{}:{stdout:n.data};return {result:o,data:s,...typeof n.error=="string"?{error:n.error}:{},...t||{}}}return {result:"success",data:e&&typeof e=="object"&&!Array.isArray(e)?e:{stdout:e},...t||{}}}function j(e){return {result:"failure",data:{error:e}}}function q(e,t,r){let n=r?.label??"invokeExecutionRefSync",o=r?.cliDir??r?.cwd??process.cwd(),s;try{s=me(e.argsMassaging,Je(e,t),n);}catch(d){let f=d instanceof Error?d.message:String(d);return j(f)}let u;try{u=te(e,o);}catch(d){let f=d instanceof Error?d.message:String(d);return j(`[${n}] ref resolution failed: ${f}`)}let l=[...u.baseArgs,...s.cmdArgs??[]],g=JSON.stringify(s.stdin??t),i=qe(),c;try{c=i.executeSync(u.command,l,{timeout:r?.timeoutMs??3e4,encoding:"utf-8",cwd:r?.cwd,input:g});}catch(d){let f=d,m=(f.stderr?String(f.stderr):"").trim(),S=typeof f.status=="number"?f.status:"unknown",h=m||f.message;return j(`[${n}] ref exited with status ${S}${h?`: ${h}`:""}`)}try{return De(_e(c))}catch{return {result:"success",data:{stdout:c.trim()}}}}async function We(e,t,r){let n=r?.label??"invokeExecutionRef",o;try{o=me(e.argsMassaging,Je(e,t),n);}catch(d){let f=d instanceof Error?d.message:String(d);return j(f)}let s=$(e.whatToRun),u=o.headers?{"Content-Type":"application/json",...o.headers}:{"Content-Type":"application/json"},l=o.url??s,g;if(e.howToRun==="http:get"){let d=o.body&&typeof o.body=="object"&&!Array.isArray(o.body)?o.body:t,f=new URLSearchParams(Object.entries(d).filter(([,m])=>m!=null).map(([m,S])=>[m,String(S)]));f.size>0&&(l=`${l}${l.includes("?")?"&":"?"}${f.toString()}`);}else g=JSON.stringify(o.body??t);let i={method:e.howToRun==="http:get"?"GET":"POST",headers:u,body:g},c=0;for(;;)try{let d=await fetch(l,i);if(!d.ok){let h=await d.text().catch(()=>"");return j(`[${n}] HTTP ${d.status}${h?`: ${h}`:""}`)}let f={};d.headers.forEach((h,k)=>{f[k]=h;});let m=new Uint8Array(await d.arrayBuffer());if(m.byteLength===0)return {result:"success",data:{},headers:f};let S=new TextDecoder().decode(m);try{return De(_e(S),{headers:f})}catch{return {result:"success",data:{stdout:S},headers:f}}}catch(d){let f=d?.cause,m=f&&typeof f=="object"&&"code"in f?String(f.code||""):"";if((m==="ECONNRESET"||m==="UND_ERR_SOCKET")&&c===0){c+=1;continue}let h=d instanceof Error?d.message:String(d),k=f instanceof Error?`${f.name}: ${f.message}${m?` [${m}]`:""}`:f?String(f):"",p=o.url??s??"",x=`${h}${k?` (cause: ${k})`:""}${p?` url=${p}`:""}`;return j(`[${n}] ${x}`)}}async function jt(e,t,r){let n=r?.label??"invokeExecutionRef",o=$(e.whatToRun).trim();if(!o)return j(`[${n}] in-process-loop requires a non-empty handler key`);let s=ge.get(o);if(!s)return j(`[${n}] no in-process handler registered for: ${o}`);try{return await s(e,t,r)}catch(u){let l=u instanceof Error?u.message:String(u);return j(`[${n}] ${l}`)}}var $t={"local-node":async(e,t,r)=>q(e,t,r),"local-python":async(e,t,r)=>q(e,t,r),"local-process":async(e,t,r)=>q(e,t,r),"built-in":async(e,t,r)=>q(e,t,r),"http:post":We,"http:get":We,"in-process-loop":jt},Pt={"local-node":q,"local-python":q,"local-process":q,"built-in":q};async function D(e,t,r){let n=r?.transports?.[e.howToRun]??$t[e.howToRun];return n?n(e,t,r):j(`[${r?.label??"invokeExecutionRef"}] unsupported howToRun: ${e.howToRun}`)}function ye(e,t,r){let n=r?.syncTransports?.[e.howToRun]??Pt[e.howToRun];return n?n(e,t,r):j(`[${r?.label??"invokeExecutionRefSync"}] unsupported sync howToRun: ${e.howToRun}`)}function Lt(e){return {invoke(t,r){return D(t,r,e)},invokeSync(t,r){return ye(t,r,e)}}}function qt(e,t,r){return ye(e,t,r)}function he(e){return {messageId:e.id,enqueuedAt:e.enqueuedAt,attempt:e.attempt,request:e.body}}function Ot(e){return {...he(e),leaseToken:e.leaseToken,leaseExpiresAt:e.leaseExpiresAt}}function Qt(e){return {...he(e),reason:e.reason}}function H(e){return {enqueueRequest(t){return e.enqueue(t).id},enqueueRequestIfAbsent:e.enqueueIfAbsent?(t,r)=>{let n=e.enqueueIfAbsent(t,r);return n?n.id:null}:void 0,leaseRequests(t){return e.lease(t).map(Ot)},ackRequest(t,r){return e.ack(t,r)},nackRequest(t,r,n){return e.nack(t,r,n)},peekActive(){return e.peekActive().map(he)},peekDeadLetter(){return e.peekDeadLetter().map(Qt)}}}function C(e,t){if(process.platform!=="win32"){a__namespace.renameSync(e,t);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{a__namespace.renameSync(e,t);return}catch(o){let s=o.code;if((s==="EPERM"||s==="EBUSY")&&n<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[n]);continue}throw o}}function U(e){function t(o){return y__namespace.join(e,...o.split("/"))}function r(o){return y__namespace.relative(e,o).replace(/\\/g,"/")}function n(o,s){if(a__namespace.existsSync(o))for(let u of a__namespace.readdirSync(o,{withFileTypes:true})){let l=y__namespace.join(o,u.name);if(u.isDirectory()){n(l,s);continue}u.isFile()&&s.push(r(l));}}return {read(o){let s=t(o);if(!a__namespace.existsSync(s))return null;try{return a__namespace.readFileSync(s,"utf-8")}catch{return null}},write(o,s){let u=t(o),l=`${u}.${process.pid}.${crypto.randomUUID()}.tmp`;a__namespace.mkdirSync(y__namespace.dirname(u),{recursive:true}),a__namespace.writeFileSync(l,s,"utf-8"),C(l,u);},exists(o){return a__namespace.existsSync(t(o))},remove(o){let s=t(o);try{a__namespace.existsSync(s)&&a__namespace.unlinkSync(s);}catch{}},readBytes(o){let s=t(o);if(!a__namespace.existsSync(s))return null;try{return new Uint8Array(a__namespace.readFileSync(s))}catch{return null}},writeBytes(o,s){let u=t(o),l=`${u}.${process.pid}.${crypto.randomUUID()}.tmp`;a__namespace.mkdirSync(y__namespace.dirname(u),{recursive:true}),a__namespace.writeFileSync(l,Buffer.from(s)),C(l,u);},listKeys(o){let s=[];n(e,s);let u=s.sort();return o?u.filter(l=>l.startsWith(o)):u},stat(o){let s=t(o);if(!a__namespace.existsSync(s))return null;try{let u=a__namespace.statSync(s);return {key:o,size:Number(u.size||0),updatedAt:new Date(u.mtimeMs).toISOString()}}catch{return null}},keyRef(o){return {kind:"fs-path",value:t(o)}}}}function we(){return {read(e){if(!a__namespace.existsSync(e))return null;try{return a__namespace.readFileSync(e,"utf-8")}catch{return null}},write(e,t){let r=`${e}.${process.pid}.${crypto.randomUUID()}.tmp`;a__namespace.mkdirSync(y__namespace.dirname(e),{recursive:true}),a__namespace.writeFileSync(r,t,"utf-8"),C(r,e);},exists(e){return a__namespace.existsSync(e)},remove(e){try{a__namespace.existsSync(e)&&a__namespace.unlinkSync(e);}catch{}},readBytes(e){if(!a__namespace.existsSync(e))return null;try{return new Uint8Array(a__namespace.readFileSync(e))}catch{return null}},writeBytes(e,t){let r=`${e}.${process.pid}.${crypto.randomUUID()}.tmp`;a__namespace.mkdirSync(y__namespace.dirname(e),{recursive:true}),a__namespace.writeFileSync(r,Buffer.from(t)),C(r,e);},stat(e){if(!a__namespace.existsSync(e))return null;try{let t=a__namespace.statSync(e);return {key:e,size:Number(t.size||0),updatedAt:new Date(t.mtimeMs).toISOString()}}catch{return null}},listKeys(e){return []}}}function K(e,t){let r=`${e}.${process.pid}.${crypto.randomUUID()}.tmp`;a__namespace.mkdirSync(y__namespace.dirname(e),{recursive:true}),a__namespace.writeFileSync(r,JSON.stringify(t,null,2),"utf-8"),C(r,e);}function N(e){if(!a__namespace.existsSync(e))return null;try{return JSON.parse(a__namespace.readFileSync(e,"utf-8"))}catch{return null}}function V(e){return a__namespace.existsSync(e)?a__namespace.readdirSync(e).filter(t=>t.endsWith(".json")).sort().map(t=>y__namespace.join(e,t)):[]}function z(e){return {id:e.id,body:e.body,enqueuedAt:e.enqueuedAt,attempt:e.attempt}}function _t(e){return {...z(e),leaseToken:String(e.leaseToken||""),leaseExpiresAt:String(e.leaseExpiresAt||"")}}function Jt(e){return {...z(e),reason:e.reason}}function _(e){let t=y__namespace.join(e,"active"),r=y__namespace.join(e,"leased"),n=y__namespace.join(e,"done"),o=y__namespace.join(e,"dead");for(let c of [t,r,n,o])a__namespace.mkdirSync(c,{recursive:true});function s(c){let d=String(c.enqueuedAt||new Date().toISOString()).replace(/[:.]/g,"-");return y__namespace.join(t,`${d}-${c.id}.json`)}function u(c){return y__namespace.join(r,`${c}.json`)}function l(c){return y__namespace.join(n,`${c}.json`)}function g(c){return y__namespace.join(o,`${c}.json`)}function i(){let c=Date.now();for(let d of V(r)){let f=N(d);if(!f?.leaseExpiresAt)continue;let m=Date.parse(f.leaseExpiresAt);if(Number.isNaN(m)||m>c)continue;let S={id:f.id,body:f.body,enqueuedAt:f.enqueuedAt,attempt:f.attempt};K(s(S),S);try{a__namespace.unlinkSync(d);}catch{}}}return {enqueue(c){let d={id:crypto.randomUUID(),body:c,enqueuedAt:new Date().toISOString(),attempt:0};return K(s(d),d),z(d)},enqueueIfAbsent(c,d){i();for(let m of [t,r])for(let S of V(m))if(N(S)?.dedupKey===d)return null;let f={id:crypto.randomUUID(),body:c,enqueuedAt:new Date().toISOString(),attempt:0,dedupKey:d};return K(s(f),f),z(f)},lease(c){i();let d=Math.max(1,Math.floor(c?.max??1)),f=Math.max(1,Math.floor(c?.visibilityMs??6e4)),m=[];for(let S of V(t)){if(m.length>=d)break;let h=N(S);if(!h)continue;let k=u(h.id);try{C(S,k);}catch{continue}let p={...h,attempt:(Number(h.attempt)||0)+1,leaseToken:crypto.randomUUID(),leaseExpiresAt:new Date(Date.now()+f).toISOString()};K(k,p),m.push(_t(p));}return m},ack(c,d){let f=u(c),m=N(f);if(!m||m.leaseToken!==d)return false;try{C(f,l(c));}catch{return false}return true},nack(c,d,f){let m=u(c),S=N(m);if(!S||S.leaseToken!==d)return false;let h={id:S.id,body:S.body,enqueuedAt:S.enqueuedAt,attempt:S.attempt};f?.dead?(h.reason=f.reason,K(g(c),h)):K(s(h),h);try{a__namespace.unlinkSync(m);}catch{}return true},peekActive(c){return i(),V(t).map(d=>N(d)).filter(d=>!!d).map(z)},peekDeadLetter(c){return V(o).map(d=>N(d)).filter(d=>!!d).map(Jt)}}}var Se="__scratch-marker",Re="__scratch-config.json",Dt=1440*60*1e3,Ht=720*60*1e3,Kt=500;function He(e,t){if(!e)return t;let r=e.replace(/[^A-Za-z0-9._-]/g,"_");return r.length>0?r:t}function G(e){a__namespace.mkdirSync(e,{recursive:true});let t=y__namespace.join(e,Se),r=y__namespace.join(e,Re),n=!a__namespace.existsSync(t);if(n)try{a__namespace.writeFileSync(t,`scratch-store
3
+ `,o=Z.get(e);if(o&&!o.socket.destroyed){o.ready?o.socket.write(n):o.queue.push(n);return}let s=vt(e),u=Te__namespace.createConnection(s);o={socket:u,ready:false,queue:[n]},Z.set(e,o),u.on("connect",()=>{o.ready=true;for(let l of o.queue)u.write(l);o.queue.length=0;}),u.on("error",l=>{r?.(`[named-pipe publish] ${s}: ${l instanceof Error?l.message:String(l)}`),Z.delete(e);}),u.on("close",()=>{Z.delete(e);});}function Le(){return {executeSync(e,t,r){return je({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(e,t,r){wt({command:e,args:t},r);},resolveInvocation(e,t){let r=kt({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:Me}}function fe(e){return {id:e.id??"board-worker",pollIntervalMs:e.pollIntervalMs,visibilityMs:e.visibilityMs,concurrency:e.concurrency,maxAttempts:e.maxAttempts,async lease(t){return e.workerStore.leaseRequests(t).map(r=>({id:r.messageId,attempt:r.attempt,message:r.request,ack:()=>e.workerStore.ackRequest(r.messageId,r.leaseToken),nack:n=>e.workerStore.nackRequest(r.messageId,r.leaseToken,n)}))},async handle(t){await e.handleRequest(t.args,t);},onError:e.onError}}function pe(e){return {id:e.id,pollIntervalMs:e.pollIntervalMs,visibilityMs:e.visibilityMs,concurrency:e.concurrency,maxAttempts:e.maxAttempts,async lease(t){return e.queueStorage.lease(t).map(r=>({id:r.id,attempt:r.attempt,message:r.body,ack:()=>e.queueStorage.ack(r.id,r.leaseToken),nack:n=>e.queueStorage.nack(r.id,r.leaseToken,n)}))},handle:e.handleMessage,onError:e.onError}}async function Qe(e,t){try{await e.handle(t.message,t),await t.ack();}catch(r){let n=t.attempt>=Math.max(1,Math.floor(e.maxAttempts??5));await t.nack({dead:n,reason:r instanceof Error?r.message:String(r)}),e.onError?.(r,t);}}function Oe(e){let t=Math.max(1,Math.floor(e.pollIntervalMs??250)),r=Math.max(1,Math.floor(e.visibilityMs??6e4)),n=Math.max(1,Math.floor(e.concurrency??1)),o=false,s=false;async function u(){if(!(o||s)){s=true;try{let g=await e.lease({max:n,visibilityMs:r});for(let a of g)await Qe(e,a);}finally{s=false;}}}let l=setInterval(()=>{u();},t);return typeof l.unref=="function"&&l.unref(),u(),()=>{o=true,clearInterval(l);}}async function bt(e){let t=Math.max(1,Math.floor(e.visibilityMs??6e4)),r=Math.max(1,Math.floor(e.concurrency??1)),n=await e.lease({max:r,visibilityMs:t});for(let o of n)await Qe(e,o);return n.length}async function ee(e,t){let r=Math.max(1,Math.floor(t?.maxPasses??256)),n=0;for(let o=0;o<r;o+=1){let s=await bt(e);if(n+=s,s<=0)return n}throw new Error(`drainQueueLaneToIdle exceeded ${r} passes for lane "${e.id}"`)}function At(e){let r=(Array.isArray(e)?e:e.lanes).map(n=>Oe(n));return ()=>{for(let n of r)n();}}var Tt=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('board-live-cards-node.cjs', document.baseURI).href)));function Bt(e){return typeof e=="object"?e:chunkSFVO2LB2_cjs.b(e)}function _e(e){let t=y__namespace.basename(String(e||"").trim());if(!t)throw new Error(`resolveYamlFlowCliPath: expected non-empty cli file name, got ${JSON.stringify(e)}`);let r=y__namespace.dirname(Tt.resolve("yaml-flow/package.json")),n=t.replace(/\.[^.]+$/,""),o=y__namespace.join(r,"cli","bundled",`${n}.mjs`);if(i__namespace.existsSync(o))return o;let s=y__namespace.join(r,"cli","node",t);if(i__namespace.existsSync(s))return s;throw new Error(`resolveYamlFlowCliPath: could not find ${t} under cli/bundled or cli/node in ${r}`)}function $(e){let t=Bt(e);return t.kind==="yaml-flow-cli"?_e(t.value):t.value}function It(e,t){let r=$(e);switch(r){case "source-cli-task-executor":{let n=y__namespace.join(t,"source-cli-task-executor.js");if(i__namespace.existsSync(n))return {command:process.execPath,args:[n]};let o=y__namespace.join(t,"source-cli-task-executor.ts"),s=y__namespace.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),u=y__namespace.join(t,"..","..","node_modules",".bin","tsx"),l=i__namespace.existsSync(s)?s:u;return i__namespace.existsSync(o)&&i__namespace.existsSync(l)?{command:process.execPath,args:[l,o]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:o}=$e(t,"_",[]);return {command:n,args:o}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function Ct(e,t){if(e.howToRun==="built-in"){let{command:n,args:o}=It(e.whatToRun,t);return {command:n,baseArgs:o}}let r=(typeof e.whatToRun=="object",$(e.whatToRun));switch(e.howToRun){case "local-node":return {command:process.execPath,baseArgs:[r]};case "local-python":return {command:process.platform==="win32"?"python":"python3",baseArgs:[r]};case "local-process":return {command:r,baseArgs:[]};default:throw new Error(`resolveBaseInvocation: howToRun "${e.howToRun}" is not a local transport`)}}function te(e,t){return Ct(e,t)}var ge=new Map;function Mt(e,t){let r=String(e||"").trim();if(!r)throw new Error("registerInProcessExecutionHandler: key is required");ge.set(r,t);}function Ft(e){let t=String(e||"").trim();t&&ge.delete(t);}function Ne(e){let t=e.trim();if(!t)throw new Error("empty stdout");try{return JSON.parse(t)}catch{let r=t.split(/\r?\n/).filter(Boolean),n=r[r.length-1];return JSON.parse(n)}}function Je(e,t){return {...t,whatToRun:$(e.whatToRun),...e.extra?{extra:e.extra}:{}}}function me(e,t,r="invokeExecutionRef"){return chunkPMUSJQSR_cjs.a(e,t,r)}function De(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.result=="string"&&e.data&&typeof e.data=="object"&&!Array.isArray(e.data))return {...e,...t||{}};if(e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.status=="string"){let n=e,o=n.status==="success"?"success":n.status==="fail"?"failure":n.status,s=n.data&&typeof n.data=="object"&&!Array.isArray(n.data)?n.data:n.data===void 0?{}:{stdout:n.data};return {result:o,data:s,...typeof n.error=="string"?{error:n.error}:{},...t||{}}}return {result:"success",data:e&&typeof e=="object"&&!Array.isArray(e)?e:{stdout:e},...t||{}}}function j(e){return {result:"failure",data:{error:e}}}function L(e,t,r){let n=r?.label??"invokeExecutionRefSync",o=r?.cliDir??r?.cwd??process.cwd(),s;try{s=me(e.argsMassaging,Je(e,t),n);}catch(d){let f=d instanceof Error?d.message:String(d);return j(f)}let u;try{u=te(e,o);}catch(d){let f=d instanceof Error?d.message:String(d);return j(`[${n}] ref resolution failed: ${f}`)}let l=[...u.baseArgs,...s.cmdArgs??[]],g=JSON.stringify(s.stdin??t),a=Le(),c;try{c=a.executeSync(u.command,l,{timeout:r?.timeoutMs??3e4,encoding:"utf-8",cwd:r?.cwd,input:g});}catch(d){let f=d,m=(f.stderr?String(f.stderr):"").trim(),S=typeof f.status=="number"?f.status:"unknown",h=m||f.message;return j(`[${n}] ref exited with status ${S}${h?`: ${h}`:""}`)}try{return De(Ne(c))}catch{return {result:"success",data:{stdout:c.trim()}}}}async function We(e,t,r){let n=r?.label??"invokeExecutionRef",o;try{o=me(e.argsMassaging,Je(e,t),n);}catch(d){let f=d instanceof Error?d.message:String(d);return j(f)}let s=$(e.whatToRun),u=o.headers?{"Content-Type":"application/json",...o.headers}:{"Content-Type":"application/json"},l=o.url??s,g;if(e.howToRun==="http:get"){let d=o.body&&typeof o.body=="object"&&!Array.isArray(o.body)?o.body:t,f=new URLSearchParams(Object.entries(d).filter(([,m])=>m!=null).map(([m,S])=>[m,String(S)]));f.size>0&&(l=`${l}${l.includes("?")?"&":"?"}${f.toString()}`);}else g=JSON.stringify(o.body??t);let a={method:e.howToRun==="http:get"?"GET":"POST",headers:u,body:g},c=0;for(;;)try{let d=await fetch(l,a);if(!d.ok){let h=await d.text().catch(()=>"");return j(`[${n}] HTTP ${d.status}${h?`: ${h}`:""}`)}let f={};d.headers.forEach((h,w)=>{f[w]=h;});let m=new Uint8Array(await d.arrayBuffer());if(m.byteLength===0)return {result:"success",data:{},headers:f};let S=new TextDecoder().decode(m);try{return De(Ne(S),{headers:f})}catch{return {result:"success",data:{stdout:S},headers:f}}}catch(d){let f=d?.cause,m=f&&typeof f=="object"&&"code"in f?String(f.code||""):"";if((m==="ECONNRESET"||m==="UND_ERR_SOCKET")&&c===0){c+=1;continue}let h=d instanceof Error?d.message:String(d),w=f instanceof Error?`${f.name}: ${f.message}${m?` [${m}]`:""}`:f?String(f):"",p=o.url??s??"",x=`${h}${w?` (cause: ${w})`:""}${p?` url=${p}`:""}`;return j(`[${n}] ${x}`)}}async function jt(e,t,r){let n=r?.label??"invokeExecutionRef",o=$(e.whatToRun).trim();if(!o)return j(`[${n}] in-process-loop requires a non-empty handler key`);let s=ge.get(o);if(!s)return j(`[${n}] no in-process handler registered for: ${o}`);try{return await s(e,t,r)}catch(u){let l=u instanceof Error?u.message:String(u);return j(`[${n}] ${l}`)}}var $t={"local-node":async(e,t,r)=>L(e,t,r),"local-python":async(e,t,r)=>L(e,t,r),"local-process":async(e,t,r)=>L(e,t,r),"built-in":async(e,t,r)=>L(e,t,r),"http:post":We,"http:get":We,"in-process-loop":jt},Pt={"local-node":L,"local-python":L,"local-process":L,"built-in":L};async function D(e,t,r){let n=r?.transports?.[e.howToRun]??$t[e.howToRun];return n?n(e,t,r):j(`[${r?.label??"invokeExecutionRef"}] unsupported howToRun: ${e.howToRun}`)}function ye(e,t,r){let n=r?.syncTransports?.[e.howToRun]??Pt[e.howToRun];return n?n(e,t,r):j(`[${r?.label??"invokeExecutionRefSync"}] unsupported sync howToRun: ${e.howToRun}`)}function qt(e){return {invoke(t,r){return D(t,r,e)},invokeSync(t,r){return ye(t,r,e)}}}function Lt(e,t,r){return ye(e,t,r)}function he(e){return {messageId:e.id,enqueuedAt:e.enqueuedAt,attempt:e.attempt,request:e.body}}function Qt(e){return {...he(e),leaseToken:e.leaseToken,leaseExpiresAt:e.leaseExpiresAt}}function Ot(e){return {...he(e),reason:e.reason}}function H(e){return {enqueueRequest(t){return e.enqueue(t).id},enqueueRequestIfAbsent:e.enqueueIfAbsent?(t,r)=>{let n=e.enqueueIfAbsent(t,r);return n?n.id:null}:void 0,leaseRequests(t){return e.lease(t).map(Qt)},ackRequest(t,r){return e.ack(t,r)},nackRequest(t,r,n){return e.nack(t,r,n)},peekActive(){return e.peekActive().map(he)},peekDeadLetter(){return e.peekDeadLetter().map(Ot)}}}function C(e,t){if(process.platform!=="win32"){i__namespace.renameSync(e,t);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{i__namespace.renameSync(e,t);return}catch(o){let s=o.code;if((s==="EPERM"||s==="EBUSY")&&n<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[n]);continue}throw o}}function U(e){function t(o){return y__namespace.join(e,...o.split("/"))}function r(o){return y__namespace.relative(e,o).replace(/\\/g,"/")}function n(o,s){if(i__namespace.existsSync(o))for(let u of i__namespace.readdirSync(o,{withFileTypes:true})){let l=y__namespace.join(o,u.name);if(u.isDirectory()){n(l,s);continue}u.isFile()&&s.push(r(l));}}return {read(o){let s=t(o);if(!i__namespace.existsSync(s))return null;try{return i__namespace.readFileSync(s,"utf-8")}catch{return null}},write(o,s){let u=t(o),l=`${u}.${process.pid}.${crypto.randomUUID()}.tmp`;i__namespace.mkdirSync(y__namespace.dirname(u),{recursive:true}),i__namespace.writeFileSync(l,s,"utf-8"),C(l,u);},exists(o){return i__namespace.existsSync(t(o))},remove(o){let s=t(o);try{i__namespace.existsSync(s)&&i__namespace.unlinkSync(s);}catch{}},readBytes(o){let s=t(o);if(!i__namespace.existsSync(s))return null;try{return new Uint8Array(i__namespace.readFileSync(s))}catch{return null}},writeBytes(o,s){let u=t(o),l=`${u}.${process.pid}.${crypto.randomUUID()}.tmp`;i__namespace.mkdirSync(y__namespace.dirname(u),{recursive:true}),i__namespace.writeFileSync(l,Buffer.from(s)),C(l,u);},listKeys(o){let s=[];n(e,s);let u=s.sort();return o?u.filter(l=>l.startsWith(o)):u},stat(o){let s=t(o);if(!i__namespace.existsSync(s))return null;try{let u=i__namespace.statSync(s);return {key:o,size:Number(u.size||0),updatedAt:new Date(u.mtimeMs).toISOString()}}catch{return null}},keyRef(o){return {kind:"fs-path",value:t(o)}}}}function ke(){return {read(e){if(!i__namespace.existsSync(e))return null;try{return i__namespace.readFileSync(e,"utf-8")}catch{return null}},write(e,t){let r=`${e}.${process.pid}.${crypto.randomUUID()}.tmp`;i__namespace.mkdirSync(y__namespace.dirname(e),{recursive:true}),i__namespace.writeFileSync(r,t,"utf-8"),C(r,e);},exists(e){return i__namespace.existsSync(e)},remove(e){try{i__namespace.existsSync(e)&&i__namespace.unlinkSync(e);}catch{}},readBytes(e){if(!i__namespace.existsSync(e))return null;try{return new Uint8Array(i__namespace.readFileSync(e))}catch{return null}},writeBytes(e,t){let r=`${e}.${process.pid}.${crypto.randomUUID()}.tmp`;i__namespace.mkdirSync(y__namespace.dirname(e),{recursive:true}),i__namespace.writeFileSync(r,Buffer.from(t)),C(r,e);},stat(e){if(!i__namespace.existsSync(e))return null;try{let t=i__namespace.statSync(e);return {key:e,size:Number(t.size||0),updatedAt:new Date(t.mtimeMs).toISOString()}}catch{return null}},listKeys(e){return []}}}function K(e,t){let r=`${e}.${process.pid}.${crypto.randomUUID()}.tmp`;i__namespace.mkdirSync(y__namespace.dirname(e),{recursive:true}),i__namespace.writeFileSync(r,JSON.stringify(t,null,2),"utf-8"),C(r,e);}function _(e){if(!i__namespace.existsSync(e))return null;try{return JSON.parse(i__namespace.readFileSync(e,"utf-8"))}catch{return null}}function V(e){return i__namespace.existsSync(e)?i__namespace.readdirSync(e).filter(t=>t.endsWith(".json")).sort().map(t=>y__namespace.join(e,t)):[]}function z(e){return {id:e.id,body:e.body,enqueuedAt:e.enqueuedAt,attempt:e.attempt}}function Nt(e){return {...z(e),leaseToken:String(e.leaseToken||""),leaseExpiresAt:String(e.leaseExpiresAt||"")}}function Jt(e){return {...z(e),reason:e.reason}}function N(e){let t=y__namespace.join(e,"active"),r=y__namespace.join(e,"leased"),n=y__namespace.join(e,"done"),o=y__namespace.join(e,"dead");for(let c of [t,r,n,o])i__namespace.mkdirSync(c,{recursive:true});function s(c){let d=String(c.enqueuedAt||new Date().toISOString()).replace(/[:.]/g,"-");return y__namespace.join(t,`${d}-${c.id}.json`)}function u(c){return y__namespace.join(r,`${c}.json`)}function l(c){return y__namespace.join(n,`${c}.json`)}function g(c){return y__namespace.join(o,`${c}.json`)}function a(){let c=Date.now();for(let d of V(r)){let f=_(d);if(!f?.leaseExpiresAt)continue;let m=Date.parse(f.leaseExpiresAt);if(Number.isNaN(m)||m>c)continue;let S={id:f.id,body:f.body,enqueuedAt:f.enqueuedAt,attempt:f.attempt};K(s(S),S);try{i__namespace.unlinkSync(d);}catch{}}}return {enqueue(c){let d={id:crypto.randomUUID(),body:c,enqueuedAt:new Date().toISOString(),attempt:0};return K(s(d),d),z(d)},enqueueIfAbsent(c,d){a();for(let m of [t,r])for(let S of V(m))if(_(S)?.dedupKey===d)return null;let f={id:crypto.randomUUID(),body:c,enqueuedAt:new Date().toISOString(),attempt:0,dedupKey:d};return K(s(f),f),z(f)},lease(c){a();let d=Math.max(1,Math.floor(c?.max??1)),f=Math.max(1,Math.floor(c?.visibilityMs??6e4)),m=[];for(let S of V(t)){if(m.length>=d)break;let h=_(S);if(!h)continue;let w=u(h.id);try{C(S,w);}catch{continue}let p={...h,attempt:(Number(h.attempt)||0)+1,leaseToken:crypto.randomUUID(),leaseExpiresAt:new Date(Date.now()+f).toISOString()};K(w,p),m.push(Nt(p));}return m},ack(c,d){let f=u(c),m=_(f);if(!m||m.leaseToken!==d)return false;try{C(f,l(c));}catch{return false}return true},nack(c,d,f){let m=u(c),S=_(m);if(!S||S.leaseToken!==d)return false;let h={id:S.id,body:S.body,enqueuedAt:S.enqueuedAt,attempt:S.attempt};f?.dead?(h.reason=f.reason,K(g(c),h)):K(s(h),h);try{i__namespace.unlinkSync(m);}catch{}return true},peekActive(c){return a(),V(t).map(d=>_(d)).filter(d=>!!d).map(z)},peekDeadLetter(c){return V(o).map(d=>_(d)).filter(d=>!!d).map(Jt)}}}var Se="__scratch-marker",Re="__scratch-config.json",Dt=1440*60*1e3,Ht=720*60*1e3,Kt=500;function He(e,t){if(!e)return t;let r=e.replace(/[^A-Za-z0-9._-]/g,"_");return r.length>0?r:t}function G(e){i__namespace.mkdirSync(e,{recursive:true});let t=y__namespace.join(e,Se),r=y__namespace.join(e,Re),n=!i__namespace.existsSync(t);if(n)try{i__namespace.writeFileSync(t,`scratch-store
4
4
  ${new Date().toISOString()}
5
- `,"utf-8");}catch{}function o(){if(!a__namespace.existsSync(r))return {};try{let i=a__namespace.readFileSync(r,"utf-8"),c=JSON.parse(i);return c&&typeof c=="object"&&!Array.isArray(c)?c:{}}catch{return {}}}function s(i){let c=`${r}.${process.pid}.${crypto.randomUUID()}.tmp`;try{a__namespace.writeFileSync(c,JSON.stringify(i,null,2),"utf-8"),C(c,r);}catch{}}if(n){let i=o();typeof i["retention.lastSweepAt"]!="number"&&(i["retention.lastSweepAt"]=Date.now(),s(i));}function u(){if(!a__namespace.existsSync(t))return;let i=o(),c=typeof i["retention.maxAgeMs"]=="number"?i["retention.maxAgeMs"]:Dt,d=typeof i["retention.sweepIntervalMs"]=="number"?i["retention.sweepIntervalMs"]:Ht;if(c<=0||d<=0)return;let f=typeof i["retention.lastSweepAt"]=="number"?i["retention.lastSweepAt"]:0,m=Date.now();if(m-f<d)return;i["retention.lastSweepAt"]=m,s(i);let S=m;try{let h=a__namespace.readdirSync(e,{withFileTypes:!0});for(let k of h){if(Date.now()-S>Kt)break;if(!k.isFile()||k.name===Se||k.name===Re)continue;let p=y__namespace.join(e,k.name);try{let x=a__namespace.statSync(p);if(m-x.mtimeMs>c)try{a__namespace.unlinkSync(p);}catch{}}catch{}}}catch{}}function l(i,c){let d=He(i,"scratch"),f=He(c,".json"),m=f.startsWith(".")?f:`.${f}`,S=`${d}-${Date.now()}-${crypto.randomUUID().slice(0,8)}${m}`;return y__namespace.join(e,S)}function g(i,c){let d=`${i}.${process.pid}.${crypto.randomUUID()}.tmp`;a__namespace.mkdirSync(y__namespace.dirname(i),{recursive:true}),a__namespace.writeFileSync(d,c,"utf-8"),C(d,i);}return {read(i){if(!a__namespace.existsSync(i))return null;try{return a__namespace.readFileSync(i,"utf-8")}catch{return null}},write(i,c){g(i,c);try{u();}catch{}},exists(i){return a__namespace.existsSync(i)},remove(i){try{a__namespace.existsSync(i)&&a__namespace.unlinkSync(i);}catch{}},readBytes(i){if(!a__namespace.existsSync(i))return null;try{return new Uint8Array(a__namespace.readFileSync(i))}catch{return null}},writeBytes(i,c){let d=`${i}.${process.pid}.${crypto.randomUUID()}.tmp`;a__namespace.mkdirSync(y__namespace.dirname(i),{recursive:true}),a__namespace.writeFileSync(d,Buffer.from(c)),C(d,i);try{u();}catch{}},stat(i){if(!a__namespace.existsSync(i))return null;try{let c=a__namespace.statSync(i);return {key:i,size:Number(c.size||0),updatedAt:new Date(c.mtimeMs).toISOString()}}catch{return null}},listKeys(i){try{let c=a__namespace.readdirSync(e,{withFileTypes:!0}),d=[];for(let f of c){if(!f.isFile()||f.name===Se||f.name===Re)continue;let m=y__namespace.join(e,f.name);(!i||m.startsWith(i))&&d.push(m);}return d.sort()}catch{return []}},getUniqueKey(i,c){return l(i,c)},create(i,c,d){let f=l(c,d);g(f,i);try{u();}catch{}return f},keyRef(i){return {kind:"fs-path",value:i}},config:{get(i){return o()[i]??null},set(i,c){let d=o();c==null?delete d[i]:d[i]=c,s(d);}}}}var Ut="__archive-marker",Vt="__archive-config.json",re="streams",ne="blobs",zt=500;function Ke(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"_");if(!t)throw new Error("Archive segment name cannot be empty after sanitization");return t}function oe(e){a__namespace.mkdirSync(e,{recursive:true}),a__namespace.mkdirSync(y__namespace.join(e,re),{recursive:true}),a__namespace.mkdirSync(y__namespace.join(e,ne),{recursive:true});let t=y__namespace.join(e,Ut),r=y__namespace.join(e,Vt);if(!a__namespace.existsSync(t))try{a__namespace.writeFileSync(t,`archive-store
5
+ `,"utf-8");}catch{}function o(){if(!i__namespace.existsSync(r))return {};try{let a=i__namespace.readFileSync(r,"utf-8"),c=JSON.parse(a);return c&&typeof c=="object"&&!Array.isArray(c)?c:{}}catch{return {}}}function s(a){let c=`${r}.${process.pid}.${crypto.randomUUID()}.tmp`;try{i__namespace.writeFileSync(c,JSON.stringify(a,null,2),"utf-8"),C(c,r);}catch{}}if(n){let a=o();typeof a["retention.lastSweepAt"]!="number"&&(a["retention.lastSweepAt"]=Date.now(),s(a));}function u(){if(!i__namespace.existsSync(t))return;let a=o(),c=typeof a["retention.maxAgeMs"]=="number"?a["retention.maxAgeMs"]:Dt,d=typeof a["retention.sweepIntervalMs"]=="number"?a["retention.sweepIntervalMs"]:Ht;if(c<=0||d<=0)return;let f=typeof a["retention.lastSweepAt"]=="number"?a["retention.lastSweepAt"]:0,m=Date.now();if(m-f<d)return;a["retention.lastSweepAt"]=m,s(a);let S=m;try{let h=i__namespace.readdirSync(e,{withFileTypes:!0});for(let w of h){if(Date.now()-S>Kt)break;if(!w.isFile()||w.name===Se||w.name===Re)continue;let p=y__namespace.join(e,w.name);try{let x=i__namespace.statSync(p);if(m-x.mtimeMs>c)try{i__namespace.unlinkSync(p);}catch{}}catch{}}}catch{}}function l(a,c){let d=He(a,"scratch"),f=He(c,".json"),m=f.startsWith(".")?f:`.${f}`,S=`${d}-${Date.now()}-${crypto.randomUUID().slice(0,8)}${m}`;return y__namespace.join(e,S)}function g(a,c){let d=`${a}.${process.pid}.${crypto.randomUUID()}.tmp`;i__namespace.mkdirSync(y__namespace.dirname(a),{recursive:true}),i__namespace.writeFileSync(d,c,"utf-8"),C(d,a);}return {read(a){if(!i__namespace.existsSync(a))return null;try{return i__namespace.readFileSync(a,"utf-8")}catch{return null}},write(a,c){g(a,c);try{u();}catch{}},exists(a){return i__namespace.existsSync(a)},remove(a){try{i__namespace.existsSync(a)&&i__namespace.unlinkSync(a);}catch{}},readBytes(a){if(!i__namespace.existsSync(a))return null;try{return new Uint8Array(i__namespace.readFileSync(a))}catch{return null}},writeBytes(a,c){let d=`${a}.${process.pid}.${crypto.randomUUID()}.tmp`;i__namespace.mkdirSync(y__namespace.dirname(a),{recursive:true}),i__namespace.writeFileSync(d,Buffer.from(c)),C(d,a);try{u();}catch{}},stat(a){if(!i__namespace.existsSync(a))return null;try{let c=i__namespace.statSync(a);return {key:a,size:Number(c.size||0),updatedAt:new Date(c.mtimeMs).toISOString()}}catch{return null}},listKeys(a){try{let c=i__namespace.readdirSync(e,{withFileTypes:!0}),d=[];for(let f of c){if(!f.isFile()||f.name===Se||f.name===Re)continue;let m=y__namespace.join(e,f.name);(!a||m.startsWith(a))&&d.push(m);}return d.sort()}catch{return []}},getUniqueKey(a,c){return l(a,c)},create(a,c,d){let f=l(c,d);g(f,a);try{u();}catch{}return f},keyRef(a){return {kind:"fs-path",value:a}},config:{get(a){return o()[a]??null},set(a,c){let d=o();c==null?delete d[a]:d[a]=c,s(d);}}}}var Ut="__archive-marker",Vt="__archive-config.json",re="streams",ne="blobs",zt=500;function Ke(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"_");if(!t)throw new Error("Archive segment name cannot be empty after sanitization");return t}function oe(e){i__namespace.mkdirSync(e,{recursive:true}),i__namespace.mkdirSync(y__namespace.join(e,re),{recursive:true}),i__namespace.mkdirSync(y__namespace.join(e,ne),{recursive:true});let t=y__namespace.join(e,Ut),r=y__namespace.join(e,Vt);if(!i__namespace.existsSync(t))try{i__namespace.writeFileSync(t,`archive-store
6
6
  ${new Date().toISOString()}
7
- `,"utf-8");}catch{}function n(){if(!a__namespace.existsSync(r))return {};try{let u=a__namespace.readFileSync(r,"utf-8"),l=JSON.parse(u);return l&&typeof l=="object"&&!Array.isArray(l)?l:{}}catch{return {}}}function o(u){let l=`${r}.${process.pid}.${crypto.randomUUID()}.tmp`;try{a__namespace.writeFileSync(l,JSON.stringify(u,null,2),"utf-8"),C(l,r);}catch{}}function s(){if(!a__namespace.existsSync(t))return;let u=n(),l=typeof u["retention.maxAgeMs"]=="number"?u["retention.maxAgeMs"]:0,g=typeof u["retention.sweepIntervalMs"]=="number"?u["retention.sweepIntervalMs"]:0;if(l<=0||g<=0)return;let i=typeof u["retention.lastSweepAt"]=="number"?u["retention.lastSweepAt"]:0,c=Date.now();if(c-i<g)return;u["retention.lastSweepAt"]=c,o(u);let d=c,f=m=>{let S;try{S=a__namespace.readdirSync(m,{withFileTypes:!0});}catch{return}for(let h of S){if(Date.now()-d>zt)return;let k=y__namespace.join(m,h.name);if(h.isDirectory()){f(k);continue}if(h.isFile())try{let p=a__namespace.statSync(k);if(c-p.mtimeMs>l)try{a__namespace.unlinkSync(k);}catch{}}catch{}}};f(y__namespace.join(e,re)),f(y__namespace.join(e,ne));}return {stream(u){let l=Ke(u),g=y__namespace.join(e,re,`${l}.jsonl`),i=ke(g);return {append(c){let d=i.append(c);try{s();}catch{}return d},readAll:()=>i.readAll(),readAfter:c=>i.readAfter(c),clear:()=>{i.clear&&i.clear();}}},blob(u){let l=Ke(u),g=y__namespace.join(e,ne,l);a__namespace.mkdirSync(g,{recursive:true});let i=U(g);return {read:c=>i.read(c),write:(c,d)=>{i.write(c,d);try{s();}catch{}},exists:c=>i.exists(c),remove:c=>i.remove(c),readBytes:i.readBytes?c=>i.readBytes(c):void 0,writeBytes:i.writeBytes?(c,d)=>{i.writeBytes(c,d);try{s();}catch{}}:void 0,listKeys:c=>i.listKeys(c),stat:i.stat?c=>i.stat(c):void 0}},listStreams(u){let l=y__namespace.join(e,re);try{return a__namespace.readdirSync(l,{withFileTypes:!0}).filter(g=>g.isFile()&&g.name.endsWith(".jsonl")).map(g=>g.name.slice(0,-6)).filter(g=>!u||g.startsWith(u)).sort()}catch{return []}},listBlobs(u){let l=y__namespace.join(e,ne);try{return a__namespace.readdirSync(l,{withFileTypes:!0}).filter(g=>g.isDirectory()).map(g=>g.name).filter(g=>!u||g.startsWith(u)).sort()}catch{return []}},config:{get(u){return n()[u]??null},set(u,l){let g=n();l==null?delete g[u]:g[u]=l,o(g);}}}}function se(e){function t(n){return y__namespace.join(e,...n.split("/"))+".json"}function r(n,o,s,u){if(a__namespace.existsSync(n))for(let l of a__namespace.readdirSync(n,{withFileTypes:true})){let g=o?`${o}/${l.name}`:l.name;if(l.isDirectory()){r(y__namespace.join(n,l.name),g,s,u);continue}if(!l.isFile()||!l.name.endsWith(".json"))continue;let i=g.replace(/\.json$/,"");(!s||i.startsWith(s))&&u.push(i);}}return {read(n){let o=t(n);if(!a__namespace.existsSync(o))return null;try{return JSON.parse(a__namespace.readFileSync(o,"utf-8"))}catch{return null}},write(n,o){let s=t(n),u=`${s}.${process.pid}.${crypto.randomUUID()}.tmp`;a__namespace.mkdirSync(y__namespace.dirname(s),{recursive:true}),a__namespace.writeFileSync(u,JSON.stringify(o,null,2),"utf-8"),C(u,s);},delete(n){let o=t(n);try{a__namespace.existsSync(o)&&a__namespace.unlinkSync(o);}catch{}},listKeys(n){let o=[];return r(e,"",n,o),o.sort()}}}function ke(e){function t(){if(!a__namespace.existsSync(e))return [];let r=a__namespace.readFileSync(e,"utf-8").trim();return r?r.split(`
8
- `).filter(Boolean).map(n=>JSON.parse(n)):[]}return {append(r){let n={id:crypto.randomUUID(),payload:r};return a__namespace.mkdirSync(y__namespace.dirname(e),{recursive:true}),a__namespace.appendFileSync(e,JSON.stringify(n)+`
9
- `,"utf-8"),n},readAll(){return t()},readAfter(r){let n=t();if(!r)return {entries:n,newCursor:n.length>0?n[n.length-1].id:null};let o=n.findIndex(u=>u.id===r),s=o===-1?n:n.slice(o+1);return {entries:s,newCursor:s.length>0?s[s.length-1].id:r}},clear(){a__namespace.existsSync(e)&&a__namespace.truncateSync(e,0);}}}function xe(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(xe).join(",")}]`;let t=e;return `{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${xe(t[n])}`).join(",")}}`}function Ue(e){return crypto.createHash("sha256").update(xe(e)).digest("hex")}function Ve(e){let t=y__namespace.join(e,"board-journal.jsonl");return {readAllEntries(){if(!a__namespace.existsSync(t))return [];let r=a__namespace.readFileSync(t,"utf-8").trim();return r?r.split(`
10
- `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){a__namespace.appendFileSync(t,JSON.stringify(r)+`
11
- `,"utf-8");},generateId(){return crypto.randomUUID()}}}function ze(e){return {tryAcquire(){try{if(!a__namespace.existsSync(e)){a__namespace.mkdirSync(y__namespace.dirname(e),{recursive:!0});try{a__namespace.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return properLockfile.lockSync(e,{retries:0})}catch{return null}}}}function _r(){return {async invoke(e,t){if(e.howToRun!=="local-node")return {dispatched:false,error:`createNodeSpawnInvocationAdapter: unsupported howToRun "${e.howToRun}"`};let r="";try{let s=e.whatToRun;r=$(s);}catch{r="";}if(!r)return {dispatched:false,error:"createNodeSpawnInvocationAdapter: could not resolve executable path from whatToRun"};let n={...t},o=Buffer.from(JSON.stringify(n)).toString("base64");try{return child_process.spawn(process.execPath,[r,"--boardId",String(t.boardId??""),"--cardId",String(t.cardId??""),"--extraEncJson",o],{stdio:"ignore",windowsHide:!0}).unref(),{dispatched:!0}}catch(s){return {dispatched:false,error:s instanceof Error?s.message:String(s)}}},async describe(e){if(e.howToRun!=="local-node")return null;let t="";try{let r=e.whatToRun;t=$(r);}catch{t="";}if(!t)return null;try{let r=child_process.spawnSync(process.execPath,[t,"describe"],{timeout:5e3,encoding:"utf-8",windowsHide:!0});return r.status!==0?null:JSON.parse(String(r.stdout).trim())}catch{return null}}}}var Yt=".board.lock";function Ye(e,t){if(!e||!t)return false;let r=String(e).replace(/[\\/]+$/,"").split(/[\\/]+/).filter(Boolean);return r.length>0&&r[r.length-1]===t}function Zt(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Xt(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Ze(e){if(e)return e;let t=Ce((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('board-live-cards-node.cjs', document.baseURI).href))),r=[t,b(t,"..","cli","node"),b(t,"..","..","cli","node")];for(let n of r)try{return Pe(n),n}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${t}`)}function er(e,t,r){let{cliDir:n,opts:o}=Zt(t,r),s=e.value,u,l=null,g,i,c,d=null,f;function m(){return f||(f=Ze(n)),f}let S=o?.callbackTransport??chunkOEFTOO47_cjs.g(o?.notifyChannel),h;function k(){if(o?.suppressSpawn||l)return;let p=fe({id:"task-executor",workerStore:h.boardWorkerStore(),handleRequest:async(x,B)=>{let v=await D(B.ref,B.args,{cliDir:m(),cwd:process.cwd(),label:"fsBoardAdapter.boardWorker"});if(v.result!=="success"){let R=typeof v.data?.error=="string"?v.data.error:v.error;throw new Error(R||v.result)}}});l=ee(p).catch(x=>{o?.onWarn?.(`[board-worker] in-process queue drain failed: ${x instanceof Error?x.message:String(x)}`);}).finally(()=>{l=null,h.boardWorkerStore().peekActive().length>0&&k();});}return h={kvStorage:p=>se(b(s,`.${p}`)),blobStorage:p=>p?U(b(s,p)):U(s),scratchStorage:()=>G(b(s,".tmp")),scratchStorageForRef:p=>G(chunkSFVO2LB2_cjs.b(p).value),archiveFactory:()=>oe(b(s,"archive")),archiveFactoryForRef:p=>oe(chunkSFVO2LB2_cjs.b(p).value),journalAdapter:()=>Ve(s),boardWorkerStore:()=>(u||(u=H(_(b(s,".board-worker-queue")))),u),chatAgentStore:()=>(g||(g=H(_(b(s,".chat-agent-queue")))),g),processAccumulatedStore:()=>(i||(i=_(b(s,".process-accumulated-queue"))),i),lock:ze(b(s,Yt)),callbackTransport:S,async dispatchExecution(p,x){let B=!!x.output?.ref;if(p.howToRun==="queue-storage")try{let R=u??H(_(b(s,".board-worker-queue")));u||(u=R);let E=typeof p.extra?.boardId=="string"?p.extra.boardId:void 0;if(B)return R.enqueueRequest({boardId:E,ref:p,args:x}),{dispatched:!0};let F=x.source_def?.bindTo??X().slice(0,8),w=G(b(s,".tmp")),I=w.create(JSON.stringify(x,null,2),`exec-in-${F}`,".json"),J=w.getUniqueKey(`exec-out-${F}`,".json"),O=w.getUniqueKey(`exec-err-${F}`,".txt"),ae=chunkSFVO2LB2_cjs.a(w.keyRef(I)),Y=chunkSFVO2LB2_cjs.a(w.keyRef(J)),ie=chunkSFVO2LB2_cjs.a(w.keyRef(O));return R.enqueueRequest({boardId:E,ref:p,args:{subcommand:"run-source-fetch",inRef:ae,outRef:Y,errRef:ie}}),{dispatched:!0}}catch(R){return {dispatched:false,error:R instanceof Error?R.message:String(R)}}if(B&&(p.howToRun==="http:post"||p.howToRun==="in-process-loop"))try{if(p.howToRun==="http:post"){let F=$(p.whatToRun),w=await fetch(F,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...x,...p.extra?{extra:p.extra}:{}})});if(!w.ok){let I=await w.text().catch(()=>"");return {dispatched:!1,error:`HTTP ${w.status}: ${I}`}}return {dispatched:!0}}let R=await D(p,x,{cwd:process.cwd(),label:"dispatchExecution.directHostedWorker"});return R.result==="success"?{dispatched:!0}:{dispatched:!1,error:(typeof R.data?.error=="string"?R.data.error:R.error)||R.result}}catch(R){return {dispatched:false,error:R instanceof Error?R.message:String(R)}}let v=p.howToRun==="local-node"||p.howToRun==="local-process"||p.howToRun==="local-python"||p.howToRun==="built-in";if(o?.suppressSpawn&&v)return {dispatched:false};try{let R=x.source_def?.bindTo??X().slice(0,8),E=G(b(s,".tmp")),F=E.create(JSON.stringify(x,null,2),`exec-in-${R}`,".json"),w=E.getUniqueKey(`exec-out-${R}`,".json"),I=E.getUniqueKey(`exec-err-${R}`,".txt"),J=chunkSFVO2LB2_cjs.a(E.keyRef(F)),O=chunkSFVO2LB2_cjs.a(E.keyRef(w)),ae=chunkSFVO2LB2_cjs.a(E.keyRef(I)),Y=u??H(_(b(s,".board-worker-queue")));u||(u=Y);let ie=typeof p.extra?.boardId=="string"?p.extra.boardId:void 0;return Y.enqueueRequest({boardId:ie,ref:p,args:{subcommand:"run-source-fetch",inRef:J,outRef:O,errRef:ae}}),k(),{dispatched:!0}}catch(R){let E=R instanceof Error?R.message:String(R);try{let F=oe(b(s,"archive")),w=new Date().toISOString().replace(/[:.]/g,"-"),I=x.source_def?.bindTo??"unknown";F.blob("exec-failures").write(`${w}-${I}.json`,JSON.stringify({error:E,args:x,ref:p,at:new Date().toISOString()},null,2));}catch{}return {dispatched:false,error:E}}},supportsDirectSourceOutput(p){return p.howToRun==="queue-storage"||p.howToRun==="http:post"||p.howToRun==="in-process-loop"},resolveBlob(p){let x=Be(p.value)?we().read(p.value):U(s).read(p.value);if(x===null)throw new Error(`resolveBlob: blob not found: ::${p.kind}::${p.value}`);return x},hashFn:Ue,genId:()=>Ie(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:p=>se(chunkSFVO2LB2_cjs.b(p).value),requestProcessAccumulated(){if(o?.suppressSpawn||d)return;let p=this,x=c??=chunkOEFTOO47_cjs.y(e,p),B=pe({id:"process-accumulated",queueStorage:p.processAccumulatedStore(),handleMessage:async()=>{let v=await x.processAccumulatedEvents({});if(v.status!=="success")throw new Error(v.error||`processAccumulatedEvents returned ${v.status}`)}});d=ee(B).catch(v=>{o?.onWarn?.(`[process-accumulated] in-process queue drain failed: ${v instanceof Error?v.message:String(v)}`);}).finally(()=>{d=null,p.processAccumulatedStore().peekActive().length>0&&p.requestProcessAccumulated?.();});},publishBoardChangeNotifications(p){if(!o?.notifyChannel||p.length===0)return;let x=p.map(B=>({id:X(),ts:new Date().toISOString(),boardRef:chunkSFVO2LB2_cjs.a(e),notification:B}));Le(o.notifyChannel,x,o.onWarn);},onWarn:o?.onWarn},h}function Jr(e,t,r){let{cliDir:n,opts:o}=Xt(t,r),s,u=()=>(s||(s=Ze(n)),s);return {...er(e,n,o),async invokeExecutor(g,i,c){if(g.howToRun==="queue-storage")throw new Error("queue-storage does not support inline executor request/response");if(g.howToRun==="http:post"||g.howToRun==="http:get"||g.howToRun==="in-process-loop"){let h=await D(g,{subcommand:i,...c?.input!==void 0?{input:c.input}:{},...g.extra?{extra:g.extra}:{}},{cwd:process.cwd(),timeoutMs:c?.timeout??3e4,label:`invokeExecutor:${i}`});if(h.result!=="success"){let k=typeof h.data?.error=="string"?h.data.error:h.error;throw new Error(k||`executor request failed: ${h.result}`)}return typeof h.data?.stdout=="string"?h.data.stdout:JSON.stringify(h.data??{})}let{command:d,baseArgs:f}=te(g,u()),m=g.extra?["--extra",Buffer.from(JSON.stringify(g.extra)).toString("base64")]:[],S=[...f,i,...m];return await new Promise((h,k)=>{let p=child_process.spawn(d,S,{cwd:process.cwd(),stdio:"pipe",windowsHide:true,shell:process.platform==="win32"&&/\.(cmd|bat)$/i.test(d)}),x=[],B=[],v=false,R=null,E=w=>{v||(v=true,R&&clearTimeout(R),k(w));},F=w=>{v||(v=true,R&&clearTimeout(R),h(w));};p.stdout.on("data",w=>{x.push(Buffer.from(w));}),p.stderr.on("data",w=>{B.push(Buffer.from(w));}),p.on("error",w=>{let I=w;I.stdout=Buffer.concat(x).toString("utf-8"),I.stderr=Buffer.concat(B).toString("utf-8"),E(I);}),p.on("close",w=>{let I=Buffer.concat(x).toString("utf-8"),J=Buffer.concat(B).toString("utf-8");if(w===0){F(I);return}let O=new Error(J.trim()||`executor exited with status ${w}`);O.stdout=I,O.stderr=J,E(O);}),c?.timeout&&c.timeout>0&&(R=setTimeout(()=>{p.kill();let w=new Error(`executor timed out after ${c.timeout}ms`);w.stdout=Buffer.concat(x).toString("utf-8"),w.stderr=Buffer.concat(B).toString("utf-8"),E(w);},c.timeout)),c?.input!==void 0?p.stdin.end(c.input):p.stdin.end();})},validateSchema(g){let i=chunkNMZ6XNLB_cjs.d(g);return {ok:i.errors.length===0,errors:i.errors}},absoluteBlob:we()}}function Dr(e,t={}){let r=t.chatsSubdir??"chats",n=t.kvSubdir??".kv",o=n?[n,"chat"]:["chat"],s=r&&!Ye(e,r)?b(e,r):e,u=se(b(e,...o));return chunkWOALA3V5_cjs.a(l=>{let i=`${String(l).replace(/[^a-zA-Z0-9_-]/g,"_")}.jsonl`,c=b(s,i);return ke(c)},u)}function Hr(e,t={}){let r=t.filesSubdir??"files",n=r&&!Ye(e,r)?b(e,r):e;return chunkWOALA3V5_cjs.c(U(n))}function Kr(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}Object.defineProperty(exports,"createArtifactsStore",{enumerable:true,get:function(){return chunkWOALA3V5_cjs.c}});Object.defineProperty(exports,"createCardFileMetadataStore",{enumerable:true,get:function(){return chunkWOALA3V5_cjs.e}});Object.defineProperty(exports,"createChatStorage",{enumerable:true,get:function(){return chunkWOALA3V5_cjs.a}});Object.defineProperty(exports,"createFileArtifactsStore",{enumerable:true,get:function(){return chunkWOALA3V5_cjs.d}});Object.defineProperty(exports,"createInMemoryChatStorage",{enumerable:true,get:function(){return chunkWOALA3V5_cjs.b}});Object.defineProperty(exports,"createQueueLaneRegistry",{enumerable:true,get:function(){return chunkWOALA3V5_cjs.f}});Object.defineProperty(exports,"BOARD_GRAPH_KEY",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.n}});Object.defineProperty(exports,"EMPTY_CONFIG",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.u}});Object.defineProperty(exports,"SNAPSHOT_SCHEMA_VERSION_V1",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.m}});Object.defineProperty(exports,"createBoardLiveCardsNonCorePublic",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.z}});Object.defineProperty(exports,"createBoardLiveCardsPublic",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.y}});Object.defineProperty(exports,"createCardStore",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.l}});Object.defineProperty(exports,"createHttpBoardCallbackTransport",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.e}});Object.defineProperty(exports,"createInProcessBoardCallbackTransport",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.f}});Object.defineProperty(exports,"createLocalNodeBoardCallbackTransport",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.g}});Object.defineProperty(exports,"executionRefFromScriptPath",{enumerable:true,get:function(){return chunkU2N6MCD5_cjs.a}});Object.defineProperty(exports,"parseExecutionRef",{enumerable:true,get:function(){return chunkU2N6MCD5_cjs.c}});Object.defineProperty(exports,"serializeExecutionRef",{enumerable:true,get:function(){return chunkU2N6MCD5_cjs.b}});Object.defineProperty(exports,"parseRef",{enumerable:true,get:function(){return chunkSFVO2LB2_cjs.b}});Object.defineProperty(exports,"serializeRef",{enumerable:true,get:function(){return chunkSFVO2LB2_cjs.a}});Object.defineProperty(exports,"createBoardLiveCardsMcp",{enumerable:true,get:function(){return chunkGJJMEAVN_cjs.a}});Object.defineProperty(exports,"createCardStorePublic",{enumerable:true,get:function(){return chunkYMEIPKLW_cjs.a}});Object.defineProperty(exports,"createArtifactsStorePublic",{enumerable:true,get:function(){return chunkP7ZCDICS_cjs.a}});exports.buildLocalBaseSpec=te;exports.createBoardWorkerQueueLane=fe;exports.createBoardWorkerStore=H;exports.createExecutionRefInvoker=Lt;exports.createFsBoardChatStorage=Dr;exports.createFsBoardFileArtifactsStore=Hr;exports.createFsBoardNonCorePlatformAdapter=Jr;exports.createFsBoardPlatformAdapter=er;exports.createFsQueueStorage=_;exports.createNodeSpawnInvocationAdapter=_r;exports.createQueueStorageLane=pe;exports.decodeBoardRefFromToken=Kr;exports.drainQueueLaneToIdle=ee;exports.evaluateArgsMassaging=me;exports.invokeExecutionRef=D;exports.invokeExecutionRefSync=ye;exports.invokeRefSync=qt;exports.registerInProcessExecutionHandler=Ft;exports.resolveWhatToRunValue=$;exports.resolveYamlFlowCliPath=Ne;exports.startQueueLaneRunner=Qe;exports.startQueueLaneRunners=At;exports.unregisterInProcessExecutionHandler=Mt;//# sourceMappingURL=board-live-cards-node.cjs.map
7
+ `,"utf-8");}catch{}function n(){if(!i__namespace.existsSync(r))return {};try{let u=i__namespace.readFileSync(r,"utf-8"),l=JSON.parse(u);return l&&typeof l=="object"&&!Array.isArray(l)?l:{}}catch{return {}}}function o(u){let l=`${r}.${process.pid}.${crypto.randomUUID()}.tmp`;try{i__namespace.writeFileSync(l,JSON.stringify(u,null,2),"utf-8"),C(l,r);}catch{}}function s(){if(!i__namespace.existsSync(t))return;let u=n(),l=typeof u["retention.maxAgeMs"]=="number"?u["retention.maxAgeMs"]:0,g=typeof u["retention.sweepIntervalMs"]=="number"?u["retention.sweepIntervalMs"]:0;if(l<=0||g<=0)return;let a=typeof u["retention.lastSweepAt"]=="number"?u["retention.lastSweepAt"]:0,c=Date.now();if(c-a<g)return;u["retention.lastSweepAt"]=c,o(u);let d=c,f=m=>{let S;try{S=i__namespace.readdirSync(m,{withFileTypes:!0});}catch{return}for(let h of S){if(Date.now()-d>zt)return;let w=y__namespace.join(m,h.name);if(h.isDirectory()){f(w);continue}if(h.isFile())try{let p=i__namespace.statSync(w);if(c-p.mtimeMs>l)try{i__namespace.unlinkSync(w);}catch{}}catch{}}};f(y__namespace.join(e,re)),f(y__namespace.join(e,ne));}return {stream(u){let l=Ke(u),g=y__namespace.join(e,re,`${l}.jsonl`),a=we(g);return {append(c){let d=a.append(c);try{s();}catch{}return d},readAll:()=>a.readAll(),readAfter:c=>a.readAfter(c),clear:()=>{a.clear&&a.clear();}}},blob(u){let l=Ke(u),g=y__namespace.join(e,ne,l);i__namespace.mkdirSync(g,{recursive:true});let a=U(g);return {read:c=>a.read(c),write:(c,d)=>{a.write(c,d);try{s();}catch{}},exists:c=>a.exists(c),remove:c=>a.remove(c),readBytes:a.readBytes?c=>a.readBytes(c):void 0,writeBytes:a.writeBytes?(c,d)=>{a.writeBytes(c,d);try{s();}catch{}}:void 0,listKeys:c=>a.listKeys(c),stat:a.stat?c=>a.stat(c):void 0}},listStreams(u){let l=y__namespace.join(e,re);try{return i__namespace.readdirSync(l,{withFileTypes:!0}).filter(g=>g.isFile()&&g.name.endsWith(".jsonl")).map(g=>g.name.slice(0,-6)).filter(g=>!u||g.startsWith(u)).sort()}catch{return []}},listBlobs(u){let l=y__namespace.join(e,ne);try{return i__namespace.readdirSync(l,{withFileTypes:!0}).filter(g=>g.isDirectory()).map(g=>g.name).filter(g=>!u||g.startsWith(u)).sort()}catch{return []}},config:{get(u){return n()[u]??null},set(u,l){let g=n();l==null?delete g[u]:g[u]=l,o(g);}}}}function se(e){function t(n){return y__namespace.join(e,...n.split("/"))+".json"}function r(n,o,s,u){if(i__namespace.existsSync(n))for(let l of i__namespace.readdirSync(n,{withFileTypes:true})){let g=o?`${o}/${l.name}`:l.name;if(l.isDirectory()){r(y__namespace.join(n,l.name),g,s,u);continue}if(!l.isFile()||!l.name.endsWith(".json"))continue;let a=g.replace(/\.json$/,"");(!s||a.startsWith(s))&&u.push(a);}}return {read(n){let o=t(n);if(!i__namespace.existsSync(o))return null;try{return JSON.parse(i__namespace.readFileSync(o,"utf-8"))}catch{return null}},write(n,o){let s=t(n),u=`${s}.${process.pid}.${crypto.randomUUID()}.tmp`;i__namespace.mkdirSync(y__namespace.dirname(s),{recursive:true}),i__namespace.writeFileSync(u,JSON.stringify(o,null,2),"utf-8"),C(u,s);},delete(n){let o=t(n);try{i__namespace.existsSync(o)&&i__namespace.unlinkSync(o);}catch{}},listKeys(n){let o=[];return r(e,"",n,o),o.sort()}}}function we(e){function t(){if(!i__namespace.existsSync(e))return [];let r=i__namespace.readFileSync(e,"utf-8").trim();return r?r.split(`
8
+ `).filter(Boolean).map(n=>JSON.parse(n)):[]}return {append(r){let n={id:crypto.randomUUID(),payload:r};return i__namespace.mkdirSync(y__namespace.dirname(e),{recursive:true}),i__namespace.appendFileSync(e,JSON.stringify(n)+`
9
+ `,"utf-8"),n},readAll(){return t()},readAfter(r){let n=t();if(!r)return {entries:n,newCursor:n.length>0?n[n.length-1].id:null};let o=n.findIndex(u=>u.id===r),s=o===-1?n:n.slice(o+1);return {entries:s,newCursor:s.length>0?s[s.length-1].id:r}},clear(){i__namespace.existsSync(e)&&i__namespace.truncateSync(e,0);}}}function xe(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(xe).join(",")}]`;let t=e;return `{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${xe(t[n])}`).join(",")}}`}function Ue(e){return crypto.createHash("sha256").update(xe(e)).digest("hex")}function Ve(e){let t=y__namespace.join(e,"board-journal.jsonl");return {readAllEntries(){if(!i__namespace.existsSync(t))return [];let r=i__namespace.readFileSync(t,"utf-8").trim();return r?r.split(`
10
+ `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){i__namespace.appendFileSync(t,JSON.stringify(r)+`
11
+ `,"utf-8");},generateId(){return crypto.randomUUID()}}}function ze(e){return {tryAcquire(){try{if(!i__namespace.existsSync(e)){i__namespace.mkdirSync(y__namespace.dirname(e),{recursive:!0});try{i__namespace.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return properLockfile.lockSync(e,{retries:0})}catch{return null}}}}function Lr(){return {async invoke(e,t){if(e.howToRun!=="local-node")return {dispatched:false,error:`createNodeSpawnInvocationAdapter: unsupported howToRun "${e.howToRun}"`};let r="";try{let s=e.whatToRun;r=$(s);}catch{r="";}if(!r)return {dispatched:false,error:"createNodeSpawnInvocationAdapter: could not resolve executable path from whatToRun"};let n={...t},o=Buffer.from(JSON.stringify(n)).toString("base64");try{return child_process.spawn(process.execPath,[r,"--boardId",String(t.boardId??""),"--cardId",String(t.cardId??""),"--extraEncJson",o],{stdio:"ignore",windowsHide:!0}).unref(),{dispatched:!0}}catch(s){return {dispatched:false,error:s instanceof Error?s.message:String(s)}}},async describe(e){if(e.howToRun!=="local-node")return null;let t="";try{let r=e.whatToRun;t=$(r);}catch{t="";}if(!t)return null;try{let r=child_process.spawnSync(process.execPath,[t,"describe"],{timeout:5e3,encoding:"utf-8",windowsHide:!0});return r.status!==0?null:JSON.parse(String(r.stdout).trim())}catch{return null}}}}var Yt=".board.lock";function Ye(e,t){if(!e||!t)return false;let r=String(e).replace(/[\\/]+$/,"").split(/[\\/]+/).filter(Boolean);return r.length>0&&r[r.length-1]===t}function Zt(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Xt(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Ze(e){if(e)return e;let t=Ce((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('board-live-cards-node.cjs', document.baseURI).href))),r=[t,b(t,"..","cli","node"),b(t,"..","..","cli","node")];for(let n of r)try{return Pe(n),n}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${t}`)}function er(e,t,r){let{cliDir:n,opts:o}=Zt(t,r),s=e.value,u,l=null,g,a,c,d=null,f;function m(){return f||(f=Ze(n)),f}let S=o?.callbackTransport??chunkOEFTOO47_cjs.g(o?.notifyChannel),h;function w(){if(o?.suppressSpawn||l)return;let p=fe({id:"task-executor",workerStore:h.boardWorkerStore(),handleRequest:async(x,B)=>{let v=await D(B.ref,B.args,{cliDir:m(),cwd:process.cwd(),label:"fsBoardAdapter.boardWorker"});if(v.result!=="success"){let R=typeof v.data?.error=="string"?v.data.error:v.error;throw new Error(R||v.result)}}});l=ee(p).catch(x=>{o?.onWarn?.(`[board-worker] in-process queue drain failed: ${x instanceof Error?x.message:String(x)}`);}).finally(()=>{l=null,h.boardWorkerStore().peekActive().length>0&&w();});}return h={kvStorage:p=>se(b(s,`.${p}`)),blobStorage:p=>p?U(b(s,p)):U(s),scratchStorage:()=>G(b(s,".tmp")),scratchStorageForRef:p=>G(chunkSFVO2LB2_cjs.b(p).value),archiveFactory:()=>oe(b(s,"archive")),archiveFactoryForRef:p=>oe(chunkSFVO2LB2_cjs.b(p).value),journalAdapter:()=>Ve(s),boardWorkerStore:()=>(u||(u=H(N(b(s,".board-worker-queue")))),u),chatAgentStore:()=>(g||(g=H(N(b(s,".chat-agent-queue")))),g),processAccumulatedStore:()=>(a||(a=N(b(s,".process-accumulated-queue"))),a),lock:ze(b(s,Yt)),callbackTransport:S,async dispatchExecution(p,x){let B=!!x.output?.ref;if(p.howToRun==="queue-storage")try{let R=u??H(N(b(s,".board-worker-queue")));u||(u=R);let E=typeof p.extra?.boardId=="string"?p.extra.boardId:void 0;if(B)return R.enqueueRequest({boardId:E,ref:p,args:x}),{dispatched:!0};let M=x.source_def?.bindTo??X().slice(0,8),k=G(b(s,".tmp")),I=k.create(JSON.stringify(x,null,2),`exec-in-${M}`,".json"),J=k.getUniqueKey(`exec-out-${M}`,".json"),Q=k.getUniqueKey(`exec-err-${M}`,".txt"),ie=chunkSFVO2LB2_cjs.a(k.keyRef(I)),Y=chunkSFVO2LB2_cjs.a(k.keyRef(J)),ae=chunkSFVO2LB2_cjs.a(k.keyRef(Q));return R.enqueueRequest({boardId:E,ref:p,args:{subcommand:"run-source-fetch",inRef:ie,outRef:Y,errRef:ae}}),{dispatched:!0}}catch(R){return {dispatched:false,error:R instanceof Error?R.message:String(R)}}if(B&&(p.howToRun==="http:post"||p.howToRun==="in-process-loop"))try{if(p.howToRun==="http:post"){let M=$(p.whatToRun),k=await fetch(M,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...x,...p.extra?{extra:p.extra}:{}})});if(!k.ok){let I=await k.text().catch(()=>"");return {dispatched:!1,error:`HTTP ${k.status}: ${I}`}}return {dispatched:!0}}let R=await D(p,x,{cwd:process.cwd(),label:"dispatchExecution.directHostedWorker"});return R.result==="success"?{dispatched:!0}:{dispatched:!1,error:(typeof R.data?.error=="string"?R.data.error:R.error)||R.result}}catch(R){return {dispatched:false,error:R instanceof Error?R.message:String(R)}}let v=p.howToRun==="local-node"||p.howToRun==="local-process"||p.howToRun==="local-python"||p.howToRun==="built-in";if(o?.suppressSpawn&&v)return {dispatched:false};try{let R=x.source_def?.bindTo??X().slice(0,8),E=G(b(s,".tmp")),M=E.create(JSON.stringify(x,null,2),`exec-in-${R}`,".json"),k=E.getUniqueKey(`exec-out-${R}`,".json"),I=E.getUniqueKey(`exec-err-${R}`,".txt"),J=chunkSFVO2LB2_cjs.a(E.keyRef(M)),Q=chunkSFVO2LB2_cjs.a(E.keyRef(k)),ie=chunkSFVO2LB2_cjs.a(E.keyRef(I)),Y=u??H(N(b(s,".board-worker-queue")));u||(u=Y);let ae=typeof p.extra?.boardId=="string"?p.extra.boardId:void 0;return Y.enqueueRequest({boardId:ae,ref:p,args:{subcommand:"run-source-fetch",inRef:J,outRef:Q,errRef:ie}}),w(),{dispatched:!0}}catch(R){let E=R instanceof Error?R.message:String(R);try{let M=oe(b(s,"archive")),k=new Date().toISOString().replace(/[:.]/g,"-"),I=x.source_def?.bindTo??"unknown";M.blob("exec-failures").write(`${k}-${I}.json`,JSON.stringify({error:E,args:x,ref:p,at:new Date().toISOString()},null,2));}catch{}return {dispatched:false,error:E}}},supportsDirectSourceOutput(p){return p.howToRun==="queue-storage"||p.howToRun==="http:post"||p.howToRun==="in-process-loop"},resolveBlob(p){let x=Be(p.value)?ke().read(p.value):U(s).read(p.value);if(x===null)throw new Error(`resolveBlob: blob not found: ::${p.kind}::${p.value}`);return x},hashFn:Ue,genId:()=>Ie(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:p=>se(chunkSFVO2LB2_cjs.b(p).value),requestProcessAccumulated(){if(o?.suppressSpawn||d)return;let p=this,x=c??=chunkOEFTOO47_cjs.y(e,p),B=pe({id:"process-accumulated",queueStorage:p.processAccumulatedStore(),handleMessage:async()=>{let v=await x.processAccumulatedEvents({});if(v.status!=="success")throw new Error(v.error||`processAccumulatedEvents returned ${v.status}`)}});d=ee(B).catch(v=>{o?.onWarn?.(`[process-accumulated] in-process queue drain failed: ${v instanceof Error?v.message:String(v)}`);}).finally(()=>{d=null,p.processAccumulatedStore().peekActive().length>0&&p.requestProcessAccumulated?.();});},publishBoardChangeNotifications(p){if(!o?.notifyChannel||p.length===0)return;let x=p.map(B=>({id:X(),ts:new Date().toISOString(),boardRef:chunkSFVO2LB2_cjs.a(e),notification:B}));qe(o.notifyChannel,x,o.onWarn);},onWarn:o?.onWarn},h}function Qr(e,t,r){let{cliDir:n,opts:o}=Xt(t,r),s,u=()=>(s||(s=Ze(n)),s);return {...er(e,n,o),async invokeExecutor(g,a,c){if(g.howToRun==="queue-storage")throw new Error("queue-storage does not support inline executor request/response");if(g.howToRun==="http:post"||g.howToRun==="http:get"||g.howToRun==="in-process-loop"){let h=await D(g,{subcommand:a,...c?.input!==void 0?{input:c.input}:{},...g.extra?{extra:g.extra}:{}},{cwd:process.cwd(),timeoutMs:c?.timeout??3e4,label:`invokeExecutor:${a}`});if(h.result!=="success"){let w=typeof h.data?.error=="string"?h.data.error:h.error;throw new Error(w||`executor request failed: ${h.result}`)}return typeof h.data?.stdout=="string"?h.data.stdout:JSON.stringify(h.data??{})}let{command:d,baseArgs:f}=te(g,u()),m=g.extra?["--extra",Buffer.from(JSON.stringify(g.extra)).toString("base64")]:[],S=[...f,a,...m];return await new Promise((h,w)=>{let p=child_process.spawn(d,S,{cwd:process.cwd(),stdio:"pipe",windowsHide:true,shell:process.platform==="win32"&&/\.(cmd|bat)$/i.test(d)}),x=[],B=[],v=false,R=null,E=k=>{v||(v=true,R&&clearTimeout(R),w(k));},M=k=>{v||(v=true,R&&clearTimeout(R),h(k));};p.stdout.on("data",k=>{x.push(Buffer.from(k));}),p.stderr.on("data",k=>{B.push(Buffer.from(k));}),p.on("error",k=>{let I=k;I.stdout=Buffer.concat(x).toString("utf-8"),I.stderr=Buffer.concat(B).toString("utf-8"),E(I);}),p.on("close",k=>{let I=Buffer.concat(x).toString("utf-8"),J=Buffer.concat(B).toString("utf-8");if(k===0){M(I);return}let Q=new Error(J.trim()||`executor exited with status ${k}`);Q.stdout=I,Q.stderr=J,E(Q);}),c?.timeout&&c.timeout>0&&(R=setTimeout(()=>{p.kill();let k=new Error(`executor timed out after ${c.timeout}ms`);k.stdout=Buffer.concat(x).toString("utf-8"),k.stderr=Buffer.concat(B).toString("utf-8"),E(k);},c.timeout)),c?.input!==void 0?p.stdin.end(c.input):p.stdin.end();})},validateSchema(g){let a=chunkNMZ6XNLB_cjs.d(g);return {ok:a.errors.length===0,errors:a.errors}},absoluteBlob:ke()}}function Or(e,t={}){let r=t.chatsSubdir??"chats",n=t.kvSubdir??".kv",o=n?[n,"chat"]:["chat"],s=r&&!Ye(e,r)?b(e,r):e,u=se(b(e,...o));return chunkNJJ7WEDT_cjs.a(l=>{let a=`${String(l).replace(/[^a-zA-Z0-9_-]/g,"_")}.jsonl`,c=b(s,a);return we(c)},u)}function Wr(e,t={}){let r=t.filesSubdir??"files",n=r&&!Ye(e,r)?b(e,r):e;return chunkNJJ7WEDT_cjs.c(U(n))}function _r(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}Object.defineProperty(exports,"createArtifactsStore",{enumerable:true,get:function(){return chunkNJJ7WEDT_cjs.c}});Object.defineProperty(exports,"createCardFileMetadataStore",{enumerable:true,get:function(){return chunkNJJ7WEDT_cjs.e}});Object.defineProperty(exports,"createChatStorage",{enumerable:true,get:function(){return chunkNJJ7WEDT_cjs.a}});Object.defineProperty(exports,"createFileArtifactsStore",{enumerable:true,get:function(){return chunkNJJ7WEDT_cjs.d}});Object.defineProperty(exports,"createInMemoryChatStorage",{enumerable:true,get:function(){return chunkNJJ7WEDT_cjs.b}});Object.defineProperty(exports,"createQueueLaneRegistry",{enumerable:true,get:function(){return chunkGL2OHR2E_cjs.a}});Object.defineProperty(exports,"BOARD_GRAPH_KEY",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.n}});Object.defineProperty(exports,"EMPTY_CONFIG",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.u}});Object.defineProperty(exports,"SNAPSHOT_SCHEMA_VERSION_V1",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.m}});Object.defineProperty(exports,"createBoardLiveCardsNonCorePublic",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.z}});Object.defineProperty(exports,"createBoardLiveCardsPublic",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.y}});Object.defineProperty(exports,"createCardStore",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.l}});Object.defineProperty(exports,"createHttpBoardCallbackTransport",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.e}});Object.defineProperty(exports,"createInProcessBoardCallbackTransport",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.f}});Object.defineProperty(exports,"createLocalNodeBoardCallbackTransport",{enumerable:true,get:function(){return chunkOEFTOO47_cjs.g}});Object.defineProperty(exports,"executionRefFromScriptPath",{enumerable:true,get:function(){return chunkU2N6MCD5_cjs.a}});Object.defineProperty(exports,"parseExecutionRef",{enumerable:true,get:function(){return chunkU2N6MCD5_cjs.c}});Object.defineProperty(exports,"serializeExecutionRef",{enumerable:true,get:function(){return chunkU2N6MCD5_cjs.b}});Object.defineProperty(exports,"parseRef",{enumerable:true,get:function(){return chunkSFVO2LB2_cjs.b}});Object.defineProperty(exports,"serializeRef",{enumerable:true,get:function(){return chunkSFVO2LB2_cjs.a}});Object.defineProperty(exports,"createBoardLiveCardsMcp",{enumerable:true,get:function(){return chunkM6STQR5F_cjs.a}});Object.defineProperty(exports,"createCardStorePublic",{enumerable:true,get:function(){return chunkYMEIPKLW_cjs.a}});Object.defineProperty(exports,"createArtifactsStorePublic",{enumerable:true,get:function(){return chunkP7ZCDICS_cjs.a}});exports.buildLocalBaseSpec=te;exports.createBoardWorkerQueueLane=fe;exports.createBoardWorkerStore=H;exports.createExecutionRefInvoker=qt;exports.createFsBoardChatStorage=Or;exports.createFsBoardFileArtifactsStore=Wr;exports.createFsBoardNonCorePlatformAdapter=Qr;exports.createFsBoardPlatformAdapter=er;exports.createFsQueueStorage=N;exports.createNodeSpawnInvocationAdapter=Lr;exports.createQueueStorageLane=pe;exports.decodeBoardRefFromToken=_r;exports.drainQueueLaneToIdle=ee;exports.evaluateArgsMassaging=me;exports.invokeExecutionRef=D;exports.invokeExecutionRefSync=ye;exports.invokeRefSync=Lt;exports.registerInProcessExecutionHandler=Mt;exports.resolveWhatToRunValue=$;exports.resolveYamlFlowCliPath=_e;exports.startQueueLaneRunner=Oe;exports.startQueueLaneRunners=At;exports.unregisterInProcessExecutionHandler=Ft;//# sourceMappingURL=board-live-cards-node.cjs.map
12
12
  //# sourceMappingURL=board-live-cards-node.cjs.map
@@ -1,19 +1,23 @@
1
- import { a as ArtifactsStore } from './artifacts-store-lib-BR-Samty.cjs';
2
- export { c as createArtifactsStore, b as createCardFileMetadataStore, d as createFileArtifactsStore } from './artifacts-store-lib-BR-Samty.cjs';
3
- import { h as QueueLaneLease, i as QueueLaneDescriptor, Q as QueueLaneRegistry, I as InvocationAdapter } from './queue-lane-registry-BPKWWgd4.cjs';
4
- export { D as DescribeEnvelope, j as createQueueLaneRegistry } from './queue-lane-registry-BPKWWgd4.cjs';
1
+ import { a as ArtifactsStore } from './artifacts-store-lib-D9nMkVcE.cjs';
2
+ export { c as createArtifactsStore, b as createCardFileMetadataStore, d as createFileArtifactsStore } from './artifacts-store-lib-D9nMkVcE.cjs';
3
+ import { I as InvocationAdapter } from './types-BzQY45dH.cjs';
4
+ export { D as DescribeEnvelope } from './types-BzQY45dH.cjs';
5
5
  import { a as KindValueRef, g as QueueStorage } from './storage-interface-BFiD3kyB.cjs';
6
6
  export { p as parseRef, s as serializeRef } from './storage-interface-BFiD3kyB.cjs';
7
- import { l as BoardWorkerStore, B as BoardWorkerRequest, g as BoardCallbackTransport, e as BoardNonCorePlatformAdapter, f as BoardPlatformAdapter } from './board-live-cards-public-wkNmBIRC.cjs';
8
- export { m as BOARD_GRAPH_KEY, n as BoardLiveCardsNonCorePublic, d as BoardLiveCardsPublic, o as BoardWorkerDeadLetterRequest, p as BoardWorkerLeasedRequest, q as BoardWorkerQueuedRequest, a as CommandInput, C as CommandResult, E as EMPTY_CONFIG, L as LiveCard, r as SNAPSHOT_SCHEMA_VERSION_V1, s as createBoardLiveCardsNonCorePublic, t as createBoardLiveCardsPublic, u as createBoardWorkerStore, v as createCardStore, w as createHttpBoardCallbackTransport, x as createInProcessBoardCallbackTransport, y as createLocalNodeBoardCallbackTransport } from './board-live-cards-public-wkNmBIRC.cjs';
9
- import { c as ChatStorage } from './chat-storage-lib-BIUbE-fM.cjs';
10
- export { b as ChatConfig, C as ChatRecord, d as createChatStorage, e as createInMemoryChatStorage } from './chat-storage-lib-BIUbE-fM.cjs';
7
+ import { l as BoardWorkerStore, f as BoardWorkerRequest, h as BoardCallbackTransport, d as BoardNonCorePlatformAdapter, e as BoardPlatformAdapter } from './board-live-cards-public-DQzPe7A9.cjs';
8
+ export { m as BOARD_GRAPH_KEY, n as BoardLiveCardsNonCorePublic, c as BoardLiveCardsPublic, o as BoardWorkerDeadLetterRequest, p as BoardWorkerLeasedRequest, q as BoardWorkerQueuedRequest, C as CommandInput, a as CommandResult, E as EMPTY_CONFIG, L as LiveCard, r as SNAPSHOT_SCHEMA_VERSION_V1, s as createBoardLiveCardsNonCorePublic, t as createBoardLiveCardsPublic, u as createBoardWorkerStore, v as createCardStore, w as createHttpBoardCallbackTransport, x as createInProcessBoardCallbackTransport, y as createLocalNodeBoardCallbackTransport } from './board-live-cards-public-DQzPe7A9.cjs';
9
+ import { C as ChatStorage } from './chat-storage-lib-B9Q34Dyv.cjs';
10
+ export { c as ChatConfig, a as ChatRecord, d as createChatStorage, e as createInMemoryChatStorage } from './chat-storage-lib-B9Q34Dyv.cjs';
11
11
  export { BoardLiveCardsMcp, BoardLiveCardsMcpBoardStatusResult, BoardLiveCardsMcpDeps, BoardLiveCardsMcpDiscoverSourceKindsResult, BoardLiveCardsMcpFileDownloadDescriptor, BoardLiveCardsMcpInspectCardDefinitionAndRuntimeResult, BoardLiveCardsMcpInspectChatMessagesResult, BoardLiveCardsMcpManageUpsertCardResult, createBoardLiveCardsMcp } from './board-live-cards-mcp.cjs';
12
12
  import { ExecutionRef, ArgsMassaging } from './execution-refs.cjs';
13
13
  export { executionRefFromScriptPath, parseExecutionRef, serializeExecutionRef } from './execution-refs.cjs';
14
14
  export { createCardStorePublic } from './card-store-public.cjs';
15
15
  export { createArtifactsStorePublic } from './artifacts-store-public.cjs';
16
- import './board-live-cards-public-async-dMWNbWq6.cjs';
16
+ import { Q as QueueLaneLease, a as QueueLaneDescriptor, b as QueueLaneRegistry } from './queue-lane-registry-PaZuFpwp.cjs';
17
+ export { c as createQueueLaneRegistry } from './queue-lane-registry-PaZuFpwp.cjs';
18
+ import './board-platform-adapter-async-DOfEq_HC.cjs';
19
+ import './storage-async-interface-BRR4eBjx.cjs';
20
+ import './board-live-cards-public-async-CgMCYYft.cjs';
17
21
  import './types-BBhqYGhE.cjs';
18
22
  import './chat-store-public.cjs';
19
23
 
@@ -1,19 +1,23 @@
1
- import { a as ArtifactsStore } from './artifacts-store-lib-DT7XlWUL.js';
2
- export { c as createArtifactsStore, b as createCardFileMetadataStore, d as createFileArtifactsStore } from './artifacts-store-lib-DT7XlWUL.js';
3
- import { h as QueueLaneLease, i as QueueLaneDescriptor, Q as QueueLaneRegistry, I as InvocationAdapter } from './queue-lane-registry-Be6c0ftj.js';
4
- export { D as DescribeEnvelope, j as createQueueLaneRegistry } from './queue-lane-registry-Be6c0ftj.js';
1
+ import { a as ArtifactsStore } from './artifacts-store-lib-DSSMqVL2.js';
2
+ export { c as createArtifactsStore, b as createCardFileMetadataStore, d as createFileArtifactsStore } from './artifacts-store-lib-DSSMqVL2.js';
3
+ import { I as InvocationAdapter } from './types-CF2xUcZW.js';
4
+ export { D as DescribeEnvelope } from './types-CF2xUcZW.js';
5
5
  import { a as KindValueRef, g as QueueStorage } from './storage-interface-BFiD3kyB.js';
6
6
  export { p as parseRef, s as serializeRef } from './storage-interface-BFiD3kyB.js';
7
- import { l as BoardWorkerStore, B as BoardWorkerRequest, g as BoardCallbackTransport, e as BoardNonCorePlatformAdapter, f as BoardPlatformAdapter } from './board-live-cards-public-BMUIPOrc.js';
8
- export { m as BOARD_GRAPH_KEY, n as BoardLiveCardsNonCorePublic, d as BoardLiveCardsPublic, o as BoardWorkerDeadLetterRequest, p as BoardWorkerLeasedRequest, q as BoardWorkerQueuedRequest, a as CommandInput, C as CommandResult, E as EMPTY_CONFIG, L as LiveCard, r as SNAPSHOT_SCHEMA_VERSION_V1, s as createBoardLiveCardsNonCorePublic, t as createBoardLiveCardsPublic, u as createBoardWorkerStore, v as createCardStore, w as createHttpBoardCallbackTransport, x as createInProcessBoardCallbackTransport, y as createLocalNodeBoardCallbackTransport } from './board-live-cards-public-BMUIPOrc.js';
9
- import { c as ChatStorage } from './chat-storage-lib-BlG-sobS.js';
10
- export { b as ChatConfig, C as ChatRecord, d as createChatStorage, e as createInMemoryChatStorage } from './chat-storage-lib-BlG-sobS.js';
7
+ import { l as BoardWorkerStore, f as BoardWorkerRequest, h as BoardCallbackTransport, d as BoardNonCorePlatformAdapter, e as BoardPlatformAdapter } from './board-live-cards-public-D-DJek3X.js';
8
+ export { m as BOARD_GRAPH_KEY, n as BoardLiveCardsNonCorePublic, c as BoardLiveCardsPublic, o as BoardWorkerDeadLetterRequest, p as BoardWorkerLeasedRequest, q as BoardWorkerQueuedRequest, C as CommandInput, a as CommandResult, E as EMPTY_CONFIG, L as LiveCard, r as SNAPSHOT_SCHEMA_VERSION_V1, s as createBoardLiveCardsNonCorePublic, t as createBoardLiveCardsPublic, u as createBoardWorkerStore, v as createCardStore, w as createHttpBoardCallbackTransport, x as createInProcessBoardCallbackTransport, y as createLocalNodeBoardCallbackTransport } from './board-live-cards-public-D-DJek3X.js';
9
+ import { C as ChatStorage } from './chat-storage-lib-DB9iSai2.js';
10
+ export { c as ChatConfig, a as ChatRecord, d as createChatStorage, e as createInMemoryChatStorage } from './chat-storage-lib-DB9iSai2.js';
11
11
  export { BoardLiveCardsMcp, BoardLiveCardsMcpBoardStatusResult, BoardLiveCardsMcpDeps, BoardLiveCardsMcpDiscoverSourceKindsResult, BoardLiveCardsMcpFileDownloadDescriptor, BoardLiveCardsMcpInspectCardDefinitionAndRuntimeResult, BoardLiveCardsMcpInspectChatMessagesResult, BoardLiveCardsMcpManageUpsertCardResult, createBoardLiveCardsMcp } from './board-live-cards-mcp.js';
12
12
  import { ExecutionRef, ArgsMassaging } from './execution-refs.js';
13
13
  export { executionRefFromScriptPath, parseExecutionRef, serializeExecutionRef } from './execution-refs.js';
14
14
  export { createCardStorePublic } from './card-store-public.js';
15
15
  export { createArtifactsStorePublic } from './artifacts-store-public.js';
16
- import './board-live-cards-public-async-DKZqbJVU.js';
16
+ import { Q as QueueLaneLease, a as QueueLaneDescriptor, b as QueueLaneRegistry } from './queue-lane-registry-PaZuFpwp.js';
17
+ export { c as createQueueLaneRegistry } from './queue-lane-registry-PaZuFpwp.js';
18
+ import './board-platform-adapter-async-JZPCzZnH.js';
19
+ import './storage-async-interface-DhlOVPSp.js';
20
+ import './board-live-cards-public-async-3hUuHxDx.js';
17
21
  import './types-BBhqYGhE.js';
18
22
  import './chat-store-public.js';
19
23
 
@@ -1,12 +1,12 @@
1
- import {a as a$3,c}from'./chunk-MLVTJASJ.js';export{c as createArtifactsStore,e as createCardFileMetadataStore,a as createChatStorage,d as createFileArtifactsStore,b as createInMemoryChatStorage,f as createQueueLaneRegistry}from'./chunk-MLVTJASJ.js';import {a as a$1}from'./chunk-CIAJNUR4.js';import'./chunk-HEEDJEKM.js';import {g,y as y$1}from'./chunk-N6P2JW4W.js';export{n as BOARD_GRAPH_KEY,u as EMPTY_CONFIG,m as SNAPSHOT_SCHEMA_VERSION_V1,z as createBoardLiveCardsNonCorePublic,y as createBoardLiveCardsPublic,l as createCardStore,e as createHttpBoardCallbackTransport,f as createInProcessBoardCallbackTransport,g as createLocalNodeBoardCallbackTransport}from'./chunk-N6P2JW4W.js';export{a as executionRefFromScriptPath,c as parseExecutionRef,b as serializeExecutionRef}from'./chunk-XQRNDX4Q.js';import {a as a$2,b as b$1}from'./chunk-BQS3EIEK.js';export{b as parseRef,a as serializeRef}from'./chunk-BQS3EIEK.js';import'./chunk-VGT3TRQG.js';import'./chunk-WDPOGXTY.js';export{a as createBoardLiveCardsMcp}from'./chunk-SCWHDI3I.js';import'./chunk-JMDHDY6M.js';import {d}from'./chunk-VLBB3D6B.js';import'./chunk-MNEOJWPS.js';export{a as createCardStorePublic}from'./chunk-KBELAKIY.js';export{a as createArtifactsStorePublic}from'./chunk-X3LC4LII.js';import'./chunk-FW4363Y4.js';import {spawnSync,spawn,execFile,execFileSync}from'child_process';import*as a from'fs';import*as Ee from'os';import*as y from'path';import*as Te from'net';import {fileURLToPath}from'url';import {randomUUID,createHash}from'crypto';import {createRequire}from'module';import {lockSync}from'proper-lockfile';function b(...e){return y.join(...e)}function Be(e){return y.isAbsolute(e)}function X(){return randomUUID()}function Ie(e){return createHash("sha256").update(e).digest("hex")}function Ce(e){return y.dirname(fileURLToPath(e))}function wt(e){if(typeof e=="object"&&e!==null){let{command:r,args:n=[],...o}=e,s=Ae(r,n);return {...o,command:s.command,args:s.args}}let t=Fe(e);if(t.length===0)throw new Error(`Empty command spec: ${JSON.stringify(e)}`);return Ae(t[0],t.slice(1))}function Ae(e,t){return /^(node|node\.exe)$/i.test(e)?{command:process.execPath,args:t}:/\.m?js$/i.test(e)?{command:process.execPath,args:[e,...t]}:{command:e,args:t}}function Fe(e){let t=[],r="",n=null;for(let o of e.trim()){if(n){o===n?n=null:r+=o;continue}if(o==='"'||o==="'"){n=o;continue}if(/\s/.test(o)){r&&(t.push(r),r="");continue}r+=o;}if(n)throw new Error(`Unterminated quote in command: ${e}`);return r&&t.push(r),t}function Me(e){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(e)}function je(e,t){let{command:r,args:n=[],cwd:o,env:s,timeoutMs:u}=e;return execFileSync(r,n,{shell:Me(r),timeout:u,encoding:t?.encoding??"utf-8",cwd:o,windowsHide:true,env:s?{...process.env,...s}:void 0,input:t?.input})}function kt(e,t){let{command:r,args:n=[],cwd:o,env:s,timeoutMs:u=3e4}=e;execFile(r,n,{shell:Me(r),encoding:"utf8",windowsHide:true,timeout:u,maxBuffer:10*1024*1024,cwd:o,env:s?{...process.env,...s}:void 0},(l,g,i)=>t(l??null,g,i));}function $e(e,t,r){let n=y.join(e,"board-live-cards-cli.js");if(a.existsSync(n))return {cmd:process.execPath,args:[n,t,...r]};let o=y.join(e,"board-live-cards-cli.ts"),u=[y.join(e,"..","..","..","node_modules","tsx","dist","cli.mjs"),y.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),y.join(e,"..","..","..","node_modules",".bin","tsx"),y.join(e,"..","..","node_modules",".bin","tsx")].find(g=>a.existsSync(g));return a.existsSync(o)&&u?{cmd:process.execPath,args:[u,o,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",o,t,...r]}}function Pe(e){let t=y.join(e,"board-live-cards-cli.mjs");if(a.existsSync(t))return t;let r=y.join(e,"..","..","..","dev","board-live-cards-cli.js");if(a.existsSync(r))return r;let n=y.join(e,"..","..","dev","board-live-cards-cli.js");if(a.existsSync(n))return n;let o=y.join(e,"board-live-cards-cli.js");if(a.existsSync(o))return o;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${e} (expected dev/board-live-cards-cli.js wrapper, ${o}, or ${t})`)}function vt(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:y.join(Ee.tmpdir(),`${e}.sock`)}var Z=new Map;function Le(e,t,r){if(t.length===0)return;let n=t.map(l=>JSON.stringify(l)).join(`
1
+ import'./chunk-EGRHWZRV.js';import {a as a$2,c}from'./chunk-6APH25VI.js';export{c as createArtifactsStore,e as createCardFileMetadataStore,a as createChatStorage,d as createFileArtifactsStore,b as createInMemoryChatStorage}from'./chunk-6APH25VI.js';export{a as createQueueLaneRegistry}from'./chunk-VXJHBWK3.js';import {a}from'./chunk-CIAJNUR4.js';import'./chunk-HEEDJEKM.js';import {g,y as y$1}from'./chunk-N6P2JW4W.js';export{n as BOARD_GRAPH_KEY,u as EMPTY_CONFIG,m as SNAPSHOT_SCHEMA_VERSION_V1,z as createBoardLiveCardsNonCorePublic,y as createBoardLiveCardsPublic,l as createCardStore,e as createHttpBoardCallbackTransport,f as createInProcessBoardCallbackTransport,g as createLocalNodeBoardCallbackTransport}from'./chunk-N6P2JW4W.js';export{a as executionRefFromScriptPath,c as parseExecutionRef,b as serializeExecutionRef}from'./chunk-XQRNDX4Q.js';import {a as a$1,b as b$1}from'./chunk-BQS3EIEK.js';export{b as parseRef,a as serializeRef}from'./chunk-BQS3EIEK.js';import'./chunk-VGT3TRQG.js';import'./chunk-WDPOGXTY.js';export{a as createBoardLiveCardsMcp}from'./chunk-PRHQBGPT.js';import'./chunk-JMDHDY6M.js';import {d}from'./chunk-VLBB3D6B.js';import'./chunk-MNEOJWPS.js';export{a as createCardStorePublic}from'./chunk-KBELAKIY.js';export{a as createArtifactsStorePublic}from'./chunk-X3LC4LII.js';import'./chunk-FW4363Y4.js';import {spawnSync,spawn,execFile,execFileSync}from'child_process';import*as i from'fs';import*as Ee from'os';import*as y from'path';import*as Te from'net';import {fileURLToPath}from'url';import {randomUUID,createHash}from'crypto';import {createRequire}from'module';import {lockSync}from'proper-lockfile';function b(...e){return y.join(...e)}function Be(e){return y.isAbsolute(e)}function X(){return randomUUID()}function Ie(e){return createHash("sha256").update(e).digest("hex")}function Ce(e){return y.dirname(fileURLToPath(e))}function kt(e){if(typeof e=="object"&&e!==null){let{command:r,args:n=[],...o}=e,s=Ae(r,n);return {...o,command:s.command,args:s.args}}let t=Me(e);if(t.length===0)throw new Error(`Empty command spec: ${JSON.stringify(e)}`);return Ae(t[0],t.slice(1))}function Ae(e,t){return /^(node|node\.exe)$/i.test(e)?{command:process.execPath,args:t}:/\.m?js$/i.test(e)?{command:process.execPath,args:[e,...t]}:{command:e,args:t}}function Me(e){let t=[],r="",n=null;for(let o of e.trim()){if(n){o===n?n=null:r+=o;continue}if(o==='"'||o==="'"){n=o;continue}if(/\s/.test(o)){r&&(t.push(r),r="");continue}r+=o;}if(n)throw new Error(`Unterminated quote in command: ${e}`);return r&&t.push(r),t}function Fe(e){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(e)}function je(e,t){let{command:r,args:n=[],cwd:o,env:s,timeoutMs:u}=e;return execFileSync(r,n,{shell:Fe(r),timeout:u,encoding:t?.encoding??"utf-8",cwd:o,windowsHide:true,env:s?{...process.env,...s}:void 0,input:t?.input})}function wt(e,t){let{command:r,args:n=[],cwd:o,env:s,timeoutMs:u=3e4}=e;execFile(r,n,{shell:Fe(r),encoding:"utf8",windowsHide:true,timeout:u,maxBuffer:10*1024*1024,cwd:o,env:s?{...process.env,...s}:void 0},(l,g,a)=>t(l??null,g,a));}function $e(e,t,r){let n=y.join(e,"board-live-cards-cli.js");if(i.existsSync(n))return {cmd:process.execPath,args:[n,t,...r]};let o=y.join(e,"board-live-cards-cli.ts"),u=[y.join(e,"..","..","..","node_modules","tsx","dist","cli.mjs"),y.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),y.join(e,"..","..","..","node_modules",".bin","tsx"),y.join(e,"..","..","node_modules",".bin","tsx")].find(g=>i.existsSync(g));return i.existsSync(o)&&u?{cmd:process.execPath,args:[u,o,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",o,t,...r]}}function Pe(e){let t=y.join(e,"board-live-cards-cli.mjs");if(i.existsSync(t))return t;let r=y.join(e,"..","..","..","dev","board-live-cards-cli.js");if(i.existsSync(r))return r;let n=y.join(e,"..","..","dev","board-live-cards-cli.js");if(i.existsSync(n))return n;let o=y.join(e,"board-live-cards-cli.js");if(i.existsSync(o))return o;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${e} (expected dev/board-live-cards-cli.js wrapper, ${o}, or ${t})`)}function vt(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:y.join(Ee.tmpdir(),`${e}.sock`)}var Z=new Map;function qe(e,t,r){if(t.length===0)return;let n=t.map(l=>JSON.stringify(l)).join(`
2
2
  `)+`
3
- `,o=Z.get(e);if(o&&!o.socket.destroyed){o.ready?o.socket.write(n):o.queue.push(n);return}let s=vt(e),u=Te.createConnection(s);o={socket:u,ready:false,queue:[n]},Z.set(e,o),u.on("connect",()=>{o.ready=true;for(let l of o.queue)u.write(l);o.queue.length=0;}),u.on("error",l=>{r?.(`[named-pipe publish] ${s}: ${l instanceof Error?l.message:String(l)}`),Z.delete(e);}),u.on("close",()=>{Z.delete(e);});}function qe(){return {executeSync(e,t,r){return je({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(e,t,r){kt({command:e,args:t},r);},resolveInvocation(e,t){let r=wt({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:Fe}}function fe(e){return {id:e.id??"board-worker",pollIntervalMs:e.pollIntervalMs,visibilityMs:e.visibilityMs,concurrency:e.concurrency,maxAttempts:e.maxAttempts,async lease(t){return e.workerStore.leaseRequests(t).map(r=>({id:r.messageId,attempt:r.attempt,message:r.request,ack:()=>e.workerStore.ackRequest(r.messageId,r.leaseToken),nack:n=>e.workerStore.nackRequest(r.messageId,r.leaseToken,n)}))},async handle(t){await e.handleRequest(t.args,t);},onError:e.onError}}function pe(e){return {id:e.id,pollIntervalMs:e.pollIntervalMs,visibilityMs:e.visibilityMs,concurrency:e.concurrency,maxAttempts:e.maxAttempts,async lease(t){return e.queueStorage.lease(t).map(r=>({id:r.id,attempt:r.attempt,message:r.body,ack:()=>e.queueStorage.ack(r.id,r.leaseToken),nack:n=>e.queueStorage.nack(r.id,r.leaseToken,n)}))},handle:e.handleMessage,onError:e.onError}}async function Oe(e,t){try{await e.handle(t.message,t),await t.ack();}catch(r){let n=t.attempt>=Math.max(1,Math.floor(e.maxAttempts??5));await t.nack({dead:n,reason:r instanceof Error?r.message:String(r)}),e.onError?.(r,t);}}function Qe(e){let t=Math.max(1,Math.floor(e.pollIntervalMs??250)),r=Math.max(1,Math.floor(e.visibilityMs??6e4)),n=Math.max(1,Math.floor(e.concurrency??1)),o=false,s=false;async function u(){if(!(o||s)){s=true;try{let g=await e.lease({max:n,visibilityMs:r});for(let i of g)await Oe(e,i);}finally{s=false;}}}let l=setInterval(()=>{u();},t);return typeof l.unref=="function"&&l.unref(),u(),()=>{o=true,clearInterval(l);}}async function bt(e){let t=Math.max(1,Math.floor(e.visibilityMs??6e4)),r=Math.max(1,Math.floor(e.concurrency??1)),n=await e.lease({max:r,visibilityMs:t});for(let o of n)await Oe(e,o);return n.length}async function ee(e,t){let r=Math.max(1,Math.floor(t?.maxPasses??256)),n=0;for(let o=0;o<r;o+=1){let s=await bt(e);if(n+=s,s<=0)return n}throw new Error(`drainQueueLaneToIdle exceeded ${r} passes for lane "${e.id}"`)}function At(e){let r=(Array.isArray(e)?e:e.lanes).map(n=>Qe(n));return ()=>{for(let n of r)n();}}var Tt=createRequire(import.meta.url);function Bt(e){return typeof e=="object"?e:b$1(e)}function Ne(e){let t=y.basename(String(e||"").trim());if(!t)throw new Error(`resolveYamlFlowCliPath: expected non-empty cli file name, got ${JSON.stringify(e)}`);let r=y.dirname(Tt.resolve("yaml-flow/package.json")),n=t.replace(/\.[^.]+$/,""),o=y.join(r,"cli","bundled",`${n}.mjs`);if(a.existsSync(o))return o;let s=y.join(r,"cli","node",t);if(a.existsSync(s))return s;throw new Error(`resolveYamlFlowCliPath: could not find ${t} under cli/bundled or cli/node in ${r}`)}function $(e){let t=Bt(e);return t.kind==="yaml-flow-cli"?Ne(t.value):t.value}function It(e,t){let r=$(e);switch(r){case "source-cli-task-executor":{let n=y.join(t,"source-cli-task-executor.js");if(a.existsSync(n))return {command:process.execPath,args:[n]};let o=y.join(t,"source-cli-task-executor.ts"),s=y.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),u=y.join(t,"..","..","node_modules",".bin","tsx"),l=a.existsSync(s)?s:u;return a.existsSync(o)&&a.existsSync(l)?{command:process.execPath,args:[l,o]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:o}=$e(t,"_",[]);return {command:n,args:o}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function Ct(e,t){if(e.howToRun==="built-in"){let{command:n,args:o}=It(e.whatToRun,t);return {command:n,baseArgs:o}}let r=(typeof e.whatToRun=="object",$(e.whatToRun));switch(e.howToRun){case "local-node":return {command:process.execPath,baseArgs:[r]};case "local-python":return {command:process.platform==="win32"?"python":"python3",baseArgs:[r]};case "local-process":return {command:r,baseArgs:[]};default:throw new Error(`resolveBaseInvocation: howToRun "${e.howToRun}" is not a local transport`)}}function te(e,t){return Ct(e,t)}var ge=new Map;function Ft(e,t){let r=String(e||"").trim();if(!r)throw new Error("registerInProcessExecutionHandler: key is required");ge.set(r,t);}function Mt(e){let t=String(e||"").trim();t&&ge.delete(t);}function _e(e){let t=e.trim();if(!t)throw new Error("empty stdout");try{return JSON.parse(t)}catch{let r=t.split(/\r?\n/).filter(Boolean),n=r[r.length-1];return JSON.parse(n)}}function Je(e,t){return {...t,whatToRun:$(e.whatToRun),...e.extra?{extra:e.extra}:{}}}function me(e,t,r="invokeExecutionRef"){return a$1(e,t,r)}function De(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.result=="string"&&e.data&&typeof e.data=="object"&&!Array.isArray(e.data))return {...e,...t||{}};if(e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.status=="string"){let n=e,o=n.status==="success"?"success":n.status==="fail"?"failure":n.status,s=n.data&&typeof n.data=="object"&&!Array.isArray(n.data)?n.data:n.data===void 0?{}:{stdout:n.data};return {result:o,data:s,...typeof n.error=="string"?{error:n.error}:{},...t||{}}}return {result:"success",data:e&&typeof e=="object"&&!Array.isArray(e)?e:{stdout:e},...t||{}}}function j(e){return {result:"failure",data:{error:e}}}function q(e,t,r){let n=r?.label??"invokeExecutionRefSync",o=r?.cliDir??r?.cwd??process.cwd(),s;try{s=me(e.argsMassaging,Je(e,t),n);}catch(d){let f=d instanceof Error?d.message:String(d);return j(f)}let u;try{u=te(e,o);}catch(d){let f=d instanceof Error?d.message:String(d);return j(`[${n}] ref resolution failed: ${f}`)}let l=[...u.baseArgs,...s.cmdArgs??[]],g=JSON.stringify(s.stdin??t),i=qe(),c;try{c=i.executeSync(u.command,l,{timeout:r?.timeoutMs??3e4,encoding:"utf-8",cwd:r?.cwd,input:g});}catch(d){let f=d,m=(f.stderr?String(f.stderr):"").trim(),S=typeof f.status=="number"?f.status:"unknown",h=m||f.message;return j(`[${n}] ref exited with status ${S}${h?`: ${h}`:""}`)}try{return De(_e(c))}catch{return {result:"success",data:{stdout:c.trim()}}}}async function We(e,t,r){let n=r?.label??"invokeExecutionRef",o;try{o=me(e.argsMassaging,Je(e,t),n);}catch(d){let f=d instanceof Error?d.message:String(d);return j(f)}let s=$(e.whatToRun),u=o.headers?{"Content-Type":"application/json",...o.headers}:{"Content-Type":"application/json"},l=o.url??s,g;if(e.howToRun==="http:get"){let d=o.body&&typeof o.body=="object"&&!Array.isArray(o.body)?o.body:t,f=new URLSearchParams(Object.entries(d).filter(([,m])=>m!=null).map(([m,S])=>[m,String(S)]));f.size>0&&(l=`${l}${l.includes("?")?"&":"?"}${f.toString()}`);}else g=JSON.stringify(o.body??t);let i={method:e.howToRun==="http:get"?"GET":"POST",headers:u,body:g},c=0;for(;;)try{let d=await fetch(l,i);if(!d.ok){let h=await d.text().catch(()=>"");return j(`[${n}] HTTP ${d.status}${h?`: ${h}`:""}`)}let f={};d.headers.forEach((h,k)=>{f[k]=h;});let m=new Uint8Array(await d.arrayBuffer());if(m.byteLength===0)return {result:"success",data:{},headers:f};let S=new TextDecoder().decode(m);try{return De(_e(S),{headers:f})}catch{return {result:"success",data:{stdout:S},headers:f}}}catch(d){let f=d?.cause,m=f&&typeof f=="object"&&"code"in f?String(f.code||""):"";if((m==="ECONNRESET"||m==="UND_ERR_SOCKET")&&c===0){c+=1;continue}let h=d instanceof Error?d.message:String(d),k=f instanceof Error?`${f.name}: ${f.message}${m?` [${m}]`:""}`:f?String(f):"",p=o.url??s??"",x=`${h}${k?` (cause: ${k})`:""}${p?` url=${p}`:""}`;return j(`[${n}] ${x}`)}}async function jt(e,t,r){let n=r?.label??"invokeExecutionRef",o=$(e.whatToRun).trim();if(!o)return j(`[${n}] in-process-loop requires a non-empty handler key`);let s=ge.get(o);if(!s)return j(`[${n}] no in-process handler registered for: ${o}`);try{return await s(e,t,r)}catch(u){let l=u instanceof Error?u.message:String(u);return j(`[${n}] ${l}`)}}var $t={"local-node":async(e,t,r)=>q(e,t,r),"local-python":async(e,t,r)=>q(e,t,r),"local-process":async(e,t,r)=>q(e,t,r),"built-in":async(e,t,r)=>q(e,t,r),"http:post":We,"http:get":We,"in-process-loop":jt},Pt={"local-node":q,"local-python":q,"local-process":q,"built-in":q};async function D(e,t,r){let n=r?.transports?.[e.howToRun]??$t[e.howToRun];return n?n(e,t,r):j(`[${r?.label??"invokeExecutionRef"}] unsupported howToRun: ${e.howToRun}`)}function ye(e,t,r){let n=r?.syncTransports?.[e.howToRun]??Pt[e.howToRun];return n?n(e,t,r):j(`[${r?.label??"invokeExecutionRefSync"}] unsupported sync howToRun: ${e.howToRun}`)}function Lt(e){return {invoke(t,r){return D(t,r,e)},invokeSync(t,r){return ye(t,r,e)}}}function qt(e,t,r){return ye(e,t,r)}function he(e){return {messageId:e.id,enqueuedAt:e.enqueuedAt,attempt:e.attempt,request:e.body}}function Ot(e){return {...he(e),leaseToken:e.leaseToken,leaseExpiresAt:e.leaseExpiresAt}}function Qt(e){return {...he(e),reason:e.reason}}function H(e){return {enqueueRequest(t){return e.enqueue(t).id},enqueueRequestIfAbsent:e.enqueueIfAbsent?(t,r)=>{let n=e.enqueueIfAbsent(t,r);return n?n.id:null}:void 0,leaseRequests(t){return e.lease(t).map(Ot)},ackRequest(t,r){return e.ack(t,r)},nackRequest(t,r,n){return e.nack(t,r,n)},peekActive(){return e.peekActive().map(he)},peekDeadLetter(){return e.peekDeadLetter().map(Qt)}}}function C(e,t){if(process.platform!=="win32"){a.renameSync(e,t);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{a.renameSync(e,t);return}catch(o){let s=o.code;if((s==="EPERM"||s==="EBUSY")&&n<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[n]);continue}throw o}}function U(e){function t(o){return y.join(e,...o.split("/"))}function r(o){return y.relative(e,o).replace(/\\/g,"/")}function n(o,s){if(a.existsSync(o))for(let u of a.readdirSync(o,{withFileTypes:true})){let l=y.join(o,u.name);if(u.isDirectory()){n(l,s);continue}u.isFile()&&s.push(r(l));}}return {read(o){let s=t(o);if(!a.existsSync(s))return null;try{return a.readFileSync(s,"utf-8")}catch{return null}},write(o,s){let u=t(o),l=`${u}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(y.dirname(u),{recursive:true}),a.writeFileSync(l,s,"utf-8"),C(l,u);},exists(o){return a.existsSync(t(o))},remove(o){let s=t(o);try{a.existsSync(s)&&a.unlinkSync(s);}catch{}},readBytes(o){let s=t(o);if(!a.existsSync(s))return null;try{return new Uint8Array(a.readFileSync(s))}catch{return null}},writeBytes(o,s){let u=t(o),l=`${u}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(y.dirname(u),{recursive:true}),a.writeFileSync(l,Buffer.from(s)),C(l,u);},listKeys(o){let s=[];n(e,s);let u=s.sort();return o?u.filter(l=>l.startsWith(o)):u},stat(o){let s=t(o);if(!a.existsSync(s))return null;try{let u=a.statSync(s);return {key:o,size:Number(u.size||0),updatedAt:new Date(u.mtimeMs).toISOString()}}catch{return null}},keyRef(o){return {kind:"fs-path",value:t(o)}}}}function we(){return {read(e){if(!a.existsSync(e))return null;try{return a.readFileSync(e,"utf-8")}catch{return null}},write(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(y.dirname(e),{recursive:true}),a.writeFileSync(r,t,"utf-8"),C(r,e);},exists(e){return a.existsSync(e)},remove(e){try{a.existsSync(e)&&a.unlinkSync(e);}catch{}},readBytes(e){if(!a.existsSync(e))return null;try{return new Uint8Array(a.readFileSync(e))}catch{return null}},writeBytes(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(y.dirname(e),{recursive:true}),a.writeFileSync(r,Buffer.from(t)),C(r,e);},stat(e){if(!a.existsSync(e))return null;try{let t=a.statSync(e);return {key:e,size:Number(t.size||0),updatedAt:new Date(t.mtimeMs).toISOString()}}catch{return null}},listKeys(e){return []}}}function K(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(y.dirname(e),{recursive:true}),a.writeFileSync(r,JSON.stringify(t,null,2),"utf-8"),C(r,e);}function N(e){if(!a.existsSync(e))return null;try{return JSON.parse(a.readFileSync(e,"utf-8"))}catch{return null}}function V(e){return a.existsSync(e)?a.readdirSync(e).filter(t=>t.endsWith(".json")).sort().map(t=>y.join(e,t)):[]}function z(e){return {id:e.id,body:e.body,enqueuedAt:e.enqueuedAt,attempt:e.attempt}}function _t(e){return {...z(e),leaseToken:String(e.leaseToken||""),leaseExpiresAt:String(e.leaseExpiresAt||"")}}function Jt(e){return {...z(e),reason:e.reason}}function _(e){let t=y.join(e,"active"),r=y.join(e,"leased"),n=y.join(e,"done"),o=y.join(e,"dead");for(let c of [t,r,n,o])a.mkdirSync(c,{recursive:true});function s(c){let d=String(c.enqueuedAt||new Date().toISOString()).replace(/[:.]/g,"-");return y.join(t,`${d}-${c.id}.json`)}function u(c){return y.join(r,`${c}.json`)}function l(c){return y.join(n,`${c}.json`)}function g(c){return y.join(o,`${c}.json`)}function i(){let c=Date.now();for(let d of V(r)){let f=N(d);if(!f?.leaseExpiresAt)continue;let m=Date.parse(f.leaseExpiresAt);if(Number.isNaN(m)||m>c)continue;let S={id:f.id,body:f.body,enqueuedAt:f.enqueuedAt,attempt:f.attempt};K(s(S),S);try{a.unlinkSync(d);}catch{}}}return {enqueue(c){let d={id:randomUUID(),body:c,enqueuedAt:new Date().toISOString(),attempt:0};return K(s(d),d),z(d)},enqueueIfAbsent(c,d){i();for(let m of [t,r])for(let S of V(m))if(N(S)?.dedupKey===d)return null;let f={id:randomUUID(),body:c,enqueuedAt:new Date().toISOString(),attempt:0,dedupKey:d};return K(s(f),f),z(f)},lease(c){i();let d=Math.max(1,Math.floor(c?.max??1)),f=Math.max(1,Math.floor(c?.visibilityMs??6e4)),m=[];for(let S of V(t)){if(m.length>=d)break;let h=N(S);if(!h)continue;let k=u(h.id);try{C(S,k);}catch{continue}let p={...h,attempt:(Number(h.attempt)||0)+1,leaseToken:randomUUID(),leaseExpiresAt:new Date(Date.now()+f).toISOString()};K(k,p),m.push(_t(p));}return m},ack(c,d){let f=u(c),m=N(f);if(!m||m.leaseToken!==d)return false;try{C(f,l(c));}catch{return false}return true},nack(c,d,f){let m=u(c),S=N(m);if(!S||S.leaseToken!==d)return false;let h={id:S.id,body:S.body,enqueuedAt:S.enqueuedAt,attempt:S.attempt};f?.dead?(h.reason=f.reason,K(g(c),h)):K(s(h),h);try{a.unlinkSync(m);}catch{}return true},peekActive(c){return i(),V(t).map(d=>N(d)).filter(d=>!!d).map(z)},peekDeadLetter(c){return V(o).map(d=>N(d)).filter(d=>!!d).map(Jt)}}}var Se="__scratch-marker",Re="__scratch-config.json",Dt=1440*60*1e3,Ht=720*60*1e3,Kt=500;function He(e,t){if(!e)return t;let r=e.replace(/[^A-Za-z0-9._-]/g,"_");return r.length>0?r:t}function G(e){a.mkdirSync(e,{recursive:true});let t=y.join(e,Se),r=y.join(e,Re),n=!a.existsSync(t);if(n)try{a.writeFileSync(t,`scratch-store
3
+ `,o=Z.get(e);if(o&&!o.socket.destroyed){o.ready?o.socket.write(n):o.queue.push(n);return}let s=vt(e),u=Te.createConnection(s);o={socket:u,ready:false,queue:[n]},Z.set(e,o),u.on("connect",()=>{o.ready=true;for(let l of o.queue)u.write(l);o.queue.length=0;}),u.on("error",l=>{r?.(`[named-pipe publish] ${s}: ${l instanceof Error?l.message:String(l)}`),Z.delete(e);}),u.on("close",()=>{Z.delete(e);});}function Le(){return {executeSync(e,t,r){return je({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(e,t,r){wt({command:e,args:t},r);},resolveInvocation(e,t){let r=kt({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:Me}}function fe(e){return {id:e.id??"board-worker",pollIntervalMs:e.pollIntervalMs,visibilityMs:e.visibilityMs,concurrency:e.concurrency,maxAttempts:e.maxAttempts,async lease(t){return e.workerStore.leaseRequests(t).map(r=>({id:r.messageId,attempt:r.attempt,message:r.request,ack:()=>e.workerStore.ackRequest(r.messageId,r.leaseToken),nack:n=>e.workerStore.nackRequest(r.messageId,r.leaseToken,n)}))},async handle(t){await e.handleRequest(t.args,t);},onError:e.onError}}function pe(e){return {id:e.id,pollIntervalMs:e.pollIntervalMs,visibilityMs:e.visibilityMs,concurrency:e.concurrency,maxAttempts:e.maxAttempts,async lease(t){return e.queueStorage.lease(t).map(r=>({id:r.id,attempt:r.attempt,message:r.body,ack:()=>e.queueStorage.ack(r.id,r.leaseToken),nack:n=>e.queueStorage.nack(r.id,r.leaseToken,n)}))},handle:e.handleMessage,onError:e.onError}}async function Qe(e,t){try{await e.handle(t.message,t),await t.ack();}catch(r){let n=t.attempt>=Math.max(1,Math.floor(e.maxAttempts??5));await t.nack({dead:n,reason:r instanceof Error?r.message:String(r)}),e.onError?.(r,t);}}function Oe(e){let t=Math.max(1,Math.floor(e.pollIntervalMs??250)),r=Math.max(1,Math.floor(e.visibilityMs??6e4)),n=Math.max(1,Math.floor(e.concurrency??1)),o=false,s=false;async function u(){if(!(o||s)){s=true;try{let g=await e.lease({max:n,visibilityMs:r});for(let a of g)await Qe(e,a);}finally{s=false;}}}let l=setInterval(()=>{u();},t);return typeof l.unref=="function"&&l.unref(),u(),()=>{o=true,clearInterval(l);}}async function bt(e){let t=Math.max(1,Math.floor(e.visibilityMs??6e4)),r=Math.max(1,Math.floor(e.concurrency??1)),n=await e.lease({max:r,visibilityMs:t});for(let o of n)await Qe(e,o);return n.length}async function ee(e,t){let r=Math.max(1,Math.floor(t?.maxPasses??256)),n=0;for(let o=0;o<r;o+=1){let s=await bt(e);if(n+=s,s<=0)return n}throw new Error(`drainQueueLaneToIdle exceeded ${r} passes for lane "${e.id}"`)}function At(e){let r=(Array.isArray(e)?e:e.lanes).map(n=>Oe(n));return ()=>{for(let n of r)n();}}var Tt=createRequire(import.meta.url);function Bt(e){return typeof e=="object"?e:b$1(e)}function _e(e){let t=y.basename(String(e||"").trim());if(!t)throw new Error(`resolveYamlFlowCliPath: expected non-empty cli file name, got ${JSON.stringify(e)}`);let r=y.dirname(Tt.resolve("yaml-flow/package.json")),n=t.replace(/\.[^.]+$/,""),o=y.join(r,"cli","bundled",`${n}.mjs`);if(i.existsSync(o))return o;let s=y.join(r,"cli","node",t);if(i.existsSync(s))return s;throw new Error(`resolveYamlFlowCliPath: could not find ${t} under cli/bundled or cli/node in ${r}`)}function $(e){let t=Bt(e);return t.kind==="yaml-flow-cli"?_e(t.value):t.value}function It(e,t){let r=$(e);switch(r){case "source-cli-task-executor":{let n=y.join(t,"source-cli-task-executor.js");if(i.existsSync(n))return {command:process.execPath,args:[n]};let o=y.join(t,"source-cli-task-executor.ts"),s=y.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),u=y.join(t,"..","..","node_modules",".bin","tsx"),l=i.existsSync(s)?s:u;return i.existsSync(o)&&i.existsSync(l)?{command:process.execPath,args:[l,o]}:{command:process.execPath,args:[n]}}case "board-live-cards":{let{cmd:n,args:o}=$e(t,"_",[]);return {command:n,args:o}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function Ct(e,t){if(e.howToRun==="built-in"){let{command:n,args:o}=It(e.whatToRun,t);return {command:n,baseArgs:o}}let r=(typeof e.whatToRun=="object",$(e.whatToRun));switch(e.howToRun){case "local-node":return {command:process.execPath,baseArgs:[r]};case "local-python":return {command:process.platform==="win32"?"python":"python3",baseArgs:[r]};case "local-process":return {command:r,baseArgs:[]};default:throw new Error(`resolveBaseInvocation: howToRun "${e.howToRun}" is not a local transport`)}}function te(e,t){return Ct(e,t)}var ge=new Map;function Mt(e,t){let r=String(e||"").trim();if(!r)throw new Error("registerInProcessExecutionHandler: key is required");ge.set(r,t);}function Ft(e){let t=String(e||"").trim();t&&ge.delete(t);}function Ne(e){let t=e.trim();if(!t)throw new Error("empty stdout");try{return JSON.parse(t)}catch{let r=t.split(/\r?\n/).filter(Boolean),n=r[r.length-1];return JSON.parse(n)}}function Je(e,t){return {...t,whatToRun:$(e.whatToRun),...e.extra?{extra:e.extra}:{}}}function me(e,t,r="invokeExecutionRef"){return a(e,t,r)}function De(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.result=="string"&&e.data&&typeof e.data=="object"&&!Array.isArray(e.data))return {...e,...t||{}};if(e&&typeof e=="object"&&!Array.isArray(e)&&typeof e.status=="string"){let n=e,o=n.status==="success"?"success":n.status==="fail"?"failure":n.status,s=n.data&&typeof n.data=="object"&&!Array.isArray(n.data)?n.data:n.data===void 0?{}:{stdout:n.data};return {result:o,data:s,...typeof n.error=="string"?{error:n.error}:{},...t||{}}}return {result:"success",data:e&&typeof e=="object"&&!Array.isArray(e)?e:{stdout:e},...t||{}}}function j(e){return {result:"failure",data:{error:e}}}function L(e,t,r){let n=r?.label??"invokeExecutionRefSync",o=r?.cliDir??r?.cwd??process.cwd(),s;try{s=me(e.argsMassaging,Je(e,t),n);}catch(d){let f=d instanceof Error?d.message:String(d);return j(f)}let u;try{u=te(e,o);}catch(d){let f=d instanceof Error?d.message:String(d);return j(`[${n}] ref resolution failed: ${f}`)}let l=[...u.baseArgs,...s.cmdArgs??[]],g=JSON.stringify(s.stdin??t),a=Le(),c;try{c=a.executeSync(u.command,l,{timeout:r?.timeoutMs??3e4,encoding:"utf-8",cwd:r?.cwd,input:g});}catch(d){let f=d,m=(f.stderr?String(f.stderr):"").trim(),S=typeof f.status=="number"?f.status:"unknown",h=m||f.message;return j(`[${n}] ref exited with status ${S}${h?`: ${h}`:""}`)}try{return De(Ne(c))}catch{return {result:"success",data:{stdout:c.trim()}}}}async function We(e,t,r){let n=r?.label??"invokeExecutionRef",o;try{o=me(e.argsMassaging,Je(e,t),n);}catch(d){let f=d instanceof Error?d.message:String(d);return j(f)}let s=$(e.whatToRun),u=o.headers?{"Content-Type":"application/json",...o.headers}:{"Content-Type":"application/json"},l=o.url??s,g;if(e.howToRun==="http:get"){let d=o.body&&typeof o.body=="object"&&!Array.isArray(o.body)?o.body:t,f=new URLSearchParams(Object.entries(d).filter(([,m])=>m!=null).map(([m,S])=>[m,String(S)]));f.size>0&&(l=`${l}${l.includes("?")?"&":"?"}${f.toString()}`);}else g=JSON.stringify(o.body??t);let a={method:e.howToRun==="http:get"?"GET":"POST",headers:u,body:g},c=0;for(;;)try{let d=await fetch(l,a);if(!d.ok){let h=await d.text().catch(()=>"");return j(`[${n}] HTTP ${d.status}${h?`: ${h}`:""}`)}let f={};d.headers.forEach((h,w)=>{f[w]=h;});let m=new Uint8Array(await d.arrayBuffer());if(m.byteLength===0)return {result:"success",data:{},headers:f};let S=new TextDecoder().decode(m);try{return De(Ne(S),{headers:f})}catch{return {result:"success",data:{stdout:S},headers:f}}}catch(d){let f=d?.cause,m=f&&typeof f=="object"&&"code"in f?String(f.code||""):"";if((m==="ECONNRESET"||m==="UND_ERR_SOCKET")&&c===0){c+=1;continue}let h=d instanceof Error?d.message:String(d),w=f instanceof Error?`${f.name}: ${f.message}${m?` [${m}]`:""}`:f?String(f):"",p=o.url??s??"",x=`${h}${w?` (cause: ${w})`:""}${p?` url=${p}`:""}`;return j(`[${n}] ${x}`)}}async function jt(e,t,r){let n=r?.label??"invokeExecutionRef",o=$(e.whatToRun).trim();if(!o)return j(`[${n}] in-process-loop requires a non-empty handler key`);let s=ge.get(o);if(!s)return j(`[${n}] no in-process handler registered for: ${o}`);try{return await s(e,t,r)}catch(u){let l=u instanceof Error?u.message:String(u);return j(`[${n}] ${l}`)}}var $t={"local-node":async(e,t,r)=>L(e,t,r),"local-python":async(e,t,r)=>L(e,t,r),"local-process":async(e,t,r)=>L(e,t,r),"built-in":async(e,t,r)=>L(e,t,r),"http:post":We,"http:get":We,"in-process-loop":jt},Pt={"local-node":L,"local-python":L,"local-process":L,"built-in":L};async function D(e,t,r){let n=r?.transports?.[e.howToRun]??$t[e.howToRun];return n?n(e,t,r):j(`[${r?.label??"invokeExecutionRef"}] unsupported howToRun: ${e.howToRun}`)}function ye(e,t,r){let n=r?.syncTransports?.[e.howToRun]??Pt[e.howToRun];return n?n(e,t,r):j(`[${r?.label??"invokeExecutionRefSync"}] unsupported sync howToRun: ${e.howToRun}`)}function qt(e){return {invoke(t,r){return D(t,r,e)},invokeSync(t,r){return ye(t,r,e)}}}function Lt(e,t,r){return ye(e,t,r)}function he(e){return {messageId:e.id,enqueuedAt:e.enqueuedAt,attempt:e.attempt,request:e.body}}function Qt(e){return {...he(e),leaseToken:e.leaseToken,leaseExpiresAt:e.leaseExpiresAt}}function Ot(e){return {...he(e),reason:e.reason}}function H(e){return {enqueueRequest(t){return e.enqueue(t).id},enqueueRequestIfAbsent:e.enqueueIfAbsent?(t,r)=>{let n=e.enqueueIfAbsent(t,r);return n?n.id:null}:void 0,leaseRequests(t){return e.lease(t).map(Qt)},ackRequest(t,r){return e.ack(t,r)},nackRequest(t,r,n){return e.nack(t,r,n)},peekActive(){return e.peekActive().map(he)},peekDeadLetter(){return e.peekDeadLetter().map(Ot)}}}function C(e,t){if(process.platform!=="win32"){i.renameSync(e,t);return}let r=[10,20,40,80,160];for(let n=0;n<=r.length;n++)try{i.renameSync(e,t);return}catch(o){let s=o.code;if((s==="EPERM"||s==="EBUSY")&&n<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[n]);continue}throw o}}function U(e){function t(o){return y.join(e,...o.split("/"))}function r(o){return y.relative(e,o).replace(/\\/g,"/")}function n(o,s){if(i.existsSync(o))for(let u of i.readdirSync(o,{withFileTypes:true})){let l=y.join(o,u.name);if(u.isDirectory()){n(l,s);continue}u.isFile()&&s.push(r(l));}}return {read(o){let s=t(o);if(!i.existsSync(s))return null;try{return i.readFileSync(s,"utf-8")}catch{return null}},write(o,s){let u=t(o),l=`${u}.${process.pid}.${randomUUID()}.tmp`;i.mkdirSync(y.dirname(u),{recursive:true}),i.writeFileSync(l,s,"utf-8"),C(l,u);},exists(o){return i.existsSync(t(o))},remove(o){let s=t(o);try{i.existsSync(s)&&i.unlinkSync(s);}catch{}},readBytes(o){let s=t(o);if(!i.existsSync(s))return null;try{return new Uint8Array(i.readFileSync(s))}catch{return null}},writeBytes(o,s){let u=t(o),l=`${u}.${process.pid}.${randomUUID()}.tmp`;i.mkdirSync(y.dirname(u),{recursive:true}),i.writeFileSync(l,Buffer.from(s)),C(l,u);},listKeys(o){let s=[];n(e,s);let u=s.sort();return o?u.filter(l=>l.startsWith(o)):u},stat(o){let s=t(o);if(!i.existsSync(s))return null;try{let u=i.statSync(s);return {key:o,size:Number(u.size||0),updatedAt:new Date(u.mtimeMs).toISOString()}}catch{return null}},keyRef(o){return {kind:"fs-path",value:t(o)}}}}function ke(){return {read(e){if(!i.existsSync(e))return null;try{return i.readFileSync(e,"utf-8")}catch{return null}},write(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;i.mkdirSync(y.dirname(e),{recursive:true}),i.writeFileSync(r,t,"utf-8"),C(r,e);},exists(e){return i.existsSync(e)},remove(e){try{i.existsSync(e)&&i.unlinkSync(e);}catch{}},readBytes(e){if(!i.existsSync(e))return null;try{return new Uint8Array(i.readFileSync(e))}catch{return null}},writeBytes(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;i.mkdirSync(y.dirname(e),{recursive:true}),i.writeFileSync(r,Buffer.from(t)),C(r,e);},stat(e){if(!i.existsSync(e))return null;try{let t=i.statSync(e);return {key:e,size:Number(t.size||0),updatedAt:new Date(t.mtimeMs).toISOString()}}catch{return null}},listKeys(e){return []}}}function K(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;i.mkdirSync(y.dirname(e),{recursive:true}),i.writeFileSync(r,JSON.stringify(t,null,2),"utf-8"),C(r,e);}function _(e){if(!i.existsSync(e))return null;try{return JSON.parse(i.readFileSync(e,"utf-8"))}catch{return null}}function V(e){return i.existsSync(e)?i.readdirSync(e).filter(t=>t.endsWith(".json")).sort().map(t=>y.join(e,t)):[]}function z(e){return {id:e.id,body:e.body,enqueuedAt:e.enqueuedAt,attempt:e.attempt}}function Nt(e){return {...z(e),leaseToken:String(e.leaseToken||""),leaseExpiresAt:String(e.leaseExpiresAt||"")}}function Jt(e){return {...z(e),reason:e.reason}}function N(e){let t=y.join(e,"active"),r=y.join(e,"leased"),n=y.join(e,"done"),o=y.join(e,"dead");for(let c of [t,r,n,o])i.mkdirSync(c,{recursive:true});function s(c){let d=String(c.enqueuedAt||new Date().toISOString()).replace(/[:.]/g,"-");return y.join(t,`${d}-${c.id}.json`)}function u(c){return y.join(r,`${c}.json`)}function l(c){return y.join(n,`${c}.json`)}function g(c){return y.join(o,`${c}.json`)}function a(){let c=Date.now();for(let d of V(r)){let f=_(d);if(!f?.leaseExpiresAt)continue;let m=Date.parse(f.leaseExpiresAt);if(Number.isNaN(m)||m>c)continue;let S={id:f.id,body:f.body,enqueuedAt:f.enqueuedAt,attempt:f.attempt};K(s(S),S);try{i.unlinkSync(d);}catch{}}}return {enqueue(c){let d={id:randomUUID(),body:c,enqueuedAt:new Date().toISOString(),attempt:0};return K(s(d),d),z(d)},enqueueIfAbsent(c,d){a();for(let m of [t,r])for(let S of V(m))if(_(S)?.dedupKey===d)return null;let f={id:randomUUID(),body:c,enqueuedAt:new Date().toISOString(),attempt:0,dedupKey:d};return K(s(f),f),z(f)},lease(c){a();let d=Math.max(1,Math.floor(c?.max??1)),f=Math.max(1,Math.floor(c?.visibilityMs??6e4)),m=[];for(let S of V(t)){if(m.length>=d)break;let h=_(S);if(!h)continue;let w=u(h.id);try{C(S,w);}catch{continue}let p={...h,attempt:(Number(h.attempt)||0)+1,leaseToken:randomUUID(),leaseExpiresAt:new Date(Date.now()+f).toISOString()};K(w,p),m.push(Nt(p));}return m},ack(c,d){let f=u(c),m=_(f);if(!m||m.leaseToken!==d)return false;try{C(f,l(c));}catch{return false}return true},nack(c,d,f){let m=u(c),S=_(m);if(!S||S.leaseToken!==d)return false;let h={id:S.id,body:S.body,enqueuedAt:S.enqueuedAt,attempt:S.attempt};f?.dead?(h.reason=f.reason,K(g(c),h)):K(s(h),h);try{i.unlinkSync(m);}catch{}return true},peekActive(c){return a(),V(t).map(d=>_(d)).filter(d=>!!d).map(z)},peekDeadLetter(c){return V(o).map(d=>_(d)).filter(d=>!!d).map(Jt)}}}var Se="__scratch-marker",Re="__scratch-config.json",Dt=1440*60*1e3,Ht=720*60*1e3,Kt=500;function He(e,t){if(!e)return t;let r=e.replace(/[^A-Za-z0-9._-]/g,"_");return r.length>0?r:t}function G(e){i.mkdirSync(e,{recursive:true});let t=y.join(e,Se),r=y.join(e,Re),n=!i.existsSync(t);if(n)try{i.writeFileSync(t,`scratch-store
4
4
  ${new Date().toISOString()}
5
- `,"utf-8");}catch{}function o(){if(!a.existsSync(r))return {};try{let i=a.readFileSync(r,"utf-8"),c=JSON.parse(i);return c&&typeof c=="object"&&!Array.isArray(c)?c:{}}catch{return {}}}function s(i){let c=`${r}.${process.pid}.${randomUUID()}.tmp`;try{a.writeFileSync(c,JSON.stringify(i,null,2),"utf-8"),C(c,r);}catch{}}if(n){let i=o();typeof i["retention.lastSweepAt"]!="number"&&(i["retention.lastSweepAt"]=Date.now(),s(i));}function u(){if(!a.existsSync(t))return;let i=o(),c=typeof i["retention.maxAgeMs"]=="number"?i["retention.maxAgeMs"]:Dt,d=typeof i["retention.sweepIntervalMs"]=="number"?i["retention.sweepIntervalMs"]:Ht;if(c<=0||d<=0)return;let f=typeof i["retention.lastSweepAt"]=="number"?i["retention.lastSweepAt"]:0,m=Date.now();if(m-f<d)return;i["retention.lastSweepAt"]=m,s(i);let S=m;try{let h=a.readdirSync(e,{withFileTypes:!0});for(let k of h){if(Date.now()-S>Kt)break;if(!k.isFile()||k.name===Se||k.name===Re)continue;let p=y.join(e,k.name);try{let x=a.statSync(p);if(m-x.mtimeMs>c)try{a.unlinkSync(p);}catch{}}catch{}}}catch{}}function l(i,c){let d=He(i,"scratch"),f=He(c,".json"),m=f.startsWith(".")?f:`.${f}`,S=`${d}-${Date.now()}-${randomUUID().slice(0,8)}${m}`;return y.join(e,S)}function g(i,c){let d=`${i}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(y.dirname(i),{recursive:true}),a.writeFileSync(d,c,"utf-8"),C(d,i);}return {read(i){if(!a.existsSync(i))return null;try{return a.readFileSync(i,"utf-8")}catch{return null}},write(i,c){g(i,c);try{u();}catch{}},exists(i){return a.existsSync(i)},remove(i){try{a.existsSync(i)&&a.unlinkSync(i);}catch{}},readBytes(i){if(!a.existsSync(i))return null;try{return new Uint8Array(a.readFileSync(i))}catch{return null}},writeBytes(i,c){let d=`${i}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(y.dirname(i),{recursive:true}),a.writeFileSync(d,Buffer.from(c)),C(d,i);try{u();}catch{}},stat(i){if(!a.existsSync(i))return null;try{let c=a.statSync(i);return {key:i,size:Number(c.size||0),updatedAt:new Date(c.mtimeMs).toISOString()}}catch{return null}},listKeys(i){try{let c=a.readdirSync(e,{withFileTypes:!0}),d=[];for(let f of c){if(!f.isFile()||f.name===Se||f.name===Re)continue;let m=y.join(e,f.name);(!i||m.startsWith(i))&&d.push(m);}return d.sort()}catch{return []}},getUniqueKey(i,c){return l(i,c)},create(i,c,d){let f=l(c,d);g(f,i);try{u();}catch{}return f},keyRef(i){return {kind:"fs-path",value:i}},config:{get(i){return o()[i]??null},set(i,c){let d=o();c==null?delete d[i]:d[i]=c,s(d);}}}}var Ut="__archive-marker",Vt="__archive-config.json",re="streams",ne="blobs",zt=500;function Ke(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"_");if(!t)throw new Error("Archive segment name cannot be empty after sanitization");return t}function oe(e){a.mkdirSync(e,{recursive:true}),a.mkdirSync(y.join(e,re),{recursive:true}),a.mkdirSync(y.join(e,ne),{recursive:true});let t=y.join(e,Ut),r=y.join(e,Vt);if(!a.existsSync(t))try{a.writeFileSync(t,`archive-store
5
+ `,"utf-8");}catch{}function o(){if(!i.existsSync(r))return {};try{let a=i.readFileSync(r,"utf-8"),c=JSON.parse(a);return c&&typeof c=="object"&&!Array.isArray(c)?c:{}}catch{return {}}}function s(a){let c=`${r}.${process.pid}.${randomUUID()}.tmp`;try{i.writeFileSync(c,JSON.stringify(a,null,2),"utf-8"),C(c,r);}catch{}}if(n){let a=o();typeof a["retention.lastSweepAt"]!="number"&&(a["retention.lastSweepAt"]=Date.now(),s(a));}function u(){if(!i.existsSync(t))return;let a=o(),c=typeof a["retention.maxAgeMs"]=="number"?a["retention.maxAgeMs"]:Dt,d=typeof a["retention.sweepIntervalMs"]=="number"?a["retention.sweepIntervalMs"]:Ht;if(c<=0||d<=0)return;let f=typeof a["retention.lastSweepAt"]=="number"?a["retention.lastSweepAt"]:0,m=Date.now();if(m-f<d)return;a["retention.lastSweepAt"]=m,s(a);let S=m;try{let h=i.readdirSync(e,{withFileTypes:!0});for(let w of h){if(Date.now()-S>Kt)break;if(!w.isFile()||w.name===Se||w.name===Re)continue;let p=y.join(e,w.name);try{let x=i.statSync(p);if(m-x.mtimeMs>c)try{i.unlinkSync(p);}catch{}}catch{}}}catch{}}function l(a,c){let d=He(a,"scratch"),f=He(c,".json"),m=f.startsWith(".")?f:`.${f}`,S=`${d}-${Date.now()}-${randomUUID().slice(0,8)}${m}`;return y.join(e,S)}function g(a,c){let d=`${a}.${process.pid}.${randomUUID()}.tmp`;i.mkdirSync(y.dirname(a),{recursive:true}),i.writeFileSync(d,c,"utf-8"),C(d,a);}return {read(a){if(!i.existsSync(a))return null;try{return i.readFileSync(a,"utf-8")}catch{return null}},write(a,c){g(a,c);try{u();}catch{}},exists(a){return i.existsSync(a)},remove(a){try{i.existsSync(a)&&i.unlinkSync(a);}catch{}},readBytes(a){if(!i.existsSync(a))return null;try{return new Uint8Array(i.readFileSync(a))}catch{return null}},writeBytes(a,c){let d=`${a}.${process.pid}.${randomUUID()}.tmp`;i.mkdirSync(y.dirname(a),{recursive:true}),i.writeFileSync(d,Buffer.from(c)),C(d,a);try{u();}catch{}},stat(a){if(!i.existsSync(a))return null;try{let c=i.statSync(a);return {key:a,size:Number(c.size||0),updatedAt:new Date(c.mtimeMs).toISOString()}}catch{return null}},listKeys(a){try{let c=i.readdirSync(e,{withFileTypes:!0}),d=[];for(let f of c){if(!f.isFile()||f.name===Se||f.name===Re)continue;let m=y.join(e,f.name);(!a||m.startsWith(a))&&d.push(m);}return d.sort()}catch{return []}},getUniqueKey(a,c){return l(a,c)},create(a,c,d){let f=l(c,d);g(f,a);try{u();}catch{}return f},keyRef(a){return {kind:"fs-path",value:a}},config:{get(a){return o()[a]??null},set(a,c){let d=o();c==null?delete d[a]:d[a]=c,s(d);}}}}var Ut="__archive-marker",Vt="__archive-config.json",re="streams",ne="blobs",zt=500;function Ke(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"_");if(!t)throw new Error("Archive segment name cannot be empty after sanitization");return t}function oe(e){i.mkdirSync(e,{recursive:true}),i.mkdirSync(y.join(e,re),{recursive:true}),i.mkdirSync(y.join(e,ne),{recursive:true});let t=y.join(e,Ut),r=y.join(e,Vt);if(!i.existsSync(t))try{i.writeFileSync(t,`archive-store
6
6
  ${new Date().toISOString()}
7
- `,"utf-8");}catch{}function n(){if(!a.existsSync(r))return {};try{let u=a.readFileSync(r,"utf-8"),l=JSON.parse(u);return l&&typeof l=="object"&&!Array.isArray(l)?l:{}}catch{return {}}}function o(u){let l=`${r}.${process.pid}.${randomUUID()}.tmp`;try{a.writeFileSync(l,JSON.stringify(u,null,2),"utf-8"),C(l,r);}catch{}}function s(){if(!a.existsSync(t))return;let u=n(),l=typeof u["retention.maxAgeMs"]=="number"?u["retention.maxAgeMs"]:0,g=typeof u["retention.sweepIntervalMs"]=="number"?u["retention.sweepIntervalMs"]:0;if(l<=0||g<=0)return;let i=typeof u["retention.lastSweepAt"]=="number"?u["retention.lastSweepAt"]:0,c=Date.now();if(c-i<g)return;u["retention.lastSweepAt"]=c,o(u);let d=c,f=m=>{let S;try{S=a.readdirSync(m,{withFileTypes:!0});}catch{return}for(let h of S){if(Date.now()-d>zt)return;let k=y.join(m,h.name);if(h.isDirectory()){f(k);continue}if(h.isFile())try{let p=a.statSync(k);if(c-p.mtimeMs>l)try{a.unlinkSync(k);}catch{}}catch{}}};f(y.join(e,re)),f(y.join(e,ne));}return {stream(u){let l=Ke(u),g=y.join(e,re,`${l}.jsonl`),i=ke(g);return {append(c){let d=i.append(c);try{s();}catch{}return d},readAll:()=>i.readAll(),readAfter:c=>i.readAfter(c),clear:()=>{i.clear&&i.clear();}}},blob(u){let l=Ke(u),g=y.join(e,ne,l);a.mkdirSync(g,{recursive:true});let i=U(g);return {read:c=>i.read(c),write:(c,d)=>{i.write(c,d);try{s();}catch{}},exists:c=>i.exists(c),remove:c=>i.remove(c),readBytes:i.readBytes?c=>i.readBytes(c):void 0,writeBytes:i.writeBytes?(c,d)=>{i.writeBytes(c,d);try{s();}catch{}}:void 0,listKeys:c=>i.listKeys(c),stat:i.stat?c=>i.stat(c):void 0}},listStreams(u){let l=y.join(e,re);try{return a.readdirSync(l,{withFileTypes:!0}).filter(g=>g.isFile()&&g.name.endsWith(".jsonl")).map(g=>g.name.slice(0,-6)).filter(g=>!u||g.startsWith(u)).sort()}catch{return []}},listBlobs(u){let l=y.join(e,ne);try{return a.readdirSync(l,{withFileTypes:!0}).filter(g=>g.isDirectory()).map(g=>g.name).filter(g=>!u||g.startsWith(u)).sort()}catch{return []}},config:{get(u){return n()[u]??null},set(u,l){let g=n();l==null?delete g[u]:g[u]=l,o(g);}}}}function se(e){function t(n){return y.join(e,...n.split("/"))+".json"}function r(n,o,s,u){if(a.existsSync(n))for(let l of a.readdirSync(n,{withFileTypes:true})){let g=o?`${o}/${l.name}`:l.name;if(l.isDirectory()){r(y.join(n,l.name),g,s,u);continue}if(!l.isFile()||!l.name.endsWith(".json"))continue;let i=g.replace(/\.json$/,"");(!s||i.startsWith(s))&&u.push(i);}}return {read(n){let o=t(n);if(!a.existsSync(o))return null;try{return JSON.parse(a.readFileSync(o,"utf-8"))}catch{return null}},write(n,o){let s=t(n),u=`${s}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(y.dirname(s),{recursive:true}),a.writeFileSync(u,JSON.stringify(o,null,2),"utf-8"),C(u,s);},delete(n){let o=t(n);try{a.existsSync(o)&&a.unlinkSync(o);}catch{}},listKeys(n){let o=[];return r(e,"",n,o),o.sort()}}}function ke(e){function t(){if(!a.existsSync(e))return [];let r=a.readFileSync(e,"utf-8").trim();return r?r.split(`
8
- `).filter(Boolean).map(n=>JSON.parse(n)):[]}return {append(r){let n={id:randomUUID(),payload:r};return a.mkdirSync(y.dirname(e),{recursive:true}),a.appendFileSync(e,JSON.stringify(n)+`
9
- `,"utf-8"),n},readAll(){return t()},readAfter(r){let n=t();if(!r)return {entries:n,newCursor:n.length>0?n[n.length-1].id:null};let o=n.findIndex(u=>u.id===r),s=o===-1?n:n.slice(o+1);return {entries:s,newCursor:s.length>0?s[s.length-1].id:r}},clear(){a.existsSync(e)&&a.truncateSync(e,0);}}}function xe(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(xe).join(",")}]`;let t=e;return `{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${xe(t[n])}`).join(",")}}`}function Ue(e){return createHash("sha256").update(xe(e)).digest("hex")}function Ve(e){let t=y.join(e,"board-journal.jsonl");return {readAllEntries(){if(!a.existsSync(t))return [];let r=a.readFileSync(t,"utf-8").trim();return r?r.split(`
10
- `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){a.appendFileSync(t,JSON.stringify(r)+`
11
- `,"utf-8");},generateId(){return randomUUID()}}}function ze(e){return {tryAcquire(){try{if(!a.existsSync(e)){a.mkdirSync(y.dirname(e),{recursive:!0});try{a.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return lockSync(e,{retries:0})}catch{return null}}}}function _r(){return {async invoke(e,t){if(e.howToRun!=="local-node")return {dispatched:false,error:`createNodeSpawnInvocationAdapter: unsupported howToRun "${e.howToRun}"`};let r="";try{let s=e.whatToRun;r=$(s);}catch{r="";}if(!r)return {dispatched:false,error:"createNodeSpawnInvocationAdapter: could not resolve executable path from whatToRun"};let n={...t},o=Buffer.from(JSON.stringify(n)).toString("base64");try{return spawn(process.execPath,[r,"--boardId",String(t.boardId??""),"--cardId",String(t.cardId??""),"--extraEncJson",o],{stdio:"ignore",windowsHide:!0}).unref(),{dispatched:!0}}catch(s){return {dispatched:false,error:s instanceof Error?s.message:String(s)}}},async describe(e){if(e.howToRun!=="local-node")return null;let t="";try{let r=e.whatToRun;t=$(r);}catch{t="";}if(!t)return null;try{let r=spawnSync(process.execPath,[t,"describe"],{timeout:5e3,encoding:"utf-8",windowsHide:!0});return r.status!==0?null:JSON.parse(String(r.stdout).trim())}catch{return null}}}}var Yt=".board.lock";function Ye(e,t){if(!e||!t)return false;let r=String(e).replace(/[\\/]+$/,"").split(/[\\/]+/).filter(Boolean);return r.length>0&&r[r.length-1]===t}function Zt(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Xt(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Ze(e){if(e)return e;let t=Ce(import.meta.url),r=[t,b(t,"..","cli","node"),b(t,"..","..","cli","node")];for(let n of r)try{return Pe(n),n}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${t}`)}function er(e,t,r){let{cliDir:n,opts:o}=Zt(t,r),s=e.value,u,l=null,g$1,i,c,d=null,f;function m(){return f||(f=Ze(n)),f}let S=o?.callbackTransport??g(o?.notifyChannel),h;function k(){if(o?.suppressSpawn||l)return;let p=fe({id:"task-executor",workerStore:h.boardWorkerStore(),handleRequest:async(x,B)=>{let v=await D(B.ref,B.args,{cliDir:m(),cwd:process.cwd(),label:"fsBoardAdapter.boardWorker"});if(v.result!=="success"){let R=typeof v.data?.error=="string"?v.data.error:v.error;throw new Error(R||v.result)}}});l=ee(p).catch(x=>{o?.onWarn?.(`[board-worker] in-process queue drain failed: ${x instanceof Error?x.message:String(x)}`);}).finally(()=>{l=null,h.boardWorkerStore().peekActive().length>0&&k();});}return h={kvStorage:p=>se(b(s,`.${p}`)),blobStorage:p=>p?U(b(s,p)):U(s),scratchStorage:()=>G(b(s,".tmp")),scratchStorageForRef:p=>G(b$1(p).value),archiveFactory:()=>oe(b(s,"archive")),archiveFactoryForRef:p=>oe(b$1(p).value),journalAdapter:()=>Ve(s),boardWorkerStore:()=>(u||(u=H(_(b(s,".board-worker-queue")))),u),chatAgentStore:()=>(g$1||(g$1=H(_(b(s,".chat-agent-queue")))),g$1),processAccumulatedStore:()=>(i||(i=_(b(s,".process-accumulated-queue"))),i),lock:ze(b(s,Yt)),callbackTransport:S,async dispatchExecution(p,x){let B=!!x.output?.ref;if(p.howToRun==="queue-storage")try{let R=u??H(_(b(s,".board-worker-queue")));u||(u=R);let E=typeof p.extra?.boardId=="string"?p.extra.boardId:void 0;if(B)return R.enqueueRequest({boardId:E,ref:p,args:x}),{dispatched:!0};let F=x.source_def?.bindTo??X().slice(0,8),w=G(b(s,".tmp")),I=w.create(JSON.stringify(x,null,2),`exec-in-${F}`,".json"),J=w.getUniqueKey(`exec-out-${F}`,".json"),O=w.getUniqueKey(`exec-err-${F}`,".txt"),ae=a$2(w.keyRef(I)),Y=a$2(w.keyRef(J)),ie=a$2(w.keyRef(O));return R.enqueueRequest({boardId:E,ref:p,args:{subcommand:"run-source-fetch",inRef:ae,outRef:Y,errRef:ie}}),{dispatched:!0}}catch(R){return {dispatched:false,error:R instanceof Error?R.message:String(R)}}if(B&&(p.howToRun==="http:post"||p.howToRun==="in-process-loop"))try{if(p.howToRun==="http:post"){let F=$(p.whatToRun),w=await fetch(F,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...x,...p.extra?{extra:p.extra}:{}})});if(!w.ok){let I=await w.text().catch(()=>"");return {dispatched:!1,error:`HTTP ${w.status}: ${I}`}}return {dispatched:!0}}let R=await D(p,x,{cwd:process.cwd(),label:"dispatchExecution.directHostedWorker"});return R.result==="success"?{dispatched:!0}:{dispatched:!1,error:(typeof R.data?.error=="string"?R.data.error:R.error)||R.result}}catch(R){return {dispatched:false,error:R instanceof Error?R.message:String(R)}}let v=p.howToRun==="local-node"||p.howToRun==="local-process"||p.howToRun==="local-python"||p.howToRun==="built-in";if(o?.suppressSpawn&&v)return {dispatched:false};try{let R=x.source_def?.bindTo??X().slice(0,8),E=G(b(s,".tmp")),F=E.create(JSON.stringify(x,null,2),`exec-in-${R}`,".json"),w=E.getUniqueKey(`exec-out-${R}`,".json"),I=E.getUniqueKey(`exec-err-${R}`,".txt"),J=a$2(E.keyRef(F)),O=a$2(E.keyRef(w)),ae=a$2(E.keyRef(I)),Y=u??H(_(b(s,".board-worker-queue")));u||(u=Y);let ie=typeof p.extra?.boardId=="string"?p.extra.boardId:void 0;return Y.enqueueRequest({boardId:ie,ref:p,args:{subcommand:"run-source-fetch",inRef:J,outRef:O,errRef:ae}}),k(),{dispatched:!0}}catch(R){let E=R instanceof Error?R.message:String(R);try{let F=oe(b(s,"archive")),w=new Date().toISOString().replace(/[:.]/g,"-"),I=x.source_def?.bindTo??"unknown";F.blob("exec-failures").write(`${w}-${I}.json`,JSON.stringify({error:E,args:x,ref:p,at:new Date().toISOString()},null,2));}catch{}return {dispatched:false,error:E}}},supportsDirectSourceOutput(p){return p.howToRun==="queue-storage"||p.howToRun==="http:post"||p.howToRun==="in-process-loop"},resolveBlob(p){let x=Be(p.value)?we().read(p.value):U(s).read(p.value);if(x===null)throw new Error(`resolveBlob: blob not found: ::${p.kind}::${p.value}`);return x},hashFn:Ue,genId:()=>Ie(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:p=>se(b$1(p).value),requestProcessAccumulated(){if(o?.suppressSpawn||d)return;let p=this,x=c??=y$1(e,p),B=pe({id:"process-accumulated",queueStorage:p.processAccumulatedStore(),handleMessage:async()=>{let v=await x.processAccumulatedEvents({});if(v.status!=="success")throw new Error(v.error||`processAccumulatedEvents returned ${v.status}`)}});d=ee(B).catch(v=>{o?.onWarn?.(`[process-accumulated] in-process queue drain failed: ${v instanceof Error?v.message:String(v)}`);}).finally(()=>{d=null,p.processAccumulatedStore().peekActive().length>0&&p.requestProcessAccumulated?.();});},publishBoardChangeNotifications(p){if(!o?.notifyChannel||p.length===0)return;let x=p.map(B=>({id:X(),ts:new Date().toISOString(),boardRef:a$2(e),notification:B}));Le(o.notifyChannel,x,o.onWarn);},onWarn:o?.onWarn},h}function Jr(e,t,r){let{cliDir:n,opts:o}=Xt(t,r),s,u=()=>(s||(s=Ze(n)),s);return {...er(e,n,o),async invokeExecutor(g,i,c){if(g.howToRun==="queue-storage")throw new Error("queue-storage does not support inline executor request/response");if(g.howToRun==="http:post"||g.howToRun==="http:get"||g.howToRun==="in-process-loop"){let h=await D(g,{subcommand:i,...c?.input!==void 0?{input:c.input}:{},...g.extra?{extra:g.extra}:{}},{cwd:process.cwd(),timeoutMs:c?.timeout??3e4,label:`invokeExecutor:${i}`});if(h.result!=="success"){let k=typeof h.data?.error=="string"?h.data.error:h.error;throw new Error(k||`executor request failed: ${h.result}`)}return typeof h.data?.stdout=="string"?h.data.stdout:JSON.stringify(h.data??{})}let{command:d,baseArgs:f}=te(g,u()),m=g.extra?["--extra",Buffer.from(JSON.stringify(g.extra)).toString("base64")]:[],S=[...f,i,...m];return await new Promise((h,k)=>{let p=spawn(d,S,{cwd:process.cwd(),stdio:"pipe",windowsHide:true,shell:process.platform==="win32"&&/\.(cmd|bat)$/i.test(d)}),x=[],B=[],v=false,R=null,E=w=>{v||(v=true,R&&clearTimeout(R),k(w));},F=w=>{v||(v=true,R&&clearTimeout(R),h(w));};p.stdout.on("data",w=>{x.push(Buffer.from(w));}),p.stderr.on("data",w=>{B.push(Buffer.from(w));}),p.on("error",w=>{let I=w;I.stdout=Buffer.concat(x).toString("utf-8"),I.stderr=Buffer.concat(B).toString("utf-8"),E(I);}),p.on("close",w=>{let I=Buffer.concat(x).toString("utf-8"),J=Buffer.concat(B).toString("utf-8");if(w===0){F(I);return}let O=new Error(J.trim()||`executor exited with status ${w}`);O.stdout=I,O.stderr=J,E(O);}),c?.timeout&&c.timeout>0&&(R=setTimeout(()=>{p.kill();let w=new Error(`executor timed out after ${c.timeout}ms`);w.stdout=Buffer.concat(x).toString("utf-8"),w.stderr=Buffer.concat(B).toString("utf-8"),E(w);},c.timeout)),c?.input!==void 0?p.stdin.end(c.input):p.stdin.end();})},validateSchema(g){let i=d(g);return {ok:i.errors.length===0,errors:i.errors}},absoluteBlob:we()}}function Dr(e,t={}){let r=t.chatsSubdir??"chats",n=t.kvSubdir??".kv",o=n?[n,"chat"]:["chat"],s=r&&!Ye(e,r)?b(e,r):e,u=se(b(e,...o));return a$3(l=>{let i=`${String(l).replace(/[^a-zA-Z0-9_-]/g,"_")}.jsonl`,c=b(s,i);return ke(c)},u)}function Hr(e,t={}){let r=t.filesSubdir??"files",n=r&&!Ye(e,r)?b(e,r):e;return c(U(n))}function Kr(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}export{te as buildLocalBaseSpec,fe as createBoardWorkerQueueLane,H as createBoardWorkerStore,Lt as createExecutionRefInvoker,Dr as createFsBoardChatStorage,Hr as createFsBoardFileArtifactsStore,Jr as createFsBoardNonCorePlatformAdapter,er as createFsBoardPlatformAdapter,_ as createFsQueueStorage,_r as createNodeSpawnInvocationAdapter,pe as createQueueStorageLane,Kr as decodeBoardRefFromToken,ee as drainQueueLaneToIdle,me as evaluateArgsMassaging,D as invokeExecutionRef,ye as invokeExecutionRefSync,qt as invokeRefSync,Ft as registerInProcessExecutionHandler,$ as resolveWhatToRunValue,Ne as resolveYamlFlowCliPath,Qe as startQueueLaneRunner,At as startQueueLaneRunners,Mt as unregisterInProcessExecutionHandler};//# sourceMappingURL=board-live-cards-node.js.map
7
+ `,"utf-8");}catch{}function n(){if(!i.existsSync(r))return {};try{let u=i.readFileSync(r,"utf-8"),l=JSON.parse(u);return l&&typeof l=="object"&&!Array.isArray(l)?l:{}}catch{return {}}}function o(u){let l=`${r}.${process.pid}.${randomUUID()}.tmp`;try{i.writeFileSync(l,JSON.stringify(u,null,2),"utf-8"),C(l,r);}catch{}}function s(){if(!i.existsSync(t))return;let u=n(),l=typeof u["retention.maxAgeMs"]=="number"?u["retention.maxAgeMs"]:0,g=typeof u["retention.sweepIntervalMs"]=="number"?u["retention.sweepIntervalMs"]:0;if(l<=0||g<=0)return;let a=typeof u["retention.lastSweepAt"]=="number"?u["retention.lastSweepAt"]:0,c=Date.now();if(c-a<g)return;u["retention.lastSweepAt"]=c,o(u);let d=c,f=m=>{let S;try{S=i.readdirSync(m,{withFileTypes:!0});}catch{return}for(let h of S){if(Date.now()-d>zt)return;let w=y.join(m,h.name);if(h.isDirectory()){f(w);continue}if(h.isFile())try{let p=i.statSync(w);if(c-p.mtimeMs>l)try{i.unlinkSync(w);}catch{}}catch{}}};f(y.join(e,re)),f(y.join(e,ne));}return {stream(u){let l=Ke(u),g=y.join(e,re,`${l}.jsonl`),a=we(g);return {append(c){let d=a.append(c);try{s();}catch{}return d},readAll:()=>a.readAll(),readAfter:c=>a.readAfter(c),clear:()=>{a.clear&&a.clear();}}},blob(u){let l=Ke(u),g=y.join(e,ne,l);i.mkdirSync(g,{recursive:true});let a=U(g);return {read:c=>a.read(c),write:(c,d)=>{a.write(c,d);try{s();}catch{}},exists:c=>a.exists(c),remove:c=>a.remove(c),readBytes:a.readBytes?c=>a.readBytes(c):void 0,writeBytes:a.writeBytes?(c,d)=>{a.writeBytes(c,d);try{s();}catch{}}:void 0,listKeys:c=>a.listKeys(c),stat:a.stat?c=>a.stat(c):void 0}},listStreams(u){let l=y.join(e,re);try{return i.readdirSync(l,{withFileTypes:!0}).filter(g=>g.isFile()&&g.name.endsWith(".jsonl")).map(g=>g.name.slice(0,-6)).filter(g=>!u||g.startsWith(u)).sort()}catch{return []}},listBlobs(u){let l=y.join(e,ne);try{return i.readdirSync(l,{withFileTypes:!0}).filter(g=>g.isDirectory()).map(g=>g.name).filter(g=>!u||g.startsWith(u)).sort()}catch{return []}},config:{get(u){return n()[u]??null},set(u,l){let g=n();l==null?delete g[u]:g[u]=l,o(g);}}}}function se(e){function t(n){return y.join(e,...n.split("/"))+".json"}function r(n,o,s,u){if(i.existsSync(n))for(let l of i.readdirSync(n,{withFileTypes:true})){let g=o?`${o}/${l.name}`:l.name;if(l.isDirectory()){r(y.join(n,l.name),g,s,u);continue}if(!l.isFile()||!l.name.endsWith(".json"))continue;let a=g.replace(/\.json$/,"");(!s||a.startsWith(s))&&u.push(a);}}return {read(n){let o=t(n);if(!i.existsSync(o))return null;try{return JSON.parse(i.readFileSync(o,"utf-8"))}catch{return null}},write(n,o){let s=t(n),u=`${s}.${process.pid}.${randomUUID()}.tmp`;i.mkdirSync(y.dirname(s),{recursive:true}),i.writeFileSync(u,JSON.stringify(o,null,2),"utf-8"),C(u,s);},delete(n){let o=t(n);try{i.existsSync(o)&&i.unlinkSync(o);}catch{}},listKeys(n){let o=[];return r(e,"",n,o),o.sort()}}}function we(e){function t(){if(!i.existsSync(e))return [];let r=i.readFileSync(e,"utf-8").trim();return r?r.split(`
8
+ `).filter(Boolean).map(n=>JSON.parse(n)):[]}return {append(r){let n={id:randomUUID(),payload:r};return i.mkdirSync(y.dirname(e),{recursive:true}),i.appendFileSync(e,JSON.stringify(n)+`
9
+ `,"utf-8"),n},readAll(){return t()},readAfter(r){let n=t();if(!r)return {entries:n,newCursor:n.length>0?n[n.length-1].id:null};let o=n.findIndex(u=>u.id===r),s=o===-1?n:n.slice(o+1);return {entries:s,newCursor:s.length>0?s[s.length-1].id:r}},clear(){i.existsSync(e)&&i.truncateSync(e,0);}}}function xe(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(xe).join(",")}]`;let t=e;return `{${Object.keys(t).sort().map(n=>`${JSON.stringify(n)}:${xe(t[n])}`).join(",")}}`}function Ue(e){return createHash("sha256").update(xe(e)).digest("hex")}function Ve(e){let t=y.join(e,"board-journal.jsonl");return {readAllEntries(){if(!i.existsSync(t))return [];let r=i.readFileSync(t,"utf-8").trim();return r?r.split(`
10
+ `).filter(Boolean).map(n=>JSON.parse(n)):[]},appendEntry(r){i.appendFileSync(t,JSON.stringify(r)+`
11
+ `,"utf-8");},generateId(){return randomUUID()}}}function ze(e){return {tryAcquire(){try{if(!i.existsSync(e)){i.mkdirSync(y.dirname(e),{recursive:!0});try{i.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return lockSync(e,{retries:0})}catch{return null}}}}function Lr(){return {async invoke(e,t){if(e.howToRun!=="local-node")return {dispatched:false,error:`createNodeSpawnInvocationAdapter: unsupported howToRun "${e.howToRun}"`};let r="";try{let s=e.whatToRun;r=$(s);}catch{r="";}if(!r)return {dispatched:false,error:"createNodeSpawnInvocationAdapter: could not resolve executable path from whatToRun"};let n={...t},o=Buffer.from(JSON.stringify(n)).toString("base64");try{return spawn(process.execPath,[r,"--boardId",String(t.boardId??""),"--cardId",String(t.cardId??""),"--extraEncJson",o],{stdio:"ignore",windowsHide:!0}).unref(),{dispatched:!0}}catch(s){return {dispatched:false,error:s instanceof Error?s.message:String(s)}}},async describe(e){if(e.howToRun!=="local-node")return null;let t="";try{let r=e.whatToRun;t=$(r);}catch{t="";}if(!t)return null;try{let r=spawnSync(process.execPath,[t,"describe"],{timeout:5e3,encoding:"utf-8",windowsHide:!0});return r.status!==0?null:JSON.parse(String(r.stdout).trim())}catch{return null}}}}var Yt=".board.lock";function Ye(e,t){if(!e||!t)return false;let r=String(e).replace(/[\\/]+$/,"").split(/[\\/]+/).filter(Boolean);return r.length>0&&r[r.length-1]===t}function Zt(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Xt(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function Ze(e){if(e)return e;let t=Ce(import.meta.url),r=[t,b(t,"..","cli","node"),b(t,"..","..","cli","node")];for(let n of r)try{return Pe(n),n}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${t}`)}function er(e,t,r){let{cliDir:n,opts:o}=Zt(t,r),s=e.value,u,l=null,g$1,a,c,d=null,f;function m(){return f||(f=Ze(n)),f}let S=o?.callbackTransport??g(o?.notifyChannel),h;function w(){if(o?.suppressSpawn||l)return;let p=fe({id:"task-executor",workerStore:h.boardWorkerStore(),handleRequest:async(x,B)=>{let v=await D(B.ref,B.args,{cliDir:m(),cwd:process.cwd(),label:"fsBoardAdapter.boardWorker"});if(v.result!=="success"){let R=typeof v.data?.error=="string"?v.data.error:v.error;throw new Error(R||v.result)}}});l=ee(p).catch(x=>{o?.onWarn?.(`[board-worker] in-process queue drain failed: ${x instanceof Error?x.message:String(x)}`);}).finally(()=>{l=null,h.boardWorkerStore().peekActive().length>0&&w();});}return h={kvStorage:p=>se(b(s,`.${p}`)),blobStorage:p=>p?U(b(s,p)):U(s),scratchStorage:()=>G(b(s,".tmp")),scratchStorageForRef:p=>G(b$1(p).value),archiveFactory:()=>oe(b(s,"archive")),archiveFactoryForRef:p=>oe(b$1(p).value),journalAdapter:()=>Ve(s),boardWorkerStore:()=>(u||(u=H(N(b(s,".board-worker-queue")))),u),chatAgentStore:()=>(g$1||(g$1=H(N(b(s,".chat-agent-queue")))),g$1),processAccumulatedStore:()=>(a||(a=N(b(s,".process-accumulated-queue"))),a),lock:ze(b(s,Yt)),callbackTransport:S,async dispatchExecution(p,x){let B=!!x.output?.ref;if(p.howToRun==="queue-storage")try{let R=u??H(N(b(s,".board-worker-queue")));u||(u=R);let E=typeof p.extra?.boardId=="string"?p.extra.boardId:void 0;if(B)return R.enqueueRequest({boardId:E,ref:p,args:x}),{dispatched:!0};let M=x.source_def?.bindTo??X().slice(0,8),k=G(b(s,".tmp")),I=k.create(JSON.stringify(x,null,2),`exec-in-${M}`,".json"),J=k.getUniqueKey(`exec-out-${M}`,".json"),Q=k.getUniqueKey(`exec-err-${M}`,".txt"),ie=a$1(k.keyRef(I)),Y=a$1(k.keyRef(J)),ae=a$1(k.keyRef(Q));return R.enqueueRequest({boardId:E,ref:p,args:{subcommand:"run-source-fetch",inRef:ie,outRef:Y,errRef:ae}}),{dispatched:!0}}catch(R){return {dispatched:false,error:R instanceof Error?R.message:String(R)}}if(B&&(p.howToRun==="http:post"||p.howToRun==="in-process-loop"))try{if(p.howToRun==="http:post"){let M=$(p.whatToRun),k=await fetch(M,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...x,...p.extra?{extra:p.extra}:{}})});if(!k.ok){let I=await k.text().catch(()=>"");return {dispatched:!1,error:`HTTP ${k.status}: ${I}`}}return {dispatched:!0}}let R=await D(p,x,{cwd:process.cwd(),label:"dispatchExecution.directHostedWorker"});return R.result==="success"?{dispatched:!0}:{dispatched:!1,error:(typeof R.data?.error=="string"?R.data.error:R.error)||R.result}}catch(R){return {dispatched:false,error:R instanceof Error?R.message:String(R)}}let v=p.howToRun==="local-node"||p.howToRun==="local-process"||p.howToRun==="local-python"||p.howToRun==="built-in";if(o?.suppressSpawn&&v)return {dispatched:false};try{let R=x.source_def?.bindTo??X().slice(0,8),E=G(b(s,".tmp")),M=E.create(JSON.stringify(x,null,2),`exec-in-${R}`,".json"),k=E.getUniqueKey(`exec-out-${R}`,".json"),I=E.getUniqueKey(`exec-err-${R}`,".txt"),J=a$1(E.keyRef(M)),Q=a$1(E.keyRef(k)),ie=a$1(E.keyRef(I)),Y=u??H(N(b(s,".board-worker-queue")));u||(u=Y);let ae=typeof p.extra?.boardId=="string"?p.extra.boardId:void 0;return Y.enqueueRequest({boardId:ae,ref:p,args:{subcommand:"run-source-fetch",inRef:J,outRef:Q,errRef:ie}}),w(),{dispatched:!0}}catch(R){let E=R instanceof Error?R.message:String(R);try{let M=oe(b(s,"archive")),k=new Date().toISOString().replace(/[:.]/g,"-"),I=x.source_def?.bindTo??"unknown";M.blob("exec-failures").write(`${k}-${I}.json`,JSON.stringify({error:E,args:x,ref:p,at:new Date().toISOString()},null,2));}catch{}return {dispatched:false,error:E}}},supportsDirectSourceOutput(p){return p.howToRun==="queue-storage"||p.howToRun==="http:post"||p.howToRun==="in-process-loop"},resolveBlob(p){let x=Be(p.value)?ke().read(p.value):U(s).read(p.value);if(x===null)throw new Error(`resolveBlob: blob not found: ::${p.kind}::${p.value}`);return x},hashFn:Ue,genId:()=>Ie(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:p=>se(b$1(p).value),requestProcessAccumulated(){if(o?.suppressSpawn||d)return;let p=this,x=c??=y$1(e,p),B=pe({id:"process-accumulated",queueStorage:p.processAccumulatedStore(),handleMessage:async()=>{let v=await x.processAccumulatedEvents({});if(v.status!=="success")throw new Error(v.error||`processAccumulatedEvents returned ${v.status}`)}});d=ee(B).catch(v=>{o?.onWarn?.(`[process-accumulated] in-process queue drain failed: ${v instanceof Error?v.message:String(v)}`);}).finally(()=>{d=null,p.processAccumulatedStore().peekActive().length>0&&p.requestProcessAccumulated?.();});},publishBoardChangeNotifications(p){if(!o?.notifyChannel||p.length===0)return;let x=p.map(B=>({id:X(),ts:new Date().toISOString(),boardRef:a$1(e),notification:B}));qe(o.notifyChannel,x,o.onWarn);},onWarn:o?.onWarn},h}function Qr(e,t,r){let{cliDir:n,opts:o}=Xt(t,r),s,u=()=>(s||(s=Ze(n)),s);return {...er(e,n,o),async invokeExecutor(g,a,c){if(g.howToRun==="queue-storage")throw new Error("queue-storage does not support inline executor request/response");if(g.howToRun==="http:post"||g.howToRun==="http:get"||g.howToRun==="in-process-loop"){let h=await D(g,{subcommand:a,...c?.input!==void 0?{input:c.input}:{},...g.extra?{extra:g.extra}:{}},{cwd:process.cwd(),timeoutMs:c?.timeout??3e4,label:`invokeExecutor:${a}`});if(h.result!=="success"){let w=typeof h.data?.error=="string"?h.data.error:h.error;throw new Error(w||`executor request failed: ${h.result}`)}return typeof h.data?.stdout=="string"?h.data.stdout:JSON.stringify(h.data??{})}let{command:d,baseArgs:f}=te(g,u()),m=g.extra?["--extra",Buffer.from(JSON.stringify(g.extra)).toString("base64")]:[],S=[...f,a,...m];return await new Promise((h,w)=>{let p=spawn(d,S,{cwd:process.cwd(),stdio:"pipe",windowsHide:true,shell:process.platform==="win32"&&/\.(cmd|bat)$/i.test(d)}),x=[],B=[],v=false,R=null,E=k=>{v||(v=true,R&&clearTimeout(R),w(k));},M=k=>{v||(v=true,R&&clearTimeout(R),h(k));};p.stdout.on("data",k=>{x.push(Buffer.from(k));}),p.stderr.on("data",k=>{B.push(Buffer.from(k));}),p.on("error",k=>{let I=k;I.stdout=Buffer.concat(x).toString("utf-8"),I.stderr=Buffer.concat(B).toString("utf-8"),E(I);}),p.on("close",k=>{let I=Buffer.concat(x).toString("utf-8"),J=Buffer.concat(B).toString("utf-8");if(k===0){M(I);return}let Q=new Error(J.trim()||`executor exited with status ${k}`);Q.stdout=I,Q.stderr=J,E(Q);}),c?.timeout&&c.timeout>0&&(R=setTimeout(()=>{p.kill();let k=new Error(`executor timed out after ${c.timeout}ms`);k.stdout=Buffer.concat(x).toString("utf-8"),k.stderr=Buffer.concat(B).toString("utf-8"),E(k);},c.timeout)),c?.input!==void 0?p.stdin.end(c.input):p.stdin.end();})},validateSchema(g){let a=d(g);return {ok:a.errors.length===0,errors:a.errors}},absoluteBlob:ke()}}function Or(e,t={}){let r=t.chatsSubdir??"chats",n=t.kvSubdir??".kv",o=n?[n,"chat"]:["chat"],s=r&&!Ye(e,r)?b(e,r):e,u=se(b(e,...o));return a$2(l=>{let a=`${String(l).replace(/[^a-zA-Z0-9_-]/g,"_")}.jsonl`,c=b(s,a);return we(c)},u)}function Wr(e,t={}){let r=t.filesSubdir??"files",n=r&&!Ye(e,r)?b(e,r):e;return c(U(n))}function _r(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}export{te as buildLocalBaseSpec,fe as createBoardWorkerQueueLane,H as createBoardWorkerStore,qt as createExecutionRefInvoker,Or as createFsBoardChatStorage,Wr as createFsBoardFileArtifactsStore,Qr as createFsBoardNonCorePlatformAdapter,er as createFsBoardPlatformAdapter,N as createFsQueueStorage,Lr as createNodeSpawnInvocationAdapter,pe as createQueueStorageLane,_r as decodeBoardRefFromToken,ee as drainQueueLaneToIdle,me as evaluateArgsMassaging,D as invokeExecutionRef,ye as invokeExecutionRefSync,Lt as invokeRefSync,Mt as registerInProcessExecutionHandler,$ as resolveWhatToRunValue,_e as resolveYamlFlowCliPath,Oe as startQueueLaneRunner,At as startQueueLaneRunners,Ft as unregisterInProcessExecutionHandler};//# sourceMappingURL=board-live-cards-node.js.map
12
12
  //# sourceMappingURL=board-live-cards-node.js.map
@@ -503,4 +503,4 @@ interface BoardLiveCardsNonCorePublic {
503
503
  }
504
504
  declare function createBoardLiveCardsNonCorePublic(baseRef: KindValueRef, adapter: BoardNonCorePlatformAdapter): BoardLiveCardsNonCorePublic;
505
505
 
506
- export { type BoardWorkerRequest as B, type CommandResult as C, EMPTY_CONFIG as E, type LiveCard as L, type StateSnapshotReadView as S, type CommandInput as a, type CardAdminStore as b, type BoardChangeNotification as c, type BoardLiveCardsPublic as d, type BoardNonCorePlatformAdapter as e, type BoardPlatformAdapter as f, type BoardCallbackTransport as g, type BoardStatusObject as h, type CardChecksumIndex as i, type CardUpsertValidation as j, type CardIndex as k, type BoardWorkerStore as l, BOARD_GRAPH_KEY as m, type BoardLiveCardsNonCorePublic as n, type BoardWorkerDeadLetterRequest as o, type BoardWorkerLeasedRequest as p, type BoardWorkerQueuedRequest as q, SNAPSHOT_SCHEMA_VERSION_V1 as r, createBoardLiveCardsNonCorePublic as s, createBoardLiveCardsPublic as t, createBoardWorkerStore as u, createCardStore as v, createHttpBoardCallbackTransport as w, createInProcessBoardCallbackTransport as x, createLocalNodeBoardCallbackTransport as y };
506
+ export { type BoardChangeNotification as B, type CommandInput as C, EMPTY_CONFIG as E, type LiveCard as L, type StateSnapshotReadView as S, type CommandResult as a, type CardAdminStore as b, type BoardLiveCardsPublic as c, type BoardNonCorePlatformAdapter as d, type BoardPlatformAdapter as e, type BoardWorkerRequest as f, type BoardStatusObject as g, type BoardCallbackTransport as h, type CardChecksumIndex as i, type CardUpsertValidation as j, type CardIndex as k, type BoardWorkerStore as l, BOARD_GRAPH_KEY as m, type BoardLiveCardsNonCorePublic as n, type BoardWorkerDeadLetterRequest as o, type BoardWorkerLeasedRequest as p, type BoardWorkerQueuedRequest as q, SNAPSHOT_SCHEMA_VERSION_V1 as r, createBoardLiveCardsNonCorePublic as s, createBoardLiveCardsPublic as t, createBoardWorkerStore as u, createCardStore as v, createHttpBoardCallbackTransport as w, createInProcessBoardCallbackTransport as x, createLocalNodeBoardCallbackTransport as y };
@@ -503,4 +503,4 @@ interface BoardLiveCardsNonCorePublic {
503
503
  }
504
504
  declare function createBoardLiveCardsNonCorePublic(baseRef: KindValueRef, adapter: BoardNonCorePlatformAdapter): BoardLiveCardsNonCorePublic;
505
505
 
506
- export { type BoardWorkerRequest as B, type CommandResult as C, EMPTY_CONFIG as E, type LiveCard as L, type StateSnapshotReadView as S, type CommandInput as a, type CardAdminStore as b, type BoardChangeNotification as c, type BoardLiveCardsPublic as d, type BoardNonCorePlatformAdapter as e, type BoardPlatformAdapter as f, type BoardCallbackTransport as g, type BoardStatusObject as h, type CardChecksumIndex as i, type CardUpsertValidation as j, type CardIndex as k, type BoardWorkerStore as l, BOARD_GRAPH_KEY as m, type BoardLiveCardsNonCorePublic as n, type BoardWorkerDeadLetterRequest as o, type BoardWorkerLeasedRequest as p, type BoardWorkerQueuedRequest as q, SNAPSHOT_SCHEMA_VERSION_V1 as r, createBoardLiveCardsNonCorePublic as s, createBoardLiveCardsPublic as t, createBoardWorkerStore as u, createCardStore as v, createHttpBoardCallbackTransport as w, createInProcessBoardCallbackTransport as x, createLocalNodeBoardCallbackTransport as y };
506
+ export { type BoardChangeNotification as B, type CommandInput as C, EMPTY_CONFIG as E, type LiveCard as L, type StateSnapshotReadView as S, type CommandResult as a, type CardAdminStore as b, type BoardLiveCardsPublic as c, type BoardNonCorePlatformAdapter as d, type BoardPlatformAdapter as e, type BoardWorkerRequest as f, type BoardStatusObject as g, type BoardCallbackTransport as h, type CardChecksumIndex as i, type CardUpsertValidation as j, type CardIndex as k, type BoardWorkerStore as l, BOARD_GRAPH_KEY as m, type BoardLiveCardsNonCorePublic as n, type BoardWorkerDeadLetterRequest as o, type BoardWorkerLeasedRequest as p, type BoardWorkerQueuedRequest as q, SNAPSHOT_SCHEMA_VERSION_V1 as r, createBoardLiveCardsNonCorePublic as s, createBoardLiveCardsPublic as t, createBoardWorkerStore as u, createCardStore as v, createHttpBoardCallbackTransport as w, createInProcessBoardCallbackTransport as x, createLocalNodeBoardCallbackTransport as y };