@graphrefly/graphrefly 0.31.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.
Files changed (177) hide show
  1. package/dist/chunk-2JNT5NDF.js +61 -0
  2. package/dist/{chunk-KN4Q5MQO.js → chunk-2RH4QNDQ.js} +1 -1
  3. package/dist/chunk-4JBKKUCJ.js +7 -0
  4. package/dist/{chunk-WLPVGXQ6.js → chunk-4YGJ7KZ6.js} +1 -1
  5. package/dist/{chunk-3Q2WXM6X.js → chunk-5PBXUVHI.js} +1 -1
  6. package/dist/{chunk-WYJTXYWX.js → chunk-7EMUF2RY.js} +1 -1
  7. package/dist/chunk-7JZ3YORY.js +80 -0
  8. package/dist/{chunk-I4U3TPK2.js → chunk-7QS77X6G.js} +1 -1
  9. package/dist/{chunk-ZM7C2FUM.js → chunk-BU4SUZSA.js} +1 -1
  10. package/dist/{chunk-GF5T7PGC.js → chunk-CNXUW2CU.js} +1 -1
  11. package/dist/{chunk-Z3UWIJ3A.js → chunk-EIFHFDFD.js} +1 -1
  12. package/dist/{chunk-3JRKP4BH.js → chunk-JAHAJU4G.js} +1 -1
  13. package/dist/{chunk-4ZPO2EL5.js → chunk-JYMNVEH6.js} +1 -1
  14. package/dist/{chunk-4KAUNEKV.js → chunk-KD3IYBTD.js} +1 -1
  15. package/dist/{chunk-X2VHDT26.js → chunk-LG73TUF4.js} +2 -2
  16. package/dist/{chunk-JXRZXP3N.js → chunk-LJGPOJHS.js} +1 -1
  17. package/dist/{chunk-YQJPYEAL.js → chunk-M2VFLRPJ.js} +1 -1
  18. package/dist/{chunk-7EQPXQ7H.js → chunk-MFNOZ5E6.js} +1 -1
  19. package/dist/{chunk-YZ6VYLFD.js → chunk-PWKLZ2XU.js} +1 -1
  20. package/dist/{chunk-OKQUPJRY.js → chunk-TOCCHQI6.js} +1 -1
  21. package/dist/{chunk-PZP4MEXK.js → chunk-UXEB35L4.js} +1 -1
  22. package/dist/{chunk-EBQ6FXKW.js → chunk-VXJX3ZZP.js} +1 -1
  23. package/dist/{chunk-7EJTWGKW.js → chunk-WE32AFFA.js} +1 -1
  24. package/dist/{chunk-JMGGCSIC.js → chunk-WF3V5X2L.js} +1 -1
  25. package/dist/{chunk-YZKGGMPT.js → chunk-X4OOM6QU.js} +1 -1
  26. package/dist/{chunk-5LJAQTSS.js → chunk-ZWETYYQG.js} +1 -1
  27. package/dist/compat/index.cjs +1 -1
  28. package/dist/compat/index.d.cts +5 -5
  29. package/dist/compat/index.d.ts +5 -5
  30. package/dist/compat/index.js +1 -1
  31. package/dist/compat/nestjs/index.cjs +1 -1
  32. package/dist/compat/nestjs/index.d.cts +3 -3
  33. package/dist/compat/nestjs/index.d.ts +3 -3
  34. package/dist/compat/nestjs/index.js +1 -1
  35. package/dist/compat/zustand/index.cjs +1 -1
  36. package/dist/compat/zustand/index.d.cts +2 -2
  37. package/dist/compat/zustand/index.d.ts +2 -2
  38. package/dist/compat/zustand/index.js +1 -1
  39. package/dist/extra/index.cjs +1 -1
  40. package/dist/extra/index.d.cts +2 -2
  41. package/dist/extra/index.d.ts +2 -2
  42. package/dist/extra/index.js +1 -1
  43. package/dist/graph/index.cjs +1 -1
  44. package/dist/graph/index.d.cts +3 -3
  45. package/dist/graph/index.d.ts +3 -3
  46. package/dist/graph/index.js +1 -1
  47. package/dist/{graph-CWeI0aHd.d.ts → graph-BOhEGJ6E.d.ts} +10 -0
  48. package/dist/{graph-C4Uxwv0T.d.cts → graph-CdJeX7O7.d.cts} +10 -0
  49. package/dist/{index-B-z8WaSd.d.cts → index-BDLy6CQ9.d.cts} +1 -1
  50. package/dist/{index-iBp74eGU.d.cts → index-BJDXj9Wf.d.cts} +2 -2
  51. package/dist/{index-BBINVimG.d.ts → index-BUZPTPSQ.d.ts} +2 -2
  52. package/dist/{index-DnrZghBB.d.ts → index-BbcSZCAG.d.ts} +1 -1
  53. package/dist/{index-lKuLYmHO.d.cts → index-BiGeETJs.d.cts} +1 -1
  54. package/dist/{index-Dm3_D5Ta.d.cts → index-BmZb8fNF.d.cts} +2 -2
  55. package/dist/{index-Docdiu9a.d.ts → index-Bnmttu35.d.ts} +1 -1
  56. package/dist/{index-CZChc85Q.d.cts → index-BuN2wGJs.d.cts} +297 -22
  57. package/dist/{index-Cy7eFeIX.d.cts → index-BwdPDWI4.d.cts} +1 -1
  58. package/dist/{index-DylQCKEL.d.cts → index-BzxU4yhV.d.cts} +11 -2
  59. package/dist/{index-D9Y_u6BG.d.cts → index-C-Gsh-0a.d.cts} +2 -2
  60. package/dist/{index-DD7RhHNJ.d.cts → index-C22aTC1X.d.cts} +4 -4
  61. package/dist/{index-yIdWFo2b.d.cts → index-C4QTaDli.d.cts} +2 -2
  62. package/dist/{index-CJymKyzT.d.ts → index-C7RqYbOZ.d.ts} +1 -1
  63. package/dist/{index-C5Ghnp5B.d.ts → index-C9qCLIN4.d.ts} +2 -2
  64. package/dist/{index-DVNLe3pS.d.cts → index-CCdg0JLX.d.cts} +1 -1
  65. package/dist/{index-B5iVOD7w.d.ts → index-CEoU-r-g.d.ts} +2 -2
  66. package/dist/{index-CfFYyLR8.d.ts → index-CHfBm51k.d.ts} +11 -2
  67. package/dist/{index-BXzl1NDD.d.ts → index-CNyiYQWF.d.ts} +4 -4
  68. package/dist/{index-C6NBfXj-.d.ts → index-CVevMZ0n.d.ts} +2 -2
  69. package/dist/{index-DGb1awva.d.ts → index-CZUzi6Dy.d.ts} +2 -2
  70. package/dist/{index-FrYrV-Vf.d.ts → index-Ckl03Q0s.d.ts} +1 -1
  71. package/dist/{index-Bvi5uJxX.d.ts → index-CmSjld-4.d.ts} +1 -1
  72. package/dist/{index-9iguV3bF.d.cts → index-CnjUhRbs.d.cts} +2 -2
  73. package/dist/{index-C98oJsEs.d.cts → index-D3HcdZ4d.d.cts} +1 -1
  74. package/dist/{index-IZ3l_vQ9.d.ts → index-DD1czHj3.d.ts} +1 -1
  75. package/dist/{index-gJQqJTKx.d.cts → index-DNhTQReY.d.cts} +1 -1
  76. package/dist/{index-UZO988ox.d.cts → index-DSawGt8n.d.cts} +2 -2
  77. package/dist/{index-CcpEvuPl.d.cts → index-DUkuH3jP.d.cts} +1 -1
  78. package/dist/{index-CRAkoq-y.d.cts → index-DY2QbdoP.d.cts} +1 -1
  79. package/dist/{index-CvS9IuTG.d.ts → index-Dbmj0iYR.d.ts} +1 -1
  80. package/dist/{index-Bd6oFZqO.d.ts → index-DhlAMlm9.d.ts} +297 -22
  81. package/dist/{index-BMe3pCom.d.cts → index-DlGaEBW5.d.cts} +2 -2
  82. package/dist/{index-CotRMjtJ.d.ts → index-Dp_pS7Bw.d.ts} +1 -1
  83. package/dist/{index-DxMS0cHM.d.ts → index-Dxk-pUQI.d.ts} +2 -2
  84. package/dist/{index-DBQUKh59.d.cts → index-EGjF6iSY.d.cts} +3 -3
  85. package/dist/{index-D9HrBx2J.d.ts → index-LGzAYqdR.d.ts} +1 -1
  86. package/dist/{index-DR3gf_DG.d.cts → index-LzCJ0kMT.d.cts} +2 -2
  87. package/dist/{index-RQg6lTrN.d.ts → index-MV2yGIAq.d.ts} +2 -2
  88. package/dist/{index-Bs3-LC83.d.cts → index-_BXz9K7b.d.cts} +1 -1
  89. package/dist/{index-SSGqF8mI.d.cts → index-aBqZUx3B.d.cts} +1 -1
  90. package/dist/{index-CFW32Dy1.d.ts → index-eYHRkoK-.d.ts} +1 -1
  91. package/dist/{index-CwhcFzTA.d.ts → index-gXTVbSax.d.ts} +2 -2
  92. package/dist/{index-D-kHVedZ.d.cts → index-j33Lfb1G.d.cts} +22 -1
  93. package/dist/{index-BEpRsvhg.d.ts → index-lpGUhTBn.d.ts} +3 -3
  94. package/dist/{index-CcS0t-l2.d.ts → index-zMQIQuDu.d.ts} +22 -1
  95. package/dist/index.cjs +53 -50
  96. package/dist/index.d.cts +26 -26
  97. package/dist/index.d.ts +26 -26
  98. package/dist/index.js +1 -1
  99. package/dist/patterns/ai/index.cjs +21 -18
  100. package/dist/patterns/ai/index.d.cts +6 -6
  101. package/dist/patterns/ai/index.d.ts +6 -6
  102. package/dist/patterns/ai/index.js +1 -1
  103. package/dist/patterns/audit/index.cjs +1 -1
  104. package/dist/patterns/audit/index.d.cts +3 -3
  105. package/dist/patterns/audit/index.d.ts +3 -3
  106. package/dist/patterns/audit/index.js +1 -1
  107. package/dist/patterns/cqrs/index.cjs +1 -1
  108. package/dist/patterns/cqrs/index.d.cts +2 -2
  109. package/dist/patterns/cqrs/index.d.ts +2 -2
  110. package/dist/patterns/cqrs/index.js +1 -1
  111. package/dist/patterns/demo-shell/index.cjs +1 -1
  112. package/dist/patterns/demo-shell/index.d.cts +3 -3
  113. package/dist/patterns/demo-shell/index.d.ts +3 -3
  114. package/dist/patterns/demo-shell/index.js +1 -1
  115. package/dist/patterns/domain-templates/index.cjs +5 -5
  116. package/dist/patterns/domain-templates/index.d.cts +2 -2
  117. package/dist/patterns/domain-templates/index.d.ts +2 -2
  118. package/dist/patterns/domain-templates/index.js +1 -1
  119. package/dist/patterns/graphspec/index.cjs +27 -25
  120. package/dist/patterns/graphspec/index.d.cts +2 -2
  121. package/dist/patterns/graphspec/index.d.ts +2 -2
  122. package/dist/patterns/graphspec/index.js +1 -1
  123. package/dist/patterns/guarded-execution/index.cjs +5 -5
  124. package/dist/patterns/guarded-execution/index.d.cts +4 -4
  125. package/dist/patterns/guarded-execution/index.d.ts +4 -4
  126. package/dist/patterns/guarded-execution/index.js +1 -1
  127. package/dist/patterns/harness/index.cjs +12 -11
  128. package/dist/patterns/harness/index.d.cts +5 -5
  129. package/dist/patterns/harness/index.d.ts +5 -5
  130. package/dist/patterns/harness/index.js +1 -1
  131. package/dist/patterns/job-queue/index.cjs +1 -1
  132. package/dist/patterns/job-queue/index.d.cts +2 -2
  133. package/dist/patterns/job-queue/index.d.ts +2 -2
  134. package/dist/patterns/job-queue/index.js +1 -1
  135. package/dist/patterns/lens/index.cjs +1 -1
  136. package/dist/patterns/lens/index.d.cts +3 -3
  137. package/dist/patterns/lens/index.d.ts +3 -3
  138. package/dist/patterns/lens/index.js +1 -1
  139. package/dist/patterns/memory/index.cjs +1 -1
  140. package/dist/patterns/memory/index.d.cts +2 -2
  141. package/dist/patterns/memory/index.d.ts +2 -2
  142. package/dist/patterns/memory/index.js +1 -1
  143. package/dist/patterns/messaging/index.cjs +1 -1
  144. package/dist/patterns/messaging/index.d.cts +2 -2
  145. package/dist/patterns/messaging/index.d.ts +2 -2
  146. package/dist/patterns/messaging/index.js +1 -1
  147. package/dist/patterns/orchestration/index.cjs +7 -7
  148. package/dist/patterns/orchestration/index.d.cts +2 -2
  149. package/dist/patterns/orchestration/index.d.ts +2 -2
  150. package/dist/patterns/orchestration/index.js +1 -1
  151. package/dist/patterns/reactive-layout/index.cjs +1 -1
  152. package/dist/patterns/reactive-layout/index.d.cts +3 -3
  153. package/dist/patterns/reactive-layout/index.d.ts +3 -3
  154. package/dist/patterns/reactive-layout/index.js +1 -1
  155. package/dist/patterns/reduction/index.cjs +1 -1
  156. package/dist/patterns/reduction/index.d.cts +2 -2
  157. package/dist/patterns/reduction/index.d.ts +2 -2
  158. package/dist/patterns/reduction/index.js +1 -1
  159. package/dist/patterns/refine-loop/index.cjs +3 -3
  160. package/dist/patterns/refine-loop/index.d.cts +3 -3
  161. package/dist/patterns/refine-loop/index.d.ts +3 -3
  162. package/dist/patterns/refine-loop/index.js +1 -1
  163. package/dist/patterns/resilient-pipeline/index.d.cts +3 -3
  164. package/dist/patterns/resilient-pipeline/index.d.ts +3 -3
  165. package/dist/patterns/resilient-pipeline/index.js +1 -1
  166. package/dist/patterns/surface/index.cjs +15 -13
  167. package/dist/patterns/surface/index.d.cts +3 -3
  168. package/dist/patterns/surface/index.d.ts +3 -3
  169. package/dist/patterns/surface/index.js +1 -1
  170. package/dist/{reactive-layout-BAr6-_o5.d.ts → reactive-layout-Bq0rA2Wb.d.ts} +1 -1
  171. package/dist/{reactive-layout-5oEn8lHM.d.cts → reactive-layout-Dhhe54Oj.d.cts} +1 -1
  172. package/dist/{topology-tree-CVREibAc.d.cts → topology-tree-CpSjvIXp.d.cts} +1 -1
  173. package/dist/{topology-tree-CkjojcB6.d.ts → topology-tree-DAbCV2Yw.d.ts} +1 -1
  174. package/package.json +1 -1
  175. package/dist/chunk-ASDKRNOJ.js +0 -60
  176. package/dist/chunk-PSQNYY72.js +0 -7
  177. package/dist/chunk-XEFAMCEA.js +0 -78
@@ -1,10 +1,11 @@
1
- "use strict";var Mt=Object.defineProperty;var gr=Object.getOwnPropertyDescriptor;var br=Object.getOwnPropertyNames;var yr=Object.prototype.hasOwnProperty;var ge=(t,e)=>()=>(t&&(e=t(t=0)),e);var vr=(t,e)=>{for(var n in e)Mt(t,n,{get:e[n],enumerable:!0})},Tr=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of br(e))!yr.call(t,s)&&s!==n&&Mt(t,s,{get:()=>e[s],enumerable:!(r=gr(e,s))||r.enumerable});return t};var xr=t=>Tr(Mt({},"__esModule",{value:!0}),t);function dn(t,e){let n=new TextEncoder().encode(t.name);if(n.length===0||n.length>255)throw new Error(`encodeEnvelope: codec name "${t.name}" encodes to ${n.length} bytes (must be 1\u2013255)`);let r=t.version;if(!Number.isInteger(r)||r<0||r>65535)throw new Error(`encodeEnvelope: codec.version ${r} out of u16 range (expected integer 0\u201365535)`);let s=2+n.length+2+e.length;if(s>4294967295)throw new Error(`encodeEnvelope: total envelope size ${s} exceeds 2^32-1 bytes (payload ${e.length} bytes)`);let o=new Uint8Array(s),i=0;return o[i++]=Dt,o[i++]=n.length,o.set(n,i),i+=n.length,o[i++]=r>>>8&255,o[i++]=r&255,o.set(e,i),o}function ln(t,e){if(t.length<un)throw new Error(`decodeEnvelope: bytes too short (${t.length} < ${un})`);let n=0,r=t[n++];if(r!==Dt)throw new Error(`decodeEnvelope: unsupported envelope version ${r} (expected ${Dt})`);let s=t[n++];if(s===0)throw new Error("decodeEnvelope: name_len must be >= 1");if(n+s+2>t.length)throw new Error(`decodeEnvelope: envelope truncated (need ${n+s+2} bytes, have ${t.length})`);let o=new TextDecoder().decode(t.subarray(n,n+s));n+=s;let i=(t[n]<<8|t[n+1])>>>0;n+=2;let a=t.subarray(n),d=e.lookupCodec(o);if(d==null)throw new Error(`decodeEnvelope: codec "${o}" not registered (envelope codec_v=${i})`);return{codec:d,codecVersion:i,payload:a}}function cn(t){t.registerCodec(wr)}var wr,Dt,un,At=ge(()=>{"use strict";wr={name:"json",version:1,contentType:"application/json",encode(t){let e=JSON.stringify(t);return new TextEncoder().encode(e)},decode(t,e){let n=new TextDecoder().decode(t);return JSON.parse(n)}},Dt=1,un=4});function st(t){if(t==null)return ze;let{type:e,id:n,...r}=t;return{type:e??"system",id:n??"",...r}}var ze,it=ge(()=>{"use strict";ze={type:"system",id:""}});function Ye(){return Be>0||We}function fn(){return Be>0}function Je(t){Be>0?qe.push(t):t()}function le(t){Be+=1;let e=!1;try{t()}catch(n){throw e=!0,n}finally{if(Be-=1,Be===0)if(e){if(!We){let n=qe.splice(0);for(let r of n)try{r()}catch{}Ge.length=0,Le.length=0,He.length=0}}else _r()}}function _r(){let t=!We;t&&(We=!0);let e=[],n=0;try{for(;Ge.length>0||Le.length>0||He.length>0||t&&qe.length>0;){if(t&&qe.length>0){let o=qe.splice(0);for(let i of o)try{i()}catch(a){e.push(a)}continue}if(n+=1,n>1e3)throw Ge.length=0,Le.length=0,He.length=0,new Error("batch drain exceeded 1000 iterations \u2014 likely a reactive cycle");let s=(Ge.length>0?Ge:Le.length>0?Le:He).splice(0);for(let o of s)try{o()}catch(i){e.push(i)}}}finally{t&&(We=!1)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"batch drain: multiple callbacks threw")}function Qe(t,e,n){if(e.length===0)return;if(e.length===1){let u=n(e[0][0]);if(u<3||!Ye()){t(e);return}(u>=5?He:u===4?Le:Ge).push(()=>t(e));return}let r=e.length,s=r,o=r,i=r,a=0;for(;a<r&&n(e[a][0])<3;)a++;for(s=a;a<r&&n(e[a][0])===3;)a++;for(o=a;a<r&&n(e[a][0])===4;)a++;i=a;let d=Ye();if(s>0){let u=e.slice(0,s);t(u)}if(o>s){let u=e.slice(s,o);d?Ge.push(()=>t(u)):t(u)}if(i>o){let u=e.slice(o,i);d?Le.push(()=>t(u)):t(u)}if(r>i){let u=e.slice(i,r);d?He.push(()=>t(u)):t(u)}}var Be,We,Ge,Le,He,qe,Se=ge(()=>{"use strict";Be=0,We=!1,Ge=[],Le=[],He=[],qe=[]});function j(){return Math.trunc(performance.now()*1e6)}function at(){return Date.now()*1e6}var Pe=ge(()=>{"use strict"});var Ce,F,J,q,be,Te,_e,se,z,$,$e,ut,pn,dt,hn,mn,lt,It,Gt,Lt,ct,ye=ge(()=>{"use strict";Ce=Symbol.for("graphrefly/START"),F=Symbol.for("graphrefly/DATA"),J=Symbol.for("graphrefly/DIRTY"),q=Symbol.for("graphrefly/RESOLVED"),be=Symbol.for("graphrefly/INVALIDATE"),Te=Symbol.for("graphrefly/PAUSE"),_e=Symbol.for("graphrefly/RESUME"),se=Symbol.for("graphrefly/TEARDOWN"),z=Symbol.for("graphrefly/COMPLETE"),$=Symbol.for("graphrefly/ERROR"),$e=Object.freeze([J]),ut=Object.freeze([q]),pn=Object.freeze([be]),dt=Object.freeze([Ce]),hn=Object.freeze([z]),mn=Object.freeze([se]),lt=Object.freeze([$e]),It=Object.freeze([ut]),Gt=Object.freeze([pn]),Lt=Object.freeze([hn]),ct=Object.freeze([mn])});function gn(t){t.registerMessageType(Ce,{tier:0,wireCrossing:!1}),t.registerMessageType(J,{tier:1,wireCrossing:!1}),t.registerMessageType(be,{tier:1,wireCrossing:!1,metaPassthrough:!1}),t.registerMessageType(Te,{tier:2,wireCrossing:!1}),t.registerMessageType(_e,{tier:2,wireCrossing:!1}),t.registerMessageType(F,{tier:3,wireCrossing:!0}),t.registerMessageType(q,{tier:3,wireCrossing:!0}),t.registerMessageType(z,{tier:4,wireCrossing:!0,metaPassthrough:!1}),t.registerMessageType($,{tier:4,wireCrossing:!0,metaPassthrough:!1}),t.registerMessageType(se,{tier:5,wireCrossing:!0,metaPassthrough:!1})}var ft,bn=ge(()=>{"use strict";ye();ft=class{_messageTypes=new Map;_codecs=new Map;_onMessage;_onSubscribe;_defaultVersioning;_defaultHashFn;_inspectorEnabled=!(typeof process<"u"&&process.env?.NODE_ENV==="production");_globalInspector;_frozen=!1;tierOf;constructor(e){this._onMessage=e.onMessage,this._onSubscribe=e.onSubscribe,this._defaultVersioning=e.defaultVersioning,this._defaultHashFn=e.defaultHashFn,this.tierOf=n=>{let r=this._messageTypes.get(n);return r!=null?r.tier:1}}get onMessage(){return this._frozen=!0,this._onMessage}get onSubscribe(){return this._frozen=!0,this._onSubscribe}set onMessage(e){this._assertUnfrozen(),this._onMessage=e}set onSubscribe(e){this._assertUnfrozen(),this._onSubscribe=e}get defaultVersioning(){return this._defaultVersioning}set defaultVersioning(e){this._assertUnfrozen(),this._defaultVersioning=e}get defaultHashFn(){return this._defaultHashFn}set defaultHashFn(e){this._assertUnfrozen(),this._defaultHashFn=e}get inspectorEnabled(){return this._inspectorEnabled}set inspectorEnabled(e){this._inspectorEnabled=e}get globalInspector(){return this._globalInspector}set globalInspector(e){this._globalInspector=e}registerMessageType(e,n){return this._assertUnfrozen(),this._messageTypes.set(e,{tier:n.tier,wireCrossing:n.wireCrossing??n.tier>=3,metaPassthrough:n.metaPassthrough??!0}),this}messageTier(e){let n=this._messageTypes.get(e);return n!=null?n.tier:1}isWireCrossing(e){let n=this._messageTypes.get(e);return n!=null?n.wireCrossing:!0}isLocalOnly(e){return!this.isWireCrossing(e)}isMetaPassthrough(e){let n=this._messageTypes.get(e);return n!=null?n.metaPassthrough:!0}isKnownMessageType(e){return this._messageTypes.has(e)}registerCodec(e){return this._assertUnfrozen(),this._codecs.set(e.name,e),this}lookupCodec(e){return this._codecs.get(e)}_isFrozen(){return this._frozen}_assertUnfrozen(){if(this._frozen)throw new Error("GraphReFlyConfig is frozen: a node has already captured this config. Register custom types and set hooks before creating any node.")}}});function Pt(t){let e=Nr.filter(n=>t({type:n,id:""},"write"));return e.length===0?"restricted":e.includes("human")&&e.includes("llm")&&e.every(n=>n==="human"||n==="llm"||n==="system")?"both":e.length===1?e[0]:e.join("+")}var ve,Nr,Xe=ge(()=>{"use strict";ve=class extends Error{actor;action;nodeName;constructor(e,n){super(n??`GuardDenied: action "${String(e.action)}" denied for actor type "${String(e.actor.type)}"`),this.name="GuardDenied",this.actor=e.actor,this.action=e.action,this.nodeName=e.nodeName}get node(){return this.nodeName}},Nr=["human","llm","wallet","system"]});function $t(t){if(t===void 0)return null;if(typeof t=="number"){if(!Number.isFinite(t))throw new TypeError(`Cannot hash non-finite number: ${t}`);if(Number.isInteger(t)&&!Number.isSafeInteger(t))throw new TypeError(`Cannot hash integer outside safe range (|n| > 2^53-1): ${t}. Cross-language cid parity is not guaranteed for unsafe integers.`);return t}if(typeof t=="string"||typeof t=="boolean"||t===null)return t;if(Array.isArray(t))return t.map($t);if(typeof t=="object"&&t!==null){let e={};for(let n of Object.keys(t).sort())e[n]=$t(t[n]);return e}return null}function kr(t){let e=Or.encode(t),n=e.length,r=n*8,s=n+9+63&-64,o=new Uint8Array(s);o.set(e),o[n]=128;let i=new DataView(o.buffer);i.setUint32(s-4,r>>>0,!1),i.setUint32(s-8,Math.floor(r/4294967296)>>>0,!1);let a=1779033703,d=3144134277,u=1013904242,c=2773480762,p=1359893119,f=2600822924,h=528734635,l=1541459225,m=new Uint32Array(64),g=(v,y)=>v>>>y|v<<32-y;for(let v=0;v<s;v+=64){for(let R=0;R<16;R++)m[R]=i.getUint32(v+R*4,!1);for(let R=16;R<64;R++){let C=m[R-15],S=m[R-2],V=g(C,7)^g(C,18)^C>>>3,Y=g(S,17)^g(S,19)^S>>>10;m[R]=m[R-16]+V+m[R-7]+Y>>>0}let y=a,T=d,x=u,w=c,_=p,N=f,E=h,G=l;for(let R=0;R<64;R++){let C=g(_,6)^g(_,11)^g(_,25),S=_&N^~_&E,V=G+C+S+Er[R]+m[R]>>>0,Y=g(y,2)^g(y,13)^g(y,22),oe=y&T^y&x^T&x,fe=Y+oe>>>0;G=E,E=N,N=_,_=w+V>>>0,w=x,x=T,T=y,y=V+fe>>>0}a=a+y>>>0,d=d+T>>>0,u=u+x>>>0,c=c+w>>>0,p=p+_>>>0,f=f+N>>>0,h=h+E>>>0,l=l+G>>>0}let b=v=>v.toString(16).padStart(8,"0");return b(a)+b(d)+b(u)+b(c)+b(p)+b(f)+b(h)+b(l)}function Ft(t){let e=$t(t??null),n=JSON.stringify(e);return kr(n).slice(0,16)}function Rr(){let t=globalThis.crypto;if(t?.randomUUID)return t.randomUUID();let e=()=>Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0"),n=e()+e()+e()+e();return`${n.slice(0,8)}-${n.slice(8,12)}-4${n.slice(13,16)}-${(parseInt(n.slice(16,17),16)&3|8).toString(16)}${n.slice(17,20)}-${n.slice(20,32)}`}function Vt(t,e,n){let r=n?.id??Rr();if(t===0)return{id:r,version:0};let o=(n?.hash??Ft)(e);return{id:r,version:0,cid:o,prev:null}}function yn(t,e,n){t.version+=1,"cid"in t&&(t.prev=t.cid,t.cid=n(e))}var Er,Or,vn=ge(()=>{"use strict";Er=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Or=new TextEncoder});function wn(t){return{node:t,unsub:null,prevData:void 0,dirty:!1,involvedThisWave:!1,dataBatch:[],terminal:void 0}}function zt(t){t.prevData=void 0,t.dirty=!1,t.involvedThisWave=!1,t.dataBatch.length=0,t.terminal=void 0}function pt(t){return t.length===0?t:typeof t[0]=="symbol"?[t]:t}function ie(t,e,n){let r=_n(t)?t:[],s=typeof t=="function"?t:typeof e=="function"?e:void 0,o={};return _n(t)?o=(Bt(e)?e:n)??{}:Bt(t)?o=t:o=(Bt(e)?e:n)??{},new Q(r,s,o)}var Tn,xn,Sr,Cr,je,Q,_n,Bt,Ne=ge(()=>{"use strict";At();it();Se();Pe();bn();Xe();ye();vn();Tn=()=>{},xn=100;Sr=(t,e,n,r)=>{n.direction==="down-in"&&t._onDepMessage(n.depIndex,e)},Cr=(t,e,n,r)=>{let s=t;if(s._status==="completed"||s._status==="errored")return;let o=s._cached,i=o===void 0?[dt]:[dt,[F,o]];s._status==="dirty"&&i.push($e),Qe(e,i,s._config.tierOf)},je=new ft({onMessage:Sr,onSubscribe:Cr});gn(je);cn(je);Q=class t{_optsName;_describeKind;meta;_hasMeta;_config;_deps;_sinks=null;_sinkCount=0;_cached;_status;_cleanup;_store={};_waveHasNewData=!1;_hasNewTerminal=!1;_hasCalledFnOnce=!1;_paused=!1;_pendingWave=!1;_isExecutingFn=!1;_pendingRerun=!1;_rerunDepth=0;_dirtyDepCount=0;_batchPendingMessages=null;_pauseLocks=null;_pauseBuffer=null;_fn;_equals;_resubscribable;_resetOnTeardown;_autoComplete;_autoError;_pausable;_partial;_guard;_extraGuards;_hashFn;_versioning;_versioningLevel;_lastMutation;_inspectorHooks;_actions;constructor(e,n,r){this._config=r.config??je,this._config.onMessage,this._optsName=r.name,this._describeKind=r.describeKind,this._equals=r.equals??Object.is,this._resubscribable=r.resubscribable??!1,this._resetOnTeardown=r.resetOnTeardown??!1,this._autoComplete=r.completeWhenDepsComplete??!0,this._autoError=r.errorWhenDepsError??!0,this._pausable=r.pausable??!0,this._guard=r.guard,this._fn=n,this._partial=r.partial??!1,this._cached=r.initial!==void 0?r.initial:void 0,this._status=e.length===0&&n==null&&this._cached!==void 0?"settled":"sentinel",this._hashFn=r.versioningHash??this._config.defaultHashFn??Ft;let s=r.versioning??this._config.defaultVersioning;this._versioningLevel=s,this._versioning=s!=null?Vt(s,this._cached===void 0?void 0:this._cached,{id:r.versioningId,hash:this._hashFn}):void 0,this._deps=e.map(wn);let o={};for(let[a,d]of Object.entries(r.meta??{})){let u={initial:d,name:`${r.name??"node"}:meta:${a}`,describeKind:"state",config:this._config};r.guard!=null&&(u.guard=r.guard),o[a]=new t([],void 0,u)}Object.freeze(o),this.meta=o,this._hasMeta=Object.keys(o).length>0;let i=this;this._actions={emit(a){i._emit([[F,a]])},down(a){i._emit(pt(a))},up(a){i._emitUp(pt(a))}},this.down=this.down.bind(this),this.up=this.up.bind(this)}get _isTerminal(){return this._status==="completed"||this._status==="errored"}get name(){return this._optsName}get status(){return this._status}get cache(){return this._cached===void 0?void 0:this._cached}get lastMutation(){return this._lastMutation}get v(){return this._versioning}hasGuard(){return this._guard!=null}_applyVersioning(e,n){if(this._isExecutingFn)throw new Error(`Node "${this.name}": _applyVersioning cannot run mid-fn \u2014 call it outside of \`_execFn\` (typically at graph setup time before the first subscribe).`);let r=this._versioningLevel;if(r!=null&&e<=r)return;let s=n?.hash??this._hashFn;s!==this._hashFn&&(this._hashFn=s);let o=this._cached===void 0?void 0:this._cached,i=this._versioning,a=i?.id??n?.id,d=i?.version??0,u=Vt(e,o,{id:a,hash:s});u.version=d,this._versioning=u,this._versioningLevel=e}_setInspectorHook(e){return e==null?()=>{}:(this._inspectorHooks==null&&(this._inspectorHooks=new Set),this._inspectorHooks.add(e),()=>{this._inspectorHooks?.delete(e),this._inspectorHooks?.size===0&&(this._inspectorHooks=void 0)})}_pushGuard(e){return this._extraGuards==null&&(this._extraGuards=new Set),this._extraGuards.add(e),()=>{this._extraGuards?.delete(e),this._extraGuards?.size===0&&(this._extraGuards=void 0)}}allowsObserve(e){if(this._guard==null&&this._extraGuards==null)return!0;let n=st(e);if(this._guard!=null&&!this._guard(n,"observe"))return!1;if(this._extraGuards!=null){for(let r of this._extraGuards)if(!r(n,"observe"))return!1}return!0}_checkGuard(e){if(e?.internal)return;let n=this._guard!=null||this._extraGuards!=null,r=e?.actor!=null;if(!n&&!r)return;let s=st(e?.actor),o=e?.delivery==="signal"?"signal":"write";if(this._guard!=null&&!this._guard(s,o))throw new ve({actor:s,action:o,nodeName:this.name});if(this._extraGuards!=null){for(let i of this._extraGuards)if(!i(s,o))throw new ve({actor:s,action:o,nodeName:this.name})}this._lastMutation={actor:s,timestamp_ns:at()}}down(e,n){let r=pt(e);r.length!==0&&(this._checkGuard(n),this._emit(r))}emit(e,n){this._checkGuard(n),this._emit([[F,e]])}up(e,n){if(this._deps.length===0)return;let r=pt(e);if(r.length===0)return;this._checkGuard(n);let s=n??{internal:!0};this._validateUpTiers(r);for(let o of this._deps)o.node.up?.(r,s)}_emitUp(e){if(this._deps.length!==0&&e.length!==0){this._validateUpTiers(e);for(let n of this._deps)n.node.up?.(e,{internal:!0})}}_validateUpTiers(e){let n=this._config.tierOf;for(let r of e){let s=n(r[0]);if(s===3||s===4)throw new Error(`Node "${this.name}": tier-${s} messages cannot flow up \u2014 DATA/RESOLVED/COMPLETE/ERROR are downstream-only. Use \`down(...)\` for value delivery; \`up(...)\` is for control signals (DIRTY, INVALIDATE, PAUSE, RESUME, TEARDOWN).`)}}subscribe(e,n){if(n!=null&&this._guard!=null){let d=st(n);if(!this._guard(d,"observe"))throw new ve({actor:d,action:"observe",nodeName:this.name})}let s=this._isTerminal&&this._resubscribable;if(s){this._cached=void 0,this._status="sentinel",this._store={},this._hasCalledFnOnce=!1,this._waveHasNewData=!1,this._hasNewTerminal=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._isExecutingFn=!1,this._rerunDepth=0,this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null;for(let d of this._deps)zt(d);if(this._partial===!1){for(let d of this._deps)if(d.prevData!==void 0||d.dataBatch.length!==0||d.terminal!==void 0||d.dirty)throw new Error(`resubscribable-reset invariant: DepRecord not fully reset for node ${this._optsName??"(anonymous)"}`)}}this._sinkCount+=1;let o;try{o=this._config.onSubscribe(this,e,{sinkCount:this._sinkCount,afterTerminalReset:s},this._actions)}catch(d){throw this._sinkCount-=1,d}this._sinks==null?this._sinks=e:typeof this._sinks=="function"?this._sinks=new Set([this._sinks,e]):this._sinks.add(e);let i=this._isTerminal;if(this._sinkCount===1&&!i)try{this._activate()}catch(d){if(this._sinkCount-=1,this._removeSink(e),this._sinkCount===0&&(this._status="sentinel"),typeof o=="function")try{o()}catch{}throw d}this._status==="sentinel"&&this._cached===void 0&&(this._status="pending");let a=!1;return()=>{a||(a=!0,this._sinkCount-=1,this._removeSink(e),typeof o=="function"&&o(),this._sinks==null&&this._deactivate())}}_removeSink(e){if(this._sinks===e)this._sinks=null;else if(this._sinks!=null&&typeof this._sinks!="function")if(this._sinks.delete(e),this._sinks.size===1){let[n]=this._sinks;this._sinks=n}else this._sinks.size===0&&(this._sinks=null)}_activate(){if(this._deps.length===0){this._fn&&this._execFn();return}this._dirtyDepCount=0;let e=this._deps.length,n=0;try{for(let r=0;r<e;r++){let s=r,o=this._deps[r];o.unsub=Tn,o.unsub=o.node.subscribe(i=>{if(o.unsub===null)return;let a=this._config.tierOf,d=!1;for(let u of i)a(u[0])>=3&&(d=!0),this._config.onMessage(this,u,{direction:"down-in",depIndex:s},this._actions);d&&this._maybeRunFnOnSettlement()}),n++}}catch(r){this._deps[n].unsub=null;for(let s=0;s<n;s++){let o=this._deps[s];if(o.unsub!=null){let i=o.unsub;o.unsub=null;try{i()}catch{}zt(o)}}throw this._dirtyDepCount=0,r}}_addDep(e){for(let s=0;s<this._deps.length;s++)if(this._deps[s].node===e)return s;let n=this._deps.length,r=wn(e);if(this._deps.push(r),this._sinks==null)return n;r.dirty=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(lt),r.unsub=Tn;try{r.unsub=e.subscribe(s=>{if(r.unsub===null)return;let o=this._config.tierOf,i=!1;for(let a of s)o(a[0])>=3&&(i=!0),this._config.onMessage(this,a,{direction:"down-in",depIndex:n},this._actions);i&&this._maybeRunFnOnSettlement()})}catch(s){throw r.unsub=null,this._deps.pop(),this._dirtyDepCount--,s}return n}_deactivate(e=!1){let n=this._cleanup;if(this._cleanup=void 0,typeof n=="function")try{n()}catch(r){this._emit([[$,this._wrapFnError("cleanup threw",r)]])}else if(n!=null&&typeof n=="object"){let r=n.deactivate;if(typeof r=="function")try{r()}catch(s){this._emit([[$,this._wrapFnError("cleanup.deactivate threw",s)]])}}for(let r of this._deps){if(r.unsub!=null){let s=r.unsub;r.unsub=null;try{s()}catch{}}zt(r)}this._waveHasNewData=!1,this._hasNewTerminal=!1,this._hasCalledFnOnce=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._rerunDepth=0,this._store={},this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null,this._fn!=null&&(this._cached=void 0),e||(this._fn!=null||this._deps.length>0)&&(!this._isTerminal||this._resubscribable)&&(this._status="sentinel")}_onDepMessage(e,n){let r=this._deps[e],s=n[0];if(this._inspectorHooks!=null){let o={kind:"dep_message",depIndex:e,message:n};for(let i of this._inspectorHooks)i(o)}if(s!==Ce){if(s===J){this._depDirtied(r);return}if(s===be){if(this._depInvalidated(r),this._cached===void 0)return;this._emit(Gt);return}if(s===Te||s===_e){this._emit([n]);return}if(s===se){this._emit(ct);return}if(s===F)this._depSettledAsData(r,n[1]);else if(s===q)this._depSettledAsResolved(r);else if(s===z)this._depSettledAsTerminal(r,!0);else if(s===$)this._depSettledAsTerminal(r,n[1]);else{this._emit([n]);return}if(!this._fn){(s===F||s===q)&&this._emit([n]),(s===z||s===$)&&this._maybeAutoTerminalAfterWave();return}}}_depDirtied(e){e.dirty||(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(lt))}_depSettledAsData(e,n){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.involvedThisWave=!0,e.dataBatch.push(n),this._waveHasNewData=!0}_depSettledAsResolved(e){e.dirty&&(e.dirty=!1,this._dirtyDepCount--)}_depSettledAsTerminal(e,n){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.terminal=n,e.involvedThisWave=!0,this._hasNewTerminal=!0}_depInvalidated(e){e.prevData=void 0,e.terminal=void 0,e.dataBatch.length=0,e.dirty?e.involvedThisWave=!1:(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++)}_maybeRunFnOnSettlement(){if(!(this._isTerminal&&!this._resubscribable)&&!(this._dirtyDepCount>0)){if(!this._partial&&!this._hasCalledFnOnce)for(let e=0;e<this._deps.length;e++){let n=this._deps[e];if(n.dataBatch.length===0&&n.prevData===void 0&&n.terminal===void 0){this._maybeAutoTerminalAfterWave();return}}if(this._paused){this._pendingWave=!0;return}if(!this._waveHasNewData&&!this._hasNewTerminal&&this._hasCalledFnOnce){this._clearWaveFlags(),this._emit(It),this._maybeAutoTerminalAfterWave();return}this._fn&&this._execFn(),this._maybeAutoTerminalAfterWave()}}_maybeAutoTerminalAfterWave(){if(this._deps.length===0||this._isTerminal)return;let e=this._deps.find(n=>n.terminal!==void 0&&n.terminal!==!0);if(e!=null){this._autoError&&this._emit([[$,e.terminal]]);return}this._autoComplete&&this._deps.every(n=>n.terminal!==void 0)&&this._emit(Lt)}_execFn(){if(!this._fn||this._isTerminal&&!this._resubscribable)return;if(this._isExecutingFn){this._pendingRerun=!0;return}let e=this._cleanup;if(typeof e=="function"){this._cleanup=void 0;try{e()}catch(i){this._emit([[$,this._wrapFnError("cleanup threw",i)]]);return}}else if(e!=null&&typeof e=="object"){let i=e.beforeRun;if(typeof i=="function"){e.beforeRun=void 0;try{i()}catch(a){this._emit([[$,this._wrapFnError("cleanup.beforeRun threw",a)]]);return}}}let n=this._deps.map(i=>i.involvedThisWave?i.dataBatch.length>0?[...i.dataBatch]:[]:void 0),r=this._deps.map(i=>i.prevData);for(let i=0;i<this._deps.length;i++){let a=n[i];a!=null&&a.length>0&&(this._deps[i].prevData=a[a.length-1])}let s=this._deps.map(i=>i.terminal),o={prevData:r,terminalDeps:s,store:this._store};if(this._hasCalledFnOnce=!0,this._clearWaveFlags(),this._inspectorHooks!=null){let i={kind:"run",batchData:n,prevData:r};for(let a of this._inspectorHooks)a(i)}this._isExecutingFn=!0;try{let i=this._fn(n,this._actions,o);if(typeof i=="function")this._cleanup=i;else if(i!=null&&typeof i=="object"){let a=i;(typeof a.beforeRun=="function"||typeof a.deactivate=="function"||typeof a.invalidate=="function")&&(this._cleanup=i)}}catch(i){this._emit([[$,this._wrapFnError("fn threw",i)]])}finally{this._isExecutingFn=!1,this._pendingRerun?(this._pendingRerun=!1,this._rerunDepth+=1,this._rerunDepth>xn?(this._rerunDepth=0,this._emit([[$,new Error(`Node "${this.name}": _pendingRerun depth exceeded ${xn} \u2014 likely a reactive cycle`)]])):this._maybeRunFnOnSettlement()):this._rerunDepth=0,this._clearWaveFlags()}}_clearWaveFlags(){this._waveHasNewData=!1,this._hasNewTerminal=!1;for(let e of this._deps)e.involvedThisWave=!1,e.dataBatch.length=0}_wrapFnError(e,n){let r=n instanceof Error?n.message:String(n);return new Error(`Node "${this.name}": ${e}: ${r}`,{cause:n})}_frameBatch(e){let n=this._config.tierOf;if(e.length===1)return n(e[0][0])===3&&this._status!=="dirty"?[$e,e[0]]:e;let r=!0,s=!1,o=!1,i=-1;for(let d of e){let u=n(d[0]);u<i&&(r=!1),u===3&&(s=!0),d[0]===J&&(o=!0),i=u}let a=e;if(!r){let d=e.map((u,c)=>({m:u,i:c,tier:n(u[0])}));d.sort((u,c)=>u.tier-c.tier||u.i-c.i),a=d.map(u=>u.m)}if(s&&!o&&this._status!=="dirty"){let d=0;for(;d<a.length&&n(a[d][0])===0;)d++;return d===0?[$e,...a]:[...a.slice(0,d),$e,...a.slice(d)]}return a}_emit(e){if(e.length===0)return;for(let a=0;a<e.length;a++){let d=e[a];if(d[0]===$&&d[1]===void 0)throw new TypeError('[ERROR, payload] requires a non-undefined payload (spec \xA71.2). Pass an Error object or domain tag instead \u2014 e.g. node.down([[ERROR, new Error("reason")]])')}let n=e;if(this._isTerminal&&!this._resubscribable){let a=e.filter(d=>d[0]===se||d[0]===be);if(a.length===0)return;n=a}n=this._frameBatch(n);let s=null;for(let a=0;a<n.length;a++){let d=n[a],u=d[0];if(u!==Te&&u!==_e){s?.push(d);continue}if(d.length<2)throw new Error(`Node "${this.name}": [[${u===Te?"PAUSE":"RESUME"}]] must carry a lockId payload \u2014 bare PAUSE/RESUME is a protocol violation (C0 rule). Use \`[[PAUSE, lockId]]\` / \`[[RESUME, lockId]]\`.`);let c=!0;if(this._pausable!==!1){let p=d[1];if(u===Te)this._pauseLocks==null&&(this._pauseLocks=new Set),this._pauseLocks.add(p),this._paused=!0,this._pausable==="resumeAll"&&this._pauseBuffer==null&&(this._pauseBuffer=[]);else if(this._pauseLocks==null||!this._pauseLocks.has(p))c=!1;else if(this._pauseLocks.delete(p),this._pauseLocks.size===0){if(this._paused=!1,this._pauseBuffer!=null&&this._pauseBuffer.length>0){let f=this._pauseBuffer;this._pauseBuffer=[],this._emit(f)}this._pendingWave&&(this._pendingWave=!1,this._maybeRunFnOnSettlement())}}c?s?.push(d):s==null&&(s=n.slice(0,a))}if(s!=null){if(s.length===0)return;n=s}if(this._hasMeta&&n.some(a=>a[0]===se))for(let a of Object.keys(this.meta))try{this.meta[a]._emit(ct)}catch{}let{finalMessages:o,equalsError:i}=this._updateState(n);if(o.length>0&&this._config.inspectorEnabled){let a=this._config.globalInspector;if(a!=null)try{a({kind:"emit",node:this,messages:o})}catch{}}if(o.length>0)if(this._paused&&this._pausable==="resumeAll"&&this._pauseBuffer!=null){let a=this._config.tierOf,d=[];for(let u of o)a(u[0])===3?this._pauseBuffer.push(u):d.push(u);d.length>0&&this._dispatchOrAccumulate(d)}else this._dispatchOrAccumulate(o);i!=null&&this._emit([[$,i]])}_updateState(e){let n=this._config.tierOf,r,s,o=-1,i=0;for(let c of e)n(c[0])===3&&i++;let a=i<=1,d=-1;if(this._versioning!=null&&i>1){for(let c=e.length-1;c>=0;c--)if(e[c][0]===F){d=c;break}}for(let c=0;c<e.length;c++){let p=e[c],f=p[0];if(f===F){if(p.length>=2){let h=!1;if(a&&this._cached!==void 0)try{h=this._equals(this._cached,p[1])}catch(l){s=this._wrapFnError("equals threw",l),o=c;break}if(h){r==null&&(r=e.slice(0,c)),r.push(ut),this._status="resolved";continue}this._cached=p[1],this._versioning!=null&&(d<0||c===d)&&yn(this._versioning,p[1],this._hashFn)}this._status="settled",r?.push(p)}else if(r?.push(p),f===J)this._status="dirty";else if(f===q)this._status="resolved";else if(f===z)this._status="completed";else if(f===$)this._status="errored";else if(f===be){this._cached=void 0,this._status="dirty";let h=this._cleanup;if(typeof h=="function"){this._cleanup=void 0;try{h()}catch{}}else if(h!=null&&typeof h=="object"){let l=h.invalidate;if(typeof l=="function")try{l()}catch{}}}else f===se&&(this._resetOnTeardown&&(this._cached=void 0),this._deactivate(!0),this._status="sentinel")}let u=o>=0?r??e.slice(0,o):r??e;return s!=null?{finalMessages:u,equalsError:s}:{finalMessages:u}}_deliverToSinks=e=>{if(this._sinks==null)return;if(typeof this._sinks=="function"){this._sinks(e);return}let n=[...this._sinks];for(let r of n)r(e)};_dispatchOrAccumulate(e){if(fn()){this._batchPendingMessages===null&&(this._batchPendingMessages=[],Je(()=>this._flushBatchPending()));for(let n of e)this._batchPendingMessages.push(n);return}Qe(this._deliverToSinks,e,this._config.tierOf)}_flushBatchPending(){let e=this._batchPendingMessages;if(e===null||(this._batchPendingMessages=null,e.length===0))return;let n=this._frameBatch(e);Qe(this._deliverToSinks,n,this._config.tierOf)}},_n=t=>Array.isArray(t),Bt=t=>typeof t=="object"&&t!=null&&!Array.isArray(t)});function A(t,e){return ie([],{...e,initial:t})}function xe(t,e){return ie((r,s,o)=>t(s,o)??void 0,{describeKind:"producer",...e})}function I(t,e,n){return ie(t,(s,o,i)=>{let a=s.map((d,u)=>d!=null&&d.length>0?d.at(-1):i.prevData[u]);o.emit(e(a,i))},{describeKind:"derived",...n})}function ae(t,e,n){return ie(t,(s,o,i)=>{let a=s.map((d,u)=>d!=null&&d.length>0?d.at(-1):i.prevData[u]);return e(a,o,i)??void 0},{describeKind:"effect",...n})}var ue=ge(()=>{"use strict";Ne()});function Ht(t){return{describeKind:"producer",...t}}function Nn(t,e){return xe(n=>{let r=!1;try{for(let s of t){if(r)return;n.emit(s)}r||n.down([[z]])}catch(s){r||n.down([[$,s]])}return()=>{r=!0}},Ht(e))}function Mr(t){return t!=null&&typeof t.then=="function"}function Dr(t,e){let{signal:n,...r}=e??{};return xe(s=>{let o=!1,i=()=>{o||(o=!0,s.down([[$,n.reason]]))};if(n?.aborted){i();return}return n?.addEventListener("abort",i,{once:!0}),Promise.resolve(t).then(a=>{o||(o=!0,n?.removeEventListener("abort",i),s.emit(a),s.down([[z]]))},a=>{o||(o=!0,n?.removeEventListener("abort",i),s.down([[$,a]]))}),()=>{o=!0,n?.removeEventListener("abort",i)}},Ht(r))}function Ar(t,e){let{signal:n,...r}=e??{};return xe(s=>{let o=new AbortController,i=()=>o.abort(n?.reason);n?.aborted?o.abort(n.reason):n?.addEventListener("abort",i,{once:!0});let a=n??o.signal,d=!1,u=t[Symbol.asyncIterator](),c=()=>{d||a.aborted||Promise.resolve(u.next()).then(p=>{if(!(d||a.aborted)){if(p.done){s.down([[z]]);return}s.emit(p.value),c()}},p=>{!d&&!a.aborted&&s.down([[$,p]])})};return c(),()=>{d=!0,n?.removeEventListener("abort",i),o.abort(),Promise.resolve(u.return?.()).catch(()=>{})}},Ht(r))}function Ir(t){return t!=null&&typeof t=="object"&&"cache"in t&&typeof t.subscribe=="function"}function ht(t,e){if(Ir(t))return t;if(Mr(t))return Dr(t,e);if(t!=null){let n=t;if(typeof n[Symbol.asyncIterator]=="function")return Ar(t,e);if(typeof n[Symbol.iterator]=="function")return Nn(t,e)}return Gr(t)}function Gr(...t){return Nn(t,void 0)}function Ee(t){return t.subscribe(()=>{})}var Ze=ge(()=>{"use strict";ye();ue()});var bt,On=ge(()=>{"use strict";bt=class{_timer;_gen=0;start(e,n){this.cancel(),this._gen+=1;let r=this._gen;this._timer=setTimeout(()=>{this._timer=void 0,r===this._gen&&n()},e)}cancel(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}get pending(){return this._timer!==void 0}}});var ls={};vr(ls,{DEFAULT_DECAY_RATE:()=>on,DEFAULT_QUEUE_CONFIGS:()=>sn,DEFAULT_SEVERITY_WEIGHTS:()=>rn,HarnessGraph:()=>Rt,QUEUE_NAMES:()=>Ae,affectedTaskFilter:()=>Br,beforeAfterCompare:()=>zr,codeChangeBridge:()=>Hr,createIntakeBridge:()=>$r,defaultErrorClassifier:()=>nn,defaultLlmExecutor:()=>ir,defaultLlmVerifier:()=>ar,evalIntakeBridge:()=>Fr,evalSource:()=>Vr,evalVerifier:()=>qr,harnessLoop:()=>es,harnessProfile:()=>ts,harnessTrace:()=>us,notifyEffect:()=>jr,priorityScore:()=>Jo,refineExecutor:()=>is,strategyKey:()=>rt,strategyModel:()=>an});module.exports=xr(ls);ue();ye();Ne();ue();Ze();function mt(t){return{describeKind:"derived",...t}}function Lr(t){return{describeKind:"derived",partial:!0,...t}}function Ke(t,e,n){return ie([t],(r,s)=>{let o=r[0];if(o==null||o.length===0){s.down([[q]]);return}let i=!1;for(let a of o)e(a)&&(s.emit(a),i=!0);i||s.down([[q]])},mt(n))}function et(t,e,n){return ie([t,e],(r,s,o)=>{let i=r[0],a=r[1],d=a!=null&&a.length>0?a.at(-1):o.prevData[1];if(i!=null&&i.length>0){if(!(a!=null&&a.length>0)&&o.prevData[1]===void 0){s.down([[q]]);return}for(let u of i)s.emit([u,d])}else s.down([[q]])},Lr(n))}function En(...t){return t.length===0?xe(e=>{e.down([[z]])},mt()):xe(e=>{let n=t.length,r=0,s=[];for(let o of t){let i=o.subscribe(a=>{for(let d of a)d[0]===F?e.emit(d[1]):d[0]===z?(r+=1,r>=n&&e.down([[z]])):d[0]===$&&e.down([d])});s.push(i)}return()=>{for(let o of s)o()}},mt())}function Pr(t,e,n){let r,s=!1,o=()=>{s||(s=!0,n())};return r=t.subscribe(i=>{let a=!1,d=!1;for(let u of i)u[0]!==Ce&&(u[0]===F?e.emit(u[1]):u[0]===z?a=!0:u[0]===$?(d=!0,e.down([u])):(u[0]===J||u[0]===q)&&e.down([u]));d?(r?.(),r=void 0,o()):a&&o()}),()=>{r?.(),r=void 0}}function we(t,e,n){let r,s=!1;function o(){r?.(),r=void 0}return ie([t],(i,a,d)=>{if(d.terminalDeps[0]!=null&&d.terminalDeps[0]!==!0){o();return}if(d.terminalDeps[0]===!0){s=!0,r||a.down([[z]]);return}let u=i[0];if(!(u==null||u.length===0))return o(),r=Pr(ht(e(u[u.length-1])),a,()=>{o(),s&&a.down([[z]])}),{deactivate:()=>{o(),s=!1}}},{...mt(n),completeWhenDepsComplete:!1})}Ze();function $r(t,e,n,r){return ae([t],([s])=>{if(s==null)return;let o=n(s);for(let i of o)e.publish(i)},{name:r?.name??"intake-bridge"})}function Fr(t,e,n){let r=n?.defaultSeverity??"medium";return ae([t],([s])=>{if(s==null)return;let o=Array.isArray(s)?s:[s];for(let i of o)for(let a of i.tasks)if(!(a.valid&&a.judge_scores?.every(d=>d.pass))){if(!a.valid&&(!a.judge_scores||a.judge_scores.length===0)){e.publish({source:"eval",summary:`Task ${a.task_id} invalid (model: ${i.model})`,evidence:`Run ${i.run_id}: task produced invalid output`,affectsAreas:["graphspec"],affectsEvalTasks:[a.task_id],severity:r});continue}if(a.judge_scores)for(let d of a.judge_scores)d.pass||e.publish({source:"eval",summary:`${a.task_id}: ${d.claim} (model: ${i.model})`,evidence:d.reasoning,affectsAreas:["graphspec"],affectsEvalTasks:[a.task_id],severity:r})}},{name:n?.name??"eval-intake-bridge"})}function Vr(t,e){return we(t,()=>ht(e()))}function zr(t,e){return I([t,e],([n,r])=>{let s=n,o=r,i=new Map(s.tasks.map(f=>[f.task_id,f])),a=new Map(o.tasks.map(f=>[f.task_id,f])),d=new Set([...i.keys(),...a.keys()]),u=[],c=[],p=[];for(let f of d){let h=i.get(f),l=a.get(f),m=h?.valid??!1,g=l?.valid??!1,b=h?.judge_scores?h.judge_scores.filter(T=>T.pass).length:void 0,v=l?.judge_scores?l.judge_scores.filter(T=>T.pass).length:void 0,y=b!==void 0&&v!==void 0?v-b:void 0;u.push({taskId:f,before:m,after:g,scoreDiff:y}),m&&!g&&c.push(f),!m&&g&&p.push(f)}return{newFailures:c,resolved:p,taskDeltas:u,overallImproved:p.length>c.length}},{name:"eval-delta"})}function Br(t,e){let n=e==null?null:Array.isArray(e)?A(e):e,r=[t];return n&&r.push(n),I(r,s=>{let o=s[0],i=n?new Set(s[1]):null,a=new Set;for(let d of o)for(let u of d.affectsEvalTasks??[])(i==null||i.has(u))&&a.add(u);return[...a].sort()},{name:"affected-task-filter"})}function Hr(t,e,n,r){let s=r?.defaultSeverity??"high";function o(a){let d=[];for(let u of a.lintErrors??[])d.push({source:"code-change",summary:`Lint: ${u.rule} in ${u.file}:${u.line}`,evidence:u.message,affectsAreas:[u.file],severity:s});for(let u of a.testFailures??[])d.push({source:"test",summary:`Test failure: ${u.testId}`,evidence:u.message,affectsAreas:[u.file],affectsEvalTasks:[u.testId],severity:s});return d}let i=n??o;return ae([t],([a])=>{if(a!=null)for(let d of i(a))e.publish(d)},{name:r?.name??"code-change-bridge"})}function jr(t,e,n){return ae([t.latest],([r])=>{r!=null&&e(r)},{name:n?.name??"notify-effect"})}ue();function Kr(t){if(t.length===0)return Number.NEGATIVE_INFINITY;let e=0;for(let n of t)e+=n.score;return e/t.length}function Ur(t){let{passCount:e,total:n,meanScore:r,threshold:s,missingArtifact:o}=t,i=Number.isFinite(r)?r.toFixed(3):String(r),a=!o&&n>0&&r>=s,d=o?["EXECUTE stage did not emit an artifact; cannot verify reactively"]:a?[`${e}/${n} eval tasks passed; mean score ${i} \u2265 ${s}`]:n===0?["No eval tasks were selected for this item \u2014 cannot verify"]:[`${e}/${n} eval tasks passed; mean score ${i} < threshold ${s}`];return a?{verified:!0,findings:d}:{verified:!1,findings:d,errorClass:"structural"}}function Wr(t){return t.artifact}function qr(t){let e=t.name??"eval-verifier",n=t.threshold??.5,r=t.toOutput??Ur,s=t.extractArtifact??Wr;return o=>{let i=Ke(o,d=>d!=null&&d[0]!=null&&d[1]!=null),a=we(i,([d,u])=>{let c=s(d,u);if(c==null)return A(r({scores:[],meanScore:Number.NEGATIVE_INFINITY,passCount:0,total:0,threshold:n,missingArtifact:!0}));let p=A([c],{name:`${e}/candidates`}),f=A(t.datasetFor(u),{name:`${e}/dataset`}),h=t.evaluator(p,f);return I([h],([l])=>{let m=l;if(m==null)return null;let g=Kr(m),b=m.filter(v=>v.score>=n).length;return r({scores:m,meanScore:g,passCount:b,total:m.length,threshold:n})},{name:`${e}/output`})},{name:e});return Ke(a,d=>d!=null)}}Ne();ue();it();Se();Pe();Xe();ye();Xe();Ne();function gt(t,e){if(e!=null&&e.length>0)return new Set(e);switch(t){case"standard":return new Set(["type","status","value","deps","meta","v"]);case"full":return null;default:return new Set(["type","deps"])}}function Yr(t){return t._describeKind!=null?t._describeKind:t._deps.length>0?"derived":t._fn!=null?"producer":"state"}function Jr(t){let e={};for(let[n,r]of Object.entries(t.meta))try{e[n]=r.cache}catch{}return e}function jt(t,e){let n=e==null,r=!n&&e!=null?[...e].filter(u=>u.startsWith("meta.")).map(u=>u.slice(5)):null,s=n||e.has("meta")||r!=null&&r.length>0,o="state",i=[];t instanceof Q&&(o=Yr(t),i=t._deps.map(u=>u.node.name??""));let a={type:o,deps:i};(n||e.has("status"))&&(a.status=t.status);let d=t instanceof Q?t._guard:void 0;if(s){let u={...Jr(t)};if(d!=null&&u.access===void 0&&(u.access=Pt(d)),r!=null&&r.length>0&&!e.has("meta")){let c={};for(let p of r)p in u&&(c[p]=u[p]);a.meta=c}else a.meta=u}if(t.name!=null&&(a.name=t.name),n||e.has("value")){t.status==="sentinel"&&(a.sentinel=!0);try{a.value=t.cache}catch{}}if((n||e.has("v"))&&t.v!=null){let u={id:t.v.id,version:t.v.version};"cid"in t.v&&(u.cid=t.v.cid,u.prev=t.v.prev),a.v=u}return(n||e.has("guard"))&&d!=null&&(a.guard=Pt(d)),(n||e.has("lastMutation"))&&t.lastMutation!=null&&(a.lastMutation=t.lastMutation),a}Ne();ue();Ze();On();var tt=class{constructor(e){this.capacity=e;if(!Number.isInteger(e)||e<=0)throw new Error(`RingBuffer capacity must be a positive integer (got ${e})`);this.buf=new Array(e)}buf;head=0;_size=0;get size(){return this._size}get maxSize(){return this.capacity}push(e){let n=(this.head+this._size)%this.capacity;this.buf[n]=e,this._size<this.capacity?this._size++:this.head=(this.head+1)%this.capacity}shift(){if(this._size===0)return;let e=this.buf[this.head];return this.buf[this.head]=void 0,this.head=(this.head+1)%this.capacity,this._size--,e}at(e){if(this._size===0)return;let n=e<0?this._size+e:e;if(!(n<0||n>=this._size))return this.buf[(this.head+n)%this.capacity]}toArray(){let e=new Array(this._size);for(let n=0;n<this._size;n++)e[n]=this.buf[(this.head+n)%this.capacity];return e}clear(){for(let e=0;e<this._size;e++)this.buf[(this.head+e)%this.capacity]=void 0;this.head=0,this._size=0}};At();function Kt(t){return t>=768&&t<=879||t>=1155&&t<=1161||t>=1425&&t<=1469||t>=1552&&t<=1562||t>=1611&&t<=1631||t>=1648&&t===1648||t>=1750&&t<=1756||t>=1759&&t<=1764||t>=1767&&t<=1768||t>=1770&&t<=1773||t>=1840&&t<=1866||t>=1958&&t<=1968||t>=2304&&t<=2307||t>=2362&&t<=2383||t>=2385&&t<=2391||t>=2402&&t<=2403||t>=2433&&t<=2435||t>=2492&&t<=2509||t>=2561&&t<=2563||t>=2620&&t<=2641||t>=2672&&t<=2673||t>=2677&&t===2677||t>=3633&&t===3633||t>=3636&&t<=3642||t>=3655&&t<=3662||t>=3761&&t===3761||t>=3764&&t<=3772||t>=3784&&t<=3790||t>=7616&&t<=7679||t>=8400&&t<=8447||t>=65024&&t<=65039||t>=65056&&t<=65071||t===8205?0:t>=4352&&t<=4447||t>=8986&&t<=8987||t>=9001&&t<=9002||t>=9193&&t<=9203||t>=9208&&t<=9210||t>=9725&&t<=9726||t>=9748&&t<=9749||t>=9800&&t<=9811||t===9855||t===9875||t===9889||t>=9898&&t<=9899||t>=9917&&t<=9918||t>=9924&&t<=9925||t===9934||t===9940||t===9962||t>=9970&&t<=9971||t===9973||t===9978||t===9981||t===9986||t===9989||t>=9992&&t<=9997||t===9999||t>=10067&&t<=10069||t===10071||t>=10133&&t<=10135||t===10160||t===10175||t>=10548&&t<=10549||t>=11013&&t<=11015||t>=11035&&t<=11036||t===11088||t===11093||t>=11904&&t<=12350||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12771||t>=12784&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=19903||t>=19968&&t<=40959||t>=43360&&t<=43388||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65049||t>=65072&&t<=65131||t>=65281&&t<=65376||t>=65504&&t<=65510||t>=126980&&t===126980||t===127183||t>=127344&&t<=127345||t===127358||t===127359||t===127374||t>=127377&&t<=127386||t>=127456&&t<=127487||t>=127488&&t<=127490||t===127514||t===127535||t>=127538&&t<=127546||t>=127568&&t<=127569||t>=127744&&t<=129535||t>=129536&&t<=129791||t>=129792&&t<=130047||t>=131072&&t<=196605||t>=196608&&t<=262141?2:1}function yt(t){let e=0;for(let n of t)e+=Kt(n.codePointAt(0));return e}function kn(t,e){if(e<=0)return"";let n=0,r="";for(let s of t){let o=Kt(s.codePointAt(0));if(n+o>e){if(e<=1)return"\u2026";for(;n+1>e&&r.length>0;){let i=[...r].pop();r=r.slice(0,-i.length),n-=Kt(i.codePointAt(0))}return`${r}\u2026`}r+=s,n+=o}return r}var Qr={horizontal:"\u2500",vertical:"\u2502",cornerTL:"\u250C",cornerTR:"\u2510",cornerBL:"\u2514",cornerBR:"\u2518",tDown:"\u252C",tUp:"\u2534",tRight:"\u251C",tLeft:"\u2524",cross:"\u253C",arrowRight:"\u25B6",arrowDown:"\u25BC",arrowLeft:"\u25C0",arrowUp:"\u25B2",boxTL:"\u250C",boxTR:"\u2510",boxBL:"\u2514",boxBR:"\u2518",boxH:"\u2500",boxV:"\u2502"},Xr={horizontal:"-",vertical:"|",cornerTL:"+",cornerTR:"+",cornerBL:"+",cornerBR:"+",tDown:"+",tUp:"+",tRight:"+",tLeft:"+",cross:"+",arrowRight:">",arrowDown:"v",arrowLeft:"<",arrowUp:"^",boxTL:"+",boxTR:"+",boxBL:"+",boxBR:"+",boxH:"-",boxV:"|"};function Mn(t,e){let n=e.charset==="ascii"?Xr:Qr,r=t.width,s=t.height,o=Array.from({length:s},()=>Array.from({length:r},()=>" ")),i=Array.from({length:s},()=>Array.from({length:r},()=>"empty"));for(let a of t.edges)eo(o,i,n,a);for(let a of t.boxes)Zr(o,i,n,a,e.labelOf(a.id));return o.map(a=>oo(a.join(""))).join(`
2
- `)}function Zr(t,e,n,r,s){let{x:o,y:i,w:a,h:d}=r;if(a<2||d<2){d>0&&Rn(t,e,o,i,a,s);return}Me(t,e,o,i,n.boxTL);for(let c=o+1;c<o+a-1;c+=1)Me(t,e,c,i,n.boxH);Me(t,e,o+a-1,i,n.boxTR);for(let c=i+1;c<i+d-1;c+=1){Me(t,e,o,c,n.boxV);for(let p=o+1;p<o+a-1;p+=1)Dn(t,e,p,c," ","empty");Me(t,e,o+a-1,c,n.boxV)}Me(t,e,o,i+d-1,n.boxBL);for(let c=o+1;c<o+a-1;c+=1)Me(t,e,c,i+d-1,n.boxH);Me(t,e,o+a-1,i+d-1,n.boxBR);let u=i+Math.floor(d/2);Rn(t,e,o+1,u,a-2,s)}function Me(t,e,n,r,s){Dn(t,e,n,r,s,s===" "?"empty":s==="\u2500"||s==="-"?"boxH":s==="\u2502"||s==="|"?"boxV":"boxCorner")}function Dn(t,e,n,r,s,o){if(r<0||r>=t.length)return;let i=t[r];n<0||n>=i.length||(i[n]=s,e[r][n]=o)}function Rn(t,e,n,r,s,o){if(r<0||r>=t.length)return;let i=n,a=s;for(let d of o){let u=yt(d);if(u!==0){if(a<u)break;i>=0&&i<t[r].length&&(t[r][i]=d,e[r][i]="label",u===2&&i+1<t[r].length&&(t[r][i+1]="",e[r][i+1]="label")),i+=u,a-=u}}for(;a>0;)i>=0&&i<t[r].length&&(t[r][i]=" ",e[r][i]="empty"),i+=1,a-=1}function eo(t,e,n,r){let s=r.points;if(s.length<2)return;for(let d=0;d+1<s.length;d+=1)to(t,e,n,s[d],s[d+1]);for(let d=1;d+1<s.length;d+=1){let u=s[d-1],c=s[d],p=s[d+1],f=no(u,c,p,n);f&&Cn(t,e,c.x,c.y,f,"edgeCorner")}let o=s[s.length-1],i=s[s.length-2],a=ro(i,o,n);a&&Cn(t,e,o.x,o.y,a,"arrow")}function to(t,e,n,r,s){if(!(r.x===s.x&&r.y===s.y)){if(r.y===s.y){let o=r.y,i=Math.min(r.x,s.x),a=Math.max(r.x,s.x);for(let d=i;d<=a;d+=1)Sn(t,e,d,o,n,"h")}else if(r.x===s.x){let o=r.x,i=Math.min(r.y,s.y),a=Math.max(r.y,s.y);for(let d=i;d<=a;d+=1)Sn(t,e,o,d,n,"v")}}}function Sn(t,e,n,r,s,o){if(r<0||r>=t.length)return;let i=t[r];if(n<0||n>=i.length)return;let a=e[r][n];if(!(a==="boxH"||a==="boxV"||a==="boxCorner"||a==="label")){if(a==="empty"){i[n]=o==="h"?s.horizontal:s.vertical,e[r][n]=o==="h"?"edgeH":"edgeV";return}if(a==="edgeH"&&o==="v"){i[n]=s.cross,e[r][n]="edgeCorner";return}if(a==="edgeV"&&o==="h"){i[n]=s.cross,e[r][n]="edgeCorner";return}}}function Cn(t,e,n,r,s,o){if(r<0||r>=t.length)return;let i=t[r];if(n<0||n>=i.length)return;let a=e[r][n];a==="boxH"||a==="boxV"||a==="boxCorner"||a==="label"||(i[n]=s,e[r][n]=o)}function no(t,e,n,r){let s=t.y===e.y,o=e.y===n.y;if(s===o)return;if(s){let d=t.x<e.x,u=n.y>e.y;return d&&u?r.cornerTR:d&&!u?r.cornerBR:!d&&u?r.cornerTL:r.cornerBL}let i=t.y<e.y,a=n.x>e.x;return i&&a?r.cornerBL:i&&!a?r.cornerBR:!i&&a?r.cornerTL:r.cornerTR}function ro(t,e,n){if(e.x>t.x)return n.arrowRight;if(e.x<t.x)return n.arrowLeft;if(e.y>t.y)return n.arrowDown;if(e.y<t.y)return n.arrowUp}function oo(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===32;)e-=1;return t.slice(0,e)}function Gn(t){let e=so(t);io(e),ao(e),uo(e),lo(e,t);let n=po(e,t),{width:r,height:s}=mo(e),o=[];for(let i of e.layers)for(let a of i)a.isVirtual||o.push({id:a.id,layer:a.layer,order:a.order,x:a.x,y:a.y,w:a.w,h:a.h});return{boxes:o,edges:n,width:r,height:s}}function so(t){let e=new Map;for(let s of t.nodes)e.set(s,{id:s,isVirtual:!1,layer:-1,order:0,x:0,y:0,w:t.widthCells(s),h:t.heightCells(s),in:[],out:[]});let n=[],r=0;for(let s of t.edges){if(s.from===s.to)continue;let o=e.get(s.from),i=e.get(s.to);if(!o||!i)continue;let a={chainId:r++,chainFrom:s.from,chainTo:s.to,fromId:s.from,toId:s.to,hopIndex:0,chainLen:1};o.out.push(a),i.in.push(a),n.push(a)}return{nodes:e,layers:[],hops:n}}function io(t){let e=new Map;for(let o of t.nodes.values())e.set(o.id,o.in.length);let n=[];for(let o of t.nodes.values())(e.get(o.id)??0)===0&&(o.layer=0,n.push(o));let r=new Set,s=0;for(;s<n.length;){let o=n[s++];if(!r.has(o.id)){r.add(o.id);for(let i of o.out){let a=t.nodes.get(i.toId);a.layer=Math.max(a.layer,o.layer+1);let d=(e.get(a.id)??0)-1;e.set(a.id,d),d<=0&&n.push(a)}}}for(let o of t.nodes.values())o.layer<0&&(o.layer=0)}function ao(t){let e=Math.max(0,...Array.from(t.nodes.values(),o=>o.layer)),n=Array.from({length:e+1},()=>[]);for(let o of t.nodes.values())n[o.layer].push(o);let r=[],s=0;for(let o of t.hops){let i=t.nodes.get(o.fromId),a=t.nodes.get(o.toId),d=a.layer-i.layer;if(d<=0){i.out=i.out.filter(p=>p!==o),a.in=a.in.filter(p=>p!==o);continue}if(d===1){o.hopIndex=0,o.chainLen=1,r.push(o);continue}i.out=i.out.filter(p=>p!==o),a.in=a.in.filter(p=>p!==o);let u=i;for(let p=1;p<d;p+=1){let f=`__virt_${s++}__`,h={id:f,isVirtual:!0,layer:i.layer+p,order:0,x:0,y:0,w:0,h:1,in:[],out:[]};t.nodes.set(f,h),n[h.layer].push(h);let l={chainId:o.chainId,chainFrom:o.chainFrom,chainTo:o.chainTo,fromId:u.id,toId:f,hopIndex:p-1,chainLen:d};u.out.push(l),h.in.push(l),r.push(l),u=h}let c={chainId:o.chainId,chainFrom:o.chainFrom,chainTo:o.chainTo,fromId:u.id,toId:a.id,hopIndex:d-1,chainLen:d};u.out.push(c),a.in.push(c),r.push(c)}for(let o of n)for(let i=0;i<o.length;i+=1)o[i].order=i;t.layers=n,t.hops=r}function uo(t){for(let n=0;n<4;n+=1){for(let r=1;r<t.layers.length;r+=1)An(t,t.layers[r],"in"),vt(t.layers[r]);for(let r=t.layers.length-2;r>=0;r-=1)An(t,t.layers[r],"out"),vt(t.layers[r])}for(let n=0;n<2;n+=1){let r=!1;for(let s=1;s<t.layers.length;s+=1){let o=t.layers[s];for(let i=0;i+1<o.length;i+=1){let a=In(t,o[i],o[i+1],"in");[o[i],o[i+1]]=[o[i+1],o[i]],vt(o),In(t,o[i],o[i+1],"in")<a?r=!0:([o[i],o[i+1]]=[o[i+1],o[i]],vt(o))}}if(!r)break}}function An(t,e,n){let r=new Map;for(let s of e){let o=n==="in"?s.in:s.out;if(o.length===0){r.set(s.id,s.order);continue}let i=0,a=0;for(let d of o){let u=t.nodes.get(n==="in"?d.fromId:d.toId);u&&(i+=u.order,a+=1)}r.set(s.id,a===0?s.order:i/a)}e.sort((s,o)=>{let i=r.get(s.id),a=r.get(o.id);return i!==a?i-a:s.order-o.order})}function vt(t){for(let e=0;e<t.length;e+=1)t[e].order=e}function In(t,e,n,r){let s=r==="in"?e.in:e.out,o=r==="in"?n.in:n.out,i=0;for(let a of s)for(let d of o){let u=t.nodes.get(r==="in"?a.fromId:a.toId)?.order??0,c=t.nodes.get(r==="in"?d.fromId:d.toId)?.order??0;(e.order<n.order&&u>c||e.order>n.order&&u<c)&&(i+=1)}return i}function lo(t,e){e.direction==="LR"?co(t,e):fo(t,e)}function co(t,e){let n=[],r=0;for(let s=0;s<t.layers.length;s+=1){n.push(r);let o=0;for(let i of t.layers[s])o=Math.max(o,i.w);r+=o+e.layerGap}for(let s=0;s<t.layers.length;s+=1)for(let o of t.layers[s])o.x=n[s];for(let s of t.layers){let o=0;for(let i of s)i.y=o,o+=i.h+e.nodeGap}Ln(t,e,"y")}function fo(t,e){let n=[],r=0;for(let s=0;s<t.layers.length;s+=1){n.push(r);let o=0;for(let i of t.layers[s])o=Math.max(o,i.h);r+=o+e.layerGap}for(let s=0;s<t.layers.length;s+=1)for(let o of t.layers[s])o.y=n[s];for(let s of t.layers){let o=0;for(let i of s)i.x=o,o+=i.w+e.nodeGap}Ln(t,e,"x")}function Ln(t,e,n){let r=o=>n==="y"?o.h:o.w,s=e.nodeGap;for(let o=0;o<2;o+=1){let i=o===0?t.layers.slice(1):t.layers.slice(0,-1).reverse();for(let a of i){let d=new Map;for(let c of a){let p=o===0?c.in:c.out;if(p.length===0)continue;let f=[];for(let l of p){let m=t.nodes.get(o===0?l.fromId:l.toId);if(!m)continue;let g=n==="y"?m.y:m.x;f.push(g+Math.floor(r(m)/2))}if(f.length===0)continue;f.sort((l,m)=>l-m);let h=f[Math.floor(f.length/2)];d.set(c.id,h-Math.floor(r(c)/2))}let u=0;for(let c of a){let p=d.get(c.id),f=n==="y"?c.y:c.x,l=Math.max(p??f,u);n==="y"?c.y=l:c.x=l,u=l+r(c)+s}}}}function po(t,e){let n=new Map;for(let u of t.hops){let c=n.get(u.chainId);c?c.push(u):n.set(u.chainId,[u])}for(let u of n.values())u.sort((c,p)=>c.hopIndex-p.hopIndex);let r=e.direction==="LR",s=u=>r?u.x:u.y,o=u=>r?u.w:u.h,i=u=>r?u.y+Math.floor(u.h/2):u.x+Math.floor(u.w/2),a=new Map;for(let u=0;u+1<t.layers.length;u+=1){let c=t.layers[u],p=t.layers[u+1],f=0;for(let N of c)f=Math.max(f,s(N)+o(N));let h=Number.POSITIVE_INFINITY;for(let N of p)h=Math.min(h,s(N));let l=Number.isFinite(h)?h-1:f,m=Math.max(1,l-f+1),g=[];for(let N of c)for(let E of N.out)g.push(E);g.sort((N,E)=>{let G=i(t.nodes.get(N.fromId)),R=i(t.nodes.get(E.fromId));if(G!==R)return G-R;let C=i(t.nodes.get(N.toId)),S=i(t.nodes.get(E.toId));return C-S});let b=[],v=new Map;for(let N of g){let E=i(t.nodes.get(N.fromId)),G=i(t.nodes.get(N.toId)),R=Math.min(E,G),C=Math.max(E,G),S=-1;for(let V=0;V<b.length;V+=1){let Y=b[V],oe=!0;for(let fe of Y)if(fe.lo<=C&&R<=fe.hi){oe=!1;break}if(oe){Y.push({lo:R,hi:C}),S=V;break}}S<0&&(b.push([{lo:R,hi:C}]),S=b.length-1),v.set(N,S)}let y=b.length,T=m>=Math.max(3,y+2),x=T?f+1:f,w=T?l-1:l,_=Math.max(1,w-x+1);for(let N of g){let E=v.get(N),G;if(y<=1)G=x+Math.floor(_/2);else{let R=(_-1)/(y-1);G=x+Math.floor(E*R)}a.set(N,Math.max(f,Math.min(l,G)))}}let d=[];for(let[,u]of n){let c=[];for(let f=0;f<u.length;f+=1){let h=u[f],l=t.nodes.get(h.fromId),m=t.nodes.get(h.toId),g=a.get(h),b=l.isVirtual?s(l):s(l)+o(l),v=m.isVirtual?s(m):s(m)-1,y=i(l),T=i(m);f===0&&Tt(c,r,b,y),y!==T&&(Tt(c,r,g,y),Tt(c,r,g,T)),Tt(c,r,v,T)}let p=u[0];d.push({from:p.chainFrom,to:p.chainTo,points:ho(c)})}return d}function Tt(t,e,n,r){t.push(e?{x:n,y:r}:{x:r,y:n})}function ho(t){let e=[];for(let n of t){let r=e[e.length-1];(!r||r.x!==n.x||r.y!==n.y)&&e.push(n)}return e}function mo(t){let e=0,n=0;for(let r of t.layers)for(let s of r)e=Math.max(e,s.x+s.w),n=Math.max(n,s.y+s.h);return{width:e,height:n}}var go=24,bo=4,yo=1,vo=3;function Pn(t,e){let n=To(e.direction),r=Math.max(3,e.maxLabelWidth??go),s=e.asciiCharset??"unicode",o=Object.keys(t.nodes).sort(),i=new Set(o),a=t.edges.filter(h=>i.has(h.from)&&i.has(h.to)),d=new Map,u=new Map;for(let h of o){let l=kn(h,r);d.set(h,l),u.set(h,yt(l)+4)}let c=Gn({nodes:o,edges:a,widthCells:h=>u.get(h)??3,heightCells:()=>vo,layerGap:bo,nodeGap:yo,direction:n}),p=Mn(c,{charset:s,labelOf:h=>d.get(h)??h}),f=e.logger;return f&&f(p),p}function To(t){if(t===void 0||t==="LR")return"LR";if(t==="TD")return"TD";throw new Error(`ascii describe supports direction "LR" or "TD" only; got ${String(t)}`)}function $n(t,e,n,r={}){let s=e in t.nodes,o=n in t.nodes;if(!s)return xt(e,n,"no-such-from");if(!o)return xt(e,n,"no-such-to");let i=r.maxDepth;if(i!=null&&(!Number.isInteger(i)||i<0))throw new Error("explainPath: maxDepth must be an integer >= 0");if(e===n){if(r.findCycle===!0){let u=xo(t,e,r);if(u!=null)return u}let d=wt(e,t.nodes[e],0,r);return _t(e,n,[d])}if(i===0)return xt(e,n,"no-path");let a=Fn(t,e,n,i);return a.found?_t(e,n,Vn(t,a.pathOrder,r)):xt(e,n,a.truncated?"max-depth-exceeded":"no-path")}function Fn(t,e,n,r){let s=new Map,o=[{path:n,depth:0}],i=new Set([n]),a=0,d=!1;for(;a<o.length;){let p=o[a++];if(p.path===e)break;if(r!=null&&p.depth>=r){let m=t.nodes[p.path];m?.deps&&m.deps.length>0&&(d=!0);continue}let f=t.nodes[p.path];if(f==null)continue;let h=f.deps??[],l=new Map;for(let m=0;m<h.length;m++){let g=h[m];if(!g)continue;let b=l.get(g);b==null&&(b=[],l.set(g,b)),b.push(m)}for(let[m,g]of l)i.has(m)||(i.add(m),s.set(m,{from:p.path,depIndices:g}),o.push({path:m,depth:p.depth+1}))}if(!s.has(e))return{found:!1,pathOrder:[],truncated:d};let u=[{path:e}],c=e;for(;c!==n;){let p=s.get(c);if(p==null)return{found:!1,pathOrder:[],truncated:!1};u[u.length-1].depIndices=p.depIndices,u.push({path:p.from}),c=p.from}return{found:!0,pathOrder:u,truncated:!1}}function xo(t,e,n){let r=t.nodes[e];if(r==null)return null;let s=r.deps??[],o=[];for(let a=0;a<s.length;a++)s[a]===e&&o.push(a);if(o.length>0){let a=wt(e,r,0,n);a.dep_index=o[0];let d=wt(e,r,1,n);return _t(e,e,[a,d])}let i=null;for(let a=0;a<s.length;a++){let d=s[a];if(!d||d===e)continue;let u=Fn(t,d,e,n.maxDepth);u.found&&(i==null||u.pathOrder.length<i.pathOrder.length)&&(i=u,i={found:!0,pathOrder:[{path:e,depIndices:[a]},...u.pathOrder],truncated:!1})}return i==null?null:_t(e,e,Vn(t,i.pathOrder,n))}function Vn(t,e,n){return e.map((r,s)=>{let o=t.nodes[r.path],i=wt(r.path,o,s,n);return r.depIndices!=null&&r.depIndices.length>0&&(i.dep_index=r.depIndices[0],r.depIndices.length>1&&(i.dep_indices=[...r.depIndices])),i})}function wt(t,e,n,r){let s={path:t,type:e.type,hop:n};e.status!==void 0&&(s.status=e.status),"value"in e&&(s.value=e.value),e.v!=null&&(s.v=e.v);let o=r.annotations?.get(t)??e.annotation;o!=null&&(s.annotation=o);let i=r.lastMutations?.get(t)??e.lastMutation;return i!=null&&(s.lastMutation=i),s}function _t(t,e,n){return zn(t,e,!0,"ok",n)}function xt(t,e,n){return zn(t,e,!1,n,[])}function zn(t,e,n,r,s){let o=wo(t,e,n,r,s);return{from:t,to:e,found:n,reason:r,steps:s,text:o,toJSON(){return{from:t,to:e,found:n,reason:r,steps:s}}}}function wo(t,e,n,r,s){if(!n)switch(r){case"no-such-from":return`explainPath: no node named "${t}"`;case"no-such-to":return`explainPath: no node named "${e}"`;case"max-depth-exceeded":return`explainPath: no path from "${t}" to "${e}" within maxDepth`;default:return`explainPath: no path from "${t}" to "${e}"`}let o=[`Causal path: ${t} \u2192 ${e} (${s.length} step(s))`];for(let i of s){let d=` ${i.hop===0?"\xB7":"\u2193"} ${i.path} (${i.type}${i.status?`/${i.status}`:""})`;if(o.push(d),"value"in i&&o.push(` value: ${_o(i.value)}`),i.annotation!=null&&o.push(` annotation: ${i.annotation}`),i.lastMutation!=null){let u=i.lastMutation.actor;o.push(` actor: ${u.type}${u.id?`:${u.id}`:""}`)}}return o.join(`
3
- `)}function _o(t){if(t===void 0)return"<sentinel>";if(t===null)return"null";if(typeof t=="string")return JSON.stringify(t);if(typeof t=="number"||typeof t=="boolean"||typeof t=="bigint")return String(t);try{let e=JSON.stringify(t);return e.length>80?`${e.slice(0,77)}...`:e}catch{return String(t)}}Ne();var X={object:56,array:64,string:40,number:8,boolean:4,null:0,undefined:0,symbol:40,bigint:16,function:120,map:72,set:72,mapEntry:40,setEntry:24,date:24,regexp:48,error:64,url:80,promise:48,weakmap:40,weakset:40},No=Symbol.for("sizeof");function Bn(t){let e=new WeakSet,n=new WeakSet,r=[t],s=0;for(;r.length>0;){let o=r.pop();s+=Eo(o,e,n,r)}return s}function Eo(t,e,n,r){if(t==null)return 0;switch(typeof t){case"number":return X.number;case"boolean":return X.boolean;case"string":return X.string+t.length*2;case"bigint":return X.bigint+Oo(t);case"symbol":return X.symbol;case"function":return e.has(t)?0:(e.add(t),X.function);case"undefined":return 0}let o=t;if(e.has(o))return 0;e.add(o);let i=o[No];if(typeof i=="function")try{let u=i.call(o);if(typeof u=="number"&&Number.isFinite(u))return u}catch{}if(o instanceof Date)return X.date;if(o instanceof RegExp)return X.regexp+o.source.length*2;if(o instanceof Error){let u=o.message?o.message.length*2:0,c=o.stack?o.stack.length*2:0;return X.error+u+c}if(typeof URL<"u"&&o instanceof URL)return X.url+o.href.length*2;if(typeof Promise<"u"&&o instanceof Promise)return X.promise;if(o instanceof WeakMap)return X.weakmap;if(o instanceof WeakSet)return X.weakset;if(o instanceof Map){let u=X.map;for(let[c,p]of o)u+=X.mapEntry,r.push(c),r.push(p);return u}if(o instanceof Set){let u=X.set;for(let c of o)u+=X.setEntry,r.push(c);return u}if(Array.isArray(o)){let u=X.array+o.length*8;for(let c of o)r.push(c);return u}if(o instanceof ArrayBuffer)return n.has(o)?0:(n.add(o),o.byteLength);if(ArrayBuffer.isView(o)){let u=o;return n.has(u.buffer)?48:(n.add(u.buffer),u.buffer.byteLength+48)}let a=X.object,d=Object.keys(o);for(let u of d){a+=X.string+u.length*2;try{r.push(o[u])}catch{}}return a}function Oo(t){let e=t<0n?-t:t;if(e===0n)return 0;let n=e.toString(2).length;return Math.ceil(n/32)*8}function Nt(t,e){let n=e?.topN??10,r=t.describe({detail:"standard"}),s=[],o=t._collectObserveTargets;typeof o=="function"&&o.call(t,"",s);let i=new Map;for(let[f,h]of s)i.set(f,h);let a=[];for(let[f,h]of Object.entries(r.nodes)){let l=i.get(f),m=l instanceof Q?l:null,g=m?Bn(m.cache):0,b=m?m._sinkCount:0,v=h.deps?.length??0,y=h.type==="effect"&&b===0,T=b===0?h.type==="effect"?"orphan-effect":h.type==="derived"?"idle-derived":h.type==="producer"?"idle-producer":null:null;a.push({path:f,type:h.type,status:h.status??"unknown",valueSizeBytes:g,subscriberCount:b,depCount:v,isOrphanEffect:y,orphanKind:T})}let d=a.reduce((f,h)=>f+h.valueSizeBytes,0),u=(f,h)=>[...a].sort(h??((l,m)=>m[f]-l[f])).slice(0,n),c=a.filter(f=>f.orphanKind!=null),p=a.filter(f=>f.isOrphanEffect);return{nodeCount:a.length,edgeCount:r.edges.length,subgraphCount:r.subgraphs.length,nodes:a,totalValueSizeBytes:d,hotspots:{byValueSize:u("valueSizeBytes"),bySubscriberCount:u("subscriberCount"),byDepCount:u("depCount")},orphans:c,orphanEffects:p}}var H="::",ce="__meta__",Fe=1;function Hn(t,e){let n=Math.max(16,t.size*4),r=0;for(;t.size>0;){if(r++>=n){console.error(`[Graph "${e}".destroy] disposer drain exceeded cap (${n}); ${t.size} disposer(s) discarded`),t.clear();return}let s=t.values().next();if(s.done)return;let o=s.value;t.delete(o);try{o()}catch(i){console.error(`[Graph "${e}".destroy] disposer threw:`,i)}}}function ko(t){let e=[];for(let n of Object.keys(t).sort()){let r=t[n].v;r!=null&&e.push(`${n} ${r.id} ${r.version}`)}return e.join(`
4
- `)}function jn(t){if(t.version!==Fe)throw new Error(`unsupported snapshot version ${String(t.version)} (expected ${Fe})`);for(let e of["name","nodes","edges","subgraphs"])if(!(e in t))throw new Error(`snapshot missing required key "${e}"`);if(typeof t.name!="string")throw new TypeError("snapshot 'name' must be a string");if(typeof t.nodes!="object"||t.nodes===null||Array.isArray(t.nodes))throw new TypeError("snapshot 'nodes' must be an object");if(!Array.isArray(t.edges))throw new TypeError("snapshot 'edges' must be an array");if(!Array.isArray(t.subgraphs))throw new TypeError("snapshot 'subgraphs' must be an array")}function Ro(t,e){let n=new WeakMap,r=(s,o)=>{if(Object.is(s,o))return!0;if(s==null||o==null||typeof s!="object"||typeof o!="object")return!1;let i=n.get(s);if(i==null&&(i=new WeakSet,n.set(s,i)),i.has(o))return!0;i.add(o);let a=s.constructor,d=o.constructor;if(a!==d)return!1;if(s instanceof Date)return s.getTime()===o.getTime();if(s instanceof RegExp)return s.source===o.source&&s.flags===o.flags;if(Array.isArray(s)){let f=o;if(s.length!==f.length)return!1;for(let h=0;h<s.length;h++)if(!r(s[h],f[h]))return!1;return!0}if(s instanceof Map){let f=o;if(s.size!==f.size)return!1;for(let[h,l]of s)if(!f.has(h)||!r(l,f.get(h)))return!1;return!0}if(s instanceof Set){let f=o;if(s.size!==f.size)return!1;for(let h of s){let l=!1;for(let m of f)if(r(h,m)){l=!0;break}if(!l)return!1}return!0}if(ArrayBuffer.isView(s)){let f=s,h=o;if(f.length!==h.length)return!1;for(let l=0;l<f.length;l++)if(f[l]!==h[l])return!1;return!0}let u=Object.keys(s),c=Object.keys(o);if(u.length!==c.length)return!1;let p=new Set(c);for(let f of u)if(!p.has(f)||!r(s[f],o[f]))return!1;return!0};return r(t,e)}function Wt(t){if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(Wt);let e=t,n=Object.keys(e).sort(),r={};for(let s of n)r[s]=Wt(e[s]);return r}function So(t){return t.replaceAll("\\","\\\\").replaceAll('"','\\"')}function Co(t){return t.replaceAll("\\","\\\\").replaceAll('"','\\"')}function Mo(t){return t==="TD"?"down":t==="BT"?"up":t==="RL"?"left":"right"}function Un(t){let e=new Set,n=[];function r(s,o){let i=`${s}\0${o}`;e.has(i)||(e.add(i),n.push([s,o]))}for(let[s,o]of Object.entries(t.nodes)){let i=o.deps;if(i)for(let a of i)r(a,s)}for(let s of t.edges)r(s.from,s.to);return n}function Wn(t){if(t===void 0)return"LR";if(t==="TD"||t==="LR"||t==="BT"||t==="RL")return t;throw new Error(`invalid diagram direction ${String(t)}; expected one of: TD, LR, BT, RL`)}function Do(t,e){let n=e.includeEdges??!0,r=e.includeSubgraphs??!0,{expand:s,...o}=t,i={...o,edges:n?t.edges:[],subgraphs:r?t.subgraphs:[]},a=JSON.stringify(Wt(i),null,e.indent??2);return e.logger?.(a),a}function Ao(t,e){let n=e.includeEdges??!0,r=e.includeSubgraphs??!0,s=[];s.push(`Graph ${t.name}`),s.push("Nodes:");for(let i of Object.keys(t.nodes).sort()){let a=t.nodes[i];s.push(`- ${i} (${a.type}/${a.status}): ${Ot(a.value)}`)}if(n){s.push("Edges:");for(let i of t.edges)s.push(`- ${i.from} -> ${i.to}`)}if(r){s.push("Subgraphs:");for(let i of t.subgraphs)s.push(`- ${i}`)}let o=s.join(`
5
- `);return e.logger?.(o),o}function qn(t,e){let n=Wn(e.direction),r=Object.keys(t.nodes).sort(),s=new Map;for(let i=0;i<r.length;i+=1)s.set(r[i],`n${i}`);let o=[`flowchart ${n}`];for(let i of r){let a=s.get(i);o.push(` ${a}["${So(i)}"]`)}for(let[i,a]of Un(t)){let d=s.get(i),u=s.get(a);!d||!u||o.push(` ${d} --> ${u}`)}return o.join(`
6
- `)}function Io(t,e){let n=qn(t,e);return Yn(n)}function Yn(t,e){let n=e?.theme??"default",r=e?.autoSync??!0,o=JSON.stringify({code:t,mermaid:{theme:n},autoSync:r}),i=new TextEncoder().encode(o),a="";for(let u=0;u<i.length;u++)a+=String.fromCharCode(i[u]);return`https://mermaid.live/edit#base64:${globalThis.btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}`}function Go(t,e){let n=Wn(e.direction),r=Object.keys(t.nodes).sort(),s=new Map;for(let i=0;i<r.length;i+=1)s.set(r[i],`n${i}`);let o=[`direction: ${Mo(n)}`];for(let i of r){let a=s.get(i);o.push(`${a}: "${Co(i)}"`)}for(let[i,a]of Un(t)){let d=s.get(i),u=s.get(a);!d||!u||o.push(`${d} -> ${u}`)}return o.join(`
7
- `)}function Lo(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Et(t){let e="^";for(let n=0;n<t.length;n+=1){let r=t[n];if(r==="*"){e+=".*";continue}if(r==="?"){e+=".";continue}if(r==="["){let s=t.indexOf("]",n+1);if(s<=n+1){e+="\\[";continue}let o=t.slice(n+1,s);o.startsWith("!")&&(o=`^${o.slice(1)}`),o=o.replace(/\\/g,"\\\\"),e+=`[${o}]`,n=s;continue}e+=Lo(r)}return e+="$",new RegExp(e)}var Po={data:"\x1B[32m",dirty:"\x1B[33m",resolved:"\x1B[36m",invalidate:"\x1B[93m",pause:"\x1B[90m",resume:"\x1B[96m",complete:"\x1B[34m",error:"\x1B[31m",teardown:"\x1B[91m",derived:"\x1B[35m",path:"\x1B[90m",reset:"\x1B[0m"},$o={data:"",dirty:"",resolved:"",invalidate:"",pause:"",resume:"",complete:"",error:"",teardown:"",derived:"",path:"",reset:""};function Ot(t){if(typeof t=="string")return JSON.stringify(t);if(typeof t=="number"||typeof t=="boolean"||t==null)return String(t);try{return JSON.stringify(t)}catch{return"[unserializable]"}}function Fo(t){return t==="none"?$o:t==="ansi"||t==null?Po:{data:t.data??"",dirty:t.dirty??"",resolved:t.resolved??"",invalidate:t.invalidate??"",pause:t.pause??"",resume:t.resume??"",complete:t.complete??"",error:t.error??"",teardown:t.teardown??"",derived:t.derived??"",path:t.path??"",reset:t.reset??""}}function Kn(t){if(t==null)return{};let e=t.detail;return e==="full"?{...t,structured:t.structured??!0,timeline:t.timeline??!0,causal:t.causal??!0,derived:t.derived??!0}:e==="minimal"?{...t,structured:t.structured??!0}:t.format==="stage-log"?{...t,structured:t.structured??!0,timeline:t.timeline??!0}:t}function Vo(t,e,n){for(let r=0;r<t.length;r++){let s=t.charCodeAt(r);if(s<32||s===127)throw new Error(`Graph "${e}": ${n} "${t}" must not contain control character (U+${s.toString(16).padStart(4,"0").toUpperCase()} at index ${r})`)}}function Ut(t,e,n){if(t==="")throw new Error(`Graph "${e}": ${n} name must be non-empty`);if(t.includes(H))throw new Error(`Graph "${e}": ${n} "${t}" must not contain '${H}' (path separator)`);if(t===ce)throw new Error(`Graph "${e}": ${n} name "${ce}" is reserved for meta companion paths`);Vo(t,e,n)}function zo(t,e){if(t==="")throw new Error(`Graph "${e}": resolve path must be non-empty`);let n=t.split(H);for(let r of n)if(r==="")throw new Error(`Graph "${e}": resolve path has empty segment`);return n}function Bo(t,e){let n=!1;for(let s of t)if(!e.isMetaPassthrough(s[0])){n=!0;break}return n?t.filter(s=>e.isMetaPassthrough(s[0])):t}function Jn(t){for(let e of t._mounts.values())Jn(e);for(let e of t._nodes.values())try{e.down([[se]],{internal:!0})}catch{}}var de=class t{name;opts;config;_nodes=new Map;_nodeToName=new WeakMap;_mounts=new Map;_parent=void 0;_storageDisposers=new Set;_disposers=new Set;_topology;_topologyEmitters=new Set;constructor(e,n){if(e==="")throw new Error("Graph name must be non-empty");if(e.includes(H))throw new Error(`Graph name must not contain '${H}' (got "${e}")`);if(e===ce)throw new Error(`Graph name "${ce}" is reserved for meta companion paths`);this.name=e,this.opts=Object.freeze({...n??{}}),this.config=n?.config??je,this._traceRing=new tt(n?.traceCapacity??1e3),n?.versioning!=null&&this.setVersioning(n.versioning)}ancestors(e=!0){let n=[],r=e?this:this._parent;for(;r!=null;)n.push(r),r=r._parent;return n}get topology(){return this._topology==null&&(this._topology=xe(e=>{let n=r=>{e.emit(r)};return this._topologyEmitters.add(n),()=>{this._topologyEmitters.delete(n)}},{name:`${this.name}_topology`})),this._topology}_emitTopology(e){if(!(this._topology==null||this._topologyEmitters.size===0))for(let n of this._topologyEmitters)n(e)}add(e,n){let r=e.name,s=n?.name??r;if(s==null||s==="")throw new Error(`Graph "${this.name}": graph.add requires a non-empty name \u2014 pass via opts.name or set it on the node (e.g. state(0, { name: "x" }))`);let o=s,i=n?.annotation;if(Ut(o,this.name,"add"),this._mounts.has(o))throw new Error(`Graph "${this.name}": name "${o}" is already a mount point`);if(this._nodes.has(o))throw new Error(`Graph "${this.name}": node "${o}" already exists`);let a=this._nodeToName.get(e);if(a!==void 0)throw new Error(`Graph "${this.name}": node instance already registered as "${a}"`);return this._nodes.set(o,e),this._nodeToName.set(e,o),this._emitTopology({kind:"added",name:o,nodeKind:"node"}),i!=null&&(this._annotations.set(o,i),this.config.inspectorEnabled&&this._traceRing.push({path:o,annotation:i,timestamp_ns:j()})),e}setVersioning(e){if(e!=null)for(let n of this._nodes.values())n instanceof Q&&n._applyVersioning(e)}remove(e){Ut(e,this.name,"remove");let n=this._mounts.get(e);if(n){let o={kind:"mount",nodes:[],mounts:[]},i=[];n._collectObserveTargets("",i);for(let[a,d]of i)a.includes(`${H}${ce}${H}`)||o.nodes.push(a);return o.nodes.sort(),o.mounts.push(e),o.mounts.push(...n._collectSubgraphs(`${e}${H}`)),this._mounts.delete(e),n._parent=void 0,Jn(n),this._emitTopology({kind:"removed",name:e,nodeKind:"mount",audit:o}),o}let r=this._nodes.get(e);if(!r)throw new Error(`Graph "${this.name}": unknown node or mount "${e}"`);this._nodes.delete(e),this._nodeToName.delete(r),r.down([[se]],{internal:!0});let s={kind:"node",nodes:[e],mounts:[]};return this._emitTopology({kind:"removed",name:e,nodeKind:"node",audit:s}),s}removeAll(e){let n=typeof e=="function"?e:(()=>{let o=Et(e);return i=>o.test(i)})(),r={kind:"mount",nodes:[],mounts:[]},s=[...this._nodes.keys(),...this._mounts.keys()].filter(o=>n(o));for(let o of s){let i=this.remove(o);r.nodes.push(...i.nodes),r.mounts.push(...i.mounts)}return r.nodes.sort(),r.mounts.sort(),r}[Symbol.iterator](){let e=[...this._nodes.keys()].sort(),n=this._nodes,r=0;return{[Symbol.iterator](){return this},next(){if(r>=e.length)return{value:void 0,done:!0};let s=e[r++];return{value:[s,n.get(s)],done:!1}}}}node(e){if(e==="")throw new Error(`Graph "${this.name}": node name must be non-empty`);if(e.includes(H))return this.resolve(e);let n=this._nodes.get(e);if(!n)throw new Error(`Graph "${this.name}": unknown node "${e}"`);return n}get(e){return this.node(e).cache}set(e,n,r){let s=r?.internal===!0;this.node(e).down([[F,n]],{actor:r?.actor,internal:s,delivery:"write"})}setAll(e,n){let r=Symbol.iterator in e?e:Object.entries(e);le(()=>{for(let[s,o]of r)this.set(s,o,n)})}invalidate(e,n){let r=n?.internal===!0;this.node(e).down([[be]],{actor:n?.actor,internal:r,delivery:"write"})}error(e,n,r){let s=r?.internal===!0;this.node(e).down([[$,n]],{actor:r?.actor,internal:s,delivery:"write"})}complete(e,n){let r=n?.internal===!0;this.node(e).down([[z]],{actor:n?.actor,internal:r,delivery:"write"})}edges(e){let n=e?.recursive===!0,r=new Map;if(!n){for(let[d,u]of this._nodes)r.set(u,d);let a=[];for(let[d,u]of this._nodes)if(u instanceof Q)for(let c of u._deps){let p=r.get(c.node);p!=null&&a.push([p,d])}return a.sort((d,u)=>d[0]<u[0]?-1:d[0]>u[0]?1:d[1]<u[1]?-1:d[1]>u[1]?1:0),a}let s=[];this._collectObserveTargets("",s);let o=new Map;for(let[a,d]of s)o.set(d,a);let i=[];for(let[a,d]of s)if(d instanceof Q)for(let u of d._deps){let c=o.get(u.node);c!=null&&i.push([c,a])}return i.sort((a,d)=>a[0]<d[0]?-1:a[0]>d[0]?1:a[1]<d[1]?-1:a[1]>d[1]?1:0),i}mount(e,n){if(Ut(e,this.name,"mount"),this._nodes.has(e))throw new Error(`Graph "${this.name}": cannot mount at "${e}" \u2014 node with that name exists`);if(this._mounts.has(e))throw new Error(`Graph "${this.name}": mount "${e}" already exists`);if(n===this)throw new Error(`Graph "${this.name}": cannot mount a graph into itself`);if(n._parent!=null)throw new Error(`Graph "${this.name}": this child graph is already mounted on "${n._parent.name}"`);for(let r=this;r!=null;r=r._parent)if(r===n)throw new Error(`Graph "${this.name}": mount("${e}", \u2026) would create a mount cycle`);return this._mounts.set(e,n),n._parent=this,this._emitTopology({kind:"added",name:e,nodeKind:"mount"}),n}resolve(e){let n=zo(e,this.name);return this._resolveFromSegments(n)}tryResolve(e){try{return this.resolve(e)}catch{return}}_resolveFromSegments(e){let n=e;if(n[0]===this.name&&(n=n.slice(1),n.length===0))throw new Error(`Graph "${this.name}": resolve path ends at graph name only`);let r=n[0],s=n.slice(1);if(s.length===0){let a=this._nodes.get(r);if(a)return a;throw this._mounts.has(r)?new Error(`Graph "${this.name}": path ends at subgraph "${r}" \u2014 not a node (GRAPHREFLY-SPEC \xA73.5)`):new Error(`Graph "${this.name}": unknown name "${r}"`)}let o=this._nodes.get(r);if(o&&s.length>0&&s[0]===ce)return this._resolveMetaChainFromNode(o,s,n.join(H));let i=this._mounts.get(r);if(!i)throw this._nodes.has(r)?new Error(`Graph "${this.name}": "${r}" is a node; trailing path "${s.join(H)}" is invalid`):new Error(`Graph "${this.name}": unknown mount or node "${r}"`);return i.resolve(s.join(H))}_resolveMetaChainFromNode(e,n,r){let s=e,o=0,i=[...n];for(;o<i.length;){if(i[o]!==ce)throw new Error(`Graph "${this.name}": expected ${ce} segment in meta path "${r}"`);if(o+1>=i.length)throw new Error(`Graph "${this.name}": meta path requires a key after ${ce} in "${r}"`);let a=i[o+1],d=s.meta[a];if(!d)throw new Error(`Graph "${this.name}": unknown meta "${a}" in path "${r}"`);s=d,o+=2}return s}signal(e,n){if(n?.internal!==!0){for(let s of e)if(this.config.messageTier(s[0])===3)throw new Error(`Graph "${this.name}": Graph.signal() rejects tier-3 messages (DATA / RESOLVED). Broadcast is for control-plane tiers (START / DIRTY / INVALIDATE / PAUSE / RESUME / COMPLETE / ERROR / TEARDOWN). For per-node value writes, use Graph.set or graph.node(name).down(...).`)}let r=[];if(this._signalDeliver(e,n??{},new Set,r),r.length>0)throw r[0]}_signalDeliver(e,n,r,s){for(let d of this._mounts.values())d._signalDeliver(e,n,r,s);let i=n.internal===!0?{internal:!0}:{actor:n.actor,delivery:"signal"},a=Bo(e,this.config);for(let d of[...this._nodes.keys()].sort()){let u=this._nodes.get(d);if(!r.has(u)){r.add(u);try{u.down(e,i)}catch(c){if(c instanceof ve)throw c;s.push(c)}a.length!==0&&this._signalMetaSubtree(u,a,r,i,s)}}}_signalMetaSubtree(e,n,r,s,o){for(let i of Object.keys(e.meta).sort()){let a=e.meta[i];if(!r.has(a)){r.add(a);try{a.down(n,s)}catch(d){if(d instanceof ve)throw d;o.push(d)}this._signalMetaSubtree(a,n,r,s,o)}}}describe(e){if(e?.reactive===!0)return this._describeReactive(e);let n=e?.actor,r=e?.filter,s=gt(e?.detail,e?.fields),o=e?.format==="spec",i=o?gt("minimal"):s,a=[];this._collectObserveTargets("",a);let d=new Map;for(let[w,_]of a)d.set(_,w);let u=[];{let w=a.map(([,E])=>E),_=new Set(d.values()),N=0;for(;w.length>0;){let E=w.shift();if(E instanceof Q)for(let G of E._deps){let R=G.node;if(d.has(R))continue;let C=R.name??"",S=C;if(!S||_.has(S))if(C){let V=2;for(;_.has(`${C}#${V}`);)V++;S=`${C}#${V}`}else for(S=`__internal__/${N++}`;_.has(S);)S=`__internal__/${N++}`;d.set(R,S),_.add(S),u.push([S,R]),w.push(R)}}}let c=[...a,...u],p={};for(let[w,_]of c){if(n!=null&&!_.allowsObserve(n))continue;let N=jt(_,i),E=_ instanceof Q?_._deps.map(S=>d.get(S.node)??S.node.name??""):[],{name:G,...R}=N,C={...R,deps:E};if(!o){let S=this._annotations.get(w);S!=null&&(C.annotation=S)}if(r!=null)if(typeof r=="function"){let S=r;if(!(S.length>=2?S(w,C):S(C)))continue}else{let S=!0;for(let[V,Y]of Object.entries(r)){let oe=V==="deps_includes"?"depsIncludes":V==="meta_has"?"metaHas":V;if(oe==="depsIncludes"){if(!C.deps.includes(String(Y))){S=!1;break}continue}if(oe==="metaHas"){if(!Object.hasOwn(C.meta??{},String(Y))){S=!1;break}continue}if(C[oe]!==Y){S=!1;break}}if(!S)continue}p[w]=C}let f=new Set(Object.keys(p)),h=[];for(let[w,_]of c)if(_ instanceof Q)for(let N of _._deps){let E=d.get(N.node);E!=null&&h.push([E,w])}h.sort((w,_)=>w[0]<_[0]?-1:w[0]>_[0]?1:w[1]<_[1]?-1:w[1]>_[1]?1:0);let l=h.map(([w,_])=>({from:w,to:_}));(n!=null||r!=null)&&(l=l.filter(w=>f.has(w.from)&&f.has(w.to)));let m=this._collectSubgraphs(""),g=n!=null||r!=null?m.filter(w=>{let _=`${w}${H}`;return[...f].some(N=>N===w||N.startsWith(_))}):m,b=this,v=e,y={name:this.name,nodes:p,edges:l,subgraphs:g,expand(w){let _={...v,format:void 0};return Array.isArray(w)?(_.fields=w,_.detail=void 0):(_.detail=w,_.fields=void 0),b.describe(_)}},T=e??{},x=T.format;return x==="json"?Do(y,T):x==="pretty"?Ao(y,T):x==="mermaid"?qn(y,T):x==="mermaid-url"?Io(y,T):x==="d2"?Go(y,T):x==="ascii"?Pn(y,T):y}_collectSubgraphs(e){let n=[];for(let r of[...this._mounts.keys()].sort()){let s=e===""?r:`${e}${r}`;n.push(s),n.push(...this._mounts.get(r)._collectSubgraphs(`${s}${H}`))}return n}resourceProfile(e){return Nt(this,e)}reachable(e,n,r={}){return r.withDetail===!0?qt(this.describe(),e,n,{...r,withDetail:!0}):qt(this.describe(),e,n,r)}explain(e,n,r){return r?.reactive===!0?this._explainReactive(e,n,r):this._explainStatic(e,n,r)}_explainStatic(e,n,r){let s=this.describe({detail:"full"}),o=new Map(this._annotations),i=new Map;for(let[a,d]of Object.entries(s.nodes))d.lastMutation!=null&&i.set(a,d.lastMutation);return $n(s,e,n,{...r?.maxDepth!=null?{maxDepth:r.maxDepth}:{},...r?.findCycle===!0?{findCycle:!0}:{},annotations:o,lastMutations:i})}_describeReactive(e){let n={...e,reactive:!1},r=e.reactiveName??"describe",s=0,o=A(s,{name:`${r}_version`}),i=this.observe({timeline:!0,structured:!0}),a=!1,d=!1,u=()=>{a||d||(a=!0,Je(()=>{a=!1,!d&&(s+=1,o.emit(s))}))},c=i.onEvent(g=>{let b=g.type;b!=="data"&&b!=="error"&&b!=="complete"&&b!=="teardown"||u()}),p=[],f=new WeakSet,h=g=>{if(f.has(g)||d)return;f.add(g);let b=g.topology.subscribe(v=>{for(let y of v){if(y[0]!==F)continue;let T=y[1];if(u(),T.kind==="added"&&T.nodeKind==="mount"){let x=g._mounts.get(T.name);x!=null&&h(x)}}});p.push(b);for(let v of g._mounts.keys()){let y=g._mounts.get(v);y!=null&&h(y)}};h(this);let l;try{l=I([o],()=>this.describe(n),{name:r,describeKind:"derived",meta:{domain:"audit",kind:"describe"},equals:(g,b)=>g===b})}catch(g){c();for(let b of p)b();throw i.dispose(),g}let m=Ee(l);return{node:l,dispose(){d=!0,c();for(let g of p)g();p.length=0,i.dispose(),m()}}}_explainReactive(e,n,r){let s=0,o=A(s,{name:"explain_version"}),i=this.observe({timeline:!0,structured:!0}),a=!1,d=!1,u=i.onEvent(h=>{let l=h.type;l!=="data"&&l!=="error"&&l!=="complete"&&l!=="teardown"||a||d||(a=!0,Je(()=>{a=!1,!d&&(s+=1,o.emit(s))}))}),c={...r?.maxDepth!=null?{maxDepth:r.maxDepth}:{},...r?.findCycle===!0?{findCycle:!0}:{}},p;try{p=I([o],()=>this._explainStatic(e,n,c),{name:r?.name??"explain",describeKind:"derived",meta:{domain:"audit",kind:"explain_path",from:e,to:n},equals:(h,l)=>h.found===l.found&&h.reason===l.reason&&h.steps.length===l.steps.length&&Ho(h.steps,l.steps)})}catch(h){throw u(),i.dispose(),h}let f=Ee(p);return{node:p,dispose(){d=!0,u(),i.dispose(),f()}}}_pathsMatching(e){let n=Et(e),r=[];return this._collectObserveTargets("",r),r.map(([s])=>s).filter(s=>n.test(s))}_collectObserveTargets(e,n){for(let r of[...this._mounts.keys()].sort()){let s=e===""?r:`${e}${H}${r}`;this._mounts.get(r)._collectObserveTargets(s,n)}for(let r of[...this._nodes.keys()].sort()){let s=this._nodes.get(r),o=e===""?r:`${e}${H}${r}`;n.push([o,s]),this._appendMetaObserveTargets(o,s,n)}}_appendMetaObserveTargets(e,n,r){for(let s of Object.keys(n.meta).sort()){let o=n.meta[s],i=`${e}${H}${ce}${H}${s}`;r.push([i,o]),this._appendMetaObserveTargets(i,o,r)}}observe(e,n){let r=typeof e=="string",o=Kn(r?n:e),i=o.structured===!0||o.timeline===!0||o.causal===!0||o.derived===!0||o.detail==="minimal"||o.detail==="full"||o.format!=null,a=o.actor;if(r){let c=e,p=this.resolve(c);if(a!=null&&!p.allowsObserve(a))throw new ve({actor:a,action:"observe",nodeName:c});return i?this._buildStructuredObserver([[c,p]],o,"one"):{subscribe(f){return p.subscribe(f)},up(f){try{p.up?.(f)}catch(h){if(h instanceof ve)return;throw h}}}}let d=[];this._collectObserveTargets("",d),d.sort((c,p)=>c[0]<p[0]?-1:c[0]>p[0]?1:0);let u=a==null?d:d.filter(([,c])=>c.allowsObserve(a));return i?this._buildStructuredObserver(u,o,"all"):{subscribe:c=>{let p=u.map(([f,h])=>h.subscribe(l=>{c(f,l)}));return()=>{for(let f of p)f()}},up:(c,p)=>{try{this.resolve(c).up?.(p)}catch(f){if(f instanceof ve)return;throw f}}}}_buildStructuredObserver(e,n,r){let s=r==="one"?e[0]?.[0]:void 0,o=i=>{if(r==="one"&&s!=null){let c=this.resolve(s);return this._buildStructuredObserver([[s,c]],i,"one")}let a=[];this._collectObserveTargets("",a),a.sort((c,p)=>c[0]<p[0]?-1:c[0]>p[0]?1:0);let d=i.actor,u=d==null?a:a.filter(([,c])=>c.allowsObserve(d));return this._buildStructuredObserver(u,i,"all")};return this._createObserveResult(e,n,o)}_createObserveResult(e,n,r){let s=n.timeline===!0,o=n.causal===!0,i=n.derived===!0,a=n.detail==="minimal",d=this.config.inspectorEnabled,u=(o||i)&&d,c=n.maxEvents,p=c!=null&&c>0?new tt(c):null,f=[],h=new Set,l={},m=new Set,g=0,b=0,v=0,y=0,T=0,x=0,w=!1,_=!1,N=0,E=new Map,G=new Map,R=new Map,C=O=>{p?p.push(O):f.push(O);for(let P of h)P(O)},S=()=>s?{timestamp_ns:j(),in_batch:Ye(),batch_id:N}:{},V=(O,P)=>{if(!(!u||!(O instanceof Q)))return O._setInspectorHook(ee=>{if(ee.kind==="dep_message")E.set(O,ee.depIndex);else if(ee.kind==="run"){let B=ee.batchData.map((M,ne)=>M!=null&&M.length>0?M.at(-1):ee.prevData[ne]);G.set(O,B);let te=ee.batchData.map(M=>M!=null?[...M]:void 0);R.set(O,te),i&&C({type:"derived",path:P,dep_values:B,dep_batches:te,...S()})}})},Y=O=>{let P=E.get(O),ee=G.get(O);if(!o||ee==null)return{};let te=(P!=null&&P>=0&&O instanceof Q?O._deps[P]:void 0)?.node,M=te?.v,ne=R.get(O);return{trigger_dep_index:P,trigger_dep_name:te?.name,...M!=null?{trigger_version:{id:M.id,version:M.version}}:{},dep_values:[...ee],...ne!=null?{dep_batches:ne}:{}}},oe=[],fe=[];for(let[O,P]of e){let ee=V(P,O);ee&&oe.push(ee),fe.push(P.subscribe(B=>{N++;for(let te of B){let M=te[0],ne=S();if(M===F){l[O]=te[1];let k=P instanceof Q?P.lastMutation?.actor??ze:ze;C({type:"data",path:O,data:te[1],actor:k,...ne,...Y(P)})}else if(a)M===J?g++:M===q?b++:M===be?v++:M===Te?y++:M===_e?T++:M===se?x++:M===z&&!m.has(O)?w=!0:M===$&&(_=!0,m.add(O));else if(M===J)g++,C({type:"dirty",path:O,...ne});else if(M===q)b++,C({type:"resolved",path:O,...ne,...Y(P)});else if(M===be)v++,C({type:"invalidate",path:O,...ne});else if(M===Te)y++,C({type:"pause",path:O,lockId:te[1],...ne});else if(M===_e)T++,C({type:"resume",path:O,lockId:te[1],...ne});else if(M===z)m.has(O)||(w=!0),C({type:"complete",path:O,...ne});else if(M===$){_=!0,m.add(O);let k=P instanceof Q?P.lastMutation?.actor??ze:ze;C({type:"error",path:O,data:te[1],actor:k,...ne})}else M===se&&(x++,C({type:"teardown",path:O,...ne}))}}))}let K=!1,L=()=>{if(!K){K=!0;for(let O of fe)O();for(let O of oe)O();for(let O of Z)O({value:void 0,done:!0});Z.length=0}},U=[],Z=[];h.add(O=>{let P=Z.shift();P?P({value:O,done:!1}):U.push(O)});let pe={get values(){return l},get dirtyCount(){return g},get resolvedCount(){return b},get invalidateCount(){return v},get pauseCount(){return y},get resumeCount(){return T},get teardownCount(){return x},get events(){return p?p.toArray():[...f]},get anyCompletedCleanly(){return w},get anyErrored(){return _},get completedWithoutErrors(){return w&&!_},onEvent(O){return h.add(O),()=>h.delete(O)},dispose:L,expand(O){L();let P={...n};return typeof O=="string"?P.detail=O:Object.assign(P,O),r(Kn(P))},[Symbol.asyncIterator](){return{next(){return U.length>0?Promise.resolve({value:U.shift(),done:!1}):K?Promise.resolve({value:void 0,done:!0}):new Promise(O=>Z.push(O))},return(){return L(),Promise.resolve({value:void 0,done:!0})}}}};return n.format!=null&&this._attachFormatLogger(pe,n),pe}_attachFormatLogger(e,n){let r=n.format;if(r==null)return;let s=n.logger??(l=>console.log(l)),o=n.includeTypes?new Set(n.includeTypes):null,i=n.excludeTypes?new Set(n.excludeTypes):null,a=o==null&&i==null?()=>!0:l=>(o==null||o.has(l))&&(i==null||!i.has(l)),d=Fo(n.theme),u=r==="stage-log"?j():0,c=l=>l==null?"":n.stageLabels?.[l]??l,p=(l,m)=>l.length>m?`${l.slice(0,m-1)}\u2026`:l,f=l=>l.type==="data"||l.type==="error"?p(Ot(l.data),120):"",h=l=>{if(r==="stage-log"){let _=(j()-u)/1e9,N=c(l.path).padEnd(9);if(l.type==="data"){let E=f(l);return`[${_.toFixed(3)}s] ${N} \u2190${E?` ${E}`:""}`}if(l.type==="error"){let E=f(l);return`[${_.toFixed(3)}s] ${N} \u2717${E?` ${E}`:""}`}return l.type==="complete"?`[${_.toFixed(3)}s] ${N} \u25A0 complete`:`[${_.toFixed(3)}s] ${N} ${l.type}`}if(r==="json")try{return JSON.stringify(l)}catch{return JSON.stringify({type:l.type,path:l.path,data:"[unserializable]"})}let m=d[l.type]??"",g=l.path?`${d.path}${l.path}${d.reset} `:"",b=l.type==="data"||l.type==="error",v=l.type==="pause"||l.type==="resume",y=b?` ${Ot(l.data)}`:v?` ${Ot(l.lockId)}`:"",T=l.type==="data"||l.type==="resolved"||l.type==="derived"?l:void 0,x=T?.trigger_dep_name!=null?` <- ${T.trigger_dep_name}`:T?.trigger_dep_index!=null?` <- #${T.trigger_dep_index}`:"",w=l.in_batch?" [batch]":"";return`${g}${m}${l.type.toUpperCase()}${d.reset}${y}${x}${w}`};e.onEvent(l=>{a(l.type)&&s(h(l),l)})}addDisposer(e){return this._disposers.add(e),()=>{this._disposers.delete(e)}}destroy(){Hn(this._disposers,this.name),this.signal([[se]],{internal:!0}),Hn(this._storageDisposers,this.name);for(let e of[...this._mounts.values()])e._parent=void 0,e._destroyClearOnly();this._mounts.clear(),this._nodes.clear(),this._parent=void 0}_destroyClearOnly(){for(let e of[...this._mounts.values()])e._parent=void 0,e._destroyClearOnly();this._mounts.clear(),this._nodes.clear(),this._parent=void 0}snapshot(e){let{expand:n,...r}=this.describe({detail:"full"}),s={};for(let a of Object.keys(r.nodes).sort()){let{lastMutation:d,guard:u,...c}=r.nodes[a];s[a]=c}let o=[...r.subgraphs].sort(),i={...r,version:1,nodes:s,subgraphs:o};if(e?.format==null)return i;if(e.format==="json-string")return JSON.stringify(i);if(e.format==="bytes"){if(e.codec==null)throw new Error("snapshot({format: 'bytes'}) requires a `codec` name");let a=this.config.lookupCodec(e.codec);if(a==null)throw new Error(`snapshot: codec "${e.codec}" is not registered on this graph's config. Call config.registerCodec(...) before creating nodes.`);return dn(a,a.encode(i))}throw new Error(`snapshot: unknown format "${String(e.format)}"`)}static decode(e,n){let r=n?.config??je,{codec:s,codecVersion:o,payload:i}=ln(e,r);return s.decode(i,o)}restore(e,n){if(jn(e),e.name!==this.name)throw new Error(`Graph "${this.name}": restore snapshot name "${e.name}" does not match this graph`);let r=n?.only==null?null:(Array.isArray(n.only)?n.only:[n.only]).map(o=>Et(o)),s=n?.includeProducers===!0;for(let o of Object.keys(e.nodes).sort()){if(r!==null&&!r.some(a=>a.test(o)))continue;let i=e.nodes[o];if(i!==void 0){if(!("value"in i)||i.value===void 0){"value"in i&&i.value===void 0&&n?.onError?.(o,new Error(`restore: slice.value is undefined for "${o}" (undefined is the global SENTINEL; not valid DATA)`));continue}if(!(i.type==="derived"||i.type==="effect")&&!(i.type==="producer"&&!s)){if(i.v!=null){let d=this.tryResolve(o)?.v;if(d!=null&&d.id===i.v.id&&d.version===i.v.version)continue}try{this.set(o,i.value)}catch(a){n?.onError?.(o,a)}}}}}static fromSnapshot(e,n){jn(e);let r=typeof n=="function"?n:n?.build,s=typeof n=="function"?void 0:n?.factories,o=new t(e.name);if(r)return r(o),o.restore(e),o;for(let h of[...e.subgraphs].sort((l,m)=>{let g=l.split(H).length,b=m.split(H).length;return g!==b?g-b:l<m?-1:l>m?1:0})){let l=h.split(H),m=o;for(let g of l)m._mounts.has(g)||m.mount(g,new t(g)),m=m._mounts.get(g)}let i=s?Object.entries(s).map(([h,l])=>({re:Et(h),factory:l})):[],a=h=>{for(let l of i)if(l.re.test(h))return l.factory},d=h=>{let l=h.split(H),m=l.pop();if(m==null||m.length===0)throw new Error(`invalid snapshot path "${h}"`);let g=o;for(let b of l){let v=g._mounts.get(b);if(!v)throw new Error(`unknown mount "${b}" in path "${h}"`);g=v}return[g,m]},u=Object.entries(e.nodes).filter(([h])=>!h.includes(`${H}${ce}${H}`)).sort((h,l)=>h[0]<l[0]?-1:h[0]>l[0]?1:0),c=new Map(u),p=new Map,f=!0;for(;c.size>0&&f;){f=!1;for(let[h,l]of[...c.entries()]){let m=l?.deps??[];if(!m.every(x=>p.has(x)))continue;let[g,b]=d(h),v={...l?.meta??{}},y=a(h),T;if(l?.type==="state")T=A(l.value,{meta:v});else{if(y==null)continue;T=y(b,{path:h,type:l.type,value:l.value,meta:v,deps:m,resolvedDeps:m.map(x=>p.get(x))})}g.add(T,{name:b}),p.set(h,T),c.delete(h),f=!0}}if(c.size>0){let h=[...c.keys()].sort().join(", ");throw new Error(`Graph.fromSnapshot could not reconstruct nodes without build callback: ${h}. Pass matching factories via fromSnapshot(data, { factories: { pattern: factoryFn } }).`)}return o.restore(e),o}toJSON(){return this.snapshot()}attachStorage(e,n={}){let r=e.map(u=>({tier:u,debounceMs:Math.max(0,u.debounceMs??0),compactEvery:Math.max(1,u.compactEvery??10),timer:void 0,seq:0,lastSnapshot:void 0,lastFingerprint:"",disposed:!1,savePending:void 0}));n.autoRestore===!0&&this._cascadeRestore(e,n.onError);let s=(u,c)=>{if(u.disposed)return;let p=ko(c.nodes);if(u.lastSnapshot!=null&&p!==""&&p===u.lastFingerprint)return;let f=u.seq+1,h=at(),g=u.lastSnapshot==null||f%u.compactEvery===0?{mode:"full",snapshot:c,seq:f,timestamp_ns:h,format_version:Fe}:{mode:"diff",diff:Qn(u.lastSnapshot,c),seq:f,timestamp_ns:h,format_version:Fe};if(u.tier.filter&&!u.tier.filter(this.name,g))return;let b;try{b=u.tier.save(this.name,g)}catch(v){n.onError?.(v,u.tier);return}if(b&&typeof b.then=="function"){let T=(u.savePending??Promise.resolve()).then(()=>b,()=>b).then(()=>{u.disposed||(u.seq=f,u.lastSnapshot=c,u.lastFingerprint=p)},x=>{n.onError?.(x,u.tier)});u.savePending=T.finally(()=>{u.savePending===T&&(u.savePending=void 0)})}else u.seq=f,u.lastSnapshot=c,u.lastFingerprint=p},o=(u,c)=>{try{s(u,c)}catch(p){n.onError?.(p,u.tier)}},i=(u,c)=>{if(!c.some(l=>{let m=this.config.messageTier(l[0]);return m>=3&&m<5}))return;if(n.filter){let l=this.tryResolve(u);if(l==null)return;let m=jt(l,gt("standard"));if(!n.filter(u,m))return}let f,h=()=>(f==null&&(f=this.snapshot()),f);for(let l of r)l.disposed||(l.debounceMs===0?o(l,h()):(l.timer==null&&(l.timer=new bt),l.timer.start(l.debounceMs,()=>{l.disposed||o(l,this.snapshot())})))},a;if(n.paths!=null){let c=(typeof n.paths=="string"?this._pathsMatching(n.paths):n.paths).map(p=>{let f=this.tryResolve(p);return f==null?()=>{}:f.subscribe(h=>i(p,h))});a=()=>{for(let p of c)p()}}else a=this.observe().subscribe((u,c)=>i(u,c));let d=()=>{a();for(let u of r)u.disposed=!0,u.timer?.cancel();this._storageDisposers.delete(d)};return this._storageDisposers.add(d),{dispose:d}}async _cascadeRestore(e,n){for(let r of e){let s;try{s=await r.load(this.name)}catch(i){n?.(i,r);continue}if(s==null||typeof s!="object"||Array.isArray(s))continue;let o=s;try{if(o.mode==="full"&&o.snapshot!=null)return this.restore(o.snapshot),!0;if(o.version===Fe&&o.nodes!=null)return this.restore(o),!0}catch(i){n?.(i,r)}}return!1}static async fromStorage(e,n,r){for(let s of n){let o;try{o=await s.load(e)}catch(d){r?.onError?.(d,s);continue}if(o==null||typeof o!="object"||Array.isArray(o))continue;let i=o,a=i.mode==="full"&&i.snapshot!=null?i.snapshot:i.version===Fe&&i.nodes!=null?i:void 0;if(a!=null)try{return t.fromSnapshot(a,r)}catch(d){r?.onError?.(d,s)}}throw new Error(`Graph.fromStorage: no tier held a restorable record for "${e}" across ${n.length} tier(s)`)}_annotations=new Map;_traceRing;trace(e,n,r){if(e!=null&&n!=null){if(this.tryResolve(e)==null)return;if(this._annotations.set(e,n),this.config.inspectorEnabled){let s={path:e,annotation:n,timestamp_ns:j(),...r?.actor!=null?{actor:r.actor}:{}};this._traceRing.push(s)}return}return e!=null?this.config.inspectorEnabled?this._annotations.get(e):void 0:this.config.inspectorEnabled?this._traceRing.toArray():[]}annotation(e){return this._annotations.get(e)}clearTrace(){this._annotations.clear(),this._traceRing.clear()}pruneTrace(e){let n=this._traceRing.toArray().filter(s=>!e(s)),r=this._traceRing.size-n.length;this._traceRing.clear();for(let s of n)this._traceRing.push(s);return r}static diff(e,n){let r=new Set(Object.keys(e.nodes)),s=new Set(Object.keys(n.nodes)),o=[...s].filter(v=>!r.has(v)).sort(),i=[...r].filter(v=>!s.has(v)).sort(),a=[],d=[];for(let v of r){if(!s.has(v))continue;let y=e.nodes[v],T=n.nodes[v],x=y.v,w=T.v;x!=null&&w!=null&&x.id===w.id&&x.version!==w.version&&d.push({path:v,id:x.id,from:x.version,to:w.version});let _=x!=null&&w!=null&&x.id===w.id&&x.version===w.version;for(let N of["type","status","sentinel"]){let E=y[N],G=T[N];E!==G&&a.push({path:v,field:N,from:E,to:G})}if(!_)for(let N of["value","meta"]){let E=y[N],G=T[N];Ro(E,G)||a.push({path:v,field:N,from:E,to:G})}}let u=v=>`${v.from} ${v.to}`,c=new Set(e.edges.map(u)),p=new Set(n.edges.map(u)),f=n.edges.filter(v=>!c.has(u(v))),h=e.edges.filter(v=>!p.has(u(v))),l=new Set(e.subgraphs),m=new Set(n.subgraphs),g=[...m].filter(v=>!l.has(v)).sort(),b=[...l].filter(v=>!m.has(v)).sort();return{nodesAdded:o,nodesRemoved:i,nodesChanged:a,versionChanges:d,edgesAdded:f,edgesRemoved:h,subgraphsAdded:g,subgraphsRemoved:b}}};function Qn(t,e){let n=de.diff(t,e),r={};for(let s of n.nodesAdded){let o=e.nodes[s];o!=null&&(r[s]=o)}return{...n,nodesAddedFull:r}}function qt(t,e,n,r={}){let s={paths:[],depths:new Map,truncated:!1};if(!e)return r.withDetail?s:[];if(!r.both&&n!=="upstream"&&n!=="downstream")throw new Error('reachable: direction must be "upstream" or "downstream"');let o=r.maxDepth;if(o!=null&&(!Number.isInteger(o)||o<0))throw new Error("reachable: maxDepth must be an integer >= 0");if(o===0)return r.withDetail?s:[];let i=new Map,a=new Map,d=new Map,u=new Map,c=new Set;for(let[y,T]of Object.entries(t.nodes)){if(!y)continue;c.add(y);let x=T.deps??[];i.set(y,x);for(let w of x)w&&(c.add(w),a.has(w)||a.set(w,new Set),a.get(w).add(y))}for(let y of t.edges){if(y==null||typeof y!="object")continue;let T=typeof y.from=="string"?y.from:"",x=typeof y.to=="string"?y.to:"";!T||!x||(c.add(T),c.add(x),u.has(T)||u.set(T,new Set),u.get(T).add(x),d.has(x)||d.set(x,new Set),d.get(x).add(T))}if(!c.has(e))return r.withDetail?s:[];let p=r.both===!0,f=y=>{if(p){let _=i.get(y)??[],N=d.get(y),E=a.get(y),G=u.get(y),R=[..._];return N&&R.push(...N),E&&R.push(...E),G&&R.push(...G),R}if(n==="upstream"){let _=i.get(y)??[],N=d.get(y);return N?[..._,...N]:_}let T=a.get(y),x=u.get(y),w=T?[...T]:[];return x&&w.push(...x),w},h=new Set([e]),l=new Map,m=[{path:e,depth:0}],g=0,b=!1;for(;g<m.length;){let y=m[g++];if(o!=null&&y.depth>=o){f(y.path).length>0&&(b=!0);continue}for(let T of f(y.path))!T||h.has(T)||(h.add(T),l.set(T,y.depth+1),m.push({path:T,depth:y.depth+1}))}let v=[...l.keys()].sort((y,T)=>y<T?-1:y>T?1:0);return r.withDetail?{paths:v,depths:l,truncated:b}:v}function Ho(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++){let r=t[n],s=e[n];if(r.path!==s.path||r.type!==s.type||r.status!==s.status||r.hop!==s.hop||r.dep_index!==s.dep_index||r.annotation!==s.annotation||r.value!==s.value||r.lastMutation!==s.lastMutation)return!1;let o=r.v,i=s.v;if(o!==i&&(o==null||i==null||o.id!==i.id||o.version!==i.version))return!1}return!0}ye();Ze();function Yt(t,e){let n=t.cache??0;return n>=e?!1:(t.down([[J],[F,n+1]]),!0)}function Ue(t,e,n){return{[t]:!0,[`${t}_type`]:e,...n??{}}}function Jt(t){return t.relatedTo?.[0]??t.summary}Se();Pe();ye();ue();var Qt=class{_version=0;_store=new Map;_maxSize;_defaultTtl;constructor(e={}){let{maxSize:n,defaultTtl:r}=e;if(n!==void 0&&n<1)throw new RangeError("maxSize must be >= 1");if(r!==void 0&&r<=0)throw new RangeError("defaultTtl must be positive");this._maxSize=n,this._defaultTtl=r}get version(){return this._version}get size(){return this._store.size}has(e){let n=this._store.get(e);return n===void 0?!1:this._isExpired(n)?(this._store.delete(e),this._version+=1,!1):(this._touchLru(e,n),!0)}get(e){let n=this._store.get(e);if(n!==void 0){if(this._isExpired(n)){this._store.delete(e),this._version+=1;return}return this._touchLru(e,n),n.value}}set(e,n,r){let s=this._resolveExpiresAt(r);this._store.has(e)&&this._store.delete(e),this._store.set(e,{value:n,expiresAt:s}),this._evictLruWhileOver(),this._version+=1}setMany(e,n){let r=this._resolveExpiresAt(n),s=0;try{for(let[o,i]of e)this._store.has(o)&&this._store.delete(o),this._store.set(o,{value:i,expiresAt:r}),s+=1}finally{s>0&&(this._evictLruWhileOver(),this._version+=1)}}delete(e){let n=this._store.delete(e);return n&&(this._version+=1),n}deleteMany(e){let n=0;try{for(let r of e)this._store.delete(r)&&(n+=1)}finally{n>0&&(this._version+=1)}return n}clear(){let e=this._store.size;return e===0?0:(this._store.clear(),this._version+=1,e)}pruneExpired(){let e=j(),n=0;for(let[r,s]of this._store)this._isExpired(s,e)&&(this._store.delete(r),n+=1);return n>0&&(this._version+=1),n}toMap(){let e=j(),n=new Map;for(let[r,s]of this._store)this._isExpired(s,e)||n.set(r,s.value);return n}_resolveExpiresAt(e){let n=e??this._defaultTtl;if(n!==void 0){if(!Number.isFinite(n)||n<=0)throw new RangeError(`MapBackend: ttl must be a positive finite number (got ${n})`);return j()+n*1e9}}_isExpired(e,n){return e.expiresAt===void 0?!1:(n??j())>=e.expiresAt}_touchLru(e,n){this._store.delete(e),this._store.set(e,n)}_evictLruWhileOver(){if(this._maxSize!==void 0)for(;this._store.size>this._maxSize;){let e=this._store.keys().next().value;if(e===void 0)break;this._store.delete(e)}}};function Xn(t={}){let{name:e,maxSize:n,defaultTtl:r,versioning:s,backend:o,retention:i}=t;if(i&&n!==void 0)throw new RangeError("reactiveMap: `maxSize` (LRU) and `retention` (score-based) are mutually exclusive. Pick one eviction policy.");if(i&&i.archiveThreshold===void 0&&i.maxSize===void 0)throw new RangeError("reactiveMap: `retention` requires at least one of `archiveThreshold` or `maxSize` to trigger archival.");let a=o??new Qt({maxSize:n,defaultTtl:r}),d=A(a.toMap(),{name:e,describeKind:"state",equals:(f,h)=>f===h,...s!=null?{versioning:s}:{}});function u(){let f=a.toMap();le(()=>{d.down([[J]]),d.down([[F,f]])})}function c(){if(!i)return;let f=a.toMap(),h=i.archiveThreshold,l=i.maxSize,m=[];for(let[b,v]of f)m.push({key:b,value:v,score:i.score(b,v)});m.sort((b,v)=>b.score-v.score);let g=new Set;if(h!==void 0)for(let b of m)if(b.score<h)g.add(b.key);else break;if(l!==void 0&&m.length-g.size>l)for(let b of m){if(m.length-g.size<=l)break;g.has(b.key)||g.add(b.key)}if(g.size!==0)for(let b of m)g.has(b.key)&&(i.onArchive?.(b.key,b.value,b.score),a.delete(b.key))}function p(f,h="mutation"){let l=a.version;try{return f()}finally{a.version!==l&&(h==="mutation"&&c(),u())}}return{entries:d,has(f){return p(()=>a.has(f),"read")},get(f){return p(()=>a.get(f),"read")},set(f,h,l){p(()=>a.set(f,h,l?.ttl))},setMany(f,h){p(()=>a.setMany(f,h?.ttl))},delete(f){p(()=>a.delete(f))},deleteMany(f){p(()=>a.deleteMany(f))},clear(){p(()=>a.clear())},pruneExpired(){p(()=>a.pruneExpired())},get size(){return a.size},dispose(){}}}Se();ye();ue();var Xt=class{_version=0;_maxSize;_buf;_head=0;_size=0;constructor(e,n){if(n!==void 0&&n<1)throw new RangeError("maxSize must be >= 1");if(this._maxSize=n,n!==void 0){if(this._buf=new Array(n),e&&e.length>0){let r=Math.min(e.length,n),s=e.length-r;for(let o=0;o<r;o++)this._buf[o]=e[s+o];this._size=r}}else this._buf=e?[...e]:[],this._size=this._buf.length}get version(){return this._version}get size(){return this._size}at(e){if(!Number.isInteger(e))return;let n=e>=0?e:this._size+e;if(!(n<0||n>=this._size))return this._maxSize!==void 0?this._buf[(this._head+n)%this._maxSize]:this._buf[n]}append(e){this._rawAppend(e),this._version+=1}appendMany(e){if(e.length===0)return;let n=this._maxSize!==void 0&&e.length>this._maxSize?e.length-this._maxSize:0;for(let r=n;r<e.length;r++)this._rawAppend(e[r]);this._version+=1}clear(){if(this._size===0)return 0;let e=this._size;if(this._maxSize===void 0)this._buf.length=0;else for(let n=0;n<e;n++)this._buf[(this._head+n)%this._maxSize]=void 0;return this._head=0,this._size=0,this._version+=1,e}trimHead(e){if(!Number.isInteger(e)||e<0)throw new RangeError(`trimHead: n must be a non-negative integer (got ${e})`);if(e===0||this._size===0)return 0;let n=Math.min(e,this._size);if(this._maxSize===void 0)this._buf.splice(0,n);else{for(let r=0;r<n;r++)this._buf[(this._head+r)%this._maxSize]=void 0;this._head=(this._head+n)%this._maxSize}return this._size-=n,this._version+=1,n}slice(e,n){if(!Number.isInteger(e)||e<0)throw new RangeError(`slice: start must be a non-negative integer (got ${e})`);if(n!==void 0&&(!Number.isInteger(n)||n<0))throw new RangeError(`slice: stop must be a non-negative integer or undefined (got ${n})`);let r=n===void 0?this._size:Math.min(Math.max(n,0),this._size),s=Math.min(e,this._size);if(s>=r)return[];let o=r-s;if(this._maxSize===void 0)return this._buf.slice(s,r);let i=new Array(o);for(let a=0;a<o;a++)i[a]=this._buf[(this._head+s+a)%this._maxSize];return i}tail(e){if(!Number.isInteger(e)||e<0)throw new RangeError(`tail: n must be a non-negative integer (got ${e})`);if(e===0||this._size===0)return[];let n=Math.min(e,this._size);return this.slice(this._size-n,this._size)}toArray(){if(this._maxSize===void 0)return[...this._buf];let e=new Array(this._size);for(let n=0;n<this._size;n++)e[n]=this._buf[(this._head+n)%this._maxSize];return e}_rawAppend(e){if(this._maxSize===void 0){this._buf.push(e),this._size=this._buf.length;return}this._size<this._maxSize?(this._buf[(this._head+this._size)%this._maxSize]=e,this._size+=1):(this._buf[this._head]=e,this._head=(this._head+1)%this._maxSize)}};function Zn(t){return t.subscribe(()=>{})}var jo=64;function er(t,e={}){let{name:n,maxSize:r,versioning:s,backend:o}=e,i=o??new Xt(t,r),a=A(i.toArray(),{name:n,describeKind:"state",equals:(l,m)=>l===m,...s!=null?{versioning:s}:{}});function d(){let l=i.toArray();le(()=>{a.down([[J]]),a.down([[F,l]])})}let u=new Map,c=new Map;function p(l,m){return`${l}:${m===void 0?"END":m}`}function f(l){if(l.size<jo)return;let m=l.keys().next();if(m.done)return;let g=l.get(m.value);g!==void 0&&g.dispose(),l.delete(m.value)}function h(l){let m=i.version;try{return l()}finally{i.version!==m&&d()}}return{entries:a,get size(){return i.size},at(l){return i.at(l)},append(l){h(()=>i.append(l))},appendMany(l){l.length!==0&&h(()=>i.appendMany(l))},clear(){h(()=>i.clear())},trimHead(l){h(()=>i.trimHead(l))},tail(l){if(!Number.isInteger(l)||l<0)throw new RangeError(`tail: n must be a non-negative integer (got ${l})`);let m=u.get(l);if(m!==void 0)return u.delete(l),u.set(l,m),m.node;f(u);let g=I([a],([v])=>{let y=v;return l===0||y.length===0?[]:y.slice(Math.max(0,y.length-l))},{initial:i.tail(l),describeKind:"derived"}),b=Zn(g);return u.set(l,{node:g,dispose:b}),g},slice(l,m){if(!Number.isInteger(l)||l<0)throw new RangeError(`slice: start must be a non-negative integer (got ${l})`);if(m!==void 0&&(!Number.isInteger(m)||m<0))throw new RangeError(`slice: stop must be a non-negative integer or undefined (got ${m})`);let g=p(l,m),b=c.get(g);if(b!==void 0)return c.delete(g),c.set(g,b),b.node;f(c);let v=I([a],([T])=>{let x=T;return m===void 0?x.slice(l):x.slice(l,m)},{initial:i.slice(l,m),describeKind:"derived"}),y=Zn(v);return c.set(g,{node:v,dispose:y}),v},disposeTail(l){let m=u.get(l);return m===void 0?!1:(m.dispose(),u.delete(l),!0)},disposeSlice(l,m){let g=p(l,m),b=c.get(g);return b===void 0?!1:(b.dispose(),c.delete(g),!0)},disposeAllViews(){for(let l of u.values())l.dispose();u.clear();for(let l of c.values())l.dispose();c.clear()},dispose(){for(let l of u.values())l.dispose();u.clear();for(let l of c.values())l.dispose();c.clear()}}}function tr(t,e){return Ue("ai",t,e)}function nr(t){let e=t.match(/^```(?:json)?\s*([\s\S]*?)\s*```[\s\S]*$/);return e?e[1]:t}ue();function Ko(t){return t!=null&&typeof t=="object"&&"content"in t?String(t.content):typeof t=="string"?t:String(t)}function kt(t,e,n,r){let s=r?.format??"text",o=r?.retries??0,i=r?.cache??!1,a=i?new Map:null,d=I(e,c=>{if(c.some(h=>h==null))return[];let p=typeof n=="string"?n:n(...c);if(!p)return[];let f=[];return r?.systemPrompt&&f.push({role:"system",content:r.systemPrompt}),f.push({role:"user",content:p}),f},{name:r?.name?`${r.name}::messages`:"prompt_node::messages",meta:tr("prompt_node"),initial:[]});return we(d,c=>{if(!c||c.length===0)return A(null);let p=i?JSON.stringify(c.map(h=>[h.role,h.content])):"";if(a?.has(p))return A(a.get(p));async function f(h){try{let l=await new Promise((b,v)=>{let y=t.invoke(c,{model:r?.model,temperature:r?.temperature,maxTokens:r?.maxTokens,systemPrompt:r?.systemPrompt});y&&typeof y.then=="function"?y.then(b,v):y&&typeof y.subscribe=="function"?b(y.cache):b(y)}),m=Ko(l),g;return s==="json"?g=JSON.parse(nr(m)):g=m,a?.set(p,g),g}catch(l){if(h>0)return f(h-1);throw l}}return f(o)})}it();Se();Xe();ye();ue();function Zt(t,e){if(!Number.isFinite(t)||!Number.isInteger(t)||t<0)throw new Error(`${e} must be a non-negative integer`);return t}function nt(t,e){return Ue("messaging",t,e)}var De=class extends de{_log;events;latest;hasLatest;constructor(e,n={}){super(e,n.graph),this._log=er([],{name:"events",maxSize:n.retainedLimit}),this.events=this._log.entries,this.add(this.events,{name:"events"}),this.latest=I([this.events],([r])=>{let s=r;return s.length===0?null:s[s.length-1]},{name:"latest",describeKind:"derived",meta:nt("topic_latest")}),this.add(this.latest,{name:"latest"}),this.addDisposer(Ee(this.latest)),this.hasLatest=I([this.events],([r])=>r.length>0,{name:"hasLatest",describeKind:"derived",meta:nt("topic_has_latest")}),this.add(this.hasLatest,{name:"hasLatest"}),this.addDisposer(Ee(this.hasLatest)),this.addDisposer(()=>{this.events.down([[z]])}),this.addDisposer(()=>this._log.disposeAllViews())}publish(e){this._log.append(e)}retained(){return this.events.cache}},en=class extends de{source;cursor;available;topic;constructor(e,n,r={}){super(e,r.graph);let s=Zt(r.cursor??0,"subscription cursor");this.topic=n;let o=n.events;this.source=I([o],([i])=>i,{name:"source",describeKind:"derived",meta:nt("subscription_source"),initial:o.cache}),this.add(this.source,{name:"source"}),this.cursor=A(s,{name:"cursor",describeKind:"state",meta:nt("subscription_cursor")}),this.add(this.cursor,{name:"cursor"}),this.available=I([this.source,this.cursor],([i,a])=>{let d=i,u=Math.max(0,Math.trunc(a??0));return d.slice(u)},{name:"available",describeKind:"derived",meta:nt("subscription_available"),initial:[]}),this.add(this.available,{name:"available"}),this.addDisposer(Ee(this.source)),this.addDisposer(Ee(this.available))}ack(e){let n=this.available.cache,r=e===void 0?n.length:Zt(e,"subscription ack count"),s=Math.min(r,n.length);if(s<=0)return this.cursor.cache;let o=this.cursor.cache+s;return this.cursor.emit(o),o}pull(e,n={}){let r=this.available.cache,s=e===void 0?r.length:Zt(e,"subscription pull limit"),o=r.slice(0,s);return n.ack&&o.length>0&&this.ack(o.length),o}};var tn=class extends de{_topics=new Map;_version=0;_defaultTopicOptions;constructor(e,n={}){super(e,n.graph),this._defaultTopicOptions={...n.defaultTopicOptions??{}}}get version(){return this._version}get size(){return this._topics.size}has(e){return this._topics.has(e)}topicNames(){return this._topics.keys()}topic(e,n){let r=this._topics.get(e);if(r===void 0){let s={...this._defaultTopicOptions,...n??{}};r=new De(e,s),this._topics.set(e,r),this.mount(e,r),this._version+=1}return r}publish(e,n){this.topic(e).publish(n)}publishMany(e){le(()=>{for(let[n,r]of e)this.topic(n).publish(r)})}subscribe(e,n,r){let s=this.topic(n);return new en(e,s,r)}removeTopic(e){if(!this._topics.has(e))return!1;try{this.remove(e)}finally{this._topics.delete(e),this._version+=1}return!0}};function rr(t,e){return new tn(t,e)}Se();ye();Ne();ue();function Uo(t,e){if(typeof e=="string")return{node:t.resolve(e),path:e};let n=Wo(t,e);if(!n)throw new Error("orchestration dep node must already be registered in the graph so explicit edges can be recorded; pass a string path or register the node first");return{node:e,path:n}}function Wo(t,e){let n=t.describe(),r=`::${ce}::`;for(let s of Object.keys(n.nodes).sort())if(!s.includes(r))try{if(t.resolve(s)===e)return s}catch{}}function qo(t,e,n,r){t.add(n,{name:e})}function Yo(t,e){return Ue("orchestration",t,e)}function or(t,e,n,r){let s=r?.maxPending??1/0;if(s<1&&s!==1/0)throw new RangeError("gate: maxPending must be >= 1");let o=r?.startOpen??!1,i=Uo(t,n),a=A([],{name:"pending",equals:()=>!1}),d=A(o,{name:"isOpen"}),u=I([a],([x])=>x.length,{name:"count"}),c=[],p=!1,f=o,h=d.subscribe(x=>{for(let w of x)w[0]===F&&(f=w[1])});function l(){a.emit([...c])}function m(x){c.push(x),c.length>s&&c.shift(),l()}function g(x){let w=c.splice(0,x);return l(),w}function b(x){if(p)throw new Error(`gate: ${x}() called after gate was torn down`)}let v=ie([i.node],(x,w,_)=>{let N=_.terminalDeps[0];if(N!==void 0){p=!0,c=[],l(),w.down(N===!0?[[z]]:[[$,N]]);return}let E=x[0];if(E==null||E.length===0){w.down([[q]]);return}for(let G of E)f?w.emit(G):(m(G),w.down([[q]]))},{name:e,describeKind:"derived",meta:Yo("gate",r?.meta)}),y={node:v,pending:a,count:u,isOpen:d,approve(x=1){b("approve");let w=g(x);for(let _ of w){if(p)break;v.emit(_)}},reject(x=1){b("reject"),g(x)},modify(x,w=1){b("modify");let _=[...c],N=g(w);for(let E=0;E<N.length&&!p;E++)v.emit(x(N[E],E,_))},open(){b("open"),le(()=>{d.emit(!0);let x=g(c.length);for(let w of x){if(p)break;v.emit(w)}})},close(){b("close"),d.emit(!1)}};t.addDisposer(u.subscribe(()=>{})),t.addDisposer(h),qo(t,e,v,i.path?[i.path]:[]);let T=new de(`${e}_state`);return T.add(a,{name:"pending"}),T.add(d,{name:"isOpen"}),T.add(u,{name:"count"}),t.mount(`${e}_state`,T),y}function sr(t,e,n,r=0){if(!Number.isFinite(t))return r;if(!Number.isFinite(e)||e<=0||!Number.isFinite(n)||n<=0)return Math.max(r,t);let s=t*Math.exp(-n*e);return Math.max(r,s)}Pe();ue();var Ae=["auto-fix","needs-decision","investigation","backlog"];function rt(t,e){return`${t}\u2192${e}`}function nn(t){let e=t.detail.toLowerCase();return e.includes("parse")||e.includes("json")||e.includes("config")||e.includes("validation")||e.includes("syntax")?"self-correctable":"structural"}var rn={critical:100,high:70,medium:40,low:10},on=Math.LN2/(168*3600),sn={"auto-fix":{gated:!1},"needs-decision":{gated:!0},investigation:{gated:!0},backlog:{gated:!1,startOpen:!1}};function an(){let t=Xn({name:"strategy-entries"}),e=I([t.entries],([i])=>{let a=i;return new Map(a)},{name:"strategy-model",equals:(i,a)=>{let d=i,u=a;if(d.size!==u.size)return!1;for(let[c,p]of d){let f=u.get(c);if(!f||p.attempts!==f.attempts||p.successes!==f.successes)return!1}return!0}});function n(i,a,d){let u=rt(i,a),c=t.get(u),p=(c?.attempts??0)+1,f=(c?.successes??0)+(d?1:0);t.set(u,{rootCause:i,intervention:a,attempts:p,successes:f,successRate:f/p})}function r(i,a){return t.get(rt(i,a))}let s=e.subscribe(()=>{});function o(){s()}return{node:e,record:n,lookup:r,dispose:o}}function Jo(t,e,n,r,s){let o={...rn,...s?.severityWeights},i=s?.decayRate??on,a=s?.effectivenessThreshold??.7,d=s?.effectivenessBoost??15,u=[t,e,n];return r&&u.push(r),I(u,c=>{let p=c[0],f=c[1],h=c[2],l=r?c[3]:0,m=o[p.severity??"medium"],g=(j()-h)/1e9,b=sr(m,g,i,0),v=rt(p.rootCause,p.intervention),y=f.get(v);return y&&y.successRate>=a&&(b+=d),b+=l*20,b},{name:"priority-score"})}var Qo=`You are a triage classifier for a reactive collaboration harness.
1
+ "use strict";var Dt=Object.defineProperty;var yr=Object.getOwnPropertyDescriptor;var vr=Object.getOwnPropertyNames;var Tr=Object.prototype.hasOwnProperty;var be=(t,e)=>()=>(t&&(e=t(t=0)),e);var xr=(t,e)=>{for(var n in e)Dt(t,n,{get:e[n],enumerable:!0})},wr=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of vr(e))!Tr.call(t,s)&&s!==n&&Dt(t,s,{get:()=>e[s],enumerable:!(r=yr(e,s))||r.enumerable});return t};var _r=t=>wr(Dt({},"__esModule",{value:!0}),t);function ln(t,e){let n=new TextEncoder().encode(t.name);if(n.length===0||n.length>255)throw new Error(`encodeEnvelope: codec name "${t.name}" encodes to ${n.length} bytes (must be 1\u2013255)`);let r=t.version;if(!Number.isInteger(r)||r<0||r>65535)throw new Error(`encodeEnvelope: codec.version ${r} out of u16 range (expected integer 0\u201365535)`);let s=2+n.length+2+e.length;if(s>4294967295)throw new Error(`encodeEnvelope: total envelope size ${s} exceeds 2^32-1 bytes (payload ${e.length} bytes)`);let o=new Uint8Array(s),i=0;return o[i++]=Mt,o[i++]=n.length,o.set(n,i),i+=n.length,o[i++]=r>>>8&255,o[i++]=r&255,o.set(e,i),o}function cn(t,e){if(t.length<dn)throw new Error(`decodeEnvelope: bytes too short (${t.length} < ${dn})`);let n=0,r=t[n++];if(r!==Mt)throw new Error(`decodeEnvelope: unsupported envelope version ${r} (expected ${Mt})`);let s=t[n++];if(s===0)throw new Error("decodeEnvelope: name_len must be >= 1");if(n+s+2>t.length)throw new Error(`decodeEnvelope: envelope truncated (need ${n+s+2} bytes, have ${t.length})`);let o=new TextDecoder().decode(t.subarray(n,n+s));n+=s;let i=(t[n]<<8|t[n+1])>>>0;n+=2;let a=t.subarray(n),d=e.lookupCodec(o);if(d==null)throw new Error(`decodeEnvelope: codec "${o}" not registered (envelope codec_v=${i})`);return{codec:d,codecVersion:i,payload:a}}function fn(t){t.registerCodec(Nr)}var Nr,Mt,dn,It=be(()=>{"use strict";Nr={name:"json",version:1,contentType:"application/json",encode(t){let e=JSON.stringify(t);return new TextEncoder().encode(e)},decode(t,e){let n=new TextDecoder().decode(t);return JSON.parse(n)}},Mt=1,dn=4});function at(t){if(t==null)return ze;let{type:e,id:n,...r}=t;return{type:e??"system",id:n??"",...r}}var ze,ut=be(()=>{"use strict";ze={type:"system",id:""}});function Qe(){return Be>0||Ye}function pn(){return Be>0}function Xe(t){Be>0?Je.push(t):t()}function le(t){Be+=1;let e=!1;try{t()}catch(n){throw e=!0,n}finally{if(Be-=1,Be===0)if(e){if(!Ye){let n=Je.splice(0);for(let r of n)try{r()}catch{}Ge.length=0,Le.length=0,He.length=0}}else Er()}}function Er(){let t=!Ye;t&&(Ye=!0);let e=[],n=0;try{for(;Ge.length>0||Le.length>0||He.length>0||t&&Je.length>0;){if(t&&Je.length>0){let o=Je.splice(0);for(let i of o)try{i()}catch(a){e.push(a)}continue}if(n+=1,n>1e3)throw Ge.length=0,Le.length=0,He.length=0,new Error("batch drain exceeded 1000 iterations \u2014 likely a reactive cycle");let s=(Ge.length>0?Ge:Le.length>0?Le:He).splice(0);for(let o of s)try{o()}catch(i){e.push(i)}}}finally{t&&(Ye=!1)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"batch drain: multiple callbacks threw")}function Ze(t,e,n){if(e.length===0)return;if(e.length===1){let u=n(e[0][0]);if(u<3||!Qe()){t(e);return}(u>=5?He:u===4?Le:Ge).push(()=>t(e));return}let r=e.length,s=r,o=r,i=r,a=0;for(;a<r&&n(e[a][0])<3;)a++;for(s=a;a<r&&n(e[a][0])===3;)a++;for(o=a;a<r&&n(e[a][0])===4;)a++;i=a;let d=Qe();if(s>0){let u=e.slice(0,s);t(u)}if(o>s){let u=e.slice(s,o);d?Ge.push(()=>t(u)):t(u)}if(i>o){let u=e.slice(o,i);d?Le.push(()=>t(u)):t(u)}if(r>i){let u=e.slice(i,r);d?He.push(()=>t(u)):t(u)}}var Be,Ye,Ge,Le,He,Je,Se=be(()=>{"use strict";Be=0,Ye=!1,Ge=[],Le=[],He=[],Je=[]});function j(){return Math.trunc(performance.now()*1e6)}function dt(){return Date.now()*1e6}var Pe=be(()=>{"use strict"});var Ce,$,J,q,ye,xe,_e,se,V,M,$e,lt,hn,ct,mn,gn,ft,Gt,Lt,Pt,pt,me=be(()=>{"use strict";Ce=Symbol.for("graphrefly/START"),$=Symbol.for("graphrefly/DATA"),J=Symbol.for("graphrefly/DIRTY"),q=Symbol.for("graphrefly/RESOLVED"),ye=Symbol.for("graphrefly/INVALIDATE"),xe=Symbol.for("graphrefly/PAUSE"),_e=Symbol.for("graphrefly/RESUME"),se=Symbol.for("graphrefly/TEARDOWN"),V=Symbol.for("graphrefly/COMPLETE"),M=Symbol.for("graphrefly/ERROR"),$e=Object.freeze([J]),lt=Object.freeze([q]),hn=Object.freeze([ye]),ct=Object.freeze([Ce]),mn=Object.freeze([V]),gn=Object.freeze([se]),ft=Object.freeze([$e]),Gt=Object.freeze([lt]),Lt=Object.freeze([hn]),Pt=Object.freeze([mn]),pt=Object.freeze([gn])});function bn(t){t.registerMessageType(Ce,{tier:0,wireCrossing:!1}),t.registerMessageType(J,{tier:1,wireCrossing:!1}),t.registerMessageType(ye,{tier:1,wireCrossing:!1,metaPassthrough:!1}),t.registerMessageType(xe,{tier:2,wireCrossing:!1}),t.registerMessageType(_e,{tier:2,wireCrossing:!1}),t.registerMessageType($,{tier:3,wireCrossing:!0}),t.registerMessageType(q,{tier:3,wireCrossing:!0}),t.registerMessageType(V,{tier:4,wireCrossing:!0,metaPassthrough:!1}),t.registerMessageType(M,{tier:4,wireCrossing:!0,metaPassthrough:!1}),t.registerMessageType(se,{tier:5,wireCrossing:!0,metaPassthrough:!1})}var ht,yn=be(()=>{"use strict";me();ht=class{_messageTypes=new Map;_codecs=new Map;_onMessage;_onSubscribe;_defaultVersioning;_defaultHashFn;_inspectorEnabled=!(typeof process<"u"&&process.env?.NODE_ENV==="production");_globalInspector;_frozen=!1;tierOf;constructor(e){this._onMessage=e.onMessage,this._onSubscribe=e.onSubscribe,this._defaultVersioning=e.defaultVersioning,this._defaultHashFn=e.defaultHashFn,this.tierOf=n=>{let r=this._messageTypes.get(n);return r!=null?r.tier:1}}get onMessage(){return this._frozen=!0,this._onMessage}get onSubscribe(){return this._frozen=!0,this._onSubscribe}set onMessage(e){this._assertUnfrozen(),this._onMessage=e}set onSubscribe(e){this._assertUnfrozen(),this._onSubscribe=e}get defaultVersioning(){return this._defaultVersioning}set defaultVersioning(e){this._assertUnfrozen(),this._defaultVersioning=e}get defaultHashFn(){return this._defaultHashFn}set defaultHashFn(e){this._assertUnfrozen(),this._defaultHashFn=e}get inspectorEnabled(){return this._inspectorEnabled}set inspectorEnabled(e){this._inspectorEnabled=e}get globalInspector(){return this._globalInspector}set globalInspector(e){this._globalInspector=e}registerMessageType(e,n){return this._assertUnfrozen(),this._messageTypes.set(e,{tier:n.tier,wireCrossing:n.wireCrossing??n.tier>=3,metaPassthrough:n.metaPassthrough??!0}),this}messageTier(e){let n=this._messageTypes.get(e);return n!=null?n.tier:1}isWireCrossing(e){let n=this._messageTypes.get(e);return n!=null?n.wireCrossing:!0}isLocalOnly(e){return!this.isWireCrossing(e)}isMetaPassthrough(e){let n=this._messageTypes.get(e);return n!=null?n.metaPassthrough:!0}isKnownMessageType(e){return this._messageTypes.has(e)}registerCodec(e){return this._assertUnfrozen(),this._codecs.set(e.name,e),this}lookupCodec(e){return this._codecs.get(e)}_isFrozen(){return this._frozen}_assertUnfrozen(){if(this._frozen)throw new Error("GraphReFlyConfig is frozen: a node has already captured this config. Register custom types and set hooks before creating any node.")}}});function $t(t){let e=Or.filter(n=>t({type:n,id:""},"write"));return e.length===0?"restricted":e.includes("human")&&e.includes("llm")&&e.every(n=>n==="human"||n==="llm"||n==="system")?"both":e.length===1?e[0]:e.join("+")}var ve,Or,et=be(()=>{"use strict";ve=class extends Error{actor;action;nodeName;constructor(e,n){super(n??`GuardDenied: action "${String(e.action)}" denied for actor type "${String(e.actor.type)}"`),this.name="GuardDenied",this.actor=e.actor,this.action=e.action,this.nodeName=e.nodeName}get node(){return this.nodeName}},Or=["human","llm","wallet","system"]});function Ft(t){if(t===void 0)return null;if(typeof t=="number"){if(!Number.isFinite(t))throw new TypeError(`Cannot hash non-finite number: ${t}`);if(Number.isInteger(t)&&!Number.isSafeInteger(t))throw new TypeError(`Cannot hash integer outside safe range (|n| > 2^53-1): ${t}. Cross-language cid parity is not guaranteed for unsafe integers.`);return t}if(typeof t=="string"||typeof t=="boolean"||t===null)return t;if(Array.isArray(t))return t.map(Ft);if(typeof t=="object"&&t!==null){let e={};for(let n of Object.keys(t).sort())e[n]=Ft(t[n]);return e}return null}function Sr(t){let e=Rr.encode(t),n=e.length,r=n*8,s=n+9+63&-64,o=new Uint8Array(s);o.set(e),o[n]=128;let i=new DataView(o.buffer);i.setUint32(s-4,r>>>0,!1),i.setUint32(s-8,Math.floor(r/4294967296)>>>0,!1);let a=1779033703,d=3144134277,u=1013904242,c=2773480762,p=1359893119,f=2600822924,h=528734635,l=1541459225,m=new Uint32Array(64),g=(v,y)=>v>>>y|v<<32-y;for(let v=0;v<s;v+=64){for(let R=0;R<16;R++)m[R]=i.getUint32(v+R*4,!1);for(let R=16;R<64;R++){let C=m[R-15],S=m[R-2],z=g(C,7)^g(C,18)^C>>>3,Y=g(S,17)^g(S,19)^S>>>10;m[R]=m[R-16]+z+m[R-7]+Y>>>0}let y=a,T=d,x=u,w=c,_=p,N=f,E=h,L=l;for(let R=0;R<64;R++){let C=g(_,6)^g(_,11)^g(_,25),S=_&N^~_&E,z=L+C+S+kr[R]+m[R]>>>0,Y=g(y,2)^g(y,13)^g(y,22),oe=y&T^y&x^T&x,fe=Y+oe>>>0;L=E,E=N,N=_,_=w+z>>>0,w=x,x=T,T=y,y=z+fe>>>0}a=a+y>>>0,d=d+T>>>0,u=u+x>>>0,c=c+w>>>0,p=p+_>>>0,f=f+N>>>0,h=h+E>>>0,l=l+L>>>0}let b=v=>v.toString(16).padStart(8,"0");return b(a)+b(d)+b(u)+b(c)+b(p)+b(f)+b(h)+b(l)}function Vt(t){let e=Ft(t??null),n=JSON.stringify(e);return Sr(n).slice(0,16)}function Cr(){let t=globalThis.crypto;if(t?.randomUUID)return t.randomUUID();let e=()=>Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0"),n=e()+e()+e()+e();return`${n.slice(0,8)}-${n.slice(8,12)}-4${n.slice(13,16)}-${(parseInt(n.slice(16,17),16)&3|8).toString(16)}${n.slice(17,20)}-${n.slice(20,32)}`}function zt(t,e,n){let r=n?.id??Cr();if(t===0)return{id:r,version:0};let o=(n?.hash??Vt)(e);return{id:r,version:0,cid:o,prev:null}}function vn(t,e,n){t.version+=1,"cid"in t&&(t.prev=t.cid,t.cid=n(e))}var kr,Rr,Tn=be(()=>{"use strict";kr=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Rr=new TextEncoder});function _n(t){return{node:t,unsub:null,prevData:void 0,dirty:!1,involvedThisWave:!1,dataBatch:[],terminal:void 0}}function Bt(t){t.prevData=void 0,t.dirty=!1,t.involvedThisWave=!1,t.dataBatch.length=0,t.terminal=void 0}function mt(t){return t.length===0?t:typeof t[0]=="symbol"?[t]:t}function ie(t,e,n){let r=Nn(t)?t:[],s=typeof t=="function"?t:typeof e=="function"?e:void 0,o={};return Nn(t)?o=(Ht(e)?e:n)??{}:Ht(t)?o=t:o=(Ht(e)?e:n)??{},new Q(r,s,o)}var xn,wn,Ar,Dr,je,Q,Nn,Ht,Ne=be(()=>{"use strict";It();ut();Se();Pe();yn();et();me();Tn();xn=()=>{},wn=100;Ar=(t,e,n,r)=>{n.direction==="down-in"&&t._onDepMessage(n.depIndex,e)},Dr=(t,e,n,r)=>{let s=t;if(s._status==="completed"||s._status==="errored")return;let o=s._cached,i=o===void 0?[ct]:[ct,[$,o]];s._status==="dirty"&&i.push($e),Ze(e,i,s._config.tierOf)},je=new ht({onMessage:Ar,onSubscribe:Dr});bn(je);fn(je);Q=class t{_optsName;_describeKind;meta;_hasMeta;_config;_deps;_sinks=null;_sinkCount=0;_cached;_status;_cleanup;_store={};_waveHasNewData=!1;_hasNewTerminal=!1;_hasCalledFnOnce=!1;_paused=!1;_pendingWave=!1;_isExecutingFn=!1;_pendingRerun=!1;_rerunDepth=0;_dirtyDepCount=0;_batchPendingMessages=null;_pauseLocks=null;_pauseBuffer=null;_fn;_equals;_resubscribable;_resetOnTeardown;_autoComplete;_autoError;_pausable;_partial;_guard;_extraGuards;_hashFn;_versioning;_versioningLevel;_lastMutation;_inspectorHooks;_actions;constructor(e,n,r){this._config=r.config??je,this._config.onMessage,this._optsName=r.name,this._describeKind=r.describeKind,this._equals=r.equals??Object.is,this._resubscribable=r.resubscribable??!1,this._resetOnTeardown=r.resetOnTeardown??!1,this._autoComplete=r.completeWhenDepsComplete??!0,this._autoError=r.errorWhenDepsError??!0,this._pausable=r.pausable??!0,this._guard=r.guard,this._fn=n,this._partial=r.partial??!1,this._cached=r.initial!==void 0?r.initial:void 0,this._status=e.length===0&&n==null&&this._cached!==void 0?"settled":"sentinel",this._hashFn=r.versioningHash??this._config.defaultHashFn??Vt;let s=r.versioning??this._config.defaultVersioning;this._versioningLevel=s,this._versioning=s!=null?zt(s,this._cached===void 0?void 0:this._cached,{id:r.versioningId,hash:this._hashFn}):void 0,this._deps=e.map(_n);let o={};for(let[a,d]of Object.entries(r.meta??{})){let u={initial:d,name:`${r.name??"node"}:meta:${a}`,describeKind:"state",config:this._config};r.guard!=null&&(u.guard=r.guard),o[a]=new t([],void 0,u)}Object.freeze(o),this.meta=o,this._hasMeta=Object.keys(o).length>0;let i=this;this._actions={emit(a){i._emit([[$,a]])},down(a){i._emit(mt(a))},up(a){i._emitUp(mt(a))}},this.down=this.down.bind(this),this.up=this.up.bind(this)}get _isTerminal(){return this._status==="completed"||this._status==="errored"}get name(){return this._optsName}get status(){return this._status}get cache(){return this._cached===void 0?void 0:this._cached}get lastMutation(){return this._lastMutation}get v(){return this._versioning}hasGuard(){return this._guard!=null}_applyVersioning(e,n){if(this._isExecutingFn)throw new Error(`Node "${this.name}": _applyVersioning cannot run mid-fn \u2014 call it outside of \`_execFn\` (typically at graph setup time before the first subscribe).`);let r=this._versioningLevel;if(r!=null&&e<=r)return;let s=n?.hash??this._hashFn;s!==this._hashFn&&(this._hashFn=s);let o=this._cached===void 0?void 0:this._cached,i=this._versioning,a=i?.id??n?.id,d=i?.version??0,u=zt(e,o,{id:a,hash:s});u.version=d,this._versioning=u,this._versioningLevel=e}_setInspectorHook(e){return e==null?()=>{}:(this._inspectorHooks==null&&(this._inspectorHooks=new Set),this._inspectorHooks.add(e),()=>{this._inspectorHooks?.delete(e),this._inspectorHooks?.size===0&&(this._inspectorHooks=void 0)})}_pushGuard(e){return this._extraGuards==null&&(this._extraGuards=new Set),this._extraGuards.add(e),()=>{this._extraGuards?.delete(e),this._extraGuards?.size===0&&(this._extraGuards=void 0)}}allowsObserve(e){if(this._guard==null&&this._extraGuards==null)return!0;let n=at(e);if(this._guard!=null&&!this._guard(n,"observe"))return!1;if(this._extraGuards!=null){for(let r of this._extraGuards)if(!r(n,"observe"))return!1}return!0}_checkGuard(e){if(e?.internal)return;let n=this._guard!=null||this._extraGuards!=null,r=e?.actor!=null;if(!n&&!r)return;let s=at(e?.actor),o=e?.delivery==="signal"?"signal":"write";if(this._guard!=null&&!this._guard(s,o))throw new ve({actor:s,action:o,nodeName:this.name});if(this._extraGuards!=null){for(let i of this._extraGuards)if(!i(s,o))throw new ve({actor:s,action:o,nodeName:this.name})}this._lastMutation={actor:s,timestamp_ns:dt()}}down(e,n){let r=mt(e);r.length!==0&&(this._checkGuard(n),this._emit(r))}emit(e,n){this._checkGuard(n),this._emit([[$,e]])}up(e,n){if(this._deps.length===0)return;let r=mt(e);if(r.length===0)return;this._checkGuard(n);let s=n??{internal:!0};this._validateUpTiers(r);for(let o of this._deps)o.node.up?.(r,s)}_emitUp(e){if(this._deps.length!==0&&e.length!==0){this._validateUpTiers(e);for(let n of this._deps)n.node.up?.(e,{internal:!0})}}_validateUpTiers(e){let n=this._config.tierOf;for(let r of e){let s=n(r[0]);if(s===3||s===4)throw new Error(`Node "${this.name}": tier-${s} messages cannot flow up \u2014 DATA/RESOLVED/COMPLETE/ERROR are downstream-only. Use \`down(...)\` for value delivery; \`up(...)\` is for control signals (DIRTY, INVALIDATE, PAUSE, RESUME, TEARDOWN).`)}}subscribe(e,n){if(n!=null&&this._guard!=null){let d=at(n);if(!this._guard(d,"observe"))throw new ve({actor:d,action:"observe",nodeName:this.name})}let s=this._isTerminal&&this._resubscribable;if(s){this._cached=void 0,this._status="sentinel",this._store={},this._hasCalledFnOnce=!1,this._waveHasNewData=!1,this._hasNewTerminal=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._isExecutingFn=!1,this._rerunDepth=0,this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null;for(let d of this._deps)Bt(d);if(this._partial===!1){for(let d of this._deps)if(d.prevData!==void 0||d.dataBatch.length!==0||d.terminal!==void 0||d.dirty)throw new Error(`resubscribable-reset invariant: DepRecord not fully reset for node ${this._optsName??"(anonymous)"}`)}}this._sinkCount+=1;let o;try{o=this._config.onSubscribe(this,e,{sinkCount:this._sinkCount,afterTerminalReset:s},this._actions)}catch(d){throw this._sinkCount-=1,d}this._sinks==null?this._sinks=e:typeof this._sinks=="function"?this._sinks=new Set([this._sinks,e]):this._sinks.add(e);let i=this._isTerminal;if(this._sinkCount===1&&!i)try{this._activate()}catch(d){if(this._sinkCount-=1,this._removeSink(e),this._sinkCount===0&&(this._status="sentinel"),typeof o=="function")try{o()}catch{}throw d}this._status==="sentinel"&&this._cached===void 0&&(this._status="pending");let a=!1;return()=>{a||(a=!0,this._sinkCount-=1,this._removeSink(e),typeof o=="function"&&o(),this._sinks==null&&this._deactivate())}}_removeSink(e){if(this._sinks===e)this._sinks=null;else if(this._sinks!=null&&typeof this._sinks!="function")if(this._sinks.delete(e),this._sinks.size===1){let[n]=this._sinks;this._sinks=n}else this._sinks.size===0&&(this._sinks=null)}_activate(){if(this._deps.length===0){this._fn&&this._execFn();return}this._dirtyDepCount=0;let e=this._deps.length,n=0;try{for(let r=0;r<e;r++){let s=r,o=this._deps[r];o.unsub=xn,o.unsub=o.node.subscribe(i=>{if(o.unsub===null)return;let a=this._config.tierOf,d=!1;for(let u of i)a(u[0])>=3&&(d=!0),this._config.onMessage(this,u,{direction:"down-in",depIndex:s},this._actions);d&&this._maybeRunFnOnSettlement()}),n++}}catch(r){this._deps[n].unsub=null;for(let s=0;s<n;s++){let o=this._deps[s];if(o.unsub!=null){let i=o.unsub;o.unsub=null;try{i()}catch{}Bt(o)}}throw this._dirtyDepCount=0,r}}_addDep(e){for(let s=0;s<this._deps.length;s++)if(this._deps[s].node===e)return s;let n=this._deps.length,r=_n(e);if(this._deps.push(r),this._sinks==null)return n;r.dirty=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(ft),r.unsub=xn;try{r.unsub=e.subscribe(s=>{if(r.unsub===null)return;let o=this._config.tierOf,i=!1;for(let a of s)o(a[0])>=3&&(i=!0),this._config.onMessage(this,a,{direction:"down-in",depIndex:n},this._actions);i&&this._maybeRunFnOnSettlement()})}catch(s){throw r.unsub=null,this._deps.pop(),this._dirtyDepCount--,s}return n}_deactivate(e=!1){let n=this._cleanup;if(this._cleanup=void 0,typeof n=="function")try{n()}catch(r){this._emit([[M,this._wrapFnError("cleanup threw",r)]])}else if(n!=null&&typeof n=="object"){let r=n.deactivate;if(typeof r=="function")try{r()}catch(s){this._emit([[M,this._wrapFnError("cleanup.deactivate threw",s)]])}}for(let r of this._deps){if(r.unsub!=null){let s=r.unsub;r.unsub=null;try{s()}catch{}}Bt(r)}this._waveHasNewData=!1,this._hasNewTerminal=!1,this._hasCalledFnOnce=!1,this._paused=!1,this._pendingWave=!1,this._pendingRerun=!1,this._rerunDepth=0,this._store={},this._dirtyDepCount=0,this._pauseLocks=null,this._pauseBuffer=null,this._fn!=null&&(this._cached=void 0),e||(this._fn!=null||this._deps.length>0)&&(!this._isTerminal||this._resubscribable)&&(this._status="sentinel")}_onDepMessage(e,n){let r=this._deps[e],s=n[0];if(this._inspectorHooks!=null){let o={kind:"dep_message",depIndex:e,message:n};for(let i of this._inspectorHooks)i(o)}if(s!==Ce){if(s===J){this._depDirtied(r);return}if(s===ye){if(this._depInvalidated(r),this._cached===void 0)return;this._emit(Lt);return}if(s===xe||s===_e){this._emit([n]);return}if(s===se){this._emit(pt);return}if(s===$)this._depSettledAsData(r,n[1]);else if(s===q)this._depSettledAsResolved(r);else if(s===V)this._depSettledAsTerminal(r,!0);else if(s===M)this._depSettledAsTerminal(r,n[1]);else{this._emit([n]);return}if(!this._fn){(s===$||s===q)&&this._emit([n]),(s===V||s===M)&&this._maybeAutoTerminalAfterWave();return}}}_depDirtied(e){e.dirty||(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++,this._status!=="dirty"&&this._emit(ft))}_depSettledAsData(e,n){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.involvedThisWave=!0,e.dataBatch.push(n),this._waveHasNewData=!0}_depSettledAsResolved(e){e.dirty&&(e.dirty=!1,this._dirtyDepCount--)}_depSettledAsTerminal(e,n){e.dirty&&(e.dirty=!1,this._dirtyDepCount--),e.terminal=n,e.involvedThisWave=!0,this._hasNewTerminal=!0}_depInvalidated(e){e.prevData=void 0,e.terminal=void 0,e.dataBatch.length=0,e.dirty?e.involvedThisWave=!1:(e.dirty=!0,e.involvedThisWave=!0,this._dirtyDepCount++)}_maybeRunFnOnSettlement(){if(!(this._isTerminal&&!this._resubscribable)&&!(this._dirtyDepCount>0)){if(!this._partial&&!this._hasCalledFnOnce)for(let e=0;e<this._deps.length;e++){let n=this._deps[e];if(n.dataBatch.length===0&&n.prevData===void 0&&n.terminal===void 0){this._maybeAutoTerminalAfterWave();return}}if(this._paused){this._pendingWave=!0;return}if(!this._waveHasNewData&&!this._hasNewTerminal&&this._hasCalledFnOnce){this._clearWaveFlags(),this._emit(Gt),this._maybeAutoTerminalAfterWave();return}this._fn&&this._execFn(),this._maybeAutoTerminalAfterWave()}}_maybeAutoTerminalAfterWave(){if(this._deps.length===0||this._isTerminal)return;let e=this._deps.find(n=>n.terminal!==void 0&&n.terminal!==!0);if(e!=null){this._autoError&&this._emit([[M,e.terminal]]);return}this._autoComplete&&this._deps.every(n=>n.terminal!==void 0)&&this._emit(Pt)}_execFn(){if(!this._fn||this._isTerminal&&!this._resubscribable)return;if(this._isExecutingFn){this._pendingRerun=!0;return}let e=this._cleanup;if(typeof e=="function"){this._cleanup=void 0;try{e()}catch(i){this._emit([[M,this._wrapFnError("cleanup threw",i)]]);return}}else if(e!=null&&typeof e=="object"){let i=e.beforeRun;if(typeof i=="function"){e.beforeRun=void 0;try{i()}catch(a){this._emit([[M,this._wrapFnError("cleanup.beforeRun threw",a)]]);return}}}let n=this._deps.map(i=>i.involvedThisWave?i.dataBatch.length>0?[...i.dataBatch]:[]:void 0),r=this._deps.map(i=>i.prevData);for(let i=0;i<this._deps.length;i++){let a=n[i];a!=null&&a.length>0&&(this._deps[i].prevData=a[a.length-1])}let s=this._deps.map(i=>i.terminal),o={prevData:r,terminalDeps:s,store:this._store};if(this._hasCalledFnOnce=!0,this._clearWaveFlags(),this._inspectorHooks!=null){let i={kind:"run",batchData:n,prevData:r};for(let a of this._inspectorHooks)a(i)}this._isExecutingFn=!0;try{let i=this._fn(n,this._actions,o);if(typeof i=="function")this._cleanup=i;else if(i!=null&&typeof i=="object"){let a=i;(typeof a.beforeRun=="function"||typeof a.deactivate=="function"||typeof a.invalidate=="function")&&(this._cleanup=i)}}catch(i){this._emit([[M,this._wrapFnError("fn threw",i)]])}finally{this._isExecutingFn=!1,this._pendingRerun?(this._pendingRerun=!1,this._rerunDepth+=1,this._rerunDepth>wn?(this._rerunDepth=0,this._emit([[M,new Error(`Node "${this.name}": _pendingRerun depth exceeded ${wn} \u2014 likely a reactive cycle`)]])):this._maybeRunFnOnSettlement()):this._rerunDepth=0,this._clearWaveFlags()}}_clearWaveFlags(){this._waveHasNewData=!1,this._hasNewTerminal=!1;for(let e of this._deps)e.involvedThisWave=!1,e.dataBatch.length=0}_wrapFnError(e,n){let r=n instanceof Error?n.message:String(n);return new Error(`Node "${this.name}": ${e}: ${r}`,{cause:n})}_frameBatch(e){let n=this._config.tierOf;if(e.length===1)return n(e[0][0])===3&&this._status!=="dirty"?[$e,e[0]]:e;let r=!0,s=!1,o=!1,i=-1;for(let d of e){let u=n(d[0]);u<i&&(r=!1),u===3&&(s=!0),d[0]===J&&(o=!0),i=u}let a=e;if(!r){let d=e.map((u,c)=>({m:u,i:c,tier:n(u[0])}));d.sort((u,c)=>u.tier-c.tier||u.i-c.i),a=d.map(u=>u.m)}if(s&&!o&&this._status!=="dirty"){let d=0;for(;d<a.length&&n(a[d][0])===0;)d++;return d===0?[$e,...a]:[...a.slice(0,d),$e,...a.slice(d)]}return a}_emit(e){if(e.length===0)return;for(let a=0;a<e.length;a++){let d=e[a];if(d[0]===M&&d[1]===void 0)throw new TypeError('[ERROR, payload] requires a non-undefined payload (spec \xA71.2). Pass an Error object or domain tag instead \u2014 e.g. node.down([[ERROR, new Error("reason")]])')}let n=e;if(this._isTerminal&&!this._resubscribable){let a=e.filter(d=>d[0]===se||d[0]===ye);if(a.length===0)return;n=a}n=this._frameBatch(n);let s=null;for(let a=0;a<n.length;a++){let d=n[a],u=d[0];if(u!==xe&&u!==_e){s?.push(d);continue}if(d.length<2)throw new Error(`Node "${this.name}": [[${u===xe?"PAUSE":"RESUME"}]] must carry a lockId payload \u2014 bare PAUSE/RESUME is a protocol violation (C0 rule). Use \`[[PAUSE, lockId]]\` / \`[[RESUME, lockId]]\`.`);let c=!0;if(this._pausable!==!1){let p=d[1];if(u===xe)this._pauseLocks==null&&(this._pauseLocks=new Set),this._pauseLocks.add(p),this._paused=!0,this._pausable==="resumeAll"&&this._pauseBuffer==null&&(this._pauseBuffer=[]);else if(this._pauseLocks==null||!this._pauseLocks.has(p))c=!1;else if(this._pauseLocks.delete(p),this._pauseLocks.size===0){if(this._paused=!1,this._pauseBuffer!=null&&this._pauseBuffer.length>0){let f=this._pauseBuffer;this._pauseBuffer=[],this._emit(f)}this._pendingWave&&(this._pendingWave=!1,this._maybeRunFnOnSettlement())}}c?s?.push(d):s==null&&(s=n.slice(0,a))}if(s!=null){if(s.length===0)return;n=s}if(this._hasMeta&&n.some(a=>a[0]===se))for(let a of Object.keys(this.meta))try{this.meta[a]._emit(pt)}catch{}let{finalMessages:o,equalsError:i}=this._updateState(n);if(o.length>0&&this._config.inspectorEnabled){let a=this._config.globalInspector;if(a!=null)try{a({kind:"emit",node:this,messages:o})}catch{}}if(o.length>0)if(this._paused&&this._pausable==="resumeAll"&&this._pauseBuffer!=null){let a=this._config.tierOf,d=[];for(let u of o)a(u[0])===3?this._pauseBuffer.push(u):d.push(u);d.length>0&&this._dispatchOrAccumulate(d)}else this._dispatchOrAccumulate(o);i!=null&&this._emit([[M,i]])}_updateState(e){let n=this._config.tierOf,r,s,o=-1,i=0;for(let c of e)n(c[0])===3&&i++;let a=i<=1,d=-1;if(this._versioning!=null&&i>1){for(let c=e.length-1;c>=0;c--)if(e[c][0]===$){d=c;break}}for(let c=0;c<e.length;c++){let p=e[c],f=p[0];if(f===$){if(p.length>=2){let h=!1;if(a&&this._cached!==void 0)try{h=this._equals(this._cached,p[1])}catch(l){s=this._wrapFnError("equals threw",l),o=c;break}if(h){r==null&&(r=e.slice(0,c)),r.push(lt),this._status="resolved";continue}this._cached=p[1],this._versioning!=null&&(d<0||c===d)&&vn(this._versioning,p[1],this._hashFn)}this._status="settled",r?.push(p)}else if(r?.push(p),f===J)this._status="dirty";else if(f===q)this._status="resolved";else if(f===V)this._status="completed";else if(f===M)this._status="errored";else if(f===ye){this._cached=void 0,this._status="dirty";let h=this._cleanup;if(typeof h=="function"){this._cleanup=void 0;try{h()}catch{}}else if(h!=null&&typeof h=="object"){let l=h.invalidate;if(typeof l=="function")try{l()}catch{}}}else f===se&&(this._resetOnTeardown&&(this._cached=void 0),this._deactivate(!0),this._status="sentinel")}let u=o>=0?r??e.slice(0,o):r??e;return s!=null?{finalMessages:u,equalsError:s}:{finalMessages:u}}_deliverToSinks=e=>{if(this._sinks==null)return;if(typeof this._sinks=="function"){this._sinks(e);return}let n=[...this._sinks];for(let r of n)r(e)};_dispatchOrAccumulate(e){if(pn()){this._batchPendingMessages===null&&(this._batchPendingMessages=[],Xe(()=>this._flushBatchPending()));for(let n of e)this._batchPendingMessages.push(n);return}Ze(this._deliverToSinks,e,this._config.tierOf)}_flushBatchPending(){let e=this._batchPendingMessages;if(e===null||(this._batchPendingMessages=null,e.length===0))return;let n=this._frameBatch(e);Ze(this._deliverToSinks,n,this._config.tierOf)}},Nn=t=>Array.isArray(t),Ht=t=>typeof t=="object"&&t!=null&&!Array.isArray(t)});function G(t,e){return ie([],{...e,initial:t})}function Te(t,e){return ie((r,s,o)=>t(s,o)??void 0,{describeKind:"producer",...e})}function I(t,e,n){return ie(t,(s,o,i)=>{let a=s.map((d,u)=>d!=null&&d.length>0?d.at(-1):i.prevData[u]);o.emit(e(a,i))},{describeKind:"derived",...n})}function ae(t,e,n){return ie(t,(s,o,i)=>{let a=s.map((d,u)=>d!=null&&d.length>0?d.at(-1):i.prevData[u]);return e(a,o,i)??void 0},{describeKind:"effect",...n})}var ue=be(()=>{"use strict";Ne()});function jt(t){return{describeKind:"producer",...t}}function En(t,e){return Te(n=>{let r=!1;try{for(let s of t){if(r)return;n.emit(s)}r||n.down([[V]])}catch(s){r||n.down([[M,s]])}return()=>{r=!0}},jt(e))}function Mr(t){return t!=null&&typeof t.then=="function"}function Ir(t,e){let{signal:n,...r}=e??{};return Te(s=>{let o=!1,i=()=>{o||(o=!0,s.down([[M,n.reason]]))};if(n?.aborted){i();return}return n?.addEventListener("abort",i,{once:!0}),Promise.resolve(t).then(a=>{o||(o=!0,n?.removeEventListener("abort",i),s.emit(a),s.down([[V]]))},a=>{o||(o=!0,n?.removeEventListener("abort",i),s.down([[M,a]]))}),()=>{o=!0,n?.removeEventListener("abort",i)}},jt(r))}function Gr(t,e){let{signal:n,...r}=e??{};return Te(s=>{let o=new AbortController,i=()=>o.abort(n?.reason);n?.aborted?o.abort(n.reason):n?.addEventListener("abort",i,{once:!0});let a=n??o.signal,d=!1,u=t[Symbol.asyncIterator](),c=()=>{d||a.aborted||Promise.resolve(u.next()).then(p=>{if(!(d||a.aborted)){if(p.done){s.down([[V]]);return}s.emit(p.value),c()}},p=>{!d&&!a.aborted&&s.down([[M,p]])})};return c(),()=>{d=!0,n?.removeEventListener("abort",i),o.abort(),Promise.resolve(u.return?.()).catch(()=>{})}},jt(r))}function Lr(t){return t!=null&&typeof t=="object"&&"cache"in t&&typeof t.subscribe=="function"}function Ke(t,e){if(Lr(t))return t;if(Mr(t))return Ir(t,e);if(t!=null){let n=t;if(typeof n[Symbol.asyncIterator]=="function")return Gr(t,e);if(typeof n[Symbol.iterator]=="function")return En(t,e)}return Pr(t)}function Pr(...t){return En(t,void 0)}function On(t,e){let n=new AbortController,r=e?.reason??new Error("cancelled via nodeSignal"),s,o=!1,i=()=>{s?(s(),s=void 0):o=!0};return s=t.subscribe(a=>{if(!n.signal.aborted)for(let d of a){if(d[0]===$&&d[1]===!0){n.abort(r),i();return}if(d[0]===M){n.abort(d[1]),i();return}if(d[0]===V){i();return}}}),o&&(s?.(),s=void 0),{signal:n.signal,dispose:()=>{s&&(s(),s=void 0)}}}function Ee(t){return t.subscribe(()=>{})}var Ue=be(()=>{"use strict";me();ue()});var yt,Rn=be(()=>{"use strict";yt=class{_timer;_gen=0;start(e,n){this.cancel(),this._gen+=1;let r=this._gen;this._timer=setTimeout(()=>{this._timer=void 0,r===this._gen&&n()},e)}cancel(){this._timer!==void 0&&(clearTimeout(this._timer),this._timer=void 0)}get pending(){return this._timer!==void 0}}});var fs={};xr(fs,{DEFAULT_DECAY_RATE:()=>sn,DEFAULT_QUEUE_CONFIGS:()=>an,DEFAULT_SEVERITY_WEIGHTS:()=>on,HarnessGraph:()=>St,QUEUE_NAMES:()=>Me,affectedTaskFilter:()=>jr,beforeAfterCompare:()=>Hr,codeChangeBridge:()=>Kr,createIntakeBridge:()=>Vr,defaultErrorClassifier:()=>rn,defaultLlmExecutor:()=>ur,defaultLlmVerifier:()=>dr,evalIntakeBridge:()=>zr,evalSource:()=>Br,evalVerifier:()=>Jr,harnessLoop:()=>ns,harnessProfile:()=>rs,harnessTrace:()=>ls,notifyEffect:()=>Ur,priorityScore:()=>Xo,refineExecutor:()=>us,strategyKey:()=>st,strategyModel:()=>un});module.exports=_r(fs);ue();me();Ne();ue();Ue();function gt(t){return{describeKind:"derived",...t}}function $r(t){return{describeKind:"derived",partial:!0,...t}}function We(t,e,n){return ie([t],(r,s)=>{let o=r[0];if(o==null||o.length===0){s.down([[q]]);return}let i=!1;for(let a of o)e(a)&&(s.emit(a),i=!0);i||s.down([[q]])},gt(n))}function tt(t,e,n){return ie([t,e],(r,s,o)=>{let i=r[0],a=r[1],d=a!=null&&a.length>0?a.at(-1):o.prevData[1];if(i!=null&&i.length>0){if(!(a!=null&&a.length>0)&&o.prevData[1]===void 0){s.down([[q]]);return}for(let u of i)s.emit([u,d])}else s.down([[q]])},$r(n))}function kn(...t){return t.length===0?Te(e=>{e.down([[V]])},gt()):Te(e=>{let n=t.length,r=0,s=[];for(let o of t){let i=o.subscribe(a=>{for(let d of a)d[0]===$?e.emit(d[1]):d[0]===V?(r+=1,r>=n&&e.down([[V]])):d[0]===M&&e.down([d])});s.push(i)}return()=>{for(let o of s)o()}},gt())}function Fr(t,e,n){let r,s=!1,o=()=>{s||(s=!0,n())};return r=t.subscribe(i=>{let a=!1,d=!1;for(let u of i)u[0]!==Ce&&(u[0]===$?e.emit(u[1]):u[0]===V?a=!0:u[0]===M?(d=!0,e.down([u])):(u[0]===J||u[0]===q)&&e.down([u]));d?(r?.(),r=void 0,o()):a&&o()}),()=>{r?.(),r=void 0}}function we(t,e,n){let r,s=!1;function o(){r?.(),r=void 0}return ie([t],(i,a,d)=>{if(d.terminalDeps[0]!=null&&d.terminalDeps[0]!==!0){o();return}if(d.terminalDeps[0]===!0){s=!0,r||a.down([[V]]);return}let u=i[0];if(!(u==null||u.length===0))return o(),r=Fr(Ke(e(u[u.length-1])),a,()=>{o(),s&&a.down([[V]])}),{deactivate:()=>{o(),s=!1}}},{...gt(n),completeWhenDepsComplete:!1})}Ue();function Vr(t,e,n,r){return ae([t],([s])=>{if(s==null)return;let o=n(s);for(let i of o)e.publish(i)},{name:r?.name??"intake-bridge"})}function zr(t,e,n){let r=n?.defaultSeverity??"medium";return ae([t],([s])=>{if(s==null)return;let o=Array.isArray(s)?s:[s];for(let i of o)for(let a of i.tasks)if(!(a.valid&&a.judge_scores?.every(d=>d.pass))){if(!a.valid&&(!a.judge_scores||a.judge_scores.length===0)){e.publish({source:"eval",summary:`Task ${a.task_id} invalid (model: ${i.model})`,evidence:`Run ${i.run_id}: task produced invalid output`,affectsAreas:["graphspec"],affectsEvalTasks:[a.task_id],severity:r});continue}if(a.judge_scores)for(let d of a.judge_scores)d.pass||e.publish({source:"eval",summary:`${a.task_id}: ${d.claim} (model: ${i.model})`,evidence:d.reasoning,affectsAreas:["graphspec"],affectsEvalTasks:[a.task_id],severity:r})}},{name:n?.name??"eval-intake-bridge"})}function Br(t,e){return we(t,()=>Ke(e()))}function Hr(t,e){return I([t,e],([n,r])=>{let s=n,o=r,i=new Map(s.tasks.map(f=>[f.task_id,f])),a=new Map(o.tasks.map(f=>[f.task_id,f])),d=new Set([...i.keys(),...a.keys()]),u=[],c=[],p=[];for(let f of d){let h=i.get(f),l=a.get(f),m=h?.valid??!1,g=l?.valid??!1,b=h?.judge_scores?h.judge_scores.filter(T=>T.pass).length:void 0,v=l?.judge_scores?l.judge_scores.filter(T=>T.pass).length:void 0,y=b!==void 0&&v!==void 0?v-b:void 0;u.push({taskId:f,before:m,after:g,scoreDiff:y}),m&&!g&&c.push(f),!m&&g&&p.push(f)}return{newFailures:c,resolved:p,taskDeltas:u,overallImproved:p.length>c.length}},{name:"eval-delta"})}function jr(t,e){let n=e==null?null:Array.isArray(e)?G(e):e,r=[t];return n&&r.push(n),I(r,s=>{let o=s[0],i=n?new Set(s[1]):null,a=new Set;for(let d of o)for(let u of d.affectsEvalTasks??[])(i==null||i.has(u))&&a.add(u);return[...a].sort()},{name:"affected-task-filter"})}function Kr(t,e,n,r){let s=r?.defaultSeverity??"high";function o(a){let d=[];for(let u of a.lintErrors??[])d.push({source:"code-change",summary:`Lint: ${u.rule} in ${u.file}:${u.line}`,evidence:u.message,affectsAreas:[u.file],severity:s});for(let u of a.testFailures??[])d.push({source:"test",summary:`Test failure: ${u.testId}`,evidence:u.message,affectsAreas:[u.file],affectsEvalTasks:[u.testId],severity:s});return d}let i=n??o;return ae([t],([a])=>{if(a!=null)for(let d of i(a))e.publish(d)},{name:r?.name??"code-change-bridge"})}function Ur(t,e,n){return ae([t.latest],([r])=>{r!=null&&e(r)},{name:n?.name??"notify-effect"})}ue();function Wr(t){if(t.length===0)return Number.NEGATIVE_INFINITY;let e=0;for(let n of t)e+=n.score;return e/t.length}function qr(t){let{passCount:e,total:n,meanScore:r,threshold:s,missingArtifact:o}=t,i=Number.isFinite(r)?r.toFixed(3):String(r),a=!o&&n>0&&r>=s,d=o?["EXECUTE stage did not emit an artifact; cannot verify reactively"]:a?[`${e}/${n} eval tasks passed; mean score ${i} \u2265 ${s}`]:n===0?["No eval tasks were selected for this item \u2014 cannot verify"]:[`${e}/${n} eval tasks passed; mean score ${i} < threshold ${s}`];return a?{verified:!0,findings:d}:{verified:!1,findings:d,errorClass:"structural"}}function Yr(t){return t.artifact}function Jr(t){let e=t.name??"eval-verifier",n=t.threshold??.5,r=t.toOutput??qr,s=t.extractArtifact??Yr;return o=>{let i=We(o,d=>d!=null&&d[0]!=null&&d[1]!=null),a=we(i,([d,u])=>{let c=s(d,u);if(c==null)return G(r({scores:[],meanScore:Number.NEGATIVE_INFINITY,passCount:0,total:0,threshold:n,missingArtifact:!0}));let p=G([c],{name:`${e}/candidates`}),f=G(t.datasetFor(u),{name:`${e}/dataset`}),h=t.evaluator(p,f);return I([h],([l])=>{let m=l;if(m==null)return null;let g=Wr(m),b=m.filter(v=>v.score>=n).length;return r({scores:m,meanScore:g,passCount:b,total:m.length,threshold:n})},{name:`${e}/output`})},{name:e});return We(a,d=>d!=null)}}Ne();ue();ut();Se();Pe();et();me();et();Ne();function bt(t,e){if(e!=null&&e.length>0)return new Set(e);switch(t){case"standard":return new Set(["type","status","value","deps","meta","v"]);case"full":return null;default:return new Set(["type","deps"])}}function Qr(t){return t._describeKind!=null?t._describeKind:t._deps.length>0?"derived":t._fn!=null?"producer":"state"}function Xr(t){let e={};for(let[n,r]of Object.entries(t.meta))try{e[n]=r.cache}catch{}return e}function Kt(t,e){let n=e==null,r=!n&&e!=null?[...e].filter(u=>u.startsWith("meta.")).map(u=>u.slice(5)):null,s=n||e.has("meta")||r!=null&&r.length>0,o="state",i=[];t instanceof Q&&(o=Qr(t),i=t._deps.map(u=>u.node.name??""));let a={type:o,deps:i};(n||e.has("status"))&&(a.status=t.status);let d=t instanceof Q?t._guard:void 0;if(s){let u={...Xr(t)};if(d!=null&&u.access===void 0&&(u.access=$t(d)),r!=null&&r.length>0&&!e.has("meta")){let c={};for(let p of r)p in u&&(c[p]=u[p]);a.meta=c}else a.meta=u}if(t.name!=null&&(a.name=t.name),n||e.has("value")){t.status==="sentinel"&&(a.sentinel=!0);try{a.value=t.cache}catch{}}if((n||e.has("v"))&&t.v!=null){let u={id:t.v.id,version:t.v.version};"cid"in t.v&&(u.cid=t.v.cid,u.prev=t.v.prev),a.v=u}return(n||e.has("guard"))&&d!=null&&(a.guard=$t(d)),(n||e.has("lastMutation"))&&t.lastMutation!=null&&(a.lastMutation=t.lastMutation),a}Ne();ue();Ue();Rn();var nt=class{constructor(e){this.capacity=e;if(!Number.isInteger(e)||e<=0)throw new Error(`RingBuffer capacity must be a positive integer (got ${e})`);this.buf=new Array(e)}buf;head=0;_size=0;get size(){return this._size}get maxSize(){return this.capacity}push(e){let n=(this.head+this._size)%this.capacity;this.buf[n]=e,this._size<this.capacity?this._size++:this.head=(this.head+1)%this.capacity}shift(){if(this._size===0)return;let e=this.buf[this.head];return this.buf[this.head]=void 0,this.head=(this.head+1)%this.capacity,this._size--,e}at(e){if(this._size===0)return;let n=e<0?this._size+e:e;if(!(n<0||n>=this._size))return this.buf[(this.head+n)%this.capacity]}toArray(){let e=new Array(this._size);for(let n=0;n<this._size;n++)e[n]=this.buf[(this.head+n)%this.capacity];return e}clear(){for(let e=0;e<this._size;e++)this.buf[(this.head+e)%this.capacity]=void 0;this.head=0,this._size=0}};It();function Ut(t){return t>=768&&t<=879||t>=1155&&t<=1161||t>=1425&&t<=1469||t>=1552&&t<=1562||t>=1611&&t<=1631||t>=1648&&t===1648||t>=1750&&t<=1756||t>=1759&&t<=1764||t>=1767&&t<=1768||t>=1770&&t<=1773||t>=1840&&t<=1866||t>=1958&&t<=1968||t>=2304&&t<=2307||t>=2362&&t<=2383||t>=2385&&t<=2391||t>=2402&&t<=2403||t>=2433&&t<=2435||t>=2492&&t<=2509||t>=2561&&t<=2563||t>=2620&&t<=2641||t>=2672&&t<=2673||t>=2677&&t===2677||t>=3633&&t===3633||t>=3636&&t<=3642||t>=3655&&t<=3662||t>=3761&&t===3761||t>=3764&&t<=3772||t>=3784&&t<=3790||t>=7616&&t<=7679||t>=8400&&t<=8447||t>=65024&&t<=65039||t>=65056&&t<=65071||t===8205?0:t>=4352&&t<=4447||t>=8986&&t<=8987||t>=9001&&t<=9002||t>=9193&&t<=9203||t>=9208&&t<=9210||t>=9725&&t<=9726||t>=9748&&t<=9749||t>=9800&&t<=9811||t===9855||t===9875||t===9889||t>=9898&&t<=9899||t>=9917&&t<=9918||t>=9924&&t<=9925||t===9934||t===9940||t===9962||t>=9970&&t<=9971||t===9973||t===9978||t===9981||t===9986||t===9989||t>=9992&&t<=9997||t===9999||t>=10067&&t<=10069||t===10071||t>=10133&&t<=10135||t===10160||t===10175||t>=10548&&t<=10549||t>=11013&&t<=11015||t>=11035&&t<=11036||t===11088||t===11093||t>=11904&&t<=12350||t>=12352&&t<=12447||t>=12448&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12771||t>=12784&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=19903||t>=19968&&t<=40959||t>=43360&&t<=43388||t>=44032&&t<=55203||t>=63744&&t<=64255||t>=65040&&t<=65049||t>=65072&&t<=65131||t>=65281&&t<=65376||t>=65504&&t<=65510||t>=126980&&t===126980||t===127183||t>=127344&&t<=127345||t===127358||t===127359||t===127374||t>=127377&&t<=127386||t>=127456&&t<=127487||t>=127488&&t<=127490||t===127514||t===127535||t>=127538&&t<=127546||t>=127568&&t<=127569||t>=127744&&t<=129535||t>=129536&&t<=129791||t>=129792&&t<=130047||t>=131072&&t<=196605||t>=196608&&t<=262141?2:1}function vt(t){let e=0;for(let n of t)e+=Ut(n.codePointAt(0));return e}function Sn(t,e){if(e<=0)return"";let n=0,r="";for(let s of t){let o=Ut(s.codePointAt(0));if(n+o>e){if(e<=1)return"\u2026";for(;n+1>e&&r.length>0;){let i=[...r].pop();r=r.slice(0,-i.length),n-=Ut(i.codePointAt(0))}return`${r}\u2026`}r+=s,n+=o}return r}var Zr={horizontal:"\u2500",vertical:"\u2502",cornerTL:"\u250C",cornerTR:"\u2510",cornerBL:"\u2514",cornerBR:"\u2518",tDown:"\u252C",tUp:"\u2534",tRight:"\u251C",tLeft:"\u2524",cross:"\u253C",arrowRight:"\u25B6",arrowDown:"\u25BC",arrowLeft:"\u25C0",arrowUp:"\u25B2",boxTL:"\u250C",boxTR:"\u2510",boxBL:"\u2514",boxBR:"\u2518",boxH:"\u2500",boxV:"\u2502"},eo={horizontal:"-",vertical:"|",cornerTL:"+",cornerTR:"+",cornerBL:"+",cornerBR:"+",tDown:"+",tUp:"+",tRight:"+",tLeft:"+",cross:"+",arrowRight:">",arrowDown:"v",arrowLeft:"<",arrowUp:"^",boxTL:"+",boxTR:"+",boxBL:"+",boxBR:"+",boxH:"-",boxV:"|"};function Mn(t,e){let n=e.charset==="ascii"?eo:Zr,r=t.width,s=t.height,o=Array.from({length:s},()=>Array.from({length:r},()=>" ")),i=Array.from({length:s},()=>Array.from({length:r},()=>"empty"));for(let a of t.edges)no(o,i,n,a);for(let a of t.boxes)to(o,i,n,a,e.labelOf(a.id));return o.map(a=>io(a.join(""))).join(`
2
+ `)}function to(t,e,n,r,s){let{x:o,y:i,w:a,h:d}=r;if(a<2||d<2){d>0&&Cn(t,e,o,i,a,s);return}Ae(t,e,o,i,n.boxTL);for(let c=o+1;c<o+a-1;c+=1)Ae(t,e,c,i,n.boxH);Ae(t,e,o+a-1,i,n.boxTR);for(let c=i+1;c<i+d-1;c+=1){Ae(t,e,o,c,n.boxV);for(let p=o+1;p<o+a-1;p+=1)In(t,e,p,c," ","empty");Ae(t,e,o+a-1,c,n.boxV)}Ae(t,e,o,i+d-1,n.boxBL);for(let c=o+1;c<o+a-1;c+=1)Ae(t,e,c,i+d-1,n.boxH);Ae(t,e,o+a-1,i+d-1,n.boxBR);let u=i+Math.floor(d/2);Cn(t,e,o+1,u,a-2,s)}function Ae(t,e,n,r,s){In(t,e,n,r,s,s===" "?"empty":s==="\u2500"||s==="-"?"boxH":s==="\u2502"||s==="|"?"boxV":"boxCorner")}function In(t,e,n,r,s,o){if(r<0||r>=t.length)return;let i=t[r];n<0||n>=i.length||(i[n]=s,e[r][n]=o)}function Cn(t,e,n,r,s,o){if(r<0||r>=t.length)return;let i=n,a=s;for(let d of o){let u=vt(d);if(u!==0){if(a<u)break;i>=0&&i<t[r].length&&(t[r][i]=d,e[r][i]="label",u===2&&i+1<t[r].length&&(t[r][i+1]="",e[r][i+1]="label")),i+=u,a-=u}}for(;a>0;)i>=0&&i<t[r].length&&(t[r][i]=" ",e[r][i]="empty"),i+=1,a-=1}function no(t,e,n,r){let s=r.points;if(s.length<2)return;for(let d=0;d+1<s.length;d+=1)ro(t,e,n,s[d],s[d+1]);for(let d=1;d+1<s.length;d+=1){let u=s[d-1],c=s[d],p=s[d+1],f=oo(u,c,p,n);f&&Dn(t,e,c.x,c.y,f,"edgeCorner")}let o=s[s.length-1],i=s[s.length-2],a=so(i,o,n);a&&Dn(t,e,o.x,o.y,a,"arrow")}function ro(t,e,n,r,s){if(!(r.x===s.x&&r.y===s.y)){if(r.y===s.y){let o=r.y,i=Math.min(r.x,s.x),a=Math.max(r.x,s.x);for(let d=i;d<=a;d+=1)An(t,e,d,o,n,"h")}else if(r.x===s.x){let o=r.x,i=Math.min(r.y,s.y),a=Math.max(r.y,s.y);for(let d=i;d<=a;d+=1)An(t,e,o,d,n,"v")}}}function An(t,e,n,r,s,o){if(r<0||r>=t.length)return;let i=t[r];if(n<0||n>=i.length)return;let a=e[r][n];if(!(a==="boxH"||a==="boxV"||a==="boxCorner"||a==="label")){if(a==="empty"){i[n]=o==="h"?s.horizontal:s.vertical,e[r][n]=o==="h"?"edgeH":"edgeV";return}if(a==="edgeH"&&o==="v"){i[n]=s.cross,e[r][n]="edgeCorner";return}if(a==="edgeV"&&o==="h"){i[n]=s.cross,e[r][n]="edgeCorner";return}}}function Dn(t,e,n,r,s,o){if(r<0||r>=t.length)return;let i=t[r];if(n<0||n>=i.length)return;let a=e[r][n];a==="boxH"||a==="boxV"||a==="boxCorner"||a==="label"||(i[n]=s,e[r][n]=o)}function oo(t,e,n,r){let s=t.y===e.y,o=e.y===n.y;if(s===o)return;if(s){let d=t.x<e.x,u=n.y>e.y;return d&&u?r.cornerTR:d&&!u?r.cornerBR:!d&&u?r.cornerTL:r.cornerBL}let i=t.y<e.y,a=n.x>e.x;return i&&a?r.cornerBL:i&&!a?r.cornerBR:!i&&a?r.cornerTL:r.cornerTR}function so(t,e,n){if(e.x>t.x)return n.arrowRight;if(e.x<t.x)return n.arrowLeft;if(e.y>t.y)return n.arrowDown;if(e.y<t.y)return n.arrowUp}function io(t){let e=t.length;for(;e>0&&t.charCodeAt(e-1)===32;)e-=1;return t.slice(0,e)}function Pn(t){let e=ao(t);uo(e),lo(e),co(e),fo(e,t);let n=mo(e,t),{width:r,height:s}=bo(e),o=[];for(let i of e.layers)for(let a of i)a.isVirtual||o.push({id:a.id,layer:a.layer,order:a.order,x:a.x,y:a.y,w:a.w,h:a.h});return{boxes:o,edges:n,width:r,height:s}}function ao(t){let e=new Map;for(let s of t.nodes)e.set(s,{id:s,isVirtual:!1,layer:-1,order:0,x:0,y:0,w:t.widthCells(s),h:t.heightCells(s),in:[],out:[]});let n=[],r=0;for(let s of t.edges){if(s.from===s.to)continue;let o=e.get(s.from),i=e.get(s.to);if(!o||!i)continue;let a={chainId:r++,chainFrom:s.from,chainTo:s.to,fromId:s.from,toId:s.to,hopIndex:0,chainLen:1};o.out.push(a),i.in.push(a),n.push(a)}return{nodes:e,layers:[],hops:n}}function uo(t){let e=new Map;for(let o of t.nodes.values())e.set(o.id,o.in.length);let n=[];for(let o of t.nodes.values())(e.get(o.id)??0)===0&&(o.layer=0,n.push(o));let r=new Set,s=0;for(;s<n.length;){let o=n[s++];if(!r.has(o.id)){r.add(o.id);for(let i of o.out){let a=t.nodes.get(i.toId);a.layer=Math.max(a.layer,o.layer+1);let d=(e.get(a.id)??0)-1;e.set(a.id,d),d<=0&&n.push(a)}}}for(let o of t.nodes.values())o.layer<0&&(o.layer=0)}function lo(t){let e=Math.max(0,...Array.from(t.nodes.values(),o=>o.layer)),n=Array.from({length:e+1},()=>[]);for(let o of t.nodes.values())n[o.layer].push(o);let r=[],s=0;for(let o of t.hops){let i=t.nodes.get(o.fromId),a=t.nodes.get(o.toId),d=a.layer-i.layer;if(d<=0){i.out=i.out.filter(p=>p!==o),a.in=a.in.filter(p=>p!==o);continue}if(d===1){o.hopIndex=0,o.chainLen=1,r.push(o);continue}i.out=i.out.filter(p=>p!==o),a.in=a.in.filter(p=>p!==o);let u=i;for(let p=1;p<d;p+=1){let f=`__virt_${s++}__`,h={id:f,isVirtual:!0,layer:i.layer+p,order:0,x:0,y:0,w:0,h:1,in:[],out:[]};t.nodes.set(f,h),n[h.layer].push(h);let l={chainId:o.chainId,chainFrom:o.chainFrom,chainTo:o.chainTo,fromId:u.id,toId:f,hopIndex:p-1,chainLen:d};u.out.push(l),h.in.push(l),r.push(l),u=h}let c={chainId:o.chainId,chainFrom:o.chainFrom,chainTo:o.chainTo,fromId:u.id,toId:a.id,hopIndex:d-1,chainLen:d};u.out.push(c),a.in.push(c),r.push(c)}for(let o of n)for(let i=0;i<o.length;i+=1)o[i].order=i;t.layers=n,t.hops=r}function co(t){for(let n=0;n<4;n+=1){for(let r=1;r<t.layers.length;r+=1)Gn(t,t.layers[r],"in"),Tt(t.layers[r]);for(let r=t.layers.length-2;r>=0;r-=1)Gn(t,t.layers[r],"out"),Tt(t.layers[r])}for(let n=0;n<2;n+=1){let r=!1;for(let s=1;s<t.layers.length;s+=1){let o=t.layers[s];for(let i=0;i+1<o.length;i+=1){let a=Ln(t,o[i],o[i+1],"in");[o[i],o[i+1]]=[o[i+1],o[i]],Tt(o),Ln(t,o[i],o[i+1],"in")<a?r=!0:([o[i],o[i+1]]=[o[i+1],o[i]],Tt(o))}}if(!r)break}}function Gn(t,e,n){let r=new Map;for(let s of e){let o=n==="in"?s.in:s.out;if(o.length===0){r.set(s.id,s.order);continue}let i=0,a=0;for(let d of o){let u=t.nodes.get(n==="in"?d.fromId:d.toId);u&&(i+=u.order,a+=1)}r.set(s.id,a===0?s.order:i/a)}e.sort((s,o)=>{let i=r.get(s.id),a=r.get(o.id);return i!==a?i-a:s.order-o.order})}function Tt(t){for(let e=0;e<t.length;e+=1)t[e].order=e}function Ln(t,e,n,r){let s=r==="in"?e.in:e.out,o=r==="in"?n.in:n.out,i=0;for(let a of s)for(let d of o){let u=t.nodes.get(r==="in"?a.fromId:a.toId)?.order??0,c=t.nodes.get(r==="in"?d.fromId:d.toId)?.order??0;(e.order<n.order&&u>c||e.order>n.order&&u<c)&&(i+=1)}return i}function fo(t,e){e.direction==="LR"?po(t,e):ho(t,e)}function po(t,e){let n=[],r=0;for(let s=0;s<t.layers.length;s+=1){n.push(r);let o=0;for(let i of t.layers[s])o=Math.max(o,i.w);r+=o+e.layerGap}for(let s=0;s<t.layers.length;s+=1)for(let o of t.layers[s])o.x=n[s];for(let s of t.layers){let o=0;for(let i of s)i.y=o,o+=i.h+e.nodeGap}$n(t,e,"y")}function ho(t,e){let n=[],r=0;for(let s=0;s<t.layers.length;s+=1){n.push(r);let o=0;for(let i of t.layers[s])o=Math.max(o,i.h);r+=o+e.layerGap}for(let s=0;s<t.layers.length;s+=1)for(let o of t.layers[s])o.y=n[s];for(let s of t.layers){let o=0;for(let i of s)i.x=o,o+=i.w+e.nodeGap}$n(t,e,"x")}function $n(t,e,n){let r=o=>n==="y"?o.h:o.w,s=e.nodeGap;for(let o=0;o<2;o+=1){let i=o===0?t.layers.slice(1):t.layers.slice(0,-1).reverse();for(let a of i){let d=new Map;for(let c of a){let p=o===0?c.in:c.out;if(p.length===0)continue;let f=[];for(let l of p){let m=t.nodes.get(o===0?l.fromId:l.toId);if(!m)continue;let g=n==="y"?m.y:m.x;f.push(g+Math.floor(r(m)/2))}if(f.length===0)continue;f.sort((l,m)=>l-m);let h=f[Math.floor(f.length/2)];d.set(c.id,h-Math.floor(r(c)/2))}let u=0;for(let c of a){let p=d.get(c.id),f=n==="y"?c.y:c.x,l=Math.max(p??f,u);n==="y"?c.y=l:c.x=l,u=l+r(c)+s}}}}function mo(t,e){let n=new Map;for(let u of t.hops){let c=n.get(u.chainId);c?c.push(u):n.set(u.chainId,[u])}for(let u of n.values())u.sort((c,p)=>c.hopIndex-p.hopIndex);let r=e.direction==="LR",s=u=>r?u.x:u.y,o=u=>r?u.w:u.h,i=u=>r?u.y+Math.floor(u.h/2):u.x+Math.floor(u.w/2),a=new Map;for(let u=0;u+1<t.layers.length;u+=1){let c=t.layers[u],p=t.layers[u+1],f=0;for(let N of c)f=Math.max(f,s(N)+o(N));let h=Number.POSITIVE_INFINITY;for(let N of p)h=Math.min(h,s(N));let l=Number.isFinite(h)?h-1:f,m=Math.max(1,l-f+1),g=[];for(let N of c)for(let E of N.out)g.push(E);g.sort((N,E)=>{let L=i(t.nodes.get(N.fromId)),R=i(t.nodes.get(E.fromId));if(L!==R)return L-R;let C=i(t.nodes.get(N.toId)),S=i(t.nodes.get(E.toId));return C-S});let b=[],v=new Map;for(let N of g){let E=i(t.nodes.get(N.fromId)),L=i(t.nodes.get(N.toId)),R=Math.min(E,L),C=Math.max(E,L),S=-1;for(let z=0;z<b.length;z+=1){let Y=b[z],oe=!0;for(let fe of Y)if(fe.lo<=C&&R<=fe.hi){oe=!1;break}if(oe){Y.push({lo:R,hi:C}),S=z;break}}S<0&&(b.push([{lo:R,hi:C}]),S=b.length-1),v.set(N,S)}let y=b.length,T=m>=Math.max(3,y+2),x=T?f+1:f,w=T?l-1:l,_=Math.max(1,w-x+1);for(let N of g){let E=v.get(N),L;if(y<=1)L=x+Math.floor(_/2);else{let R=(_-1)/(y-1);L=x+Math.floor(E*R)}a.set(N,Math.max(f,Math.min(l,L)))}}let d=[];for(let[,u]of n){let c=[];for(let f=0;f<u.length;f+=1){let h=u[f],l=t.nodes.get(h.fromId),m=t.nodes.get(h.toId),g=a.get(h),b=l.isVirtual?s(l):s(l)+o(l),v=m.isVirtual?s(m):s(m)-1,y=i(l),T=i(m);f===0&&xt(c,r,b,y),y!==T&&(xt(c,r,g,y),xt(c,r,g,T)),xt(c,r,v,T)}let p=u[0];d.push({from:p.chainFrom,to:p.chainTo,points:go(c)})}return d}function xt(t,e,n,r){t.push(e?{x:n,y:r}:{x:r,y:n})}function go(t){let e=[];for(let n of t){let r=e[e.length-1];(!r||r.x!==n.x||r.y!==n.y)&&e.push(n)}return e}function bo(t){let e=0,n=0;for(let r of t.layers)for(let s of r)e=Math.max(e,s.x+s.w),n=Math.max(n,s.y+s.h);return{width:e,height:n}}var yo=24,vo=4,To=1,xo=3;function Fn(t,e){let n=wo(e.direction),r=Math.max(3,e.maxLabelWidth??yo),s=e.asciiCharset??"unicode",o=Object.keys(t.nodes).sort(),i=new Set(o),a=t.edges.filter(h=>i.has(h.from)&&i.has(h.to)),d=new Map,u=new Map;for(let h of o){let l=Sn(h,r);d.set(h,l),u.set(h,vt(l)+4)}let c=Pn({nodes:o,edges:a,widthCells:h=>u.get(h)??3,heightCells:()=>xo,layerGap:vo,nodeGap:To,direction:n}),p=Mn(c,{charset:s,labelOf:h=>d.get(h)??h}),f=e.logger;return f&&f(p),p}function wo(t){if(t===void 0||t==="LR")return"LR";if(t==="TD")return"TD";throw new Error(`ascii describe supports direction "LR" or "TD" only; got ${String(t)}`)}function Vn(t,e,n,r={}){let s=e in t.nodes,o=n in t.nodes;if(!s)return wt(e,n,"no-such-from");if(!o)return wt(e,n,"no-such-to");let i=r.maxDepth;if(i!=null&&(!Number.isInteger(i)||i<0))throw new Error("explainPath: maxDepth must be an integer >= 0");if(e===n){if(r.findCycle===!0){let u=_o(t,e,r);if(u!=null)return u}let d=_t(e,t.nodes[e],0,r);return Nt(e,n,[d])}if(i===0)return wt(e,n,"no-path");let a=zn(t,e,n,i);return a.found?Nt(e,n,Bn(t,a.pathOrder,r)):wt(e,n,a.truncated?"max-depth-exceeded":"no-path")}function zn(t,e,n,r){let s=new Map,o=[{path:n,depth:0}],i=new Set([n]),a=0,d=!1;for(;a<o.length;){let p=o[a++];if(p.path===e)break;if(r!=null&&p.depth>=r){let m=t.nodes[p.path];m?.deps&&m.deps.length>0&&(d=!0);continue}let f=t.nodes[p.path];if(f==null)continue;let h=f.deps??[],l=new Map;for(let m=0;m<h.length;m++){let g=h[m];if(!g)continue;let b=l.get(g);b==null&&(b=[],l.set(g,b)),b.push(m)}for(let[m,g]of l)i.has(m)||(i.add(m),s.set(m,{from:p.path,depIndices:g}),o.push({path:m,depth:p.depth+1}))}if(!s.has(e))return{found:!1,pathOrder:[],truncated:d};let u=[{path:e}],c=e;for(;c!==n;){let p=s.get(c);if(p==null)return{found:!1,pathOrder:[],truncated:!1};u[u.length-1].depIndices=p.depIndices,u.push({path:p.from}),c=p.from}return{found:!0,pathOrder:u,truncated:!1}}function _o(t,e,n){let r=t.nodes[e];if(r==null)return null;let s=r.deps??[],o=[];for(let a=0;a<s.length;a++)s[a]===e&&o.push(a);if(o.length>0){let a=_t(e,r,0,n);a.dep_index=o[0];let d=_t(e,r,1,n);return Nt(e,e,[a,d])}let i=null;for(let a=0;a<s.length;a++){let d=s[a];if(!d||d===e)continue;let u=zn(t,d,e,n.maxDepth);u.found&&(i==null||u.pathOrder.length<i.pathOrder.length)&&(i=u,i={found:!0,pathOrder:[{path:e,depIndices:[a]},...u.pathOrder],truncated:!1})}return i==null?null:Nt(e,e,Bn(t,i.pathOrder,n))}function Bn(t,e,n){return e.map((r,s)=>{let o=t.nodes[r.path],i=_t(r.path,o,s,n);return r.depIndices!=null&&r.depIndices.length>0&&(i.dep_index=r.depIndices[0],r.depIndices.length>1&&(i.dep_indices=[...r.depIndices])),i})}function _t(t,e,n,r){let s={path:t,type:e.type,hop:n};e.status!==void 0&&(s.status=e.status),"value"in e&&(s.value=e.value),e.v!=null&&(s.v=e.v);let o=r.annotations?.get(t)??e.annotation;o!=null&&(s.annotation=o);let i=r.lastMutations?.get(t)??e.lastMutation;return i!=null&&(s.lastMutation=i),s}function Nt(t,e,n){return Hn(t,e,!0,"ok",n)}function wt(t,e,n){return Hn(t,e,!1,n,[])}function Hn(t,e,n,r,s){let o=No(t,e,n,r,s);return{from:t,to:e,found:n,reason:r,steps:s,text:o,toJSON(){return{from:t,to:e,found:n,reason:r,steps:s}}}}function No(t,e,n,r,s){if(!n)switch(r){case"no-such-from":return`explainPath: no node named "${t}"`;case"no-such-to":return`explainPath: no node named "${e}"`;case"max-depth-exceeded":return`explainPath: no path from "${t}" to "${e}" within maxDepth`;default:return`explainPath: no path from "${t}" to "${e}"`}let o=[`Causal path: ${t} \u2192 ${e} (${s.length} step(s))`];for(let i of s){let d=` ${i.hop===0?"\xB7":"\u2193"} ${i.path} (${i.type}${i.status?`/${i.status}`:""})`;if(o.push(d),"value"in i&&o.push(` value: ${Eo(i.value)}`),i.annotation!=null&&o.push(` annotation: ${i.annotation}`),i.lastMutation!=null){let u=i.lastMutation.actor;o.push(` actor: ${u.type}${u.id?`:${u.id}`:""}`)}}return o.join(`
3
+ `)}function Eo(t){if(t===void 0)return"<sentinel>";if(t===null)return"null";if(typeof t=="string")return JSON.stringify(t);if(typeof t=="number"||typeof t=="boolean"||typeof t=="bigint")return String(t);try{let e=JSON.stringify(t);return e.length>80?`${e.slice(0,77)}...`:e}catch{return String(t)}}Ne();var X={object:56,array:64,string:40,number:8,boolean:4,null:0,undefined:0,symbol:40,bigint:16,function:120,map:72,set:72,mapEntry:40,setEntry:24,date:24,regexp:48,error:64,url:80,promise:48,weakmap:40,weakset:40},Oo=Symbol.for("sizeof");function jn(t){let e=new WeakSet,n=new WeakSet,r=[t],s=0;for(;r.length>0;){let o=r.pop();s+=ko(o,e,n,r)}return s}function ko(t,e,n,r){if(t==null)return 0;switch(typeof t){case"number":return X.number;case"boolean":return X.boolean;case"string":return X.string+t.length*2;case"bigint":return X.bigint+Ro(t);case"symbol":return X.symbol;case"function":return e.has(t)?0:(e.add(t),X.function);case"undefined":return 0}let o=t;if(e.has(o))return 0;e.add(o);let i=o[Oo];if(typeof i=="function")try{let u=i.call(o);if(typeof u=="number"&&Number.isFinite(u))return u}catch{}if(o instanceof Date)return X.date;if(o instanceof RegExp)return X.regexp+o.source.length*2;if(o instanceof Error){let u=o.message?o.message.length*2:0,c=o.stack?o.stack.length*2:0;return X.error+u+c}if(typeof URL<"u"&&o instanceof URL)return X.url+o.href.length*2;if(typeof Promise<"u"&&o instanceof Promise)return X.promise;if(o instanceof WeakMap)return X.weakmap;if(o instanceof WeakSet)return X.weakset;if(o instanceof Map){let u=X.map;for(let[c,p]of o)u+=X.mapEntry,r.push(c),r.push(p);return u}if(o instanceof Set){let u=X.set;for(let c of o)u+=X.setEntry,r.push(c);return u}if(Array.isArray(o)){let u=X.array+o.length*8;for(let c of o)r.push(c);return u}if(o instanceof ArrayBuffer)return n.has(o)?0:(n.add(o),o.byteLength);if(ArrayBuffer.isView(o)){let u=o;return n.has(u.buffer)?48:(n.add(u.buffer),u.buffer.byteLength+48)}let a=X.object,d=Object.keys(o);for(let u of d){a+=X.string+u.length*2;try{r.push(o[u])}catch{}}return a}function Ro(t){let e=t<0n?-t:t;if(e===0n)return 0;let n=e.toString(2).length;return Math.ceil(n/32)*8}function Et(t,e){let n=e?.topN??10,r=t.describe({detail:"standard"}),s=[],o=t._collectObserveTargets;typeof o=="function"&&o.call(t,"",s);let i=new Map;for(let[f,h]of s)i.set(f,h);let a=[];for(let[f,h]of Object.entries(r.nodes)){let l=i.get(f),m=l instanceof Q?l:null,g=m?jn(m.cache):0,b=m?m._sinkCount:0,v=h.deps?.length??0,y=h.type==="effect"&&b===0,T=b===0?h.type==="effect"?"orphan-effect":h.type==="derived"?"idle-derived":h.type==="producer"?"idle-producer":null:null;a.push({path:f,type:h.type,status:h.status??"unknown",valueSizeBytes:g,subscriberCount:b,depCount:v,isOrphanEffect:y,orphanKind:T})}let d=a.reduce((f,h)=>f+h.valueSizeBytes,0),u=(f,h)=>[...a].sort(h??((l,m)=>m[f]-l[f])).slice(0,n),c=a.filter(f=>f.orphanKind!=null),p=a.filter(f=>f.isOrphanEffect);return{nodeCount:a.length,edgeCount:r.edges.length,subgraphCount:r.subgraphs.length,nodes:a,totalValueSizeBytes:d,hotspots:{byValueSize:u("valueSizeBytes"),bySubscriberCount:u("subscriberCount"),byDepCount:u("depCount")},orphans:c,orphanEffects:p}}var H="::",ce="__meta__",Fe=1;function Kn(t,e){let n=Math.max(16,t.size*4),r=0;for(;t.size>0;){if(r++>=n){console.error(`[Graph "${e}".destroy] disposer drain exceeded cap (${n}); ${t.size} disposer(s) discarded`),t.clear();return}let s=t.values().next();if(s.done)return;let o=s.value;t.delete(o);try{o()}catch(i){console.error(`[Graph "${e}".destroy] disposer threw:`,i)}}}function So(t){let e=[];for(let n of Object.keys(t).sort()){let r=t[n].v;r!=null&&e.push(`${n} ${r.id} ${r.version}`)}return e.join(`
4
+ `)}function Un(t){if(t.version!==Fe)throw new Error(`unsupported snapshot version ${String(t.version)} (expected ${Fe})`);for(let e of["name","nodes","edges","subgraphs"])if(!(e in t))throw new Error(`snapshot missing required key "${e}"`);if(typeof t.name!="string")throw new TypeError("snapshot 'name' must be a string");if(typeof t.nodes!="object"||t.nodes===null||Array.isArray(t.nodes))throw new TypeError("snapshot 'nodes' must be an object");if(!Array.isArray(t.edges))throw new TypeError("snapshot 'edges' must be an array");if(!Array.isArray(t.subgraphs))throw new TypeError("snapshot 'subgraphs' must be an array")}function Co(t,e){let n=new WeakMap,r=(s,o)=>{if(Object.is(s,o))return!0;if(s==null||o==null||typeof s!="object"||typeof o!="object")return!1;let i=n.get(s);if(i==null&&(i=new WeakSet,n.set(s,i)),i.has(o))return!0;i.add(o);let a=s.constructor,d=o.constructor;if(a!==d)return!1;if(s instanceof Date)return s.getTime()===o.getTime();if(s instanceof RegExp)return s.source===o.source&&s.flags===o.flags;if(Array.isArray(s)){let f=o;if(s.length!==f.length)return!1;for(let h=0;h<s.length;h++)if(!r(s[h],f[h]))return!1;return!0}if(s instanceof Map){let f=o;if(s.size!==f.size)return!1;for(let[h,l]of s)if(!f.has(h)||!r(l,f.get(h)))return!1;return!0}if(s instanceof Set){let f=o;if(s.size!==f.size)return!1;for(let h of s){let l=!1;for(let m of f)if(r(h,m)){l=!0;break}if(!l)return!1}return!0}if(ArrayBuffer.isView(s)){let f=s,h=o;if(f.length!==h.length)return!1;for(let l=0;l<f.length;l++)if(f[l]!==h[l])return!1;return!0}let u=Object.keys(s),c=Object.keys(o);if(u.length!==c.length)return!1;let p=new Set(c);for(let f of u)if(!p.has(f)||!r(s[f],o[f]))return!1;return!0};return r(t,e)}function qt(t){if(t===null||typeof t!="object")return t;if(Array.isArray(t))return t.map(qt);let e=t,n=Object.keys(e).sort(),r={};for(let s of n)r[s]=qt(e[s]);return r}function Ao(t){return t.replaceAll("\\","\\\\").replaceAll('"','\\"')}function Do(t){return t.replaceAll("\\","\\\\").replaceAll('"','\\"')}function Mo(t){return t==="TD"?"down":t==="BT"?"up":t==="RL"?"left":"right"}function qn(t){let e=new Set,n=[];function r(s,o){let i=`${s}\0${o}`;e.has(i)||(e.add(i),n.push([s,o]))}for(let[s,o]of Object.entries(t.nodes)){let i=o.deps;if(i)for(let a of i)r(a,s)}for(let s of t.edges)r(s.from,s.to);return n}function Yn(t){if(t===void 0)return"LR";if(t==="TD"||t==="LR"||t==="BT"||t==="RL")return t;throw new Error(`invalid diagram direction ${String(t)}; expected one of: TD, LR, BT, RL`)}function Io(t,e){let n=e.includeEdges??!0,r=e.includeSubgraphs??!0,{expand:s,...o}=t,i={...o,edges:n?t.edges:[],subgraphs:r?t.subgraphs:[]},a=JSON.stringify(qt(i),null,e.indent??2);return e.logger?.(a),a}function Go(t,e){let n=e.includeEdges??!0,r=e.includeSubgraphs??!0,s=[];s.push(`Graph ${t.name}`),s.push("Nodes:");for(let i of Object.keys(t.nodes).sort()){let a=t.nodes[i];s.push(`- ${i} (${a.type}/${a.status}): ${kt(a.value)}`)}if(n){s.push("Edges:");for(let i of t.edges)s.push(`- ${i.from} -> ${i.to}`)}if(r){s.push("Subgraphs:");for(let i of t.subgraphs)s.push(`- ${i}`)}let o=s.join(`
5
+ `);return e.logger?.(o),o}function Jn(t,e){let n=Yn(e.direction),r=Object.keys(t.nodes).sort(),s=new Map;for(let i=0;i<r.length;i+=1)s.set(r[i],`n${i}`);let o=[`flowchart ${n}`];for(let i of r){let a=s.get(i);o.push(` ${a}["${Ao(i)}"]`)}for(let[i,a]of qn(t)){let d=s.get(i),u=s.get(a);!d||!u||o.push(` ${d} --> ${u}`)}return o.join(`
6
+ `)}function Lo(t,e){let n=Jn(t,e);return Qn(n)}function Qn(t,e){let n=e?.theme??"default",r=e?.autoSync??!0,o=JSON.stringify({code:t,mermaid:{theme:n},autoSync:r}),i=new TextEncoder().encode(o),a="";for(let u=0;u<i.length;u++)a+=String.fromCharCode(i[u]);return`https://mermaid.live/edit#base64:${globalThis.btoa(a).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}`}function Po(t,e){let n=Yn(e.direction),r=Object.keys(t.nodes).sort(),s=new Map;for(let i=0;i<r.length;i+=1)s.set(r[i],`n${i}`);let o=[`direction: ${Mo(n)}`];for(let i of r){let a=s.get(i);o.push(`${a}: "${Do(i)}"`)}for(let[i,a]of qn(t)){let d=s.get(i),u=s.get(a);!d||!u||o.push(`${d} -> ${u}`)}return o.join(`
7
+ `)}function $o(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ot(t){let e="^";for(let n=0;n<t.length;n+=1){let r=t[n];if(r==="*"){e+=".*";continue}if(r==="?"){e+=".";continue}if(r==="["){let s=t.indexOf("]",n+1);if(s<=n+1){e+="\\[";continue}let o=t.slice(n+1,s);o.startsWith("!")&&(o=`^${o.slice(1)}`),o=o.replace(/\\/g,"\\\\"),e+=`[${o}]`,n=s;continue}e+=$o(r)}return e+="$",new RegExp(e)}var Fo={data:"\x1B[32m",dirty:"\x1B[33m",resolved:"\x1B[36m",invalidate:"\x1B[93m",pause:"\x1B[90m",resume:"\x1B[96m",complete:"\x1B[34m",error:"\x1B[31m",teardown:"\x1B[91m",derived:"\x1B[35m",path:"\x1B[90m",reset:"\x1B[0m"},Vo={data:"",dirty:"",resolved:"",invalidate:"",pause:"",resume:"",complete:"",error:"",teardown:"",derived:"",path:"",reset:""};function kt(t){if(typeof t=="string")return JSON.stringify(t);if(typeof t=="number"||typeof t=="boolean"||t==null)return String(t);try{return JSON.stringify(t)}catch{return"[unserializable]"}}function zo(t){return t==="none"?Vo:t==="ansi"||t==null?Fo:{data:t.data??"",dirty:t.dirty??"",resolved:t.resolved??"",invalidate:t.invalidate??"",pause:t.pause??"",resume:t.resume??"",complete:t.complete??"",error:t.error??"",teardown:t.teardown??"",derived:t.derived??"",path:t.path??"",reset:t.reset??""}}function Wn(t){if(t==null)return{};let e=t.detail;return e==="full"?{...t,structured:t.structured??!0,timeline:t.timeline??!0,causal:t.causal??!0,derived:t.derived??!0}:e==="minimal"?{...t,structured:t.structured??!0}:t.format==="stage-log"?{...t,structured:t.structured??!0,timeline:t.timeline??!0}:t}function Bo(t,e,n){for(let r=0;r<t.length;r++){let s=t.charCodeAt(r);if(s<32||s===127)throw new Error(`Graph "${e}": ${n} "${t}" must not contain control character (U+${s.toString(16).padStart(4,"0").toUpperCase()} at index ${r})`)}}function Wt(t,e,n){if(t==="")throw new Error(`Graph "${e}": ${n} name must be non-empty`);if(t.includes(H))throw new Error(`Graph "${e}": ${n} "${t}" must not contain '${H}' (path separator)`);if(t===ce)throw new Error(`Graph "${e}": ${n} name "${ce}" is reserved for meta companion paths`);Bo(t,e,n)}function Ho(t,e){if(t==="")throw new Error(`Graph "${e}": resolve path must be non-empty`);let n=t.split(H);for(let r of n)if(r==="")throw new Error(`Graph "${e}": resolve path has empty segment`);return n}function jo(t,e){let n=!1;for(let s of t)if(!e.isMetaPassthrough(s[0])){n=!0;break}return n?t.filter(s=>e.isMetaPassthrough(s[0])):t}function Xn(t){for(let e of t._mounts.values())Xn(e);for(let e of t._nodes.values())try{e.down([[se]],{internal:!0})}catch{}}var de=class t{name;opts;config;_nodes=new Map;_nodeToName=new WeakMap;_mounts=new Map;_parent=void 0;_storageDisposers=new Set;_disposers=new Set;_destroyed=!1;_topology;_topologyEmitters=new Set;constructor(e,n){if(e==="")throw new Error("Graph name must be non-empty");if(e.includes(H))throw new Error(`Graph name must not contain '${H}' (got "${e}")`);if(e===ce)throw new Error(`Graph name "${ce}" is reserved for meta companion paths`);this.name=e,this.opts=Object.freeze({...n??{}}),this.config=n?.config??je,this._traceRing=new nt(n?.traceCapacity??1e3),n?.versioning!=null&&this.setVersioning(n.versioning)}ancestors(e=!0){let n=[],r=e?this:this._parent;for(;r!=null;)n.push(r),r=r._parent;return n}get topology(){return this._topology==null&&(this._topology=Te(e=>{let n=r=>{e.emit(r)};return this._topologyEmitters.add(n),()=>{this._topologyEmitters.delete(n)}},{name:`${this.name}_topology`})),this._topology}_emitTopology(e){if(!(this._topology==null||this._topologyEmitters.size===0))for(let n of this._topologyEmitters)n(e)}add(e,n){let r=e.name,s=n?.name??r;if(s==null||s==="")throw new Error(`Graph "${this.name}": graph.add requires a non-empty name \u2014 pass via opts.name or set it on the node (e.g. state(0, { name: "x" }))`);let o=s,i=n?.annotation;if(Wt(o,this.name,"add"),this._mounts.has(o))throw new Error(`Graph "${this.name}": name "${o}" is already a mount point`);if(this._nodes.has(o))throw new Error(`Graph "${this.name}": node "${o}" already exists`);let a=this._nodeToName.get(e);if(a!==void 0)throw new Error(`Graph "${this.name}": node instance already registered as "${a}"`);return this._nodes.set(o,e),this._nodeToName.set(e,o),this._emitTopology({kind:"added",name:o,nodeKind:"node"}),i!=null&&(this._annotations.set(o,i),this.config.inspectorEnabled&&this._traceRing.push({path:o,annotation:i,timestamp_ns:j()})),e}setVersioning(e){if(e!=null)for(let n of this._nodes.values())n instanceof Q&&n._applyVersioning(e)}remove(e){Wt(e,this.name,"remove");let n=this._mounts.get(e);if(n){let o={kind:"mount",nodes:[],mounts:[]},i=[];n._collectObserveTargets("",i);for(let[a,d]of i)a.includes(`${H}${ce}${H}`)||o.nodes.push(a);return o.nodes.sort(),o.mounts.push(e),o.mounts.push(...n._collectSubgraphs(`${e}${H}`)),this._mounts.delete(e),n._parent=void 0,Xn(n),this._emitTopology({kind:"removed",name:e,nodeKind:"mount",audit:o}),o}let r=this._nodes.get(e);if(!r)throw new Error(`Graph "${this.name}": unknown node or mount "${e}"`);this._nodes.delete(e),this._nodeToName.delete(r),r.down([[se]],{internal:!0});let s={kind:"node",nodes:[e],mounts:[]};return this._emitTopology({kind:"removed",name:e,nodeKind:"node",audit:s}),s}removeAll(e){let n=typeof e=="function"?e:(()=>{let o=Ot(e);return i=>o.test(i)})(),r={kind:"mount",nodes:[],mounts:[]},s=[...this._nodes.keys(),...this._mounts.keys()].filter(o=>n(o));for(let o of s){let i=this.remove(o);r.nodes.push(...i.nodes),r.mounts.push(...i.mounts)}return r.nodes.sort(),r.mounts.sort(),r}[Symbol.iterator](){let e=[...this._nodes.keys()].sort(),n=this._nodes,r=0;return{[Symbol.iterator](){return this},next(){if(r>=e.length)return{value:void 0,done:!0};let s=e[r++];return{value:[s,n.get(s)],done:!1}}}}node(e){if(e==="")throw new Error(`Graph "${this.name}": node name must be non-empty`);if(e.includes(H))return this.resolve(e);let n=this._nodes.get(e);if(!n)throw new Error(`Graph "${this.name}": unknown node "${e}"`);return n}get(e){return this.node(e).cache}set(e,n,r){let s=r?.internal===!0;this.node(e).down([[$,n]],{actor:r?.actor,internal:s,delivery:"write"})}setAll(e,n){let r=Symbol.iterator in e?e:Object.entries(e);le(()=>{for(let[s,o]of r)this.set(s,o,n)})}invalidate(e,n){let r=n?.internal===!0;this.node(e).down([[ye]],{actor:n?.actor,internal:r,delivery:"write"})}error(e,n,r){let s=r?.internal===!0;this.node(e).down([[M,n]],{actor:r?.actor,internal:s,delivery:"write"})}complete(e,n){let r=n?.internal===!0;this.node(e).down([[V]],{actor:n?.actor,internal:r,delivery:"write"})}edges(e){let n=e?.recursive===!0,r=new Map;if(!n){for(let[d,u]of this._nodes)r.set(u,d);let a=[];for(let[d,u]of this._nodes)if(u instanceof Q)for(let c of u._deps){let p=r.get(c.node);p!=null&&a.push([p,d])}return a.sort((d,u)=>d[0]<u[0]?-1:d[0]>u[0]?1:d[1]<u[1]?-1:d[1]>u[1]?1:0),a}let s=[];this._collectObserveTargets("",s);let o=new Map;for(let[a,d]of s)o.set(d,a);let i=[];for(let[a,d]of s)if(d instanceof Q)for(let u of d._deps){let c=o.get(u.node);c!=null&&i.push([c,a])}return i.sort((a,d)=>a[0]<d[0]?-1:a[0]>d[0]?1:a[1]<d[1]?-1:a[1]>d[1]?1:0),i}mount(e,n){if(Wt(e,this.name,"mount"),this._nodes.has(e))throw new Error(`Graph "${this.name}": cannot mount at "${e}" \u2014 node with that name exists`);if(this._mounts.has(e))throw new Error(`Graph "${this.name}": mount "${e}" already exists`);if(n===this)throw new Error(`Graph "${this.name}": cannot mount a graph into itself`);if(n._parent!=null)throw new Error(`Graph "${this.name}": this child graph is already mounted on "${n._parent.name}"`);for(let r=this;r!=null;r=r._parent)if(r===n)throw new Error(`Graph "${this.name}": mount("${e}", \u2026) would create a mount cycle`);return this._mounts.set(e,n),n._parent=this,this._emitTopology({kind:"added",name:e,nodeKind:"mount"}),n}resolve(e){let n=Ho(e,this.name);return this._resolveFromSegments(n)}tryResolve(e){try{return this.resolve(e)}catch{return}}_resolveFromSegments(e){let n=e;if(n[0]===this.name&&(n=n.slice(1),n.length===0))throw new Error(`Graph "${this.name}": resolve path ends at graph name only`);let r=n[0],s=n.slice(1);if(s.length===0){let a=this._nodes.get(r);if(a)return a;throw this._mounts.has(r)?new Error(`Graph "${this.name}": path ends at subgraph "${r}" \u2014 not a node (GRAPHREFLY-SPEC \xA73.5)`):new Error(`Graph "${this.name}": unknown name "${r}"`)}let o=this._nodes.get(r);if(o&&s.length>0&&s[0]===ce)return this._resolveMetaChainFromNode(o,s,n.join(H));let i=this._mounts.get(r);if(!i)throw this._nodes.has(r)?new Error(`Graph "${this.name}": "${r}" is a node; trailing path "${s.join(H)}" is invalid`):new Error(`Graph "${this.name}": unknown mount or node "${r}"`);return i.resolve(s.join(H))}_resolveMetaChainFromNode(e,n,r){let s=e,o=0,i=[...n];for(;o<i.length;){if(i[o]!==ce)throw new Error(`Graph "${this.name}": expected ${ce} segment in meta path "${r}"`);if(o+1>=i.length)throw new Error(`Graph "${this.name}": meta path requires a key after ${ce} in "${r}"`);let a=i[o+1],d=s.meta[a];if(!d)throw new Error(`Graph "${this.name}": unknown meta "${a}" in path "${r}"`);s=d,o+=2}return s}signal(e,n){if(n?.internal!==!0){for(let s of e)if(this.config.messageTier(s[0])===3)throw new Error(`Graph "${this.name}": Graph.signal() rejects tier-3 messages (DATA / RESOLVED). Broadcast is for control-plane tiers (START / DIRTY / INVALIDATE / PAUSE / RESUME / COMPLETE / ERROR / TEARDOWN). For per-node value writes, use Graph.set or graph.node(name).down(...).`)}let r=[];if(this._signalDeliver(e,n??{},new Set,r),r.length>0)throw r[0]}_signalDeliver(e,n,r,s){for(let d of this._mounts.values())d._signalDeliver(e,n,r,s);let i=n.internal===!0?{internal:!0}:{actor:n.actor,delivery:"signal"},a=jo(e,this.config);for(let d of[...this._nodes.keys()].sort()){let u=this._nodes.get(d);if(!r.has(u)){r.add(u);try{u.down(e,i)}catch(c){if(c instanceof ve)throw c;s.push(c)}a.length!==0&&this._signalMetaSubtree(u,a,r,i,s)}}}_signalMetaSubtree(e,n,r,s,o){for(let i of Object.keys(e.meta).sort()){let a=e.meta[i];if(!r.has(a)){r.add(a);try{a.down(n,s)}catch(d){if(d instanceof ve)throw d;o.push(d)}this._signalMetaSubtree(a,n,r,s,o)}}}describe(e){if(e?.reactive===!0)return this._describeReactive(e);let n=e?.actor,r=e?.filter,s=bt(e?.detail,e?.fields),o=e?.format==="spec",i=o?bt("minimal"):s,a=[];this._collectObserveTargets("",a);let d=new Map;for(let[w,_]of a)d.set(_,w);let u=[];{let w=a.map(([,E])=>E),_=new Set(d.values()),N=0;for(;w.length>0;){let E=w.shift();if(E instanceof Q)for(let L of E._deps){let R=L.node;if(d.has(R))continue;let C=R.name??"",S=C;if(!S||_.has(S))if(C){let z=2;for(;_.has(`${C}#${z}`);)z++;S=`${C}#${z}`}else for(S=`__internal__/${N++}`;_.has(S);)S=`__internal__/${N++}`;d.set(R,S),_.add(S),u.push([S,R]),w.push(R)}}}let c=[...a,...u],p={};for(let[w,_]of c){if(n!=null&&!_.allowsObserve(n))continue;let N=Kt(_,i),E=_ instanceof Q?_._deps.map(S=>d.get(S.node)??S.node.name??""):[],{name:L,...R}=N,C={...R,deps:E};if(!o){let S=this._annotations.get(w);S!=null&&(C.annotation=S)}if(r!=null)if(typeof r=="function"){let S=r;if(!(S.length>=2?S(w,C):S(C)))continue}else{let S=!0;for(let[z,Y]of Object.entries(r)){let oe=z==="deps_includes"?"depsIncludes":z==="meta_has"?"metaHas":z;if(oe==="depsIncludes"){if(!C.deps.includes(String(Y))){S=!1;break}continue}if(oe==="metaHas"){if(!Object.hasOwn(C.meta??{},String(Y))){S=!1;break}continue}if(C[oe]!==Y){S=!1;break}}if(!S)continue}p[w]=C}let f=new Set(Object.keys(p)),h=[];for(let[w,_]of c)if(_ instanceof Q)for(let N of _._deps){let E=d.get(N.node);E!=null&&h.push([E,w])}h.sort((w,_)=>w[0]<_[0]?-1:w[0]>_[0]?1:w[1]<_[1]?-1:w[1]>_[1]?1:0);let l=h.map(([w,_])=>({from:w,to:_}));(n!=null||r!=null)&&(l=l.filter(w=>f.has(w.from)&&f.has(w.to)));let m=this._collectSubgraphs(""),g=n!=null||r!=null?m.filter(w=>{let _=`${w}${H}`;return[...f].some(N=>N===w||N.startsWith(_))}):m,b=this,v=e,y={name:this.name,nodes:p,edges:l,subgraphs:g,expand(w){let _={...v,format:void 0};return Array.isArray(w)?(_.fields=w,_.detail=void 0):(_.detail=w,_.fields=void 0),b.describe(_)}},T=e??{},x=T.format;return x==="json"?Io(y,T):x==="pretty"?Go(y,T):x==="mermaid"?Jn(y,T):x==="mermaid-url"?Lo(y,T):x==="d2"?Po(y,T):x==="ascii"?Fn(y,T):y}_collectSubgraphs(e){let n=[];for(let r of[...this._mounts.keys()].sort()){let s=e===""?r:`${e}${r}`;n.push(s),n.push(...this._mounts.get(r)._collectSubgraphs(`${s}${H}`))}return n}resourceProfile(e){return Et(this,e)}reachable(e,n,r={}){return r.withDetail===!0?Yt(this.describe(),e,n,{...r,withDetail:!0}):Yt(this.describe(),e,n,r)}explain(e,n,r){return r?.reactive===!0?this._explainReactive(e,n,r):this._explainStatic(e,n,r)}_explainStatic(e,n,r){let s=this.describe({detail:"full"}),o=new Map(this._annotations),i=new Map;for(let[a,d]of Object.entries(s.nodes))d.lastMutation!=null&&i.set(a,d.lastMutation);return Vn(s,e,n,{...r?.maxDepth!=null?{maxDepth:r.maxDepth}:{},...r?.findCycle===!0?{findCycle:!0}:{},annotations:o,lastMutations:i})}_describeReactive(e){let n={...e,reactive:!1},r=e.reactiveName??"describe",s=0,o=G(s,{name:`${r}_version`}),i=this.observe({timeline:!0,structured:!0}),a=!1,d=!1,u=()=>{a||d||(a=!0,Xe(()=>{a=!1,!d&&(s+=1,o.emit(s))}))},c=i.onEvent(g=>{let b=g.type;b!=="data"&&b!=="error"&&b!=="complete"&&b!=="teardown"||u()}),p=[],f=new WeakSet,h=g=>{if(f.has(g)||d)return;f.add(g);let b=g.topology.subscribe(v=>{for(let y of v){if(y[0]!==$)continue;let T=y[1];if(u(),T.kind==="added"&&T.nodeKind==="mount"){let x=g._mounts.get(T.name);x!=null&&h(x)}}});p.push(b);for(let v of g._mounts.keys()){let y=g._mounts.get(v);y!=null&&h(y)}};h(this);let l;try{l=I([o],()=>this.describe(n),{name:r,describeKind:"derived",meta:{domain:"audit",kind:"describe"},equals:(g,b)=>g===b})}catch(g){c();for(let b of p)b();throw i.dispose(),g}let m=Ee(l);return{node:l,dispose(){d=!0,c();for(let g of p)g();p.length=0,i.dispose(),m()}}}_explainReactive(e,n,r){let s=0,o=G(s,{name:"explain_version"}),i=this.observe({timeline:!0,structured:!0}),a=!1,d=!1,u=i.onEvent(h=>{let l=h.type;l!=="data"&&l!=="error"&&l!=="complete"&&l!=="teardown"||a||d||(a=!0,Xe(()=>{a=!1,!d&&(s+=1,o.emit(s))}))}),c={...r?.maxDepth!=null?{maxDepth:r.maxDepth}:{},...r?.findCycle===!0?{findCycle:!0}:{}},p;try{p=I([o],()=>this._explainStatic(e,n,c),{name:r?.name??"explain",describeKind:"derived",meta:{domain:"audit",kind:"explain_path",from:e,to:n},equals:(h,l)=>h.found===l.found&&h.reason===l.reason&&h.steps.length===l.steps.length&&Ko(h.steps,l.steps)})}catch(h){throw u(),i.dispose(),h}let f=Ee(p);return{node:p,dispose(){d=!0,u(),i.dispose(),f()}}}_pathsMatching(e){let n=Ot(e),r=[];return this._collectObserveTargets("",r),r.map(([s])=>s).filter(s=>n.test(s))}_collectObserveTargets(e,n){for(let r of[...this._mounts.keys()].sort()){let s=e===""?r:`${e}${H}${r}`;this._mounts.get(r)._collectObserveTargets(s,n)}for(let r of[...this._nodes.keys()].sort()){let s=this._nodes.get(r),o=e===""?r:`${e}${H}${r}`;n.push([o,s]),this._appendMetaObserveTargets(o,s,n)}}_appendMetaObserveTargets(e,n,r){for(let s of Object.keys(n.meta).sort()){let o=n.meta[s],i=`${e}${H}${ce}${H}${s}`;r.push([i,o]),this._appendMetaObserveTargets(i,o,r)}}observe(e,n){let r=typeof e=="string",o=Wn(r?n:e),i=o.structured===!0||o.timeline===!0||o.causal===!0||o.derived===!0||o.detail==="minimal"||o.detail==="full"||o.format!=null,a=o.actor;if(r){let c=e,p=this.resolve(c);if(a!=null&&!p.allowsObserve(a))throw new ve({actor:a,action:"observe",nodeName:c});return i?this._buildStructuredObserver([[c,p]],o,"one"):{subscribe(f){return p.subscribe(f)},up(f){try{p.up?.(f)}catch(h){if(h instanceof ve)return;throw h}}}}let d=[];this._collectObserveTargets("",d),d.sort((c,p)=>c[0]<p[0]?-1:c[0]>p[0]?1:0);let u=a==null?d:d.filter(([,c])=>c.allowsObserve(a));return i?this._buildStructuredObserver(u,o,"all"):{subscribe:c=>{let p=u.map(([f,h])=>h.subscribe(l=>{c(f,l)}));return()=>{for(let f of p)f()}},up:(c,p)=>{try{this.resolve(c).up?.(p)}catch(f){if(f instanceof ve)return;throw f}}}}_buildStructuredObserver(e,n,r){let s=r==="one"?e[0]?.[0]:void 0,o=i=>{if(r==="one"&&s!=null){let c=this.resolve(s);return this._buildStructuredObserver([[s,c]],i,"one")}let a=[];this._collectObserveTargets("",a),a.sort((c,p)=>c[0]<p[0]?-1:c[0]>p[0]?1:0);let d=i.actor,u=d==null?a:a.filter(([,c])=>c.allowsObserve(d));return this._buildStructuredObserver(u,i,"all")};return this._createObserveResult(e,n,o)}_createObserveResult(e,n,r){let s=n.timeline===!0,o=n.causal===!0,i=n.derived===!0,a=n.detail==="minimal",d=this.config.inspectorEnabled,u=(o||i)&&d,c=n.maxEvents,p=c!=null&&c>0?new nt(c):null,f=[],h=new Set,l={},m=new Set,g=0,b=0,v=0,y=0,T=0,x=0,w=!1,_=!1,N=0,E=new Map,L=new Map,R=new Map,C=O=>{p?p.push(O):f.push(O);for(let F of h)F(O)},S=()=>s?{timestamp_ns:j(),in_batch:Qe(),batch_id:N}:{},z=(O,F)=>{if(!(!u||!(O instanceof Q)))return O._setInspectorHook(ee=>{if(ee.kind==="dep_message")E.set(O,ee.depIndex);else if(ee.kind==="run"){let B=ee.batchData.map((A,ne)=>A!=null&&A.length>0?A.at(-1):ee.prevData[ne]);L.set(O,B);let te=ee.batchData.map(A=>A!=null?[...A]:void 0);R.set(O,te),i&&C({type:"derived",path:F,dep_values:B,dep_batches:te,...S()})}})},Y=O=>{let F=E.get(O),ee=L.get(O);if(!o||ee==null)return{};let te=(F!=null&&F>=0&&O instanceof Q?O._deps[F]:void 0)?.node,A=te?.v,ne=R.get(O);return{trigger_dep_index:F,trigger_dep_name:te?.name,...A!=null?{trigger_version:{id:A.id,version:A.version}}:{},dep_values:[...ee],...ne!=null?{dep_batches:ne}:{}}},oe=[],fe=[];for(let[O,F]of e){let ee=z(F,O);ee&&oe.push(ee),fe.push(F.subscribe(B=>{N++;for(let te of B){let A=te[0],ne=S();if(A===$){l[O]=te[1];let k=F instanceof Q?F.lastMutation?.actor??ze:ze;C({type:"data",path:O,data:te[1],actor:k,...ne,...Y(F)})}else if(a)A===J?g++:A===q?b++:A===ye?v++:A===xe?y++:A===_e?T++:A===se?x++:A===V&&!m.has(O)?w=!0:A===M&&(_=!0,m.add(O));else if(A===J)g++,C({type:"dirty",path:O,...ne});else if(A===q)b++,C({type:"resolved",path:O,...ne,...Y(F)});else if(A===ye)v++,C({type:"invalidate",path:O,...ne});else if(A===xe)y++,C({type:"pause",path:O,lockId:te[1],...ne});else if(A===_e)T++,C({type:"resume",path:O,lockId:te[1],...ne});else if(A===V)m.has(O)||(w=!0),C({type:"complete",path:O,...ne});else if(A===M){_=!0,m.add(O);let k=F instanceof Q?F.lastMutation?.actor??ze:ze;C({type:"error",path:O,data:te[1],actor:k,...ne})}else A===se&&(x++,C({type:"teardown",path:O,...ne}))}}))}let K=!1,P=()=>{if(!K){K=!0;for(let O of fe)O();for(let O of oe)O();for(let O of Z)O({value:void 0,done:!0});Z.length=0}},U=[],Z=[];h.add(O=>{let F=Z.shift();F?F({value:O,done:!1}):U.push(O)});let pe={get values(){return l},get dirtyCount(){return g},get resolvedCount(){return b},get invalidateCount(){return v},get pauseCount(){return y},get resumeCount(){return T},get teardownCount(){return x},get events(){return p?p.toArray():[...f]},get anyCompletedCleanly(){return w},get anyErrored(){return _},get completedWithoutErrors(){return w&&!_},onEvent(O){return h.add(O),()=>h.delete(O)},dispose:P,expand(O){P();let F={...n};return typeof O=="string"?F.detail=O:Object.assign(F,O),r(Wn(F))},[Symbol.asyncIterator](){return{next(){return U.length>0?Promise.resolve({value:U.shift(),done:!1}):K?Promise.resolve({value:void 0,done:!0}):new Promise(O=>Z.push(O))},return(){return P(),Promise.resolve({value:void 0,done:!0})}}}};return n.format!=null&&this._attachFormatLogger(pe,n),pe}_attachFormatLogger(e,n){let r=n.format;if(r==null)return;let s=n.logger??(l=>console.log(l)),o=n.includeTypes?new Set(n.includeTypes):null,i=n.excludeTypes?new Set(n.excludeTypes):null,a=o==null&&i==null?()=>!0:l=>(o==null||o.has(l))&&(i==null||!i.has(l)),d=zo(n.theme),u=r==="stage-log"?j():0,c=l=>l==null?"":n.stageLabels?.[l]??l,p=(l,m)=>l.length>m?`${l.slice(0,m-1)}\u2026`:l,f=l=>l.type==="data"||l.type==="error"?p(kt(l.data),120):"",h=l=>{if(r==="stage-log"){let _=(j()-u)/1e9,N=c(l.path).padEnd(9);if(l.type==="data"){let E=f(l);return`[${_.toFixed(3)}s] ${N} \u2190${E?` ${E}`:""}`}if(l.type==="error"){let E=f(l);return`[${_.toFixed(3)}s] ${N} \u2717${E?` ${E}`:""}`}return l.type==="complete"?`[${_.toFixed(3)}s] ${N} \u25A0 complete`:`[${_.toFixed(3)}s] ${N} ${l.type}`}if(r==="json")try{return JSON.stringify(l)}catch{return JSON.stringify({type:l.type,path:l.path,data:"[unserializable]"})}let m=d[l.type]??"",g=l.path?`${d.path}${l.path}${d.reset} `:"",b=l.type==="data"||l.type==="error",v=l.type==="pause"||l.type==="resume",y=b?` ${kt(l.data)}`:v?` ${kt(l.lockId)}`:"",T=l.type==="data"||l.type==="resolved"||l.type==="derived"?l:void 0,x=T?.trigger_dep_name!=null?` <- ${T.trigger_dep_name}`:T?.trigger_dep_index!=null?` <- #${T.trigger_dep_index}`:"",w=l.in_batch?" [batch]":"";return`${g}${m}${l.type.toUpperCase()}${d.reset}${y}${x}${w}`};e.onEvent(l=>{a(l.type)&&s(h(l),l)})}addDisposer(e){return this._disposers.add(e),()=>{this._disposers.delete(e)}}destroy(){Kn(this._disposers,this.name),this.signal([[se]],{internal:!0}),Kn(this._storageDisposers,this.name);for(let e of[...this._mounts.values()])e._parent=void 0,e._destroyClearOnly();this._mounts.clear(),this._nodes.clear(),this._parent=void 0,this._destroyed=!0}get destroyed(){return this._destroyed}_destroyClearOnly(){for(let e of[...this._mounts.values()])e._parent=void 0,e._destroyClearOnly();this._mounts.clear(),this._nodes.clear(),this._parent=void 0,this._destroyed=!0}snapshot(e){let{expand:n,...r}=this.describe({detail:"full"}),s={};for(let a of Object.keys(r.nodes).sort()){let{lastMutation:d,guard:u,...c}=r.nodes[a];s[a]=c}let o=[...r.subgraphs].sort(),i={...r,version:1,nodes:s,subgraphs:o};if(e?.format==null)return i;if(e.format==="json-string")return JSON.stringify(i);if(e.format==="bytes"){if(e.codec==null)throw new Error("snapshot({format: 'bytes'}) requires a `codec` name");let a=this.config.lookupCodec(e.codec);if(a==null)throw new Error(`snapshot: codec "${e.codec}" is not registered on this graph's config. Call config.registerCodec(...) before creating nodes.`);return ln(a,a.encode(i))}throw new Error(`snapshot: unknown format "${String(e.format)}"`)}static decode(e,n){let r=n?.config??je,{codec:s,codecVersion:o,payload:i}=cn(e,r);return s.decode(i,o)}restore(e,n){if(Un(e),e.name!==this.name)throw new Error(`Graph "${this.name}": restore snapshot name "${e.name}" does not match this graph`);let r=n?.only==null?null:(Array.isArray(n.only)?n.only:[n.only]).map(o=>Ot(o)),s=n?.includeProducers===!0;for(let o of Object.keys(e.nodes).sort()){if(r!==null&&!r.some(a=>a.test(o)))continue;let i=e.nodes[o];if(i!==void 0){if(!("value"in i)||i.value===void 0){"value"in i&&i.value===void 0&&n?.onError?.(o,new Error(`restore: slice.value is undefined for "${o}" (undefined is the global SENTINEL; not valid DATA)`));continue}if(!(i.type==="derived"||i.type==="effect")&&!(i.type==="producer"&&!s)){if(i.v!=null){let d=this.tryResolve(o)?.v;if(d!=null&&d.id===i.v.id&&d.version===i.v.version)continue}try{this.set(o,i.value)}catch(a){n?.onError?.(o,a)}}}}}static fromSnapshot(e,n){Un(e);let r=typeof n=="function"?n:n?.build,s=typeof n=="function"?void 0:n?.factories,o=new t(e.name);if(r)return r(o),o.restore(e),o;for(let h of[...e.subgraphs].sort((l,m)=>{let g=l.split(H).length,b=m.split(H).length;return g!==b?g-b:l<m?-1:l>m?1:0})){let l=h.split(H),m=o;for(let g of l)m._mounts.has(g)||m.mount(g,new t(g)),m=m._mounts.get(g)}let i=s?Object.entries(s).map(([h,l])=>({re:Ot(h),factory:l})):[],a=h=>{for(let l of i)if(l.re.test(h))return l.factory},d=h=>{let l=h.split(H),m=l.pop();if(m==null||m.length===0)throw new Error(`invalid snapshot path "${h}"`);let g=o;for(let b of l){let v=g._mounts.get(b);if(!v)throw new Error(`unknown mount "${b}" in path "${h}"`);g=v}return[g,m]},u=Object.entries(e.nodes).filter(([h])=>!h.includes(`${H}${ce}${H}`)).sort((h,l)=>h[0]<l[0]?-1:h[0]>l[0]?1:0),c=new Map(u),p=new Map,f=!0;for(;c.size>0&&f;){f=!1;for(let[h,l]of[...c.entries()]){let m=l?.deps??[];if(!m.every(x=>p.has(x)))continue;let[g,b]=d(h),v={...l?.meta??{}},y=a(h),T;if(l?.type==="state")T=G(l.value,{meta:v});else{if(y==null)continue;T=y(b,{path:h,type:l.type,value:l.value,meta:v,deps:m,resolvedDeps:m.map(x=>p.get(x))})}g.add(T,{name:b}),p.set(h,T),c.delete(h),f=!0}}if(c.size>0){let h=[...c.keys()].sort().join(", ");throw new Error(`Graph.fromSnapshot could not reconstruct nodes without build callback: ${h}. Pass matching factories via fromSnapshot(data, { factories: { pattern: factoryFn } }).`)}return o.restore(e),o}toJSON(){return this.snapshot()}attachStorage(e,n={}){let r=e.map(u=>({tier:u,debounceMs:Math.max(0,u.debounceMs??0),compactEvery:Math.max(1,u.compactEvery??10),timer:void 0,seq:0,lastSnapshot:void 0,lastFingerprint:"",disposed:!1,savePending:void 0}));n.autoRestore===!0&&this._cascadeRestore(e,n.onError);let s=(u,c)=>{if(u.disposed)return;let p=So(c.nodes);if(u.lastSnapshot!=null&&p!==""&&p===u.lastFingerprint)return;let f=u.seq+1,h=dt(),g=u.lastSnapshot==null||f%u.compactEvery===0?{mode:"full",snapshot:c,seq:f,timestamp_ns:h,format_version:Fe}:{mode:"diff",diff:Zn(u.lastSnapshot,c),seq:f,timestamp_ns:h,format_version:Fe};if(u.tier.filter&&!u.tier.filter(this.name,g))return;let b;try{b=u.tier.save(this.name,g)}catch(v){n.onError?.(v,u.tier);return}if(b&&typeof b.then=="function"){let T=(u.savePending??Promise.resolve()).then(()=>b,()=>b).then(()=>{u.disposed||(u.seq=f,u.lastSnapshot=c,u.lastFingerprint=p)},x=>{n.onError?.(x,u.tier)});u.savePending=T.finally(()=>{u.savePending===T&&(u.savePending=void 0)})}else u.seq=f,u.lastSnapshot=c,u.lastFingerprint=p},o=(u,c)=>{try{s(u,c)}catch(p){n.onError?.(p,u.tier)}},i=(u,c)=>{if(!c.some(l=>{let m=this.config.messageTier(l[0]);return m>=3&&m<5}))return;if(n.filter){let l=this.tryResolve(u);if(l==null)return;let m=Kt(l,bt("standard"));if(!n.filter(u,m))return}let f,h=()=>(f==null&&(f=this.snapshot()),f);for(let l of r)l.disposed||(l.debounceMs===0?o(l,h()):(l.timer==null&&(l.timer=new yt),l.timer.start(l.debounceMs,()=>{l.disposed||o(l,this.snapshot())})))},a;if(n.paths!=null){let c=(typeof n.paths=="string"?this._pathsMatching(n.paths):n.paths).map(p=>{let f=this.tryResolve(p);return f==null?()=>{}:f.subscribe(h=>i(p,h))});a=()=>{for(let p of c)p()}}else a=this.observe().subscribe((u,c)=>i(u,c));let d=()=>{a();for(let u of r)u.disposed=!0,u.timer?.cancel();this._storageDisposers.delete(d)};return this._storageDisposers.add(d),{dispose:d}}async _cascadeRestore(e,n){for(let r of e){let s;try{s=await r.load(this.name)}catch(i){n?.(i,r);continue}if(s==null||typeof s!="object"||Array.isArray(s))continue;let o=s;try{if(o.mode==="full"&&o.snapshot!=null)return this.restore(o.snapshot),!0;if(o.version===Fe&&o.nodes!=null)return this.restore(o),!0}catch(i){n?.(i,r)}}return!1}static async fromStorage(e,n,r){for(let s of n){let o;try{o=await s.load(e)}catch(d){r?.onError?.(d,s);continue}if(o==null||typeof o!="object"||Array.isArray(o))continue;let i=o,a=i.mode==="full"&&i.snapshot!=null?i.snapshot:i.version===Fe&&i.nodes!=null?i:void 0;if(a!=null)try{return t.fromSnapshot(a,r)}catch(d){r?.onError?.(d,s)}}throw new Error(`Graph.fromStorage: no tier held a restorable record for "${e}" across ${n.length} tier(s)`)}_annotations=new Map;_traceRing;trace(e,n,r){if(e!=null&&n!=null){if(this.tryResolve(e)==null)return;if(this._annotations.set(e,n),this.config.inspectorEnabled){let s={path:e,annotation:n,timestamp_ns:j(),...r?.actor!=null?{actor:r.actor}:{}};this._traceRing.push(s)}return}return e!=null?this.config.inspectorEnabled?this._annotations.get(e):void 0:this.config.inspectorEnabled?this._traceRing.toArray():[]}annotation(e){return this._annotations.get(e)}clearTrace(){this._annotations.clear(),this._traceRing.clear()}pruneTrace(e){let n=this._traceRing.toArray().filter(s=>!e(s)),r=this._traceRing.size-n.length;this._traceRing.clear();for(let s of n)this._traceRing.push(s);return r}static diff(e,n){let r=new Set(Object.keys(e.nodes)),s=new Set(Object.keys(n.nodes)),o=[...s].filter(v=>!r.has(v)).sort(),i=[...r].filter(v=>!s.has(v)).sort(),a=[],d=[];for(let v of r){if(!s.has(v))continue;let y=e.nodes[v],T=n.nodes[v],x=y.v,w=T.v;x!=null&&w!=null&&x.id===w.id&&x.version!==w.version&&d.push({path:v,id:x.id,from:x.version,to:w.version});let _=x!=null&&w!=null&&x.id===w.id&&x.version===w.version;for(let N of["type","status","sentinel"]){let E=y[N],L=T[N];E!==L&&a.push({path:v,field:N,from:E,to:L})}if(!_)for(let N of["value","meta"]){let E=y[N],L=T[N];Co(E,L)||a.push({path:v,field:N,from:E,to:L})}}let u=v=>`${v.from} ${v.to}`,c=new Set(e.edges.map(u)),p=new Set(n.edges.map(u)),f=n.edges.filter(v=>!c.has(u(v))),h=e.edges.filter(v=>!p.has(u(v))),l=new Set(e.subgraphs),m=new Set(n.subgraphs),g=[...m].filter(v=>!l.has(v)).sort(),b=[...l].filter(v=>!m.has(v)).sort();return{nodesAdded:o,nodesRemoved:i,nodesChanged:a,versionChanges:d,edgesAdded:f,edgesRemoved:h,subgraphsAdded:g,subgraphsRemoved:b}}};function Zn(t,e){let n=de.diff(t,e),r={};for(let s of n.nodesAdded){let o=e.nodes[s];o!=null&&(r[s]=o)}return{...n,nodesAddedFull:r}}function Yt(t,e,n,r={}){let s={paths:[],depths:new Map,truncated:!1};if(!e)return r.withDetail?s:[];if(!r.both&&n!=="upstream"&&n!=="downstream")throw new Error('reachable: direction must be "upstream" or "downstream"');let o=r.maxDepth;if(o!=null&&(!Number.isInteger(o)||o<0))throw new Error("reachable: maxDepth must be an integer >= 0");if(o===0)return r.withDetail?s:[];let i=new Map,a=new Map,d=new Map,u=new Map,c=new Set;for(let[y,T]of Object.entries(t.nodes)){if(!y)continue;c.add(y);let x=T.deps??[];i.set(y,x);for(let w of x)w&&(c.add(w),a.has(w)||a.set(w,new Set),a.get(w).add(y))}for(let y of t.edges){if(y==null||typeof y!="object")continue;let T=typeof y.from=="string"?y.from:"",x=typeof y.to=="string"?y.to:"";!T||!x||(c.add(T),c.add(x),u.has(T)||u.set(T,new Set),u.get(T).add(x),d.has(x)||d.set(x,new Set),d.get(x).add(T))}if(!c.has(e))return r.withDetail?s:[];let p=r.both===!0,f=y=>{if(p){let _=i.get(y)??[],N=d.get(y),E=a.get(y),L=u.get(y),R=[..._];return N&&R.push(...N),E&&R.push(...E),L&&R.push(...L),R}if(n==="upstream"){let _=i.get(y)??[],N=d.get(y);return N?[..._,...N]:_}let T=a.get(y),x=u.get(y),w=T?[...T]:[];return x&&w.push(...x),w},h=new Set([e]),l=new Map,m=[{path:e,depth:0}],g=0,b=!1;for(;g<m.length;){let y=m[g++];if(o!=null&&y.depth>=o){f(y.path).length>0&&(b=!0);continue}for(let T of f(y.path))!T||h.has(T)||(h.add(T),l.set(T,y.depth+1),m.push({path:T,depth:y.depth+1}))}let v=[...l.keys()].sort((y,T)=>y<T?-1:y>T?1:0);return r.withDetail?{paths:v,depths:l,truncated:b}:v}function Ko(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++){let r=t[n],s=e[n];if(r.path!==s.path||r.type!==s.type||r.status!==s.status||r.hop!==s.hop||r.dep_index!==s.dep_index||r.annotation!==s.annotation||r.value!==s.value||r.lastMutation!==s.lastMutation)return!1;let o=r.v,i=s.v;if(o!==i&&(o==null||i==null||o.id!==i.id||o.version!==i.version))return!1}return!0}me();Ue();function Jt(t,e){let n=t.cache??0;return n>=e?!1:(t.down([[J],[$,n+1]]),!0)}function qe(t,e,n){return{[t]:!0,[`${t}_type`]:e,...n??{}}}function Qt(t){return t.relatedTo?.[0]??t.summary}Se();Pe();me();ue();var Xt=class{_version=0;_store=new Map;_maxSize;_defaultTtl;constructor(e={}){let{maxSize:n,defaultTtl:r}=e;if(n!==void 0&&n<1)throw new RangeError("maxSize must be >= 1");if(r!==void 0&&r<=0)throw new RangeError("defaultTtl must be positive");this._maxSize=n,this._defaultTtl=r}get version(){return this._version}get size(){return this._store.size}has(e){let n=this._store.get(e);return n===void 0?!1:this._isExpired(n)?(this._store.delete(e),this._version+=1,!1):(this._touchLru(e,n),!0)}get(e){let n=this._store.get(e);if(n!==void 0){if(this._isExpired(n)){this._store.delete(e),this._version+=1;return}return this._touchLru(e,n),n.value}}set(e,n,r){let s=this._resolveExpiresAt(r);this._store.has(e)&&this._store.delete(e),this._store.set(e,{value:n,expiresAt:s}),this._evictLruWhileOver(),this._version+=1}setMany(e,n){let r=this._resolveExpiresAt(n),s=0;try{for(let[o,i]of e)this._store.has(o)&&this._store.delete(o),this._store.set(o,{value:i,expiresAt:r}),s+=1}finally{s>0&&(this._evictLruWhileOver(),this._version+=1)}}delete(e){let n=this._store.delete(e);return n&&(this._version+=1),n}deleteMany(e){let n=0;try{for(let r of e)this._store.delete(r)&&(n+=1)}finally{n>0&&(this._version+=1)}return n}clear(){let e=this._store.size;return e===0?0:(this._store.clear(),this._version+=1,e)}pruneExpired(){let e=j(),n=0;for(let[r,s]of this._store)this._isExpired(s,e)&&(this._store.delete(r),n+=1);return n>0&&(this._version+=1),n}toMap(){let e=j(),n=new Map;for(let[r,s]of this._store)this._isExpired(s,e)||n.set(r,s.value);return n}_resolveExpiresAt(e){let n=e??this._defaultTtl;if(n!==void 0){if(!Number.isFinite(n)||n<=0)throw new RangeError(`MapBackend: ttl must be a positive finite number (got ${n})`);return j()+n*1e9}}_isExpired(e,n){return e.expiresAt===void 0?!1:(n??j())>=e.expiresAt}_touchLru(e,n){this._store.delete(e),this._store.set(e,n)}_evictLruWhileOver(){if(this._maxSize!==void 0)for(;this._store.size>this._maxSize;){let e=this._store.keys().next().value;if(e===void 0)break;this._store.delete(e)}}};function er(t={}){let{name:e,maxSize:n,defaultTtl:r,versioning:s,backend:o,retention:i}=t;if(i&&n!==void 0)throw new RangeError("reactiveMap: `maxSize` (LRU) and `retention` (score-based) are mutually exclusive. Pick one eviction policy.");if(i&&i.archiveThreshold===void 0&&i.maxSize===void 0)throw new RangeError("reactiveMap: `retention` requires at least one of `archiveThreshold` or `maxSize` to trigger archival.");let a=o??new Xt({maxSize:n,defaultTtl:r}),d=G(a.toMap(),{name:e,describeKind:"state",equals:(f,h)=>f===h,...s!=null?{versioning:s}:{}});function u(){let f=a.toMap();le(()=>{d.down([[J]]),d.down([[$,f]])})}function c(){if(!i)return;let f=a.toMap(),h=i.archiveThreshold,l=i.maxSize,m=[];for(let[b,v]of f)m.push({key:b,value:v,score:i.score(b,v)});m.sort((b,v)=>b.score-v.score);let g=new Set;if(h!==void 0)for(let b of m)if(b.score<h)g.add(b.key);else break;if(l!==void 0&&m.length-g.size>l)for(let b of m){if(m.length-g.size<=l)break;g.has(b.key)||g.add(b.key)}if(g.size!==0)for(let b of m)g.has(b.key)&&(i.onArchive?.(b.key,b.value,b.score),a.delete(b.key))}function p(f,h="mutation"){let l=a.version;try{return f()}finally{a.version!==l&&(h==="mutation"&&c(),u())}}return{entries:d,has(f){return p(()=>a.has(f),"read")},get(f){return p(()=>a.get(f),"read")},set(f,h,l){p(()=>a.set(f,h,l?.ttl))},setMany(f,h){p(()=>a.setMany(f,h?.ttl))},delete(f){p(()=>a.delete(f))},deleteMany(f){p(()=>a.deleteMany(f))},clear(){p(()=>a.clear())},pruneExpired(){p(()=>a.pruneExpired())},get size(){return a.size},dispose(){}}}Se();me();ue();var Zt=class{_version=0;_maxSize;_buf;_head=0;_size=0;constructor(e,n){if(n!==void 0&&n<1)throw new RangeError("maxSize must be >= 1");if(this._maxSize=n,n!==void 0){if(this._buf=new Array(n),e&&e.length>0){let r=Math.min(e.length,n),s=e.length-r;for(let o=0;o<r;o++)this._buf[o]=e[s+o];this._size=r}}else this._buf=e?[...e]:[],this._size=this._buf.length}get version(){return this._version}get size(){return this._size}at(e){if(!Number.isInteger(e))return;let n=e>=0?e:this._size+e;if(!(n<0||n>=this._size))return this._maxSize!==void 0?this._buf[(this._head+n)%this._maxSize]:this._buf[n]}append(e){this._rawAppend(e),this._version+=1}appendMany(e){if(e.length===0)return;let n=this._maxSize!==void 0&&e.length>this._maxSize?e.length-this._maxSize:0;for(let r=n;r<e.length;r++)this._rawAppend(e[r]);this._version+=1}clear(){if(this._size===0)return 0;let e=this._size;if(this._maxSize===void 0)this._buf.length=0;else for(let n=0;n<e;n++)this._buf[(this._head+n)%this._maxSize]=void 0;return this._head=0,this._size=0,this._version+=1,e}trimHead(e){if(!Number.isInteger(e)||e<0)throw new RangeError(`trimHead: n must be a non-negative integer (got ${e})`);if(e===0||this._size===0)return 0;let n=Math.min(e,this._size);if(this._maxSize===void 0)this._buf.splice(0,n);else{for(let r=0;r<n;r++)this._buf[(this._head+r)%this._maxSize]=void 0;this._head=(this._head+n)%this._maxSize}return this._size-=n,this._version+=1,n}slice(e,n){if(!Number.isInteger(e)||e<0)throw new RangeError(`slice: start must be a non-negative integer (got ${e})`);if(n!==void 0&&(!Number.isInteger(n)||n<0))throw new RangeError(`slice: stop must be a non-negative integer or undefined (got ${n})`);let r=n===void 0?this._size:Math.min(Math.max(n,0),this._size),s=Math.min(e,this._size);if(s>=r)return[];let o=r-s;if(this._maxSize===void 0)return this._buf.slice(s,r);let i=new Array(o);for(let a=0;a<o;a++)i[a]=this._buf[(this._head+s+a)%this._maxSize];return i}tail(e){if(!Number.isInteger(e)||e<0)throw new RangeError(`tail: n must be a non-negative integer (got ${e})`);if(e===0||this._size===0)return[];let n=Math.min(e,this._size);return this.slice(this._size-n,this._size)}toArray(){if(this._maxSize===void 0)return[...this._buf];let e=new Array(this._size);for(let n=0;n<this._size;n++)e[n]=this._buf[(this._head+n)%this._maxSize];return e}_rawAppend(e){if(this._maxSize===void 0){this._buf.push(e),this._size=this._buf.length;return}this._size<this._maxSize?(this._buf[(this._head+this._size)%this._maxSize]=e,this._size+=1):(this._buf[this._head]=e,this._head=(this._head+1)%this._maxSize)}};function tr(t){return t.subscribe(()=>{})}var Uo=64;function nr(t,e={}){let{name:n,maxSize:r,versioning:s,backend:o}=e,i=o??new Zt(t,r),a=G(i.toArray(),{name:n,describeKind:"state",equals:(l,m)=>l===m,...s!=null?{versioning:s}:{}});function d(){let l=i.toArray();le(()=>{a.down([[J]]),a.down([[$,l]])})}let u=new Map,c=new Map;function p(l,m){return`${l}:${m===void 0?"END":m}`}function f(l){if(l.size<Uo)return;let m=l.keys().next();if(m.done)return;let g=l.get(m.value);g!==void 0&&g.dispose(),l.delete(m.value)}function h(l){let m=i.version;try{return l()}finally{i.version!==m&&d()}}return{entries:a,get size(){return i.size},at(l){return i.at(l)},append(l){h(()=>i.append(l))},appendMany(l){l.length!==0&&h(()=>i.appendMany(l))},clear(){h(()=>i.clear())},trimHead(l){h(()=>i.trimHead(l))},tail(l){if(!Number.isInteger(l)||l<0)throw new RangeError(`tail: n must be a non-negative integer (got ${l})`);let m=u.get(l);if(m!==void 0)return u.delete(l),u.set(l,m),m.node;f(u);let g=I([a],([v])=>{let y=v;return l===0||y.length===0?[]:y.slice(Math.max(0,y.length-l))},{initial:i.tail(l),describeKind:"derived"}),b=tr(g);return u.set(l,{node:g,dispose:b}),g},slice(l,m){if(!Number.isInteger(l)||l<0)throw new RangeError(`slice: start must be a non-negative integer (got ${l})`);if(m!==void 0&&(!Number.isInteger(m)||m<0))throw new RangeError(`slice: stop must be a non-negative integer or undefined (got ${m})`);let g=p(l,m),b=c.get(g);if(b!==void 0)return c.delete(g),c.set(g,b),b.node;f(c);let v=I([a],([T])=>{let x=T;return m===void 0?x.slice(l):x.slice(l,m)},{initial:i.slice(l,m),describeKind:"derived"}),y=tr(v);return c.set(g,{node:v,dispose:y}),v},disposeTail(l){let m=u.get(l);return m===void 0?!1:(m.dispose(),u.delete(l),!0)},disposeSlice(l,m){let g=p(l,m),b=c.get(g);return b===void 0?!1:(b.dispose(),c.delete(g),!0)},disposeAllViews(){for(let l of u.values())l.dispose();u.clear();for(let l of c.values())l.dispose();c.clear()},dispose(){for(let l of u.values())l.dispose();u.clear();for(let l of c.values())l.dispose();c.clear()}}}function rt(t,e){return qe("ai",t,e)}function rr(t){let e=t.match(/^```(?:json)?\s*([\s\S]*?)\s*```[\s\S]*$/);return e?e[1]:t}me();ue();Ue();function or(t){return t!=null&&typeof t=="object"&&"content"in t?String(t.content):typeof t=="string"?t:String(t)}function Wo(t,e=200){return t.length<=e?t:`${t.slice(0,e)}\u2026`}function Rt(t,e,n,r){let s=r?.format??"text",o=r?.name??"prompt_node",i=I(e,d=>{if(d.some(c=>c==null))return[];let u=typeof n=="string"?n:n(...d);return u?[{role:"user",content:u}]:[]},{name:`${o}::messages`,meta:rt("prompt_node")});return we(i,d=>!d||d.length===0?G(null):Te(u=>{let c=!1,p=!1,f,h={model:r?.model,temperature:r?.temperature,maxTokens:r?.maxTokens,systemPrompt:r?.systemPrompt};if(r?.abort){let b=On(r.abort);h.signal=b.signal,f=b.dispose}let l;try{l=t.invoke(d,h)}catch(b){return c=!0,u.down([[M,b]]),()=>{f?.()}}let g=Ke(l).subscribe(b=>{if(!(p||c))for(let v of b){if(c)return;if(v[0]===$){let y=v[1];try{let T=or(y),x=s==="json"?JSON.parse(rr(T)):T;u.emit(x)}catch(T){let x=or(y),w=new Error(`promptNode: failed to parse LLM response as JSON: ${T.message}
8
+ Raw content (first 200 chars): ${Wo(x)}`);c=!0,u.down([[M,w]]);return}}else if(v[0]===M){c=!0,u.down([[M,v[1]]]);return}else if(v[0]===V){c=!0,u.down([[V]]);return}else u.down([v])}});return()=>{p=!0,g(),f?.()}},{name:`${o}::call`,meta:rt("prompt_node::call")}),{name:`${o}::output`,meta:r?.meta?{...rt("prompt_node::output"),...r.meta}:rt("prompt_node::output")})}ut();Se();et();me();ue();function en(t,e){if(!Number.isFinite(t)||!Number.isInteger(t)||t<0)throw new Error(`${e} must be a non-negative integer`);return t}function ot(t,e){return qe("messaging",t,e)}var De=class extends de{_log;events;latest;hasLatest;constructor(e,n={}){super(e,n.graph),this._log=nr([],{name:"events",maxSize:n.retainedLimit}),this.events=this._log.entries,this.add(this.events,{name:"events"}),this.latest=I([this.events],([r])=>{let s=r;return s.length===0?null:s[s.length-1]},{name:"latest",describeKind:"derived",meta:ot("topic_latest")}),this.add(this.latest,{name:"latest"}),this.addDisposer(Ee(this.latest)),this.hasLatest=I([this.events],([r])=>r.length>0,{name:"hasLatest",describeKind:"derived",meta:ot("topic_has_latest")}),this.add(this.hasLatest,{name:"hasLatest"}),this.addDisposer(Ee(this.hasLatest)),this.addDisposer(()=>{this.events.down([[V]])}),this.addDisposer(()=>this._log.disposeAllViews())}publish(e){this._log.append(e)}retained(){return this.events.cache}},tn=class extends de{source;cursor;available;topic;constructor(e,n,r={}){super(e,r.graph);let s=en(r.cursor??0,"subscription cursor");this.topic=n;let o=n.events;this.source=I([o],([i])=>i,{name:"source",describeKind:"derived",meta:ot("subscription_source"),initial:o.cache}),this.add(this.source,{name:"source"}),this.cursor=G(s,{name:"cursor",describeKind:"state",meta:ot("subscription_cursor")}),this.add(this.cursor,{name:"cursor"}),this.available=I([this.source,this.cursor],([i,a])=>{let d=i,u=Math.max(0,Math.trunc(a??0));return d.slice(u)},{name:"available",describeKind:"derived",meta:ot("subscription_available"),initial:[]}),this.add(this.available,{name:"available"}),this.addDisposer(Ee(this.source)),this.addDisposer(Ee(this.available))}ack(e){let n=this.available.cache,r=e===void 0?n.length:en(e,"subscription ack count"),s=Math.min(r,n.length);if(s<=0)return this.cursor.cache;let o=this.cursor.cache+s;return this.cursor.emit(o),o}pull(e,n={}){let r=this.available.cache,s=e===void 0?r.length:en(e,"subscription pull limit"),o=r.slice(0,s);return n.ack&&o.length>0&&this.ack(o.length),o}};var nn=class extends de{_topics=new Map;_version=0;_defaultTopicOptions;constructor(e,n={}){super(e,n.graph),this._defaultTopicOptions={...n.defaultTopicOptions??{}}}get version(){return this._version}get size(){return this._topics.size}has(e){return this._topics.has(e)}topicNames(){return this._topics.keys()}topic(e,n){let r=this._topics.get(e);if(r===void 0){let s={...this._defaultTopicOptions,...n??{}};r=new De(e,s),this._topics.set(e,r),this.mount(e,r),this._version+=1}return r}publish(e,n){this.topic(e).publish(n)}publishMany(e){le(()=>{for(let[n,r]of e)this.topic(n).publish(r)})}subscribe(e,n,r){let s=this.topic(n);return new tn(e,s,r)}removeTopic(e){if(!this._topics.has(e))return!1;try{this.remove(e)}finally{this._topics.delete(e),this._version+=1}return!0}};function sr(t,e){return new nn(t,e)}Se();me();Ne();ue();function qo(t,e){if(typeof e=="string")return{node:t.resolve(e),path:e};let n=Yo(t,e);if(!n)throw new Error("orchestration dep node must already be registered in the graph so explicit edges can be recorded; pass a string path or register the node first");return{node:e,path:n}}function Yo(t,e){let n=t.describe(),r=`::${ce}::`;for(let s of Object.keys(n.nodes).sort())if(!s.includes(r))try{if(t.resolve(s)===e)return s}catch{}}function Jo(t,e,n,r){t.add(n,{name:e})}function Qo(t,e){return qe("orchestration",t,e)}function ir(t,e,n,r){let s=r?.maxPending??1/0;if(s<1&&s!==1/0)throw new RangeError("gate: maxPending must be >= 1");let o=r?.startOpen??!1,i=qo(t,n),a=G([],{name:"pending",equals:()=>!1}),d=G(o,{name:"isOpen"}),u=I([a],([x])=>x.length,{name:"count"}),c=[],p=!1,f=o,h=d.subscribe(x=>{for(let w of x)w[0]===$&&(f=w[1])});function l(){a.emit([...c])}function m(x){c.push(x),c.length>s&&c.shift(),l()}function g(x){let w=c.splice(0,x);return l(),w}function b(x){if(p)throw new Error(`gate: ${x}() called after gate was torn down`)}let v=ie([i.node],(x,w,_)=>{let N=_.terminalDeps[0];if(N!==void 0){p=!0,c=[],l(),w.down(N===!0?[[V]]:[[M,N]]);return}let E=x[0];if(E==null||E.length===0){w.down([[q]]);return}for(let L of E)f?w.emit(L):(m(L),w.down([[q]]))},{name:e,describeKind:"derived",meta:Qo("gate",r?.meta)}),y={node:v,pending:a,count:u,isOpen:d,approve(x=1){b("approve");let w=g(x);for(let _ of w){if(p)break;v.emit(_)}},reject(x=1){b("reject"),g(x)},modify(x,w=1){b("modify");let _=[...c],N=g(w);for(let E=0;E<N.length&&!p;E++)v.emit(x(N[E],E,_))},open(){b("open"),le(()=>{d.emit(!0);let x=g(c.length);for(let w of x){if(p)break;v.emit(w)}})},close(){b("close"),d.emit(!1)}};t.addDisposer(u.subscribe(()=>{})),t.addDisposer(h),Jo(t,e,v,i.path?[i.path]:[]);let T=new de(`${e}_state`);return T.add(a,{name:"pending"}),T.add(d,{name:"isOpen"}),T.add(u,{name:"count"}),t.mount(`${e}_state`,T),y}function ar(t,e,n,r=0){if(!Number.isFinite(t))return r;if(!Number.isFinite(e)||e<=0||!Number.isFinite(n)||n<=0)return Math.max(r,t);let s=t*Math.exp(-n*e);return Math.max(r,s)}Pe();ue();var Me=["auto-fix","needs-decision","investigation","backlog"];function st(t,e){return`${t}\u2192${e}`}function rn(t){let e=t.detail.toLowerCase();return e.includes("parse")||e.includes("json")||e.includes("config")||e.includes("validation")||e.includes("syntax")?"self-correctable":"structural"}var on={critical:100,high:70,medium:40,low:10},sn=Math.LN2/(168*3600),an={"auto-fix":{gated:!1},"needs-decision":{gated:!0},investigation:{gated:!0},backlog:{gated:!1,startOpen:!1}};function un(){let t=er({name:"strategy-entries"}),e=I([t.entries],([i])=>{let a=i;return new Map(a)},{name:"strategy-model",equals:(i,a)=>{let d=i,u=a;if(d.size!==u.size)return!1;for(let[c,p]of d){let f=u.get(c);if(!f||p.attempts!==f.attempts||p.successes!==f.successes)return!1}return!0}});function n(i,a,d){let u=st(i,a),c=t.get(u),p=(c?.attempts??0)+1,f=(c?.successes??0)+(d?1:0);t.set(u,{rootCause:i,intervention:a,attempts:p,successes:f,successRate:f/p})}function r(i,a){return t.get(st(i,a))}let s=e.subscribe(()=>{});function o(){s()}return{node:e,record:n,lookup:r,dispose:o}}function Xo(t,e,n,r,s){let o={...on,...s?.severityWeights},i=s?.decayRate??sn,a=s?.effectivenessThreshold??.7,d=s?.effectivenessBoost??15,u=[t,e,n];return r&&u.push(r),I(u,c=>{let p=c[0],f=c[1],h=c[2],l=r?c[3]:0,m=o[p.severity??"medium"],g=(j()-h)/1e9,b=ar(m,g,i,0),v=st(p.rootCause,p.intervention),y=f.get(v);return y&&y.successRate>=a&&(b+=d),b+=l*20,b},{name:"priority-score"})}var Zo=`You are a triage classifier for a reactive collaboration harness.
8
9
 
9
10
  Given an intake item, classify it and output JSON:
10
11
  {
@@ -19,7 +20,7 @@ Strategy model (past effectiveness):
19
20
  {{strategy}}
20
21
 
21
22
  Intake item:
22
- {{item}}`,Xo=`You are an implementation agent.
23
+ {{item}}`,es=`You are an implementation agent.
23
24
 
24
25
  Given a triaged issue with root cause and intervention type, produce a fix.
25
26
 
@@ -30,7 +31,7 @@ Output JSON:
30
31
  {
31
32
  "outcome": "success" | "failure" | "partial",
32
33
  "detail": "<description of what was done or what failed>"
33
- }`,Zo=`You are a QA reviewer.
34
+ }`,ts=`You are a QA reviewer.
34
35
 
35
36
  Given an execution result, verify whether the fix is correct.
36
37
 
@@ -45,5 +46,5 @@ Output JSON:
45
46
  "verified": true/false,
46
47
  "findings": ["<finding1>", ...],
47
48
  "errorClass": "self-correctable" | "structural" // only if verified=false
48
- }`;function ir(t,e){let n=e??(r=>Xo.replace("{{item}}",JSON.stringify(r)));return r=>kt(t,[r],n,{name:"execute",format:"json",retries:1})}function ar(t,e){let n=e??(r=>{let[s,o]=r;return Zo.replace("{{execution}}",JSON.stringify(s)).replace("{{item}}",JSON.stringify(o))});return r=>kt(t,[r],n,{name:"verify",format:"json",retries:1})}var Rt=class extends de{intake;queues;gates;strategy;verifyResults;totalRetries;totalReingestions;constructor(e,n,r,s,o,i,a,d){super(e),this.intake=n,this.queues=r,this.gates=s,this.strategy=o,this.verifyResults=i,this.totalRetries=a,this.totalReingestions=d}};function es(t,e){let n=e.adapter,r=e.maxRetries??2,s=e.retainedLimit??1e3,o=e.errorClassifier??nn,i=new Map;for(let L of Ae)i.set(L,{...sn[L],...e.queues?.[L]});let a=new De("intake",{retainedLimit:s}),d=an(),u=et(a.latest,d.node),c=kt(n,[u],e.triagePrompt??(L=>{let[U,Z]=L;return U?Qo.replace("{{strategy}}",JSON.stringify(Array.from(Z.entries()))).replace("{{item}}",JSON.stringify(U)):""}),{name:"triage",format:"json",retries:1}),p=new Map;for(let L of Ae)p.set(L,new De(`queue/${L}`,{retainedLimit:s}));let f=et(c,u),l=ae([f],([L])=>{if(L==null)return;let[U,Z]=L;if(!U?.route)return;let pe=Z?.[0],O={...U,...pe},P=p.get(O.route);P&&P.publish(O)}).subscribe(()=>{}),m=new de("gates"),g=new Map;for(let L of Ae){let U=i.get(L),Z=p.get(L);if(U.gated){m.add(Z.latest,{name:`${L}/source`});let pe=or(m,`${L}/gate`,`${L}/source`,{maxPending:U.maxPending,startOpen:U.startOpen});g.set(L,pe)}}let b=new De("retry-input",{retainedLimit:s}),v=[];for(let L of Ae)i.get(L).gated&&g.has(L)?v.push(g.get(L).node):v.push(p.get(L).latest);v.push(b.latest);let y=En(...v),x=(e.executor??ir(n,e.executePrompt))(y),w=et(x,y),_=new De("verify-results",{retainedLimit:s}),E=(e.verifier??ar(n,e.verifyPrompt))(w),G=et(E,w),R=e.maxReingestions??1,C=Math.min(e.maxTotalRetries??r*10,100),S=Math.min(e.maxTotalReingestions??R*10,100),V=A(0),Y=A(0),fe=ie([G],(L,U)=>{let Z=L[0];if(Z==null||Z.length===0)return;let pe=Z[Z.length-1];if(pe==null)return;let[O,P]=pe,[ee,B]=P??[null,null];if(!O||!B)return;let te={item:B,outcome:ee?.outcome??"failure",detail:ee?.detail??"unknown",artifact:ee?.artifact},M={item:B,execution:te,verified:O.verified,findings:O.findings??[],errorClass:O.errorClass};if(M.verified){d.record(B.rootCause,B.intervention,!0),_.publish(M);return}let ne=M.errorClass??o({item:B,outcome:"failure",detail:M.findings.join("; ")}),k=B._retries??0;if(ne==="self-correctable"&&k<r&&Yt(V,C)){let D=Jt(B),W={...B,_retries:k+1,summary:`[RETRY ${k+1}/${r}] ${D} \u2014 Previous attempt failed: ${M.findings.join("; ")}`,relatedTo:[D]};b.publish(W)}else{d.record(B.rootCause,B.intervention,!1),_.publish(M);let D=Jt(B),W=B._reingestions??0;W<R&&Yt(Y,S)&&a.publish({source:"eval",summary:`Verification failed for: ${D}`,evidence:M.findings.join(`
49
- `),affectsAreas:B.affectsAreas,affectsEvalTasks:B.affectsEvalTasks,severity:"high",relatedTo:[D],_reingestions:W+1})}}).subscribe(()=>{}),K=new Rt(t,a,p,g,d,_,V,Y);K.addDisposer(l),K.addDisposer(fe),K.addDisposer(d.dispose),K.add(c,{name:"triage"}),K.add(x,{name:"execute"}),K.add(E,{name:"verify"}),K.add(d.node,{name:"strategy"}),K.mount("intake",a);for(let[L,U]of p)K.mount(`queue/${L}`,U);return K.mount("gates",m),K.mount("retry-input",b),K.mount("verify-results",_),K}function ts(t,e){let n=Nt(t,e),r={};for(let[s,o]of t.queues)r[s]=o.retained().length;return{...n,queueDepths:r,strategyEntries:t.strategy.node.cache?.size??0,totalRetries:t.totalRetries.cache??0,totalReingestions:t.totalReingestions.cache??0}}ue();Se();Pe();ye();Ne();ue();function ns(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.subscribe=="function"&&typeof e.down=="function"&&typeof e.emit=="function"}function rs(t,e){if(t.length===0)return{best:null,bestScore:Number.NEGATIVE_INFINITY};if(t.length===1){let o=os(e);return{best:t[0],bestScore:o}}if(e.some(o=>typeof o.candidateIndex=="number")){let o=new Array(t.length);for(let d=0;d<t.length;d++)o[d]={sum:0,count:0};for(let d of e){let u=d.candidateIndex;typeof u=="number"&&u>=0&&u<t.length&&(o[u].sum+=d.score,o[u].count+=1)}let i=t[0],a=o[0].count>0?o[0].sum/o[0].count:Number.NEGATIVE_INFINITY;for(let d=1;d<t.length;d++){let u=o[d].count>0?o[d].sum/o[d].count:Number.NEGATIVE_INFINITY;u>a&&(a=u,i=t[d])}return{best:i,bestScore:a}}let r=t[0],s=e[0]?.score??Number.NEGATIVE_INFINITY;for(let o=1;o<t.length;o++){let i=e[o]?.score??Number.NEGATIVE_INFINITY;i>s&&(s=i,r=t[o])}return{best:r,bestScore:s}}function os(t){if(t.length===0)return Number.NEGATIVE_INFINITY;let e=0;for(let n of t)e+=n.score;return e/t.length}function ur(t,e,n,r){let s=r.name??"refine-loop",o=new de(s,r.graph),i=ns(r.dataset)?r.dataset:A(r.dataset,{name:"dataset"});o.add(i,{name:"dataset"});let a=A(0,{name:"iteration"});o.add(a,{name:"iteration"});let d=A(n,{name:"strategy",equals:()=>!1});o.add(d,{name:"strategy"});let u=A(null,{name:"lastFeedback"});o.add(u,{name:"lastFeedback"});let c=A([],{name:"prevCandidates"});o.add(c,{name:"prevCandidates"});let p=A(!1,{name:"paused"});o.add(p,{name:"paused"});let f=A("running",{name:"status"});o.add(f,{name:"status"});let h=A([],{name:"history",equals:()=>!1});o.add(h,{name:"history"});let l=A(null,{name:"best"});o.add(l,{name:"best"});let m=A(Number.NEGATIVE_INFINITY,{name:"score"});o.add(m,{name:"score"});let g=A(0,{name:"budget-used"});o.add(g,{name:"budget-used"});let b=rr("stages");o.mount("stages",b);let v=b.topic("generate"),y=b.topic("evaluate"),T=b.topic("analyze"),x=b.topic("decide"),w=n,_=null,N=[];o.addDisposer(d.subscribe(k=>{for(let D of k)D[0]===F&&(w=D[1])})),o.addDisposer(u.subscribe(k=>{for(let D of k)D[0]===F&&(_=D[1])})),o.addDisposer(c.subscribe(k=>{for(let D of k)D[0]===F&&(N=D[1])}));let E=we(a,k=>{let D=w,W=k===0||_==null;return ie([],(re,he)=>{let Oe=!1;try{let ke=W?D.seed(t):D.generate(_,N);if(ke instanceof Promise)return ke.then(Ve=>{Oe||he.emit(Ve)},Ve=>{Oe||he.down([[$,Ve]])}),()=>{Oe=!0};he.emit(ke)}catch(ke){Oe=!0,he.down([[$,ke]])}},{describeKind:"producer"})},{name:"candidates"});o.add(E,{name:"candidates"});let G=ae([E],(k,D,W)=>{let re=W.terminalDeps[0];re!==void 0&&re!==!0&&f.emit("errored")},{name:"error-watcher",errorWhenDepsError:!1});o.add(G,{name:"error-watcher"}),o.addDisposer(G.subscribe(()=>{}));let R=I([E,a],([k,D])=>({iteration:D,candidates:k,timestamp_ns:j()}),{name:"generate-event"});o.add(R,{name:"generate-event"}),o.addDisposer(R.subscribe(()=>{}));let C=ae([R],([k])=>{v.publish(k)},{name:"generate-publish"});o.add(C,{name:"generate-publish"}),o.addDisposer(C.subscribe(()=>{}));let S=ae([E],([k])=>{c.emit(k)},{name:"generate-mirror"});o.add(S,{name:"generate-mirror"}),o.addDisposer(S.subscribe(()=>{}));let V=e(E,i);o.add(V,{name:"scores"});let Y=I([V,E,a],([k,D,W])=>({iteration:W,candidates:D,scores:k,timestamp_ns:j()}),{name:"evaluate-event"});o.add(Y,{name:"evaluate-event"}),o.addDisposer(Y.subscribe(()=>{}));let oe=ae([Y],([k])=>{y.publish(k)},{name:"evaluate-publish"});o.add(oe,{name:"evaluate-publish"}),o.addDisposer(oe.subscribe(()=>{}));let fe=I([V,E],([k,D])=>w.analyze(k,D),{name:"feedback"});o.add(fe,{name:"feedback"});let K=I([fe,E,a],([k,D,W])=>({iteration:W,candidates:D,feedback:k,timestamp_ns:j()}),{name:"analyze-event"});o.add(K,{name:"analyze-event"}),o.addDisposer(K.subscribe(()=>{}));let L=ae([K],([k])=>{T.publish(k)},{name:"analyze-publish"});o.add(L,{name:"analyze-publish"}),o.addDisposer(L.subscribe(()=>{}));let U=I([h],([k])=>{let D=k;if(r.patience==null||D.length<=r.patience)return!1;let W=D.slice(-(r.patience+1)),re=W[0].bestScore;return W.slice(1).every(he=>he.bestScore<=re)},{name:"patience-check"});o.add(U,{name:"patience-check"});let Z=I([m],([k])=>r.minScore!=null&&k>=r.minScore,{name:"min-score-check"});o.add(Z,{name:"min-score-check"});let pe=I([h],([k])=>{let D=k;if(r.minDelta==null||D.length<2)return!1;let W=D[D.length-2].bestScore,re=D[D.length-1].bestScore;return Math.abs(re-W)<r.minDelta},{name:"min-delta-check"});o.add(pe,{name:"min-delta-check"});let O=I([g],([k])=>r.maxEvaluations!=null&&k>=r.maxEvaluations,{name:"max-evaluations-check"});o.add(O,{name:"max-evaluations-check"});let P=I([a],([k])=>r.maxIterations!=null&&k>=r.maxIterations,{name:"max-iterations-check"});o.add(P,{name:"max-iterations-check"});let ee=I([g],([k])=>r.budget!=null&&k>=r.budget,{name:"budget-exhausted-check"});o.add(ee,{name:"budget-exhausted-check"}),o.addDisposer(U.subscribe(()=>{})),o.addDisposer(Z.subscribe(()=>{})),o.addDisposer(pe.subscribe(()=>{})),o.addDisposer(O.subscribe(()=>{})),o.addDisposer(P.subscribe(()=>{})),o.addDisposer(ee.subscribe(()=>{}));let B=I([U,Z,pe,O,P],([k,D,W,re,he])=>k?{converged:!0,reason:"patience"}:D?{converged:!0,reason:"min-score"}:W?{converged:!0,reason:"min-delta"}:re?{converged:!0,reason:"max-evaluations"}:he?{converged:!0,reason:"max-iterations"}:{converged:!1},{name:"converged"});o.add(B,{name:"converged"}),o.addDisposer(B.subscribe(()=>{}));let te=-1,M=ae([fe,V,E],([k,D,W])=>{let re=a.cache,he=k,Oe=W,ke=D;if(re<=te)return;te=re;let{best:Ve,bestScore:lr}=rs(Oe,ke),cr=h.cache,fr={n:re,candidates:Oe,scores:ke,feedback:he,best:Ve,bestScore:lr,timestamp_ns:j()},Re=[...cr,fr],St=g.cache+Oe.length,me="continue",Ie,pr=r.budget!=null&&St>=r.budget,hr=p.cache;if(pr)me="budget",Ie="budget";else if(r.minScore!=null&&he.score>=r.minScore)me="converged",Ie="min-score";else if(r.maxIterations!=null&&re>=r.maxIterations)me="converged",Ie="max-iterations";else if(r.maxEvaluations!=null&&St>=r.maxEvaluations)me="converged",Ie="max-evaluations";else if(r.minDelta!=null&&Re.length>=2){let ot=Re[Re.length-2].bestScore,Ct=Re[Re.length-1].bestScore;Math.abs(Ct-ot)<r.minDelta&&(me="converged",Ie="min-delta")}else if(r.patience!=null&&Re.length>r.patience){let ot=Re.slice(-(r.patience+1)),Ct=ot[0].bestScore;ot.slice(1).every(mr=>mr.bestScore<=Ct)&&(me="converged",Ie="patience")}me==="continue"&&hr&&(me="paused"),le(()=>{l.emit(Ve),m.emit(he.score),h.emit(Re),g.emit(St),u.emit(he),x.publish({iteration:re,decision:me,reason:Ie,timestamp_ns:j()}),me==="continue"?a.emit(re+1):f.emit(me==="converged"?"converged":me==="budget"?"budget":"paused")})},{name:"decide-bridge"});return o.add(M,{name:"decide-bridge"}),o.addDisposer(M.subscribe(()=>{})),Object.assign(o,{best:l,score:m,status:f,history:h,strategy:d,iteration:a,generate:v,evaluate:y,analyze:T,decide:x,setStrategy(k){d.emit(k)},pause(){p.emit(!0)},resume(){f.cache==="paused"&&le(()=>{p.emit(!1),f.emit("running"),a.emit(a.cache+1)})}})}function ss(t){let{best:e,score:n,status:r}=t,s=Number.isFinite(n)?n.toFixed(3):String(n);return r==="converged"?{outcome:"success",detail:`refineLoop converged at score ${s}`,artifact:e}:r==="budget"?{outcome:"partial",detail:`refineLoop hit budget at score ${s}`,artifact:e}:{outcome:"failure",detail:`refineLoop errored (status=${r})`,artifact:e}}function is(t){let e=t.name??"refine-executor",n=t.toOutput??ss;return r=>{let s=Ke(r,i=>i!=null),o=we(s,i=>{let a=ur(t.seedFrom(i),t.evaluator,t.strategy,{...t.refine,dataset:t.datasetFor(i),name:`${e}/inner`});return I([a.status,a.best,a.score],([d,u,c])=>{let p=d;return p!=="converged"&&p!=="budget"&&p!=="errored"?null:n({best:u,score:c,status:p})},{name:`${e}/output`})},{name:e});return Ke(o,i=>i!=null)}}Pe();function as(t){let e={"intake::latest":"INTAKE",triage:"TRIAGE",execute:"EXECUTE","verify-results::latest":"VERIFY",strategy:"STRATEGY"};for(let n of Ae)e[`queue/${n}::latest`]="QUEUE";for(let[n]of t.gates)e[`gates::${n}/gate`]="GATE";return e}function us(t,e){let n=e?.logger===null?null:e?.logger??console.log,r=e?.detail??"summary",s=j(),o=[],i=[],a=as(t);function d(){return(j()-s)/1e9}function u(c,p,f){let h={elapsed:d(),stage:c,type:p};r!=="summary"&&(h.summary=ds(f)),r==="full"&&(h.data=f),i.push(h)}for(let[c,p]of Object.entries(a))try{let f=t.observe(c,{format:"stage-log",stageLabels:a,logger:n?h=>n(h):()=>{},includeTypes:["data","error","complete"]});f.onEvent(h=>{h.type==="data"?u(p,"data",h.data):h.type==="error"?u(p,"error",h.data):h.type==="complete"&&u(p,"complete",void 0)}),o.push(f)}catch(f){let h=f instanceof Error?f.message:String(f);u(p,"error",`observe-unavailable: ${c} \u2014 ${h}`),n&&n(`[${d().toFixed(3)}s] ${p.padEnd(9)} \u2717 observe-unavailable: ${h}`)}return{get events(){return i},dispose(){for(let c of o)c.dispose();o.length=0}}}function ds(t){if(t==null)return"null";if(typeof t=="string")return dr(t,80);if(typeof t=="number"||typeof t=="boolean"||typeof t=="bigint")return String(t);try{let e=JSON.stringify(t);return dr(e,120)}catch{return String(t)}}function dr(t,e){return t.length>e?`${t.slice(0,e-1)}\u2026`:t}0&&(module.exports={DEFAULT_DECAY_RATE,DEFAULT_QUEUE_CONFIGS,DEFAULT_SEVERITY_WEIGHTS,HarnessGraph,QUEUE_NAMES,affectedTaskFilter,beforeAfterCompare,codeChangeBridge,createIntakeBridge,defaultErrorClassifier,defaultLlmExecutor,defaultLlmVerifier,evalIntakeBridge,evalSource,evalVerifier,harnessLoop,harnessProfile,harnessTrace,notifyEffect,priorityScore,refineExecutor,strategyKey,strategyModel});
49
+ }`;function ur(t,e){let n=e??(r=>es.replace("{{item}}",JSON.stringify(r)));return r=>Rt(t,[r],n,{name:"execute",format:"json"})}function dr(t,e){let n=e??(r=>{let[s,o]=r;return ts.replace("{{execution}}",JSON.stringify(s)).replace("{{item}}",JSON.stringify(o))});return r=>Rt(t,[r],n,{name:"verify",format:"json"})}var St=class extends de{intake;queues;gates;strategy;verifyResults;totalRetries;totalReingestions;constructor(e,n,r,s,o,i,a,d){super(e),this.intake=n,this.queues=r,this.gates=s,this.strategy=o,this.verifyResults=i,this.totalRetries=a,this.totalReingestions=d}};function ns(t,e){let n=e.adapter,r=e.maxRetries??2,s=e.retainedLimit??1e3,o=e.errorClassifier??rn,i=new Map;for(let P of Me)i.set(P,{...an[P],...e.queues?.[P]});let a=new De("intake",{retainedLimit:s}),d=un(),u=tt(a.latest,d.node),c=Rt(n,[u],e.triagePrompt??(P=>{let[U,Z]=P;return U?Zo.replace("{{strategy}}",JSON.stringify(Array.from(Z.entries()))).replace("{{item}}",JSON.stringify(U)):""}),{name:"triage",format:"json"}),p=new Map;for(let P of Me)p.set(P,new De(`queue/${P}`,{retainedLimit:s}));let f=tt(c,u),l=ae([f],([P])=>{if(P==null)return;let[U,Z]=P;if(!U?.route)return;let pe=Z?.[0],O={...U,...pe},F=p.get(O.route);F&&F.publish(O)}).subscribe(()=>{}),m=new de("gates"),g=new Map;for(let P of Me){let U=i.get(P),Z=p.get(P);if(U.gated){m.add(Z.latest,{name:`${P}/source`});let pe=ir(m,`${P}/gate`,`${P}/source`,{maxPending:U.maxPending,startOpen:U.startOpen});g.set(P,pe)}}let b=new De("retry-input",{retainedLimit:s}),v=[];for(let P of Me)i.get(P).gated&&g.has(P)?v.push(g.get(P).node):v.push(p.get(P).latest);v.push(b.latest);let y=kn(...v),x=(e.executor??ur(n,e.executePrompt))(y),w=tt(x,y),_=new De("verify-results",{retainedLimit:s}),E=(e.verifier??dr(n,e.verifyPrompt))(w),L=tt(E,w),R=e.maxReingestions??1,C=Math.min(e.maxTotalRetries??r*10,100),S=Math.min(e.maxTotalReingestions??R*10,100),z=G(0),Y=G(0),fe=ie([L],(P,U)=>{let Z=P[0];if(Z==null||Z.length===0)return;let pe=Z[Z.length-1];if(pe==null)return;let[O,F]=pe,[ee,B]=F??[null,null];if(!O||!B)return;let te={item:B,outcome:ee?.outcome??"failure",detail:ee?.detail??"unknown",artifact:ee?.artifact},A={item:B,execution:te,verified:O.verified,findings:O.findings??[],errorClass:O.errorClass};if(A.verified){d.record(B.rootCause,B.intervention,!0),_.publish(A);return}let ne=A.errorClass??o({item:B,outcome:"failure",detail:A.findings.join("; ")}),k=B._retries??0;if(ne==="self-correctable"&&k<r&&Jt(z,C)){let D=Qt(B),W={...B,_retries:k+1,summary:`[RETRY ${k+1}/${r}] ${D} \u2014 Previous attempt failed: ${A.findings.join("; ")}`,relatedTo:[D]};b.publish(W)}else{d.record(B.rootCause,B.intervention,!1),_.publish(A);let D=Qt(B),W=B._reingestions??0;W<R&&Jt(Y,S)&&a.publish({source:"eval",summary:`Verification failed for: ${D}`,evidence:A.findings.join(`
50
+ `),affectsAreas:B.affectsAreas,affectsEvalTasks:B.affectsEvalTasks,severity:"high",relatedTo:[D],_reingestions:W+1})}}).subscribe(()=>{}),K=new St(t,a,p,g,d,_,z,Y);K.addDisposer(l),K.addDisposer(fe),K.addDisposer(d.dispose),K.add(c,{name:"triage"}),K.add(x,{name:"execute"}),K.add(E,{name:"verify"}),K.add(d.node,{name:"strategy"}),K.mount("intake",a);for(let[P,U]of p)K.mount(`queue/${P}`,U);return K.mount("gates",m),K.mount("retry-input",b),K.mount("verify-results",_),K}function rs(t,e){let n=Et(t,e),r={};for(let[s,o]of t.queues)r[s]=o.retained().length;return{...n,queueDepths:r,strategyEntries:t.strategy.node.cache?.size??0,totalRetries:t.totalRetries.cache??0,totalReingestions:t.totalReingestions.cache??0}}ue();Se();Pe();me();Ne();ue();function os(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.subscribe=="function"&&typeof e.down=="function"&&typeof e.emit=="function"}function ss(t,e){if(t.length===0)return{best:null,bestScore:Number.NEGATIVE_INFINITY};if(t.length===1){let o=is(e);return{best:t[0],bestScore:o}}if(e.some(o=>typeof o.candidateIndex=="number")){let o=new Array(t.length);for(let d=0;d<t.length;d++)o[d]={sum:0,count:0};for(let d of e){let u=d.candidateIndex;typeof u=="number"&&u>=0&&u<t.length&&(o[u].sum+=d.score,o[u].count+=1)}let i=t[0],a=o[0].count>0?o[0].sum/o[0].count:Number.NEGATIVE_INFINITY;for(let d=1;d<t.length;d++){let u=o[d].count>0?o[d].sum/o[d].count:Number.NEGATIVE_INFINITY;u>a&&(a=u,i=t[d])}return{best:i,bestScore:a}}let r=t[0],s=e[0]?.score??Number.NEGATIVE_INFINITY;for(let o=1;o<t.length;o++){let i=e[o]?.score??Number.NEGATIVE_INFINITY;i>s&&(s=i,r=t[o])}return{best:r,bestScore:s}}function is(t){if(t.length===0)return Number.NEGATIVE_INFINITY;let e=0;for(let n of t)e+=n.score;return e/t.length}function lr(t,e,n,r){let s=r.name??"refine-loop",o=new de(s,r.graph),i=os(r.dataset)?r.dataset:G(r.dataset,{name:"dataset"});o.add(i,{name:"dataset"});let a=G(0,{name:"iteration"});o.add(a,{name:"iteration"});let d=G(n,{name:"strategy",equals:()=>!1});o.add(d,{name:"strategy"});let u=G(null,{name:"lastFeedback"});o.add(u,{name:"lastFeedback"});let c=G([],{name:"prevCandidates"});o.add(c,{name:"prevCandidates"});let p=G(!1,{name:"paused"});o.add(p,{name:"paused"});let f=G("running",{name:"status"});o.add(f,{name:"status"});let h=G([],{name:"history",equals:()=>!1});o.add(h,{name:"history"});let l=G(null,{name:"best"});o.add(l,{name:"best"});let m=G(Number.NEGATIVE_INFINITY,{name:"score"});o.add(m,{name:"score"});let g=G(0,{name:"budget-used"});o.add(g,{name:"budget-used"});let b=sr("stages");o.mount("stages",b);let v=b.topic("generate"),y=b.topic("evaluate"),T=b.topic("analyze"),x=b.topic("decide"),w=n,_=null,N=[];o.addDisposer(d.subscribe(k=>{for(let D of k)D[0]===$&&(w=D[1])})),o.addDisposer(u.subscribe(k=>{for(let D of k)D[0]===$&&(_=D[1])})),o.addDisposer(c.subscribe(k=>{for(let D of k)D[0]===$&&(N=D[1])}));let E=we(a,k=>{let D=w,W=k===0||_==null;return ie([],(re,he)=>{let Oe=!1;try{let ke=W?D.seed(t):D.generate(_,N);if(ke instanceof Promise)return ke.then(Ve=>{Oe||he.emit(Ve)},Ve=>{Oe||he.down([[M,Ve]])}),()=>{Oe=!0};he.emit(ke)}catch(ke){Oe=!0,he.down([[M,ke]])}},{describeKind:"producer"})},{name:"candidates"});o.add(E,{name:"candidates"});let L=ae([E],(k,D,W)=>{let re=W.terminalDeps[0];re!==void 0&&re!==!0&&f.emit("errored")},{name:"error-watcher",errorWhenDepsError:!1});o.add(L,{name:"error-watcher"}),o.addDisposer(L.subscribe(()=>{}));let R=I([E,a],([k,D])=>({iteration:D,candidates:k,timestamp_ns:j()}),{name:"generate-event"});o.add(R,{name:"generate-event"}),o.addDisposer(R.subscribe(()=>{}));let C=ae([R],([k])=>{v.publish(k)},{name:"generate-publish"});o.add(C,{name:"generate-publish"}),o.addDisposer(C.subscribe(()=>{}));let S=ae([E],([k])=>{c.emit(k)},{name:"generate-mirror"});o.add(S,{name:"generate-mirror"}),o.addDisposer(S.subscribe(()=>{}));let z=e(E,i);o.add(z,{name:"scores"});let Y=I([z,E,a],([k,D,W])=>({iteration:W,candidates:D,scores:k,timestamp_ns:j()}),{name:"evaluate-event"});o.add(Y,{name:"evaluate-event"}),o.addDisposer(Y.subscribe(()=>{}));let oe=ae([Y],([k])=>{y.publish(k)},{name:"evaluate-publish"});o.add(oe,{name:"evaluate-publish"}),o.addDisposer(oe.subscribe(()=>{}));let fe=I([z,E],([k,D])=>w.analyze(k,D),{name:"feedback"});o.add(fe,{name:"feedback"});let K=I([fe,E,a],([k,D,W])=>({iteration:W,candidates:D,feedback:k,timestamp_ns:j()}),{name:"analyze-event"});o.add(K,{name:"analyze-event"}),o.addDisposer(K.subscribe(()=>{}));let P=ae([K],([k])=>{T.publish(k)},{name:"analyze-publish"});o.add(P,{name:"analyze-publish"}),o.addDisposer(P.subscribe(()=>{}));let U=I([h],([k])=>{let D=k;if(r.patience==null||D.length<=r.patience)return!1;let W=D.slice(-(r.patience+1)),re=W[0].bestScore;return W.slice(1).every(he=>he.bestScore<=re)},{name:"patience-check"});o.add(U,{name:"patience-check"});let Z=I([m],([k])=>r.minScore!=null&&k>=r.minScore,{name:"min-score-check"});o.add(Z,{name:"min-score-check"});let pe=I([h],([k])=>{let D=k;if(r.minDelta==null||D.length<2)return!1;let W=D[D.length-2].bestScore,re=D[D.length-1].bestScore;return Math.abs(re-W)<r.minDelta},{name:"min-delta-check"});o.add(pe,{name:"min-delta-check"});let O=I([g],([k])=>r.maxEvaluations!=null&&k>=r.maxEvaluations,{name:"max-evaluations-check"});o.add(O,{name:"max-evaluations-check"});let F=I([a],([k])=>r.maxIterations!=null&&k>=r.maxIterations,{name:"max-iterations-check"});o.add(F,{name:"max-iterations-check"});let ee=I([g],([k])=>r.budget!=null&&k>=r.budget,{name:"budget-exhausted-check"});o.add(ee,{name:"budget-exhausted-check"}),o.addDisposer(U.subscribe(()=>{})),o.addDisposer(Z.subscribe(()=>{})),o.addDisposer(pe.subscribe(()=>{})),o.addDisposer(O.subscribe(()=>{})),o.addDisposer(F.subscribe(()=>{})),o.addDisposer(ee.subscribe(()=>{}));let B=I([U,Z,pe,O,F],([k,D,W,re,he])=>k?{converged:!0,reason:"patience"}:D?{converged:!0,reason:"min-score"}:W?{converged:!0,reason:"min-delta"}:re?{converged:!0,reason:"max-evaluations"}:he?{converged:!0,reason:"max-iterations"}:{converged:!1},{name:"converged"});o.add(B,{name:"converged"}),o.addDisposer(B.subscribe(()=>{}));let te=-1,A=ae([fe,z,E],([k,D,W])=>{let re=a.cache,he=k,Oe=W,ke=D;if(re<=te)return;te=re;let{best:Ve,bestScore:fr}=ss(Oe,ke),pr=h.cache,hr={n:re,candidates:Oe,scores:ke,feedback:he,best:Ve,bestScore:fr,timestamp_ns:j()},Re=[...pr,hr],Ct=g.cache+Oe.length,ge="continue",Ie,mr=r.budget!=null&&Ct>=r.budget,gr=p.cache;if(mr)ge="budget",Ie="budget";else if(r.minScore!=null&&he.score>=r.minScore)ge="converged",Ie="min-score";else if(r.maxIterations!=null&&re>=r.maxIterations)ge="converged",Ie="max-iterations";else if(r.maxEvaluations!=null&&Ct>=r.maxEvaluations)ge="converged",Ie="max-evaluations";else if(r.minDelta!=null&&Re.length>=2){let it=Re[Re.length-2].bestScore,At=Re[Re.length-1].bestScore;Math.abs(At-it)<r.minDelta&&(ge="converged",Ie="min-delta")}else if(r.patience!=null&&Re.length>r.patience){let it=Re.slice(-(r.patience+1)),At=it[0].bestScore;it.slice(1).every(br=>br.bestScore<=At)&&(ge="converged",Ie="patience")}ge==="continue"&&gr&&(ge="paused"),le(()=>{l.emit(Ve),m.emit(he.score),h.emit(Re),g.emit(Ct),u.emit(he),x.publish({iteration:re,decision:ge,reason:Ie,timestamp_ns:j()}),ge==="continue"?a.emit(re+1):f.emit(ge==="converged"?"converged":ge==="budget"?"budget":"paused")})},{name:"decide-bridge"});return o.add(A,{name:"decide-bridge"}),o.addDisposer(A.subscribe(()=>{})),Object.assign(o,{best:l,score:m,status:f,history:h,strategy:d,iteration:a,generate:v,evaluate:y,analyze:T,decide:x,setStrategy(k){d.emit(k)},pause(){p.emit(!0)},resume(){f.cache==="paused"&&le(()=>{p.emit(!1),f.emit("running"),a.emit(a.cache+1)})}})}function as(t){let{best:e,score:n,status:r}=t,s=Number.isFinite(n)?n.toFixed(3):String(n);return r==="converged"?{outcome:"success",detail:`refineLoop converged at score ${s}`,artifact:e}:r==="budget"?{outcome:"partial",detail:`refineLoop hit budget at score ${s}`,artifact:e}:{outcome:"failure",detail:`refineLoop errored (status=${r})`,artifact:e}}function us(t){let e=t.name??"refine-executor",n=t.toOutput??as;return r=>{let s=We(r,i=>i!=null),o=we(s,i=>{let a=lr(t.seedFrom(i),t.evaluator,t.strategy,{...t.refine,dataset:t.datasetFor(i),name:`${e}/inner`});return I([a.status,a.best,a.score],([d,u,c])=>{let p=d;return p!=="converged"&&p!=="budget"&&p!=="errored"?null:n({best:u,score:c,status:p})},{name:`${e}/output`})},{name:e});return We(o,i=>i!=null)}}Pe();function ds(t){let e={"intake::latest":"INTAKE",triage:"TRIAGE",execute:"EXECUTE","verify-results::latest":"VERIFY",strategy:"STRATEGY"};for(let n of Me)e[`queue/${n}::latest`]="QUEUE";for(let[n]of t.gates)e[`gates::${n}/gate`]="GATE";return e}function ls(t,e){let n=e?.logger===null?null:e?.logger??console.log,r=e?.detail??"summary",s=j(),o=[],i=[],a=ds(t);function d(){return(j()-s)/1e9}function u(c,p,f){let h={elapsed:d(),stage:c,type:p};r!=="summary"&&(h.summary=cs(f)),r==="full"&&(h.data=f),i.push(h)}for(let[c,p]of Object.entries(a))try{let f=t.observe(c,{format:"stage-log",stageLabels:a,logger:n?h=>n(h):()=>{},includeTypes:["data","error","complete"]});f.onEvent(h=>{h.type==="data"?u(p,"data",h.data):h.type==="error"?u(p,"error",h.data):h.type==="complete"&&u(p,"complete",void 0)}),o.push(f)}catch(f){let h=f instanceof Error?f.message:String(f);u(p,"error",`observe-unavailable: ${c} \u2014 ${h}`),n&&n(`[${d().toFixed(3)}s] ${p.padEnd(9)} \u2717 observe-unavailable: ${h}`)}return{get events(){return i},dispose(){for(let c of o)c.dispose();o.length=0}}}function cs(t){if(t==null)return"null";if(typeof t=="string")return cr(t,80);if(typeof t=="number"||typeof t=="boolean"||typeof t=="bigint")return String(t);try{let e=JSON.stringify(t);return cr(e,120)}catch{return String(t)}}function cr(t,e){return t.length>e?`${t.slice(0,e-1)}\u2026`:t}0&&(module.exports={DEFAULT_DECAY_RATE,DEFAULT_QUEUE_CONFIGS,DEFAULT_SEVERITY_WEIGHTS,HarnessGraph,QUEUE_NAMES,affectedTaskFilter,beforeAfterCompare,codeChangeBridge,createIntakeBridge,defaultErrorClassifier,defaultLlmExecutor,defaultLlmVerifier,evalIntakeBridge,evalSource,evalVerifier,harnessLoop,harnessProfile,harnessTrace,notifyEffect,priorityScore,refineExecutor,strategyKey,strategyModel});