yaml-flow 8.11.5 → 8.11.7
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.
- package/browser/adapters/localstorage-storage.js +1 -1
- package/browser/asset-integrity.json +4 -4
- package/browser/board-sse-state.js +2 -0
- package/browser/server-runtime-controlface.js +1 -1
- package/examples/board-container/board-container-lifecycle-example.js +67 -0
- package/lib/board-container-lifecycle-D5gz6kB1.d.cts +57 -0
- package/lib/board-container-lifecycle-D5gz6kB1.d.ts +57 -0
- package/lib/board-live-cards-node.cjs +8 -8
- package/lib/board-live-cards-node.d.cts +24 -9
- package/lib/board-live-cards-node.d.ts +24 -9
- package/lib/board-live-cards-node.js +8 -8
- package/lib/{board-live-cards-public-async-U98IXUBx.d.ts → board-live-cards-public-async-D72v-MTi.d.ts} +1 -1
- package/lib/{board-live-cards-public-async-Cl0M3j5P.d.cts → board-live-cards-public-async-DtgoCVRv.d.cts} +1 -1
- package/lib/board-live-cards-public.cjs +1 -1
- package/lib/board-live-cards-public.d.cts +4 -4
- package/lib/board-live-cards-public.d.ts +4 -4
- package/lib/board-live-cards-public.js +1 -1
- package/lib/board-live-cards-server-runtime.cjs +1 -1
- package/lib/board-live-cards-server-runtime.d.cts +3 -3
- package/lib/board-live-cards-server-runtime.d.ts +3 -3
- package/lib/board-live-cards-server-runtime.js +1 -1
- package/lib/{board-platform-adapter-async-ByBRFn1G.d.ts → board-platform-adapter-async-CVvZYqNy.d.ts} +2 -2
- package/lib/{board-platform-adapter-async-DjBwE0m9.d.cts → board-platform-adapter-async-O7EUvJ3W.d.cts} +2 -2
- package/lib/board-sse-state.cjs +2 -0
- package/lib/board-sse-state.d.cts +19 -0
- package/lib/board-sse-state.d.ts +19 -0
- package/lib/board-sse-state.js +2 -0
- package/lib/board-state-reducer.cjs +1 -1
- package/lib/board-state-reducer.js +1 -1
- package/lib/{chunk-WE7JOO4T.cjs → chunk-3XPY7CCM.cjs} +2 -2
- package/lib/chunk-73LKIKD3.cjs +2 -0
- package/lib/chunk-7SBE7A6E.cjs +2 -0
- package/lib/{chunk-7UJQMFVS.js → chunk-AN7MLI7X.js} +2 -2
- package/lib/chunk-CAQHA4GK.js +2 -0
- package/lib/chunk-CJQEM63S.cjs +2 -0
- package/lib/{chunk-WRMOGPRG.cjs → chunk-CSHNTZW4.cjs} +2 -2
- package/lib/chunk-F3A3ZNF6.js +2 -0
- package/lib/{chunk-CODPG5MY.js → chunk-HKPVF5UI.js} +3 -3
- package/lib/chunk-IXZV5BS5.js +2 -0
- package/lib/{chunk-5RUSICUC.cjs → chunk-K5TEZRZK.cjs} +3 -3
- package/lib/{chunk-6MD6FVE3.js → chunk-PEJRTZU3.js} +2 -2
- package/lib/{chunk-QKWQ4HRE.js → chunk-RKLEBQUG.js} +3 -3
- package/lib/{chunk-ZWXZ5DBX.cjs → chunk-TUQ6JBER.cjs} +3 -3
- package/lib/{chunk-BQJVCCFU.cjs → chunk-U5BGE52X.cjs} +2 -2
- package/lib/{chunk-HOSD6UHA.js → chunk-X32SJDLT.js} +2 -2
- package/lib/cloud-storage.cjs +1 -1
- package/lib/cloud-storage.d.cts +2 -2
- package/lib/cloud-storage.d.ts +2 -2
- package/lib/cloud-storage.js +1 -1
- package/lib/firestore-storage/index.cjs +1 -1
- package/lib/firestore-storage/index.d.cts +1 -1
- package/lib/firestore-storage/index.d.ts +1 -1
- package/lib/firestore-storage/index.js +1 -1
- package/lib/index.cjs +2 -2
- package/lib/index.d.cts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -1
- package/lib/localstorage-storage/index.cjs +1 -1
- package/lib/localstorage-storage/index.d.cts +1 -1
- package/lib/localstorage-storage/index.d.ts +1 -1
- package/lib/localstorage-storage/index.js +1 -1
- package/lib/notification-consumer/index.cjs +1 -1
- package/lib/notification-consumer/index.js +1 -1
- package/lib/server-jobs-queue-runner/index.cjs +1 -1
- package/lib/server-jobs-queue-runner/index.d.cts +3 -3
- package/lib/server-jobs-queue-runner/index.d.ts +3 -3
- package/lib/server-jobs-queue-runner/index.js +1 -1
- package/lib/server-runtime/index.cjs +1 -1
- package/lib/server-runtime/index.d.cts +4 -4
- package/lib/server-runtime/index.d.ts +4 -4
- package/lib/server-runtime/index.js +1 -1
- package/lib/server-runtime-agentface/index.d.cts +3 -3
- package/lib/server-runtime-agentface/index.d.ts +3 -3
- package/lib/server-runtime-controlface/index.cjs +1 -1
- package/lib/server-runtime-controlface/index.d.cts +3 -3
- package/lib/server-runtime-controlface/index.d.ts +3 -3
- package/lib/server-runtime-controlface/index.js +1 -1
- package/lib/server-runtime-core/index.cjs +1 -1
- package/lib/server-runtime-core/index.d.cts +5 -5
- package/lib/server-runtime-core/index.d.ts +5 -5
- package/lib/server-runtime-core/index.js +1 -1
- package/lib/server-runtime-watchers/index.d.cts +5 -5
- package/lib/server-runtime-watchers/index.d.ts +5 -5
- package/lib/server-runtime-webhooks/index.d.cts +3 -3
- package/lib/server-runtime-webhooks/index.d.ts +3 -3
- package/lib/{sse-hub-D_QHswxL.d.ts → sse-hub-BGQWPQJP.d.ts} +1 -1
- package/lib/{sse-hub-XO6crN9o.d.cts → sse-hub-DViWG1m-.d.cts} +1 -1
- package/lib/{types-B8Yieskx.d.ts → types-D5rknZ9j.d.ts} +2 -2
- package/lib/{types-gTf9pAyC.d.cts → types-VIrQZ8CW.d.cts} +2 -2
- package/package.json +6 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {a as a$
|
|
1
|
+
import {a as a$3}from'./chunk-Y4WK7HE4.js';export{a as createChatStorage,c as createInMemoryChatStorage}from'./chunk-Y4WK7HE4.js';import {a as a$6}from'./chunk-2LGCYN35.js';import {a as a$4}from'./chunk-O5UYCGIN.js';export{a as createArtifactsStore,c as createCardFileMetadataStore,b as createFileArtifactsStore}from'./chunk-O5UYCGIN.js';import {a as a$5}from'./chunk-RKKSVOP2.js';export{a as createBoardWorkerStore,b as createQueueLaneRegistry}from'./chunk-RKKSVOP2.js';import {h}from'./chunk-J4MHQ7JF.js';import {a as a$1}from'./chunk-VGDLSS2H.js';export{a as createBoardContainerLifecycle}from'./chunk-F3A3ZNF6.js';import'./chunk-QLB6PKOT.js';import'./chunk-RKLEBQUG.js';import {b as b$1}from'./chunk-PEJRTZU3.js';import {d,e}from'./chunk-X32SJDLT.js';export{f as createBoardLiveCardsNonCorePublic,e as createBoardLiveCardsPublic,b as createHttpBoardCallbackTransport,c as createInProcessBoardCallbackTransport,d as createLocalNodeBoardCallbackTransport}from'./chunk-X32SJDLT.js';import'./chunk-FULAMLUU.js';import'./chunk-EOVTMJYZ.js';export{a as createBoardLiveCardsMcp}from'./chunk-6M3RIGUH.js';export{q as BOARD_GRAPH_KEY,D as EMPTY_CONFIG,p as SNAPSHOT_SCHEMA_VERSION_V1,m as createCardStore,H as createCardStorePublic}from'./chunk-WGYS2L4V.js';export{a as executionRefFromScriptPath,c as parseExecutionRef,b as serializeExecutionRef}from'./chunk-ANKA7HEJ.js';import {a as a$2,b}from'./chunk-44L64VQ2.js';export{b as parseRef,a as serializeRef}from'./chunk-44L64VQ2.js';import'./chunk-Q444D72R.js';import'./chunk-R7SQQSDX.js';import {a as a$7}from'./chunk-ATOQP3BD.js';import {d as d$1}from'./chunk-YT76JNKE.js';import'./chunk-MNEOJWPS.js';export{a as createQueueStoragePublic}from'./chunk-BJGK5FNL.js';export{a as createArtifactsStorePublic}from'./chunk-X3LC4LII.js';import'./chunk-UGB7PC4P.js';import'./chunk-FW4363Y4.js';import {spawn,spawnSync,execFile,execFileSync}from'child_process';import*as a from'fs';import a__default from'fs';import*as Qe from'os';import*as v from'path';import v__default from'path';import*as De from'net';import {fileURLToPath}from'url';import {randomUUID,createHash}from'crypto';import {createRequire}from'module';import {lockSync}from'proper-lockfile';function I(...e){return v.join(...e)}function Je(e){return v.isAbsolute(e)}function le(){return randomUUID()}function Ke(e){return createHash("sha256").update(e).digest("hex")}function We(e){return v.dirname(fileURLToPath(e))}function Nt(e){if(typeof e=="object"&&e!==null){let{command:r,args:o=[],...n}=e,s=qe(r,o);return {...n,command:s.command,args:s.args}}let t=He(e);if(t.length===0)throw new Error(`Empty command spec: ${JSON.stringify(e)}`);return qe(t[0],t.slice(1))}function qe(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 He(e){let t=[],r="",o=null;for(let n of e.trim()){if(o){n===o?o=null:r+=n;continue}if(n==='"'||n==="'"){o=n;continue}if(/\s/.test(n)){r&&(t.push(r),r="");continue}r+=n;}if(o)throw new Error(`Unterminated quote in command: ${e}`);return r&&t.push(r),t}function Ve(e){return process.platform==="win32"&&/\.(cmd|bat)$/i.test(e)}function Ue(e,t){let{command:r,args:o=[],cwd:n,env:s,timeoutMs:d}=e;return execFileSync(r,o,{shell:Ve(r),timeout:d,encoding:t?.encoding??"utf-8",cwd:n,windowsHide:true,env:s?{...process.env,...s}:void 0,input:t?.input})}function qt(e,t){let{command:r,args:o=[],cwd:n,env:s,timeoutMs:d=3e4}=e;execFile(r,o,{shell:Ve(r),encoding:"utf8",windowsHide:true,timeout:d,maxBuffer:10*1024*1024,cwd:n,env:s?{...process.env,...s}:void 0},(g,x,u)=>t(g??null,x,u));}function ze(e,t,r){let o=v.join(e,"board-live-cards-cli.js");if(a.existsSync(o))return {cmd:process.execPath,args:[o,t,...r]};let n=v.join(e,"board-live-cards-cli.ts"),d=[v.join(e,"..","..","..","node_modules","tsx","dist","cli.mjs"),v.join(e,"..","..","node_modules","tsx","dist","cli.mjs"),v.join(e,"..","..","..","node_modules",".bin","tsx"),v.join(e,"..","..","node_modules",".bin","tsx")].find(x=>a.existsSync(x));return a.existsSync(n)&&d?{cmd:process.execPath,args:[d,n,t,...r]}:{cmd:process.platform==="win32"?"npx.cmd":"npx",args:["tsx",n,t,...r]}}function Ge(e){let t=v.join(e,"board-live-cards-cli.mjs");if(a.existsSync(t))return t;let r=v.join(e,"..","..","..","dev","board-live-cards-cli.js");if(a.existsSync(r))return r;let o=v.join(e,"..","..","dev","board-live-cards-cli.js");if(a.existsSync(o))return o;let n=v.join(e,"board-live-cards-cli.js");if(a.existsSync(n))return n;throw new Error(`resolveBoardCliCallbackTarget: cannot find callback target in ${e} (expected dev/board-live-cards-cli.js wrapper, ${n}, or ${t})`)}function Qt(e){return process.platform==="win32"?`\\\\.\\pipe\\${e}`:v.join(Qe.tmpdir(),`${e}.sock`)}var de=new Map;function Ye(e,t,r){if(t.length===0)return;let o=t.map(g=>JSON.stringify(g)).join(`
|
|
2
2
|
`)+`
|
|
3
|
-
`,n=ce.get(e);if(n&&!n.socket.destroyed){n.ready?n.socket.write(o):n.queue.push(o);return}let s=Mt(e),u=Le.createConnection(s);n={socket:u,ready:false,queue:[o]},ce.set(e,n),u.on("connect",()=>{n.ready=true;for(let p of n.queue)u.write(p);n.queue.length=0;}),u.on("error",p=>{r?.(`[named-pipe publish] ${s}: ${p instanceof Error?p.message:String(p)}`),ce.delete(e);}),u.on("close",()=>{ce.delete(e);});}function ze(){return {executeSync(e,t,r){return We({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(e,t,r){$t({command:e,args:t},r);},resolveInvocation(e,t){let r=Ft({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:De}}function xe(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:o=>e.workerStore.nackRequest(r.messageId,r.leaseToken,o)}))},async handle(t){await e.handleRequest(t.args,t);},onError:e.onError}}function we(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:o=>e.queueStorage.nack(r.id,r.leaseToken,o)}))},handle:e.handleMessage,onError:e.onError}}async function Ge(e,t){try{await e.handle(t.message,t),await t.ack();}catch(r){let o=t.attempt>=Math.max(1,Math.floor(e.maxAttempts??5));await t.nack({dead:o,reason:r instanceof Error?r.message:String(r)}),e.onError?.(r,t);}}function Ye(e){let t=Math.max(1,Math.floor(e.pollIntervalMs??250)),r=Math.max(1,Math.floor(e.visibilityMs??6e4)),o=Math.max(1,Math.floor(e.concurrency??1)),n=false,s=false;async function u(){if(!(n||s)){s=true;try{let x=await e.lease({max:o,visibilityMs:r});for(let c of x)await Ge(e,c);}finally{s=false;}}}let p=setInterval(()=>{u();},t);return typeof p.unref=="function"&&p.unref(),u(),()=>{n=true,clearInterval(p);}}async function _t(e){let t=Math.max(1,Math.floor(e.visibilityMs??6e4)),r=Math.max(1,Math.floor(e.concurrency??1)),o=await e.lease({max:r,visibilityMs:t});for(let n of o)await Ge(e,n);return o.length}async function de(e,t){let r=Math.max(1,Math.floor(t?.maxPasses??256)),o=0;for(let n=0;n<r;n+=1){let s=await _t(e);if(o+=s,s<=0)return o}throw new Error(`drainQueueLaneToIdle exceeded ${r} passes for lane "${e.id}"`)}function Ot(e){let r=(Array.isArray(e)?e:e.lanes).map(o=>Ye(o));return ()=>{for(let o of r)o();}}var Lt=createRequire(import.meta.url);function Nt(e){return typeof e=="object"?e:b(e)}function Xe(e){let t=w.basename(String(e||"").trim());if(!t)throw new Error(`resolveYamlFlowCliPath: expected non-empty cli file name, got ${JSON.stringify(e)}`);let r=w.dirname(Lt.resolve("yaml-flow/package.json")),o=t.replace(/\.[^.]+$/,""),n=w.join(r,"cli","bundled",`${o}.mjs`);if(i.existsSync(n))return n;let s=w.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 L(e){let t=Nt(e);return t.kind==="yaml-flow-cli"?Xe(t.value):t.value}function Qt(e,t){let r=L(e);switch(r){case "source-cli-task-executor":{let o=w.join(t,"source-cli-task-executor.js");if(i.existsSync(o))return {command:process.execPath,args:[o]};let n=w.join(t,"source-cli-task-executor.ts"),s=w.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),u=w.join(t,"..","..","node_modules",".bin","tsx"),p=i.existsSync(s)?s:u;return i.existsSync(n)&&i.existsSync(p)?{command:process.execPath,args:[p,n]}:{command:process.execPath,args:[o]}}case "board-live-cards":{let{cmd:o,args:n}=He(t,"_",[]);return {command:o,args:n}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function Jt(e,t){if(e.howToRun==="built-in"){let{command:o,args:n}=Qt(e.whatToRun,t);return {command:o,baseArgs:n}}let r=(typeof e.whatToRun=="object",L(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 le(e,t){return Jt(e,t)}var be=new Map;function Dt(e,t){let r=String(e||"").trim();if(!r)throw new Error("registerInProcessExecutionHandler: key is required");be.set(r,t);}function Kt(e){let t=String(e||"").trim();t&&be.delete(t);}function et(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),o=r[r.length-1];return JSON.parse(o)}}function tt(e,t){return {...t,whatToRun:L(e.whatToRun),...e.extra?{extra:e.extra}:{}}}function ke(e,t,r="invokeExecutionRef"){return a(e,t,r)}function rt(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 o=e,n=o.status==="success"?"success":o.status==="fail"?"failure":o.status,s=o.data&&typeof o.data=="object"&&!Array.isArray(o.data)?o.data:o.data===void 0?{}:{stdout:o.data};return {result:n,data:s,...typeof o.error=="string"?{error:o.error}:{},...t||{}}}return {result:"success",data:e&&typeof e=="object"&&!Array.isArray(e)?e:{stdout:e},...t||{}}}function q(e){return {result:"failure",data:{error:e}}}function V(e,t,r){let o=r?.label??"invokeExecutionRefSync",n=r?.cliDir??r?.cwd??process.cwd(),s;try{s=ke(e.argsMassaging,tt(e,t),o);}catch(h){let R=h instanceof Error?h.message:String(h);return q(R)}let u;try{u=le(e,n);}catch(h){let R=h instanceof Error?h.message:String(h);return q(`[${o}] ref resolution failed: ${R}`)}let p=[...u.baseArgs,...s.cmdArgs??[]],x=JSON.stringify(s.stdin??t),c=ze(),l;try{l=c.executeSync(u.command,p,{timeout:r?.timeoutMs??3e4,encoding:"utf-8",cwd:r?.cwd,input:x});}catch(h){let R=h,y=(R.stderr?String(R.stderr):"").trim(),d=typeof R.status=="number"?R.status:"unknown",f=y||R.message;return q(`[${o}] ref exited with status ${d}${f?`: ${f}`:""}`)}try{return rt(et(l))}catch{return {result:"success",data:{stdout:l.trim()}}}}async function Ze(e,t,r){let o=r?.label??"invokeExecutionRef",n;try{n=ke(e.argsMassaging,tt(e,t),o);}catch(h){let R=h instanceof Error?h.message:String(h);return q(R)}let s=L(e.whatToRun),u=n.headers?{"Content-Type":"application/json",...n.headers}:{"Content-Type":"application/json"},p=n.url??s,x;if(e.howToRun==="http:get"){let h=n.body&&typeof n.body=="object"&&!Array.isArray(n.body)?n.body:t,R=new URLSearchParams(Object.entries(h).filter(([,y])=>y!=null).map(([y,d])=>[y,String(d)]));R.size>0&&(p=`${p}${p.includes("?")?"&":"?"}${R.toString()}`);}else x=JSON.stringify(n.body??t);let c={method:e.howToRun==="http:get"?"GET":"POST",headers:u,body:x},l=0;for(;;)try{let h=await fetch(p,c);if(!h.ok){let f=await h.text().catch(()=>"");return q(`[${o}] HTTP ${h.status}${f?`: ${f}`:""}`)}let R={};h.headers.forEach((f,m)=>{R[m]=f;});let y=new Uint8Array(await h.arrayBuffer());if(y.byteLength===0)return {result:"success",data:{},headers:R};let d=new TextDecoder().decode(y);try{return rt(et(d),{headers:R})}catch{return {result:"success",data:{stdout:d},headers:R}}}catch(h){let R=h?.cause,y=R&&typeof R=="object"&&"code"in R?String(R.code||""):"";if((y==="ECONNRESET"||y==="UND_ERR_SOCKET")&&l===0){l+=1;continue}let f=h instanceof Error?h.message:String(h),m=R instanceof Error?`${R.name}: ${R.message}${y?` [${y}]`:""}`:R?String(R):"",S=n.url??s??"",a=`${f}${m?` (cause: ${m})`:""}${S?` url=${S}`:""}`;return q(`[${o}] ${a}`)}}async function Wt(e,t,r){let o=r?.label??"invokeExecutionRef",n=L(e.whatToRun).trim();if(!n)return q(`[${o}] in-process-loop requires a non-empty handler key`);let s=be.get(n);if(!s)return q(`[${o}] no in-process handler registered for: ${n}`);try{return await s(e,t,r)}catch(u){let p=u instanceof Error?u.message:String(u);return q(`[${o}] ${p}`)}}var Ht={"local-node":async(e,t,r)=>V(e,t,r),"local-python":async(e,t,r)=>V(e,t,r),"local-process":async(e,t,r)=>V(e,t,r),"built-in":async(e,t,r)=>V(e,t,r),"http:post":Ze,"http:get":Ze,"in-process-loop":Wt},Vt={"local-node":V,"local-python":V,"local-process":V,"built-in":V};async function Z(e,t,r){let o=r?.transports?.[e.howToRun]??Ht[e.howToRun];return o?o(e,t,r):q(`[${r?.label??"invokeExecutionRef"}] unsupported howToRun: ${e.howToRun}`)}function ve(e,t,r){let o=r?.syncTransports?.[e.howToRun]??Vt[e.howToRun];return o?o(e,t,r):q(`[${r?.label??"invokeExecutionRefSync"}] unsupported sync howToRun: ${e.howToRun}`)}function Ut(e){return {invoke(t,r){return Z(t,r,e)},invokeSync(t,r){return ve(t,r,e)}}}function zt(e,t,r){return ve(e,t,r)}function Ae(e={}){let t=e.resolveRef??(r=>r);return {...e.executorTimeouts?{executorTimeouts:e.executorTimeouts}:{},async invokeExecutor(r,o,n){let s=t(r);if(s.howToRun==="queue-storage")throw new Error("queue-storage does not support inline executor request/response");if(s.howToRun==="http:post"||s.howToRun==="in-process-loop"){let l=await h(s,{subcommand:o,...n?.input!==void 0?{input:n.input}:{}});return typeof l=="string"?l:l&&typeof l=="object"&&!Array.isArray(l)&&typeof l.stdout=="string"?String(l.stdout):JSON.stringify(l??{})}if(s.howToRun==="http:get"){let l=await Z(s,{subcommand:o,...n?.input!==void 0?{input:n.input}:{},...s.extra?{extra:s.extra}:{}},{cwd:process.cwd(),timeoutMs:n?.timeout??3e4,label:`invokeExecutor:${o}`});if(l.result!=="success"){let h=typeof l.data?.error=="string"?l.data.error:l.error;throw new Error(h||`executor request failed: ${l.result}`)}return typeof l.data?.stdout=="string"?l.data.stdout:JSON.stringify(l.data??{})}if(!e.resolveCliDir)throw new Error(`createNonCoreExecutorDispatcher: ref.howToRun="${s.howToRun}" requires opts.resolveCliDir`);let{command:u,baseArgs:p}=le(s,e.resolveCliDir()),x=s.extra?["--extra",Buffer.from(JSON.stringify(s.extra)).toString("base64")]:[],c=[...p,o,...x];return await new Promise((l,h)=>{let R=spawn(u,c,{cwd:process.cwd(),stdio:"pipe",windowsHide:true,shell:process.platform==="win32"&&/\.(cmd|bat)$/i.test(u)}),y=[],d=[],f=false,m=null,S=g=>{f||(f=true,m&&clearTimeout(m),h(g));},a=g=>{f||(f=true,m&&clearTimeout(m),l(g));};R.stdout.on("data",g=>{y.push(Buffer.from(g));}),R.stderr.on("data",g=>{d.push(Buffer.from(g));}),R.on("error",g=>{let v=g;v.stdout=Buffer.concat(y).toString("utf-8"),v.stderr=Buffer.concat(d).toString("utf-8"),S(v);}),R.on("close",g=>{let v=Buffer.concat(y).toString("utf-8"),b=Buffer.concat(d).toString("utf-8");if(g===0){a(v);return}let k=new Error(b.trim()||`executor exited with status ${g}`);k.stdout=v,k.stderr=b,S(k);}),n?.timeout&&n.timeout>0&&(m=setTimeout(()=>{R.kill();let g=new Error(`executor timed out after ${n.timeout}ms`);g.stdout=Buffer.concat(y).toString("utf-8"),g.stderr=Buffer.concat(d).toString("utf-8"),S(g);},n.timeout)),n?.input!==void 0?R.stdin.end(n.input):R.stdin.end();})}}}function B(e,t){if(process.platform!=="win32"){i.renameSync(e,t);return}let r=[10,20,40,80,160];for(let o=0;o<=r.length;o++)try{i.renameSync(e,t);return}catch(n){let s=n.code;if((s==="EPERM"||s==="EBUSY")&&o<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[o]);continue}throw n}}function U(e){function t(n){return w.join(e,...n.split("/"))}function r(n){return w.relative(e,n).replace(/\\/g,"/")}function o(n,s){if(i.existsSync(n))for(let u of i.readdirSync(n,{withFileTypes:true})){let p=w.join(n,u.name);if(u.isDirectory()){o(p,s);continue}u.isFile()&&s.push(r(p));}}return {read(n){let s=t(n);if(!i.existsSync(s))return null;try{return i.readFileSync(s,"utf-8")}catch{return null}},write(n,s){let u=t(n),p=`${u}.${process.pid}.${randomUUID()}.tmp`;i.mkdirSync(w.dirname(u),{recursive:true}),i.writeFileSync(p,s,"utf-8"),B(p,u);},exists(n){return i.existsSync(t(n))},remove(n){let s=t(n);try{i.existsSync(s)&&i.unlinkSync(s);}catch{}},readBytes(n){let s=t(n);if(!i.existsSync(s))return null;try{return new Uint8Array(i.readFileSync(s))}catch{return null}},writeBytes(n,s){let u=t(n),p=`${u}.${process.pid}.${randomUUID()}.tmp`;i.mkdirSync(w.dirname(u),{recursive:true}),i.writeFileSync(p,Buffer.from(s)),B(p,u);},listKeys(n){let s=[];o(e,s);let u=s.sort();return n?u.filter(p=>p.startsWith(n)):u},stat(n){let s=t(n);if(!i.existsSync(s))return null;try{let u=i.statSync(s);return {key:n,size:Number(u.size||0),updatedAt:new Date(u.mtimeMs).toISOString()}}catch{return null}},keyRef(n){return {kind:"fs-path",value:t(n)}},renameKey(n,s){let u=t(n);if(!i.existsSync(u))return false;let p=t(s);return i.mkdirSync(w.dirname(p),{recursive:true}),B(u,p),true}}}function Ie(){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(w.dirname(e),{recursive:true}),i.writeFileSync(r,t,"utf-8"),B(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(w.dirname(e),{recursive:true}),i.writeFileSync(r,Buffer.from(t)),B(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 []},renameKey(e,t){return i.existsSync(e)?(i.mkdirSync(w.dirname(t),{recursive:true}),B(e,t),true):false}}}function D(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;i.mkdirSync(w.dirname(e),{recursive:true}),i.writeFileSync(r,JSON.stringify(t,null,2),"utf-8"),B(r,e);}function N(e){if(!i.existsSync(e))return null;try{return JSON.parse(i.readFileSync(e,"utf-8"))}catch{return null}}function X(e){return i.existsSync(e)?i.readdirSync(e).filter(t=>t.endsWith(".json")).sort().map(t=>w.join(e,t)):[]}function ee(e){return {id:e.id,body:e.body,enqueuedAt:e.enqueuedAt,attempt:e.attempt}}function Xt(e){return {...ee(e),leaseToken:String(e.leaseToken||""),leaseExpiresAt:String(e.leaseExpiresAt||"")}}function er(e){return {...ee(e),reason:e.reason}}function je(e){let t=w.join(e,"active"),r=w.join(e,"leased"),o=w.join(e,"done"),n=w.join(e,"dead"),s=w.join(e,"staged");for(let d of [t,r,o,n,s])i.mkdirSync(d,{recursive:true});let u=0;function p(d){let f=d.replace(/[:.]/g,"-"),m=String(u++).padStart(6,"0");return `${f}-${m}`}function x(d){let f=d.activeOrderKey||p(String(d.enqueuedAt||new Date().toISOString()));return w.join(t,`${f}-${d.id}.json`)}function c(d){return w.join(r,`${d}.json`)}function l(d){return w.join(o,`${d}.json`)}function h(d){return w.join(n,`${d}.json`)}function R(d){return w.join(s,`${d}.json`)}function y(){let d=Date.now();for(let f of X(r)){let m=N(f);if(!m?.leaseExpiresAt)continue;let S=Date.parse(m.leaseExpiresAt);if(Number.isNaN(S)||S>d)continue;let a={id:m.id,body:m.body,enqueuedAt:m.enqueuedAt,attempt:m.attempt,activeOrderKey:m.activeOrderKey};D(x(a),a);try{i.unlinkSync(f);}catch{}}}return {enqueue(d){let f={id:randomUUID(),body:d,enqueuedAt:new Date().toISOString(),attempt:0};return f.activeOrderKey=p(f.enqueuedAt),D(x(f),f),ee(f)},enqueueMany(d){return d.map(f=>this.enqueue(f))},enqueueIfAbsent(d,f){y();for(let S of [t,r,s])for(let a of X(S))if(N(a)?.dedupKey===f)return null;let m={id:randomUUID(),body:d,enqueuedAt:new Date().toISOString(),attempt:0,dedupKey:f};return m.activeOrderKey=p(m.enqueuedAt),D(x(m),m),ee(m)},lease(d){y();let f=Math.max(1,Math.floor(d?.max??1)),m=Math.max(1,Math.floor(d?.visibilityMs??6e4)),S=[];for(let a of X(t)){if(S.length>=f)break;let g=N(a);if(!g)continue;let v=c(g.id);try{B(a,v);}catch{continue}let b={...g,attempt:(Number(g.attempt)||0)+1,leaseToken:randomUUID(),leaseExpiresAt:new Date(Date.now()+m).toISOString()};D(v,b),S.push(Xt(b));}return S},ack(d,f){let m=c(d),S=N(m);if(!S||S.leaseToken!==f)return false;try{B(m,l(d));}catch{return false}return true},nack(d,f,m){let S=c(d),a=N(S);if(!a||a.leaseToken!==f)return false;let g={id:a.id,body:a.body,enqueuedAt:a.enqueuedAt,attempt:a.attempt,activeOrderKey:a.activeOrderKey};m?.dead?(g.reason=m.reason,D(h(d),g)):D(x(g),g);try{i.unlinkSync(S);}catch{}return true},peekActive(d){return y(),X(t).map(f=>N(f)).filter(f=>!!f).map(ee)},peekDeadLetter(d){return X(n).map(f=>N(f)).filter(f=>!!f).map(er)},stage(d,f){let m=f?.dedupKey;if(m){y();for(let a of [t,r,s])for(let g of X(a))if(N(g)?.dedupKey===m)return null}let S={id:randomUUID(),body:d,enqueuedAt:new Date().toISOString(),attempt:0,...m?{dedupKey:m}:{}};return D(R(S.id),S),ee(S)},commitStaged(d){let f=R(d),m=N(f);if(!m)return false;let S=new Date().toISOString(),a={...m,attempt:0,enqueuedAt:S,activeOrderKey:p(S)};D(x(a),a);try{i.unlinkSync(f);}catch{}return true},discardStaged(d,f){let m=R(d),S=N(m);if(!S)return false;let a={id:S.id,body:S.body,enqueuedAt:S.enqueuedAt,attempt:S.attempt,reason:f};D(h(d),a);try{i.unlinkSync(m);}catch{}return true},peekStaged(d){return X(s).map(f=>N(f)).filter(f=>!!f).map(ee)}}}var Ee="__scratch-marker",Te="__scratch-config.json",tr=1440*60*1e3,rr=720*60*1e3,nr=500;function nt(e,t){if(!e)return t;let r=e.replace(/[^A-Za-z0-9._-]/g,"_");return r.length>0?r:t}function oe(e){i.mkdirSync(e,{recursive:true});let t=w.join(e,Ee),r=w.join(e,Te),o=!i.existsSync(t);if(o)try{i.writeFileSync(t,`scratch-store
|
|
3
|
+
`,n=de.get(e);if(n&&!n.socket.destroyed){n.ready?n.socket.write(o):n.queue.push(o);return}let s=Qt(e),d=De.createConnection(s);n={socket:d,ready:false,queue:[o]},de.set(e,n),d.on("connect",()=>{n.ready=true;for(let g of n.queue)d.write(g);n.queue.length=0;}),d.on("error",g=>{r?.(`[named-pipe publish] ${s}: ${g instanceof Error?g.message:String(g)}`),de.delete(e);}),d.on("close",()=>{de.delete(e);});}function Ze(){return {executeSync(e,t,r){return Ue({command:e,args:t,cwd:r?.cwd,timeoutMs:r?.timeout,env:r?.env},{encoding:r?.encoding,input:r?.input})},executeAsync(e,t,r){qt({command:e,args:t},r);},resolveInvocation(e,t){let r=Nt({command:e,args:t});return {cmd:r.command,args:r.args??[]}},splitCommand:He}}function be(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:o=>e.workerStore.nackRequest(r.messageId,r.leaseToken,o)}))},async handle(t){await e.handleRequest(t.args,t);},onError:e.onError}}function ve(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:o=>e.queueStorage.nack(r.id,r.leaseToken,o)}))},handle:e.handleMessage,onError:e.onError}}async function Xe(e,t){try{await e.handle(t.message,t),await t.ack();}catch(r){let o=t.attempt>=Math.max(1,Math.floor(e.maxAttempts??5));await t.nack({dead:o,reason:r instanceof Error?r.message:String(r)}),e.onError?.(r,t);}}function et(e){let t=Math.max(1,Math.floor(e.pollIntervalMs??250)),r=Math.max(1,Math.floor(e.visibilityMs??6e4)),o=Math.max(1,Math.floor(e.concurrency??1)),n=false,s=false;async function d(){if(!(n||s)){s=true;try{let x=await e.lease({max:o,visibilityMs:r});for(let u of x)await Xe(e,u);}finally{s=false;}}}let g=setInterval(()=>{d();},t);return typeof g.unref=="function"&&g.unref(),d(),()=>{n=true,clearInterval(g);}}async function Dt(e){let t=Math.max(1,Math.floor(e.visibilityMs??6e4)),r=Math.max(1,Math.floor(e.concurrency??1)),o=await e.lease({max:r,visibilityMs:t});for(let n of o)await Xe(e,n);return o.length}async function fe(e,t){let r=Math.max(1,Math.floor(t?.maxPasses??256)),o=0;for(let n=0;n<r;n+=1){let s=await Dt(e);if(o+=s,s<=0)return o}throw new Error(`drainQueueLaneToIdle exceeded ${r} passes for lane "${e.id}"`)}function Jt(e){let r=(Array.isArray(e)?e:e.lanes).map(o=>et(o));return ()=>{for(let o of r)o();}}var Wt=createRequire(import.meta.url);function Ht(e){return typeof e=="object"?e:b(e)}function rt(e){let t=v.basename(String(e||"").trim());if(!t)throw new Error(`resolveYamlFlowCliPath: expected non-empty cli file name, got ${JSON.stringify(e)}`);let r=v.dirname(Wt.resolve("yaml-flow/package.json")),o=t.replace(/\.[^.]+$/,""),n=v.join(r,"cli","bundled",`${o}.mjs`);if(a.existsSync(n))return n;let s=v.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 q(e){let t=Ht(e);return t.kind==="yaml-flow-cli"?rt(t.value):t.value}function Vt(e,t){let r=q(e);switch(r){case "source-cli-task-executor":{let o=v.join(t,"source-cli-task-executor.js");if(a.existsSync(o))return {command:process.execPath,args:[o]};let n=v.join(t,"source-cli-task-executor.ts"),s=v.join(t,"..","..","node_modules","tsx","dist","cli.mjs"),d=v.join(t,"..","..","node_modules",".bin","tsx"),g=a.existsSync(s)?s:d;return a.existsSync(n)&&a.existsSync(g)?{command:process.execPath,args:[g,n]}:{command:process.execPath,args:[o]}}case "board-live-cards":{let{cmd:o,args:n}=ze(t,"_",[]);return {command:o,args:n}}default:throw new Error(`resolveBuiltIn: unknown built-in name "${r}". Supported: source-cli-task-executor, board-live-cards`)}}function Ut(e,t){if(e.howToRun==="built-in"){let{command:o,args:n}=Vt(e.whatToRun,t);return {command:o,baseArgs:n}}let r=(typeof e.whatToRun=="object",q(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 pe(e,t){return Ut(e,t)}var Ae=new Map;function zt(e,t){let r=String(e||"").trim();if(!r)throw new Error("registerInProcessExecutionHandler: key is required");Ae.set(r,t);}function Gt(e){let t=String(e||"").trim();t&&Ae.delete(t);}function nt(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),o=r[r.length-1];return JSON.parse(o)}}function ot(e,t){return {...t,whatToRun:q(e.whatToRun),...e.extra?{extra:e.extra}:{}}}function Te(e,t,r="invokeExecutionRef"){return a$1(e,t,r)}function st(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 o=e,n=o.status==="success"?"success":o.status==="fail"?"failure":o.status,s=o.data&&typeof o.data=="object"&&!Array.isArray(o.data)?o.data:o.data===void 0?{}:{stdout:o.data};return {result:n,data:s,...typeof o.error=="string"?{error:o.error}:{},...t||{}}}return {result:"success",data:e&&typeof e=="object"&&!Array.isArray(e)?e:{stdout:e},...t||{}}}function N(e){return {result:"failure",data:{error:e}}}function G(e,t,r){let o=r?.label??"invokeExecutionRefSync",n=r?.cliDir??r?.cwd??process.cwd(),s;try{s=Te(e.argsMassaging,ot(e,t),o);}catch(h){let R=h instanceof Error?h.message:String(h);return N(R)}let d;try{d=pe(e,n);}catch(h){let R=h instanceof Error?h.message:String(h);return N(`[${o}] ref resolution failed: ${R}`)}let g=[...d.baseArgs,...s.cmdArgs??[]],x=JSON.stringify(s.stdin??t),u=Ze(),p;try{p=u.executeSync(d.command,g,{timeout:r?.timeoutMs??3e4,encoding:"utf-8",cwd:r?.cwd,input:x});}catch(h){let R=h,y=(R.stderr?String(R.stderr):"").trim(),l=typeof R.status=="number"?R.status:"unknown",f=y||R.message;return N(`[${o}] ref exited with status ${l}${f?`: ${f}`:""}`)}try{return st(nt(p))}catch{return {result:"success",data:{stdout:p.trim()}}}}async function tt(e,t,r){let o=r?.label??"invokeExecutionRef",n;try{n=Te(e.argsMassaging,ot(e,t),o);}catch(h){let R=h instanceof Error?h.message:String(h);return N(R)}let s=q(e.whatToRun),d=n.headers?{"Content-Type":"application/json",...n.headers}:{"Content-Type":"application/json"},g=n.url??s,x;if(e.howToRun==="http:get"){let h=n.body&&typeof n.body=="object"&&!Array.isArray(n.body)?n.body:t,R=new URLSearchParams(Object.entries(h).filter(([,y])=>y!=null).map(([y,l])=>[y,String(l)]));R.size>0&&(g=`${g}${g.includes("?")?"&":"?"}${R.toString()}`);}else x=JSON.stringify(n.body??t);let u={method:e.howToRun==="http:get"?"GET":"POST",headers:d,body:x},p=0;for(;;)try{let h=await fetch(g,u);if(!h.ok){let f=await h.text().catch(()=>"");return N(`[${o}] HTTP ${h.status}${f?`: ${f}`:""}`)}let R={};h.headers.forEach((f,m)=>{R[m]=f;});let y=new Uint8Array(await h.arrayBuffer());if(y.byteLength===0)return {result:"success",data:{},headers:R};let l=new TextDecoder().decode(y);try{return st(nt(l),{headers:R})}catch{return {result:"success",data:{stdout:l},headers:R}}}catch(h){let R=h?.cause,y=R&&typeof R=="object"&&"code"in R?String(R.code||""):"";if((y==="ECONNRESET"||y==="UND_ERR_SOCKET")&&p===0){p+=1;continue}let f=h instanceof Error?h.message:String(h),m=R instanceof Error?`${R.name}: ${R.message}${y?` [${y}]`:""}`:R?String(R):"",S=n.url??s??"",c=`${f}${m?` (cause: ${m})`:""}${S?` url=${S}`:""}`;return N(`[${o}] ${c}`)}}async function Yt(e,t,r){let o=r?.label??"invokeExecutionRef",n=q(e.whatToRun).trim();if(!n)return N(`[${o}] in-process-loop requires a non-empty handler key`);let s=Ae.get(n);if(!s)return N(`[${o}] no in-process handler registered for: ${n}`);try{return await s(e,t,r)}catch(d){let g=d instanceof Error?d.message:String(d);return N(`[${o}] ${g}`)}}var Zt={"local-node":async(e,t,r)=>G(e,t,r),"local-python":async(e,t,r)=>G(e,t,r),"local-process":async(e,t,r)=>G(e,t,r),"built-in":async(e,t,r)=>G(e,t,r),"http:post":tt,"http:get":tt,"in-process-loop":Yt},Xt={"local-node":G,"local-python":G,"local-process":G,"built-in":G};async function te(e,t,r){let o=r?.transports?.[e.howToRun]??Zt[e.howToRun];return o?o(e,t,r):N(`[${r?.label??"invokeExecutionRef"}] unsupported howToRun: ${e.howToRun}`)}function Ee(e,t,r){let o=r?.syncTransports?.[e.howToRun]??Xt[e.howToRun];return o?o(e,t,r):N(`[${r?.label??"invokeExecutionRefSync"}] unsupported sync howToRun: ${e.howToRun}`)}function er(e){return {invoke(t,r){return te(t,r,e)},invokeSync(t,r){return Ee(t,r,e)}}}function tr(e,t,r){return Ee(e,t,r)}function Ce(e={}){let t=e.resolveRef??(r=>r);return {...e.executorTimeouts?{executorTimeouts:e.executorTimeouts}:{},async invokeExecutor(r,o,n){let s=t(r);if(s.howToRun==="queue-storage")throw new Error("queue-storage does not support inline executor request/response");if(s.howToRun==="http:post"||s.howToRun==="in-process-loop"){let p=await h(s,{subcommand:o,...n?.input!==void 0?{input:n.input}:{}});return typeof p=="string"?p:p&&typeof p=="object"&&!Array.isArray(p)&&typeof p.stdout=="string"?String(p.stdout):JSON.stringify(p??{})}if(s.howToRun==="http:get"){let p=await te(s,{subcommand:o,...n?.input!==void 0?{input:n.input}:{},...s.extra?{extra:s.extra}:{}},{cwd:process.cwd(),timeoutMs:n?.timeout??3e4,label:`invokeExecutor:${o}`});if(p.result!=="success"){let h=typeof p.data?.error=="string"?p.data.error:p.error;throw new Error(h||`executor request failed: ${p.result}`)}return typeof p.data?.stdout=="string"?p.data.stdout:JSON.stringify(p.data??{})}if(!e.resolveCliDir)throw new Error(`createNonCoreExecutorDispatcher: ref.howToRun="${s.howToRun}" requires opts.resolveCliDir`);let{command:d,baseArgs:g}=pe(s,e.resolveCliDir()),x=s.extra?["--extra",Buffer.from(JSON.stringify(s.extra)).toString("base64")]:[],u=[...g,o,...x];return await new Promise((p,h)=>{let R=spawn(d,u,{cwd:process.cwd(),stdio:"pipe",windowsHide:true,shell:process.platform==="win32"&&/\.(cmd|bat)$/i.test(d)}),y=[],l=[],f=false,m=null,S=i=>{f||(f=true,m&&clearTimeout(m),h(i));},c=i=>{f||(f=true,m&&clearTimeout(m),p(i));};R.stdout.on("data",i=>{y.push(Buffer.from(i));}),R.stderr.on("data",i=>{l.push(Buffer.from(i));}),R.on("error",i=>{let k=i;k.stdout=Buffer.concat(y).toString("utf-8"),k.stderr=Buffer.concat(l).toString("utf-8"),S(k);}),R.on("close",i=>{let k=Buffer.concat(y).toString("utf-8"),w=Buffer.concat(l).toString("utf-8");if(i===0){c(k);return}let b=new Error(w.trim()||`executor exited with status ${i}`);b.stdout=k,b.stderr=w,S(b);}),n?.timeout&&n.timeout>0&&(m=setTimeout(()=>{R.kill();let i=new Error(`executor timed out after ${n.timeout}ms`);i.stdout=Buffer.concat(y).toString("utf-8"),i.stderr=Buffer.concat(l).toString("utf-8"),S(i);},n.timeout)),n?.input!==void 0?R.stdin.end(n.input):R.stdin.end();})}}}function $(e,t){if(process.platform!=="win32"){a.renameSync(e,t);return}let r=[10,20,40,80,160];for(let o=0;o<=r.length;o++)try{a.renameSync(e,t);return}catch(n){let s=n.code;if((s==="EPERM"||s==="EBUSY")&&o<r.length){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,r[o]);continue}throw n}}function Y(e){function t(n){return v.join(e,...n.split("/"))}function r(n){return v.relative(e,n).replace(/\\/g,"/")}function o(n,s){if(a.existsSync(n))for(let d of a.readdirSync(n,{withFileTypes:true})){let g=v.join(n,d.name);if(d.isDirectory()){o(g,s);continue}d.isFile()&&s.push(r(g));}}return {read(n){let s=t(n);if(!a.existsSync(s))return null;try{return a.readFileSync(s,"utf-8")}catch{return null}},write(n,s){let d=t(n),g=`${d}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(v.dirname(d),{recursive:true}),a.writeFileSync(g,s,"utf-8"),$(g,d);},exists(n){return a.existsSync(t(n))},remove(n){let s=t(n);try{a.existsSync(s)&&a.unlinkSync(s);}catch{}},readBytes(n){let s=t(n);if(!a.existsSync(s))return null;try{return new Uint8Array(a.readFileSync(s))}catch{return null}},writeBytes(n,s){let d=t(n),g=`${d}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(v.dirname(d),{recursive:true}),a.writeFileSync(g,Buffer.from(s)),$(g,d);},listKeys(n){let s=[];o(e,s);let d=s.sort();return n?d.filter(g=>g.startsWith(n)):d},stat(n){let s=t(n);if(!a.existsSync(s))return null;try{let d=a.statSync(s);return {key:n,size:Number(d.size||0),updatedAt:new Date(d.mtimeMs).toISOString()}}catch{return null}},keyRef(n){return {kind:"fs-path",value:t(n)}},renameKey(n,s){let d=t(n);if(!a.existsSync(d))return false;let g=t(s);return a.mkdirSync(v.dirname(g),{recursive:true}),$(d,g),true}}}function Pe(){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(v.dirname(e),{recursive:true}),a.writeFileSync(r,t,"utf-8"),$(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(v.dirname(e),{recursive:true}),a.writeFileSync(r,Buffer.from(t)),$(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 []},renameKey(e,t){return a.existsSync(e)?(a.mkdirSync(v.dirname(t),{recursive:true}),$(e,t),true):false}}}function W(e,t){let r=`${e}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(v.dirname(e),{recursive:true}),a.writeFileSync(r,JSON.stringify(t,null,2),"utf-8"),$(r,e);}function Q(e){if(!a.existsSync(e))return null;try{return JSON.parse(a.readFileSync(e,"utf-8"))}catch{return null}}function re(e){return a.existsSync(e)?a.readdirSync(e).filter(t=>t.endsWith(".json")).sort().map(t=>v.join(e,t)):[]}function ne(e){return {id:e.id,body:e.body,enqueuedAt:e.enqueuedAt,attempt:e.attempt}}function sr(e){return {...ne(e),leaseToken:String(e.leaseToken||""),leaseExpiresAt:String(e.leaseExpiresAt||"")}}function ir(e){return {...ne(e),reason:e.reason}}function Fe(e){let t=v.join(e,"active"),r=v.join(e,"leased"),o=v.join(e,"done"),n=v.join(e,"dead"),s=v.join(e,"staged");for(let l of [t,r,o,n,s])a.mkdirSync(l,{recursive:true});let d=0;function g(l){let f=l.replace(/[:.]/g,"-"),m=String(d++).padStart(6,"0");return `${f}-${m}`}function x(l){let f=l.activeOrderKey||g(String(l.enqueuedAt||new Date().toISOString()));return v.join(t,`${f}-${l.id}.json`)}function u(l){return v.join(r,`${l}.json`)}function p(l){return v.join(o,`${l}.json`)}function h(l){return v.join(n,`${l}.json`)}function R(l){return v.join(s,`${l}.json`)}function y(){let l=Date.now();for(let f of re(r)){let m=Q(f);if(!m?.leaseExpiresAt)continue;let S=Date.parse(m.leaseExpiresAt);if(Number.isNaN(S)||S>l)continue;let c={id:m.id,body:m.body,enqueuedAt:m.enqueuedAt,attempt:m.attempt,activeOrderKey:m.activeOrderKey};W(x(c),c);try{a.unlinkSync(f);}catch{}}}return {enqueue(l){let f={id:randomUUID(),body:l,enqueuedAt:new Date().toISOString(),attempt:0};return f.activeOrderKey=g(f.enqueuedAt),W(x(f),f),ne(f)},enqueueMany(l){return l.map(f=>this.enqueue(f))},enqueueIfAbsent(l,f){y();for(let S of [t,r,s])for(let c of re(S))if(Q(c)?.dedupKey===f)return null;let m={id:randomUUID(),body:l,enqueuedAt:new Date().toISOString(),attempt:0,dedupKey:f};return m.activeOrderKey=g(m.enqueuedAt),W(x(m),m),ne(m)},lease(l){y();let f=Math.max(1,Math.floor(l?.max??1)),m=Math.max(1,Math.floor(l?.visibilityMs??6e4)),S=[];for(let c of re(t)){if(S.length>=f)break;let i=Q(c);if(!i)continue;let k=u(i.id);try{$(c,k);}catch{continue}let w={...i,attempt:(Number(i.attempt)||0)+1,leaseToken:randomUUID(),leaseExpiresAt:new Date(Date.now()+m).toISOString()};W(k,w),S.push(sr(w));}return S},ack(l,f){let m=u(l),S=Q(m);if(!S||S.leaseToken!==f)return false;try{$(m,p(l));}catch{return false}return true},nack(l,f,m){let S=u(l),c=Q(S);if(!c||c.leaseToken!==f)return false;let i={id:c.id,body:c.body,enqueuedAt:c.enqueuedAt,attempt:c.attempt,activeOrderKey:c.activeOrderKey};m?.dead?(i.reason=m.reason,W(h(l),i)):W(x(i),i);try{a.unlinkSync(S);}catch{}return true},peekActive(l){return y(),re(t).map(f=>Q(f)).filter(f=>!!f).map(ne)},peekDeadLetter(l){return re(n).map(f=>Q(f)).filter(f=>!!f).map(ir)},stage(l,f){let m=f?.dedupKey;if(m){y();for(let c of [t,r,s])for(let i of re(c))if(Q(i)?.dedupKey===m)return null}let S={id:randomUUID(),body:l,enqueuedAt:new Date().toISOString(),attempt:0,...m?{dedupKey:m}:{}};return W(R(S.id),S),ne(S)},commitStaged(l){let f=R(l),m=Q(f);if(!m)return false;let S=new Date().toISOString(),c={...m,attempt:0,enqueuedAt:S,activeOrderKey:g(S)};W(x(c),c);try{a.unlinkSync(f);}catch{}return true},discardStaged(l,f){let m=R(l),S=Q(m);if(!S)return false;let c={id:S.id,body:S.body,enqueuedAt:S.enqueuedAt,attempt:S.attempt,reason:f};W(h(l),c);try{a.unlinkSync(m);}catch{}return true},peekStaged(l){return re(s).map(f=>Q(f)).filter(f=>!!f).map(ne)}}}var je="__scratch-marker",Be="__scratch-config.json",ar=1440*60*1e3,cr=720*60*1e3,ur=500;function it(e,t){if(!e)return t;let r=e.replace(/[^A-Za-z0-9._-]/g,"_");return r.length>0?r:t}function ie(e){a.mkdirSync(e,{recursive:true});let t=v.join(e,je),r=v.join(e,Be),o=!a.existsSync(t);if(o)try{a.writeFileSync(t,`scratch-store
|
|
4
4
|
${new Date().toISOString()}
|
|
5
|
-
`,"utf-8");}catch{}function n(){if(!
|
|
5
|
+
`,"utf-8");}catch{}function n(){if(!a.existsSync(r))return {};try{let u=a.readFileSync(r,"utf-8"),p=JSON.parse(u);return p&&typeof p=="object"&&!Array.isArray(p)?p:{}}catch{return {}}}function s(u){let p=`${r}.${process.pid}.${randomUUID()}.tmp`;try{a.writeFileSync(p,JSON.stringify(u,null,2),"utf-8"),$(p,r);}catch{}}if(o){let u=n();typeof u["retention.lastSweepAt"]!="number"&&(u["retention.lastSweepAt"]=Date.now(),s(u));}function d(){if(!a.existsSync(t))return;let u=n(),p=typeof u["retention.maxAgeMs"]=="number"?u["retention.maxAgeMs"]:ar,h=typeof u["retention.sweepIntervalMs"]=="number"?u["retention.sweepIntervalMs"]:cr;if(p<=0||h<=0)return;let R=typeof u["retention.lastSweepAt"]=="number"?u["retention.lastSweepAt"]:0,y=Date.now();if(y-R<h)return;u["retention.lastSweepAt"]=y,s(u);let l=y;try{let f=a.readdirSync(e,{withFileTypes:!0});for(let m of f){if(Date.now()-l>ur)break;if(!m.isFile()||m.name===je||m.name===Be)continue;let S=v.join(e,m.name);try{let c=a.statSync(S);if(y-c.mtimeMs>p)try{a.unlinkSync(S);}catch{}}catch{}}}catch{}}function g(u,p){let h=it(u,"scratch"),R=it(p,".json"),y=R.startsWith(".")?R:`.${R}`,l=`${h}-${Date.now()}-${randomUUID().slice(0,8)}${y}`;return v.join(e,l)}function x(u,p){let h=`${u}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(v.dirname(u),{recursive:true}),a.writeFileSync(h,p,"utf-8"),$(h,u);}return {read(u){if(!a.existsSync(u))return null;try{return a.readFileSync(u,"utf-8")}catch{return null}},write(u,p){x(u,p);try{d();}catch{}},exists(u){return a.existsSync(u)},remove(u){try{a.existsSync(u)&&a.unlinkSync(u);}catch{}},readBytes(u){if(!a.existsSync(u))return null;try{return new Uint8Array(a.readFileSync(u))}catch{return null}},writeBytes(u,p){let h=`${u}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(v.dirname(u),{recursive:true}),a.writeFileSync(h,Buffer.from(p)),$(h,u);try{d();}catch{}},stat(u){if(!a.existsSync(u))return null;try{let p=a.statSync(u);return {key:u,size:Number(p.size||0),updatedAt:new Date(p.mtimeMs).toISOString()}}catch{return null}},listKeys(u){try{let p=a.readdirSync(e,{withFileTypes:!0}),h=[];for(let R of p){if(!R.isFile()||R.name===je||R.name===Be)continue;let y=v.join(e,R.name);(!u||y.startsWith(u))&&h.push(y);}return h.sort()}catch{return []}},getUniqueKey(u,p){return g(u,p)},create(u,p,h){let R=g(p,h);x(R,u);try{d();}catch{}return R},keyRef(u){return {kind:"fs-path",value:u}},renameKey(u,p){return a.existsSync(u)?(a.mkdirSync(v.dirname(p),{recursive:true}),$(u,p),true):false},config:{get(u){return n()[u]??null},set(u,p){let h=n();p==null?delete h[u]:h[u]=p,s(h);}}}}var dr="__archive-marker",lr="__archive-config.json",ge="streams",me="blobs",fr=500;function at(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 ye(e){a.mkdirSync(e,{recursive:true}),a.mkdirSync(v.join(e,ge),{recursive:true}),a.mkdirSync(v.join(e,me),{recursive:true});let t=v.join(e,dr),r=v.join(e,lr);if(!a.existsSync(t))try{a.writeFileSync(t,`archive-store
|
|
6
6
|
${new Date().toISOString()}
|
|
7
|
-
`,"utf-8");}catch{}function o(){if(!
|
|
8
|
-
`).filter(Boolean).map(o=>JSON.parse(o)):[]}return {append(r){let o={id:randomUUID(),payload:r};return
|
|
9
|
-
`,"utf-8"),o},readAll(){return t()},readAfter(r){let o=t();if(!r)return {entries:o,newCursor:o.length>0?o[o.length-1].id:null};let n=o.findIndex(
|
|
10
|
-
`).filter(Boolean).map(o=>JSON.parse(o)):[]},appendEntry(r){
|
|
11
|
-
`,"utf-8");},generateId(){return randomUUID()}}}function it(e){return {tryAcquire(){try{if(!i.existsSync(e)){i.mkdirSync(w.dirname(e),{recursive:!0});try{i.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return lockSync(e,{retries:0})}catch{return null}}}}function z(e){return {status:"success",data:e}}function Q(e){return {status:"fail",error:e}}function re(e){return {status:"error",error:e instanceof Error?e.message:String(e)}}function ne(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function ar(e,t={}){let r=()=>b$1(e.kvStorage("config")),o=t.unsupportedLabel??"hosted async runtime";async function n(){return t.taskExecutorRef?t.taskExecutorRef:await r().readTaskExecutorRef().catch(()=>{})}async function s(y,d,f){let m=await n();if(!m||!t.invokeExecutor)throw new Error(`${y} is not supported on the ${o} yet`);let a=(await t.invokeExecutor(m,y,{...d!==void 0?{input:typeof d=="string"?d:JSON.stringify(d)}:{},...f!==void 0?{timeout:f}:{}})).trim();return a?ne(JSON.parse(a)):{}}async function u(y){try{if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return Q("validateCardPreflight requires card JSON object in body");let d=y.body,f=d["card-content"]??d,m=typeof f.id=="string"?f.id:"(unknown)",S=a$5(f),a=Array.isArray(f.source_defs)&&f.source_defs.length>0,g=[...S.issues];if(a)if(t.invokeExecutor&&await n())for(let v of f.source_defs){let b=typeof v.bindTo=="string"?v.bindTo:"(unknown)";try{let k=await s("validate-source-def",v,1e4);if(k.ok!==!0&&Array.isArray(k.errors))for(let A of k.errors)typeof A=="string"&&A&&g.push(`source "${b}": ${A}`);}catch(k){g.push(`source "${b}": executor validate-source-def failed \u2014 ${k instanceof Error?k.message:String(k)}`);}}else await n()&&g.push(`executor-backed source_def preflight is not supported on the ${o} yet`);return z({cardId:m,isValid:g.length===0,issues:g})}catch(d){return re(d)}}function p(y){try{if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return Q("evalCardCompute requires a JSON object in body");let d=y.body,f=d["card-content"]??d,m=typeof f.id=="string"?f.id:"(unknown)",S=d["mock-fetched-sources"]??{},a=d["mock-requires"]??{},g=f.compute;if(!g||!Array.isArray(g)||g.length===0)return z({cardId:m,ok:!0,computed_values:{},errors:[]});let v={id:m,card_data:f.card_data??{},requires:a,source_defs:f.source_defs,compute:g},b=a$6.runSync(v,{sourcesData:S});return z({cardId:m,ok:(b.errors??[]).length===0,computed_values:b.node.computed_values??{},errors:b.errors??[]})}catch(d){return re(d)}}async function x(y){return Q(`${y} is not supported on the ${o} yet`)}async function c(){try{return t.invokeExecutor&&await n()?z(await s("describe-capabilities",void 0,1e4)):await x("describeTaskExecutorCapabilities")}catch(y){return re(y)}}async function l(y){try{if(!t.invokeExecutor||!await n())return await x("probeSourcePreflight");if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return Q("probeSourcePreflight requires card JSON object in body");let d=y.body,f=d["card-content"]??d,m=ne(d["mock-projections"]??{}),S=y.params?.sourceIdx,a=Array.isArray(f.source_defs)?f.source_defs:[];if(S===void 0)return Q("probeSourcePreflight requires params.sourceIdx");if(S<0||S>=a.length)return Q(`sourceIdx ${S} out of range (card has ${a.length} source(s))`);let g=a[S],v=typeof g.bindTo=="string"?g.bindTo:"source",b=await s("probe-source-preflight",{...g,_projections:m},g.timeout??6e4);return b.ok!==!0?Q(typeof b.error=="string"?b.error:"Preflight probe failed"):z({bindTo:v,reachable:b.reachable,latencyMs:b.latencyMs,...typeof b.note=="string"?{note:b.note}:{}})}catch(d){return re(d)}}async function h(y){try{if(!t.invokeExecutor||!await n())return await x("runSourcePreflight");if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return Q("runSourcePreflight requires card JSON object in body");let d=y.body,f=d["card-content"]??d,m=ne(d["mock-projections"]??{}),S=y.params?.sourceIdx,a=Array.isArray(f.source_defs)?f.source_defs:[];if(S===void 0)return Q("runSourcePreflight requires params.sourceIdx");if(S<0||S>=a.length)return Q(`sourceIdx ${S} out of range (card has ${a.length} source(s))`);let g=a[S],v=typeof g.bindTo=="string"?g.bindTo:"source",b=await s("run-source-preflight",{...g,_projections:m},g.timeout??6e4);return b.ok!==!0?z({bindTo:v,ok:!1,result:null,issues:[typeof b.error=="string"?b.error:"Preflight run failed"]}):z({bindTo:v,ok:!0,result:Object.prototype.hasOwnProperty.call(b,"resultValue")?b.resultValue:null,issues:[]})}catch(d){return re(d)}}async function R(y){try{if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return Q("simulateCardCycle requires a JSON object in body");let d=y.body,f=d["card-content"]??d,m=typeof f.id=="string"?f.id:"(unknown)",S=ne(d["mock-fetched-sources"]??{}),a=ne(d["mock-requires"]??{}),g=await u({body:{"card-content":f}}),v=g.status==="success"?{isValid:g.data.isValid,issues:g.data.issues}:{isValid:!1,issues:[g.status==="fail"?g.error:"internal error"]},b=Array.isArray(f.source_defs)?f.source_defs:[],k=ne(f.card_data??{}),A=[],F=[];if(b.length>0){A=a$6.enrichSourcesSync(b,{card_data:k,requires:a});for(let I of A){let P=I.projections,W=I._projections;if(P&&W){for(let $ of Object.keys(P))if(W[$]===void 0){let ut=typeof I.bindTo=="string"?I.bindTo:"(unknown)";F.push({bindTo:ut,key:$,error:`Projection "${$}" resolved to undefined`});}}}}let E=[],M={...S};for(let I=0;I<A.length;I+=1){let P=A[I],W=typeof P.bindTo=="string"?P.bindTo:`source_${I}`;if(!t.invokeExecutor||!await n()){E.push({bindTo:W,skipped:!0,error:"No task executor configured"});continue}try{let $=await s("run-source-preflight",P,P.timeout??6e4);$.ok===!0&&!Object.prototype.hasOwnProperty.call(S,W)&&Object.prototype.hasOwnProperty.call($,"resultValue")&&(M[W]=$.resultValue),E.push({bindTo:W,reachable:$.reachable,latencyMs:$.latencyMs,...$.ok===!0?{}:{error:typeof $.error=="string"?$.error:"Preflight run failed"}});}catch{E.push({bindTo:W,skipped:!0,error:"Executor does not support run-source-preflight"});}}let K=f.compute,te={},G=[];if(K&&Array.isArray(K)&&K.length>0){let I={id:m,card_data:k,requires:a,source_defs:f.source_defs,compute:K},P=a$6.runSync(I,{sourcesData:M});te=P.node.computed_values??{},G=P.errors??[];}return z({cardId:m,ok:v.isValid&&F.length===0&&G.length===0&&E.every(I=>!I.error),validation:v,source_probes:E,projection_errors:F,fetched_sources:M,computed_values:te,compute_errors:G})}catch(d){return re(d)}}return {describeTaskExecutorCapabilities:c,validateCardPreflight:u,evalCardCompute:p,probeSourcePreflight:l,runSourcePreflight:h,simulateCardCycle:R}}function sn(){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=L(s);}catch{r="";}if(!r)return {dispatched:false,error:"createNodeSpawnInvocationAdapter: could not resolve executable path from whatToRun"};let o={...t},n=Buffer.from(JSON.stringify(o)).toString("base64");try{return spawn(process.execPath,[r,"--boardId",String(t.boardId??""),"--cardId",String(t.cardId??""),"--extraEncJson",n],{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=L(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 dr=".board.lock";function at(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 lr(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function fr(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function ct(e){if(e)return e;let t=Je(import.meta.url),r=[t,C(t,"..","cli","node"),C(t,"..","..","cli","node")];for(let o of r)try{return Ve(o),o}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${t}`)}function pr(e$1,t,r){let{cliDir:o,opts:n}=lr(t,r),s=e$1.value,u=null,p,x=null,c;function l(){return c||(c=ct(o)),c}function h(a){let g=n?.queueStoreRef;if(!g)throw new Error(`createFsBoardPlatformAdapter: ${a} requires opts.queueStoreRef`);return g}function R(a){let g=n?.boardRuntimeStoreRef;if(!g)throw new Error(`createFsBoardPlatformAdapter: ${a} requires opts.boardRuntimeStoreRef`);return g}let y=n?.callbackTransport??d({notifyChannel:n?.notifyChannel,boardRuntimeStoreRef:n?.boardRuntimeStoreRef,queueStoreRef:n?.queueStoreRef}),d$1;function f(a){return d$1.queueStorageForRef(h(`internal lane "${a}"`),a)}function m(a){return a$4(f(a))}function S(){if(n?.suppressSpawn||u)return;let a=xe({id:"task-executor",workerStore:m("task-executor"),handleRequest:async(g,v)=>{let b=await Z(v.ref,v.args,{cliDir:l(),cwd:process.cwd(),label:"fsBoardAdapter.boardWorker"});if(b.result!=="success"){let k=typeof b.data?.error=="string"?b.data.error:b.error;throw new Error(k||b.result)}}});u=de(a).catch(g=>{n?.onWarn?.(`[board-worker] in-process queue drain failed: ${g instanceof Error?g.message:String(g)}`);}).finally(()=>{u=null,f("task-executor").peekActive().length>0&&S();});}return d$1={kvStorage:a=>se(C(s,`.${a}`)),blobStorage:a=>a?U(C(s,a)):U(s),blobStorageForRef:a=>U(b(a).value),chatStorageForRef:a=>gr(b(a).value),queueStorageForRef:(a,g)=>je(C(b(a).value,g)),scratchStorage:()=>oe(C(s,".tmp")),scratchStorageForRef:a=>oe(b(a).value),archiveFactory:()=>ge(C(s,"archive")),archiveFactoryForRef:a=>ge(b(a).value),journalAdapter:()=>Be(s),journalAdapterForRef:a=>Be(b(a).value),lock:it(C(s,dr)),callbackTransport:y,async dispatchExecution(a,g){let v=!!g.output?.ref;if(a.howToRun==="queue-storage")try{let k=m("task-executor"),A=typeof a.extra?.boardId=="string"?a.extra.boardId:void 0;if(v)return k.enqueueRequest({boardId:A,ref:a,args:g}),{dispatched:!0};let F=g.source_def?.bindTo??ue().slice(0,8),E=oe(C(s,".tmp")),M=E.create(JSON.stringify(g,null,2),`exec-in-${F}`,".json"),K=E.getUniqueKey(`exec-out-${F}`,".json"),te=E.getUniqueKey(`exec-err-${F}`,".txt"),G=a$1(E.keyRef(M)),I=a$1(E.keyRef(K)),P=a$1(E.keyRef(te));return k.enqueueRequest({boardId:A,ref:a,args:{subcommand:"run-source-fetch",inRef:G,outRef:I,errRef:P}}),{dispatched:!0}}catch(k){return {dispatched:false,error:k instanceof Error?k.message:String(k)}}if(v&&(a.howToRun==="http:post"||a.howToRun==="in-process-loop"))try{if(a.howToRun==="http:post"){let F=L(a.whatToRun),E=await fetch(F,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...g,...a.extra?{extra:a.extra}:{}})});if(!E.ok){let M=await E.text().catch(()=>"");return {dispatched:!1,error:`HTTP ${E.status}: ${M}`}}return {dispatched:!0}}let k=await Z(a,g,{cwd:process.cwd(),label:"dispatchExecution.directHostedWorker"});return k.result==="success"?{dispatched:!0}:{dispatched:!1,error:(typeof k.data?.error=="string"?k.data.error:k.error)||k.result}}catch(k){return {dispatched:false,error:k instanceof Error?k.message:String(k)}}let b=a.howToRun==="local-node"||a.howToRun==="local-process"||a.howToRun==="local-python"||a.howToRun==="built-in";if(n?.suppressSpawn&&b)return {dispatched:false};try{let k=g.source_def?.bindTo??ue().slice(0,8),A=oe(C(s,".tmp")),F=A.create(JSON.stringify(g,null,2),`exec-in-${k}`,".json"),E=A.getUniqueKey(`exec-out-${k}`,".json"),M=A.getUniqueKey(`exec-err-${k}`,".txt"),K=a$1(A.keyRef(F)),te=a$1(A.keyRef(E)),G=a$1(A.keyRef(M)),I=m("task-executor"),P=typeof a.extra?.boardId=="string"?a.extra.boardId:void 0;return I.enqueueRequest({boardId:P,ref:a,args:{subcommand:"run-source-fetch",inRef:K,outRef:te,errRef:G}}),S(),{dispatched:!0}}catch(k){let A=k instanceof Error?k.message:String(k);try{let F=ge(C(s,"archive")),E=new Date().toISOString().replace(/[:.]/g,"-"),M=g.source_def?.bindTo??"unknown";F.blob("exec-failures").write(`${E}-${M}.json`,JSON.stringify({error:A,args:g,ref:a,at:new Date().toISOString()},null,2));}catch{}return {dispatched:false,error:A}}},supportsDirectSourceOutput(a){return a.howToRun==="queue-storage"||a.howToRun==="http:post"||a.howToRun==="in-process-loop"},resolveBlob(a){let g=Ne(a.value)?Ie().read(a.value):U(s).read(a.value);if(g===null)throw new Error(`resolveBlob: blob not found: ::${a.kind}::${a.value}`);return g},hashFn:st,genId:()=>Qe(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:a=>se(b(a).value),requestProcessAccumulated(){if(n?.suppressSpawn||x)return;let a=this,g=p??=e(e$1,a,{boardRuntimeStoreRef:R("requestProcessAccumulated")}),v=we({id:"process-accumulated",queueStorage:f("process-accumulated"),handleMessage:async()=>{let b=await g.processAccumulatedEvents({});if(b.status!=="success")throw new Error(b.error||`processAccumulatedEvents returned ${b.status}`)}});x=de(v).catch(b=>{n?.onWarn?.(`[process-accumulated] in-process queue drain failed: ${b instanceof Error?b.message:String(b)}`);}).finally(()=>{x=null,f("process-accumulated").peekActive().length>0&&a.requestProcessAccumulated?.();});},publishBoardChangeNotifications(a){if(!n?.notifyChannel||a.length===0)return;let g=a.map(v=>({id:ue(),ts:new Date().toISOString(),boardRef:a$1(e$1),notification:v}));Ue(n.notifyChannel,g,n.onWarn);},onWarn:n?.onWarn},d$1}function an(e,t,r){let{cliDir:o,opts:n}=fr(t,r),s,u=()=>(s||(s=ct(o)),s),p=pr(e,o,n),x=Ae({resolveCliDir:u,...n?.resolveRef?{resolveRef:n.resolveRef}:{}});return {...p,invokeExecutor:x.invokeExecutor,validateSchema(c){let l=d$1(c);return {ok:l.errors.length===0,errors:l.errors}},absoluteBlob:Ie()}}function cn(e,t={}){let r=t.chatsSubdir??"chats",o=t.kvSubdir??".kv",n=o?[o,"chat"]:["chat"],s=r&&!at(e,r)?C(e,r):e,u=se(C(e,...n));return a$2(p=>{let c=`${String(p).replace(/[^a-zA-Z0-9_-]/g,"_")}.jsonl`,l=C(s,c);return me(l)},u)}function gr(e){return a$2(t=>{let o=`${String(t).replace(/[^a-zA-Z0-9_-]/g,"_")}.jsonl`;return me(C(e,"journal",o))},se(C(e,"kv")))}function un(e,t={}){let r=t.filesSubdir??"files",o=r&&!at(e,r)?C(e,r):e;return a$3(U(o))}function dn(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}export{le as buildLocalBaseSpec,xe as createBoardWorkerQueueLane,Ut as createExecutionRefInvoker,U as createFsBlobStorage,cn as createFsBoardChatStorage,un as createFsBoardFileArtifactsStore,an as createFsBoardNonCorePlatformAdapter,pr as createFsBoardPlatformAdapter,gr as createFsChatStorageForRefRoot,je as createFsQueueStorage,ar as createHostedAsyncBoardNonCorePublic,sn as createNodeSpawnInvocationAdapter,Ae as createNonCoreExecutorDispatcher,we as createQueueStorageLane,dn as decodeBoardRefFromToken,de as drainQueueLaneToIdle,ke as evaluateArgsMassaging,Z as invokeExecutionRef,ve as invokeExecutionRefSync,zt as invokeRefSync,Dt as registerInProcessExecutionHandler,L as resolveWhatToRunValue,Xe as resolveYamlFlowCliPath,Ye as startQueueLaneRunner,Ot as startQueueLaneRunners,Kt as unregisterInProcessExecutionHandler};//# sourceMappingURL=board-live-cards-node.js.map
|
|
7
|
+
`,"utf-8");}catch{}function o(){if(!a.existsSync(r))return {};try{let d=a.readFileSync(r,"utf-8"),g=JSON.parse(d);return g&&typeof g=="object"&&!Array.isArray(g)?g:{}}catch{return {}}}function n(d){let g=`${r}.${process.pid}.${randomUUID()}.tmp`;try{a.writeFileSync(g,JSON.stringify(d,null,2),"utf-8"),$(g,r);}catch{}}function s(){if(!a.existsSync(t))return;let d=o(),g=typeof d["retention.maxAgeMs"]=="number"?d["retention.maxAgeMs"]:0,x=typeof d["retention.sweepIntervalMs"]=="number"?d["retention.sweepIntervalMs"]:0;if(g<=0||x<=0)return;let u=typeof d["retention.lastSweepAt"]=="number"?d["retention.lastSweepAt"]:0,p=Date.now();if(p-u<x)return;d["retention.lastSweepAt"]=p,n(d);let h=p,R=y=>{let l;try{l=a.readdirSync(y,{withFileTypes:!0});}catch{return}for(let f of l){if(Date.now()-h>fr)return;let m=v.join(y,f.name);if(f.isDirectory()){R(m);continue}if(f.isFile())try{let S=a.statSync(m);if(p-S.mtimeMs>g)try{a.unlinkSync(m);}catch{}}catch{}}};R(v.join(e,ge)),R(v.join(e,me));}return {stream(d){let g=at(d),x=v.join(e,ge,`${g}.jsonl`),u=he(x);return {append(p){let h=u.append(p);try{s();}catch{}return h},readAll:()=>u.readAll(),readAfter:p=>u.readAfter(p),clear:()=>{u.clear&&u.clear();}}},blob(d){let g=at(d),x=v.join(e,me,g);a.mkdirSync(x,{recursive:true});let u=Y(x);return {read:p=>u.read(p),write:(p,h)=>{u.write(p,h);try{s();}catch{}},exists:p=>u.exists(p),remove:p=>u.remove(p),readBytes:u.readBytes?p=>u.readBytes(p):void 0,writeBytes:u.writeBytes?(p,h)=>{u.writeBytes(p,h);try{s();}catch{}}:void 0,listKeys:p=>u.listKeys(p),stat:u.stat?p=>u.stat(p):void 0,renameKey:(p,h)=>u.renameKey(p,h)}},listStreams(d){let g=v.join(e,ge);try{return a.readdirSync(g,{withFileTypes:!0}).filter(x=>x.isFile()&&x.name.endsWith(".jsonl")).map(x=>x.name.slice(0,-6)).filter(x=>!d||x.startsWith(d)).sort()}catch{return []}},listBlobs(d){let g=v.join(e,me);try{return a.readdirSync(g,{withFileTypes:!0}).filter(x=>x.isDirectory()).map(x=>x.name).filter(x=>!d||x.startsWith(d)).sort()}catch{return []}},config:{get(d){return o()[d]??null},set(d,g){let x=o();g==null?delete x[d]:x[d]=g,n(x);}}}}function ae(e){function t(o){return v.join(e,...o.split("/"))+".json"}function r(o,n,s,d){if(a.existsSync(o))for(let g of a.readdirSync(o,{withFileTypes:true})){let x=n?`${n}/${g.name}`:g.name;if(g.isDirectory()){r(v.join(o,g.name),x,s,d);continue}if(!g.isFile()||!g.name.endsWith(".json"))continue;let u=x.replace(/\.json$/,"");(!s||u.startsWith(s))&&d.push(u);}}return {read(o){let n=t(o);if(!a.existsSync(n))return null;try{return JSON.parse(a.readFileSync(n,"utf-8"))}catch{return null}},write(o,n){let s=t(o),d=`${s}.${process.pid}.${randomUUID()}.tmp`;a.mkdirSync(v.dirname(s),{recursive:true}),a.writeFileSync(d,JSON.stringify(n,null,2),"utf-8"),$(d,s);},delete(o){let n=t(o);try{a.existsSync(n)&&a.unlinkSync(n);}catch{}},listKeys(o){let n=[];return r(e,"",o,n),n.sort()}}}function he(e){function t(){if(!a.existsSync(e))return [];let r=a.readFileSync(e,"utf-8").trim();return r?r.split(`
|
|
8
|
+
`).filter(Boolean).map(o=>JSON.parse(o)):[]}return {append(r){let o={id:randomUUID(),payload:r};return a.mkdirSync(v.dirname(e),{recursive:true}),a.appendFileSync(e,JSON.stringify(o)+`
|
|
9
|
+
`,"utf-8"),o},readAll(){return t()},readAfter(r){let o=t();if(!r)return {entries:o,newCursor:o.length>0?o[o.length-1].id:null};let n=o.findIndex(d=>d.id===r),s=n===-1?o:o.slice(n+1);return {entries:s,newCursor:s.length>0?s[s.length-1].id:r}},clear(){a.existsSync(e)&&a.truncateSync(e,0);}}}function Ie(e){if(e==null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(Ie).join(",")}]`;let t=e;return `{${Object.keys(t).sort().map(o=>`${JSON.stringify(o)}:${Ie(t[o])}`).join(",")}}`}function ct(e){return createHash("sha256").update(Ie(e)).digest("hex")}function $e(e){let t=v.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(o=>JSON.parse(o)):[]},appendEntry(r){a.appendFileSync(t,JSON.stringify(r)+`
|
|
11
|
+
`,"utf-8");},generateId(){return randomUUID()}}}function ut(e){return {tryAcquire(){try{if(!a.existsSync(e)){a.mkdirSync(v.dirname(e),{recursive:!0});try{a.writeFileSync(e,"{}",{flag:"wx"});}catch{}}return lockSync(e,{retries:0})}catch{return null}}}}function dt(e,t){if(e?.kind!=="fs-path"||typeof e.value!="string"||!e.value.trim())throw new Error(`${t} must be an fs-path ref`);return v__default.normalize(e.value)}function Re(e){a__default.existsSync(e)||a__default.mkdirSync(e,{recursive:true});}function pr(e=new Date){let t=r=>String(r).padStart(2,"0");return `${t(e.getMonth()+1)}${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}`}function lt(e){return a__default.existsSync(e)?JSON.parse(a__default.readFileSync(e,"utf8")):null}function gr(e){let t=e.registry??{},r=dt(t.boardsIndexRef,"registry.boardsIndexRef"),o=dt(t.boardsLayoutRef,"registry.boardsLayoutRef"),n=t.deprecatedContainerRef?.kind==="fs-path"&&typeof t.deprecatedContainerRef.value=="string"&&t.deprecatedContainerRef.value.trim()?v__default.normalize(t.deprecatedContainerRef.value):"";function s(i){return v__default.join(r,`${i}.json`)}function d(i){return v__default.join(o,`${i}.json`)}function g(i){Re(n);let k=pr(),w="",b=1;for(;;){let A=`${i}-${k}${w}`,C=v__default.join(n,`${A}.json`),E=v__default.join(n,`${A}.layout.json`),j=v__default.join(n,A);if(!a__default.existsSync(C)&&!a__default.existsSync(E)&&!a__default.existsSync(j))return {archiveBase:A,archiveRecordPath:C,archiveLayoutPath:E,archiveWorkspaceDir:j};b+=1,w=`-${b}`;}}function x(i,k){if(!i||!a__default.existsSync(i))return "";let w=10;for(let b=1;b<=w;b+=1)try{return a__default.renameSync(i,k),k}catch(A){let C=A&&typeof A=="object"&&"code"in A?String(A.code??""):"";if(!(C==="EPERM"||C==="EBUSY"||C==="EACCES"||C==="ENOTEMPTY")||b===w)return "";}return ""}async function u(){if(!a__default.existsSync(r))return [];let i=[];for(let k of a__default.readdirSync(r)){if(!k.endsWith(".json"))continue;let w=k.slice(0,-5),b=JSON.parse(a__default.readFileSync(v__default.join(r,k),"utf8"));i.push({id:w,record:b});}return i}async function p(i){return lt(s(i))}async function h(i){return a__default.existsSync(s(i))}async function R(i,k){Re(r),a__default.writeFileSync(s(i),JSON.stringify(k,null,2),{encoding:"utf8",flag:"wx"});}async function y(i,k){Re(r),a__default.writeFileSync(s(i),JSON.stringify(k,null,2),{encoding:"utf8",flag:"w"});}async function l(i){return lt(d(i))}async function f(i,k){Re(o),a__default.writeFileSync(d(i),JSON.stringify(k,null,2),{encoding:"utf8",flag:"w"});}async function m(i){let k=d(i);a__default.existsSync(k)&&a__default.unlinkSync(k);}async function S(i,k,w={}){if(await R(i,k),w.layout==null){await m(i);return}await f(i,w.layout);}async function c(i,k={}){let w=s(i),b=d(i);if(!a__default.existsSync(w))return null;let A=typeof k.workspaceDir=="string"&&k.workspaceDir.trim()?v__default.normalize(k.workspaceDir):"";if(!n){if(a__default.rmSync(w,{force:true}),a__default.existsSync(b)&&a__default.rmSync(b,{force:true}),A&&a__default.existsSync(A))try{a__default.rmSync(A,{recursive:!0,force:!0});}catch{}return {archiveId:"",archiveRecordPath:"",archiveWorkspaceDir:"",archiveLayoutPath:""}}let{archiveBase:C,archiveRecordPath:E,archiveLayoutPath:j,archiveWorkspaceDir:J}=g(i);a__default.renameSync(w,E),a__default.existsSync(b)&&a__default.renameSync(b,j);let V=x(A,J);return {archiveId:C,archiveRecordPath:E,archiveWorkspaceDir:V,archiveLayoutPath:a__default.existsSync(j)?j:""}}return {kind:"fs-board-container",list:u,get:p,has:h,put:R,set:y,getLayout:l,setLayout:f,removeLayout:m,provision:S,archive:c}}function Z(e){return {status:"success",data:e}}function D(e){return {status:"fail",error:e}}function oe(e){return {status:"error",error:e instanceof Error?e.message:String(e)}}function se(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function mr(e,t={}){let r=()=>b$1(e.kvStorage("config")),o=t.unsupportedLabel??"hosted async runtime";async function n(){return t.taskExecutorRef?t.taskExecutorRef:await r().readTaskExecutorRef().catch(()=>{})}async function s(y,l,f){let m=await n();if(!m||!t.invokeExecutor)throw new Error(`${y} is not supported on the ${o} yet`);let c=(await t.invokeExecutor(m,y,{...l!==void 0?{input:typeof l=="string"?l:JSON.stringify(l)}:{},...f!==void 0?{timeout:f}:{}})).trim();return c?se(JSON.parse(c)):{}}async function d(y){try{if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return D("validateCardPreflight requires card JSON object in body");let l=y.body,f=l["card-content"]??l,m=typeof f.id=="string"?f.id:"(unknown)",S=a$6(f),c=Array.isArray(f.source_defs)&&f.source_defs.length>0,i=[...S.issues];if(c)if(t.invokeExecutor&&await n())for(let k of f.source_defs){let w=typeof k.bindTo=="string"?k.bindTo:"(unknown)";try{let b=await s("validate-source-def",k,1e4);if(b.ok!==!0&&Array.isArray(b.errors))for(let A of b.errors)typeof A=="string"&&A&&i.push(`source "${w}": ${A}`);}catch(b){i.push(`source "${w}": executor validate-source-def failed \u2014 ${b instanceof Error?b.message:String(b)}`);}}else await n()&&i.push(`executor-backed source_def preflight is not supported on the ${o} yet`);return Z({cardId:m,isValid:i.length===0,issues:i})}catch(l){return oe(l)}}function g(y){try{if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return D("evalCardCompute requires a JSON object in body");let l=y.body,f=l["card-content"]??l,m=typeof f.id=="string"?f.id:"(unknown)",S=l["mock-fetched-sources"]??{},c=l["mock-requires"]??{},i=f.compute;if(!i||!Array.isArray(i)||i.length===0)return Z({cardId:m,ok:!0,computed_values:{},errors:[]});let k={id:m,card_data:f.card_data??{},requires:c,source_defs:f.source_defs,compute:i},w=a$7.runSync(k,{sourcesData:S});return Z({cardId:m,ok:(w.errors??[]).length===0,computed_values:w.node.computed_values??{},errors:w.errors??[]})}catch(l){return oe(l)}}async function x(y){return D(`${y} is not supported on the ${o} yet`)}async function u(){try{return t.invokeExecutor&&await n()?Z(await s("describe-capabilities",void 0,1e4)):await x("describeTaskExecutorCapabilities")}catch(y){return oe(y)}}async function p(y){try{if(!t.invokeExecutor||!await n())return await x("probeSourcePreflight");if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return D("probeSourcePreflight requires card JSON object in body");let l=y.body,f=l["card-content"]??l,m=se(l["mock-projections"]??{}),S=y.params?.sourceIdx,c=Array.isArray(f.source_defs)?f.source_defs:[];if(S===void 0)return D("probeSourcePreflight requires params.sourceIdx");if(S<0||S>=c.length)return D(`sourceIdx ${S} out of range (card has ${c.length} source(s))`);let i=c[S],k=typeof i.bindTo=="string"?i.bindTo:"source",w=await s("probe-source-preflight",{...i,_projections:m},i.timeout??6e4);return w.ok!==!0?D(typeof w.error=="string"?w.error:"Preflight probe failed"):Z({bindTo:k,reachable:w.reachable,latencyMs:w.latencyMs,...typeof w.note=="string"?{note:w.note}:{}})}catch(l){return oe(l)}}async function h(y){try{if(!t.invokeExecutor||!await n())return await x("runSourcePreflight");if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return D("runSourcePreflight requires card JSON object in body");let l=y.body,f=l["card-content"]??l,m=se(l["mock-projections"]??{}),S=y.params?.sourceIdx,c=Array.isArray(f.source_defs)?f.source_defs:[];if(S===void 0)return D("runSourcePreflight requires params.sourceIdx");if(S<0||S>=c.length)return D(`sourceIdx ${S} out of range (card has ${c.length} source(s))`);let i=c[S],k=typeof i.bindTo=="string"?i.bindTo:"source",w=await s("run-source-preflight",{...i,_projections:m},i.timeout??6e4);return w.ok!==!0?Z({bindTo:k,ok:!1,result:null,issues:[typeof w.error=="string"?w.error:"Preflight run failed"]}):Z({bindTo:k,ok:!0,result:Object.prototype.hasOwnProperty.call(w,"resultValue")?w.resultValue:null,issues:[]})}catch(l){return oe(l)}}async function R(y){try{if(!y.body||typeof y.body!="object"||Array.isArray(y.body))return D("simulateCardCycle requires a JSON object in body");let l=y.body,f=l["card-content"]??l,m=typeof f.id=="string"?f.id:"(unknown)",S=se(l["mock-fetched-sources"]??{}),c=se(l["mock-requires"]??{}),i=await d({body:{"card-content":f}}),k=i.status==="success"?{isValid:i.data.isValid,issues:i.data.issues}:{isValid:!1,issues:[i.status==="fail"?i.error:"internal error"]},w=Array.isArray(f.source_defs)?f.source_defs:[],b=se(f.card_data??{}),A=[],C=[];if(w.length>0){A=a$7.enrichSourcesSync(w,{card_data:b,requires:c});for(let P of A){let M=P.projections,U=P._projections;if(M&&U){for(let O of Object.keys(M))if(U[O]===void 0){let gt=typeof P.bindTo=="string"?P.bindTo:"(unknown)";C.push({bindTo:gt,key:O,error:`Projection "${O}" resolved to undefined`});}}}}let E=[],j={...S};for(let P=0;P<A.length;P+=1){let M=A[P],U=typeof M.bindTo=="string"?M.bindTo:`source_${P}`;if(!t.invokeExecutor||!await n()){E.push({bindTo:U,skipped:!0,error:"No task executor configured"});continue}try{let O=await s("run-source-preflight",M,M.timeout??6e4);O.ok===!0&&!Object.prototype.hasOwnProperty.call(S,U)&&Object.prototype.hasOwnProperty.call(O,"resultValue")&&(j[U]=O.resultValue),E.push({bindTo:U,reachable:O.reachable,latencyMs:O.latencyMs,...O.ok===!0?{}:{error:typeof O.error=="string"?O.error:"Preflight run failed"}});}catch{E.push({bindTo:U,skipped:!0,error:"Executor does not support run-source-preflight"});}}let J=f.compute,V={},X=[];if(J&&Array.isArray(J)&&J.length>0){let P={id:m,card_data:b,requires:c,source_defs:f.source_defs,compute:J},M=a$7.runSync(P,{sourcesData:j});V=M.node.computed_values??{},X=M.errors??[];}return Z({cardId:m,ok:k.isValid&&C.length===0&&X.length===0&&E.every(P=>!P.error),validation:k,source_probes:E,projection_errors:C,fetched_sources:j,computed_values:V,compute_errors:X})}catch(l){return oe(l)}}return {describeTaskExecutorCapabilities:u,validateCardPreflight:d,evalCardCompute:g,probeSourcePreflight:p,runSourcePreflight:h,simulateCardCycle:R}}function hn(){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=q(s);}catch{r="";}if(!r)return {dispatched:false,error:"createNodeSpawnInvocationAdapter: could not resolve executable path from whatToRun"};let o={...t},n=Buffer.from(JSON.stringify(o)).toString("base64");try{return spawn(process.execPath,[r,"--boardId",String(t.boardId??""),"--cardId",String(t.cardId??""),"--extraEncJson",n],{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=q(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 Rr=".board.lock";function ft(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 Sr(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function xr(e,t){return typeof e=="string"?{cliDir:e,opts:t}:{cliDir:void 0,opts:e}}function pt(e){if(e)return e;let t=We(import.meta.url),r=[t,I(t,"..","cli","node"),I(t,"..","..","cli","node")];for(let o of r)try{return Ge(o),o}catch{}throw new Error(`createFsBoardPlatformAdapter: could not resolve a public CLI directory from module dir ${t}`)}function wr(e$1,t,r){let{cliDir:o,opts:n}=Sr(t,r),s=e$1.value,d$1=null,g,x=null,u;function p(){return u||(u=pt(o)),u}function h(c){let i=n?.queueStoreRef;if(!i)throw new Error(`createFsBoardPlatformAdapter: ${c} requires opts.queueStoreRef`);return i}function R(c){let i=n?.boardRuntimeStoreRef;if(!i)throw new Error(`createFsBoardPlatformAdapter: ${c} requires opts.boardRuntimeStoreRef`);return i}let y=n?.callbackTransport??d({notifyChannel:n?.notifyChannel,boardRuntimeStoreRef:n?.boardRuntimeStoreRef,queueStoreRef:n?.queueStoreRef}),l;function f(c){return l.queueStorageForRef(h(`internal lane "${c}"`),c)}function m(c){return a$5(f(c))}function S(){if(n?.suppressSpawn||d$1)return;let c=be({id:"task-executor",workerStore:m("task-executor"),handleRequest:async(i,k)=>{let w=await te(k.ref,k.args,{cliDir:p(),cwd:process.cwd(),label:"fsBoardAdapter.boardWorker"});if(w.result!=="success"){let b=typeof w.data?.error=="string"?w.data.error:w.error;throw new Error(b||w.result)}}});d$1=fe(c).catch(i=>{n?.onWarn?.(`[board-worker] in-process queue drain failed: ${i instanceof Error?i.message:String(i)}`);}).finally(()=>{d$1=null,f("task-executor").peekActive().length>0&&S();});}return l={kvStorage:c=>ae(I(s,`.${c}`)),blobStorage:c=>c?Y(I(s,c)):Y(s),blobStorageForRef:c=>Y(b(c).value),chatStorageForRef:c=>kr(b(c).value),queueStorageForRef:(c,i)=>Fe(I(b(c).value,i)),scratchStorage:()=>ie(I(s,".tmp")),scratchStorageForRef:c=>ie(b(c).value),archiveFactory:()=>ye(I(s,"archive")),archiveFactoryForRef:c=>ye(b(c).value),journalAdapter:()=>$e(s),journalAdapterForRef:c=>$e(b(c).value),lock:ut(I(s,Rr)),callbackTransport:y,async dispatchExecution(c,i){let k=!!i.output?.ref;if(c.howToRun==="queue-storage")try{let b=m("task-executor"),A=typeof c.extra?.boardId=="string"?c.extra.boardId:void 0;if(k)return b.enqueueRequest({boardId:A,ref:c,args:i}),{dispatched:!0};let C=i.source_def?.bindTo??le().slice(0,8),E=ie(I(s,".tmp")),j=E.create(JSON.stringify(i,null,2),`exec-in-${C}`,".json"),J=E.getUniqueKey(`exec-out-${C}`,".json"),V=E.getUniqueKey(`exec-err-${C}`,".txt"),X=a$2(E.keyRef(j)),P=a$2(E.keyRef(J)),M=a$2(E.keyRef(V));return b.enqueueRequest({boardId:A,ref:c,args:{subcommand:"run-source-fetch",inRef:X,outRef:P,errRef:M}}),{dispatched:!0}}catch(b){return {dispatched:false,error:b instanceof Error?b.message:String(b)}}if(k&&(c.howToRun==="http:post"||c.howToRun==="in-process-loop"))try{if(c.howToRun==="http:post"){let C=q(c.whatToRun),E=await fetch(C,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...i,...c.extra?{extra:c.extra}:{}})});if(!E.ok){let j=await E.text().catch(()=>"");return {dispatched:!1,error:`HTTP ${E.status}: ${j}`}}return {dispatched:!0}}let b=await te(c,i,{cwd:process.cwd(),label:"dispatchExecution.directHostedWorker"});return b.result==="success"?{dispatched:!0}:{dispatched:!1,error:(typeof b.data?.error=="string"?b.data.error:b.error)||b.result}}catch(b){return {dispatched:false,error:b instanceof Error?b.message:String(b)}}let w=c.howToRun==="local-node"||c.howToRun==="local-process"||c.howToRun==="local-python"||c.howToRun==="built-in";if(n?.suppressSpawn&&w)return {dispatched:false};try{let b=i.source_def?.bindTo??le().slice(0,8),A=ie(I(s,".tmp")),C=A.create(JSON.stringify(i,null,2),`exec-in-${b}`,".json"),E=A.getUniqueKey(`exec-out-${b}`,".json"),j=A.getUniqueKey(`exec-err-${b}`,".txt"),J=a$2(A.keyRef(C)),V=a$2(A.keyRef(E)),X=a$2(A.keyRef(j)),P=m("task-executor"),M=typeof c.extra?.boardId=="string"?c.extra.boardId:void 0;return P.enqueueRequest({boardId:M,ref:c,args:{subcommand:"run-source-fetch",inRef:J,outRef:V,errRef:X}}),S(),{dispatched:!0}}catch(b){let A=b instanceof Error?b.message:String(b);try{let C=ye(I(s,"archive")),E=new Date().toISOString().replace(/[:.]/g,"-"),j=i.source_def?.bindTo??"unknown";C.blob("exec-failures").write(`${E}-${j}.json`,JSON.stringify({error:A,args:i,ref:c,at:new Date().toISOString()},null,2));}catch{}return {dispatched:false,error:A}}},supportsDirectSourceOutput(c){return c.howToRun==="queue-storage"||c.howToRun==="http:post"||c.howToRun==="in-process-loop"},resolveBlob(c){let i=Je(c.value)?Pe().read(c.value):Y(s).read(c.value);if(i===null)throw new Error(`resolveBlob: blob not found: ::${c.kind}::${c.value}`);return i},hashFn:ct,genId:()=>Ke(`${Date.now()}-${Math.random()}`).slice(0,32),kvStorageForRef:c=>ae(b(c).value),requestProcessAccumulated(){if(n?.suppressSpawn||x)return;let c=this,i=g??=e(e$1,c,{boardRuntimeStoreRef:R("requestProcessAccumulated")}),k=ve({id:"process-accumulated",queueStorage:f("process-accumulated"),handleMessage:async()=>{let w=await i.processAccumulatedEvents({});if(w.status!=="success")throw new Error(w.error||`processAccumulatedEvents returned ${w.status}`)}});x=fe(k).catch(w=>{n?.onWarn?.(`[process-accumulated] in-process queue drain failed: ${w instanceof Error?w.message:String(w)}`);}).finally(()=>{x=null,f("process-accumulated").peekActive().length>0&&c.requestProcessAccumulated?.();});},publishBoardChangeNotifications(c){if(!n?.notifyChannel||c.length===0)return;let i=c.map(k=>({id:le(),ts:new Date().toISOString(),boardRef:a$2(e$1),notification:k}));Ye(n.notifyChannel,i,n.onWarn);},onWarn:n?.onWarn},l}function Rn(e,t,r){let{cliDir:o,opts:n}=xr(t,r),s,d=()=>(s||(s=pt(o)),s),g=wr(e,o,n),x=Ce({resolveCliDir:d,...n?.resolveRef?{resolveRef:n.resolveRef}:{}});return {...g,invokeExecutor:x.invokeExecutor,validateSchema(u){let p=d$1(u);return {ok:p.errors.length===0,errors:p.errors}},absoluteBlob:Pe()}}function Sn(e,t={}){let r=t.chatsSubdir??"chats",o=t.kvSubdir??".kv",n=o?[o,"chat"]:["chat"],s=r&&!ft(e,r)?I(e,r):e,d=ae(I(e,...n));return a$3(g=>{let u=`${String(g).replace(/[^a-zA-Z0-9_-]/g,"_")}.jsonl`,p=I(s,u);return he(p)},d)}function kr(e){return a$3(t=>{let o=`${String(t).replace(/[^a-zA-Z0-9_-]/g,"_")}.jsonl`;return he(I(e,"journal",o))},ae(I(e,"kv")))}function xn(e,t={}){let r=t.filesSubdir??"files",o=r&&!ft(e,r)?I(e,r):e;return a$4(Y(o))}function wn(e){try{let t=JSON.parse(Buffer.from(e,"base64url").toString());return typeof t.br=="string"?t.br:null}catch{return null}}export{pe as buildLocalBaseSpec,be as createBoardWorkerQueueLane,er as createExecutionRefInvoker,Y as createFsBlobStorage,Sn as createFsBoardChatStorage,gr as createFsBoardContainerStorage,xn as createFsBoardFileArtifactsStore,Rn as createFsBoardNonCorePlatformAdapter,wr as createFsBoardPlatformAdapter,kr as createFsChatStorageForRefRoot,Fe as createFsQueueStorage,mr as createHostedAsyncBoardNonCorePublic,hn as createNodeSpawnInvocationAdapter,Ce as createNonCoreExecutorDispatcher,ve as createQueueStorageLane,wn as decodeBoardRefFromToken,fe as drainQueueLaneToIdle,Te as evaluateArgsMassaging,te as invokeExecutionRef,Ee as invokeExecutionRefSync,tr as invokeRefSync,zt as registerInProcessExecutionHandler,q as resolveWhatToRunValue,rt as resolveYamlFlowCliPath,et as startQueueLaneRunner,Jt as startQueueLaneRunners,Gt as unregisterInProcessExecutionHandler};//# sourceMappingURL=board-live-cards-node.js.map
|
|
12
12
|
//# sourceMappingURL=board-live-cards-node.js.map
|
|
@@ -2,7 +2,7 @@ import { a as KindValueRef } from './storage-interface-DogVPooM.js';
|
|
|
2
2
|
import { CommandInput, CommandResult, BoardSseOneShotPayload } from './board-live-cards-public.js';
|
|
3
3
|
import { k as BoardStatusObject, h as NotificationEmitter } from './board-live-cards-lib-iU8xOwNp.js';
|
|
4
4
|
import { ExecutionRef } from './execution-refs.js';
|
|
5
|
-
import { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-
|
|
5
|
+
import { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-CVvZYqNy.js';
|
|
6
6
|
|
|
7
7
|
interface AsyncBoardLiveCardsPublic {
|
|
8
8
|
init(input: CommandInput): Promise<CommandResult>;
|
|
@@ -2,7 +2,7 @@ import { a as KindValueRef } from './storage-interface-DogVPooM.cjs';
|
|
|
2
2
|
import { CommandInput, CommandResult, BoardSseOneShotPayload } from './board-live-cards-public.cjs';
|
|
3
3
|
import { k as BoardStatusObject, h as NotificationEmitter } from './board-live-cards-lib-DVh3t9NT.cjs';
|
|
4
4
|
import { ExecutionRef } from './execution-refs.cjs';
|
|
5
|
-
import { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-
|
|
5
|
+
import { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-O7EUvJ3W.cjs';
|
|
6
6
|
|
|
7
7
|
interface AsyncBoardLiveCardsPublic {
|
|
8
8
|
init(input: CommandInput): Promise<CommandResult>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunk3XPY7CCM_cjs=require('./chunk-3XPY7CCM.cjs');require('./chunk-AW3COGCI.cjs'),require('./chunk-SIPLKLWU.cjs');var chunkJ7KE7SPA_cjs=require('./chunk-J7KE7SPA.cjs');require('./chunk-7JVHYHT2.cjs'),require('./chunk-VQCIOKJV.cjs'),require('./chunk-VI36DRWG.cjs'),require('./chunk-7Y47QXMX.cjs'),require('./chunk-QBEQL4TL.cjs'),require('./chunk-QEHKMLHA.cjs'),require('./chunk-UJ7ZTV4J.cjs'),require('./chunk-2RIHC5TZ.cjs'),require('./chunk-GNFE24S7.cjs');Object.defineProperty(exports,"createBoardLiveCardsNonCorePublic",{enumerable:true,get:function(){return chunk3XPY7CCM_cjs.f}});Object.defineProperty(exports,"createBoardLiveCardsPublic",{enumerable:true,get:function(){return chunk3XPY7CCM_cjs.e}});Object.defineProperty(exports,"BOARD_GRAPH_KEY",{enumerable:true,get:function(){return chunkJ7KE7SPA_cjs.q}});Object.defineProperty(exports,"EMPTY_CONFIG",{enumerable:true,get:function(){return chunkJ7KE7SPA_cjs.D}});Object.defineProperty(exports,"SNAPSHOT_SCHEMA_VERSION_V1",{enumerable:true,get:function(){return chunkJ7KE7SPA_cjs.p}});//# sourceMappingURL=board-live-cards-public.cjs.map
|
|
2
2
|
//# sourceMappingURL=board-live-cards-public.cjs.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { K as KVStorage, B as BlobStorage, S as ScratchStorage, A as ArchiveFactory, Q as QueueStorage, g as AtomicRelayLock, a as KindValueRef } from './storage-interface-DogVPooM.cjs';
|
|
2
2
|
import { C as ChatStorage, B as BoardCallbackTransport } from './board-callback-transport-kP0K6UMq.cjs';
|
|
3
3
|
import { ExecutionRef } from './execution-refs.cjs';
|
|
4
|
-
import { k as BoardStatusObject, L as LiveCard, h as NotificationEmitter, J as JournalStorageAdapter,
|
|
5
|
-
export { l as BOARD_GRAPH_KEY, E as EMPTY_CONFIG, S as SNAPSHOT_SCHEMA_VERSION_V1 } from './board-live-cards-lib-DVh3t9NT.cjs';
|
|
4
|
+
import { k as BoardStatusObject, L as LiveCard, h as NotificationEmitter, J as JournalStorageAdapter, R as RuntimeNotification } from './board-live-cards-lib-DVh3t9NT.cjs';
|
|
5
|
+
export { l as BOARD_GRAPH_KEY, B as BoardChangeNotification, E as EMPTY_CONFIG, S as SNAPSHOT_SCHEMA_VERSION_V1 } from './board-live-cards-lib-DVh3t9NT.cjs';
|
|
6
6
|
import './types-BBhqYGhE.cjs';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -171,7 +171,7 @@ interface BoardPlatformAdapter {
|
|
|
171
171
|
* Optional cross-process board change notification publisher (named pipe, webhook, pubsub, etc.).
|
|
172
172
|
* Called once per drain cycle with the complete batch of notifications produced in that cycle.
|
|
173
173
|
*/
|
|
174
|
-
publishBoardChangeNotifications?(notifications:
|
|
174
|
+
publishBoardChangeNotifications?(notifications: RuntimeNotification[]): void | Promise<void>;
|
|
175
175
|
/** Optional warn sink — defaults to no-op. */
|
|
176
176
|
onWarn?(msg: string): void;
|
|
177
177
|
}
|
|
@@ -323,4 +323,4 @@ declare function createBoardLiveCardsNonCorePublic(baseRef: KindValueRef, adapte
|
|
|
323
323
|
taskExecutorRef?: ExecutionRef;
|
|
324
324
|
}): BoardLiveCardsNonCorePublic;
|
|
325
325
|
|
|
326
|
-
export {
|
|
326
|
+
export { type BoardLiveCardsNonCorePublic, type BoardLiveCardsPublic, type BoardLiveCardsPublicOptions, type BoardNonCorePlatformAdapter, type BoardPlatformAdapter, type BoardSseOneShotPayload, type CommandInput, type CommandResult, createBoardLiveCardsNonCorePublic, createBoardLiveCardsPublic };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { K as KVStorage, B as BlobStorage, S as ScratchStorage, A as ArchiveFactory, Q as QueueStorage, g as AtomicRelayLock, a as KindValueRef } from './storage-interface-DogVPooM.js';
|
|
2
2
|
import { C as ChatStorage, B as BoardCallbackTransport } from './board-callback-transport-Bekq8Gp-.js';
|
|
3
3
|
import { ExecutionRef } from './execution-refs.js';
|
|
4
|
-
import { k as BoardStatusObject, L as LiveCard, h as NotificationEmitter, J as JournalStorageAdapter,
|
|
5
|
-
export { l as BOARD_GRAPH_KEY, E as EMPTY_CONFIG, S as SNAPSHOT_SCHEMA_VERSION_V1 } from './board-live-cards-lib-iU8xOwNp.js';
|
|
4
|
+
import { k as BoardStatusObject, L as LiveCard, h as NotificationEmitter, J as JournalStorageAdapter, R as RuntimeNotification } from './board-live-cards-lib-iU8xOwNp.js';
|
|
5
|
+
export { l as BOARD_GRAPH_KEY, B as BoardChangeNotification, E as EMPTY_CONFIG, S as SNAPSHOT_SCHEMA_VERSION_V1 } from './board-live-cards-lib-iU8xOwNp.js';
|
|
6
6
|
import './types-BBhqYGhE.js';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -171,7 +171,7 @@ interface BoardPlatformAdapter {
|
|
|
171
171
|
* Optional cross-process board change notification publisher (named pipe, webhook, pubsub, etc.).
|
|
172
172
|
* Called once per drain cycle with the complete batch of notifications produced in that cycle.
|
|
173
173
|
*/
|
|
174
|
-
publishBoardChangeNotifications?(notifications:
|
|
174
|
+
publishBoardChangeNotifications?(notifications: RuntimeNotification[]): void | Promise<void>;
|
|
175
175
|
/** Optional warn sink — defaults to no-op. */
|
|
176
176
|
onWarn?(msg: string): void;
|
|
177
177
|
}
|
|
@@ -323,4 +323,4 @@ declare function createBoardLiveCardsNonCorePublic(baseRef: KindValueRef, adapte
|
|
|
323
323
|
taskExecutorRef?: ExecutionRef;
|
|
324
324
|
}): BoardLiveCardsNonCorePublic;
|
|
325
325
|
|
|
326
|
-
export {
|
|
326
|
+
export { type BoardLiveCardsNonCorePublic, type BoardLiveCardsPublic, type BoardLiveCardsPublicOptions, type BoardNonCorePlatformAdapter, type BoardPlatformAdapter, type BoardSseOneShotPayload, type CommandInput, type CommandResult, createBoardLiveCardsNonCorePublic, createBoardLiveCardsPublic };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{f as createBoardLiveCardsNonCorePublic,e as createBoardLiveCardsPublic}from'./chunk-
|
|
1
|
+
export{f as createBoardLiveCardsNonCorePublic,e as createBoardLiveCardsPublic}from'./chunk-X32SJDLT.js';import'./chunk-FULAMLUU.js';import'./chunk-EOVTMJYZ.js';export{q as BOARD_GRAPH_KEY,D as EMPTY_CONFIG,p as SNAPSHOT_SCHEMA_VERSION_V1}from'./chunk-WGYS2L4V.js';import'./chunk-ANKA7HEJ.js';import'./chunk-44L64VQ2.js';import'./chunk-Q444D72R.js';import'./chunk-R7SQQSDX.js';import'./chunk-ATOQP3BD.js';import'./chunk-YT76JNKE.js';import'./chunk-MNEOJWPS.js';import'./chunk-UGB7PC4P.js';import'./chunk-FW4363Y4.js';//# sourceMappingURL=board-live-cards-public.js.map
|
|
2
2
|
//# sourceMappingURL=board-live-cards-public.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkTUQ6JBER_cjs=require('./chunk-TUQ6JBER.cjs');require('./chunk-LFVMX23W.cjs'),require('./chunk-NM6O35RY.cjs'),require('./chunk-NBJTYAYN.cjs'),require('./chunk-NOAERAOE.cjs');var chunkU5BGE52X_cjs=require('./chunk-U5BGE52X.cjs');require('./chunk-BQUQTOPB.cjs'),require('./chunk-GPCMBPLK.cjs'),require('./chunk-7FGPOGRV.cjs'),require('./chunk-LPXVVMQT.cjs'),require('./chunk-272IYUKT.cjs'),require('./chunk-K5TEZRZK.cjs'),require('./chunk-CSHNTZW4.cjs'),require('./chunk-3XPY7CCM.cjs'),require('./chunk-AW3COGCI.cjs'),require('./chunk-SIPLKLWU.cjs'),require('./chunk-GHUW6P4G.cjs'),require('./chunk-J7KE7SPA.cjs'),require('./chunk-7JVHYHT2.cjs'),require('./chunk-VQCIOKJV.cjs'),require('./chunk-VI36DRWG.cjs'),require('./chunk-7Y47QXMX.cjs'),require('./chunk-QBEQL4TL.cjs'),require('./chunk-QEHKMLHA.cjs'),require('./chunk-UJ7ZTV4J.cjs'),require('./chunk-SDJ3747Q.cjs'),require('./chunk-OF4FPYNI.cjs'),require('./chunk-2RIHC5TZ.cjs'),require('./chunk-GNFE24S7.cjs');Object.defineProperty(exports,"createMultiBoardServerRuntime",{enumerable:true,get:function(){return chunkTUQ6JBER_cjs.b}});Object.defineProperty(exports,"createSingleBoardServerRuntime",{enumerable:true,get:function(){return chunkTUQ6JBER_cjs.a}});Object.defineProperty(exports,"createHostedBoardQueueLaneRegistry",{enumerable:true,get:function(){return chunkU5BGE52X_cjs.a}});//# sourceMappingURL=board-live-cards-server-runtime.cjs.map
|
|
2
2
|
//# sourceMappingURL=board-live-cards-server-runtime.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { A as Awaitable, B as BoardContextConfig, c as BoardRuntimeNonCorePublic, d as BoardRuntimePlatformAdapter, e as BoardRuntimePublic, f as BoardWorkerRequest, C as ChatHandlerFlowRunner, D as DescribeEnvelope, H as HostedBoardQueueLaneTuning, I as InvocationAdapter, a as MultiBoardRuntime, M as MultiBoardRuntimeOptions, N as NotificationTransport, Q as QueueLaneRuntimeTuning, R as RuntimeLogger, g as RuntimeRequest, h as RuntimeResponse, b as SingleBoardRuntime, S as SingleBoardRuntimeOptions } from './types-
|
|
1
|
+
export { A as Awaitable, B as BoardContextConfig, c as BoardRuntimeNonCorePublic, d as BoardRuntimePlatformAdapter, e as BoardRuntimePublic, f as BoardWorkerRequest, C as ChatHandlerFlowRunner, D as DescribeEnvelope, H as HostedBoardQueueLaneTuning, I as InvocationAdapter, a as MultiBoardRuntime, M as MultiBoardRuntimeOptions, N as NotificationTransport, Q as QueueLaneRuntimeTuning, R as RuntimeLogger, g as RuntimeRequest, h as RuntimeResponse, b as SingleBoardRuntime, S as SingleBoardRuntimeOptions } from './types-VIrQZ8CW.cjs';
|
|
2
2
|
export { HostedBoardQueueLaneRegistryOptions, createHostedBoardQueueLaneRegistry } from './server-jobs-queue-runner/index.cjs';
|
|
3
|
-
export { A as AsyncBoardLiveCardsPublic } from './board-live-cards-public-async-
|
|
4
|
-
export { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-
|
|
3
|
+
export { A as AsyncBoardLiveCardsPublic } from './board-live-cards-public-async-DtgoCVRv.cjs';
|
|
4
|
+
export { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-O7EUvJ3W.cjs';
|
|
5
5
|
export { B as BlobStorage, K as KVStorage, a as KindValueRef } from './storage-interface-DogVPooM.cjs';
|
|
6
6
|
export { B as BoardChangeNotification } from './board-live-cards-lib-DVh3t9NT.cjs';
|
|
7
7
|
export { BoardLiveCardsPublic, BoardNonCorePlatformAdapter, BoardPlatformAdapter, CommandInput, CommandResult } from './board-live-cards-public.cjs';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { A as Awaitable, B as BoardContextConfig, c as BoardRuntimeNonCorePublic, d as BoardRuntimePlatformAdapter, e as BoardRuntimePublic, f as BoardWorkerRequest, C as ChatHandlerFlowRunner, D as DescribeEnvelope, H as HostedBoardQueueLaneTuning, I as InvocationAdapter, a as MultiBoardRuntime, M as MultiBoardRuntimeOptions, N as NotificationTransport, Q as QueueLaneRuntimeTuning, R as RuntimeLogger, g as RuntimeRequest, h as RuntimeResponse, b as SingleBoardRuntime, S as SingleBoardRuntimeOptions } from './types-
|
|
1
|
+
export { A as Awaitable, B as BoardContextConfig, c as BoardRuntimeNonCorePublic, d as BoardRuntimePlatformAdapter, e as BoardRuntimePublic, f as BoardWorkerRequest, C as ChatHandlerFlowRunner, D as DescribeEnvelope, H as HostedBoardQueueLaneTuning, I as InvocationAdapter, a as MultiBoardRuntime, M as MultiBoardRuntimeOptions, N as NotificationTransport, Q as QueueLaneRuntimeTuning, R as RuntimeLogger, g as RuntimeRequest, h as RuntimeResponse, b as SingleBoardRuntime, S as SingleBoardRuntimeOptions } from './types-D5rknZ9j.js';
|
|
2
2
|
export { HostedBoardQueueLaneRegistryOptions, createHostedBoardQueueLaneRegistry } from './server-jobs-queue-runner/index.js';
|
|
3
|
-
export { A as AsyncBoardLiveCardsPublic } from './board-live-cards-public-async-
|
|
4
|
-
export { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-
|
|
3
|
+
export { A as AsyncBoardLiveCardsPublic } from './board-live-cards-public-async-D72v-MTi.js';
|
|
4
|
+
export { A as AsyncBoardPlatformAdapter } from './board-platform-adapter-async-CVvZYqNy.js';
|
|
5
5
|
export { B as BlobStorage, K as KVStorage, a as KindValueRef } from './storage-interface-DogVPooM.js';
|
|
6
6
|
export { B as BoardChangeNotification } from './board-live-cards-lib-iU8xOwNp.js';
|
|
7
7
|
export { BoardLiveCardsPublic, BoardNonCorePlatformAdapter, BoardPlatformAdapter, CommandInput, CommandResult } from './board-live-cards-public.js';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{b as createMultiBoardServerRuntime,a as createSingleBoardServerRuntime}from'./chunk-
|
|
1
|
+
export{b as createMultiBoardServerRuntime,a as createSingleBoardServerRuntime}from'./chunk-HKPVF5UI.js';import'./chunk-JB4Q2W7I.js';import'./chunk-XYN5D3GL.js';import'./chunk-O5UYCGIN.js';import'./chunk-I3ZOFU3F.js';export{a as createHostedBoardQueueLaneRegistry}from'./chunk-AN7MLI7X.js';import'./chunk-FOFGEABN.js';import'./chunk-RKKSVOP2.js';import'./chunk-NTICU4OK.js';import'./chunk-O7NOHKVR.js';import'./chunk-ZJ5M5COT.js';import'./chunk-RKLEBQUG.js';import'./chunk-PEJRTZU3.js';import'./chunk-X32SJDLT.js';import'./chunk-FULAMLUU.js';import'./chunk-EOVTMJYZ.js';import'./chunk-6M3RIGUH.js';import'./chunk-WGYS2L4V.js';import'./chunk-ANKA7HEJ.js';import'./chunk-44L64VQ2.js';import'./chunk-Q444D72R.js';import'./chunk-R7SQQSDX.js';import'./chunk-ATOQP3BD.js';import'./chunk-YT76JNKE.js';import'./chunk-MNEOJWPS.js';import'./chunk-BJGK5FNL.js';import'./chunk-NIBLKYXN.js';import'./chunk-UGB7PC4P.js';import'./chunk-FW4363Y4.js';//# sourceMappingURL=board-live-cards-server-runtime.js.map
|
|
2
2
|
//# sourceMappingURL=board-live-cards-server-runtime.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as BoardChangeNotification } from './board-live-cards-lib-iU8xOwNp.js';
|
|
1
|
+
import { R as RuntimeNotification, B as BoardChangeNotification } from './board-live-cards-lib-iU8xOwNp.js';
|
|
2
2
|
import { C as ChatStorage, B as BoardCallbackTransport } from './board-callback-transport-Bekq8Gp-.js';
|
|
3
3
|
import { ExecutionRef } from './execution-refs.js';
|
|
4
4
|
import { a as KindValueRef } from './storage-interface-DogVPooM.js';
|
|
@@ -82,7 +82,7 @@ interface AsyncBoardPlatformAdapter {
|
|
|
82
82
|
hashFn(value: unknown): string;
|
|
83
83
|
genId(): string;
|
|
84
84
|
requestProcessAccumulated?(): void | Promise<void>;
|
|
85
|
-
publishBoardChangeNotifications?(notifications:
|
|
85
|
+
publishBoardChangeNotifications?(notifications: RuntimeNotification[]): void | Promise<void>;
|
|
86
86
|
warn?: (msg: string) => void;
|
|
87
87
|
}
|
|
88
88
|
interface HostedFetchResponseLike {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as BoardChangeNotification } from './board-live-cards-lib-DVh3t9NT.cjs';
|
|
1
|
+
import { R as RuntimeNotification, B as BoardChangeNotification } from './board-live-cards-lib-DVh3t9NT.cjs';
|
|
2
2
|
import { C as ChatStorage, B as BoardCallbackTransport } from './board-callback-transport-kP0K6UMq.cjs';
|
|
3
3
|
import { ExecutionRef } from './execution-refs.cjs';
|
|
4
4
|
import { a as KindValueRef } from './storage-interface-DogVPooM.cjs';
|
|
@@ -82,7 +82,7 @@ interface AsyncBoardPlatformAdapter {
|
|
|
82
82
|
hashFn(value: unknown): string;
|
|
83
83
|
genId(): string;
|
|
84
84
|
requestProcessAccumulated?(): void | Promise<void>;
|
|
85
|
-
publishBoardChangeNotifications?(notifications:
|
|
85
|
+
publishBoardChangeNotifications?(notifications: RuntimeNotification[]): void | Promise<void>;
|
|
86
86
|
warn?: (msg: string) => void;
|
|
87
87
|
}
|
|
88
88
|
interface HostedFetchResponseLike {
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkCJQEM63S_cjs=require('./chunk-CJQEM63S.cjs'),chunk7SBE7A6E_cjs=require('./chunk-7SBE7A6E.cjs');require('./chunk-2RIHC5TZ.cjs'),require('./chunk-GNFE24S7.cjs');var e=Object.freeze({}),l=Object.freeze([]);function A(t=null){return {boardInfo:{boardId:t,boardInfo:null},boardStatus:{summary:null,cardRuntimesById:e},boardDataObjects:e,boardCardComputedValues:e,cardDefinitionsAndData:e,cardChatViews:e,cardWatchParties:e}}function h(t=null){return t?{messages:t?.messages??l,processing:!!t?.processing,receiving:!!t?.receiving}:{messages:l,processing:false,receiving:false}}function _({chatState:t=null}={}){return {chatState:t??h()}}function D(t){return Array.isArray(t)?t.filter(Boolean).map(String):l}function B(t,n){let s=new Map;for(let a of t?.cards??[]){let r=typeof a?.name=="string"?a.name.trim():"";!r||s.has(r)||s.set(r,{id:r,meta:{title:r},requires:D(a?.requires),provides:D(a?.provides_declared??a?.provides_runtime),source_defs:l,card_data:e});}for(let a of Object.keys(n??e)){let r=typeof a=="string"?a.trim():"";!r||s.has(r)||s.set(r,{id:r,meta:{title:r},requires:l,provides:l,source_defs:l,card_data:e});}return [...s.values()]}function k(t,n){let s={};for(let r of n?.cards??[])s[r.name]=r;let a={};for(let r of t){let c=s[r.id]??{};a[r.id]={status:c.status??"",runtime:c.runtime??e};}return {summary:n?.summary??null,cardRuntimesById:a}}function w(t,n){return Object.fromEntries(t.map(s=>[s.id,n?.[s.id]?.computed_values??e]))}function P(t){return Object.fromEntries(t.map(n=>[n.id,{cardContent:n,cardData:n?.card_data??e}]))}function x(t,n){let s={},a=new Set([...Object.keys(n??e),...Object.keys(t??e)]);for(let r of a){let c=t?.[r]??null;s[r]=_({chatState:h(c)});}return s}function v(t,n=null){let s=Array.isArray(t.cardDefinitions)&&t.cardDefinitions.length>0?t.cardDefinitions:B(t.statusSnapshot,t.cardRuntimeById),a=P(s);return {boardInfo:{boardId:t.boardId??null,boardInfo:t.boardInfo??null},boardStatus:k(s,t.statusSnapshot),boardDataObjects:t.dataObjectsByToken??e,boardCardComputedValues:w(s,t.cardRuntimeById),cardDefinitionsAndData:a,cardChatViews:x(t.cardChatsByCardId,a),cardWatchParties:n?.cardWatchParties??e}}function I(t,n){let s=t?.cardDefinitionsAndData?.[n]??null,a=t?.boardStatus?.cardRuntimesById?.[n]??null,r=t?.boardCardComputedValues?.[n]??e,c=s?.cardContent??null,u={};for(let y of D(c?.requires))u[y]=Object.prototype.hasOwnProperty.call(t?.boardDataObjects??e,y)?t.boardDataObjects[y]:null;return {id:n,card:c,card_data:s?.cardData??e,requires:u,computed_values:r,runtime_state:{task_status:a?.status??null,runtime:a?.runtime??e},card_chats:t?.cardChatViews?.[n]?.chatState??null}}function W(t){let n=Object.keys(t?.cardDefinitionsAndData??e),s=Object.fromEntries(n.map(a=>[a,I(t,a)]));return {payload:t,cardIds:n,modelsById:s,cardWatchParties:t?.cardWatchParties??e}}function E(t,n,s,a){let r={},c={},u={},y={};for(let d of n.cardIds){let o=n.modelsById[d];if(!o)continue;let m=t?.cardDefinitionsAndData?.[d]??null,i=o.card??m?.cardContent??null,b=o.card_data??e;r[d]=m&&m.cardContent===i&&m.cardData===b?m:{cardContent:i,cardData:b};let p=t?.boardCardComputedValues?.[d]??e,g=o.computed_values??e;c[d]=p===g?p:g;let C=t?.cardChatViews?.[d]??null,S=o.card_chats??h();u[d]=C&&C.chatState===S?C:_({chatState:S});let f=t?.boardStatus?.cardRuntimesById?.[d]??{status:"",runtime:e},R=o.runtime_state?.runtime??f.runtime,j=o.runtime_state?.task_status??f.status;y[d]=f.status===j&&f.runtime===R?f:{status:j,runtime:R};}return {...t,boardStatus:{summary:a,cardRuntimesById:y},boardDataObjects:s,boardCardComputedValues:c,cardDefinitionsAndData:r,cardChatViews:u,cardWatchParties:n.cardWatchParties??e}}function T(t,n){if(Array.isArray(n?.cardDefinitions))return v(n,t);let s=chunkCJQEM63S_cjs.b(n);if(s.length===0)return t;let a=t??A(),r=a.boardDataObjects??e,c=a.boardStatus?.summary??null,u=[];for(let i of s)i.kind==="data_object"&&i.key?(r===(t?.boardDataObjects??e)&&(r={...r}),r[i.key]=i.payload):i.kind==="status"&&i.status&&"summary"in i.status&&(c=i.status.summary??null),u.push(i);let y=W(a),d=u.length>0?chunk7SBE7A6E_cjs.c(y,u,(i,b)=>I(i,b),()=>a):y,o=E(a,d,r,c);return !(o.boardStatus!==a.boardStatus||o.boardDataObjects!==a.boardDataObjects||o.boardCardComputedValues!==a.boardCardComputedValues||o.cardDefinitionsAndData!==a.cardDefinitionsAndData||o.cardChatViews!==a.cardChatViews||o.cardWatchParties!==a.cardWatchParties)&&t?t:o}exports.EMPTY_ARRAY=l;exports.EMPTY_OBJECT=e;exports.applyBoardSseFrame=T;exports.createEmptyBoardSnapshot=A;//# sourceMappingURL=board-sse-state.cjs.map
|
|
2
|
+
//# sourceMappingURL=board-sse-state.cjs.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* board-sse-state
|
|
3
|
+
*
|
|
4
|
+
* Platform-free reducer wrapper that folds raw board SSE frames (bootstrap
|
|
5
|
+
* published-payloads + incremental notification batches) into the UI snapshot
|
|
6
|
+
* shape consumed by board front-ends.
|
|
7
|
+
*
|
|
8
|
+
* Delegates the actual incremental reduction to the platform-free primitives:
|
|
9
|
+
* - runtimeNotificationsFromPayload (notification-consumer)
|
|
10
|
+
* - applyNotification (board-state-reducer)
|
|
11
|
+
*
|
|
12
|
+
* No node: builtins — runs in any JS engine (browser, embedded, Node).
|
|
13
|
+
*/
|
|
14
|
+
declare const EMPTY_OBJECT: Record<string, any>;
|
|
15
|
+
declare const EMPTY_ARRAY: readonly any[];
|
|
16
|
+
declare function createEmptyBoardSnapshot(boardId?: any): any;
|
|
17
|
+
declare function applyBoardSseFrame(prev: any, payload: any): any;
|
|
18
|
+
|
|
19
|
+
export { EMPTY_ARRAY, EMPTY_OBJECT, applyBoardSseFrame, createEmptyBoardSnapshot };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* board-sse-state
|
|
3
|
+
*
|
|
4
|
+
* Platform-free reducer wrapper that folds raw board SSE frames (bootstrap
|
|
5
|
+
* published-payloads + incremental notification batches) into the UI snapshot
|
|
6
|
+
* shape consumed by board front-ends.
|
|
7
|
+
*
|
|
8
|
+
* Delegates the actual incremental reduction to the platform-free primitives:
|
|
9
|
+
* - runtimeNotificationsFromPayload (notification-consumer)
|
|
10
|
+
* - applyNotification (board-state-reducer)
|
|
11
|
+
*
|
|
12
|
+
* No node: builtins — runs in any JS engine (browser, embedded, Node).
|
|
13
|
+
*/
|
|
14
|
+
declare const EMPTY_OBJECT: Record<string, any>;
|
|
15
|
+
declare const EMPTY_ARRAY: readonly any[];
|
|
16
|
+
declare function createEmptyBoardSnapshot(boardId?: any): any;
|
|
17
|
+
declare function applyBoardSseFrame(prev: any, payload: any): any;
|
|
18
|
+
|
|
19
|
+
export { EMPTY_ARRAY, EMPTY_OBJECT, applyBoardSseFrame, createEmptyBoardSnapshot };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {b}from'./chunk-CAQHA4GK.js';import {c}from'./chunk-IXZV5BS5.js';import'./chunk-UGB7PC4P.js';import'./chunk-FW4363Y4.js';var e=Object.freeze({}),l=Object.freeze([]);function A(t=null){return {boardInfo:{boardId:t,boardInfo:null},boardStatus:{summary:null,cardRuntimesById:e},boardDataObjects:e,boardCardComputedValues:e,cardDefinitionsAndData:e,cardChatViews:e,cardWatchParties:e}}function h(t=null){return t?{messages:t?.messages??l,processing:!!t?.processing,receiving:!!t?.receiving}:{messages:l,processing:false,receiving:false}}function _({chatState:t=null}={}){return {chatState:t??h()}}function D(t){return Array.isArray(t)?t.filter(Boolean).map(String):l}function B(t,n){let s=new Map;for(let a of t?.cards??[]){let r=typeof a?.name=="string"?a.name.trim():"";!r||s.has(r)||s.set(r,{id:r,meta:{title:r},requires:D(a?.requires),provides:D(a?.provides_declared??a?.provides_runtime),source_defs:l,card_data:e});}for(let a of Object.keys(n??e)){let r=typeof a=="string"?a.trim():"";!r||s.has(r)||s.set(r,{id:r,meta:{title:r},requires:l,provides:l,source_defs:l,card_data:e});}return [...s.values()]}function k(t,n){let s={};for(let r of n?.cards??[])s[r.name]=r;let a={};for(let r of t){let c=s[r.id]??{};a[r.id]={status:c.status??"",runtime:c.runtime??e};}return {summary:n?.summary??null,cardRuntimesById:a}}function w(t,n){return Object.fromEntries(t.map(s=>[s.id,n?.[s.id]?.computed_values??e]))}function P(t){return Object.fromEntries(t.map(n=>[n.id,{cardContent:n,cardData:n?.card_data??e}]))}function x(t,n){let s={},a=new Set([...Object.keys(n??e),...Object.keys(t??e)]);for(let r of a){let c=t?.[r]??null;s[r]=_({chatState:h(c)});}return s}function v(t,n=null){let s=Array.isArray(t.cardDefinitions)&&t.cardDefinitions.length>0?t.cardDefinitions:B(t.statusSnapshot,t.cardRuntimeById),a=P(s);return {boardInfo:{boardId:t.boardId??null,boardInfo:t.boardInfo??null},boardStatus:k(s,t.statusSnapshot),boardDataObjects:t.dataObjectsByToken??e,boardCardComputedValues:w(s,t.cardRuntimeById),cardDefinitionsAndData:a,cardChatViews:x(t.cardChatsByCardId,a),cardWatchParties:n?.cardWatchParties??e}}function I(t,n){let s=t?.cardDefinitionsAndData?.[n]??null,a=t?.boardStatus?.cardRuntimesById?.[n]??null,r=t?.boardCardComputedValues?.[n]??e,c=s?.cardContent??null,u={};for(let y of D(c?.requires))u[y]=Object.prototype.hasOwnProperty.call(t?.boardDataObjects??e,y)?t.boardDataObjects[y]:null;return {id:n,card:c,card_data:s?.cardData??e,requires:u,computed_values:r,runtime_state:{task_status:a?.status??null,runtime:a?.runtime??e},card_chats:t?.cardChatViews?.[n]?.chatState??null}}function W(t){let n=Object.keys(t?.cardDefinitionsAndData??e),s=Object.fromEntries(n.map(a=>[a,I(t,a)]));return {payload:t,cardIds:n,modelsById:s,cardWatchParties:t?.cardWatchParties??e}}function E(t,n,s,a){let r={},c={},u={},y={};for(let d of n.cardIds){let o=n.modelsById[d];if(!o)continue;let m=t?.cardDefinitionsAndData?.[d]??null,i=o.card??m?.cardContent??null,b=o.card_data??e;r[d]=m&&m.cardContent===i&&m.cardData===b?m:{cardContent:i,cardData:b};let p=t?.boardCardComputedValues?.[d]??e,g=o.computed_values??e;c[d]=p===g?p:g;let C=t?.cardChatViews?.[d]??null,S=o.card_chats??h();u[d]=C&&C.chatState===S?C:_({chatState:S});let f=t?.boardStatus?.cardRuntimesById?.[d]??{status:"",runtime:e},R=o.runtime_state?.runtime??f.runtime,j=o.runtime_state?.task_status??f.status;y[d]=f.status===j&&f.runtime===R?f:{status:j,runtime:R};}return {...t,boardStatus:{summary:a,cardRuntimesById:y},boardDataObjects:s,boardCardComputedValues:c,cardDefinitionsAndData:r,cardChatViews:u,cardWatchParties:n.cardWatchParties??e}}function T(t,n){if(Array.isArray(n?.cardDefinitions))return v(n,t);let s=b(n);if(s.length===0)return t;let a=t??A(),r=a.boardDataObjects??e,c$1=a.boardStatus?.summary??null,u=[];for(let i of s)i.kind==="data_object"&&i.key?(r===(t?.boardDataObjects??e)&&(r={...r}),r[i.key]=i.payload):i.kind==="status"&&i.status&&"summary"in i.status&&(c$1=i.status.summary??null),u.push(i);let y=W(a),d=u.length>0?c(y,u,(i,b)=>I(i,b),()=>a):y,o=E(a,d,r,c$1);return !(o.boardStatus!==a.boardStatus||o.boardDataObjects!==a.boardDataObjects||o.boardCardComputedValues!==a.boardCardComputedValues||o.cardDefinitionsAndData!==a.cardDefinitionsAndData||o.cardChatViews!==a.cardChatViews||o.cardWatchParties!==a.cardWatchParties)&&t?t:o}export{l as EMPTY_ARRAY,e as EMPTY_OBJECT,T as applyBoardSseFrame,A as createEmptyBoardSnapshot};//# sourceMappingURL=board-sse-state.js.map
|
|
2
|
+
//# sourceMappingURL=board-sse-state.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunk7SBE7A6E_cjs=require('./chunk-7SBE7A6E.cjs');require('./chunk-2RIHC5TZ.cjs'),require('./chunk-GNFE24S7.cjs');Object.defineProperty(exports,"applyNotification",{enumerable:true,get:function(){return chunk7SBE7A6E_cjs.c}});Object.defineProperty(exports,"buildBoardState",{enumerable:true,get:function(){return chunk7SBE7A6E_cjs.a}});Object.defineProperty(exports,"deriveBoardState",{enumerable:true,get:function(){return chunk7SBE7A6E_cjs.b}});//# sourceMappingURL=board-state-reducer.cjs.map
|
|
2
2
|
//# sourceMappingURL=board-state-reducer.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
export{c as applyNotification,a as buildBoardState,b as deriveBoardState}from'./chunk-IXZV5BS5.js';import'./chunk-UGB7PC4P.js';import'./chunk-FW4363Y4.js';//# sourceMappingURL=board-state-reducer.js.map
|
|
2
2
|
//# sourceMappingURL=board-state-reducer.js.map
|