yaml-flow 8.11.6 → 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/{chunk-WE7JOO4T.cjs → chunk-3XPY7CCM.cjs} +2 -2
- package/lib/chunk-73LKIKD3.cjs +2 -0
- package/lib/{chunk-7UJQMFVS.js → chunk-AN7MLI7X.js} +2 -2
- 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-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/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 +1 -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 {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
'use strict';var chunkAW3COGCI_cjs=require('./chunk-AW3COGCI.cjs'),chunkJ7KE7SPA_cjs=require('./chunk-J7KE7SPA.cjs'),chunkVQCIOKJV_cjs=require('./chunk-VQCIOKJV.cjs'),chunkQBEQL4TL_cjs=require('./chunk-QBEQL4TL.cjs'),chunk2RIHC5TZ_cjs=require('./chunk-2RIHC5TZ.cjs');function Rt(o){return typeof o=="string"&&o.trim().length>0}function Ct(o,r){if(!o||typeof o!="object")throw new Error(`${r}: adapter.selfRef is required`);if(!Rt(o.howToRun))throw new Error(`${r}: adapter.selfRef.howToRun is required`);if(!Rt(o.whatToRun))throw new Error(`${r}: adapter.selfRef.whatToRun is required`)}function kt(o,r){if(!o||typeof o!="object")throw new Error(`${r}: adapter.callbackTransport is required`);if(typeof o.createCallback!="function")throw new Error(`${r}: adapter.callbackTransport.createCallback is required`)}function $t(o,r="callbackTransport"){return {createCallback(S){let _=o();return Ct(_,r),{token:S,via:_}}}}function He(o){return $t(()=>o,"createStaticExecutionRefCallbackTransport")}function Yt(o){return He({meta:"board-live-cards",howToRun:"http:post",whatToRun:chunkVQCIOKJV_cjs.a({kind:"http-url",value:String(o||"").trim()})})}function Ut(o){return He({meta:"board-live-cards",howToRun:"in-process-loop",whatToRun:chunkVQCIOKJV_cjs.a({kind:"in-process-loop",value:String(o||"").trim()})})}function Xt(o){let r=typeof o=="string"?{notifyChannel:o}:o??{},S={};return r.notifyChannel&&(S.notifyChannel=r.notifyChannel),r.boardRuntimeStoreRef&&(S.boardRuntimeStoreRef=r.boardRuntimeStoreRef),r.queueStoreRef&&(S.queueStoreRef=r.queueStoreRef),He({meta:"board-live-cards",howToRun:"built-in",whatToRun:chunkVQCIOKJV_cjs.a({kind:"built-in",value:"board-live-cards"}),...Object.keys(S).length>0?{extra:S}:{}})}function m(o){return o!==void 0?{status:"success",data:o}:{status:"success"}}function d(o){return {status:"fail",error:o}}function g(o){return {status:"error",error:o instanceof Error?o.message:String(o)}}function Dt(o){let r=new TextEncoder().encode(o),S=Array.from(r,_=>String.fromCharCode(_)).join("");return btoa(S).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function bt(o){let r=o.replace(/-/g,"+").replace(/_/g,"/"),S=r+"=".repeat((4-r.length%4)%4),_=atob(S),E=Uint8Array.from(_,M=>M.charCodeAt(0));return new TextDecoder().decode(E)}function _e(o){try{let r=JSON.parse(bt(o));return typeof r?.t=="string"?{taskName:r.t}:null}catch{return null}}function ht(o){return Dt(JSON.stringify(o))}function St(o){try{let r=JSON.parse(bt(o));return typeof r?.cbk=="string"&&typeof r?.cid=="string"&&typeof r?.b=="string"&&typeof r?.d=="string"?r:null}catch{return null}}function N(){return new Date().toISOString()}function Vt(o){let r=new Map;return {appendEntries(S,_){if(!S||_.length===0)return;let E=r.get(S)??[];r.set(S,[...E,..._]);},dispatchEntriesForJournalId(S,_){if(!S)return;let E=r.get(S);if(!(!E||E.length===0)){for(let M of E)try{_(M);}catch(j){try{o(M,j instanceof Error?j.message:String(j));}catch{}}r.delete(S);}}}}function sr(o,r,S={}){kt(r.callbackTransport,"createBoardLiveCardsPublic");let _=r.callbackTransport,E=r.onWarn??(()=>{}),M=chunkVQCIOKJV_cjs.a(o),j=S.boardRuntimeStoreRef,G=S.scratchStoreRef,ue=S.taskExecutorRef,Re=S.chatHandlerFlow,Ce=S.emitNotification??(t=>{if(!r.publishBoardChangeNotifications)return;let e=t.kind==="notification-batch"?t.notifications:[t];return r.publishBoardChangeNotifications(e)});function te(){if(!j)throw new Error(`Board at ${o.value} has no board runtime store configured. Pass boardRuntimeStoreRef at construction or init.`);return j}function Fe(t){if(t.length!==0)try{let e=chunk2RIHC5TZ_cjs.e(t),s=chunk2RIHC5TZ_cjs.f({kind:"notification-batch",notifications:e}),i=Ce(s);i&&typeof i.catch=="function"&&i.catch(f=>E(`[board-live-cards-public] emitNotification failed: ${f instanceof Error?f.message:String(f)}`));}catch(e){E(`[board-live-cards-public] emitNotification failed: ${e instanceof Error?e.message:String(e)}`);}}function Oe(){let t=q().readCardStoreRef();if(!t)throw new Error(`Board at ${o.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let e=r.kvStorageForRef(t);return {readIndex(){return e.read("_index")},writeIndex(s){e.write("_index",s);},readCard(s){return e.read(s)},writeCard(s,i){return e.write(s,i),r.hashFn(i)},removeCard(s){e.delete(s);},cardExists(s){return e.read(s)!==null},defaultCardKey(s){return s}}}let Pe={readValues(t){let e=r.kvStorageForRef(te()),s=e.listKeys().sort();if(s.length===0)return {version:null,values:{}};let i={};for(let f of s)i[f]=e.read(f);return {version:r.hashFn(i),values:i}},writeValues(t,e,s){let i=r.kvStorageForRef(te());for(let f of s)i.delete(f);for(let[f,v]of Object.entries(e))i.write(f,v);return r.hashFn(e)}},q=()=>chunkJ7KE7SPA_cjs.t(r.kvStorageForRef(te())),re=()=>chunkJ7KE7SPA_cjs.s(Pe),ce=()=>chunkJ7KE7SPA_cjs.o(r.journalAdapterForRef(te())),l=()=>chunkJ7KE7SPA_cjs.m(Oe(),E),n=()=>{let t=q().readOutputsStoreRef();if(!t)throw new Error(`Board at ${o.value} has no outputs store configured. Run: init --outputs-store-ref <b64-ref>`);return chunkJ7KE7SPA_cjs.u(r.kvStorageForRef(t))};function u(){return ue??q().readTaskExecutorRef()}function R(){return !!re().readSnapshot(o.value).values[chunkJ7KE7SPA_cjs.q]}function y(){let t=re().readSnapshot(o.value);if(!t.values[chunkJ7KE7SPA_cjs.q])throw new Error(`Board not initialized at ${o.value}`);return chunkJ7KE7SPA_cjs.F(t.values)}function k(t,e){let s=re().commitSnapshot(o.value,{schemaVersion:chunkJ7KE7SPA_cjs.p,expectedVersion:e,commitId:r.genId(),committedAt:N(),deleteKeys:[],shallowMerge:chunkJ7KE7SPA_cjs.E(t)});if(!s.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${e??"null"} current=${s.currentVersion??"null"}`)}function p(t){ce().appendEvent(t);}async function A(){let e=Vt((a,c)=>{let h=a.payload,w=(h?.enrichedCard??{}).id??h?.cardId??"unknown";p({type:"task-failed",taskName:w,error:c,timestamp:N()});}),s=y(),i=chunkAW3COGCI_cjs.q(s.graph),{events:f,newCursor:v}=ce().readEntriesAfterCursor(s.lastDrainedJournalId),C=x(),b=chunkJ7KE7SPA_cjs.n(C,a=>r.resolveBlob(a)),I={...s.runtimeByCardId},P=new Map,Q={readRuntime(a){return P.get(a)??I[a]??{_sources:{}}},writeRuntime(a,c){P.set(a,c),I[a]=c;}},W=[],J=new Map,se={readSourceData(a,c){let h=`${a}/${c}`;return J.has(h)?J.get(h):b.readSourceData(a,c)},ingestSourceDataStaged(a,c,h,H){b.ingestSourceDataStaged(a,c,h,H);},commitSourceData(a,c,h){let H=`${a}/.staged/${h}/${c}`,w=C.read(H);if(w==null){let B=C.keyRef?.(H);B&&(w=r.resolveBlob(B));}if(w==null)return false;let L=`${a}/${c}`,X=w.trim();try{J.set(L,JSON.parse(X));}catch{J.set(L,X);}return W.push({cardId:a,outputFile:c,deliveryToken:h}),true},hasSource(a,c){let h=`${a}/${c}`;return J.has(h)?true:b.hasSource(a,c)},listSources(a){let c=b.listSources(a),h=new Set;for(let w of J.keys())w.startsWith(`${a}/`)&&h.add(w.slice(`${a}/`.length));let H=new Set([...c,...h]);return Array.from(H)}},me=()=>i.config.tasks,Z={cardStore:l(),cardRuntimeStore:Q,fetchedSourcesStore:se,outputStore:n(),executionRequestStore:e,activeTaskConfigs:()=>me()},pe=[],qe=[],je=[],$e=new Map,ze=new Set,Nt=(a,c)=>{pe.push({type:"task-completed",taskName:a,data:c,timestamp:N()});},De=(a,c)=>{p({type:"task-failed",taskName:a,error:c,timestamp:N()});},ge=chunkAW3COGCI_cjs.t(i,{handlers:{"card-handler":chunkJ7KE7SPA_cjs.C(o,v,Z,Nt,De,(a,c)=>{qe.push({cardId:a,values:c});},a=>{je.push(a);})},onNodeRemoved:a=>{$e.delete(a),P.delete(a),delete I[a],ze.add(a);}});for(me=()=>ge.getState().config.tasks,pe=f;pe.length>0;){let a=pe;pe=[];for(let c of a)if(c.type==="task-restart"){let h=Z.cardStore.readCard(c.taskName);h&&$e.set(c.taskName,h);}ge.pushAll(a),await ge.waitForHandlers();}let Qe=ge.getState();await ge.dispose({wait:true});let qt=re().readSnapshot(o.value).version;k({lastDrainedJournalId:v,graph:chunkAW3COGCI_cjs.p(Qe),runtimeByCardId:I},qt);for(let{cardId:a,values:c}of qe)Z.outputStore.writeComputedValues(a,c);for(let a of je)Z.outputStore.writeDataObjects(a);for(let{cardId:a,outputFile:c,deliveryToken:h}of W)b.commitSourceData(a,c,h);let Se;try{Se=chunkJ7KE7SPA_cjs.z(chunkJ7KE7SPA_cjs.B(M,Qe)),Z.outputStore.writeStatusSnapshot(Se);}catch(a){E(`[board-live-cards-public] status publish failed: ${a instanceof Error?a.message:String(a)}`);}let ae=[];for(let{cardId:a,values:c}of qe)ae.push({kind:"computed_values",cardId:a,values:c});for(let a of je)for(let[c,h]of Object.entries(a))c&&ae.push({kind:"data_object",key:c,payload:h});for(let[a,c]of $e)a!==chunkJ7KE7SPA_cjs.i&&ae.push({kind:"card_refreshed",cardId:a,card:c});for(let a of ze)ae.push({kind:"card_removed",cardId:a});Se!==void 0&&ae.push({kind:"status",status:Se}),Fe(ae);let ie=u()??{howToRun:"built-in",whatToRun:chunkVQCIOKJV_cjs.a({kind:"built-in",value:"source-cli-task-executor"})},We=r.supportsDirectSourceOutput?.(ie)===true;e.dispatchEntriesForJournalId(v,a=>{if(a.taskKind!=="source-fetch"){E(`[process-accumulated-events] unknown taskKind "${a.taskKind}" \u2014 skipping`);return}let c=a.payload,h=c.enrichedCard?.id??"unknown",H=c.enrichedCard?.source_defs??[];if(ie.howToRun==="queue-storage"&&We){try{let w=r.queueStorageForRef(T(),"task-executor"),L=typeof ie.extra?.boardId=="string"?ie.extra.boardId:void 0,X=[];for(let B of H){if(!B.outputFile){E(`[dispatch] source "${B.bindTo}" has no outputFile \u2014 skipping`);continue}let be=r.genId(),ye=`${h}/.staged/${be}/${B.outputFile}`,Ze=C.keyRef?.(ye);if(!Ze)continue;let et={ref:chunkVQCIOKJV_cjs.a(Ze),deliveryToken:be,outputFile:B.outputFile,cardId:h},jt=ht({cbk:c.callbackToken,rg:o.value,br:chunkVQCIOKJV_cjs.a(o),cid:h,b:B.bindTo,d:B.outputFile,cs:void 0,rqt:c.rqt,dt:et.deliveryToken});X.push({...L?{boardId:L}:{},ref:ie,args:{source_def:B,base_ref:chunkVQCIOKJV_cjs.a(o),callback:_.createCallback(jt),output:et}});}X.length>0&&w.enqueueMany(X);}catch(w){De(h,w instanceof Error?w.message:String(w));}return}for(let w of H){if(!w.outputFile){E(`[dispatch] source "${w.bindTo}" has no outputFile \u2014 skipping`);continue}let L;if(We){let B=r.genId(),be=`${h}/.staged/${B}/${w.outputFile}`,ye=C.keyRef?.(be);ye&&(L={ref:chunkVQCIOKJV_cjs.a(ye),deliveryToken:B,outputFile:w.outputFile,cardId:h});}let X=ht({cbk:c.callbackToken,rg:o.value,br:chunkVQCIOKJV_cjs.a(o),cid:h,b:w.bindTo,d:w.outputFile,cs:void 0,rqt:c.rqt,...L?{dt:L.deliveryToken}:{}});r.dispatchExecution(ie,{source_def:w,base_ref:chunkVQCIOKJV_cjs.a(o),callback:_.createCallback(X),...L?{output:L}:{}}).catch(B=>De(h,B instanceof Error?B.message:String(B)));}});}function T(){let t=q().readQueueStoreRef();if(!t)throw new Error(`Board at ${o.value} has no queue store configured. Run: init --queue-store-ref <b64-ref>`);return t}function $(){r.queueStorageForRef(T(),"process-accumulated").enqueue({boardRef:chunkVQCIOKJV_cjs.a(o)}),r.requestProcessAccumulated?.();}function F(){let t=r.queueStorageForRef(T(),"process-accumulated");for(;;){let e=t.lease({max:64,visibilityMs:1e3});if(e.length<=0)return;for(let s of e)t.ack(s.id,s.leaseToken);if(e.length<64)return}}async function U(){try{let t=()=>{let s=y(),{events:i}=ce().readEntriesAfterCursor(s.lastDrainedJournalId);i.length<=0||$();},e=await chunkVQCIOKJV_cjs.c(r.lock,A,t);return m({ran:e!==!1})}catch(t){return g(t)}}function D(){$();}function de(t){try{let e=t.params?.cardStoreRef;if(!e)return d("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(j=t.params?.boardRuntimeStoreRef,!j)return d("init requires params.boardRuntimeStoreRef \u2014 pass the board runtime store ref here");if(!R()){let P=chunkAW3COGCI_cjs.a(chunkJ7KE7SPA_cjs.D);k({lastDrainedJournalId:"",graph:chunkAW3COGCI_cjs.p(P),runtimeByCardId:{}},null);}let s=t.params?.outputsStoreRef;if(!s)return d("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let i=t.params?.queueStoreRef;if(!i)return d("init requires params.queueStoreRef \u2014 pass the queue store ref here");let f=t.params?.fetchedSourcesStoreRef;if(!f)return d("init requires params.fetchedSourcesStoreRef \u2014 pass the fetched sources store ref here");G=t.params?.scratchStoreRef;let v=t.params?.chatStoreRef;if(!v)return d("init requires params.chatStoreRef \u2014 pass the chat store ref here");let C=t.params?.artifactsStoreRef;if(!C)return d("init requires params.artifactsStoreRef \u2014 pass the artifacts store ref here");let b=q();b.writeBoardRuntimeStoreRef(j),b.writeCardStoreRef(e),b.writeOutputsStoreRef(s),b.writeQueueStoreRef(i),b.writeFetchedSourcesStoreRef(f),b.writeChatStoreRef(v),b.writeArtifactsStoreRef(C),l().writeCard(chunkJ7KE7SPA_cjs.l().id,chunkJ7KE7SPA_cjs.l());let I=V({params:{cardId:chunkJ7KE7SPA_cjs.l().id,restart:!0}});if(I.status!=="success")return I;try{n().writeStatusSnapshot(chunkJ7KE7SPA_cjs.z(chunkJ7KE7SPA_cjs.B(M,chunkAW3COGCI_cjs.q(y().graph))));}catch{}return m()}catch(e){return g(e)}}function ne(t){try{let e=n().readStatusSnapshot();if(!e){e=chunkJ7KE7SPA_cjs.z(chunkJ7KE7SPA_cjs.B(M,chunkAW3COGCI_cjs.q(y().graph)));try{n().writeStatusSnapshot(e);}catch{}}return m(e)}catch(e){return g(e)}}function ke(t){try{let e=t.params?.id;if(!e)return d("removeCard requires params.id");try{r.kvStorage("card-upsert").delete(e);}catch{}return p({type:"task-removal",taskName:e,timestamp:N()}),e!==chunkJ7KE7SPA_cjs.i&&p({type:"task-restart",taskName:chunkJ7KE7SPA_cjs.i,timestamp:N()}),D(),m()}catch(e){return g(e)}}function oe(t){try{let e=t.params?.cardId;if(!e)return d("addCardFiles requires params.cardId");let s=chunkJ7KE7SPA_cjs.H(l(),{emitNotification:Ce}).appendFiles({params:{id:e},body:t.body});return s.status!=="success"?s:m({cardId:e,files_added:s.data.files_added,notified:!0})}catch(e){return g(e)}}function he(t){try{let e=t.params?.id;return e?(p({type:"task-restart",taskName:e,timestamp:N()}),D(),m()):d("retrigger requires params.id")}catch(e){return g(e)}}async function le(t){return F(),U()}function Ne(){let t=q().readFetchedSourcesStoreRef();if(!t)throw new Error(`Board at ${o.value} has no fetched sources store configured. Run: init --fetched-sources-store-ref <b64-ref>`);return t}function x(){return r.blobStorageForRef(Ne())}function V(t){try{let e=t.params?.cardId,s=t.params?.all,i=!!t.params?.restart;if(!e&&!s)return d("upsertCard requires --card-id <id> or --all");let f=s?l().readAllCards().map(C=>C.id):[e];for(let C of f)if(!l().readCard(C))return d(`Card "${C}" not found in board at ${o.value}`);let v=!1;for(let C of f){let b=l().readCard(C),I=chunkJ7KE7SPA_cjs.G(b),P=r.hashFn(I),Q=r.kvStorage("card-upsert"),W=Q.read(C),J=W?.taskConfigHash!==P;if(!(!J&&!i)){if(J){let se=W?.blobRef??l().readCardKey(C)??C;p({type:"task-upsert",taskName:C,taskConfig:I,timestamp:N()}),Q.write(C,{blobRef:se,taskConfigHash:P,updatedAt:N()}),v=v||C!==chunkJ7KE7SPA_cjs.i;}i&&p({type:"task-restart",taskName:C,timestamp:N()});}}return v&&p({type:"task-restart",taskName:chunkJ7KE7SPA_cjs.i,timestamp:N()}),D(),m()}catch(e){return g(e)}}function K(t){try{let e=t.params?.token;if(!e)return d("taskFailed requires params.token");let s=t.params?.error??"unknown error",i=_e(e);return i?(p({type:"task-failed",taskName:i.taskName,error:s,timestamp:N()}),D(),m()):d("Invalid callback token")}catch(e){return g(e)}}function z(t){try{let e=t.params?.token;if(!e)return d("taskProgress requires params.token");let i=(t.body??{}).update??{},f=_e(e);return f?(p({type:"task-progress",taskName:f.taskName,update:i,timestamp:N()}),D(),m()):d("Invalid callback token")}catch(e){return g(e)}}function fe(t){try{let e=t.params?.token,s=t.params?.ref;if(!e)return d("sourceDataFetched requires params.token");if(!s)return d("sourceDataFetched requires params.ref");let i=St(e);if(!i)return d("Invalid source token");let{cbk:f,cid:v,b:C,d:b,cs:I,rqt:P,dt:Q}=i,W=chunkJ7KE7SPA_cjs.n(x(),Z=>r.resolveBlob(Z)),J=Q||r.genId();Q||W.ingestSourceDataStaged(v,b,chunkVQCIOKJV_cjs.b(s),J);let se=_e(f);if(!se)return d("Invalid callback token embedded in source token");let me=N();return p({type:"task-progress",taskName:se.taskName,update:{bindTo:C,outputFile:b,fetchedAt:me,deliveryToken:J,sourceChecksum:I,rqt:P},timestamp:me}),D(),m()}catch(e){return g(e)}}function Y(t){try{let e=t.params?.token,s=t.params?.reason??"unknown";if(!e)return d("sourceDataFetchFailure requires params.token");let i=St(e);if(!i)return d("Invalid source token");let{cbk:f,b:v,d:C,cs:b,rqt:I}=i,P=_e(f);return P?(p({type:"task-progress",taskName:P.taskName,update:{bindTo:v,outputFile:C,failure:!0,reason:s,sourceChecksum:b,rqt:I},timestamp:N()}),D(),m()):d("Invalid callback token embedded in source token")}catch(e){return g(e)}}function yt(t){try{let e=q().readCardStoreRef();return e?m({storeRef:e}):d(`Board at ${o.value} has no card store configured`)}catch(e){return g(e)}}function vt(t){try{return m({storeRef:j??null})}catch(e){return g(e)}}function wt(t){try{let e=q().readOutputsStoreRef();return e?m({storeRef:e}):d(`Board at ${o.value} has no outputs store configured`)}catch(e){return g(e)}}function Tt(t){try{return m({storeRef:G??null})}catch(e){return g(e)}}function It(t){try{let e=q().readChatStoreRef();return m({storeRef:e})}catch(e){return g(e)}}function xt(t){try{let e=q().readArtifactsStoreRef();return m({storeRef:e})}catch(e){return g(e)}}function Et(t){try{let e=q().readFetchedSourcesStoreRef();return m({storeRef:e})}catch(e){return g(e)}}function At(t){try{let e=t.params?.key;if(!e)return d("getConfig requires params.key");let s=q(),i;switch(e){case "task-executor":i=ue??null;break;case "chat-handler-flow":i=Re??null;break;case "board-runtime-store-ref":i=s.readBoardRuntimeStoreRef();break;case "card-store-ref":i=s.readCardStoreRef();break;case "outputs-store-ref":i=s.readOutputsStoreRef();break;case "scratch-store-ref":i=G??null;break;case "chat-store-ref":i=s.readChatStoreRef();break;case "artifacts-store-ref":i=s.readArtifactsStoreRef();break;case "fetched-sources-store-ref":i=s.readFetchedSourcesStoreRef();break;default:return d(`getConfig: unknown key "${e}"`)}return m({value:i})}catch(e){return g(e)}}function Bt(t){try{let e=t.params?.key;if(!e)return d("getOutputsDataObject requires params.key");if(e===chunkJ7KE7SPA_cjs.h)return m(null);let s=n().readDataObject(e);return m(s)}catch(e){return g(e)}}function Ge(t){try{return m(chunkJ7KE7SPA_cjs.A(n().readAllDataObjects()))}catch(e){return g(e)}}function _t(t){try{let e=t.params?.key;if(!e)return d("getOutputsComputedValues requires params.key");let s=n().readComputedValues(e);return m(s)}catch(e){return g(e)}}function Ye(t){try{return m(n().readAllComputedValues())}catch(e){return g(e)}}function Ue(){return chunkJ7KE7SPA_cjs.n(x(),t=>r.resolveBlob(t))}function Xe(t){let e=x().keyRef?.(t);if(!e)throw new Error("configured fetched-sources store does not support keyRef");return chunkVQCIOKJV_cjs.a(e)}function Ft(t){try{let e=t.params?.key;if(!e)return d("getOutputsFetchedSources requires params.key");let s=Ue().listSources(e),i={};for(let f of s)i[f]=Xe(`${e}/${f}`);return m(i)}catch(e){return g(e)}}function Ot(t){try{let e=Ue(),s=new Set;for(let f of x().listKeys()){let v=f.indexOf("/");v>0&&!f.includes("/.staged/")&&s.add(f.slice(0,v));}let i={};for(let f of s){let v=e.listSources(f);if(v.length>0){i[f]={};for(let C of v)i[f][C]=Xe(`${f}/${C}`);}}return m(i)}catch(e){return g(e)}}function Pt(t){try{let e=l().readAllCards().filter(b=>b.id!==chunkJ7KE7SPA_cjs.i),s=ne({});if(s.status!=="success")return s;let i=Ge({});if(i.status!=="success")return i;let f=Ye({});if(f.status!=="success")return f;let v=f.data,C={};for(let b of e){let I=typeof b?.id=="string"?b.id:null;if(!I)continue;let P=b.card_data&&typeof b.card_data=="object"&&!Array.isArray(b.card_data)?b.card_data:{};C[I]={schema_version:"v1",card_id:I,card_data:{...P},computed_values:v[I]&&typeof v[I]=="object"?v[I]:{}};}return m({cardDefinitions:e,statusSnapshot:s.data,dataObjectsByToken:i.data,cardRuntimeById:C})}catch(e){return g(e)}}return {init:de,status:ne,getBoardRuntimeStoreRef:vt,getCardStoreRef:yt,getOutputsStoreRef:wt,getScratchStoreRef:Tt,getChatStoreRef:It,getArtifactsStoreRef:xt,getFetchedSourcesStoreRef:Et,getConfig:At,getOutputsDataObject:Bt,getAllOutputsDataObjects:Ge,getOutputsComputedValues:_t,getAllOutputsComputedValues:Ye,getOutputsFetchedSources:Ft,getAllOutputsFetchedSources:Ot,buildSseOneShotPayload:Pt,removeCard:ke,addCardFiles:oe,retrigger:he,processAccumulatedEvents:le,upsertCard:V,taskFailed:K,taskProgress:z,sourceDataFetched:fe,sourceDataFetchFailure:Y}}function ar(o,r,S){let _=S?.taskExecutorRef,E=()=>{if(S){if(!S.boardRuntimeStoreRef)throw new Error(`Board at ${o.value} requires boardRuntimeStoreRef for non-core runtime operations.`);return chunkJ7KE7SPA_cjs.t(r.kvStorageForRef(S.boardRuntimeStoreRef))}return chunkJ7KE7SPA_cjs.t(r.kvStorage("config"))};function M(){let l=E().readCardStoreRef();if(!l)throw new Error(`Board at ${o.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let n=r.kvStorageForRef(l);return {readIndex(){return n.read("_index")},writeIndex(u){n.write("_index",u);},readCard(u){return n.read(u)},writeCard(u,R){return n.write(u,R),r.hashFn(R)},removeCard(u){n.delete(u);},cardExists(u){return n.read(u)!==null},defaultCardKey(u){return u}}}let j=()=>chunkJ7KE7SPA_cjs.m(M(),r.onWarn??(()=>{}));function G(){return _??E().readTaskExecutorRef()}async function ue(l,n){let u=r.validateSchema(n),R=[],y=G();if(y&&Array.isArray(n.source_defs))for(let p of n.source_defs){let A=typeof p.bindTo=="string"?p.bindTo:"(unknown)";try{let T;try{T=await r.invokeExecutor(y,"validate-source-def",{timeout:r.executorTimeouts?.validationMs??1e4,input:JSON.stringify(p)});}catch(F){let U=F;if(T=typeof U?.stdout=="string"?U.stdout:"",!T.trim()){R.push(`source "${A}": executor validate-source-def failed \u2014 ${F instanceof Error?F.message:String(F)}`);continue}}let $=JSON.parse(T.trim());if(!$.ok&&Array.isArray($.errors))for(let F of $.errors)R.push(`source "${A}": ${F}`);}catch(T){R.push(`source "${A}": executor validate-source-def failed \u2014 ${T instanceof Error?T.message:String(T)}`);}}let k=[...u.errors,...R];return m({cardId:l,isValid:k.length===0,issues:k})}function Re(l,n){let u=l.params?.sourceIdx,R=l.params?.outRef;if(u===void 0)return d(`${n} requires params.sourceIdx`);if(!l.body||typeof l.body!="object"||Array.isArray(l.body))return d(`${n} requires card JSON object in body`);let y=l.body,k=y["card-content"]??y,p=y["mock-projections"]??{},A=k.source_defs??[];if(u<0||u>=A.length)return d(`sourceIdx ${u} out of range (card has ${A.length} source(s))`);let T=A[u],$=typeof T.bindTo=="string"?T.bindTo:"source";return {src:T,bindTo:$,outRef:R,mockProjections:p}}async function Ce(l){try{if(!l.body||typeof l.body!="object"||Array.isArray(l.body))return d("validateCardPreflight requires card JSON object in body");let n=l.body,u=n["card-content"]??n,R=typeof u.id=="string"?u.id:"(unknown)";return await ue(R,u)}catch(n){return g(n)}}async function te(l){try{let n=Re(l,"probeSourcePreflight");if("status"in n)return n;let u=G();if(!u)return d("No task-executor registered for this board");try{let R={...n.src,_projections:n.mockProjections},y=await r.invokeExecutor(u,"probe-source-preflight",{timeout:n.src.timeout??r.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(R)}),k=JSON.parse(y.trim());return k.ok?m({bindTo:n.bindTo,reachable:k.reachable,latencyMs:k.latencyMs,note:k.note}):d(k.error??"Preflight probe failed")}catch{return d("Executor does not support probe-source-preflight")}}catch(n){return g(n)}}async function Fe(l){try{let n=Re(l,"runSourcePreflight");if("status"in n)return n;let u=G();if(!u)return d("No task-executor registered for this board");try{let R={...n.src,_projections:n.mockProjections},y=await r.invokeExecutor(u,"run-source-preflight",{timeout:n.src.timeout??r.executorTimeouts?.probeMs??6e4,input:JSON.stringify(R)}),k=JSON.parse(y.trim());if(!k.ok)return m({bindTo:n.bindTo,ok:!1,result:null,issues:[k.error??"Preflight run failed"]});if(n.outRef){let p=chunkVQCIOKJV_cjs.b(n.outRef);r.absoluteBlob.write(p.value,JSON.stringify(k.resultValue,null,2));}return m({bindTo:typeof k.bindTo=="string"?k.bindTo:n.bindTo,ok:!0,result:k.resultValue??null,issues:[]})}catch(R){let y=R instanceof Error?R.message:String(R);return m({bindTo:n.bindTo,ok:!1,result:null,issues:[y]})}}catch(n){return g(n)}}async function Oe(l){try{let n=G();if(!n)return d("No task-executor registered for this board");let u=await r.invokeExecutor(n,"describe-capabilities",{timeout:r.executorTimeouts?.describeMs??1e4});return m(JSON.parse(u.trim()))}catch(n){return g(n)}}function Pe(l){try{let n=l.body;if(!n||!Array.isArray(n.ops))return d("updatesInCardStore requires body.ops array");let u=n.ops,R=j();for(let y of u){let k=y.op,p=y.id;if(!p)return d('op is missing "id"');if(k==="update"){let A=y["card-content"];if(!A)return d(`update op for "${p}" is missing "card-content"`);R.writeCard(p,A);}else return d(`Unknown op type: "${k??"(none)"}"`)}return m()}catch(n){return g(n)}}function q(l){try{let n=l.body;if(!n||!Array.isArray(n.ids))return d("readFromCardStore requires body.ids array");let u=n.ids,R=j(),y=u.map(k=>({id:k,"card-content":R.readCard(k)}));return m({cards:y})}catch(n){return g(n)}}function re(l){try{if(!l.body||typeof l.body!="object"||Array.isArray(l.body))return d("evalCardCompute requires a JSON object in body");let n=l.body,u=n["card-content"]??n,R=typeof u.id=="string"?u.id:"(unknown)",y=n["mock-fetched-sources"]??{},k=n["mock-requires"]??{},p=u.compute;if(!p||!Array.isArray(p)||p.length===0)return m({cardId:R,ok:!0,computed_values:{},errors:[]});let A={id:R,card_data:u.card_data??{},requires:k,source_defs:u.source_defs,compute:p},T=chunkQBEQL4TL_cjs.a.runSync(A,{sourcesData:y}),$=T.node.computed_values??{},F=T.errors??[];return m({cardId:R,ok:F.length===0,computed_values:$,errors:F})}catch(n){return g(n)}}async function ce(l){try{if(!l.body||typeof l.body!="object"||Array.isArray(l.body))return d("simulateCardCycle requires a JSON object in body");let n=l.body,u=n["card-content"]??n,R=typeof u.id=="string"?u.id:"(unknown)",y=n["mock-fetched-sources"]??{},k=n["mock-requires"]??{},p=await ue(R,u),A=p.status==="success"?{isValid:p.data.isValid,issues:p.data.issues}:{isValid:!1,issues:[p.status==="fail"?p.error:"internal error"]},T=u.source_defs??[],$=u.card_data??{},F=[],U=[];if(T.length>0){F=chunkQBEQL4TL_cjs.a.enrichSourcesSync(T,{card_data:$,requires:k});for(let x of F){let V=x.projections,K=x._projections;if(V&&K){for(let z of Object.keys(V))if(K[z]===void 0){let fe=typeof x.bindTo=="string"?x.bindTo:"(unknown)";U.push({bindTo:fe,key:z,error:`Projection "${z}" resolved to undefined`});}}}}let D=[],de={...y},ne=n["task-executor-ref"],ke=(ne?.howToRun&&ne?.whatToRun?ne:void 0)??G();for(let x=0;x<F.length;x++){let V=F[x],K=typeof V.bindTo=="string"?V.bindTo:`source_${x}`;if(!ke){D.push({bindTo:K,skipped:!0,error:"No task executor configured"});continue}try{let z={...V},fe=await r.invokeExecutor(ke,"run-source-preflight",{timeout:V.timeout??r.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(z)}),Y=JSON.parse(fe.trim());Y.ok&&!Object.prototype.hasOwnProperty.call(y,K)&&Object.prototype.hasOwnProperty.call(Y,"resultValue")&&(de[K]=Y.resultValue),D.push({bindTo:K,reachable:Y.reachable,latencyMs:Y.latencyMs,error:Y.ok?void 0:Y.error});}catch{D.push({bindTo:K,skipped:!0,error:"Executor does not support run-source-preflight"});}}let oe=u.compute,he={},le=[];if(oe&&Array.isArray(oe)&&oe.length>0){let x={id:R,card_data:$,requires:k,source_defs:u.source_defs,compute:oe},V=chunkQBEQL4TL_cjs.a.runSync(x,{sourcesData:de});he=V.node.computed_values??{},le=V.errors??[];}let Ne=A.isValid&&U.length===0&&le.length===0&&D.every(x=>x.reachable!==!1);return m({cardId:R,ok:Ne,validation:A,source_probes:D,projection_errors:U,fetched_sources:de,computed_values:he,compute_errors:le})}catch(n){return g(n)}}return {validateCardPreflight:Ce,probeSourcePreflight:te,runSourcePreflight:Fe,evalCardCompute:re,simulateCardCycle:ce,describeTaskExecutorCapabilities:Oe,updatesInCardStore:Pe,readFromCardStore:q}}
|
|
2
|
-
exports.a=kt;exports.b=Yt;exports.c=Ut;exports.d=Xt;exports.e=sr;exports.f=ar;//# sourceMappingURL=chunk-
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
2
|
+
exports.a=kt;exports.b=Yt;exports.c=Ut;exports.d=Xt;exports.e=sr;exports.f=ar;//# sourceMappingURL=chunk-3XPY7CCM.cjs.map
|
|
3
|
+
//# sourceMappingURL=chunk-3XPY7CCM.cjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';function s(o){return !o||typeof o!="object"||Array.isArray(o)?null:o}function g(o){let t=s(o);return s(t?.metadata)??{}}function P(o,t){let a=g(o),d=s(s(t)?.metadata);return d?{...a,...d}:a}function C(o){let t=o.storage,a=o.hydrate,d=typeof o.resolveWorkspaceDir=="function"?o.resolveWorkspaceDir:()=>"";async function f(){return (await t.list()).map(({id:e,record:n})=>a(e,n))}async function l(r){let e=await t.get(r);return e?a(r,e):null}async function p(r){return t.has(r)}async function y(r,e,n={}){if(await t.has(r)){let i=new Error(`board '${r}' already exists`);throw i.code="EEXIST",i}let c=a(r,e);return typeof t.provision=="function"?await t.provision(r,e,n):(await t.put(r,e),n.layout==null?typeof t.removeLayout=="function"&&await t.removeLayout(r):typeof t.setLayout=="function"&&await t.setLayout(r,n.layout)),c}async function w(r,e){return y(r,e)}async function T(r,e){let n=await t.get(r);if(!n)return null;let i={...s(n)??{},metadata:{...g(n),...s(e)??{}}},u=a(r,i);return await t.set(r,i),u}async function v(r,e){let n=await t.get(r);if(!n)return null;let c=s(n),i=s(e),u={...c??{},...i??{},metadata:P(n,e)},h=a(r,u);return await t.set(r,u),h}async function L(r){return typeof t.getLayout!="function"?null:t.getLayout(r)}async function R(r,e){if(typeof t.setLayout!="function")throw new Error(`board-container storage kind '${t.kind??""}' does not support layout writes`);return await t.setLayout(r,e),e}async function k(r){typeof t.removeLayout=="function"&&await t.removeLayout(r);}async function m(r){let e=await t.get(r);if(!e)return null;let n=typeof t.archive=="function"?t.archive.bind(t):typeof t.deprecate=="function"?t.deprecate.bind(t):null;if(!n)throw new Error(`board-container storage kind '${t.kind??""}' does not support archive`);let c=a(r,e),i=d(c,e),u=await n(r,{workspaceDir:i});return u?{board:c,...u}:null}return {kind:t.kind??"board-container",storage:t,list:f,get:l,has:p,provision:y,add:w,saveMeta:T,saveRecord:v,getLayout:L,saveLayout:R,removeLayout:k,deprecate:m}}exports.a=C;//# sourceMappingURL=chunk-73LKIKD3.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-73LKIKD3.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a}from'./chunk-FOFGEABN.js';import {a as a$2,b}from'./chunk-RKKSVOP2.js';import {a as a$1}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a}from'./chunk-FOFGEABN.js';import {a as a$2,b}from'./chunk-RKKSVOP2.js';import {a as a$1}from'./chunk-PEJRTZU3.js';function l(e,r){return r?{...e,...r.pollIntervalMs!=null?{pollIntervalMs:r.pollIntervalMs}:{},...r.visibilityMs!=null?{visibilityMs:r.visibilityMs}:{},...r.concurrency!=null?{concurrency:r.concurrency}:{},...r.maxAttempts!=null?{maxAttempts:r.maxAttempts}:{}}:e}function f(e,r,u,s){return {id:e,async lease(o){return (await Promise.resolve(r.leaseRequests(o))).map(t=>({id:t.messageId,attempt:t.attempt,message:t.request,ack:()=>Promise.resolve(r.ackRequest(t.messageId,t.leaseToken)),nack:a=>Promise.resolve(r.nackRequest(t.messageId,t.leaseToken,a))}))},async handle(o){await u(o.args,o);},onError:s?(o,i)=>s(o,i.attempt,i.message):void 0}}function R(e,r,u,s){return {id:e,async lease(o){return (await Promise.resolve(r.lease(o))).map(t=>({id:t.id,attempt:t.attempt,message:t.body,ack:()=>Promise.resolve(r.ack(t.id,t.leaseToken)),nack:a=>Promise.resolve(r.nack(t.id,t.leaseToken,a))}))},async handle(){await u();},onError:s?(o,i)=>s(o,i.attempt):void 0}}function Q(e){let r=e.logger??{info(){},warn(){},error(){}},u=e.boardAdapter,s=e.runtime.queueLaneTuning??{},o=u.queueStorageForRef(e.queueStoreRef,"process-accumulated"),i=a(u)?a$1(u.queueStorageForRef(e.queueStoreRef,"chat-agent")):a$2(u.queueStorageForRef(e.queueStoreRef,"chat-agent")),t=[];if(t.push(l(R("process-accumulated",o,async()=>{let a=await e.runtime.__drainProcessAccumulatedLane();if(a.status!=="success")throw new Error(a.error||`__drainProcessAccumulatedLane returned ${a.status}`)},(a,n)=>{r.error(`[board-server] queued process-accumulated failed for ${e.boardId} (attempt ${n}): ${String(a&&a.message||a)}`);}),s.processAccumulated)),t.push(l(f("chat-agent",i,async(a,n)=>{await e.runtime.handleChatAgentRequest(n);},(a,n,c)=>{let p=typeof c.args?.cardId=="string"?c.args.cardId:"";r.error(`[board-server] queued chat-agent failed for ${e.boardId}${p?`/${p}`:""} (attempt ${n}): ${String(a&&a.message||a)}`);}),s.chatAgent)),e.executeTaskExecutorRequest){let a$3=a(u)?a$1(u.queueStorageForRef(e.queueStoreRef,"task-executor")):a$2(u.queueStorageForRef(e.queueStoreRef,"task-executor"));t.push(l(f("task-executor",a$3,e.executeTaskExecutorRequest,(n,c)=>{r.error(`[board-server] queued board-worker failed for ${e.boardId} (attempt ${c}): ${String(n&&n.message||n)}`);}),s.taskExecutor));}return b(t)}export{Q as a};//# sourceMappingURL=chunk-AN7MLI7X.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-AN7MLI7X.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var chunk7JVHYHT2_cjs=require('./chunk-7JVHYHT2.cjs'),chunkVQCIOKJV_cjs=require('./chunk-VQCIOKJV.cjs');function c(e){return {messageId:e.id,enqueuedAt:e.enqueuedAt,attempt:e.attempt,request:e.body}}function l(e){return typeof e=="string"?e.startsWith("b64:")?chunkVQCIOKJV_cjs.b(e).value:e:e.value}function m(e){return {async enqueueRequest(t){return (await e.enqueue(t)).id},async leaseRequests(t){return (await e.lease(t)).map(r=>({...c(r),leaseToken:r.leaseToken,leaseExpiresAt:r.leaseExpiresAt}))},ackRequest(t,r){return e.ack(t,r)},nackRequest(t,r,a){return e.nack(t,r,a)},async peekActive(){return (await e.peekActive()).map(c)},async peekDeadLetter(){return (await e.peekDeadLetter()).map(t=>({...c(t),reason:t.reason}))}}}function h(e){async function t(r){let a=await e.read(r);return a==null?null:typeof a=="string"?a:JSON.stringify(a)}return {async readTaskExecutorRef(){let r=await t("task-executor");if(r?.trim())return chunk7JVHYHT2_cjs.c(r.trim())},writeTaskExecutorRef(r){return e.write("task-executor",chunk7JVHYHT2_cjs.b(r))},readChatHandlerFlow(){return e.read("chat-handler-flow")},writeChatHandlerFlow(r){return e.write("chat-handler-flow",r)},readBoardRuntimeStoreRef(){return t("board-runtime-store-ref")},writeBoardRuntimeStoreRef(r){return e.write("board-runtime-store-ref",r)},readCardStoreRef(){return t("card-store-ref")},writeCardStoreRef(r){return e.write("card-store-ref",r)},readOutputsStoreRef(){return t("outputs-store-ref")},writeOutputsStoreRef(r){return e.write("outputs-store-ref",r)},readQueueStoreRef(){return t("queue-store-ref")},writeQueueStoreRef(r){return e.write("queue-store-ref",r)},readScratchStoreRef(){return t("scratch-store-ref")},writeScratchStoreRef(r){return e.write("scratch-store-ref",r)},readChatStoreRef(){return t("chat-store-ref")},writeChatStoreRef(r){return e.write("chat-store-ref",r)},readArtifactsStoreRef(){return t("artifacts-store-ref")},writeArtifactsStoreRef(r){return e.write("artifacts-store-ref",r)},readFetchedSourcesStoreRef(){return t("fetched-sources-store-ref")},writeFetchedSourcesStoreRef(r){return e.write("fetched-sources-store-ref",r)}}}function y(e){let t=e.callbackTransport,r=e.resolveBlob??(async o=>{let s=await e.blobStorage("").read(o.value);if(s==null)throw new Error(`Blob not found for ref ${o.kind}:${o.value}`);return s});async function a(o,s){if(o.howToRun==="queue-storage")return e.queueStoreRef?(await m(e.queueStorageForRef(e.queueStoreRef,"task-executor")).enqueueRequest({boardId:typeof o.extra?.boardId=="string"?o.extra.boardId:e.boardId,ref:o,args:s}),{dispatched:true}):{dispatched:false,error:"queue-storage dispatch requires queueStoreRef"};if(o.howToRun==="http:post"){let n=e.fetch??globalThis.fetch;if(!n)return {dispatched:false,error:"http:post dispatch requires fetch support"};let i=await n(l(o.whatToRun),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...s,...o.extra?{extra:o.extra}:{}})});if(!i.ok){let g=await i.text().catch(()=>"");return {dispatched:false,error:`HTTP ${i.status}: ${g}`}}return {dispatched:true}}return {dispatched:false,error:`Unsupported hosted async transport "${o.howToRun}"`}}return {kvStorage:e.kvStorage,kvStorageForRef:e.kvStorageForRef,blobStorage:e.blobStorage,blobStorageForRef:e.blobStorageForRef,chatStorageForRef:e.chatStorageForRef,queueStorageForRef:e.queueStorageForRef,scratchStorage:e.scratchStorage,scratchStorageForRef:e.scratchStorageForRef,archiveFactory:e.archiveFactory,archiveFactoryForRef:e.archiveFactoryForRef,journalStorage:e.journalStorage,journalStorageForRef:e.journalStorageForRef,lock:e.lock,get callbackTransport(){return t},set callbackTransport(o){t=o;},dispatchExecution:(o,s)=>e.dispatchExecution?.(o,s)??a(o,s),supportsDirectSourceOutput:e.supportsDirectSourceOutput,resolveBlob:r,hashFn:e.hashFn,genId:e.genId,requestProcessAccumulated:e.requestProcessAccumulated,publishBoardChangeNotifications:e.publishBoardChangeNotifications,warn:e.onWarn}}exports.a=m;exports.b=h;exports.c=y;//# sourceMappingURL=chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunk7JVHYHT2_cjs=require('./chunk-7JVHYHT2.cjs'),chunkVQCIOKJV_cjs=require('./chunk-VQCIOKJV.cjs');function c(e){return {messageId:e.id,enqueuedAt:e.enqueuedAt,attempt:e.attempt,request:e.body}}function l(e){return typeof e=="string"?e.startsWith("b64:")?chunkVQCIOKJV_cjs.b(e).value:e:e.value}function m(e){return {async enqueueRequest(t){return (await e.enqueue(t)).id},async leaseRequests(t){return (await e.lease(t)).map(r=>({...c(r),leaseToken:r.leaseToken,leaseExpiresAt:r.leaseExpiresAt}))},ackRequest(t,r){return e.ack(t,r)},nackRequest(t,r,a){return e.nack(t,r,a)},async peekActive(){return (await e.peekActive()).map(c)},async peekDeadLetter(){return (await e.peekDeadLetter()).map(t=>({...c(t),reason:t.reason}))}}}function h(e){async function t(r){let a=await e.read(r);return a==null?null:typeof a=="string"?a:JSON.stringify(a)}return {async readTaskExecutorRef(){let r=await t("task-executor");if(r?.trim())return chunk7JVHYHT2_cjs.c(r.trim())},writeTaskExecutorRef(r){return e.write("task-executor",chunk7JVHYHT2_cjs.b(r))},readChatHandlerFlow(){return e.read("chat-handler-flow")},writeChatHandlerFlow(r){return e.write("chat-handler-flow",r)},readBoardRuntimeStoreRef(){return t("board-runtime-store-ref")},writeBoardRuntimeStoreRef(r){return e.write("board-runtime-store-ref",r)},readCardStoreRef(){return t("card-store-ref")},writeCardStoreRef(r){return e.write("card-store-ref",r)},readOutputsStoreRef(){return t("outputs-store-ref")},writeOutputsStoreRef(r){return e.write("outputs-store-ref",r)},readQueueStoreRef(){return t("queue-store-ref")},writeQueueStoreRef(r){return e.write("queue-store-ref",r)},readScratchStoreRef(){return t("scratch-store-ref")},writeScratchStoreRef(r){return e.write("scratch-store-ref",r)},readChatStoreRef(){return t("chat-store-ref")},writeChatStoreRef(r){return e.write("chat-store-ref",r)},readArtifactsStoreRef(){return t("artifacts-store-ref")},writeArtifactsStoreRef(r){return e.write("artifacts-store-ref",r)},readFetchedSourcesStoreRef(){return t("fetched-sources-store-ref")},writeFetchedSourcesStoreRef(r){return e.write("fetched-sources-store-ref",r)}}}function y(e){let t=e.callbackTransport,r=e.resolveBlob??(async o=>{let s=await e.blobStorage("").read(o.value);if(s==null)throw new Error(`Blob not found for ref ${o.kind}:${o.value}`);return s});async function a(o,s){if(o.howToRun==="queue-storage")return e.queueStoreRef?(await m(e.queueStorageForRef(e.queueStoreRef,"task-executor")).enqueueRequest({boardId:typeof o.extra?.boardId=="string"?o.extra.boardId:e.boardId,ref:o,args:s}),{dispatched:true}):{dispatched:false,error:"queue-storage dispatch requires queueStoreRef"};if(o.howToRun==="http:post"){let n=e.fetch??globalThis.fetch;if(!n)return {dispatched:false,error:"http:post dispatch requires fetch support"};let i=await n(l(o.whatToRun),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...s,...o.extra?{extra:o.extra}:{}})});if(!i.ok){let g=await i.text().catch(()=>"");return {dispatched:false,error:`HTTP ${i.status}: ${g}`}}return {dispatched:true}}return {dispatched:false,error:`Unsupported hosted async transport "${o.howToRun}"`}}return {kvStorage:e.kvStorage,kvStorageForRef:e.kvStorageForRef,blobStorage:e.blobStorage,blobStorageForRef:e.blobStorageForRef,chatStorageForRef:e.chatStorageForRef,queueStorageForRef:e.queueStorageForRef,scratchStorage:e.scratchStorage,scratchStorageForRef:e.scratchStorageForRef,archiveFactory:e.archiveFactory,archiveFactoryForRef:e.archiveFactoryForRef,journalStorage:e.journalStorage,journalStorageForRef:e.journalStorageForRef,lock:e.lock,get callbackTransport(){return t},set callbackTransport(o){t=o;},dispatchExecution:(o,s)=>e.dispatchExecution?.(o,s)??a(o,s),supportsDirectSourceOutput:e.supportsDirectSourceOutput,resolveBlob:r,hashFn:e.hashFn,genId:e.genId,requestProcessAccumulated:e.requestProcessAccumulated,publishBoardChangeNotifications:e.publishBoardChangeNotifications,warn:e.onWarn}}exports.a=m;exports.b=h;exports.c=y;//# sourceMappingURL=chunk-CSHNTZW4.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-CSHNTZW4.cjs.map
|