@graphrefly/graphrefly 0.30.0 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{cascading-dNCtjW8j.d.cts → cascading-BfQmSmjU.d.cts} +21 -2
- package/dist/{cascading-BszPheHD.d.ts → cascading-D3sapjue.d.ts} +21 -2
- package/dist/chunk-2JNT5NDF.js +61 -0
- package/dist/{chunk-DDPYNMGG.js → chunk-2RH4QNDQ.js} +1 -1
- package/dist/chunk-4JBKKUCJ.js +7 -0
- package/dist/{chunk-SLMYTGTU.js → chunk-4UUDNFYG.js} +1 -1
- package/dist/chunk-4VXL3UZK.js +1 -0
- package/dist/{chunk-SHYH5SXV.js → chunk-4YGJ7KZ6.js} +1 -1
- package/dist/{chunk-GJR3P6JG.js → chunk-5PBXUVHI.js} +1 -1
- package/dist/{chunk-W4TSQ6RJ.js → chunk-7AJKUA36.js} +1 -1
- package/dist/{chunk-XQAXYVXX.js → chunk-7EMUF2RY.js} +1 -1
- package/dist/chunk-7JZ3YORY.js +80 -0
- package/dist/chunk-7QMVU3IX.js +1 -0
- package/dist/{chunk-WANIEEKV.js → chunk-7QS77X6G.js} +1 -1
- package/dist/{chunk-BA5URFYW.js → chunk-A4JT4SAD.js} +1 -1
- package/dist/{chunk-Y36UZ5VS.js → chunk-BU4SUZSA.js} +1 -1
- package/dist/{chunk-P7JXGKDO.js → chunk-CNXUW2CU.js} +1 -1
- package/dist/{chunk-Y32RJO24.js → chunk-CZVYLXFK.js} +1 -1
- package/dist/{chunk-567NWZ3T.js → chunk-DWIAG62L.js} +1 -1
- package/dist/chunk-EIFHFDFD.js +1 -0
- package/dist/chunk-FTA5TB2A.js +1 -0
- package/dist/{chunk-T5SHIKJD.js → chunk-JAHAJU4G.js} +1 -1
- package/dist/{chunk-AV3PIDFQ.js → chunk-JYMNVEH6.js} +1 -1
- package/dist/{chunk-5Z4HDCO6.js → chunk-K54OKWNY.js} +1 -1
- package/dist/chunk-KD3IYBTD.js +3 -0
- package/dist/{chunk-3NEPQO2E.js → chunk-LG73TUF4.js} +2 -2
- package/dist/chunk-LJGPOJHS.js +1 -0
- package/dist/chunk-LWGLBCMU.js +1 -0
- package/dist/{chunk-BKPLTBL5.js → chunk-M2VFLRPJ.js} +1 -1
- package/dist/{chunk-GNCBXARM.js → chunk-MFNOZ5E6.js} +1 -1
- package/dist/{chunk-TWMEGG45.js → chunk-N2KKISCE.js} +1 -1
- package/dist/chunk-PNTBXOQ6.js +5 -0
- package/dist/{chunk-73Z3W2RN.js → chunk-PWKLZ2XU.js} +1 -1
- package/dist/{chunk-7TDOES3L.js → chunk-Q2SY7M7K.js} +1 -1
- package/dist/{chunk-OL33ZI6R.js → chunk-RWGJQQLT.js} +1 -1
- package/dist/chunk-SGS4OJGS.js +1 -0
- package/dist/{chunk-4OFIQ66T.js → chunk-TOCCHQI6.js} +1 -1
- package/dist/chunk-UMH3HSP7.js +1 -0
- package/dist/{chunk-XHVB6G6M.js → chunk-UXEB35L4.js} +1 -1
- package/dist/{chunk-33FA6V4B.js → chunk-VXJX3ZZP.js} +1 -1
- package/dist/{chunk-BZP5T4X6.js → chunk-W6FQIFVE.js} +1 -1
- package/dist/{chunk-RD52SNH2.js → chunk-WE32AFFA.js} +1 -1
- package/dist/{chunk-KA6MMXIY.js → chunk-WF3V5X2L.js} +1 -1
- package/dist/chunk-WQ7I7JVU.js +1 -0
- package/dist/{chunk-4JJCCD5S.js → chunk-X4OOM6QU.js} +1 -1
- package/dist/{chunk-AUY2YKCO.js → chunk-XRSHMHEG.js} +1 -1
- package/dist/chunk-Y26UN6J5.js +18 -0
- package/dist/{chunk-VWPRPPKR.js → chunk-ZWETYYQG.js} +1 -1
- package/dist/compat/index.cjs +2 -2
- package/dist/compat/index.d.cts +5 -5
- package/dist/compat/index.d.ts +5 -5
- package/dist/compat/index.js +1 -1
- package/dist/compat/jotai/index.cjs +1 -1
- package/dist/compat/jotai/index.js +1 -1
- package/dist/compat/nanostores/index.cjs +1 -1
- package/dist/compat/nanostores/index.js +1 -1
- package/dist/compat/nestjs/index.cjs +5 -5
- package/dist/compat/nestjs/index.d.cts +3 -3
- package/dist/compat/nestjs/index.d.ts +3 -3
- package/dist/compat/nestjs/index.js +1 -1
- package/dist/compat/zustand/index.cjs +2 -2
- package/dist/compat/zustand/index.d.cts +2 -2
- package/dist/compat/zustand/index.d.ts +2 -2
- package/dist/compat/zustand/index.js +1 -1
- package/dist/{composite-DGspwCqk.d.ts → composite-BY9hMxN7.d.ts} +1 -1
- package/dist/{composite-nrRumJ7l.d.cts → composite-CH0S8DFn.d.cts} +1 -1
- package/dist/content-addressed-storage-BUiREIuj.d.ts +124 -0
- package/dist/content-addressed-storage-DqIWCmZG.d.cts +124 -0
- package/dist/core/index.cjs +1 -1
- package/dist/core/index.js +1 -1
- package/dist/extra/browser.cjs +1 -1
- package/dist/extra/browser.js +1 -1
- package/dist/extra/index.cjs +18 -18
- package/dist/extra/index.d.cts +7 -6
- package/dist/extra/index.d.ts +7 -6
- package/dist/extra/index.js +1 -1
- package/dist/extra/node.cjs +2 -2
- package/dist/extra/node.js +1 -1
- package/dist/extra/operators.cjs +1 -1
- package/dist/extra/operators.d.cts +41 -1
- package/dist/extra/operators.d.ts +41 -1
- package/dist/extra/operators.js +1 -1
- package/dist/extra/reactive.cjs +1 -1
- package/dist/extra/reactive.d.cts +1 -1
- package/dist/extra/reactive.d.ts +1 -1
- package/dist/extra/reactive.js +1 -1
- package/dist/extra/sources.cjs +1 -1
- package/dist/extra/sources.d.cts +62 -2
- package/dist/extra/sources.d.ts +62 -2
- package/dist/extra/sources.js +1 -1
- package/dist/extra/storage-browser.cjs +1 -1
- package/dist/extra/storage-browser.js +1 -1
- package/dist/{fallback-BaTS7vVY.d.cts → fallback-Cb3GH1O7.d.cts} +6 -14
- package/dist/{fallback-eOm3LNxP.d.ts → fallback-DRjJ_ZM8.d.ts} +6 -14
- package/dist/graph/index.cjs +4 -4
- package/dist/graph/index.d.cts +3 -3
- package/dist/graph/index.d.ts +3 -3
- package/dist/graph/index.js +1 -1
- package/dist/{graph-CWeI0aHd.d.ts → graph-BOhEGJ6E.d.ts} +10 -0
- package/dist/{graph-C4Uxwv0T.d.cts → graph-CdJeX7O7.d.cts} +10 -0
- package/dist/{index-B-z8WaSd.d.cts → index-BDLy6CQ9.d.cts} +1 -1
- package/dist/{index-iBp74eGU.d.cts → index-BJDXj9Wf.d.cts} +2 -2
- package/dist/{index-BBINVimG.d.ts → index-BUZPTPSQ.d.ts} +2 -2
- package/dist/{index-DnrZghBB.d.ts → index-BbcSZCAG.d.ts} +1 -1
- package/dist/{index-lKuLYmHO.d.cts → index-BiGeETJs.d.cts} +1 -1
- package/dist/{index-BHu_Wba0.d.cts → index-BmZb8fNF.d.cts} +3 -3
- package/dist/{index-Docdiu9a.d.ts → index-Bnmttu35.d.ts} +1 -1
- package/dist/{index-D6ajK8Mh.d.cts → index-BuN2wGJs.d.cts} +517 -134
- package/dist/{index-Cy7eFeIX.d.cts → index-BwdPDWI4.d.cts} +1 -1
- package/dist/{index-DylQCKEL.d.cts → index-BzxU4yhV.d.cts} +11 -2
- package/dist/{index-D9Y_u6BG.d.cts → index-C-Gsh-0a.d.cts} +2 -2
- package/dist/{index-ybtSyjWB.d.cts → index-C22aTC1X.d.cts} +5 -5
- package/dist/{index-yIdWFo2b.d.cts → index-C4QTaDli.d.cts} +2 -2
- package/dist/{index-BJHQUCZx.d.ts → index-C7RqYbOZ.d.ts} +82 -7
- package/dist/{index-C5Ghnp5B.d.ts → index-C9qCLIN4.d.ts} +2 -2
- package/dist/{index-DVNLe3pS.d.cts → index-CCdg0JLX.d.cts} +1 -1
- package/dist/{index-B5iVOD7w.d.ts → index-CEoU-r-g.d.ts} +2 -2
- package/dist/{index-CfFYyLR8.d.ts → index-CHfBm51k.d.ts} +11 -2
- package/dist/{index-Dljd76bC.d.ts → index-CNyiYQWF.d.ts} +5 -5
- package/dist/{index-C6NBfXj-.d.ts → index-CVevMZ0n.d.ts} +2 -2
- package/dist/{index-DGb1awva.d.ts → index-CZUzi6Dy.d.ts} +2 -2
- package/dist/{index-FrYrV-Vf.d.ts → index-Ckl03Q0s.d.ts} +1 -1
- package/dist/{index-Bvi5uJxX.d.ts → index-CmSjld-4.d.ts} +1 -1
- package/dist/{index-9iguV3bF.d.cts → index-CnjUhRbs.d.cts} +2 -2
- package/dist/{index-C98oJsEs.d.cts → index-D3HcdZ4d.d.cts} +1 -1
- package/dist/{index-IZ3l_vQ9.d.ts → index-DD1czHj3.d.ts} +1 -1
- package/dist/{index-BS220yqj.d.cts → index-DNhTQReY.d.cts} +82 -7
- package/dist/{index-UZO988ox.d.cts → index-DSawGt8n.d.cts} +2 -2
- package/dist/{index-CcpEvuPl.d.cts → index-DUkuH3jP.d.cts} +1 -1
- package/dist/{index-CRAkoq-y.d.cts → index-DY2QbdoP.d.cts} +1 -1
- package/dist/{index-CvS9IuTG.d.ts → index-Dbmj0iYR.d.ts} +1 -1
- package/dist/{index-ClgKmOHe.d.ts → index-DhlAMlm9.d.ts} +517 -134
- package/dist/{index-ClB7TCfL.d.cts → index-DlGaEBW5.d.cts} +2 -2
- package/dist/{index-CotRMjtJ.d.ts → index-Dp_pS7Bw.d.ts} +1 -1
- package/dist/{index-Cc8VQIgL.d.ts → index-Dxk-pUQI.d.ts} +2 -2
- package/dist/{index-DBQUKh59.d.cts → index-EGjF6iSY.d.cts} +3 -3
- package/dist/{index-D9HrBx2J.d.ts → index-LGzAYqdR.d.ts} +1 -1
- package/dist/{index-DR3gf_DG.d.cts → index-LzCJ0kMT.d.cts} +2 -2
- package/dist/{index-RQg6lTrN.d.ts → index-MV2yGIAq.d.ts} +2 -2
- package/dist/{index-Bs3-LC83.d.cts → index-_BXz9K7b.d.cts} +1 -1
- package/dist/{index-SSGqF8mI.d.cts → index-aBqZUx3B.d.cts} +1 -1
- package/dist/{index-CFW32Dy1.d.ts → index-eYHRkoK-.d.ts} +1 -1
- package/dist/{index-B2HBxvMb.d.ts → index-gXTVbSax.d.ts} +3 -3
- package/dist/{index-B8Aj_z8S.d.cts → index-j33Lfb1G.d.cts} +23 -2
- package/dist/{index-BEpRsvhg.d.ts → index-lpGUhTBn.d.ts} +3 -3
- package/dist/{index-BXbQUn4n.d.ts → index-zMQIQuDu.d.ts} +23 -2
- package/dist/index.cjs +106 -125
- package/dist/index.d.cts +34 -33
- package/dist/index.d.ts +34 -33
- package/dist/index.js +1 -1
- package/dist/patterns/ai/browser.cjs +5 -22
- package/dist/patterns/ai/browser.d.cts +3 -3
- package/dist/patterns/ai/browser.d.ts +3 -3
- package/dist/patterns/ai/browser.js +1 -1
- package/dist/patterns/ai/index.cjs +30 -44
- package/dist/patterns/ai/index.d.cts +13 -11
- package/dist/patterns/ai/index.d.ts +13 -11
- package/dist/patterns/ai/index.js +1 -1
- package/dist/patterns/ai/node.cjs +2 -2
- package/dist/patterns/ai/node.d.cts +5 -4
- package/dist/patterns/ai/node.d.ts +5 -4
- package/dist/patterns/ai/node.js +1 -1
- package/dist/patterns/audit/index.cjs +3 -3
- package/dist/patterns/audit/index.d.cts +3 -3
- package/dist/patterns/audit/index.d.ts +3 -3
- package/dist/patterns/audit/index.js +1 -1
- package/dist/patterns/cqrs/index.cjs +6 -6
- package/dist/patterns/cqrs/index.d.cts +2 -2
- package/dist/patterns/cqrs/index.d.ts +2 -2
- package/dist/patterns/cqrs/index.js +1 -1
- package/dist/patterns/demo-shell/index.cjs +2 -2
- package/dist/patterns/demo-shell/index.d.cts +3 -3
- package/dist/patterns/demo-shell/index.d.ts +3 -3
- package/dist/patterns/demo-shell/index.js +1 -1
- package/dist/patterns/domain-templates/index.cjs +6 -6
- package/dist/patterns/domain-templates/index.d.cts +2 -2
- package/dist/patterns/domain-templates/index.d.ts +2 -2
- package/dist/patterns/domain-templates/index.js +1 -1
- package/dist/patterns/graphspec/index.cjs +27 -25
- package/dist/patterns/graphspec/index.d.cts +3 -3
- package/dist/patterns/graphspec/index.d.ts +3 -3
- package/dist/patterns/graphspec/index.js +1 -1
- package/dist/patterns/guarded-execution/index.cjs +7 -7
- package/dist/patterns/guarded-execution/index.d.cts +4 -4
- package/dist/patterns/guarded-execution/index.d.ts +4 -4
- package/dist/patterns/guarded-execution/index.js +1 -1
- package/dist/patterns/harness/index.cjs +12 -11
- package/dist/patterns/harness/index.d.cts +6 -6
- package/dist/patterns/harness/index.d.ts +6 -6
- package/dist/patterns/harness/index.js +1 -1
- package/dist/patterns/job-queue/index.cjs +5 -5
- package/dist/patterns/job-queue/index.d.cts +2 -2
- package/dist/patterns/job-queue/index.d.ts +2 -2
- package/dist/patterns/job-queue/index.js +1 -1
- package/dist/patterns/lens/index.cjs +5 -5
- package/dist/patterns/lens/index.d.cts +4 -4
- package/dist/patterns/lens/index.d.ts +4 -4
- package/dist/patterns/lens/index.js +1 -1
- package/dist/patterns/memory/index.cjs +4 -4
- package/dist/patterns/memory/index.d.cts +2 -2
- package/dist/patterns/memory/index.d.ts +2 -2
- package/dist/patterns/memory/index.js +1 -1
- package/dist/patterns/messaging/index.cjs +5 -5
- package/dist/patterns/messaging/index.d.cts +2 -2
- package/dist/patterns/messaging/index.d.ts +2 -2
- package/dist/patterns/messaging/index.js +1 -1
- package/dist/patterns/orchestration/index.cjs +7 -7
- package/dist/patterns/orchestration/index.d.cts +2 -2
- package/dist/patterns/orchestration/index.d.ts +2 -2
- package/dist/patterns/orchestration/index.js +1 -1
- package/dist/patterns/reactive-layout/index.cjs +2 -2
- package/dist/patterns/reactive-layout/index.d.cts +3 -3
- package/dist/patterns/reactive-layout/index.d.ts +3 -3
- package/dist/patterns/reactive-layout/index.js +1 -1
- package/dist/patterns/reduction/index.cjs +5 -5
- package/dist/patterns/reduction/index.d.cts +2 -2
- package/dist/patterns/reduction/index.d.ts +2 -2
- package/dist/patterns/reduction/index.js +1 -1
- package/dist/patterns/refine-loop/index.cjs +8 -8
- package/dist/patterns/refine-loop/index.d.cts +3 -3
- package/dist/patterns/refine-loop/index.d.ts +3 -3
- package/dist/patterns/refine-loop/index.js +1 -1
- package/dist/patterns/resilient-pipeline/index.cjs +1 -1
- package/dist/patterns/resilient-pipeline/index.d.cts +3 -3
- package/dist/patterns/resilient-pipeline/index.d.ts +3 -3
- package/dist/patterns/resilient-pipeline/index.js +1 -1
- package/dist/patterns/surface/index.cjs +15 -13
- package/dist/patterns/surface/index.d.cts +4 -4
- package/dist/patterns/surface/index.d.ts +4 -4
- package/dist/patterns/surface/index.js +1 -1
- package/dist/{reactive-layout-BAr6-_o5.d.ts → reactive-layout-Bq0rA2Wb.d.ts} +1 -1
- package/dist/{reactive-layout-5oEn8lHM.d.cts → reactive-layout-Dhhe54Oj.d.cts} +1 -1
- package/dist/{reactive-map-BvDrRuwt.d.ts → reactive-map-CtRaCddO.d.ts} +59 -1
- package/dist/{reactive-map-CmlPPKHN.d.cts → reactive-map-IJIfZxoh.d.cts} +59 -1
- package/dist/{resilience-XRUF267O.js → resilience-IVNDYORD.js} +1 -1
- package/dist/{topology-tree-CVREibAc.d.cts → topology-tree-CpSjvIXp.d.cts} +1 -1
- package/dist/{topology-tree-CkjojcB6.d.ts → topology-tree-DAbCV2Yw.d.ts} +1 -1
- package/dist/{types-O3GzJY2U.d.cts → types-BgMqbc7N.d.cts} +41 -14
- package/dist/{types-u64Ose53.d.ts → types-CdfO2QTt.d.ts} +41 -14
- package/package.json +1 -1
- package/dist/chunk-2GQREQ6C.js +0 -1
- package/dist/chunk-4C2OR2GH.js +0 -18
- package/dist/chunk-5JDE5JHE.js +0 -1
- package/dist/chunk-7JDLFI6N.js +0 -1
- package/dist/chunk-AMBYCIOH.js +0 -3
- package/dist/chunk-GLSM33ZM.js +0 -78
- package/dist/chunk-ISCENNXS.js +0 -1
- package/dist/chunk-IUK4EFCE.js +0 -1
- package/dist/chunk-KASHOCF5.js +0 -1
- package/dist/chunk-LI3E75VE.js +0 -64
- package/dist/chunk-MGKAO4EK.js +0 -7
- package/dist/chunk-NSG4C6BF.js +0 -23
- package/dist/chunk-VIEUJSTT.js +0 -1
package/dist/chunk-NSG4C6BF.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import{a as v,f as M}from"./chunk-7JDLFI6N.js";import{d as S}from"./chunk-OL33ZI6R.js";import{o as h}from"./chunk-W4TSQ6RJ.js";function O(e={}){return e.sdk?Q(e):z(e)}function _(e,t,o,n){let r=t?.model??o;if(!r)throw new Error("anthropicAdapter: model must be set via options.model or invokeOpts.model");let{system:s,chat:a}=W(e,t?.systemPrompt),i={model:r,messages:a.map(Y),max_tokens:t?.maxTokens??4096};return s&&(i.system=s),t?.temperature!=null&&(i.temperature=t.temperature),t?.tools&&t.tools.length>0&&(i.tools=t.tools.map(V)),t?.maxReasoningTokens!=null&&(i.thinking={type:"enabled",budget_tokens:t.maxReasoningTokens}),t?.cacheHint,n&&(i.stream=!0),t?.providerExtras&&Object.assign(i,t.providerExtras),i}function W(e,t){let o=[];t&&o.push(t);let n=[];for(let r of e)r.role==="system"?o.push(r.content):n.push(r);return{system:o.length>0?o.join(`
|
|
2
|
-
|
|
3
|
-
`):void 0,chat:n}}function Y(e){if(e.role==="tool")return{role:"user",content:[{type:"tool_result",tool_use_id:e.toolCallId,content:e.content}]};if(e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0){let t=[];e.content&&t.push({type:"text",text:e.content});for(let o of e.toolCalls)t.push({type:"tool_use",id:o.id,name:o.name,input:o.arguments});return{role:"assistant",content:t}}return{role:e.role,content:e.content}}function V(e){return{name:e.name,description:e.description,input_schema:e.parameters}}function A(e,t){if(!e)return{...t};let o={...e};return t.input_tokens!=null&&(o.input_tokens=t.input_tokens),t.output_tokens!=null&&(o.output_tokens=t.output_tokens),t.cache_read_input_tokens!=null&&(o.cache_read_input_tokens=t.cache_read_input_tokens),t.cache_creation_input_tokens!=null&&(o.cache_creation_input_tokens=t.cache_creation_input_tokens),t.cache_creation&&(o.cache_creation={...e.cache_creation??{},...t.cache_creation}),t.server_tool_use&&(o.server_tool_use={...e.server_tool_use??{},...t.server_tool_use}),o}function w(e){let t={input:{regular:e?.input_tokens??0},output:{regular:e?.output_tokens??0},raw:e};return e?.cache_read_input_tokens&&(t.input.cacheRead=e.cache_read_input_tokens),e?.cache_creation?(e.cache_creation.ephemeral_5m_input_tokens&&(t.input.cacheWrite5m=e.cache_creation.ephemeral_5m_input_tokens),e.cache_creation.ephemeral_1h_input_tokens&&(t.input.cacheWrite1h=e.cache_creation.ephemeral_1h_input_tokens)):e?.cache_creation_input_tokens&&(t.input.cacheWrite5m=e.cache_creation_input_tokens),e?.server_tool_use?.web_search_requests&&(t.auxiliary={webSearchRequests:e.server_tool_use.web_search_requests}),t}function P(e,t){let o=[],n=[];for(let r of e.content)if(r.type==="text"&&typeof r.text=="string")o.push(r.text);else if(r.type==="tool_use"){let s=r;n.push({id:s.id,name:s.name,arguments:s.input??{}})}return{content:o.join(""),toolCalls:n.length>0?n:void 0,usage:w(e.usage),finishReason:e.stop_reason,latencyMs:t,model:e.model,provider:"anthropic"}}function z(e){let t=e.apiKey??globalThis.process?.env?.ANTHROPIC_API_KEY,o=e.baseURL??"https://api.anthropic.com",n=e.anthropicVersion??"2023-06-01",r=e.fetchImpl??fetch,s=()=>{if(!t)throw new Error("anthropicAdapter: apiKey required for invoke/stream (or provide opts.sdk)");return{"x-api-key":t,"anthropic-version":n,"content-type":"application/json",...e.headers??{}}};return{provider:"anthropic",model:e.model,async invoke(a,i){let c=_(a,i,e.model,!1),u=h(),d=await r(`${o}/v1/messages`,{method:"POST",headers:s(),body:JSON.stringify(c),signal:i?.signal});if(!d.ok)throw await T(d);let l=await d.json(),p=Math.max(0,(h()-u)/1e6);return P(l,p)},async*stream(a,i){let c=_(a,i,e.model,!0),u=await r(`${o}/v1/messages`,{method:"POST",headers:{...s(),accept:"text/event-stream"},body:JSON.stringify(c),signal:i?.signal});if(!u.ok)throw await T(u);if(!u.body)throw new Error("anthropicAdapter: streaming response has no body");let d,l,p=new Map;for await(let f of X(u.body)){let k=f.data;if(!k)continue;let y;try{y=JSON.parse(k)}catch{continue}switch(y.type){case"message_start":{d=A(d,y.message.usage);break}case"content_block_start":{let g=y,m=g.content_block;m.type==="tool_use"&&(p.set(g.index,{id:String(m.id??""),name:String(m.name??""),argBuf:""}),yield{type:"tool-call-delta",delta:{id:String(m.id??""),name:String(m.name??"")}});break}case"content_block_delta":{let g=y,m=g.delta;if(m.type==="text_delta"&&typeof m.text=="string")yield{type:"token",delta:m.text};else if(m.type==="input_json_delta"&&typeof m.partial_json=="string"){let E=p.get(g.index);E&&(E.argBuf+=m.partial_json),yield{type:"tool-call-delta",delta:{argumentsDelta:m.partial_json}}}else m.type==="thinking_delta"&&typeof m.thinking=="string"&&(yield{type:"thinking",delta:m.thinking});break}case"message_delta":{let g=y;g.delta.stop_reason&&(l=g.delta.stop_reason),g.delta.usage&&(d=A(d,g.delta.usage));break}case"message_stop":break}}d&&(yield{type:"usage",usage:w(d)}),yield{type:"finish",reason:l??"stop"}}}}function Q(e){let t=e.sdk;if(!t)throw new Error("sdkBackedAnthropic: sdk instance required");return{provider:"anthropic",model:e.model,async invoke(o,n){let r=_(o,n,e.model,!1),s=h(),a=await t.messages.create(r,{signal:n?.signal}),i=Math.max(0,(h()-s)/1e6);return P(a,i)},async*stream(o,n){if(!t.messages.stream)throw new Error("sdkBackedAnthropic: SDK instance does not expose .messages.stream");let r=_(o,n,e.model,!0),s,a;for await(let i of t.messages.stream(r,{signal:n?.signal}))switch(i.type){case"message_start":s=A(s,i.message.usage);break;case"content_block_delta":{let c=i.delta;c?.type==="text_delta"&&typeof c.text=="string"?yield{type:"token",delta:c.text}:c?.type==="input_json_delta"&&typeof c.partial_json=="string"?yield{type:"tool-call-delta",delta:{argumentsDelta:c.partial_json}}:c?.type==="thinking_delta"&&typeof c.thinking=="string"&&(yield{type:"thinking",delta:c.thinking});break}case"message_delta":{let c=i;c.delta.stop_reason&&(a=c.delta.stop_reason),c.delta.usage&&(s=A(s,c.delta.usage));break}}s&&(yield{type:"usage",usage:w(s)}),yield{type:"finish",reason:a??"stop"}}}}async function*X(e){let t=e.getReader(),o=new TextDecoder,n="";try{for(;;){let{done:r,value:s}=await t.read();if(r){n.length>0&&(yield I(n));return}n+=o.decode(s,{stream:!0});let a=U(n);for(;a!==null;){let i=n.slice(0,a.index);n=n.slice(a.index+a.length);let c=I(i);(c.data||c.event)&&(yield c),a=U(n)}}}finally{t.releaseLock()}}function I(e){let t={},o=[];for(let n of e.split(`
|
|
4
|
-
`)){let r=n.endsWith("\r")?n.slice(0,-1):n;if(!r||r.startsWith(":"))continue;let s=r.indexOf(":"),a=s===-1?r:r.slice(0,s),i=s===-1?"":r.slice(s+1).replace(/^ /,"");a==="data"?o.push(i):a==="event"?t.event=i:a==="id"&&(t.id=i)}return o.length>0&&(t.data=o.join(`
|
|
5
|
-
`)),t}function U(e){let t=e.indexOf(`\r
|
|
6
|
-
\r
|
|
7
|
-
`),o=e.indexOf(`
|
|
8
|
-
|
|
9
|
-
`),n=null;return t!==-1&&(n={index:t,length:4}),o!==-1&&(n===null||o<n.index)&&(n={index:o,length:2}),n}async function T(e){let t;try{t=await e.text()}catch{t=""}let o=new Error(`Anthropic API ${e.status}: ${e.statusText}${t?` \u2014 ${t}`:""}`);return o.status=e.status,o.headers=e.headers,o}function j(e={}){return e.sdk?ne(e):te(e)}function b(e,t){let o=[],n=[];t?.systemPrompt&&o.push(t.systemPrompt);for(let a of e){if(a.role==="system"){o.push(a.content);continue}if(a.role==="tool"){n.push({role:"user",parts:[{functionResponse:{name:a.name??a.toolCallId??"tool",response:{result:a.content}}}]});continue}if(a.role==="assistant"&&a.toolCalls&&a.toolCalls.length>0){let i=[];a.content&&i.push({text:a.content});for(let c of a.toolCalls)i.push({functionCall:{name:c.name,args:c.arguments}});n.push({role:"model",parts:i});continue}n.push({role:a.role==="assistant"?"model":"user",parts:[{text:a.content}]})}let r={contents:n};o.length>0&&(r.systemInstruction={role:"system",parts:[{text:o.join(`
|
|
10
|
-
|
|
11
|
-
`)}]});let s={};return t?.maxTokens!=null&&(s.maxOutputTokens=t.maxTokens),t?.temperature!=null&&(s.temperature=t.temperature),t?.maxReasoningTokens!=null&&(s.thinkingConfig={thinkingBudget:t.maxReasoningTokens}),Object.keys(s).length>0&&(r.generationConfig=s),t?.tools&&t.tools.length>0&&(r.tools=[{functionDeclarations:t.tools.map(Z)}]),t?.providerExtras&&Object.assign(r,t.providerExtras),r}function Z(e){return{name:e.name,description:e.description,parameters:e.parameters}}function L(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let o=e.promptTokenCount??0,n=e.cachedContentTokenCount??0;if(t.input.regular=Math.max(0,o-n),n>0&&(t.input.cacheRead=n),e.toolUsePromptTokenCount&&(t.input.toolUse=e.toolUsePromptTokenCount),e.promptTokensDetails)for(let r of e.promptTokensDetails){let s=r.modality?.toLowerCase();s==="image"?t.input.image=(t.input.image??0)+r.tokenCount:s==="audio"?t.input.audio=(t.input.audio??0)+r.tokenCount:s==="video"&&(t.input.video=(t.input.video??0)+r.tokenCount)}return t.output.regular=e.candidatesTokenCount??0,e.thoughtsTokenCount&&(t.output.reasoning=e.thoughtsTokenCount),t}function $(e,t){let o=e.candidates?.[0],n=o?.content?.parts??[],r=[],s=[],a=0;for(let i of n)typeof i.text=="string"&&r.push(i.text),i.functionCall&&s.push({id:`${i.functionCall.name}-${a++}`,name:i.functionCall.name,arguments:i.functionCall.args??{}});return{content:r.join(""),toolCalls:s.length>0?s:void 0,usage:L(e.usageMetadata),finishReason:o?.finishReason,latencyMs:t,model:e.modelVersion,provider:"google"}}function ee(e){if(e.apiKey)return e.apiKey;let t=globalThis.process?.env;return t?.GOOGLE_API_KEY??t?.GEMINI_API_KEY}function te(e){let t=e.baseURL??"https://generativelanguage.googleapis.com/v1beta",o=e.fetchImpl??fetch,n=s=>{let a=s?.model??e.model;if(!a)throw new Error("googleAdapter: model must be set via options.model or invokeOpts.model");return a},r=()=>{let s=ee(e);if(!s)throw new Error("googleAdapter: apiKey required for invoke/stream");return`key=${encodeURIComponent(s)}`};return{provider:"google",model:e.model,async invoke(s,a){let i=n(a),c=b(s,a),u=h(),d=`${t}/models/${encodeURIComponent(i)}:generateContent?${r()}`,l=await o(d,{method:"POST",headers:{"content-type":"application/json",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!l.ok)throw await D(l);let p=await l.json(),f=Math.max(0,(h()-u)/1e6);return $(p,f)},async*stream(s,a){let i=n(a),c=b(s,a),u=`${t}/models/${encodeURIComponent(i)}:streamGenerateContent?alt=sse&${r()}`,d=await o(u,{method:"POST",headers:{"content-type":"application/json",accept:"text/event-stream",...e.headers??{}},body:JSON.stringify(c),signal:a?.signal});if(!d.ok)throw await D(d);if(!d.body)throw new Error("googleAdapter: streaming response has no body");let l,p;for await(let f of oe(d.body)){if(!f.data)continue;let k;try{k=JSON.parse(f.data)}catch{continue}let y=k.candidates?.[0];for(let g of y?.content?.parts??[])typeof g.text=="string"&&(g.thought?yield{type:"thinking",delta:g.text}:yield{type:"token",delta:g.text}),g.functionCall&&(yield{type:"tool-call-delta",delta:{name:g.functionCall.name,argumentsDelta:JSON.stringify(g.functionCall.args??{})}});y?.finishReason&&(p=y.finishReason),k.usageMetadata&&(l=k.usageMetadata)}l&&(yield{type:"usage",usage:L(l)}),yield{type:"finish",reason:p??"stop"}}}}function ne(e){let t=e.sdk;if(!t)throw new Error("sdkBackedGoogle: sdk instance required");return{provider:"google",model:e.model,async invoke(o,n){let r=b(o,n),s=n?.model??e.model;if(!s)throw new Error("googleAdapter: model required");let a=h(),i=await t.models.generateContent({...r,model:s},{signal:n?.signal}),c=Math.max(0,(h()-a)/1e6);return $(i,c)},async*stream(o,n){if(!t.models.generateContentStream)throw new Error("sdkBackedGoogle: SDK instance does not expose generateContentStream");let r=b(o,n),s=n?.model??e.model;if(!s)throw new Error("googleAdapter: model required");let a,i;for await(let c of t.models.generateContentStream({...r,model:s},{signal:n?.signal})){let u=c.candidates?.[0];for(let d of u?.content?.parts??[])typeof d.text=="string"&&(d.thought?yield{type:"thinking",delta:d.text}:yield{type:"token",delta:d.text}),d.functionCall&&(yield{type:"tool-call-delta",delta:{name:d.functionCall.name,argumentsDelta:JSON.stringify(d.functionCall.args??{})}});u?.finishReason&&(i=u.finishReason),c.usageMetadata&&(a=c.usageMetadata)}a&&(yield{type:"usage",usage:L(a)}),yield{type:"finish",reason:i??"stop"}}}}async function*oe(e){let t=e.getReader(),o=new TextDecoder,n="";try{for(;;){let{done:r,value:s}=await t.read();if(r){n.length>0&&(yield G(n));return}n+=o.decode(s,{stream:!0});let a=K(n);for(;a!==null;){let i=n.slice(0,a.index);n=n.slice(a.index+a.length);let c=G(i);(c.data||c.event)&&(yield c),a=K(n)}}}finally{t.releaseLock()}}function G(e){let t={},o=[];for(let n of e.split(`
|
|
12
|
-
`)){let r=n.endsWith("\r")?n.slice(0,-1):n;if(!r||r.startsWith(":"))continue;let s=r.indexOf(":"),a=s===-1?r:r.slice(0,s),i=s===-1?"":r.slice(s+1).replace(/^ /,"");a==="data"?o.push(i):a==="event"?t.event=i:a==="id"&&(t.id=i)}return o.length>0&&(t.data=o.join(`
|
|
13
|
-
`)),t}function K(e){let t=e.indexOf(`\r
|
|
14
|
-
\r
|
|
15
|
-
`),o=e.indexOf(`
|
|
16
|
-
|
|
17
|
-
`),n=null;return t!==-1&&(n={index:t,length:4}),o!==-1&&(n===null||o<n.index)&&(n={index:o,length:2}),n}async function D(e){let t;try{t=await e.text()}catch{t=""}let o=new Error(`Google API ${e.status}: ${e.statusText}${t?` \u2014 ${t}`:""}`);return o.status=e.status,o.headers=e.headers,o}var re={openai:{baseURL:"https://api.openai.com/v1",apiKeyEnv:"OPENAI_API_KEY",provider:"openai"},openrouter:{baseURL:"https://openrouter.ai/api/v1",apiKeyEnv:"OPENROUTER_API_KEY",provider:"openrouter"},groq:{baseURL:"https://api.groq.com/openai/v1",apiKeyEnv:"GROQ_API_KEY",provider:"groq"},ollama:{baseURL:"http://localhost:11434/v1",provider:"ollama"},deepseek:{baseURL:"https://api.deepseek.com/v1",apiKeyEnv:"DEEPSEEK_API_KEY",provider:"deepseek"},xai:{baseURL:"https://api.x.ai/v1",apiKeyEnv:"XAI_API_KEY",provider:"xai"}};function J(e={}){return e.sdk?de(e):ce(e)}function R(e,t,o,n,r){let s=t?.model??o;if(!s)throw new Error("openAICompatAdapter: model must be set via options.model or invokeOpts.model");let a=e.map(ae);t?.systemPrompt&&!e.some(c=>c.role==="system")&&a.unshift({role:"system",content:t.systemPrompt});let i={model:s,messages:a};return t?.maxTokens!=null&&(i.max_tokens=t.maxTokens),t?.temperature!=null&&(i.temperature=t.temperature),t?.tools&&t.tools.length>0&&(i.tools=t.tools.map(se)),t?.maxReasoningTokens!=null&&(i.reasoning={max_tokens:t.maxReasoningTokens}),n&&(i.stream=!0,i.stream_options={include_usage:!0}),r&&Object.assign(i,r),t?.providerExtras&&Object.assign(i,t.providerExtras),i}function ae(e){return e.role==="tool"?{role:"tool",tool_call_id:e.toolCallId,content:e.content}:e.role==="assistant"&&e.toolCalls&&e.toolCalls.length>0?{role:"assistant",content:e.content||null,tool_calls:e.toolCalls.map(t=>({id:t.id,type:"function",function:{name:t.name,arguments:JSON.stringify(t.arguments)}}))}:{role:e.role,content:e.content}}function se(e){return{type:"function",function:{name:e.name,description:e.description,parameters:e.parameters}}}function C(e){let t={input:{regular:0},output:{regular:0},raw:e};if(!e)return t;let o=e.prompt_tokens??0,n=e.prompt_tokens_details?.cached_tokens??0;e.prompt_cache_hit_tokens!=null?(n=e.prompt_cache_hit_tokens,t.input.regular=e.prompt_cache_miss_tokens??Math.max(0,o-n)):t.input.regular=Math.max(0,o-n),n>0&&(t.input.cacheRead=n),e.prompt_tokens_details?.audio_tokens&&(t.input.audio=e.prompt_tokens_details.audio_tokens);let r=e.completion_tokens??0,s=e.completion_tokens_details?.reasoning_tokens??0;return t.output.regular=Math.max(0,r-s),s>0&&(t.output.reasoning=s),e.completion_tokens_details?.audio_tokens&&(t.output.audio=e.completion_tokens_details.audio_tokens),e.completion_tokens_details?.accepted_prediction_tokens&&(t.output.predictionAccepted=e.completion_tokens_details.accepted_prediction_tokens),e.completion_tokens_details?.rejected_prediction_tokens&&(t.output.predictionRejected=e.completion_tokens_details.rejected_prediction_tokens),t}function F(e,t,o){let n=e.choices[0],r=n?.message,s=r?.content??"",a=(r?.tool_calls??[]).map(i=>({id:i.id,name:i.function.name,arguments:ie(i.function.arguments)}));return{content:s,toolCalls:a.length>0?a:void 0,usage:C(e.usage),finishReason:n?.finish_reason,latencyMs:t,model:e.model,provider:o}}function ie(e){try{let t=JSON.parse(e);return typeof t=="object"&&t!=null?t:{_raw:e}}catch{return{_raw:e}}}function H(e){let t=e.preset??"openai",o=re[t],n=e.baseURL??o.baseURL,r=e.provider??o.provider,s=o.apiKeyEnv,a=e.apiKey??(s?globalThis.process?.env?.[s]:void 0);return{provider:r,baseURL:n,apiKey:a}}function ce(e){let{provider:t,baseURL:o,apiKey:n}=H(e),r=e.fetchImpl??fetch,s=t!=="ollama",a=()=>{let i={"content-type":"application/json",...e.headers??{}};if(s){if(!n)throw new Error(`openAICompatAdapter[${t}]: apiKey required for invoke/stream`);i.authorization=`Bearer ${n}`}return i};return{provider:t,model:e.model,async invoke(i,c){let u=R(i,c,e.model,!1,e.bodyExtras),d=h(),l=await r(`${o}/chat/completions`,{method:"POST",headers:a(),body:JSON.stringify(u),signal:c?.signal});if(!l.ok)throw await q(l,t);let p=await l.json(),f=Math.max(0,(h()-d)/1e6);return F(p,f,t)},async*stream(i,c){let u=R(i,c,e.model,!0,e.bodyExtras),d=await r(`${o}/chat/completions`,{method:"POST",headers:{...a(),accept:"text/event-stream"},body:JSON.stringify(u),signal:c?.signal});if(!d.ok)throw await q(d,t);if(!d.body)throw new Error(`openAICompatAdapter[${t}]: streaming response has no body`);let l,p;for await(let f of le(d.body)){if(!f.data||f.data==="[DONE]")continue;let k;try{k=JSON.parse(f.data)}catch{continue}let y=k.choices;if(y){let g=y[0];if(g?.delta?.content&&(yield{type:"token",delta:g.delta.content}),g?.delta?.reasoning_content&&(yield{type:"thinking",delta:g.delta.reasoning_content}),g?.delta?.tool_calls)for(let m of g.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:m.id,name:m.function?.name,argumentsDelta:m.function?.arguments}};g?.finish_reason&&(p=g.finish_reason)}k.usage&&(l=k.usage,yield{type:"usage",usage:C(l)})}yield{type:"finish",reason:p??"stop"}}}}function de(e){let t=e.sdk;if(!t)throw new Error("sdkBackedOpenAI: sdk instance required");let{provider:o}=H(e);return{provider:o,model:e.model,async invoke(n,r){let s=R(n,r,e.model,!1,e.bodyExtras),a=h(),i=await t.chat.completions.create(s,{signal:r?.signal}),c=Math.max(0,(h()-a)/1e6);return F(i,c,o)},async*stream(n,r){let s=R(n,r,e.model,!0,e.bodyExtras),a=await t.chat.completions.create(s,{signal:r?.signal}),i,c;for await(let u of a){let d=u.choices;if(d){let p=d[0];if(p?.delta?.content&&(yield{type:"token",delta:p.delta.content}),p?.delta?.reasoning_content&&(yield{type:"thinking",delta:p.delta.reasoning_content}),p?.delta?.tool_calls)for(let f of p.delta.tool_calls)yield{type:"tool-call-delta",delta:{id:f.id,name:f.function?.name,argumentsDelta:f.function?.arguments}};p?.finish_reason&&(c=p.finish_reason)}let l=u.usage;l&&(i=l,yield{type:"usage",usage:C(l)})}yield{type:"finish",reason:c??"stop"}}}}async function*le(e){let t=e.getReader(),o=new TextDecoder,n="";try{for(;;){let{done:r,value:s}=await t.read();if(r){n.length>0&&(yield B(n));return}n+=o.decode(s,{stream:!0});let a=N(n);for(;a!==null;){let i=n.slice(0,a.index);n=n.slice(a.index+a.length);let c=B(i);(c.data||c.event)&&(yield c),a=N(n)}}}finally{t.releaseLock()}}function B(e){let t={},o=[];for(let n of e.split(`
|
|
18
|
-
`)){let r=n.endsWith("\r")?n.slice(0,-1):n;if(!r||r.startsWith(":"))continue;let s=r.indexOf(":"),a=s===-1?r:r.slice(0,s),i=s===-1?"":r.slice(s+1).replace(/^ /,"");a==="data"?o.push(i):a==="event"?t.event=i:a==="id"&&(t.id=i)}return o.length>0&&(t.data=o.join(`
|
|
19
|
-
`)),t}function N(e){let t=e.indexOf(`\r
|
|
20
|
-
\r
|
|
21
|
-
`),o=e.indexOf(`
|
|
22
|
-
|
|
23
|
-
`),n=null;return t!==-1&&(n={index:t,length:4}),o!==-1&&(n===null||o<n.index)&&(n={index:o,length:2}),n}async function q(e,t){let o;try{o=await e.text()}catch{o=""}let n=new Error(`${t} API ${e.status}: ${e.statusText}${o?` \u2014 ${o}`:""}`);return n.status=e.status,n.headers=e.headers,n}function Re(e){switch(e.provider){case"anthropic":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return O(t)}case"google":{let t={apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return j(t)}case"dry-run":{let t={model:e.model,...e.extras};return v(t)}case"fallback":{let t={provider:e.provider,model:e.model,...e.extras};return M(t)}case"openai":case"openrouter":case"groq":case"ollama":case"deepseek":case"xai":{let t={preset:e.provider,apiKey:e.apiKey,model:e.model,baseURL:e.baseURL,headers:e.headers,bodyExtras:e.bodyExtras,sdk:e.sdk,fetchImpl:e.fetchImpl,...e.extras};return J(t)}default:{let t=e.provider;throw new Error(`createAdapter: unknown provider: ${String(t)}`)}}}var x=class extends Error{name="AllTiersExhaustedError";skipped;failed;constructor(t){let o=[];t.failed.size>0&&o.push(`failed=[${[...t.failed.keys()].join(",")}]`),t.skipped.length>0&&o.push(`skipped=[${t.skipped.map(n=>`${n.name}(${n.reason})`).join(",")}]`),super(`All LLM adapter tiers exhausted: ${o.join(" ")}`),this.skipped=t.skipped,this.failed=t.failed}};function Le(e,t={}){if(e.length===0)throw new RangeError("cascadingLlmAdapter: tiers must be non-empty");let o=e.map(r=>({name:r.name,adapter:r.adapter,filter:r.filter,breaker:r.breaker?"canExecute"in r.breaker?r.breaker:S(r.breaker):void 0})),n=t.streamRetryBeforeFirstChunk??!0;return{provider:"cascading",model:void 0,async invoke(r,s){let a=[],i=new Map;for(let u=0;u<o.length;u++){let d=o[u];if(d.filter&&!d.filter(r,s)){a.push({name:d.name,reason:"filter"});continue}if(d.breaker&&!d.breaker.canExecute()){a.push({name:d.name,reason:"breaker"});continue}try{let l=await Promise.resolve(d.adapter.invoke(r,s));return d.breaker?.recordSuccess(),{...l,metadata:{...l.metadata??{},tier:d.name}}}catch(l){i.set(d.name,l),d.breaker?.recordFailure(l);let p=o[u+1];p&&t.onFallback?.(d.name,p.name,l)}}let c={skipped:a,failed:i};throw t.onExhausted?.(c),new x(c)},async*stream(r,s){let a=[],i=new Map;for(let u=0;u<o.length;u++){let d=o[u];if(d.filter&&!d.filter(r,s)){a.push({name:d.name,reason:"filter"});continue}if(d.breaker&&!d.breaker.canExecute()){a.push({name:d.name,reason:"breaker"});continue}let l=!1;try{for await(let p of d.adapter.stream(r,s))l=!0,yield p;d.breaker?.recordSuccess();return}catch(p){if(i.set(d.name,p),d.breaker?.recordFailure(p),l||!n)throw p;let f=o[u+1];f&&t.onFallback?.(d.name,f.name,p)}}let c={skipped:a,failed:i};throw t.onExhausted?.(c),new x(c)}}}export{O as a,j as b,J as c,Re as d,x as e,Le as f};
|
package/dist/chunk-VIEUJSTT.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c as R}from"./chunk-5Z4HDCO6.js";import{k}from"./chunk-MGKAO4EK.js";import{b as N}from"./chunk-AUY2YKCO.js";import{A as g}from"./chunk-KASHOCF5.js";import{D as T,E as S,G as y,m as q,p as w,t as u}from"./chunk-W4TSQ6RJ.js";import{b as A}from"./chunk-QYADASLV.js";var P={};A(P,{CqrsGraph:()=>h,MemoryEventStore:()=>_,cqrs:()=>O});var j=u((i,e)=>{i("write"),i("signal"),e("observe")}),D=u((i,e)=>{i("observe"),i("signal"),e("write")}),H=u((i,e)=>{i("observe"),i("signal"),e("write")});function m(i,e){return R("cqrs",i,e)}var _=class{_store=new Map;persist(e){let t=this._store.get(e.type);t||(t=[],this._store.set(e.type,t)),t.push(e)}loadEvents(e,t){let n=this._store.get(e)??[],r=t?.timestampNs,s=t?.seq,o=r==null?[...n]:n.filter(d=>d.timestampNs>r||d.timestampNs===r&&d.seq>(s??-1)),a=o.length>0?o[o.length-1]:void 0;return{events:o,cursor:a?{timestampNs:a.timestampNs,seq:a.seq}:t}}clear(){this._store.clear()}},h=class extends k{_eventLogs=new Map;_commandHandlers=new Map;_projections=new Set;_sagas=new Set;_keepaliveDisposers=[];_eventStore;_seq=0;constructor(e,t={}){super(e,t.graph)}destroy(){for(let e of this._keepaliveDisposers)e();this._keepaliveDisposers.length=0,super.destroy()}event(e){let t=this._eventLogs.get(e);if(t)return t.node;let n=N([],{name:e,versioning:0}),r=n.entries,s=y([r],([o])=>o,{name:e,describeKind:"state",meta:m("event",{event_name:e}),guard:H,initial:r.cache});return this.add(s,{name:e}),this._keepaliveDisposers.push(g(s)),this._eventLogs.set(e,{log:n,node:s}),s}_appendEvent(e,t){let n=this._eventLogs.get(e);if(n||(this.event(e),n=this._eventLogs.get(e)),n.node.status==="completed"||n.node.status==="errored")throw new Error(`Cannot dispatch to terminated event stream "${e}" (status: ${n.node.status}).`);let r=n.log.entries.v,s={type:e,payload:t,timestampNs:w(),seq:++this._seq,...r!=null?{v0:{id:r.id,version:r.version}}:{}};n.log.append(s),this._eventStore&&this._eventStore.persist(s)}command(e,t){let n=S(void 0,{name:e,describeKind:"state",meta:{...m("command",{command_name:e}),error:null},guard:j});return this.add(n,{name:e}),this._commandHandlers.set(e,t),n}dispatch(e,t){let n=this._commandHandlers.get(e);if(!n)throw new Error(`Unknown command: "${e}". Register with .command() first.`);let r=this.resolve(e);q(()=>{r.emit(t,{internal:!0});try{n(t,{emit:(s,o)=>this._appendEvent(s,o)}),r.meta.error.emit(null,{internal:!0})}catch(s){throw r.meta.error.emit(s,{internal:!0}),s}})}projection(e,t,n,r){let s=t.map(a=>(this._eventLogs.has(a)||this.event(a),this._eventLogs.get(a).node)),o=y(s,a=>{let d=[];for(let v of a){let p=v;d.push(...p)}return d.sort((v,p)=>v.timestampNs-p.timestampNs||v.seq-p.seq),n(r,d)},{name:e,describeKind:"derived",meta:m("projection",{projection_name:e,source_events:t}),guard:D,initial:r});return this.add(o,{name:e}),this._keepaliveDisposers.push(g(o)),this._projections.add(e),o}saga(e,t,n){let r=t.map(d=>(this._eventLogs.has(d)||this.event(d),this._eventLogs.get(d).node)),s=new Map,o={},a=T(r,(d,v)=>{let p=o.n.meta.error;for(let c=0;c<d.length;c++){let E=d[c];if(E==null||E.length===0)continue;let l=E.at(-1);if(!l)continue;let f=t[c],C=s.get(f)??0;if(l.length>C){let b=l.slice(C);for(let L of b)try{n(L),p.emit(null,{internal:!0})}catch(x){p.emit(x,{internal:!0})}s.set(f,l.length)}}},{name:e,describeKind:"effect",meta:{...m("saga",{saga_name:e,source_events:t}),error:null}});return o.n=a,this.add(a,{name:e}),this._keepaliveDisposers.push(g(a)),this._sagas.add(e),a}useEventStore(e){this._eventStore=e}async rebuildProjection(e,t,n){if(!this._eventStore)throw new Error("No event store wired. Call useEventStore() first.");let r=[];for(let s of e){let o=await this._eventStore.loadEvents(s);r.push(...o.events)}return r.sort((s,o)=>s.timestampNs-o.timestampNs||s.seq-o.seq),t(n,r)}};function O(i,e){return new h(i,e)}export{_ as a,h as b,O as c,P as d};
|