yaml-flow 8.6.1 → 8.6.3
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/asset-integrity.json +3 -3
- package/examples/board/demo-shell-with-server.html +2 -2
- package/examples/board/doc.html +2 -2
- package/examples/board/server/board-server.js +544 -45
- package/examples/board/server-config.json +2 -1
- package/examples/board/test/server-http-test.js +12 -4
- package/examples/board-local/demo-shell-localstorage.html +3 -3
- package/lib/{artifacts-store-lib-CLOtsiav.d.cts → artifacts-store-lib-BR-Samty.d.cts} +1 -1
- package/lib/{artifacts-store-lib-C1rtrkxm.d.ts → artifacts-store-lib-DT7XlWUL.d.ts} +1 -1
- package/lib/artifacts-store-public.d.cts +3 -3
- package/lib/artifacts-store-public.d.ts +3 -3
- package/lib/board-live-cards-mcp.cjs +1 -1
- package/lib/board-live-cards-mcp.d.cts +56 -23
- package/lib/board-live-cards-mcp.d.ts +56 -23
- package/lib/board-live-cards-mcp.js +1 -1
- package/lib/board-live-cards-node.cjs +8 -8
- package/lib/board-live-cards-node.d.cts +39 -21
- package/lib/board-live-cards-node.d.ts +39 -21
- package/lib/board-live-cards-node.js +8 -8
- package/lib/{board-live-cards-public-CBVjm327.d.ts → board-live-cards-public-BMUIPOrc.d.ts} +67 -42
- package/lib/board-live-cards-public-async-DKZqbJVU.d.ts +256 -0
- package/lib/board-live-cards-public-async-dMWNbWq6.d.cts +256 -0
- package/lib/{board-live-cards-public-CPJy-aGW.d.cts → board-live-cards-public-wkNmBIRC.d.cts} +67 -42
- package/lib/board-live-cards-public.cjs +1 -1
- package/lib/board-live-cards-public.d.cts +2 -2
- package/lib/board-live-cards-public.d.ts +2 -2
- 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 +7 -6
- package/lib/board-live-cards-server-runtime.d.ts +7 -6
- package/lib/board-live-cards-server-runtime.js +1 -1
- package/lib/board-worker-adapter.cjs +4 -3
- package/lib/board-worker-adapter.d.cts +24 -14
- package/lib/board-worker-adapter.d.ts +24 -14
- package/lib/board-worker-adapter.js +4 -3
- package/lib/card-store-public.d.cts +2 -2
- package/lib/card-store-public.d.ts +2 -2
- package/lib/{chat-storage-lib-CKylihjm.d.cts → chat-storage-lib-BIUbE-fM.d.cts} +1 -1
- package/lib/{chat-storage-lib-Bce-xx6l.d.ts → chat-storage-lib-BlG-sobS.d.ts} +1 -1
- package/lib/chat-store-public.d.cts +3 -3
- package/lib/chat-store-public.d.ts +3 -3
- package/lib/{chunk-CWREBRXS.js → chunk-BQS3EIEK.js} +3 -3
- package/lib/{chunk-LDAP75GN.js → chunk-CIAJNUR4.js} +2 -2
- package/lib/chunk-GJJMEAVN.cjs +2 -0
- package/lib/chunk-GLIX37VG.cjs +8 -0
- package/lib/chunk-H5HBXPOI.cjs +3 -0
- package/lib/chunk-HEEDJEKM.js +2 -0
- package/lib/chunk-LRVAVWAG.js +8 -0
- package/lib/chunk-MLVTJASJ.js +2 -0
- package/lib/chunk-N6P2JW4W.js +3 -0
- package/lib/chunk-OEFTOO47.cjs +3 -0
- package/lib/chunk-PBCDDO4V.cjs +2 -0
- package/lib/{chunk-I4WH5U5D.cjs → chunk-PMUSJQSR.cjs} +2 -2
- package/lib/chunk-SCWHDI3I.js +2 -0
- package/lib/{chunk-UVE65IPR.cjs → chunk-SFVO2LB2.cjs} +3 -3
- package/lib/{chunk-5DB54ZX2.cjs → chunk-U2N6MCD5.cjs} +2 -2
- package/lib/chunk-VMW4Z6EF.js +3 -0
- package/lib/chunk-WOALA3V5.cjs +2 -0
- package/lib/{chunk-LBMEVV4U.js → chunk-XQRNDX4Q.js} +2 -2
- package/lib/cloud-storage.cjs +2 -0
- package/lib/cloud-storage.d.cts +177 -0
- package/lib/cloud-storage.d.ts +177 -0
- package/lib/cloud-storage.js +2 -0
- package/lib/execution-refs.cjs +1 -1
- package/lib/execution-refs.js +1 -1
- package/lib/index.cjs +2 -2
- package/lib/index.d.cts +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/{types-DRl0Hy_p.d.cts → queue-lane-registry-BPKWWgd4.d.cts} +66 -14
- package/lib/{types-BuK2UMxk.d.ts → queue-lane-registry-Be6c0ftj.d.ts} +66 -14
- package/lib/server-runtime/index.cjs +1 -1
- package/lib/server-runtime/index.d.cts +18 -7
- package/lib/server-runtime/index.d.ts +18 -7
- package/lib/server-runtime/index.js +1 -1
- package/lib/step-machine-public/index.cjs +1 -1
- package/lib/step-machine-public/index.d.cts +1 -1
- package/lib/step-machine-public/index.d.ts +1 -1
- package/lib/step-machine-public/index.js +1 -1
- package/lib/{storage-interface-Ct-C4tlz.d.cts → storage-interface-BFiD3kyB.d.cts} +11 -1
- package/lib/{storage-interface-Ct-C4tlz.d.ts → storage-interface-BFiD3kyB.d.ts} +11 -1
- package/lib/stores/index.cjs +1 -1
- package/lib/stores/index.d.cts +1 -1
- package/lib/stores/index.d.ts +1 -1
- package/lib/stores/index.js +1 -1
- package/lib/stores/kv.d.cts +1 -1
- package/lib/stores/kv.d.ts +1 -1
- package/package.json +6 -1
- package/lib/chunk-6APH25VI.js +0 -2
- package/lib/chunk-KNFFDVLD.cjs +0 -2
- package/lib/chunk-LVNQCE5X.cjs +0 -3
- package/lib/chunk-M7EQRS6W.js +0 -3
- package/lib/chunk-NJJ7WEDT.cjs +0 -2
- package/lib/chunk-P64UKI3L.cjs +0 -8
- package/lib/chunk-Q6VSL327.js +0 -8
- package/lib/chunk-VCCTAUIG.js +0 -2
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use strict';var chunkU2N6MCD5_cjs=require('./chunk-U2N6MCD5.cjs'),chunkSFVO2LB2_cjs=require('./chunk-SFVO2LB2.cjs'),chunkG4XXRHL2_cjs=require('./chunk-G4XXRHL2.cjs'),chunkIXZG74EW_cjs=require('./chunk-IXZG74EW.cjs'),chunkYMEIPKLW_cjs=require('./chunk-YMEIPKLW.cjs');function et(e){return typeof e=="string"&&e.trim().length>0}function tt(e,t){if(!e||typeof e!="object")throw new Error(`${t}: adapter.selfRef is required`);if(!et(e.howToRun))throw new Error(`${t}: adapter.selfRef.howToRun is required`);if(!et(e.whatToRun))throw new Error(`${t}: adapter.selfRef.whatToRun is required`)}function rt(e,t){if(!e||typeof e!="object")throw new Error(`${t}: adapter.callbackTransport is required`);if(typeof e.createCallback!="function")throw new Error(`${t}: adapter.callbackTransport.createCallback is required`)}function jt(e,t="callbackTransport"){return {createCallback(n){let o=e();return tt(o,t),{token:n,via:o}}}}function Ve(e){return jt(()=>e,"createStaticExecutionRefCallbackTransport")}function Qt(e){return Ve({meta:"board-live-cards",howToRun:"http:post",whatToRun:chunkSFVO2LB2_cjs.a({kind:"http-url",value:String(e||"").trim()})})}function Zt(e){return Ve({meta:"board-live-cards",howToRun:"in-process-loop",whatToRun:chunkSFVO2LB2_cjs.a({kind:"in-process-loop",value:String(e||"").trim()})})}function er(e){return Ve({meta:"board-live-cards",howToRun:"local-node",whatToRun:chunkSFVO2LB2_cjs.a({kind:"yaml-flow-cli",value:"board-live-cards-cli.js"}),...e?{extra:{notifyChannel:e}}:{}})}function we(e){return typeof e=="object"&&e!==null&&"then"in e&&typeof e.then=="function"}function qe(e,t){return we(e)?e.then(t):t(e)}function ot(e,t){let n={...e};for(let o of t.deleteKeys)delete n[o];return {...n,...t.shallowMerge}}function rr(e,t){return {readValues(o){let i=e(o);return qe(i.listKeys(),u=>{let c=[...u].sort();if(c.length===0)return {version:null,values:{}};let f={},S=null;for(let y of c){let P=i.read(y);we(P)?S=(S??Promise.resolve()).then(async()=>{f[y]=await P;}):f[y]=P;}return S?S.then(()=>({version:t(f),values:f})):{version:t(f),values:f}})},writeValues(o,i,u){let c=e(o),f=null;for(let S of u){let y=c.delete(S);we(y)&&(f=(f??Promise.resolve()).then(()=>y).then(()=>{}));}for(let[S,y]of Object.entries(i)){let P=c.write(S,y);we(P)&&(f=(f??Promise.resolve()).then(()=>P).then(()=>{}));}return f?f.then(()=>t(i)):t(i)}}}function st(e,t){return {readSnapshot(n){return e.readValues(n)},commitSnapshot(n,o){if(o.schemaVersion!==t)throw new Error(`Unsupported snapshot schema version: ${o.schemaVersion}`);return qe(e.readValues(n),i=>{if(i.version!==o.expectedVersion)return {ok:false,reason:"version-mismatch",currentVersion:i.version};let u=ot(i.values,o);return qe(e.writeValues(n,u,o.deleteKeys),c=>({ok:true,newVersion:c}))})}}}function nt(e,t){if(!t)return e;let n=e.findIndex(o=>o.id===t);return n===-1?e:e.slice(n+1)}function at(e){return {readEntriesAfterCursor(t){let n=nt(e.readAllEntries(),t);return n.length===0?{events:[],newCursor:t}:{events:n.map(o=>o.event),newCursor:n[n.length-1].id}},pendingCount(t){return nt(e.readAllEntries(),t).length},appendEvent(t){e.appendEntry({id:e.generateId(),event:t});}}}function nr(e){return {appendEvent(t){return e.append(t).then(()=>{})},async readEntriesAfterCursor(t){let n=await e.readAfter(t||null);return {events:n.entries.map(o=>o.payload),newCursor:n.newCursor??t}}}}function xe(e){return typeof e=="object"&&e!==null&&"then"in e&&typeof e.then=="function"}function G(e,t){return xe(e)?e.then(t):t(e)}function Be(e,t){let n=null;for(let o of e){if(n){n=n.then(()=>t(o)).then(()=>{});continue}let i=t(o);xe(i)&&(n=Promise.resolve(i).then(()=>{}));}return n??void 0}function Kt(e){if(e==null)return null;let t=e.trim();if(!t)return null;try{return JSON.parse(t)}catch{return t}}function Dt(e,t){let n=e.match(t);return n?n[1]:null}function it(e,t,n){let o={},i=Be(e,u=>{let c=n(u);if(c)return G(t(u),f=>{o[c]=f;})});return xe(i)?i.then(()=>o):o}function ut(e,t){let n=o=>G(e.read(o),i=>i??(e.keyRef?G(e.keyRef(o),u=>u?G(t(u),c=>c??null):null):null));return {readSourceData(o,i){return G(e.read(`${o}/${i}`),Kt)},ingestSourceDataStaged(o,i,u,c){return G(t(u),f=>e.write(`${o}/.staged/${c}/${i}`,f))},commitSourceData(o,i,u){let c=`${o}/.staged/${u}/${i}`;return G(n(c),f=>f==null?false:G(e.write(`${o}/${i}`,f),()=>G(e.remove(c),()=>true)))},hasSource(o,i){return e.exists(`${o}/${i}`)},listSources(o){return G(e.listKeys(`${o}/`),i=>i.filter(u=>!u.includes("/.staged/")).map(u=>u.slice(`${o}/`.length)))}}}function dt(e,t){let n=(o,i)=>{try{let u=i(o);return xe(u)?u.catch(c=>t(o,c instanceof Error?c.message:String(c))):void 0}catch(u){try{return t(o,u instanceof Error?u.message:String(u))}catch{return}}};return {appendEntries(o,i){if(!(!o||i.length===0))return G(e.read(o),u=>e.write(o,[...u??[],...i]))},dispatchEntriesForJournalId(o,i){if(o)return G(e.read(o),u=>{let c=u;if(!(!c||c.length===0))return G(Be(c,f=>n(f,i)),()=>e.delete(o))})}}}function ct(e,t,n){return {readRuntime(o){return G(e.read(t(o)),i=>i??n())},writeRuntime(o,i){return e.write(t(o),i)}}}function lt(e){return {writeComputedValues(t,n){return e.write(`cards/${t}/computed_values`,n)},readComputedValues(t){return e.read(`cards/${t}/computed_values`)},readAllComputedValues(){return G(e.listKeys("cards/"),t=>it(t,n=>e.read(n),n=>Dt(n,/^cards\/([^/]+)\/computed_values$/)))},writeDataObjects(t){return Be(Object.entries(t),([n,o])=>{if(n)return e.write(`data-objects/${n}`,o)})},readDataObject(t){return e.read(`data-objects/${t}`)},readAllDataObjects(){return G(e.listKeys("data-objects/"),t=>it(t,n=>e.read(n),n=>n.slice(13)))},writeStatusSnapshot(t){return e.write("status",t)},readStatusSnapshot(){return e.read("status")}}}function je(e,t){function n(){return e.readIndex()??{}}function o(i,u,c){let f=String(u||"").split(".").filter(Boolean);if(f.length===0)return c&&typeof c=="object"&&!Array.isArray(c)?c:{value:c};let S={...i},y=S;for(let P=0;P<f.length-1;P++){let L=f[P],j=y[L],Y=j&&typeof j=="object"&&!Array.isArray(j)?{...j}:{};y[L]=Y,y=Y;}return y[f[f.length-1]]=c,S}return {readCard(i){let u=n()[i];return !u||!e.cardExists(u.key)?null:e.readCard(u.key)},readCardKey(i){return n()[i]?.key??null},readAllCards(){let i=[];for(let[u,c]of Object.entries(n())){if(!e.cardExists(c.key))continue;let f=e.readCard(c.key);f?i.push(f):t?.(`[card-store] could not read card "${u}" at key "${c.key}"`);}return i},readChecksumIndex(){let i={};for(let[u,c]of Object.entries(n()))i[u]=c.checksum;return i},changedSince(i){let u=n(),c=[];for(let[f,S]of Object.entries(u))i[f]!==S.checksum&&c.push(f);for(let f of Object.keys(i))u[f]||c.push(f);return c},validateUpsert(i,u){let c=n(),f=c[i],S=Object.entries(c).find(([,y])=>y.key===u);return f&&f.key!==u?{ok:false,error:`Card id "${i}" is already mapped to key "${f.key}", cannot remap to "${u}"`}:S&&S[0]!==i?{ok:false,error:`Key "${u}" is already mapped to card id "${S[0]}", cannot remap to "${i}"`}:{ok:true}},writeCard(i,u,c){let f=n(),S=c??f[i]?.key??e.defaultCardKey(i),y=e.writeCard(S,u);f[i]={key:S,checksum:y,updatedAt:new Date().toISOString()},e.writeIndex(f);},patchCard(i,u,c){let f=n(),S=f[i];if(!S||!e.cardExists(S.key))throw new Error(`card "${i}" not found`);let y=e.readCard(S.key);if(!y||typeof y!="object"||Array.isArray(y))throw new Error(`card "${i}" is not patchable`);let P=o(y,u,c),L=e.writeCard(S.key,P);f[i]={key:S.key,checksum:L,updatedAt:new Date().toISOString()},e.writeIndex(f);},removeCard(i){let u=n(),c=u[i];c&&(e.removeCard(c.key),delete u[i],e.writeIndex(u));},readIndex(){return n()}}}function Te(e,t){return ut(e,t)}function gt(e){return at(e)}function kt(e,t){return dt(e,t)}var Ee="v1",le="board/graph",St="board/lastJournalProcessedId";function Lt(e){return `cards/${e}/runtime`}function ht(e){return ct(e,Lt,()=>({_sources:{}}))}function yt(e){return st(e,Ee)}function Ke(e){function t(n){let o=e.read(n);return o==null?null:typeof o=="string"?o:JSON.stringify(o)}return {readTaskExecutorRef(){let n=t("task-executor");if(n?.trim())return chunkU2N6MCD5_cjs.c(n.trim())},writeTaskExecutorRef(n){e.write("task-executor",chunkU2N6MCD5_cjs.b(n));},readChatHandlerFlow(){return e.read("chat-handler-flow")},writeChatHandlerFlow(n){e.write("chat-handler-flow",n);},readCardStoreRef(){return t("card-store-ref")},writeCardStoreRef(n){e.write("card-store-ref",n);},readOutputsStoreRef(){return t("outputs-store-ref")},writeOutputsStoreRef(n){e.write("outputs-store-ref",n);},readScratchStoreRef(){return t("scratch-store-ref")},writeScratchStoreRef(n){e.write("scratch-store-ref",n);},readArchiveStoreRef(){return t("archive-store-ref")},writeArchiveStoreRef(n){e.write("archive-store-ref",n);},readChatStoreRef(){return t("chat-store-ref")},writeChatStoreRef(n){e.write("chat-store-ref",n);},readArtifactsStoreRef(){return t("artifacts-store-ref")},writeArtifactsStoreRef(n){e.write("artifacts-store-ref",n);}}}function Ct(e){return lt(e)}function pt(e){return e?{lastRequestedToken:e.lastRequestedToken,lastCompletedToken:e.lastCompletedToken,lastCompletionStatus:e.lastCompletionStatus??(e.lastCompletedToken?"success":"not-started"),queueRequestedToken:e.queueRequestedToken}:{lastCompletionStatus:"not-started"}}function Nt(e){return e?.lastRequestedToken?e.lastCompletedToken!==e.lastRequestedToken:false}function ft(e,t){return e?.lastRequestedToken?Nt(e)?"in-flight":!e.lastCompletedToken||e.lastCompletedToken<t?"dispatch":"idle":"dispatch"}function $t(e,t){return {...e,lastCompletedToken:t,lastCompletionStatus:"success"}}function mt(e,t){return {...e,lastCompletedToken:t,lastCompletionStatus:"failure"}}function Ae(e,t){let n=t.state.tasks,o=t.config.tasks,i=Object.keys(n),u=chunkG4XXRHL2_cjs.r(t),c={completed:0,failed:0,in_progress:0,pending:0,blocked:0,unresolved:0},f=new Map;for(let v of u.pending)f.set(v.taskName,v.waitingOn);for(let v of u.unresolved)f.set(v.taskName,v.missingTokens);for(let v of u.blocked)f.set(v.taskName,v.failedTokens);let S=new Map;for(let[v,l]of Object.entries(o))for(let a of l.requires??[]){let d=S.get(a)??[];d.push(v),S.set(a,d);}let y=i.sort().map(v=>{let l=n[v],a=o[v]??{requires:[],provides:[]};l.status==="completed"?c.completed+=1:l.status==="failed"?c.failed+=1:l.status==="in-progress"&&(c.in_progress+=1);let d=a.requires??[],C=a.provides??[],A=Object.keys(l.data??{}).sort(),E=d.filter(M=>t.state.availableOutputs.includes(M)),_=d.filter(M=>!t.state.availableOutputs.includes(M)),F=f.get(v)??_,V=new Set;for(let M of C)for(let $ of S.get(M)??[])$!==v&&V.add($);let N=l.failedAt,D=l.error?{message:l.error,code:"TASK_FAILED",at:N,source:"task-runtime"}:void 0;return {name:v,status:l.status,error:D,requires:d,requires_satisfied:E,requires_missing:_,provides_declared:C,provides_runtime:A,blocked_by:F,unblocks:Array.from(V).sort(),runtime:{attempt_count:l.executionCount??0,restart_count:l.retryCount??0,in_progress_since:l.status==="in-progress"?l.startedAt??null:null,last_transition_at:l.lastUpdated??null,last_completed_at:l.completedAt??null,last_restarted_at:l.startedAt??null,status_age_ms:l.lastUpdated?0:null}}});c.pending=u.pending.length,c.blocked=u.blocked.length,c.unresolved=u.unresolved.length;let P=y.map(v=>({name:v.name,fanOut:v.unblocks.length})).sort((v,l)=>l.fanOut-v.fanOut||v.name.localeCompare(l.name)),L=P.length>0?P[0]:{name:null,fanOut:0},j=new Set;for(let v of Object.values(o))for(let l of v.requires??[])j.add(l);let Y=0;for(let[v,l]of Object.entries(o)){let a=(l.requires??[]).length===0,C=(l.provides??[]).some(A=>(S.get(A)??[]).some(E=>E!==v));a&&!C&&(Y+=1);}return {schema_version:"v1",meta:{board:{path:e}},summary:{card_count:i.length,completed:c.completed,eligible:u.eligible.length,pending:c.pending,blocked:c.blocked,unresolved:c.unresolved,failed:c.failed,in_progress:c.in_progress,orphan_cards:Y,topology:{edge_count:Array.from(j).length,max_fan_out_card:L.name,max_fan_out:L.fanOut}},cards:y}}function Jt(){return new Date().toISOString()}function Rt(e,t,n,o,i,u,c){return async f=>{let S=[],y=n.cardStore.readCard(f.nodeId);if(!y)return "task-initiate-failure";let P=y.id,L=y.card_data??{},j=y.source_defs??[],Y=j.filter(b=>b.optionalForCompletionGating!==true),v=n.cardRuntimeStore.readRuntime(P),l=false,a=()=>{l&&(n.cardRuntimeStore.writeRuntime(P,v),l=false);},d=b=>pt(v._sources[b]),C=(b,k)=>{v._sources[b]=pt(k),l=true;},A=f.taskState?.executionCount??0;if(v._lastExecutionCount!==A&&(v._sources={},v._lastExecutionCount=A,l=true),f.update){let b=f.update,k=b.outputFile;if(k){let w=d(k);if(b.failure){let B=b.rqt??w.lastRequestedToken??w.queueRequestedToken;B&&C(k,mt(w,B));}else {let B=b.rqt;if(!w.lastCompletedToken||B>w.lastCompletedToken){let H=typeof b.deliveryToken=="string"?b.deliveryToken:void 0,Z=false;H&&(Z=n.fetchedSourcesStore.commitSourceData(P,k,H)),Z?C(k,$t(w,B)):C(k,mt(w,B));}}a();}}let _={};for(let b of j)if(b.outputFile){let k=n.fetchedSourcesStore.readSourceData(P,b.outputFile);k!==null&&(_[b.bindTo]=k);}let F={};for(let[b,k]of Object.entries(f.state??{}))if(k!==null&&typeof k=="object"&&!Array.isArray(k)){let w=k[b];F[b]=w!==void 0?w:k;}else F[b]=k;let V={id:P,card_data:{...L},requires:F,source_defs:j,compute:y.compute};V._sourcesData=_,y.compute&&chunkIXZG74EW_cjs.a.runSync(V,{sourcesData:_}),(u??n.outputStore.writeComputedValues.bind(n.outputStore))(P,V.computed_values??{});let N={...y},D=chunkIXZG74EW_cjs.a.enrichSourcesSync(Array.isArray(y.source_defs)?y.source_defs:void 0,{card_data:y.card_data,requires:F}),M=e.value;N.source_defs=Array.isArray(D)?D.map(b=>({...b,boardDir:typeof b.boardDir=="string"&&b.boardDir?b.boardDir:M})):D;let $=Jt(),oe=f.update?void 0:$,se=Y.filter(b=>{let k=b.outputFile;if(typeof k!="string"||!k)return true;let w=d(k);oe&&(w={...w,queueRequestedToken:oe},C(k,w));let B=w.queueRequestedToken??w.lastRequestedToken??$,H=ft(w,B);return H==="in-flight"?false:H==="dispatch"});if(a(),se.length>0){let b=false,k=$;for(let w of se){let B=w.outputFile;if(typeof B!="string"||!B)continue;let H=d(B),Z=H.queueRequestedToken??$;C(B,{...H,lastRequestedToken:Z}),k=Z,b=true;}return b&&a(),b&&(S.push({taskKind:"source-fetch",payload:{boardRef:chunkSFVO2LB2_cjs.a(e),enrichedCard:N,callbackToken:f.callbackToken,rqt:k}}),n.executionRequestStore.appendEntries(t,S)),"task-initiated"}if(Y.some(b=>{let k=b.outputFile;if(typeof k!="string"||!k)return false;let w=d(k),B=w.queueRequestedToken??w.lastRequestedToken??$;return ft(w,B)==="in-flight"}))return "task-initiated";let ae=y.provides??[],ie={};for(let{bindTo:b,ref:k}of ae)ie[b]=chunkIXZG74EW_cjs.a.resolve(V,k);return (c??n.outputStore.writeDataObjects.bind(n.outputStore))(ie),j.filter(b=>{if(b.optionalForCompletionGating!==true)return false;let k=d(b.outputFile);return !k.lastRequestedToken||!k.lastCompletedToken?true:k.lastCompletedToken<=k.lastRequestedToken}).length>0&&S.push({taskKind:"source-fetch",payload:{boardRef:chunkSFVO2LB2_cjs.a(e),enrichedCard:N,callbackToken:f.callbackToken,rqt:$}}),o(f.nodeId,ie),S.length>0&&n.executionRequestStore.appendEntries(t,S),"task-initiated"}}var De={settings:{completion:"manual",refreshStrategy:"data-changed"},tasks:{}};function bt(e){return {[le]:e.graph,[St]:e.lastDrainedJournalId}}function vt(e){let t=e[le],n=e[St];if(!t||typeof t!="object")throw new Error(`State snapshot is missing required key: ${le}`);return {graph:t,lastDrainedJournalId:typeof n=="string"?n:""}}function wt(e){let t=e.requires,n=e.provides?.map(o=>o.bindTo)??[];return {requires:t&&t.length>0?t:void 0,provides:n,taskHandlers:["card-handler"],description:e.meta?.title??e.id}}function T(e){return e!==void 0?{status:"success",data:e}:{status:"success"}}function R(e){return {status:"fail",error:e}}function I(e){return {status:"error",error:e instanceof Error?e.message:String(e)}}function Mt(e){let t=new TextEncoder().encode(e),n=Array.from(t,o=>String.fromCharCode(o)).join("");return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Tt(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),n=t+"=".repeat((4-t.length%4)%4),o=atob(n),i=Uint8Array.from(o,u=>u.charCodeAt(0));return new TextDecoder().decode(i)}function Ie(e){try{let t=JSON.parse(Tt(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function Ht(e){return Mt(JSON.stringify(e))}function xt(e){try{let t=JSON.parse(Tt(e));return typeof t?.cbk=="string"&&typeof t?.cid=="string"&&typeof t?.b=="string"&&typeof t?.d=="string"?t:null}catch{return null}}function U(){return new Date().toISOString()}function Cr(e,t){rt(t.callbackTransport,"createBoardLiveCardsPublic");let n=t.callbackTransport,o=t.onWarn??(()=>{}),i=chunkSFVO2LB2_cjs.a(e);function u(s){if(s.length!==0)try{let r=t.publishBoardChangeNotifications?.(s);r&&typeof r.catch=="function"&&r.catch(p=>o(`[board-live-cards-public] publishBoardChangeNotifications failed: ${p instanceof Error?p.message:String(p)}`));}catch(r){o(`[board-live-cards-public] publishBoardChangeNotifications failed: ${r instanceof Error?r.message:String(r)}`);}}function c(){let s=S().readCardStoreRef();if(!s)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let r=t.kvStorageForRef(s);return {readIndex(){return r.read("_index")},writeIndex(p){r.write("_index",p);},readCard(p){return r.read(p)},writeCard(p,g){return r.write(p,g),t.hashFn(g)},removeCard(p){r.delete(p);},cardExists(p){return r.read(p)!==null},defaultCardKey(p){return p}}}let f={readValues(s){let r=t.kvStorage("state-snapshot"),p=r.listKeys().sort();if(p.length===0)return {version:null,values:{}};let g={};for(let x of p)g[x]=r.read(x);return {version:t.hashFn(g),values:g}},writeValues(s,r,p){let g=t.kvStorage("state-snapshot");for(let x of p)g.delete(x);for(let[x,O]of Object.entries(r))g.write(x,O);return t.hashFn(r)}},S=()=>Ke(t.kvStorage("config")),y=()=>yt(f),P=()=>gt(t.journalAdapter()),L=()=>je(c(),o),j=()=>{let s=S().readOutputsStoreRef();if(!s)throw new Error(`Board at ${e.value} has no outputs store configured. Run: init --outputs-store-ref <b64-ref>`);return Ct(t.kvStorageForRef(s))},Y=()=>{let s=S().readArchiveStoreRef();return s?t.archiveFactoryForRef(s):t.archiveFactory()};function v(){return !!y().readSnapshot(e.value).values[le]}function l(){let s=y().readSnapshot(e.value);if(!s.values[le])throw new Error(`Board not initialized at ${e.value}`);return vt(s.values)}function a(s,r){let p=y().commitSnapshot(e.value,{schemaVersion:Ee,expectedVersion:r,commitId:t.genId(),committedAt:U(),deleteKeys:[],shallowMerge:bt(s)});if(!p.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${r??"null"} current=${p.currentVersion??"null"}`)}function d(s){P().appendEvent(s);}async function C(){let s=(m,h)=>{let q=m.payload,z=(q?.enrichedCard??{}).id??q?.cardId??"unknown";d({type:"task-failed",taskName:z,error:h,timestamp:U()});},r=kt(t.kvStorage("execution-requests"),s),p=ht(t.kvStorage("card-runtime")),g=Te(t.blobStorage("sources"),m=>t.resolveBlob(m)),x=new Map,O={readRuntime(m){return x.get(m)??p.readRuntime(m)},writeRuntime(m,h){x.set(m,h);}},X=[],K=new Map,Q={readSourceData(m,h){let q=`${m}/${h}`;return K.has(q)?K.get(q):g.readSourceData(m,h)},ingestSourceDataStaged(m,h,q,re){g.ingestSourceDataStaged(m,h,q,re);},commitSourceData(m,h,q){let re=`${m}/.staged/${q}/${h}`,z=t.blobStorage("sources"),ee=z.read(re);if(ee==null){let be=z.keyRef?.(re);be&&(ee=t.resolveBlob(be));}if(ee==null)return false;let Re=`${m}/${h}`,ne=ee.trim();try{K.set(Re,JSON.parse(ne));}catch{K.set(Re,ne);}return X.push({cardId:m,outputFile:h,deliveryToken:q}),true},hasSource(m,h){let q=`${m}/${h}`;return K.has(q)?true:g.hasSource(m,h)},listSources(m){let h=g.listSources(m),q=new Set;for(let z of K.keys())z.startsWith(`${m}/`)&&q.add(z.slice(`${m}/`.length));let re=new Set([...h,...q]);return Array.from(re)}},W={cardStore:L(),cardRuntimeStore:O,fetchedSourcesStore:Q,outputStore:j(),executionRequestStore:r},ue=l(),fe=chunkG4XXRHL2_cjs.q(ue.graph),{events:me,newCursor:ge}=P().readEntriesAfterCursor(ue.lastDrainedJournalId),de=[],he=[],_e=[],Fe=new Map,$e=new Set,Vt=(m,h)=>{de.push({type:"task-completed",taskName:m,data:h,timestamp:U()});try{Y().stream("exec-history").append({taskName:m,status:"completed",completedAt:U()});}catch{}},Je=(m,h)=>{d({type:"task-failed",taskName:m,error:h,timestamp:U()});try{Y().stream("exec-history").append({taskName:m,status:"failed",error:h,completedAt:U()});}catch{}},ye=chunkG4XXRHL2_cjs.u(fe,{handlers:{"card-handler":Rt(e,ge,W,Vt,Je,(m,h)=>{he.push({cardId:m,values:h});},m=>{_e.push(m);})},onNodeRemoved:m=>{Fe.delete(m),x.delete(m),$e.add(m);}});for(de=me;de.length>0;){let m=de;de=[];for(let h of m)if(h.type==="task-restart"){let q=W.cardStore.readCard(h.taskName);q&&Fe.set(h.taskName,q);}ye.pushAll(m),await ye.waitForHandlers();}let Me=ye.getState();await ye.dispose({wait:true});let qt=y().readSnapshot(e.value).version;a({lastDrainedJournalId:ge,graph:chunkG4XXRHL2_cjs.p(Me)},qt);for(let{cardId:m,values:h}of he)W.outputStore.writeComputedValues(m,h);for(let m of _e)W.outputStore.writeDataObjects(m);for(let[m,h]of x)p.writeRuntime(m,h);for(let{cardId:m,outputFile:h,deliveryToken:q}of X)g.commitSourceData(m,h,q);let Ce;try{Ce=Ae(i,Me),W.outputStore.writeStatusSnapshot(Ce);}catch(m){o(`[board-live-cards-public] status publish failed: ${m instanceof Error?m.message:String(m)}`);}let ke=[];for(let{cardId:m,values:h}of he)ke.push({kind:"computed_values",cardId:m,values:h});for(let m of _e)for(let[h,q]of Object.entries(m))h&&ke.push({kind:"data_object",key:h,payload:q});for(let[m,h]of Fe)ke.push({kind:"card_refreshed",cardId:m,card:h});for(let m of $e)ke.push({kind:"card_removed",cardId:m});Ce!==void 0&&ke.push({kind:"status",status:Ce}),u(ke);let He=S().readTaskExecutorRef()??{howToRun:"built-in",whatToRun:chunkSFVO2LB2_cjs.a({kind:"built-in",value:"source-cli-task-executor"})},Bt=t.supportsDirectSourceOutput?.(He)===true;r.dispatchEntriesForJournalId(ge,m=>{if(m.taskKind!=="source-fetch"){o(`[process-accumulated-events] unknown taskKind "${m.taskKind}" \u2014 skipping`);return}let h=m.payload,q=h.enrichedCard?.id??"unknown",re=h.enrichedCard?.source_defs??[];for(let z of re){if(!z.outputFile){o(`[dispatch] source "${z.bindTo}" has no outputFile \u2014 skipping`);continue}let ee;if(Bt){let ne=t.genId(),be=`${q}/.staged/${ne}/${z.outputFile}`,Ge=t.blobStorage("sources").keyRef?.(be);Ge?ee={ref:chunkSFVO2LB2_cjs.a(Ge),deliveryToken:ne,outputFile:z.outputFile,cardId:q}:o("[dispatch] hosted board-worker requested but sources BlobStorage cannot produce portable refs; falling back to scratch protocol");}let Re=Ht({cbk:h.callbackToken,rg:e.value,br:chunkSFVO2LB2_cjs.a(e),cid:q,b:z.bindTo,d:z.outputFile,cs:void 0,rqt:h.rqt,...ee?{dt:ee.deliveryToken}:{}});t.dispatchExecution(He,{source_def:z,base_ref:chunkSFVO2LB2_cjs.a(e),callback:n.createCallback(Re),...ee?{output:ee}:{}}).catch(ne=>Je(q,ne instanceof Error?ne.message:String(ne)));}});}function A(){let s=t.processAccumulatedStore();s.enqueueIfAbsent?s.enqueueIfAbsent({boardRef:chunkSFVO2LB2_cjs.a(e)},`process-accumulated:${chunkSFVO2LB2_cjs.a(e)}`):s.enqueue({boardRef:chunkSFVO2LB2_cjs.a(e)}),t.requestProcessAccumulated?.();}function E(){let s=t.processAccumulatedStore();for(;;){let r=s.lease({max:64,visibilityMs:1e3});if(r.length<=0)return;for(let p of r)s.ack(p.id,p.leaseToken);if(r.length<64)return}}async function _(){try{let s=()=>{let p=l(),{events:g}=P().readEntriesAfterCursor(p.lastDrainedJournalId);g.length<=0||A();},r=await chunkSFVO2LB2_cjs.c(t.lock,C,s);return T({ran:r!==!1})}catch(s){return I(s)}}function F(){A();}function V(s){try{let r=s.params?.cardStoreRef;if(!r)return R("init requires params.cardStoreRef \u2014 create a card store with card-store-cli and pass its ref here");if(!v()){let W=chunkG4XXRHL2_cjs.a(De);a({lastDrainedJournalId:"",graph:chunkG4XXRHL2_cjs.p(W)},null);}let p=s.params?.outputsStoreRef;if(!p)return R("init requires params.outputsStoreRef \u2014 pass the outputs store ref here");let g=s.params?.scratchStoreRef,x=s.params?.archiveStoreRef,O=s.params?.chatStoreRef,X=s.params?.artifactsStoreRef,K=S();K.writeCardStoreRef(r),K.writeOutputsStoreRef(p),g&&K.writeScratchStoreRef(g),x&&K.writeArchiveStoreRef(x),O&&K.writeChatStoreRef(O),X&&K.writeArtifactsStoreRef(X);let Q=s.body??{};Q["task-executor-ref"]&&K.writeTaskExecutorRef(Q["task-executor-ref"]),Object.prototype.hasOwnProperty.call(Q,"chat-handler-flow")&&K.writeChatHandlerFlow(Q["chat-handler-flow"]);try{j().writeStatusSnapshot(Ae(i,chunkG4XXRHL2_cjs.q(l().graph)));}catch{}return T()}catch(r){return I(r)}}function N(s){try{let r=j().readStatusSnapshot();if(!r){r=Ae(i,chunkG4XXRHL2_cjs.q(l().graph));try{j().writeStatusSnapshot(r);}catch{}}return T(r)}catch(r){return I(r)}}function D(s){try{let r=s.params?.id;if(!r)return R("removeCard requires params.id");try{t.kvStorage("card-upsert").delete(r);}catch{}return d({type:"task-removal",taskName:r,timestamp:U()}),F(),T()}catch(r){return I(r)}}function M(s){try{let r=s.params?.cardId;if(!r)return R("addCardFiles requires params.cardId");let p=chunkYMEIPKLW_cjs.a(L()).appendFiles({params:{id:r},body:s.body});if(p.status!=="success")return p;let g=$({params:{cardId:r}});return g.status!=="success"?g:T({cardId:r,files_added:p.data.files_added,notified:!0})}catch(r){return I(r)}}function $(s){try{let r=s.params?.cardId;if(!r)return R("cardRefreshedNotify requires params.cardId");let p=L().readCard(r);return p?(u([{kind:"card_refreshed",cardId:r,card:p}]),T({cardId:r,notified:!0})):R(`Card "${r}" not found in board at ${e.value}`)}catch(r){return I(r)}}function oe(s){try{let r=s.params?.id;return r?(d({type:"task-restart",taskName:r,timestamp:U()}),F(),T()):R("retrigger requires params.id")}catch(r){return I(r)}}async function se(s){return E(),_()}function Se(s){try{let r=s.params?.cardId,p=s.params?.all,g=!!s.params?.restart;if(!r&&!p)return R("upsertCard requires --card-id <id> or --all");let x=p?L().readAllCards().map(O=>O.id):[r];for(let O of x)if(!L().readCard(O))return R(`Card "${O}" not found in board at ${e.value}`);for(let O of x){let X=L().readCard(O),K=wt(X),Q=t.hashFn(K),W=t.kvStorage("card-upsert"),ue=W.read(O),fe=ue?.taskConfigHash!==Q;if(!(!fe&&!g)){if(fe){let me=ue?.blobRef??L().readCardKey(O)??O;d({type:"task-upsert",taskName:O,taskConfig:K,timestamp:U()}),W.write(O,{blobRef:me,taskConfigHash:Q,updatedAt:U()});}g&&d({type:"task-restart",taskName:O,timestamp:U()});}}return F(),T()}catch(r){return I(r)}}function ae(s){try{let r=s.params?.token;if(!r)return R("taskFailed requires params.token");let p=s.params?.error??"unknown error",g=Ie(r);if(!g)return R("Invalid callback token");d({type:"task-failed",taskName:g.taskName,error:p,timestamp:U()});try{Y().stream("exec-history").append({taskName:g.taskName,status:"failed",error:p,completedAt:U()});}catch{}return F(),T()}catch(r){return I(r)}}function ie(s){try{let r=s.params?.token;if(!r)return R("taskProgress requires params.token");let g=(s.body??{}).update??{},x=Ie(r);return x?(d({type:"task-progress",taskName:x.taskName,update:g,timestamp:U()}),F(),T()):R("Invalid callback token")}catch(r){return I(r)}}function pe(s){try{let r=s.params?.token,p=s.params?.ref;if(!r)return R("sourceDataFetched requires params.token");if(!p)return R("sourceDataFetched requires params.ref");let g=xt(r);if(!g)return R("Invalid source token");let{cbk:x,cid:O,b:X,d:K,cs:Q,rqt:W,dt:ue}=g,fe=Te(t.blobStorage("sources"),he=>t.resolveBlob(he)),me=ue||t.genId();ue||fe.ingestSourceDataStaged(O,K,chunkSFVO2LB2_cjs.b(p),me);let ge=Ie(x);if(!ge)return R("Invalid callback token embedded in source token");let de=U();return d({type:"task-progress",taskName:ge.taskName,update:{bindTo:X,outputFile:K,fetchedAt:de,deliveryToken:me,sourceChecksum:Q,rqt:W},timestamp:de}),F(),T()}catch(r){return I(r)}}function b(s){try{let r=s.params?.token,p=s.params?.reason??"unknown";if(!r)return R("sourceDataFetchFailure requires params.token");let g=xt(r);if(!g)return R("Invalid source token");let{cbk:x,b:O,d:X,cs:K,rqt:Q}=g,W=Ie(x);return W?(d({type:"task-progress",taskName:W.taskName,update:{bindTo:O,outputFile:X,failure:!0,reason:p,sourceChecksum:K,rqt:Q},timestamp:U()}),F(),T()):R("Invalid callback token embedded in source token")}catch(r){return I(r)}}function k(s){try{let r=S().readCardStoreRef();return r?T({storeRef:r}):R(`Board at ${e.value} has no card store configured`)}catch(r){return I(r)}}function w(s){try{let r=S().readOutputsStoreRef();return r?T({storeRef:r}):R(`Board at ${e.value} has no outputs store configured`)}catch(r){return I(r)}}function B(s){try{let r=S().readScratchStoreRef();return T({storeRef:r})}catch(r){return I(r)}}function H(s){try{let r=S().readArchiveStoreRef();return T({storeRef:r})}catch(r){return I(r)}}function Z(s){try{let r=S().readChatStoreRef();return T({storeRef:r})}catch(r){return I(r)}}function te(s){try{let r=S().readArtifactsStoreRef();return T({storeRef:r})}catch(r){return I(r)}}function Et(s){try{let r=s.params?.key;if(!r)return R("getConfig requires params.key");let p=S(),g;switch(r){case "task-executor":g=p.readTaskExecutorRef()??null;break;case "chat-handler-flow":g=p.readChatHandlerFlow()??null;break;case "card-store-ref":g=p.readCardStoreRef();break;case "outputs-store-ref":g=p.readOutputsStoreRef();break;case "scratch-store-ref":g=p.readScratchStoreRef();break;case "archive-store-ref":g=p.readArchiveStoreRef();break;case "chat-store-ref":g=p.readChatStoreRef();break;case "artifacts-store-ref":g=p.readArtifactsStoreRef();break;default:return R(`getConfig: unknown key "${r}"`)}return T({value:g})}catch(r){return I(r)}}function At(s){try{let r=s.params?.key;if(!r)return R("getOutputsDataObject requires params.key");let p=j().readDataObject(r);return T(p)}catch(r){return I(r)}}function It(s){try{return T(j().readAllDataObjects())}catch(r){return I(r)}}function _t(s){try{let r=s.params?.key;if(!r)return R("getOutputsComputedValues requires params.key");let p=j().readComputedValues(r);return T(p)}catch(r){return I(r)}}function Ft(s){try{return T(j().readAllComputedValues())}catch(r){return I(r)}}function Le(){return Te(t.blobStorage("sources"),s=>t.resolveBlob(s))}function Ne(s){let r=t.blobStorage("sources").keyRef?.(s);return r?chunkSFVO2LB2_cjs.a(r):s}function Ot(s){try{let r=s.params?.key;if(!r)return R("getOutputsFetchedSources requires params.key");let p=Le().listSources(r),g={};for(let x of p)g[x]=Ne(`${r}/${x}`);return T(g)}catch(r){return I(r)}}function Pt(s){try{let r=Le(),p=new Set;for(let x of t.blobStorage("sources").listKeys()){let O=x.indexOf("/");O>0&&!x.includes("/.staged/")&&p.add(x.slice(0,O));}let g={};for(let x of p){let O=r.listSources(x);if(O.length>0){g[x]={};for(let X of O)g[x][X]=Ne(`${x}/${X}`);}}return T(g)}catch(r){return I(r)}}return {init:V,status:N,getCardStoreRef:k,getOutputsStoreRef:w,getScratchStoreRef:B,getArchiveStoreRef:H,getChatStoreRef:Z,getArtifactsStoreRef:te,getConfig:Et,getOutputsDataObject:At,getAllOutputsDataObjects:It,getOutputsComputedValues:_t,getAllOutputsComputedValues:Ft,getOutputsFetchedSources:Ot,getAllOutputsFetchedSources:Pt,removeCard:D,addCardFiles:M,cardRefreshedNotify:$,retrigger:oe,processAccumulatedEvents:se,upsertCard:Se,taskFailed:ae,taskProgress:ie,sourceDataFetched:pe,sourceDataFetchFailure:b}}function Rr(e,t){let n=()=>Ke(t.kvStorage("config"));function o(){let l=n().readCardStoreRef();if(!l)throw new Error(`Board at ${e.value} has no card store configured. Run: init --base-ref <ref> --store-ref <b64-ref>`);let a=t.kvStorageForRef(l);return {readIndex(){return a.read("_index")},writeIndex(d){a.write("_index",d);},readCard(d){return a.read(d)},writeCard(d,C){return a.write(d,C),t.hashFn(C)},removeCard(d){a.delete(d);},cardExists(d){return a.read(d)!==null},defaultCardKey(d){return d}}}let i=()=>je(o(),t.onWarn??(()=>{}));async function u(l,a){let d=t.validateSchema(a),C=[],A=n().readTaskExecutorRef();if(A&&Array.isArray(a.source_defs))for(let _ of a.source_defs){let F=typeof _.bindTo=="string"?_.bindTo:"(unknown)";try{let V;try{V=await t.invokeExecutor(A,"validate-source-def",{timeout:t.executorTimeouts?.validationMs??1e4,input:JSON.stringify(_)});}catch(D){let M=D;if(V=typeof M?.stdout=="string"?M.stdout:"",!V.trim()){C.push(`source "${F}": executor validate-source-def failed \u2014 ${D instanceof Error?D.message:String(D)}`);continue}}let N=JSON.parse(V.trim());if(!N.ok&&Array.isArray(N.errors))for(let D of N.errors)C.push(`source "${F}": ${D}`);}catch(V){C.push(`source "${F}": executor validate-source-def failed \u2014 ${V instanceof Error?V.message:String(V)}`);}}let E=[...d.errors,...C];return T({cardId:l,isValid:E.length===0,issues:E})}function c(l,a){let d=l.params?.sourceIdx,C=l.params?.outRef;if(d===void 0)return R(`${a} requires params.sourceIdx`);if(!l.body||typeof l.body!="object"||Array.isArray(l.body))return R(`${a} requires card JSON object in body`);let A=l.body,E=A["card-content"]??A,_=A["mock-projections"]??{},F=E.source_defs??[];if(d<0||d>=F.length)return R(`sourceIdx ${d} out of range (card has ${F.length} source(s))`);let V=F[d],N=typeof V.bindTo=="string"?V.bindTo:"source";return {src:V,bindTo:N,outRef:C,mockProjections:_}}async function f(l){try{if(!l.body||typeof l.body!="object"||Array.isArray(l.body))return R("validateCardPreflight requires card JSON object in body");let a=l.body,d=a["card-content"]??a,C=typeof d.id=="string"?d.id:"(unknown)";return await u(C,d)}catch(a){return I(a)}}async function S(l){try{let a=c(l,"probeSourcePreflight");if("status"in a)return a;let d=n().readTaskExecutorRef();if(!d)return R("No task-executor registered for this board");try{let C={...a.src,_projections:a.mockProjections},A=await t.invokeExecutor(d,"probe-source-preflight",{timeout:a.src.timeout??t.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(C)}),E=JSON.parse(A.trim());return E.ok?T({bindTo:a.bindTo,reachable:E.reachable,latencyMs:E.latencyMs,note:E.note}):R(E.error??"Preflight probe failed")}catch{return R("Executor does not support probe-source-preflight")}}catch(a){return I(a)}}async function y(l){try{let a=c(l,"runSourcePreflight");if("status"in a)return a;let d=n().readTaskExecutorRef();if(!d)return R("No task-executor registered for this board");try{let C={...a.src,_projections:a.mockProjections},A=await t.invokeExecutor(d,"run-source-preflight",{timeout:a.src.timeout??t.executorTimeouts?.probeMs??6e4,input:JSON.stringify(C)}),E=JSON.parse(A.trim());if(!E.ok)return T({bindTo:a.bindTo,ok:!1,result:null,issues:[E.error??"Preflight run failed"]});if(a.outRef){let _=chunkSFVO2LB2_cjs.b(a.outRef);t.absoluteBlob.write(_.value,JSON.stringify(E.resultValue,null,2));}return T({bindTo:typeof E.bindTo=="string"?E.bindTo:a.bindTo,ok:!0,result:E.resultValue??null,issues:[]})}catch(C){let A=C instanceof Error?C.message:String(C);return T({bindTo:a.bindTo,ok:!1,result:null,issues:[A]})}}catch(a){return I(a)}}async function P(l){try{let a=n().readTaskExecutorRef();if(!a)return R("No task-executor registered for this board");let d=await t.invokeExecutor(a,"describe-capabilities",{timeout:t.executorTimeouts?.describeMs??1e4});return T(JSON.parse(d.trim()))}catch(a){return I(a)}}function L(l){try{let a=l.body;if(!a||!Array.isArray(a.ops))return R("updatesInCardStore requires body.ops array");let d=a.ops,C=i();for(let A of d){let E=A.op,_=A.id;if(!_)return R('op is missing "id"');if(E==="update"){let F=A["card-content"];if(!F)return R(`update op for "${_}" is missing "card-content"`);C.writeCard(_,F);}else return R(`Unknown op type: "${E??"(none)"}"`)}return T()}catch(a){return I(a)}}function j(l){try{let a=l.body;if(!a||!Array.isArray(a.ids))return R("readFromCardStore requires body.ids array");let d=a.ids,C=i(),A=d.map(E=>({id:E,"card-content":C.readCard(E)}));return T({cards:A})}catch(a){return I(a)}}function Y(l){try{if(!l.body||typeof l.body!="object"||Array.isArray(l.body))return R("evalCardCompute requires a JSON object in body");let a=l.body,d=a["card-content"]??a,C=typeof d.id=="string"?d.id:"(unknown)",A=a["mock-fetched-sources"]??{},E=a["mock-requires"]??{},_=d.compute;if(!_||!Array.isArray(_)||_.length===0)return T({cardId:C,ok:!0,computed_values:{},errors:[]});let F={id:C,card_data:d.card_data??{},requires:E,source_defs:d.source_defs,compute:_},V=chunkIXZG74EW_cjs.a.runSync(F,{sourcesData:A}),N=V.node.computed_values??{},D=V.errors??[];return T({cardId:C,ok:D.length===0,computed_values:N,errors:D})}catch(a){return I(a)}}async function v(l){try{if(!l.body||typeof l.body!="object"||Array.isArray(l.body))return R("simulateCardCycle requires a JSON object in body");let a=l.body,d=a["card-content"]??a,C=typeof d.id=="string"?d.id:"(unknown)",A=a["mock-fetched-sources"]??{},E=a["mock-requires"]??{},_=await u(C,d),F=_.status==="success"?{isValid:_.data.isValid,issues:_.data.issues}:{isValid:!1,issues:[_.status==="fail"?_.error:"internal error"]},V=d.source_defs??[],N=d.card_data??{},D=[],M=[];if(V.length>0){D=chunkIXZG74EW_cjs.a.enrichSourcesSync(V,{card_data:N,requires:E});for(let k of D){let w=k.projections,B=k._projections;if(w&&B){for(let H of Object.keys(w))if(B[H]===void 0){let Z=typeof k.bindTo=="string"?k.bindTo:"(unknown)";M.push({bindTo:Z,key:H,error:`Projection "${H}" resolved to undefined`});}}}}let $=[],oe={...A},se=a["task-executor-ref"],Se=(se?.howToRun&&se?.whatToRun?se:void 0)??n().readTaskExecutorRef();for(let k=0;k<D.length;k++){let w=D[k],B=typeof w.bindTo=="string"?w.bindTo:`source_${k}`;if(!Se){$.push({bindTo:B,skipped:!0,error:"No task executor configured"});continue}try{let H={...w},Z=await t.invokeExecutor(Se,"run-source-preflight",{timeout:w.timeout??t.executorTimeouts?.preflightMs??6e4,input:JSON.stringify(H)}),te=JSON.parse(Z.trim());te.ok&&!Object.prototype.hasOwnProperty.call(A,B)&&Object.prototype.hasOwnProperty.call(te,"resultValue")&&(oe[B]=te.resultValue),$.push({bindTo:B,reachable:te.reachable,latencyMs:te.latencyMs,error:te.ok?void 0:te.error});}catch{$.push({bindTo:B,skipped:!0,error:"Executor does not support run-source-preflight"});}}let ae=d.compute,ie={},pe=[];if(ae&&Array.isArray(ae)&&ae.length>0){let k={id:C,card_data:N,requires:E,source_defs:d.source_defs,compute:ae},w=chunkIXZG74EW_cjs.a.runSync(k,{sourcesData:oe});ie=w.node.computed_values??{},pe=w.errors??[];}let b=F.isValid&&M.length===0&&pe.length===0&&$.every(k=>k.reachable!==!1);return T({cardId:C,ok:b,validation:F,source_probes:$,projection_errors:M,fetched_sources:oe,computed_values:ie,compute_errors:pe})}catch(a){return I(a)}}return {validateCardPreflight:f,probeSourcePreflight:S,runSourcePreflight:y,evalCardCompute:Y,simulateCardCycle:v,describeTaskExecutorCapabilities:P,updatesInCardStore:L,readFromCardStore:j}}
|
|
2
|
+
exports.a=rr;exports.b=st;exports.c=nr;exports.d=rt;exports.e=Qt;exports.f=Zt;exports.g=er;exports.h=ut;exports.i=dt;exports.j=ct;exports.k=lt;exports.l=je;exports.m=Ee;exports.n=le;exports.o=Lt;exports.p=pt;exports.q=ft;exports.r=$t;exports.s=mt;exports.t=Ae;exports.u=De;exports.v=bt;exports.w=vt;exports.x=wt;exports.y=Cr;exports.z=Rr;//# sourceMappingURL=chunk-OEFTOO47.cjs.map
|
|
3
|
+
//# sourceMappingURL=chunk-OEFTOO47.cjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';function g(n){return typeof n=="object"&&n!==null&&"then"in n&&typeof n.then=="function"}function i(n,s){return g(n)?n.then(s):s(n)}function u(n,s){let r={...n};for(let[e,t]of Object.entries(s))t!==null&&typeof t=="object"&&!Array.isArray(t)&&r[e]!==null&&typeof r[e]=="object"&&!Array.isArray(r[e])?r[e]=u(r[e],t):r[e]=t;return r}function c(n,s,r){if(s.length===0)return n;let[e,...t]=s;if(t.length===0)return {...n,[e]:r};let o=n[e]!==null&&typeof n[e]=="object"&&!Array.isArray(n[e])?n[e]:{};return {...n,[e]:c(o,t,r)}}function l(n){return {read:r=>n.read(r),get(r,e){return i(n.read(r),t=>{if(t===null)return null;let o=t;for(let a of e.split(".").filter(Boolean)){if(o===null||typeof o!="object"||Array.isArray(o))return null;o=o[a]??null;}return o??null})},write:(r,e)=>n.write(r,e),delete:r=>n.delete(r),listKeys:r=>n.listKeys(r),shallowMerge(r,e){return i(n.read(r),t=>n.write(r,{...t??{},...e}))},deepMerge(r,e){return i(n.read(r),t=>n.write(r,u(t??{},e)))},patch(r,e,t){return i(n.read(r),o=>{let a=e.split(".").filter(Boolean);return n.write(r,c(o??{},a,t))})}}}exports.a=c;exports.b=l;//# sourceMappingURL=chunk-PBCDDO4V.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-PBCDDO4V.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkSFVO2LB2_cjs=require('./chunk-SFVO2LB2.cjs'),module$1=require('module'),url=require('url'),path=require('path'),fs=require('fs');var _documentCurrentScript=typeof document!=='undefined'?document.currentScript:null;var f=path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-PMUSJQSR.cjs', document.baseURI).href)))),E=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-PMUSJQSR.cjs', document.baseURI).href)));function w(){let e=path.resolve(f,"./jsonata-sync.cjs");return fs.existsSync(e)?e:path.resolve(f,"../../card-compute/jsonata-sync.cjs")}var p=E(w());function u(e){e.registerFunction("fsPathRef",s=>chunkSFVO2LB2_cjs.a({kind:"fs-path",value:String(s)}),"<s:s>");}function R(e,s,c){if(!e||typeof e!="object")return {};let i={};if(Array.isArray(e.cmdTemplate)){let r=[];for(let n of e.cmdTemplate)try{let a=p(n);u(a),r.push(String(a.evaluate(s)));}catch(a){let t=a instanceof Error?a.message:String(a);throw new Error(`[${c}] argsMassaging.cmdTemplate failed on "${n}": ${t}`)}i.cmdArgs=r;}if(typeof e.stdinTemplate=="string")try{let r=p(e.stdinTemplate);u(r),i.stdin=r.evaluate(s);}catch(r){let n=r instanceof Error?r.message:String(r);throw new Error(`[${c}] argsMassaging.stdinTemplate failed: ${n}`)}if(typeof e.urlTemplate=="string")try{let r=p(e.urlTemplate);u(r),i.url=String(r.evaluate(s));}catch(r){let n=r instanceof Error?r.message:String(r);throw new Error(`[${c}] argsMassaging.urlTemplate failed: ${n}`)}if(typeof e.headerTemplate=="string")try{let r=p(e.headerTemplate);u(r);let n=r.evaluate(s);if(typeof n!="object"||n===null)throw new Error(`headerTemplate must produce an object, got: ${JSON.stringify(n)}`);i.headers=n;}catch(r){let n=r instanceof Error?r.message:String(r);throw new Error(`[${c}] argsMassaging.headerTemplate failed: ${n}`)}if(typeof e.bodyTemplate=="string")try{let r=p(e.bodyTemplate);u(r),i.body=r.evaluate(s);}catch(r){let n=r instanceof Error?r.message:String(r);throw new Error(`[${c}] argsMassaging.bodyTemplate failed: ${n}`)}return i}function _(e,s,c){if(!e||typeof e!="object")return s;let i={output:s},r=s.result,n=s.data,a=s.error;if(typeof e.resultExpr=="string")try{let t=p(e.resultExpr);u(t);let o=t.evaluate(i);if(typeof o!="string"||!o.trim())throw new Error(`resultExpr did not produce a non-empty string (got ${JSON.stringify(o)})`);r=o;}catch(t){let o=t instanceof Error?t.message:String(t);throw new Error(`[${c}] outputTransforms.resultExpr failed: ${o}`)}if(typeof e.dataTemplate=="string")try{let t=p(e.dataTemplate);u(t);let o=t.evaluate(i);if(!o||typeof o!="object"||Array.isArray(o))throw new Error(`dataTemplate did not produce an object (got ${JSON.stringify(o)})`);n=o;}catch(t){let o=t instanceof Error?t.message:String(t);throw new Error(`[${c}] outputTransforms.dataTemplate failed: ${o}`)}if(typeof e.errorExpr=="string")try{let t=p(e.errorExpr);u(t);let o=t.evaluate(i);a=o!=null?String(o):void 0;}catch(t){let o=t instanceof Error?t.message:String(t);throw new Error(`[${c}] outputTransforms.errorExpr failed: ${o}`)}return a!==void 0?{result:r,data:n,error:a}:{result:r,data:n}}exports.a=R;exports.b=_;//# sourceMappingURL=chunk-PMUSJQSR.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-PMUSJQSR.cjs.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {a}from'./chunk-JMDHDY6M.js';function h(a,i){if(a?.status==="success")return Object.prototype.hasOwnProperty.call(a,"data")?a.data:void 0;throw a?.status==="fail"||a?.status==="error"?new Error(a.error||`${i} failed`):new Error(`${i} returned an unexpected response`)}function K(a,i){if(a?.status==="success"&&Object.prototype.hasOwnProperty.call(a,"data"))return a.data;throw a?.status==="success"?new Error(`${i} returned success without data`):a?.status==="fail"||a?.status==="error"?new Error(a.error||`${i} failed`):new Error(`${i} returned an unexpected response`)}function t(a){return a&&typeof a=="object"&&!Array.isArray(a)?a:{}}function y(a){return Array.isArray(a)?a:[]}function V(a,i){if(typeof i!="string"||i.length===0)return;let u=a,m=i;m.startsWith("fetched_sources.")&&(u=t(a).fetched_sources,m=m.slice(16));for(let k of m.split(".")){if(u==null||typeof u!="object")return;u=u[k];}return u}function N(a,i){let u=t(a.view),m=y(u.elements);return {layout:u.layout,features:u.features,elements:m.map((k,x)=>{let v=t(k),I=t(v.data),B=typeof v.visible=="string"?!!V(i,v.visible):true,U=typeof I.bind=="string"?I.bind:void 0,M=typeof I.maxRows=="number"?I.maxRows:void 0,L=U?V(i,U):void 0,E={id:typeof v.id=="string"&&v.id?v.id:`element-${x}`,kind:v.kind,label:v.label,visible:B};return L!==void 0&&(E.resolved=Array.isArray(L)&&typeof M=="number"?L.slice(0,M):L),E})}}function W(a,i){let u=typeof a.id=="string"&&a.id?a.id:"card",m=y(a.provides),k=m.length>0?m:[{bindTo:u,ref:"card_data"}],x={};for(let v of k){let I=t(v),B=typeof I.bindTo=="string"?I.bindTo:"",U=typeof I.ref=="string"?I.ref:"";if(!B||!U)continue;let M=V(i,U);M!==void 0&&(x[B]=M);}return x}function ie(a){if(typeof a!="string"||!a.trim())return null;let i=/^(file uploaded|AI generated|AI geneterated):\s*.*?#(\d+)\s*$/i.exec(a.trim());if(!i)return null;let u=Number.parseInt(i[2],10);return !Number.isInteger(u)||u<0?null:u}function ce(a){return {"card-content":a}}function F(a){let{meta:i,...u}=a;return u}function ue(a,i){return Object.prototype.hasOwnProperty.call(a,i)}function J(a){return t(a.meta).__visible_controlplane_only===true}async function T(a,i){let u=await S(a.get({params:{id:i}}),"cardStore.get"),m=Array.isArray(u?.cards)?u.cards:[];if(m.length===0)throw new Error(`Card "${i}" not found`);return m[0]}function me(a$1){let{board:i,nonCore:u,cardStore:m,chatStore:k,uploadCardFile:x,buildFileDownloadUrl:v,readFetchedSourceJsonByRef:I}=a$1;function B(r){if(Array.isArray(r.bytes))return new Uint8Array(r.bytes.map(e=>Math.max(0,Math.min(255,Number(e)||0))));if(typeof r.text=="string")return new TextEncoder().encode(r.text);if(typeof r.base64=="string"){let e=String(r.base64).replace(/-/g,"+").replace(/_/g,"/"),n=e+"=".repeat((4-e.length%4)%4),s=atob(n);return Uint8Array.from(s,o=>o.charCodeAt(0))}throw new Error("file entry requires bytes, text, or base64")}async function U(){let r=t(await S(u.describeTaskExecutorCapabilities({}),"describeTaskExecutorCapabilities"));return {version:r.version,commonSourceFields:t(r.commonSourceDefFields),sourceKinds:t(r.sourceKinds)}}async function M(){let r=t(await S(i.status({}),"status")),e=t(r.summary),n=y(r.cards);return {meta:t(r.meta),summary:{card_count:typeof e.card_count=="number"?e.card_count:0,completed:typeof e.completed=="number"?e.completed:0,eligible:typeof e.eligible=="number"?e.eligible:0,pending:typeof e.pending=="number"?e.pending:0,blocked:typeof e.blocked=="number"?e.blocked:0,in_progress:typeof e.in_progress=="number"?e.in_progress:0,failed:typeof e.failed=="number"?e.failed:0,unresolved:typeof e.unresolved=="number"?e.unresolved:0},cards:n.map(s=>{let o=t(s);return {"card-id":typeof o.name=="string"?o.name:null,status:o.status??null,error:o.error??null,requires:y(o.requires),requires_satisfied:y(o.requires_satisfied),requires_missing:y(o.requires_missing),provides_declared:y(o.provides_declared),provides_runtime:y(o.provides_runtime)}})}}async function L(r){let e=String(r.cardId||"").trim();if(!e)throw new Error("inspectCardDefinitionAndRuntime requires cardId");let n=t(await S(i.status({}),"status")),o=y(n.cards).map(t).find(p=>p.name===e);if(!o)throw new Error(`card "${e}" not found in board status`);let d=t(await T(m,e));if(J(d))throw Object.assign(new Error(`card "${e}" not found`),{statusCode:404});let f=F(d),c=y(o.requires_satisfied).filter(p=>typeof p=="string"&&!!p),g=y(o.provides_runtime).filter(p=>typeof p=="string"&&!!p),b=Object.fromEntries(await Promise.all(c.map(async p=>[p,await S(i.getOutputsDataObject({params:{key:p}}),`getOutputsDataObject(${p})`)]))),R=Object.fromEntries(await Promise.all(g.map(async p=>[p,await S(i.getOutputsDataObject({params:{key:p}}),`getOutputsDataObject(${p})`)]))),C=t(await S(i.getOutputsComputedValues({params:{key:e}}),"getOutputsComputedValues")),l=await S(i.getOutputsFetchedSources({params:{key:e}}),"getOutputsFetchedSources"),_=y(d.source_defs).map(t),w={};for(let p of _)typeof p.bindTo=="string"&&typeof p.outputFile=="string"&&(w[p.outputFile]=p.bindTo);let A={};for(let[p,j]of Object.entries(l)){let q=w[p]??p;if(!I||typeof j!="string"){A[q]=null;continue}try{A[q]=I({cardId:e,ref:j});}catch{A[q]=null;}}let P={card_data:t(d.card_data),requires:b,fetched_sources:A,computed_values:C};return {cardId:e,card_status_in_board:o,card_definition_and_static_data:f,refs_for_fetched_source_files:l,runtime_data:{requires:b,provides:R,computed_values:C,rendered_view:N(d,P)}}}async function E(r){let e=String(r.cardId||"").trim();if(!e)throw new Error("inspectChatMessagesOnCards requires cardId");let n=typeof r.turnId=="string"?r.turnId:"",s=r.allTurns===true,o=typeof r.tailTurnsBeforeId=="string"?r.tailTurnsBeforeId:"",d=s?void 0:r.lastUserTurns??(n?void 0:1),f=r.tail,c={...d===void 0?{}:{tailTurns:d},...n?{turnId:n}:{},...s?{allTurns:true}:{},...o?{tailTurnsBeforeId:o}:{}},g=Object.keys(c).length>0?{params:{cardId:e},body:c}:{params:{cardId:e}},b=h(k.readAll(g),"chatStore.readAll"),R=t(await T(m,e)),C=y(t(R.card_data).files).map((w,A)=>({idx:A,stored_name:t(w).stored_name})).filter(w=>typeof w.stored_name=="string"&&w.stored_name.length>0),_=(Array.isArray(b.records)?b.records:[]).map(w=>{let P=t(w.payload),p={...w},j=typeof w?.role=="string"?w.role:typeof P.role=="string"?String(P.role):"",q=typeof w?.text=="string"?w.text:typeof P.text=="string"?String(P.text):"";if(j==="system"){let $=ie(q);if($!==null&&C.some(O=>O.idx===$)){let O=`Retrieve using inspect-file-contents --card-id ${e} --file-idx ${$}`;p.retrieval_hint=O,Object.keys(P).length>0&&typeof w.role!="string"&&(p.payload={...P,retrieval_hint:O});}}return p});return {cardId:e,messages:typeof f=="number"&&f>=0?_.slice(-f):_}}async function H(r){let e=String(r.cardId||"").trim(),n=Number(r.fileIdx);if(!e)throw new Error("inspectFileContents requires cardId");if(!Number.isInteger(n)||n<0)throw new Error("inspectFileContents requires fileIdx to be a non-negative integer");let s=t(await T(m,e)),o=y(t(s.card_data).files).map(t);if(n>=o.length)throw new Error(`attachment index ${n} is out of range for card "${e}"`);let d=o[n],f=typeof d.stored_name=="string"?d.stored_name:null;return {cardId:e,fileIdx:n,downloadUrl:v({cardId:e,fileIdx:n,storedName:f}),...typeof d.name=="string"?{name:d.name}:{},...typeof d.stored_name=="string"?{stored_name:d.stored_name}:{},...typeof d.mime_type=="string"?{mime_type:d.mime_type}:{},...typeof d.size=="number"?{size:d.size}:{},...typeof d.uploaded_at=="string"?{uploaded_at:d.uploaded_at}:{}}}async function D(r){return await u.validateCardPreflight({body:ce(r.candidateCardContent)})}function G(r){if(!r.mockRequires||typeof r.mockRequires!="object"||Array.isArray(r.mockRequires))throw new Error("preflightMaterializeCandidateCard requires mockRequires");if(!r.mockFetchedSources||typeof r.mockFetchedSources!="object"||Array.isArray(r.mockFetchedSources))throw new Error("preflightMaterializeCandidateCard requires mockFetchedSources");let e=u.evalCardCompute({body:{"card-content":r.candidateCardContent,"mock-requires":r.mockRequires,"mock-fetched-sources":r.mockFetchedSources}});if(e.status!=="success")return e;let n=t(K(e,"evalCardCompute")),s=t(r.candidateCardContent),o={card_data:t(s.card_data),requires:t(r.mockRequires),fetched_sources:t(r.mockFetchedSources),computed_values:t(n.computed_values)};return {status:"success",data:{cardId:typeof n.cardId=="string"?n.cardId:typeof s.id=="string"?s.id:"(unknown)",ok:n.ok===true,computed_values:t(n.computed_values),errors:y(n.errors).map(d=>{let f=t(d);return {bindTo:typeof f.bindTo=="string"?f.bindTo:"",error:typeof f.error=="string"?f.error:""}}),provides_outputs:W(s,o),rendered_view:N(s,o)}}}async function Q(r){return await u.probeSourcePreflight({params:{sourceIdx:r.sourceIdx},body:{"card-content":r.candidateCardContent,"mock-projections":r.mockProjections}})}async function X(r){return await u.runSourcePreflight({params:{sourceIdx:r.sourceIdx},body:{"card-content":r.candidateCardContent,"mock-projections":r.mockProjections}})}async function Y(r){let e=String(r.cardId||"").trim();if(!e)throw new Error("preflightRunSingleSourceInLiveCard requires cardId");if(!r.mockRequires||typeof r.mockRequires!="object"||Array.isArray(r.mockRequires))throw new Error("preflightRunSingleSourceInLiveCard requires mockRequires");let n=t(await T(m,e)),s=y(n.source_defs).filter(d=>!!d&&typeof d=="object"&&!Array.isArray(d)),o={};if(r.sourceIdx>=0&&r.sourceIdx<s.length){let d=s[r.sourceIdx],f=a.enrichSourcesSync([d],{card_data:t(n.card_data),requires:r.mockRequires});Array.isArray(f)&&f.length>0&&(o=t(f[0]._projections));}return await u.runSourcePreflight({params:{sourceIdx:r.sourceIdx},body:{"card-content":n,"mock-requires":r.mockRequires,"mock-projections":o}})}async function Z(r){let e=t(await S(u.simulateCardCycle({body:{"card-content":r.candidateCardContent,"mock-requires":r.mockRequires}}),"simulateCardCycle")),n=t(r.candidateCardContent),s=t(e.validation),o=y(e.source_probes),d=y(e.projection_errors),f=t(e.fetched_sources),c=y(e.compute_errors),g=t(e.computed_values),b={card_data:t(n.card_data),requires:r.mockRequires,fetched_sources:f,computed_values:g},R=[];for(let C of y(s.issues))typeof C=="string"&&C&&R.push(C);for(let C of o){let l=t(C),_=typeof l.bindTo=="string"?l.bindTo:"source",w=typeof l.error=="string"?l.error:"";w&&R.push(`${_}: ${w}`);}for(let C of d){let l=t(C),_=typeof l.bindTo=="string"?l.bindTo:"source",w=typeof l.key=="string"?l.key:"projection",A=typeof l.error=="string"?l.error:"projection failed";R.push(`${_}.${w}: ${A}`);}for(let C of c){let l=t(C),_=typeof l.bindTo=="string"?l.bindTo:"compute",w=typeof l.error=="string"?l.error:"compute failed";R.push(`${_}: ${w}`);}return {status:"success",data:{cardId:typeof e.cardId=="string"?e.cardId:"(unknown)",ok:e.ok===true,issues:R,provides_outputs:W(n,b),rendered_view:N(n,b)}}}async function ee(r){let e=String(r.cardId||"").trim();if(!e)throw new Error("manageReadCard requires cardId");let n=await S(m.get({params:{id:e}}),"cardStore.get"),s=Array.isArray(n.cards)?n.cards.map(t):[];if(s.some(J))throw Object.assign(new Error(`Card "${e}" not found`),{statusCode:404});return s.map(o=>F(o))}async function re(r){let e=String(r.cardId||"").trim(),n=String(r.role||"").trim(),s=typeof r.text=="string"?r.text:"",o=typeof r.turn=="string"?r.turn:"";if(!e)throw new Error("manageAddChatEntryAndAnyAttachments requires cardId");if(!n)throw new Error("manageAddChatEntryAndAnyAttachments requires role");if(n==="assistant"&&o){let c=h(k.readAll({params:{cardId:e},body:{turnId:o}}),"chatStore.readAll(existing turn messages)"),g=Array.isArray(c.records)?c.records.find(b=>b.role==="assistant"&&String(b.turn||"")===o):void 0;if(g)return {status:"success",data:{cardId:e,id:String(g.id),role:n,turn:o,files:Array.isArray(g.files)?g.files:[]}}}let d=await Promise.all(y(r.files).map(async c=>{let g=t(c),b=String(g.file_name??g.fileName??g.name??"").trim(),R=String(g.content_type??g.contentType??"application/octet-stream");if(!b)throw new Error("file entry requires file_name");return (await x({cardId:e,fileName:b,contentType:R,bytes:B(g)})).file}));d.forEach((c,g)=>{let b=n==="assistant"?`AI generated: ${String(c.name||"")} as ${String(c.stored_name||"")} #${g}`:`file uploaded: ${String(c.name||"")} as ${String(c.stored_name||"")} #${g}`;h(k.append({params:{cardId:e},body:{role:"system",text:b,files:[],turn:o}}),"chatStore.append(system attachment message)");});let f=h(k.append({params:{cardId:e},body:{role:n,text:s,files:d,turn:o}}),"chatStore.append");return {status:"success",data:{cardId:e,id:String(f.id),role:n,turn:o,files:d}}}async function te(r){let e=String(r.cardId||"").trim(),n=t(r.candidateCardContent),s=F(n);if(!e)throw new Error("manageUpsertCard requires cardId");if(typeof s.id!="string"||!s.id.trim())throw new Error("candidateCardContent.id must be a non-empty string");if(s.id!==e)throw new Error(`candidateCardContent.id must match cardId (${e})`);let o=await D({candidateCardContent:s}),d=t(o),f=t(d.data);if(d.status!=="success"||f.isValid!==true)return {status:"fail",step:"validate",validation:o};let c=null;try{c=await T(m,e);}catch{c=null;}let g=c&&ue(t(c),"meta")?{...s,meta:t(c).meta}:s,b=await m.set({body:g});h(b,"cardStore.set");let R;try{R=await i.upsertCard({params:{cardId:e,restart:!0}}),h(R,"upsertCard");}catch(l){try{c&&await m.set({body:c});}catch{}throw l}let C=null;try{C=await i.cardRefreshedNotify({params:{cardId:e}}),h(C,"cardRefreshedNotify");}catch{C=null;}return {status:"success",data:{validation:o,card_saved:null,board_result:R,refresh_notify:C}}}async function ne(r){let e=String(r.cardId||"").trim();if(!e)throw new Error("manageRemoveCard requires cardId");let n=await i.removeCard({params:{id:e}});h(n,"removeCard");let s=await m.del({params:{id:e}});return h(s,"cardStore.del"),{status:"success",data:{board_result:n,store_result:s}}}async function ae(r){let e=String(r.cardId||"").trim();if(!e)throw new Error("adminReadCard requires cardId");let n=await S(m.get({params:{id:e}}),"cardStore.get");return Array.isArray(n.cards)?n.cards.map(s=>t(s)):[]}async function oe(r){let e=String(r.cardId||"").trim(),n=t(r.candidateCardContent),s=F(n);if(!e)throw new Error("adminUpsertCard requires cardId");if(typeof s.id!="string"||!s.id.trim())throw new Error("candidateCardContent.id must be a non-empty string");if(s.id!==e)throw new Error(`candidateCardContent.id must match cardId (${e})`);let o=await D({candidateCardContent:s}),d=t(o),f=t(d.data);if(d.status!=="success"||f.isValid!==true)return {status:"fail",step:"validate",validation:o};let c=null;try{c=await T(m,e);}catch{c=null;}let g=c?t(t(c).meta):{},b={...s,meta:{...g,__visible_controlplane_only:true}},R=await m.set({body:b});h(R,"cardStore.set");let C;try{C=await i.upsertCard({params:{cardId:e,restart:!0}}),h(C,"upsertCard");}catch(_){try{c&&await m.set({body:c});}catch{}throw _}let l=null;try{l=await i.cardRefreshedNotify({params:{cardId:e}}),h(l,"cardRefreshedNotify");}catch{l=null;}return {status:"success",data:{validation:o,card_saved:null,board_result:C,refresh_notify:l}}}function se(r){let e=String(r.cardId||"").trim();if(!e)throw new Error("getChatProcessing requires cardId");let n=K(k.isProcessing({params:{cardId:e}}),"chatStore.isProcessing");return {cardId:e,active:!!n.active}}function de(r){let e=String(r.cardId||"").trim();if(!e)throw new Error("setChatProcessing requires cardId");if(typeof r.active!="boolean")throw new Error("setChatProcessing requires boolean active");return h(k.setProcessing({params:{cardId:e},body:{active:r.active}}),"chatStore.setProcessing"),{cardId:e,active:r.active}}return {discoverSourceKinds:U,inspectBoardRuntimeStatus:M,inspectCardDefinitionAndRuntime:L,inspectChatMessagesOnCards:E,inspectFileContents:H,preflightValidateCandidateCardDefinition:D,preflightMaterializeCandidateCard:G,preflightProbeSingleSourceInCandidateCard:Q,preflightRunSingleSourceInCandidateCard:X,preflightRunSingleSourceInLiveCard:Y,preflightRunOneCycleWithCandidateCard:Z,manageReadCard:ee,manageAddChatEntryAndAnyAttachments:re,manageUpsertCard:te,manageRemoveCard:ne,adminReadCard:ae,adminUpsertCard:oe,getChatProcessing:se,setChatProcessing:de}}async function S(a,i){return h(await a,i)}export{me as a};//# sourceMappingURL=chunk-SCWHDI3I.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-SCWHDI3I.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
exports.a=l;exports.b=u;exports.c=f;//# sourceMappingURL=chunk-
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var s="b64:";function a(e){let n=new TextEncoder().encode(e),r=globalThis.Buffer,t;if(r)t=r.from(n).toString("base64");else if(typeof btoa=="function"){let o="";for(let i of n)o+=String.fromCharCode(i);t=btoa(o);}else throw new Error("No base64 encoder available in this runtime");return t.replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"")}function g(e){let n=e.replace(/-/g,"+").replace(/_/g,"/")+"=".repeat((4-e.length%4)%4),r=globalThis.Buffer;if(r)return r.from(n,"base64").toString("utf8");if(typeof atob=="function"){let t=atob(n),o=new Uint8Array(t.length);for(let i=0;i<t.length;i+=1)o[i]=t.charCodeAt(i);return new TextDecoder().decode(o)}throw new Error("No base64 decoder available in this runtime")}function l(e){return `${s}${a(JSON.stringify(e))}`}function u(e){if(!e.startsWith(s))throw new Error(`Invalid ref format (expected ${s}<base64url(json)>): ${e}`);let n;try{n=JSON.parse(g(e.slice(s.length)));}catch{throw new Error(`Invalid ref format (malformed base64url/json): ${e}`)}if(!n||typeof n!="object")throw new Error(`Invalid ref format (expected object payload): ${e}`);let r=n;if(typeof r.kind!="string"||typeof r.value!="string")throw new Error(`Invalid ref format (payload must contain string kind/value): ${e}`);return {kind:r.kind,value:r.value}}async function f(e,n,r){let t=e.tryAcquire();if(!t)return false;try{await n();}finally{t();}return r?.(),true}
|
|
2
|
+
exports.a=l;exports.b=u;exports.c=f;//# sourceMappingURL=chunk-SFVO2LB2.cjs.map
|
|
3
|
+
//# sourceMappingURL=chunk-SFVO2LB2.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
'use strict';var chunkSFVO2LB2_cjs=require('./chunk-SFVO2LB2.cjs');function i(e,t){let n;return /\.m?js$/i.test(e)?n="local-node":/\.py$/i.test(e)?n="local-python":n="local-process",{meta:"task-executor",howToRun:n,whatToRun:chunkSFVO2LB2_cjs.a({kind:"fs-path",value:e}),...t?{extra:t}:{}}}function s(e){return JSON.stringify(e)}function a(e){let t;try{t=JSON.parse(e);}catch{throw new Error(`parseExecutionRef: invalid JSON \u2014 ${e}`)}if(typeof t!="object"||t===null||typeof t.howToRun!="string"||typeof t.whatToRun!="string")throw new Error(`parseExecutionRef: missing required fields howToRun/whatToRun \u2014 ${e}`);return t}exports.a=i;exports.b=s;exports.c=a;//# sourceMappingURL=chunk-U2N6MCD5.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-U2N6MCD5.cjs.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {b,a}from'./chunk-HEEDJEKM.js';import {a as a$1,d,x,t,u,n,w as w$1,v,k,b as b$3,c as c$1,h,i,j,o,s,r,q as q$1,p as p$1}from'./chunk-N6P2JW4W.js';import {b as b$1,c}from'./chunk-XQRNDX4Q.js';import {a as a$2,b as b$2}from'./chunk-BQS3EIEK.js';import {q,p,a as a$3,u as u$1}from'./chunk-VGT3TRQG.js';import {a as a$4}from'./chunk-JMDHDY6M.js';async function $e(e,t,a){let u=await e.tryAcquire();if(!u)return false;try{await t();}finally{await u();}return await a?.(),true}function We(e){return b(e)}function Le(e,t){return {async readIndex(){return await e.read("_index")},writeIndex(a){return e.write("_index",a)},async readCard(a){return await e.read(a)},async writeCard(a,u){return await e.write(a,u),t(u)},removeCard(a){return e.delete(a)},async cardExists(a){return await e.read(a)!==null},defaultCardKey(a){return a}}}function Je(e,t){async function a$1(){return await e.readIndex()??{}}return {async readCard(u){let p=(await a$1())[u];return !p||!await e.cardExists(p.key)?null:await e.readCard(p.key)},async readCardKey(u){return (await a$1())[u]?.key??null},async readAllCards(){let u=[];for(let[p,S]of Object.entries(await a$1())){if(!await e.cardExists(S.key))continue;let f=await e.readCard(S.key);f?u.push(f):t?.(`[card-store] could not read card "${p}" at key "${S.key}"`);}return u},async readChecksumIndex(){let u={};for(let[p,S]of Object.entries(await a$1()))u[p]=S.checksum;return u},async changedSince(u){let p=await a$1(),S=[];for(let[f,l]of Object.entries(p))u[f]!==l.checksum&&S.push(f);for(let f of Object.keys(u))p[f]||S.push(f);return S},async validateUpsert(u,p){let S=await a$1(),f=S[u],l=Object.entries(S).find(([,k])=>k.key===p);return f&&f.key!==p?{ok:false,error:`Card id "${u}" is already mapped to key "${f.key}", cannot remap to "${p}"`}:l&&l[0]!==u?{ok:false,error:`Key "${p}" is already mapped to card id "${l[0]}", cannot remap to "${u}"`}:{ok:true}},async writeCard(u,p,S){let f=await a$1(),l=S??f[u]?.key??e.defaultCardKey(u),k=await e.writeCard(l,p);f[u]={key:l,checksum:k,updatedAt:new Date().toISOString()},await e.writeIndex(f);},async patchCard(u,p,S){let f=await a$1(),l=f[u];if(!l||!await e.cardExists(l.key))throw new Error(`card "${u}" not found`);let k=await e.readCard(l.key);if(!k||typeof k!="object"||Array.isArray(k))throw new Error(`card "${u}" is not patchable`);let v=String(p||"").split(".").filter(Boolean),q=a(k,v,S),P=await e.writeCard(l.key,q);f[u]={key:l.key,checksum:P,updatedAt:new Date().toISOString()},await e.writeIndex(f);},async removeCard(u){let p=await a$1(),S=p[u];S&&(await e.removeCard(S.key),delete p[u],await e.writeIndex(p));},readIndex(){return a$1()}}}function cr(e,t){return a$1(e,t)}function dr(e,t,a){return {blob:e,kv:t,journal:a}}function Se(e){return {messageId:e.id,enqueuedAt:e.enqueuedAt,attempt:e.attempt,request:e.body}}function Xe(e){return typeof e=="string"?e.startsWith("b64:")?b$2(e).value:e:e.value}function ie(e){return {async enqueueRequest(t){return (await e.enqueue(t)).id},async leaseRequests(t){return (await e.lease(t)).map(a=>({...Se(a),leaseToken:a.leaseToken,leaseExpiresAt:a.leaseExpiresAt}))},ackRequest(t,a){return e.ack(t,a)},nackRequest(t,a,u){return e.nack(t,a,u)},async peekActive(){return (await e.peekActive()).map(Se)},async peekDeadLetter(){return (await e.peekDeadLetter()).map(t=>({...Se(t),reason:t.reason}))}}}function Qe(e){async function t(a){let u=await e.read(a);return u==null?null:typeof u=="string"?u:JSON.stringify(u)}return {async readTaskExecutorRef(){let a=await t("task-executor");if(a?.trim())return c(a.trim())},writeTaskExecutorRef(a){return e.write("task-executor",b$1(a))},readChatHandlerFlow(){return e.read("chat-handler-flow")},writeChatHandlerFlow(a){return e.write("chat-handler-flow",a)},readCardStoreRef(){return t("card-store-ref")},writeCardStoreRef(a){return e.write("card-store-ref",a)},readOutputsStoreRef(){return t("outputs-store-ref")},writeOutputsStoreRef(a){return e.write("outputs-store-ref",a)},readScratchStoreRef(){return t("scratch-store-ref")},writeScratchStoreRef(a){return e.write("scratch-store-ref",a)},readArchiveStoreRef(){return t("archive-store-ref")},writeArchiveStoreRef(a){return e.write("archive-store-ref",a)},readChatStoreRef(){return t("chat-store-ref")},writeChatStoreRef(a){return e.write("chat-store-ref",a)},readArtifactsStoreRef(){return t("artifacts-store-ref")},writeArtifactsStoreRef(a){return e.write("artifacts-store-ref",a)}}}function gr(e){let t,a,u,p=e.callbackTransport,S=e.resolveBlob??(async l=>{let k=await e.blobStorage("").read(l.value);if(k==null)throw new Error(`Blob not found for ref ${l.kind}:${l.value}`);return k});async function f(l,k){if(l.howToRun==="queue-storage"){let v=e.boardWorkerStore??t??(e.queueStorage?ie(e.queueStorage):void 0);return v?(t||(t=v),await v.enqueueRequest({boardId:typeof l.extra?.boardId=="string"?l.extra.boardId:e.boardId,ref:l,args:k}),{dispatched:true}):{dispatched:false,error:"queue-storage dispatch requires queueStorage or boardWorkerStore"}}if(l.howToRun==="http:post"){let v=e.fetch??globalThis.fetch;if(!v)return {dispatched:false,error:"http:post dispatch requires fetch support"};let q=await v(Xe(l.whatToRun),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...k,...l.extra?{extra:l.extra}:{}})});if(!q.ok){let P=await q.text().catch(()=>"");return {dispatched:false,error:`HTTP ${q.status}: ${P}`}}return {dispatched:true}}return {dispatched:false,error:`Unsupported hosted async transport "${l.howToRun}"`}}return {kvStorage:e.kvStorage,kvStorageForRef:e.kvStorageForRef,blobStorage:e.blobStorage,scratchStorage:e.scratchStorage,scratchStorageForRef:e.scratchStorageForRef,archiveFactory:e.archiveFactory,archiveFactoryForRef:e.archiveFactoryForRef,journalStorage:e.journalStorage,boardWorkerStore:()=>{if(!t)if(e.boardWorkerStore)t=e.boardWorkerStore;else if(e.queueStorage)t=ie(e.queueStorage);else throw new Error("Hosted async board adapter requires queueStorage or boardWorkerStore");return t},chatAgentStore:()=>{if(!a)if(e.chatAgentStore)a=e.chatAgentStore;else if(e.chatAgentQueueStorage)a=ie(e.chatAgentQueueStorage);else if(e.boardWorkerStore)a=e.boardWorkerStore;else if(e.queueStorage)a=ie(e.queueStorage);else throw new Error("Hosted async board adapter requires chatAgentStore, chatAgentQueueStorage, queueStorage, or boardWorkerStore");return a},processAccumulatedStore:()=>{if(u||(u=e.processAccumulatedStore??e.processAccumulatedQueueStorage??e.queueStorage),!u)throw new Error("Hosted async board adapter requires processAccumulatedStore, processAccumulatedQueueStorage, or queueStorage");return u},lock:e.lock,get callbackTransport(){return p},set callbackTransport(l){p=l;},dispatchExecution:(l,k)=>e.dispatchExecution?.(l,k)??f(l,k),supportsDirectSourceOutput:e.supportsDirectSourceOutput,resolveBlob:S,hashFn:e.hashFn,genId:e.genId,requestProcessAccumulated:e.requestProcessAccumulated,publishBoardChangeNotifications:e.publishBoardChangeNotifications,warn:e.onWarn}}function C(e){return e!==void 0?{status:"success",data:e}:{status:"success"}}function R(e){return {status:"fail",error:e}}function w(e){return {status:"error",error:e instanceof Error?e.message:String(e)}}function I(){return new Date().toISOString()}function Ze(e){let t=new TextEncoder().encode(e),a=Array.from(t,u=>String.fromCharCode(u)).join("");return btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function Me(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),a=t+"=".repeat((4-t.length%4)%4),u=atob(a),p=Uint8Array.from(u,S=>S.charCodeAt(0));return new TextDecoder().decode(p)}function ue(e){try{let t=JSON.parse(Me(e));return typeof t?.t=="string"?{taskName:t.t}:null}catch{return null}}function er(e){return Ze(JSON.stringify(e))}function He(e){try{let t=JSON.parse(Me(e));return typeof t?.cbk=="string"&&typeof t?.cid=="string"&&typeof t?.b=="string"&&typeof t?.d=="string"?t:null}catch{return null}}function rr(e){return j(e,o,()=>({_sources:{}}))}function tr(e,t){return h(e,t)}function nr(e){return k(e)}function ar(e,t){return i(e,t)}function or(e,t,a,u,p,S){return async f=>{let l=[],k=await a.cardStore.readCard(f.nodeId);if(!k)return "task-initiate-failure";let v=k.id,q=k.card_data??{},P=k.source_defs??[],N=P.filter(s=>s.optionalForCompletionGating!==true),V=await a.cardRuntimeStore.readRuntime(v),K=false,L=async()=>{K&&(await a.cardRuntimeStore.writeRuntime(v,V),K=false);},j=s=>p$1(V._sources[s]),b=(s,i)=>{V._sources[s]=p$1(i),K=true;},$=f.taskState?.executionCount??0;if(V._lastExecutionCount!==$&&(V._sources={},V._lastExecutionCount=$,K=true),f.update){let s$1=f.update.outputFile;if(s$1){let i=j(s$1);if(f.update.failure){let m=f.update.rqt??i.lastRequestedToken??i.queueRequestedToken;m&&b(s$1,s(i,m));}else {let m=f.update.rqt;if(!i.lastCompletedToken||m>i.lastCompletedToken){let h=typeof f.update.deliveryToken=="string"?f.update.deliveryToken:void 0,x=h?await a.fetchedSourcesStore.commitSourceData(v,s$1,h):false;b(s$1,x?r(i,m):s(i,m));}}await L();}}let J={};for(let s of P){if(!s.outputFile)continue;let i=await a.fetchedSourcesStore.readSourceData(v,s.outputFile);i!==null&&(J[s.bindTo]=i);}let Q={};for(let[s,i]of Object.entries(f.state??{}))if(i!==null&&typeof i=="object"&&!Array.isArray(i)){let m=i[s];Q[s]=m!==void 0?m:i;}else Q[s]=i;let H={id:v,card_data:{...q},requires:Q,source_defs:P,compute:k.compute};H._sourcesData=J,k.compute&&a$4.runSync(H,{sourcesData:J}),(p??(()=>{}))(v,H.computed_values??{});let G=a$4.enrichSourcesSync(Array.isArray(k.source_defs)?k.source_defs:void 0,{card_data:k.card_data,requires:Q}),z={...k,source_defs:Array.isArray(G)?G.map(s=>({...s,boardDir:typeof s.boardDir=="string"&&s.boardDir?s.boardDir:e.value})):G},_=I(),O=f.update?void 0:_,n=N.filter(s=>{let i=s.outputFile;if(typeof i!="string"||!i)return true;let m=j(i);O&&(m={...m,queueRequestedToken:O},b(i,m));let h=m.queueRequestedToken??m.lastRequestedToken??_;return q$1(m,h)==="dispatch"});if(await L(),n.length>0){let s=false,i=_;for(let m of n){let h=m.outputFile;if(typeof h!="string"||!h)continue;let x=j(h),F=x.queueRequestedToken??_;b(h,{...x,lastRequestedToken:F}),i=F,s=true;}return s&&await L(),s&&(l.push({taskKind:"source-fetch",payload:{boardRef:a$2(e),enrichedCard:z,callbackToken:f.callbackToken,rqt:i}}),await a.executionRequestStore.appendEntries(t,l)),"task-initiated"}if(N.some(s=>{let i=s.outputFile;if(typeof i!="string"||!i)return false;let m=j(i),h=m.queueRequestedToken??m.lastRequestedToken??_;return q$1(m,h)==="in-flight"}))return "task-initiated";let d=k.provides??[],o={};for(let{bindTo:s,ref:i}of d)o[s]=a$4.resolve(H,i);return (S??(()=>{}))(o),P.filter(s=>{if(s.optionalForCompletionGating!==true)return false;let i=j(s.outputFile);return !i.lastRequestedToken||!i.lastCompletedToken?true:i.lastCompletedToken<=i.lastRequestedToken}).length>0&&l.push({taskKind:"source-fetch",payload:{boardRef:a$2(e),enrichedCard:z,callbackToken:f.callbackToken,rqt:_}}),u(f.nodeId,o),l.length>0&&await a.executionRequestStore.appendEntries(t,l),"task-initiated"}}function Ir(e,t$1){d(t$1.callbackTransport,"createAsyncBoardLiveCardsPublic");let a=t$1.callbackTransport,u$2=t$1.warn??(()=>{}),p$1=a$2(e),S=null;function f(n){if(n.length!==0)try{return Promise.resolve(t$1.publishBoardChangeNotifications?.(n)).catch(r=>{u$2(`[async-board-live-cards-public] publishBoardChangeNotifications failed: ${r instanceof Error?r.message:String(r)}`);})}catch(r){u$2(`[async-board-live-cards-public] publishBoardChangeNotifications failed: ${r instanceof Error?r.message:String(r)}`);return}}let l=()=>Qe(t$1.kvStorage("config")),k=()=>t$1.kvStorage("state-snapshot"),v$1=e.value,q$1=()=>b$3(a$1(()=>k(),t$1.hashFn),"v1"),P=async()=>{let n=await l().readOutputsStoreRef();if(!n)throw new Error(`Board at ${e.value} has no outputs store configured.`);return nr(t$1.kvStorageForRef(n))},N=async()=>{let n=await l().readCardStoreRef();if(!n)throw new Error(`Board at ${e.value} has no card store configured.`);let r=t$1.kvStorageForRef(n);return Je(Le(We(r),t$1.hashFn),u$2)};async function V(){return !!(await q$1().readSnapshot(v$1)).values[n]}async function K(){let n$1=await q$1().readSnapshot(v$1);if(!n$1.values[n])throw new Error(`Board not initialized at ${e.value}`);return w$1(n$1.values)}async function L(n,r){let d=await q$1().commitSnapshot(v$1,{schemaVersion:"v1",expectedVersion:r,deleteKeys:[],shallowMerge:v(n)});if(!d.ok)throw new Error(`Snapshot commit failed (version mismatch): expected=${r??"null"} current=${d.currentVersion??"null"}`)}let j=()=>c$1(t$1.journalStorage());async function b(n){await j().appendEvent(n);}function $(){return tr(t$1.blobStorage("sources"),n=>t$1.resolveBlob(n))}async function J(n){let r=await Promise.resolve(t$1.blobStorage("sources").keyRef?.(n));return r?a$2(r):n}async function Q(){let n=ar(t$1.kvStorage("execution-requests"),async(c,g)=>{let A=c.payload,T=(A.enrichedCard??{}).id??A.cardId??"unknown";await b({type:"task-failed",taskName:T,error:g,timestamp:I()});}),r=rr(t$1.kvStorage("card-runtime")),d=$(),o=await N(),y=await P(),s=new Map,i=new Map,m=[],h=[],x=[],F=new Map,W=new Set,M={async readRuntime(c){return s.get(c)??await r.readRuntime(c)},async writeRuntime(c,g){s.set(c,g);}},ce={async readSourceData(c,g){let A=`${c}/${g}`;return i.has(A)?i.get(A):await d.readSourceData(c,g)},ingestSourceDataStaged(c,g,A,B){return d.ingestSourceDataStaged(c,g,A,B)},async commitSourceData(c,g,A){let B=`${c}/.staged/${A}/${g}`,T=t$1.blobStorage("sources"),D=await T.read(B);if(D==null){let X=await T.keyRef?.(B);X&&(D=await t$1.resolveBlob(X));}if(D==null)return false;let re=`${c}/${g}`,Y=D.trim();try{i.set(re,JSON.parse(Y));}catch{i.set(re,Y);}return m.push({cardId:c,outputFile:g,deliveryToken:A}),true},async hasSource(c,g){let A=`${c}/${g}`;return i.has(A)||await d.hasSource(c,g)},async listSources(c){let g=await d.listSources(c),A=[...i.keys()].filter(B=>B.startsWith(`${c}/`)).map(B=>B.slice(`${c}/`.length));return [...new Set([...g,...A])]}},ke=await K(),Ue=q(ke.graph),{events:Ge,newCursor:de}=await j().readEntriesAfterCursor(ke.lastDrainedJournalId),Z=Ge,ee=u$1(Ue,{handlers:{"card-handler":or(e,de,{cardStore:o,cardRuntimeStore:M,fetchedSourcesStore:ce,executionRequestStore:n},(c,g)=>{Z.push({type:"task-completed",taskName:c,data:g,timestamp:I()});},(c,g)=>{h.push({cardId:c,values:g});},c=>{x.push(c);})},onNodeRemoved:c=>{F.delete(c),s.delete(c),W.add(c);}});for(;Z.length>0;){let c=Z;Z=[];for(let g of c)if(g.type==="task-restart"){let A=await o.readCard(g.taskName);A&&F.set(g.taskName,A);}ee.pushAll(c),await ee.waitForHandlers();}let Re=ee.getState();await ee.dispose({wait:true}),await L({lastDrainedJournalId:de,graph:p(Re)},(await q$1().readSnapshot(v$1)).version);for(let{cardId:c,values:g}of h)await y.writeComputedValues(c,g);for(let c of x)await y.writeDataObjects(c);for(let[c,g]of s)await r.writeRuntime(c,g);for(let c of m)await d.commitSourceData(c.cardId,c.outputFile,c.deliveryToken);let he=t(p$1,Re);await y.writeStatusSnapshot(he);let U=[];for(let{cardId:c,values:g}of h)U.push({kind:"computed_values",cardId:c,values:g});for(let c of x)for(let[g,A]of Object.entries(c))U.push({kind:"data_object",key:g,payload:A});for(let[c,g]of F)U.push({kind:"card_refreshed",cardId:c,card:g});for(let c of W)U.push({kind:"card_removed",cardId:c});U.push({kind:"status",status:he}),await f(U);let le=await l().readTaskExecutorRef();if(!le)return;let ze=t$1.supportsDirectSourceOutput?.(le)===true;await n.dispatchEntriesForJournalId(de,async c=>{if(c.taskKind!=="source-fetch"){u$2(`[async-process-accumulated-events] unknown taskKind "${c.taskKind}" \u2014 skipping`);return}let g=c.payload,A=g.enrichedCard?.id??"unknown",B=g.enrichedCard?.source_defs??[];for(let T of B){if(!T.outputFile)continue;let D;if(ze){let X=t$1.genId(),Ye=`${A}/.staged/${X}/${T.outputFile}`,Ce=await Promise.resolve(t$1.blobStorage("sources").keyRef?.(Ye));Ce&&(D={ref:a$2(Ce),deliveryToken:X,outputFile:T.outputFile,cardId:A});}let re=er({cbk:g.callbackToken,rg:e.value,br:a$2(e),cid:A,b:T.bindTo,d:T.outputFile,cs:void 0,rqt:g.rqt,...D?{dt:D.deliveryToken}:{}}),Y=await t$1.dispatchExecution(le,{source_def:T,base_ref:a$2(e),callback:a.createCallback(re),...D?{output:D}:{}});Y.dispatched||await b({type:"task-failed",taskName:A,error:Y.error??"dispatch failed",timestamp:I()});}});}async function H(){try{let n=async()=>{let d=await K(),{events:o}=await j().readEntriesAfterCursor(d.lastDrainedJournalId);o.length>0&&await z();},r=await $e(t$1.lock,Q,n);return C({ran:r!==!1})}catch(n){return w(n)}}async function G(){return S||(S=H().finally(()=>{S=null;}),S)}async function z(){let n=t$1.processAccumulatedStore();n.enqueueIfAbsent?await n.enqueueIfAbsent({boardRef:a$2(e)},`process-accumulated:${a$2(e)}`):await n.enqueue({boardRef:a$2(e)}),await t$1.requestProcessAccumulated?.();}async function _(){let n=t$1.processAccumulatedStore();for(;;){let r=await n.lease({max:64,visibilityMs:1e3});if(r.length<=0)return;for(let d of r)await n.ack(d.id,d.leaseToken);if(r.length<64)return}}function O(){z();}return {async init(n){try{let r=n.params?.cardStoreRef;if(!r)return R("init requires params.cardStoreRef");let d=n.params?.outputsStoreRef;if(!d)return R("init requires params.outputsStoreRef");await V()||await L({lastDrainedJournalId:"",graph:p(a$3(u))},null);let o=l();await o.writeCardStoreRef(r),await o.writeOutputsStoreRef(d);let y=n.params?.scratchStoreRef,s=n.params?.archiveStoreRef,i=n.params?.chatStoreRef,m=n.params?.artifactsStoreRef;y&&await o.writeScratchStoreRef(y),s&&await o.writeArchiveStoreRef(s),i&&await o.writeChatStoreRef(i),m&&await o.writeArtifactsStoreRef(m);let h=n.body??{};return h["task-executor-ref"]&&await o.writeTaskExecutorRef(h["task-executor-ref"]),Object.prototype.hasOwnProperty.call(h,"chat-handler-flow")&&await o.writeChatHandlerFlow(h["chat-handler-flow"]),await(await P()).writeStatusSnapshot(t(p$1,q((await K()).graph))),C()}catch(r){return w(r)}},async status(n){try{let r=await P(),d=await r.readStatusSnapshot();return d||(d=t(p$1,q((await K()).graph)),await r.writeStatusSnapshot(d)),C(d)}catch(r){return w(r)}},async getCardStoreRef(n){try{let r=await l().readCardStoreRef();return r?C({storeRef:r}):R(`Board at ${e.value} has no card store configured`)}catch(r){return w(r)}},async getOutputsStoreRef(n){try{let r=await l().readOutputsStoreRef();return r?C({storeRef:r}):R(`Board at ${e.value} has no outputs store configured`)}catch(r){return w(r)}},async getScratchStoreRef(n){try{return C({storeRef:await l().readScratchStoreRef()})}catch(r){return w(r)}},async getArchiveStoreRef(n){try{return C({storeRef:await l().readArchiveStoreRef()})}catch(r){return w(r)}},async getChatStoreRef(n){try{return C({storeRef:await l().readChatStoreRef()})}catch(r){return w(r)}},async getArtifactsStoreRef(n){try{return C({storeRef:await l().readArtifactsStoreRef()})}catch(r){return w(r)}},async getConfig(n){try{let r=n.params?.key;if(!r)return R("getConfig requires params.key");let d=l(),o;switch(r){case "task-executor":o=await d.readTaskExecutorRef()??null;break;case "chat-handler-flow":o=await d.readChatHandlerFlow()??null;break;case "card-store-ref":o=await d.readCardStoreRef();break;case "outputs-store-ref":o=await d.readOutputsStoreRef();break;case "scratch-store-ref":o=await d.readScratchStoreRef();break;case "archive-store-ref":o=await d.readArchiveStoreRef();break;case "chat-store-ref":o=await d.readChatStoreRef();break;case "artifacts-store-ref":o=await d.readArtifactsStoreRef();break;default:return R(`getConfig: unknown key "${r}"`)}return C({value:o})}catch(r){return w(r)}},async getOutputsDataObject(n){try{let r=n.params?.key;return r?C(await(await P()).readDataObject(r)):R("getOutputsDataObject requires params.key")}catch(r){return w(r)}},async getAllOutputsDataObjects(n){try{return C(await(await P()).readAllDataObjects())}catch(r){return w(r)}},async getOutputsComputedValues(n){try{let r=n.params?.key;return r?C(await(await P()).readComputedValues(r)):R("getOutputsComputedValues requires params.key")}catch(r){return w(r)}},async getAllOutputsComputedValues(n){try{return C(await(await P()).readAllComputedValues())}catch(r){return w(r)}},async getOutputsFetchedSources(n){try{let r=n.params?.key;if(!r)return R("getOutputsFetchedSources requires params.key");let d=await $().listSources(r),o={};for(let y of d)o[y]=await J(`${r}/${y}`);return C(o)}catch(r){return w(r)}},async getAllOutputsFetchedSources(n){try{let r=$(),d=await t$1.blobStorage("sources").listKeys(),o=new Set;for(let s of d){let i=s.indexOf("/");i>0&&!s.includes("/.staged/")&&o.add(s.slice(0,i));}let y={};for(let s of o){let i=await r.listSources(s);if(i.length!==0){y[s]={};for(let m of i)y[s][m]=await J(`${s}/${m}`);}}return C(y)}catch(r){return w(r)}},async addCardFiles(n){try{let r=n.params?.cardId;if(!r)return R("addCardFiles requires params.cardId");let d=await N(),o=await d.readCard(r);if(!o)return R(`card "${r}" not found`);let y=n.body,s=Array.isArray(y)?y:y&&typeof y=="object"&&Array.isArray(y.files)?y.files:y!=null?[y]:null;if(!s||s.length===0)return R("addCardFiles requires a file metadata object, array, or body.files array");let i=o.card_data&&typeof o.card_data=="object"&&!Array.isArray(o.card_data)?o.card_data:{},m=Array.isArray(i.files)?i.files:[],h=[...m,...s],x=s.map((W,M)=>({idx:m.length+M,entry:W}));await d.writeCard(r,{...o,card_data:{...i,files:h}});let F=await this.cardRefreshedNotify({params:{cardId:r}});return F.status!=="success"?F:C({cardId:r,files_added:x,notified:!0})}catch(r){return w(r)}},async cardRefreshedNotify(n){try{let r=n.params?.cardId;if(!r)return R("cardRefreshedNotify requires params.cardId");let d=await(await N()).readCard(r);return d?(await f([{kind:"card_refreshed",cardId:r,card:d}]),C({cardId:r,notified:!0})):R(`Card "${r}" not found in board at ${e.value}`)}catch(r){return w(r)}},async removeCard(n){try{let r=n.params?.id;if(!r)return R("removeCard requires params.id");try{await t$1.kvStorage("card-upsert").delete(r);}catch{}return await b({type:"task-removal",taskName:r,timestamp:I()}),O(),C()}catch(r){return w(r)}},async retrigger(n){try{let r=n.params?.id;return r?(await b({type:"task-restart",taskName:r,timestamp:I()}),O(),C()):R("retrigger requires params.id")}catch(r){return w(r)}},async processAccumulatedEvents(n){return await _(),G()},async upsertCard(n){try{let r=n.params?.cardId,d=n.params?.all,o=!!n.params?.restart;if(!r&&!d)return R("upsertCard requires --card-id <id> or --all");let y=await N(),s=d?(await y.readAllCards()).map(m=>m.id):[r];for(let m of s)if(!await y.readCard(m))return R(`Card "${m}" not found in board at ${e.value}`);let i=t$1.kvStorage("card-upsert");for(let m of s){let h=await y.readCard(m);if(!h)continue;let x$1=x(h),F=t$1.hashFn(x$1),W=await i.read(m),M=W?.taskConfigHash!==F;if(!(!M&&!o)){if(M){let ce=W?.blobRef??await y.readCardKey(m)??m;await b({type:"task-upsert",taskName:m,taskConfig:x$1,timestamp:I()}),await i.write(m,{blobRef:ce,taskConfigHash:F,updatedAt:I()});}o&&await b({type:"task-restart",taskName:m,timestamp:I()});}}return O(),C()}catch(r){return w(r)}},async taskFailed(n){try{let r=n.params?.token;if(!r)return R("taskFailed requires params.token");let d=n.params?.error??"unknown error",o=ue(r);return o?(await b({type:"task-failed",taskName:o.taskName,error:d,timestamp:I()}),O(),C()):R("Invalid callback token")}catch(r){return w(r)}},async taskProgress(n){try{let r=n.params?.token;if(!r)return R("taskProgress requires params.token");let d=(n.body??{}).update??{},o=ue(r);return o?(await b({type:"task-progress",taskName:o.taskName,update:d,timestamp:I()}),O(),C()):R("Invalid callback token")}catch(r){return w(r)}},async sourceDataFetched(n){try{let r=n.params?.token,d=n.params?.ref;if(!r)return R("sourceDataFetched requires params.token");if(!d)return R("sourceDataFetched requires params.ref");let o=He(r);if(!o)return R("Invalid source token");let y=$(),s=o.dt||t$1.genId();o.dt||await y.ingestSourceDataStaged(o.cid,o.d,b$2(d),s);let i=ue(o.cbk);return i?(await b({type:"task-progress",taskName:i.taskName,update:{bindTo:o.b,outputFile:o.d,fetchedAt:I(),deliveryToken:s,sourceChecksum:o.cs,rqt:o.rqt},timestamp:I()}),O(),C()):R("Invalid callback token embedded in source token")}catch(r){return w(r)}},async sourceDataFetchFailure(n){try{let r=n.params?.token,d=n.params?.reason??"unknown";if(!r)return R("sourceDataFetchFailure requires params.token");let o=He(r);if(!o)return R("Invalid source token");let y=ue(o.cbk);return y?(await b({type:"task-progress",taskName:y.taskName,update:{bindTo:o.b,outputFile:o.d,failure:!0,reason:d,sourceChecksum:o.cs,rqt:o.rqt},timestamp:I()}),O(),C()):R("Invalid callback token embedded in source token")}catch(r){return w(r)}}}}
|
|
2
|
+
export{$e as a,We as b,Le as c,Je as d,cr as e,dr as f,ie as g,Qe as h,gr as i,Ir as j};//# sourceMappingURL=chunk-VMW4Z6EF.js.map
|
|
3
|
+
//# sourceMappingURL=chunk-VMW4Z6EF.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';function p(t){return String(t).replace(/[^a-zA-Z0-9_-]/g,"_")}function m(t){let n=t.payload??{};return {id:t.id,role:typeof n.role=="string"?n.role:"system",text:typeof n.text=="string"?n.text:"",files:Array.isArray(n.files)?n.files:[],turn:typeof n.turn=="string"?n.turn:"",updated_at:typeof n.updated_at=="string"?n.updated_at:""}}function T(t,n){let i=e=>`chats/${p(e)}/processing`,r=e=>`chats/${p(e)}/config`;return {append(e,a,o,u=[],s=""){return t(e).append({role:a,text:o,files:u,turn:s,updated_at:new Date().toISOString()}).id},readAll(e){return t(e).readAll().map(m)},readAfter(e,a){let o=t(e).readAfter(a);return {records:o.entries.map(m),cursor:o.newCursor}},clear(e){t(e).clear?.();},setProcessing(e,a){a?n.write(i(e),true):n.delete(i(e));},isProcessing(e){return n.read(i(e))===true},getConfig(e){return n.read(r(e))??{}},setConfig(e,a){let o=n.read(r(e))??{};n.write(r(e),{...o,...a});}}}function _(){let t=globalThis.crypto;return typeof t?.randomUUID=="function"?String(t.randomUUID()):`id-${Date.now()}-${Math.random().toString(36).slice(2)}`}function z(){let t=new Map,n=new Map;function i(r){return t.has(r)||t.set(r,[]),t.get(r)}return {append(r,e,a,o=[],u=""){let s={id:_(),role:e,text:a,files:o,turn:u,updated_at:new Date().toISOString()};return i(r).push(s),s.id},readAll(r){return i(r).slice()},readAfter(r,e){let a=i(r);if(!e)return {records:a.slice(),cursor:a.length>0?a[a.length-1].id:null};let o=a.findIndex(s=>s.id===e),u=o===-1?a.slice():a.slice(o+1);return {records:u,cursor:u.length>0?u[u.length-1].id:e}},clear(r){t.set(r,[]);},setProcessing(r,e){e?n.set(`p:${r}`,true):n.delete(`p:${r}`);},isProcessing(r){return n.get(`p:${r}`)===true},getConfig(r){return n.get(`c:${r}`)??{}},setConfig(r,e){let a=n.get(`c:${r}`)??{};n.set(`c:${r}`,{...a,...e});}}}function y(){return new Date().toISOString()}function x(t){return new TextEncoder().encode(t).byteLength}function S(t){return t?{key:t.key,size:t.size,updatedAt:t.updatedAt,contentType:t.contentType}:null}function w(t){let n=String(t||"").match(/^(\d+)[-_]/);return n?parseInt(n[1],10):0}function L(t){let n=String(t||"").trim();if(!n)return "upload.bin";let i=Math.max(n.lastIndexOf("/"),n.lastIndexOf("\\"));return (i>=0?n.slice(i+1):n)||"upload.bin"}function b(t){return String(t||"").toLowerCase().replace(/\s+/g,"_").replace(/[^a-z0-9_-]/g,"_").replace(/_+/g,"_").replace(/^_+|_+$/g,"")||"file"}function I(t){if(!t||t===".")return "";let n=String(t).replace(/^\./,"").toLowerCase().replace(/[^a-z0-9]/g,"");return n?`.${n}`:""}function k(t){let n=L(t),i=n.lastIndexOf(".");return i<=0||i===n.length-1?{stem:n,ext:""}:{stem:n.slice(0,i),ext:n.slice(i)}}function M(t){let n=t.lastIndexOf("/");return n>=0?t.slice(n+1):t}function F(t){function n(i){let r=t.stat?S(t.stat(i)):null;if(r)return r;if(!t.exists(i))return null;let e=t.read(i);return e===null?{key:i}:{key:i,size:x(e)}}return {exists(i){return t.exists(i)},putText(i,r,e="text/plain; charset=utf-8"){t.write(i,r);let a=n(i)??{key:i};return a.contentType=e,a.updatedAt=a.updatedAt??y(),a.size=a.size??x(r),a},putBytes(i,r,e="application/octet-stream"){if(t.writeBytes)t.writeBytes(i,r);else {let o=JSON.stringify({__kind:"bytes-array",data:[...r]});t.write(i,o);}let a=n(i)??{key:i};return a.contentType=e,a.updatedAt=a.updatedAt??y(),a.size=a.size??r.byteLength,a},getText(i){let r=t.read(i);if(r===null){if(!t.readBytes)return null;let e=t.readBytes(i);return e===null?null:Buffer.from(e).toString("utf-8")}try{let e=JSON.parse(r);if(e&&e.__kind==="bytes-array"&&Array.isArray(e.data))return new TextDecoder("utf-8").decode(new Uint8Array(e.data))}catch{}return r},getBytes(i){if(t.readBytes){let e=t.readBytes(i);if(e!==null)return e}let r=t.read(i);if(r===null)return null;try{let e=JSON.parse(r);if(e&&e.__kind==="bytes-array"&&Array.isArray(e.data))return new Uint8Array(e.data)}catch{}return new TextEncoder().encode(r)},head:n,list(i=""){return t.listKeys(i).map(r=>n(r)??{key:r}).sort((r,e)=>r.key.localeCompare(e.key))},remove(i){t.remove(i);}}}function $(t){function n(e,a){let o=0,u=[];Array.isArray(a)&&u.push(...a);for(let s of t.list(`${e}/`))u.push(M(s.key));for(let s of u){let l=w(s);Number.isFinite(l)&&l>o&&(o=l);}return o+1}function i(e,a,o){let u=Number(o?.maxLen||32),{stem:s,ext:l}=k(e),h=I(l),A=b(s),g=`${String(a).padStart(3,"0")}-`,d=h,f=u-g.length-d.length;f<1&&(d="",f=u-g.length);let C=A.slice(0,Math.max(1,f)),c=`${g}${C}${d}`;return c.length>u&&(c=c.slice(0,u).replace(/\.$/,"")),c}function r(e,a,o){let u=n(e,o?.seedNames),s=i(a,u,{maxLen:o?.maxLen});for(;t.exists(`${e}/${s}`);)u+=1,s=i(a,u,{maxLen:o?.maxLen});return s}return {nextSerial:n,buildStoredName:i,allocateStoredName:r}}function B(){function t(e,a){if(!Array.isArray(e))return [];let o=[];for(let u of e){if(!u||typeof u!="object")continue;let s=u;typeof s.stored_name=="string"&&o.push({name:typeof s.name=="string"?s.name:s.stored_name,stored_name:s.stored_name,size:typeof s.size=="number"&&Number.isFinite(s.size)?s.size:null,mime_type:typeof s.mime_type=="string"?s.mime_type:null,uploaded_at:typeof s.uploaded_at=="string"?s.uploaded_at:a||null,chat:s.chat===true});}return o}function n(e){return !e||typeof e!="object"?[]:t(e.files,void 0)}function i(e,a){let o=n(e);if(a.length===0)return e.files=o,o;let u=new Set(o.map(s=>s.stored_name));for(let s of a)u.has(s.stored_name)||(o.push(s),u.add(s.stored_name));return e.files=o,o}function r(e,a,o){let u=n(e);if(!Number.isInteger(a)||a<0||a>=u.length)return {ok:false,reason:"index_out_of_range"};let s=u[a];return !s||!s.stored_name?{ok:false,reason:"missing_stored_name"}:o&&o!==s.stored_name?{ok:false,reason:"stale_reference"}:{ok:true,file:s}}return {read:n,normalizeIncoming:t,merge:i,resolve:r}}function Q(t){return {lanes:t}}exports.a=T;exports.b=z;exports.c=F;exports.d=$;exports.e=B;exports.f=Q;//# sourceMappingURL=chunk-WOALA3V5.cjs.map
|
|
2
|
+
//# sourceMappingURL=chunk-WOALA3V5.cjs.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {a as a$1}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import {a as a$1}from'./chunk-BQS3EIEK.js';function i(e,t){let n;return /\.m?js$/i.test(e)?n="local-node":/\.py$/i.test(e)?n="local-python":n="local-process",{meta:"task-executor",howToRun:n,whatToRun:a$1({kind:"fs-path",value:e}),...t?{extra:t}:{}}}function s(e){return JSON.stringify(e)}function a(e){let t;try{t=JSON.parse(e);}catch{throw new Error(`parseExecutionRef: invalid JSON \u2014 ${e}`)}if(typeof t!="object"||t===null||typeof t.howToRun!="string"||typeof t.whatToRun!="string")throw new Error(`parseExecutionRef: missing required fields howToRun/whatToRun \u2014 ${e}`);return t}export{i as a,s as b,a as c};//# sourceMappingURL=chunk-XQRNDX4Q.js.map
|
|
2
|
+
//# sourceMappingURL=chunk-XQRNDX4Q.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkH5HBXPOI_cjs=require('./chunk-H5HBXPOI.cjs');require('./chunk-PBCDDO4V.cjs'),require('./chunk-OEFTOO47.cjs'),require('./chunk-U2N6MCD5.cjs'),require('./chunk-SFVO2LB2.cjs'),require('./chunk-G4XXRHL2.cjs'),require('./chunk-LODXIALE.cjs'),require('./chunk-IXZG74EW.cjs'),require('./chunk-NMZ6XNLB.cjs'),require('./chunk-UJ7ZTV4J.cjs'),require('./chunk-YMEIPKLW.cjs'),require('./chunk-GNFE24S7.cjs');function Q(e){if(!e||typeof e!="object")return;let t=e;if(typeof t.statusCode=="number")return t.statusCode;if(typeof t.code=="number")return t.code}function c(e,t){return Q(e)===t}function l(e,t,r){return t?typeof t=="function"?t(e):t:r}function b(e){return (e?.()??new Date).toISOString()}function O(e,t){if(t)return t();let r=String((e?.()??new Date).getTime()).padStart(13,"0"),n=Math.random().toString(36).slice(2,10).padEnd(8,"0");return `${r}-${n}`}function p(e){return {id:e.id,payload:e.payload}}function z(e,t={}){return {async read(r){let n=l(r,t.partitionKey,"kv");try{return (await e.item(r,n).read()).resource?.value??null}catch(o){if(c(o,404))return null;throw o}},async write(r,n){let o=l(r,t.partitionKey,"kv");await e.items.upsert({id:r,pk:o,kind:"kv",value:n});},async delete(r){let n=l(r,t.partitionKey,"kv");try{await e.item(r,n).delete();}catch(o){if(!c(o,404))throw o}},async listKeys(r=""){let{resources:n}=await e.items.query({query:"SELECT c.id FROM c WHERE c.kind = @kind AND STARTSWITH(c.id, @prefix)",parameters:[{name:"@kind",value:"kv"},{name:"@prefix",value:r}]}).fetchAll();return n.map(o=>o.id).sort()}}}function I(e,t,r={}){let n=l(t,r.partitionKey,`journal:${t}`);return {async append(o){let s={id:O(r.now,r.idFactory),pk:n,kind:"journal",streamKey:t,createdAt:b(r.now),payload:o};return await e.items.create(s),p(s)},async readAll(){let{resources:o}=await e.items.query({query:"SELECT * FROM c WHERE c.kind = @kind AND c.pk = @pk AND c.streamKey = @streamKey ORDER BY c.id",parameters:[{name:"@kind",value:"journal"},{name:"@pk",value:n},{name:"@streamKey",value:t}]}).fetchAll();return o.sort((s,a)=>s.id.localeCompare(a.id)).map(p)},async readAfter(o){let{resources:s}=await e.items.query({query:o?"SELECT * FROM c WHERE c.kind = @kind AND c.pk = @pk AND c.streamKey = @streamKey AND c.id > @cursor ORDER BY c.id":"SELECT * FROM c WHERE c.kind = @kind AND c.pk = @pk AND c.streamKey = @streamKey ORDER BY c.id",parameters:[{name:"@kind",value:"journal"},{name:"@pk",value:n},{name:"@streamKey",value:t},...o?[{name:"@cursor",value:o}]:[]]}).fetchAll(),a=s.sort((m,g)=>m.id.localeCompare(g.id));return {entries:a.map(p),newCursor:a.length>0?a[a.length-1].id:o}},async clear(){let o=await this.readAll();await Promise.all(o.map(s=>e.item(s.id,n).delete()));}}}function K(e,t,r={}){let n=r.partitionKey??"lock",o=r.holderId??`holder-${Math.random().toString(36).slice(2,10)}`,s=r.now,a=r.ttlMs??3e4;function m(){let i=s?.()??new Date;return {id:t,pk:n,kind:"lock",held:true,holderId:o,expiresAt:new Date(i.getTime()+a).toISOString(),updatedAt:i.toISOString()}}function g(i){return {...i??{id:t,pk:n,kind:"lock"},kind:"lock",held:false,holderId:o,expiresAt:null,updatedAt:b(s)}}async function k(){try{return (await e.item(t,n).read()).resource??null}catch(i){if(c(i,404))return null;throw i}}function S(i){return i?.held?i.expiresAt?Date.parse(i.expiresAt)>(s?.()??new Date).getTime():true:false}return {async tryAcquire(){let i=await k(),A=m();if(i){if(S(i))return null;try{await e.item(t,n).replace(A,i._etag?{accessCondition:{type:"IfMatch",condition:i._etag}}:void 0);}catch(u){if(c(u,412)||c(u,409))return null;throw u}}else try{await e.items.create(A);}catch(u){if(c(u,409))return null;throw u}return async()=>{let u=await k();if(!u)return;let w=g(u);try{await e.item(t,n).replace(w,u._etag?{accessCondition:{type:"IfMatch",condition:u._etag}}:void 0);}catch{}}}}}function E(e){return new TextDecoder().decode(e)}function J(e,t={}){return {async read(r){if(!await e.getBlobClient(r).exists())return null;let n=await e.getBlobClient(r).downloadToBuffer();return E(n)},async write(r,n){await e.getBlockBlobClient(r).upload(n,new TextEncoder().encode(n).byteLength,{blobHTTPHeaders:{blobContentType:t.defaultContentType??"application/json; charset=utf-8"}});},exists(r){return e.getBlobClient(r).exists()},async remove(r){await e.getBlobClient(r).deleteIfExists();},async readBytes(r){return await e.getBlobClient(r).exists()?await e.getBlobClient(r).downloadToBuffer():null},async writeBytes(r,n){await e.getBlockBlobClient(r).upload(n,n.byteLength,{blobHTTPHeaders:{blobContentType:t.defaultContentType??"application/octet-stream"}});},async listKeys(r=""){let n=[];for await(let o of e.listBlobsFlat({prefix:r}))n.push(o.name);return n.sort()},async stat(r){if(!await e.getBlobClient(r).exists())return null;let n=await e.getBlobClient(r).getProperties();return {key:r,size:Number(n.contentLength??0),updatedAt:n.lastModified?.toISOString(),contentType:n.contentType}},keyRef(r){return t.keyRef?.(r)??{kind:"azure-blob-key",value:r}}}}function C(e){if(!e||typeof e!="object")return;let t=e;if(typeof t.statusCode=="number")return t.statusCode;if(typeof t.code=="number")return t.code}function y(e){let t=JSON.stringify(e),r=globalThis.Buffer;if(r)return r.from(t,"utf-8").toString("base64");if(typeof btoa=="function")return btoa(t);throw new Error("No base64 encoder available in this runtime")}function f(e){let t=e??"",r=globalThis.Buffer;if(r)return JSON.parse(r.from(t,"base64").toString("utf-8"));if(typeof atob=="function")return JSON.parse(atob(t));throw new Error("No base64 decoder available in this runtime")}function d(e,t){return (e??t()).toISOString()}function q(e,t){return {id:String(e.messageId??""),body:f(e.messageText),enqueuedAt:d(e.insertedOn??e.insertionTime,t),attempt:Number(e.dequeueCount??0)}}function j(e,t){return {id:String(e.messageId??""),body:f(e.messageText),enqueuedAt:d(e.insertedOn??e.insertionTime,t),attempt:Number(e.dequeueCount??0),leaseToken:String(e.popReceipt??""),leaseExpiresAt:d(e.nextVisibleOn,t)}}function N(e,t={}){let r=t.now??(()=>new Date);return {async enqueue(n){let o=await e.sendMessage(y(n));return {id:String(o.messageId??""),body:n,enqueuedAt:d(o.insertionTime,r),attempt:0}},async lease(n){return (await e.receiveMessages({numberOfMessages:n?.max,visibilityTimeout:n?.visibilityMs?Math.max(1,Math.ceil(n.visibilityMs/1e3)):void 0})).receivedMessageItems.map(s=>j(s,r))},async ack(n,o){try{return await e.deleteMessage(n,o),!0}catch(s){if(C(s)===404)return false;throw s}},async nack(n,o,s){try{if(s?.dead){if(!t.deadLetterQueueClient)return !1;let a={messageId:n,reason:s.reason??null};return await t.deadLetterQueueClient.sendMessage(y(a)),await e.deleteMessage(n,o),!0}return await e.updateMessage(n,o,y({requeued:!0}),0),!0}catch(a){if(C(a)===404)return false;throw a}},async peekActive(n=""){return (await e.peekMessages({numberOfMessages:32})).peekedMessageItems.map(s=>q(s,r)).filter(s=>!n||s.id.startsWith(n))},async peekDeadLetter(n=""){return t.deadLetterQueueClient?(await t.deadLetterQueueClient.peekMessages({numberOfMessages:32})).peekedMessageItems.map(s=>{let a=f(s.messageText);return {id:String(s.messageId??""),body:a,enqueuedAt:d(s.insertedOn??s.insertionTime,r),attempt:Number(s.dequeueCount??0),reason:typeof a.reason=="string"?a.reason:void 0}}).filter(s=>!n||s.id.startsWith(n)):[]}}}Object.defineProperty(exports,"createAsyncBoardConfigStore",{enumerable:true,get:function(){return chunkH5HBXPOI_cjs.h}});Object.defineProperty(exports,"createAsyncBoardLiveCardsPublic",{enumerable:true,get:function(){return chunkH5HBXPOI_cjs.j}});Object.defineProperty(exports,"createAsyncBoardWorkerStore",{enumerable:true,get:function(){return chunkH5HBXPOI_cjs.g}});Object.defineProperty(exports,"createAsyncCardStorageAdapter",{enumerable:true,get:function(){return chunkH5HBXPOI_cjs.c}});Object.defineProperty(exports,"createAsyncCardStore",{enumerable:true,get:function(){return chunkH5HBXPOI_cjs.d}});Object.defineProperty(exports,"createAsyncJsonStorage",{enumerable:true,get:function(){return chunkH5HBXPOI_cjs.b}});Object.defineProperty(exports,"createAsyncStateSnapshotAdapter",{enumerable:true,get:function(){return chunkH5HBXPOI_cjs.e}});Object.defineProperty(exports,"createAsyncStorageProvider",{enumerable:true,get:function(){return chunkH5HBXPOI_cjs.f}});Object.defineProperty(exports,"createHostedAsyncBoardPlatformAdapter",{enumerable:true,get:function(){return chunkH5HBXPOI_cjs.i}});Object.defineProperty(exports,"withAsyncRelayLock",{enumerable:true,get:function(){return chunkH5HBXPOI_cjs.a}});exports.createAzureBlobStorage=J;exports.createAzureQueueStorage=N;exports.createCosmosAtomicRelayLock=K;exports.createCosmosJournalStorage=I;exports.createCosmosKvStorage=z;//# sourceMappingURL=cloud-storage.cjs.map
|
|
2
|
+
//# sourceMappingURL=cloud-storage.cjs.map
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { b as AsyncJSONStorage, c as AsyncKVStorage, d as AsyncBlobStorage, e as AsyncJournalStorage, f as AsyncStorageProvider, g as AsyncAtomicRelayLock, h as AsyncQueueStorage } from './board-live-cards-public-async-dMWNbWq6.cjs';
|
|
2
|
+
export { i as AsyncBoardConfigStore, A as AsyncBoardLiveCardsPublic, a as AsyncBoardPlatformAdapter, j as AsyncBoardWorkerDeadLetterRequest, k as AsyncBoardWorkerLeasedRequest, l as AsyncBoardWorkerQueuedRequest, m as AsyncBoardWorkerRequest, n as AsyncBoardWorkerStore, H as HostedAsyncBoardPlatformAdapterOptions, o as HostedFetchLike, p as HostedFetchResponseLike, q as createAsyncBoardConfigStore, r as createAsyncBoardLiveCardsPublic, s as createAsyncBoardWorkerStore, t as createHostedAsyncBoardPlatformAdapter, w as withAsyncRelayLock } from './board-live-cards-public-async-dMWNbWq6.cjs';
|
|
3
|
+
import { L as LiveCard, i as CardChecksumIndex, j as CardUpsertValidation, k as CardIndex, S as StateSnapshotReadView } from './board-live-cards-public-wkNmBIRC.cjs';
|
|
4
|
+
import { a as KindValueRef } from './storage-interface-BFiD3kyB.cjs';
|
|
5
|
+
import './execution-refs.cjs';
|
|
6
|
+
import './types-BBhqYGhE.cjs';
|
|
7
|
+
|
|
8
|
+
interface AsyncCardStorageAdapter {
|
|
9
|
+
readIndex(): Promise<CardIndex | null>;
|
|
10
|
+
writeIndex(index: CardIndex): Promise<void>;
|
|
11
|
+
readCard(key: string): Promise<LiveCard | null>;
|
|
12
|
+
writeCard(key: string, card: LiveCard): Promise<string>;
|
|
13
|
+
removeCard(key: string): Promise<void>;
|
|
14
|
+
cardExists(key: string): Promise<boolean>;
|
|
15
|
+
defaultCardKey(cardId: string): string;
|
|
16
|
+
}
|
|
17
|
+
interface AsyncCardStore {
|
|
18
|
+
readCard(id: string): Promise<LiveCard | null>;
|
|
19
|
+
readCardKey(id: string): Promise<string | null>;
|
|
20
|
+
readAllCards(): Promise<LiveCard[]>;
|
|
21
|
+
readChecksumIndex(): Promise<CardChecksumIndex>;
|
|
22
|
+
changedSince(snapshotChecksumIndex: CardChecksumIndex): Promise<string[]>;
|
|
23
|
+
}
|
|
24
|
+
interface AsyncCardAdminStore extends AsyncCardStore {
|
|
25
|
+
validateUpsert(id: string, cardKey: string): Promise<CardUpsertValidation>;
|
|
26
|
+
writeCard(id: string, card: LiveCard, cardKey?: string): Promise<void>;
|
|
27
|
+
patchCard(id: string, jsonPath: string, value: unknown): Promise<void>;
|
|
28
|
+
removeCard(id: string): Promise<void>;
|
|
29
|
+
readIndex(): Promise<CardIndex>;
|
|
30
|
+
}
|
|
31
|
+
interface AsyncStateSnapshotStorageAdapter {
|
|
32
|
+
readValues(scopeId: string): Promise<StateSnapshotReadView>;
|
|
33
|
+
writeValues(scopeId: string, nextValues: Record<string, unknown>, deletedKeys: string[]): Promise<string>;
|
|
34
|
+
}
|
|
35
|
+
declare function createAsyncJsonStorage(kv: AsyncKVStorage): AsyncJSONStorage;
|
|
36
|
+
declare function createAsyncCardStorageAdapter(json: AsyncJSONStorage, computeHash: (v: unknown) => string): AsyncCardStorageAdapter;
|
|
37
|
+
declare function createAsyncCardStore(adapter: AsyncCardStorageAdapter, onWarn?: (msg: string) => void): AsyncCardAdminStore;
|
|
38
|
+
declare function createAsyncStateSnapshotAdapter(kvFactory: (scopeId: string) => AsyncKVStorage, computeHash: (v: unknown) => string): AsyncStateSnapshotStorageAdapter;
|
|
39
|
+
declare function createAsyncStorageProvider(blob: AsyncBlobStorage, kv: AsyncKVStorage, journal: AsyncJournalStorage): AsyncStorageProvider;
|
|
40
|
+
|
|
41
|
+
type CosmosStatusResult<T> = {
|
|
42
|
+
resource?: T;
|
|
43
|
+
statusCode?: number;
|
|
44
|
+
};
|
|
45
|
+
type CosmosAccessCondition = {
|
|
46
|
+
type: 'IfMatch';
|
|
47
|
+
condition: string;
|
|
48
|
+
};
|
|
49
|
+
interface CosmosSqlQuerySpec {
|
|
50
|
+
query: string;
|
|
51
|
+
parameters?: Array<{
|
|
52
|
+
name: string;
|
|
53
|
+
value: unknown;
|
|
54
|
+
}>;
|
|
55
|
+
}
|
|
56
|
+
interface CosmosQueryIteratorLike<T> {
|
|
57
|
+
fetchAll(): Promise<{
|
|
58
|
+
resources: T[];
|
|
59
|
+
}>;
|
|
60
|
+
}
|
|
61
|
+
interface CosmosItemLike<T> {
|
|
62
|
+
read(): Promise<CosmosStatusResult<T>>;
|
|
63
|
+
replace(body: T, options?: {
|
|
64
|
+
accessCondition?: CosmosAccessCondition;
|
|
65
|
+
}): Promise<CosmosStatusResult<T>>;
|
|
66
|
+
delete(): Promise<{
|
|
67
|
+
statusCode?: number;
|
|
68
|
+
}>;
|
|
69
|
+
}
|
|
70
|
+
interface CosmosContainerLike {
|
|
71
|
+
item<T = unknown>(id: string, partitionKey?: unknown): CosmosItemLike<T>;
|
|
72
|
+
items: {
|
|
73
|
+
upsert<T>(body: T): Promise<CosmosStatusResult<T>>;
|
|
74
|
+
create<T>(body: T): Promise<CosmosStatusResult<T>>;
|
|
75
|
+
query<T>(query: CosmosSqlQuerySpec): CosmosQueryIteratorLike<T>;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
type PartitionResolver = string | ((key: string) => string);
|
|
79
|
+
interface CosmosKvStorageOptions {
|
|
80
|
+
partitionKey?: PartitionResolver;
|
|
81
|
+
}
|
|
82
|
+
interface CosmosJournalStorageOptions {
|
|
83
|
+
partitionKey?: PartitionResolver;
|
|
84
|
+
now?: () => Date;
|
|
85
|
+
idFactory?: () => string;
|
|
86
|
+
}
|
|
87
|
+
interface CosmosAtomicRelayLockOptions {
|
|
88
|
+
partitionKey?: string;
|
|
89
|
+
holderId?: string;
|
|
90
|
+
ttlMs?: number;
|
|
91
|
+
now?: () => Date;
|
|
92
|
+
}
|
|
93
|
+
declare function createCosmosKvStorage(container: CosmosContainerLike, options?: CosmosKvStorageOptions): AsyncKVStorage;
|
|
94
|
+
declare function createCosmosJournalStorage(container: CosmosContainerLike, streamKey: string, options?: CosmosJournalStorageOptions): AsyncJournalStorage;
|
|
95
|
+
declare function createCosmosAtomicRelayLock(container: CosmosContainerLike, lockId: string, options?: CosmosAtomicRelayLockOptions): AsyncAtomicRelayLock;
|
|
96
|
+
|
|
97
|
+
interface AzureBlobItemLike {
|
|
98
|
+
name: string;
|
|
99
|
+
properties?: {
|
|
100
|
+
contentLength?: number;
|
|
101
|
+
lastModified?: Date;
|
|
102
|
+
contentType?: string;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
interface AzureBlobClientLike {
|
|
106
|
+
downloadToBuffer(): Promise<Uint8Array>;
|
|
107
|
+
exists(): Promise<boolean>;
|
|
108
|
+
deleteIfExists(): Promise<unknown>;
|
|
109
|
+
getProperties(): Promise<{
|
|
110
|
+
contentLength?: number;
|
|
111
|
+
lastModified?: Date;
|
|
112
|
+
contentType?: string;
|
|
113
|
+
}>;
|
|
114
|
+
}
|
|
115
|
+
interface AzureBlockBlobClientLike {
|
|
116
|
+
upload(data: string | Uint8Array, length: number, options?: {
|
|
117
|
+
blobHTTPHeaders?: {
|
|
118
|
+
blobContentType?: string;
|
|
119
|
+
};
|
|
120
|
+
}): Promise<unknown>;
|
|
121
|
+
}
|
|
122
|
+
interface AzureBlobContainerClientLike {
|
|
123
|
+
getBlobClient(key: string): AzureBlobClientLike;
|
|
124
|
+
getBlockBlobClient(key: string): AzureBlockBlobClientLike;
|
|
125
|
+
listBlobsFlat(options?: {
|
|
126
|
+
prefix?: string;
|
|
127
|
+
}): AsyncIterable<AzureBlobItemLike>;
|
|
128
|
+
}
|
|
129
|
+
interface AzureBlobStorageOptions {
|
|
130
|
+
defaultContentType?: string;
|
|
131
|
+
keyRef?: (key: string) => KindValueRef;
|
|
132
|
+
}
|
|
133
|
+
declare function createAzureBlobStorage(containerClient: AzureBlobContainerClientLike, options?: AzureBlobStorageOptions): AsyncBlobStorage;
|
|
134
|
+
|
|
135
|
+
interface AzureQueueSentMessageLike {
|
|
136
|
+
messageId?: string;
|
|
137
|
+
insertionTime?: Date;
|
|
138
|
+
}
|
|
139
|
+
interface AzureQueueReceivedMessageLike {
|
|
140
|
+
messageId?: string;
|
|
141
|
+
messageText?: string;
|
|
142
|
+
insertedOn?: Date;
|
|
143
|
+
insertionTime?: Date;
|
|
144
|
+
dequeueCount?: number;
|
|
145
|
+
popReceipt?: string;
|
|
146
|
+
nextVisibleOn?: Date;
|
|
147
|
+
}
|
|
148
|
+
interface AzureQueuePeekedMessageLike {
|
|
149
|
+
messageId?: string;
|
|
150
|
+
messageText?: string;
|
|
151
|
+
insertedOn?: Date;
|
|
152
|
+
insertionTime?: Date;
|
|
153
|
+
dequeueCount?: number;
|
|
154
|
+
}
|
|
155
|
+
interface AzureQueueClientLike {
|
|
156
|
+
sendMessage(content: string): Promise<AzureQueueSentMessageLike>;
|
|
157
|
+
receiveMessages(options?: {
|
|
158
|
+
numberOfMessages?: number;
|
|
159
|
+
visibilityTimeout?: number;
|
|
160
|
+
}): Promise<{
|
|
161
|
+
receivedMessageItems: AzureQueueReceivedMessageLike[];
|
|
162
|
+
}>;
|
|
163
|
+
deleteMessage(messageId: string, popReceipt: string): Promise<unknown>;
|
|
164
|
+
updateMessage(messageId: string, popReceipt: string, content: string, visibilityTimeout?: number): Promise<unknown>;
|
|
165
|
+
peekMessages(options?: {
|
|
166
|
+
numberOfMessages?: number;
|
|
167
|
+
}): Promise<{
|
|
168
|
+
peekedMessageItems: AzureQueuePeekedMessageLike[];
|
|
169
|
+
}>;
|
|
170
|
+
}
|
|
171
|
+
interface AzureQueueStorageOptions {
|
|
172
|
+
deadLetterQueueClient?: AzureQueueClientLike;
|
|
173
|
+
now?: () => Date;
|
|
174
|
+
}
|
|
175
|
+
declare function createAzureQueueStorage(queueClient: AzureQueueClientLike, options?: AzureQueueStorageOptions): AsyncQueueStorage;
|
|
176
|
+
|
|
177
|
+
export { AsyncAtomicRelayLock, AsyncBlobStorage, type AsyncCardAdminStore, type AsyncCardStorageAdapter, type AsyncCardStore, AsyncJSONStorage, AsyncJournalStorage, AsyncKVStorage, AsyncQueueStorage, type AsyncStateSnapshotStorageAdapter, AsyncStorageProvider, type AzureBlobClientLike, type AzureBlobContainerClientLike, type AzureBlobItemLike, type AzureBlobStorageOptions, type AzureBlockBlobClientLike, type AzureQueueClientLike, type AzureQueuePeekedMessageLike, type AzureQueueReceivedMessageLike, type AzureQueueSentMessageLike, type AzureQueueStorageOptions, type CosmosAtomicRelayLockOptions, type CosmosContainerLike, type CosmosItemLike, type CosmosJournalStorageOptions, type CosmosKvStorageOptions, type CosmosQueryIteratorLike, type CosmosSqlQuerySpec, createAsyncCardStorageAdapter, createAsyncCardStore, createAsyncJsonStorage, createAsyncStateSnapshotAdapter, createAsyncStorageProvider, createAzureBlobStorage, createAzureQueueStorage, createCosmosAtomicRelayLock, createCosmosJournalStorage, createCosmosKvStorage };
|