@directive-run/ai 1.23.1 → 1.24.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 (93) hide show
  1. package/README.md +27 -0
  2. package/dist/anthropic.cjs +1 -1
  3. package/dist/anthropic.cjs.map +1 -1
  4. package/dist/anthropic.d.cts +33 -1
  5. package/dist/anthropic.d.ts +33 -1
  6. package/dist/anthropic.js +1 -1
  7. package/dist/anthropic.js.map +1 -1
  8. package/dist/{chunk-QMSLWAMH.cjs → chunk-25OLDNZ3.cjs} +3 -3
  9. package/dist/{chunk-QMSLWAMH.cjs.map → chunk-25OLDNZ3.cjs.map} +1 -1
  10. package/dist/chunk-2Y4YWZDV.js +3 -0
  11. package/dist/chunk-2Y4YWZDV.js.map +1 -0
  12. package/dist/{chunk-J2Q5KKPN.js → chunk-437ADRES.js} +3 -3
  13. package/dist/{chunk-J2Q5KKPN.js.map → chunk-437ADRES.js.map} +1 -1
  14. package/dist/{chunk-2FPL5W2H.cjs → chunk-4LENWYLG.cjs} +7 -7
  15. package/dist/{chunk-2FPL5W2H.cjs.map → chunk-4LENWYLG.cjs.map} +1 -1
  16. package/dist/chunk-4TDH6ZTX.cjs +3 -0
  17. package/dist/chunk-4TDH6ZTX.cjs.map +1 -0
  18. package/dist/{chunk-K64WKZ22.cjs → chunk-AEX7HKNM.cjs} +2 -2
  19. package/dist/chunk-AEX7HKNM.cjs.map +1 -0
  20. package/dist/{chunk-4VP67W7L.js → chunk-CMH5TJGN.js} +4 -4
  21. package/dist/{chunk-4VP67W7L.js.map → chunk-CMH5TJGN.js.map} +1 -1
  22. package/dist/{chunk-XGOTVPN6.js → chunk-EUB4NVVN.js} +3 -3
  23. package/dist/{chunk-XGOTVPN6.js.map → chunk-EUB4NVVN.js.map} +1 -1
  24. package/dist/{chunk-EW77VF5K.js → chunk-H7UFBMLV.js} +3 -3
  25. package/dist/{chunk-EW77VF5K.js.map → chunk-H7UFBMLV.js.map} +1 -1
  26. package/dist/{chunk-FSSCGRAM.js → chunk-L6H6Y6IK.js} +3 -3
  27. package/dist/{chunk-FSSCGRAM.js.map → chunk-L6H6Y6IK.js.map} +1 -1
  28. package/dist/{chunk-JMG5GZAH.cjs → chunk-L7QHLH6U.cjs} +4 -4
  29. package/dist/{chunk-JMG5GZAH.cjs.map → chunk-L7QHLH6U.cjs.map} +1 -1
  30. package/dist/{chunk-F73AKFDB.cjs → chunk-LPTC3N2Z.cjs} +7 -7
  31. package/dist/{chunk-F73AKFDB.cjs.map → chunk-LPTC3N2Z.cjs.map} +1 -1
  32. package/dist/{chunk-UR5BMWEN.js → chunk-XMEJN4FA.js} +2 -2
  33. package/dist/chunk-XMEJN4FA.js.map +1 -0
  34. package/dist/{chunk-XN5LUOVS.cjs → chunk-ZUNORULG.cjs} +7 -7
  35. package/dist/{chunk-XN5LUOVS.cjs.map → chunk-ZUNORULG.cjs.map} +1 -1
  36. package/dist/{debug-timeline-Sc9cxgxV.d.cts → debug-timeline-B_bXRStF.d.cts} +1 -1
  37. package/dist/{debug-timeline-C5Dzs2r_.d.ts → debug-timeline-Btt-iaak.d.ts} +1 -1
  38. package/dist/devtools.d.cts +5 -5
  39. package/dist/devtools.d.ts +5 -5
  40. package/dist/evals.cjs +1 -1
  41. package/dist/evals.d.cts +2 -2
  42. package/dist/evals.d.ts +2 -2
  43. package/dist/evals.js +1 -1
  44. package/dist/gemini.cjs +1 -1
  45. package/dist/gemini.d.cts +1 -1
  46. package/dist/gemini.d.ts +1 -1
  47. package/dist/gemini.js +1 -1
  48. package/dist/{guardrails-export-BL8ozXSj.d.ts → guardrails-export-lvaBJlt6.d.ts} +1 -1
  49. package/dist/{guardrails-export-ByaYNGvG.d.cts → guardrails-export-pmpQjIKb.d.cts} +1 -1
  50. package/dist/guardrails.cjs +1 -1
  51. package/dist/guardrails.d.cts +2 -2
  52. package/dist/guardrails.d.ts +2 -2
  53. package/dist/guardrails.js +1 -1
  54. package/dist/{health-monitor-C9v10_tj.d.cts → health-monitor-DqAzufyM.d.cts} +1 -1
  55. package/dist/{health-monitor-J2eKmP--.d.ts → health-monitor-DrlBF6n9.d.ts} +1 -1
  56. package/dist/index.cjs +4 -4
  57. package/dist/index.d.cts +12 -8
  58. package/dist/index.d.ts +12 -8
  59. package/dist/index.js +1 -1
  60. package/dist/{multi-agent-orchestrator-ZZ63F75F.js → multi-agent-orchestrator-PI7X7ZGP.js} +2 -2
  61. package/dist/{multi-agent-orchestrator-ZZ63F75F.js.map → multi-agent-orchestrator-PI7X7ZGP.js.map} +1 -1
  62. package/dist/multi-agent-orchestrator-Z5NK4HIJ.cjs +2 -0
  63. package/dist/{multi-agent-orchestrator-DUMT67N5.cjs.map → multi-agent-orchestrator-Z5NK4HIJ.cjs.map} +1 -1
  64. package/dist/multi-agent.cjs +1 -1
  65. package/dist/multi-agent.d.cts +6 -6
  66. package/dist/multi-agent.d.ts +6 -6
  67. package/dist/multi-agent.js +1 -1
  68. package/dist/ollama.cjs +1 -1
  69. package/dist/ollama.d.cts +1 -1
  70. package/dist/ollama.d.ts +1 -1
  71. package/dist/ollama.js +1 -1
  72. package/dist/openai.cjs +1 -1
  73. package/dist/openai.d.cts +1 -1
  74. package/dist/openai.d.ts +1 -1
  75. package/dist/openai.js +1 -1
  76. package/dist/{orchestrator-types-BT-NIFOe.d.cts → orchestrator-types-B9nrJYFx.d.cts} +3 -3
  77. package/dist/{orchestrator-types-DMuSD8Vq.d.ts → orchestrator-types-ByqFuu3O.d.ts} +3 -3
  78. package/dist/predicate.d.cts +1 -1
  79. package/dist/predicate.d.ts +1 -1
  80. package/dist/testing.cjs +1 -1
  81. package/dist/testing.d.cts +4 -4
  82. package/dist/testing.d.ts +4 -4
  83. package/dist/testing.js +1 -1
  84. package/dist/{types-6NoeLyrD.d.cts → types-BzpGfUA2.d.cts} +10 -0
  85. package/dist/{types-6NoeLyrD.d.ts → types-BzpGfUA2.d.ts} +10 -0
  86. package/package.json +2 -2
  87. package/dist/chunk-3WO4MWJM.cjs +0 -3
  88. package/dist/chunk-3WO4MWJM.cjs.map +0 -1
  89. package/dist/chunk-K64WKZ22.cjs.map +0 -1
  90. package/dist/chunk-UR5BMWEN.js.map +0 -1
  91. package/dist/chunk-ZFLHWJ56.js +0 -3
  92. package/dist/chunk-ZFLHWJ56.js.map +0 -1
  93. package/dist/multi-agent-orchestrator-DUMT67N5.cjs +0 -2
@@ -1,6 +1,6 @@
1
- 'use strict';var chunkF73AKFDB_cjs=require('./chunk-F73AKFDB.cjs');function w(s){return s.replace(/[^a-zA-Z0-9]/g,"_")}function N(s){return s.replace(/[\r\n]+/g," ").replace(/[[\](){}|<>"]/g,e=>`#${e.charCodeAt(0)};`)}var O={square:["[","]"],round:["(",")"],stadium:["([","])"],hexagon:["{{","}}"],circle:["((","))"]};function M(s,e,c,l){let n;c==="task"?n=l?.task??"hexagon":c==="agent"?n=l?.agent??"square":n=l?.virtual??"circle";let[o,a]=O[n];return `${s}${o}${N(e)}${a}`}function P(s){let e=new Map;for(let n of s)e.set(n,(e.get(n)??0)+1);let c=new Map,l=[];for(let n of s){let o=w(n);if(e.get(n)>1){let a=(c.get(n)??0)+1;c.set(n,a),l.push({id:`${o}_${a}`,label:`${n} #${a}`});}else l.push({id:o,label:n});}return l}function G(s){let e=new Map,c=new Map;for(let o of Object.keys(s))e.has(o)||e.set(o,0),c.has(o)||c.set(o,[]);for(let[o,a]of Object.entries(s))for(let r of a.deps??[])c.get(r).push(o),e.set(o,(e.get(o)??0)+1);let l=[];for(let[o,a]of e)a===0&&l.push(o);l.sort();let n=[];for(;l.length>0;){let o=l.shift();n.push(o);let a=c.get(o)??[];a.sort();for(let r of a){let g=e.get(r)-1;if(e.set(r,g),g===0){let t=l.findIndex(i=>i>r);t===-1?l.push(r):l.splice(t,0,r);}}}return n}function U(s){let e=s;if(e.type==="parallel"&&typeof e.merge=="function"||e.type==="sequential"&&typeof e.transform=="function"||e.type==="supervisor"&&typeof e.extract=="function"||e.type==="dag"&&typeof e.merge=="function"||e.type==="reflect"&&typeof e.parseEvaluation=="function"||e.type==="race"&&typeof e.extract=="function"||e.type==="debate"&&typeof e.extract=="function"||e.type==="goal"&&(typeof e.when=="function"||typeof e.satisfaction=="function"||typeof e.extract=="function"))return false;if(e.type==="dag"&&e.nodes)for(let c of Object.values(e.nodes)){let l=c;if(typeof l.when=="function"||typeof l.transform=="function")return false}if(e.type==="goal"&&e.nodes)for(let c of Object.values(e.nodes)){let l=c;if(typeof l.buildInput=="function"||typeof l.extractOutput=="function")return false}return true}function q(s,e){let c=[];return e&&c.push(`%%{init: {'theme': '${e}'}}%%`),c.push(`graph ${s}`),c.join(`
2
- `)}var C=new Set(["parallel","sequential","supervisor","dag","reflect","race","debate","goal"]);function B(s,e,c){let l=P(s.handlers),n=M("__input","Input","virtual",e),o=M("__merge","Merge","virtual",e),a=[];for(let r of l){let g=c?.has(r.label)?"task":"agent",t=M(r.id,r.label,g,e);a.push(` ${n} --> ${t}`),a.push(` ${t} --> ${o}`);}return a}function L(s,e,c){return s.handlers.length===0?[]:[` ${s.handlers.map(o=>({id:w(o),label:o})).map(o=>M(o.id,o.label,c?.has(o.label)?"task":"agent",e)).join(" --> ")}`]}function j(s,e){let c=w(s.supervisor),l=M(c,s.supervisor,"agent",e),n=[];for(let o of s.workers){let a=w(o),r=M(a,o,"agent",e);n.push(` ${l} -->|delegate| ${r}`),n.push(` ${r} -->|result| ${l}`);}return n}function F(s,e,c){let l=G(s.nodes),n=[],o=new Set;for(let a of l){let r=s.nodes[a],g=w(a),t=r.handler,i=c?.has(r.handler)?"task":"agent";(!r.deps||r.deps.length===0)&&(o.has(g)||(n.push(` ${M(g,t,i,e)}`),o.add(g)));let f=[...r.deps??[]].sort();for(let u of f){let b=w(u),y=s.nodes[u],d=y.handler,p=c?.has(y.handler)?"task":"agent",h=M(b,d,p,e),m=M(g,t,i,e);n.push(` ${h} --> ${m}`),o.add(b),o.add(g);}}return n}function _(s,e,c){let l=P(s.handlers),n=M("__input","Input","virtual",e),o=M("__output","Output","virtual",e),a=[];for(let r of l){let g=c?.has(r.label)?"task":"agent",t=M(r.id,r.label,g,e);a.push(` ${n} --> ${t}`),a.push(` ${t} -.-> ${o}`);}return a}function z(s,e,c){let l=w(s.handler),n=w(s.evaluator),o=c?.has(s.handler)?"task":"agent",a=M(l,s.handler,o,e),r=M(n,s.evaluator,"agent",e),g=M("__output","Output","virtual",e);return [` ${a} --> ${r}`,` ${r} -->|feedback| ${a}`,` ${r} -->|pass| ${g}`]}function H(s,e,c){let l=Object.entries(s.nodes),n=[],o=new Map;for(let[t,i]of l)for(let f of i.produces)o.set(f,t);let a=new Set,r=new Set,g=[...l].sort(([t],[i])=>t.localeCompare(i));for(let[t,i]of g){let f=w(t),u=[...i.requires??[]].sort();if(u.length===0&&!a.has(f)){let b=c?.has(i.handler)?"task":"agent";n.push(` ${M(f,i.handler,b,e)}`),a.add(f);}for(let b of u){let y=o.get(b);if(y&&y!==t){let d=s.nodes[y];if(!d)continue;let p=`${y}->${t}`;if(!r.has(p)){let h=w(y),m=c?.has(d.handler)?"task":"agent",S=c?.has(i.handler)?"task":"agent",v=M(h,d.handler,m,e),A=M(f,i.handler,S,e);n.push(` ${v} -->|${N(b)}| ${A}`),a.add(h),a.add(f),r.add(p);}}}}for(let[t,i]of g){let f=w(t);if(!a.has(f)){let u=c?.has(i.handler)?"task":"agent";n.push(` ${M(f,i.handler,u,e)}`),a.add(f);}}return n}function Q(s,e,c){let l=P(s.handlers),n=w(s.evaluator),o=M(n,s.evaluator,"agent",e),a=M("__output","Output","virtual",e),r=[];for(let g of l){let t=c?.has(g.label)?"task":"agent",i=M(g.id,g.label,t,e);r.push(` ${i} --> ${o}`),r.push(` ${o} -->|next round| ${i}`);}return r.push(` ${o} --> ${a}`),r}function Y(s,e){let c=e?.direction??"LR",l=e?.shapes,n=e?.taskIds,o=U(s)?s:chunkF73AKFDB_cjs.ba(s);if(!C.has(o.type))throw new Error(`[Directive] patternToMermaid: unknown pattern type "${o.type}"`);let a=q(c,e?.theme),r=[];switch(o.type){case "parallel":r=B(o,l,n);break;case "sequential":r=L(o,l,n);break;case "supervisor":r=j(o,l);break;case "dag":r=F(o,l,n);break;case "race":r=_(o,l,n);break;case "reflect":r=z(o,l,n);break;case "debate":r=Q(o,l,n);break;case "goal":r=H(o,l,n);break}return `${a}
1
+ 'use strict';var chunkLPTC3N2Z_cjs=require('./chunk-LPTC3N2Z.cjs');function w(s){return s.replace(/[^a-zA-Z0-9]/g,"_")}function N(s){return s.replace(/[\r\n]+/g," ").replace(/[[\](){}|<>"]/g,e=>`#${e.charCodeAt(0)};`)}var O={square:["[","]"],round:["(",")"],stadium:["([","])"],hexagon:["{{","}}"],circle:["((","))"]};function M(s,e,c,l){let n;c==="task"?n=l?.task??"hexagon":c==="agent"?n=l?.agent??"square":n=l?.virtual??"circle";let[o,a]=O[n];return `${s}${o}${N(e)}${a}`}function P(s){let e=new Map;for(let n of s)e.set(n,(e.get(n)??0)+1);let c=new Map,l=[];for(let n of s){let o=w(n);if(e.get(n)>1){let a=(c.get(n)??0)+1;c.set(n,a),l.push({id:`${o}_${a}`,label:`${n} #${a}`});}else l.push({id:o,label:n});}return l}function G(s){let e=new Map,c=new Map;for(let o of Object.keys(s))e.has(o)||e.set(o,0),c.has(o)||c.set(o,[]);for(let[o,a]of Object.entries(s))for(let r of a.deps??[])c.get(r).push(o),e.set(o,(e.get(o)??0)+1);let l=[];for(let[o,a]of e)a===0&&l.push(o);l.sort();let n=[];for(;l.length>0;){let o=l.shift();n.push(o);let a=c.get(o)??[];a.sort();for(let r of a){let g=e.get(r)-1;if(e.set(r,g),g===0){let t=l.findIndex(i=>i>r);t===-1?l.push(r):l.splice(t,0,r);}}}return n}function U(s){let e=s;if(e.type==="parallel"&&typeof e.merge=="function"||e.type==="sequential"&&typeof e.transform=="function"||e.type==="supervisor"&&typeof e.extract=="function"||e.type==="dag"&&typeof e.merge=="function"||e.type==="reflect"&&typeof e.parseEvaluation=="function"||e.type==="race"&&typeof e.extract=="function"||e.type==="debate"&&typeof e.extract=="function"||e.type==="goal"&&(typeof e.when=="function"||typeof e.satisfaction=="function"||typeof e.extract=="function"))return false;if(e.type==="dag"&&e.nodes)for(let c of Object.values(e.nodes)){let l=c;if(typeof l.when=="function"||typeof l.transform=="function")return false}if(e.type==="goal"&&e.nodes)for(let c of Object.values(e.nodes)){let l=c;if(typeof l.buildInput=="function"||typeof l.extractOutput=="function")return false}return true}function q(s,e){let c=[];return e&&c.push(`%%{init: {'theme': '${e}'}}%%`),c.push(`graph ${s}`),c.join(`
2
+ `)}var C=new Set(["parallel","sequential","supervisor","dag","reflect","race","debate","goal"]);function B(s,e,c){let l=P(s.handlers),n=M("__input","Input","virtual",e),o=M("__merge","Merge","virtual",e),a=[];for(let r of l){let g=c?.has(r.label)?"task":"agent",t=M(r.id,r.label,g,e);a.push(` ${n} --> ${t}`),a.push(` ${t} --> ${o}`);}return a}function L(s,e,c){return s.handlers.length===0?[]:[` ${s.handlers.map(o=>({id:w(o),label:o})).map(o=>M(o.id,o.label,c?.has(o.label)?"task":"agent",e)).join(" --> ")}`]}function j(s,e){let c=w(s.supervisor),l=M(c,s.supervisor,"agent",e),n=[];for(let o of s.workers){let a=w(o),r=M(a,o,"agent",e);n.push(` ${l} -->|delegate| ${r}`),n.push(` ${r} -->|result| ${l}`);}return n}function F(s,e,c){let l=G(s.nodes),n=[],o=new Set;for(let a of l){let r=s.nodes[a],g=w(a),t=r.handler,i=c?.has(r.handler)?"task":"agent";(!r.deps||r.deps.length===0)&&(o.has(g)||(n.push(` ${M(g,t,i,e)}`),o.add(g)));let f=[...r.deps??[]].sort();for(let u of f){let b=w(u),y=s.nodes[u],d=y.handler,p=c?.has(y.handler)?"task":"agent",h=M(b,d,p,e),m=M(g,t,i,e);n.push(` ${h} --> ${m}`),o.add(b),o.add(g);}}return n}function _(s,e,c){let l=P(s.handlers),n=M("__input","Input","virtual",e),o=M("__output","Output","virtual",e),a=[];for(let r of l){let g=c?.has(r.label)?"task":"agent",t=M(r.id,r.label,g,e);a.push(` ${n} --> ${t}`),a.push(` ${t} -.-> ${o}`);}return a}function z(s,e,c){let l=w(s.handler),n=w(s.evaluator),o=c?.has(s.handler)?"task":"agent",a=M(l,s.handler,o,e),r=M(n,s.evaluator,"agent",e),g=M("__output","Output","virtual",e);return [` ${a} --> ${r}`,` ${r} -->|feedback| ${a}`,` ${r} -->|pass| ${g}`]}function H(s,e,c){let l=Object.entries(s.nodes),n=[],o=new Map;for(let[t,i]of l)for(let f of i.produces)o.set(f,t);let a=new Set,r=new Set,g=[...l].sort(([t],[i])=>t.localeCompare(i));for(let[t,i]of g){let f=w(t),u=[...i.requires??[]].sort();if(u.length===0&&!a.has(f)){let b=c?.has(i.handler)?"task":"agent";n.push(` ${M(f,i.handler,b,e)}`),a.add(f);}for(let b of u){let y=o.get(b);if(y&&y!==t){let d=s.nodes[y];if(!d)continue;let p=`${y}->${t}`;if(!r.has(p)){let h=w(y),m=c?.has(d.handler)?"task":"agent",S=c?.has(i.handler)?"task":"agent",v=M(h,d.handler,m,e),A=M(f,i.handler,S,e);n.push(` ${v} -->|${N(b)}| ${A}`),a.add(h),a.add(f),r.add(p);}}}}for(let[t,i]of g){let f=w(t);if(!a.has(f)){let u=c?.has(i.handler)?"task":"agent";n.push(` ${M(f,i.handler,u,e)}`),a.add(f);}}return n}function Q(s,e,c){let l=P(s.handlers),n=w(s.evaluator),o=M(n,s.evaluator,"agent",e),a=M("__output","Output","virtual",e),r=[];for(let g of l){let t=c?.has(g.label)?"task":"agent",i=M(g.id,g.label,t,e);r.push(` ${i} --> ${o}`),r.push(` ${o} -->|next round| ${i}`);}return r.push(` ${o} --> ${a}`),r}function Y(s,e){let c=e?.direction??"LR",l=e?.shapes,n=e?.taskIds,o=U(s)?s:chunkLPTC3N2Z_cjs.ba(s);if(!C.has(o.type))throw new Error(`[Directive] patternToMermaid: unknown pattern type "${o.type}"`);let a=q(c,e?.theme),r=[];switch(o.type){case "parallel":r=B(o,l,n);break;case "sequential":r=L(o,l,n);break;case "supervisor":r=j(o,l);break;case "dag":r=F(o,l,n);break;case "race":r=_(o,l,n);break;case "reflect":r=z(o,l,n);break;case "debate":r=Q(o,l,n);break;case "goal":r=H(o,l,n);break}return `${a}
3
3
  ${r.join(`
4
4
  `)}
5
- `}function k(){return globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}`}function V(s={}){let{maxHistory:e=1e3,defaultTtlMs:c=36e5,maxPendingPerAgent:l=100,persistence:n,onDelivery:o,onDeliveryError:a}=s,r=new Map,g=[],t=new Map,i=new Map;function f(d,p){if(p.types&&!p.types.includes(d.type)||p.from&&!(Array.isArray(p.from)?p.from:[p.from]).includes(d.from))return false;if(p.topics){let h=d.topic;if(h&&!p.topics.includes(h))return false}return !(p.priority&&d.priority&&!p.priority.includes(d.priority)||p.custom&&!p.custom(d))}function u(d){return d.ttlMs?Date.now()-d.timestamp>d.ttlMs:false}function b(d){return d.to==="*"?Array.from(r.keys()):Array.isArray(d.to)?d.to:[d.to]}async function y(d){if(u(d))return;let p=b(d),h=[],m=[];for(let S of p){let v=r.get(S)??[];if(v.length===0){let A=i.get(S)??[];for(A.push(d);A.length>l;)A.shift();i.set(S,A);continue}for(let A of v)(!A.filter||f(d,A.filter))&&m.push(Promise.resolve(A.handler(d)).then(()=>{h.push(S);},x=>{a?.(d,x instanceof Error?x:new Error(String(x)));}));}m.length>0&&await Promise.allSettled(m),h.length>0&&o?.(d,h),n&&await n.save(d);}return {publish(d){let p={...d,id:k(),timestamp:Date.now(),priority:d.priority??"normal",ttlMs:d.ttlMs??c};for(g.push(p),t.set(p.id,p);g.length>e;){let h=g.shift();h&&t.delete(h.id);}return y(p).catch(h=>{let m=h instanceof Error?h:new Error(String(h));a?a(p,m):console.error("[Directive MessageBus] Delivery error:",m);}),p.id},subscribe(d,p,h){let m=k(),S={id:m,agentId:d,handler:p,filter:h,unsubscribe:()=>{let x=r.get(d)??[],E=x.findIndex(R=>R.id===m);E>=0&&x.splice(E,1);}},v=r.get(d)??[];v.push(S),r.set(d,v);let A=i.get(d)??[];i.delete(d);for(let x of A)if(!h||f(x,h)){let E=p(x);E instanceof Promise&&E.catch(R=>{let D=R instanceof Error?R:new Error(String(R));a?a(x,D):console.error("[Directive MessageBus] Pending delivery error:",D);});}return S},getHistory(d,p=100){let h=g.filter(m=>!u(m));return d&&(h=h.filter(m=>f(m,d))),h.slice(-p)},getMessage(d){let p=t.get(d);if(!(p&&u(p)))return p},getPending(d){return (i.get(d)??[]).filter(h=>!u(h))},clear(){g.length=0,t.clear(),i.clear();},destroy(){g.length=0,t.clear(),i.clear(),r.clear();}}}function J(s){let{bus:e,agents:c={},defaultTimeout:l=3e4,onAgentOnline:n,onAgentOffline:o}=s,a=new Map,r=new Map;for(let[t,i]of Object.entries(c))a.set(t,{...i,id:t,status:"offline",lastSeen:Date.now()});function g(t){if(t.type!=="RESPONSE"&&t.type!=="DELEGATION_RESULT")return;let i=t.correlationId??t.replyTo;if(!i)return;let f=r.get(i);f&&(clearTimeout(f.timer),r.delete(i),f.resolve(t));}return {register(t,i){let f=!a.has(t)||a.get(t)?.status==="offline";a.set(t,{...i,id:t,status:"online",lastSeen:Date.now()}),f&&n?.(t);},unregister(t){let i=a.get(t);i&&(i.status="offline",o?.(t));},getAgent(t){return a.get(t)},getAgents(){return Array.from(a.values())},findByCapability(t){return Array.from(a.values()).filter(i=>i.capabilities.includes(t)&&i.status==="online")},send(t,i,f){let u=a.get(t);return u&&(u.lastSeen=Date.now(),u.status="online"),e.publish({...f,from:t,to:i,type:f.type??"CUSTOM"})},async request(t,i,f,u,b=l){return new Promise((y,d)=>{let p=k(),h=e.subscribe(t,S=>{(S.correlationId===p||S.replyTo===p)&&(h.unsubscribe(),g(S));},{types:["RESPONSE"]}),m=setTimeout(()=>{h.unsubscribe(),r.delete(p),d(new Error(`[Directive Communication] Request timeout after ${b}ms`));},b);r.set(p,{resolve:y,reject:d,timer:m}),e.publish({type:"REQUEST",from:t,to:i,action:f,payload:u,timeout:b,correlationId:p});})},async delegate(t,i,f,u){return new Promise((b,y)=>{let d=k(),p=e.subscribe(t,m=>{(m.correlationId===d||m.replyTo===d)&&(p.unsubscribe(),g(m));},{types:["DELEGATION_RESULT"]}),h=setTimeout(()=>{p.unsubscribe(),r.delete(d),y(new Error(`[Directive Communication] Delegation timeout after ${l}ms`));},l);r.set(d,{resolve:b,reject:y,timer:h}),e.publish({type:"DELEGATION",from:t,to:i,task:f,context:u,correlationId:d});})},async query(t,i,f,u){return new Promise((b,y)=>{let d=k(),p=e.subscribe(t,m=>{(m.correlationId===d||m.replyTo===d)&&(p.unsubscribe(),g(m));},{types:["RESPONSE"]}),h=setTimeout(()=>{p.unsubscribe(),r.delete(d),y(new Error(`[Directive Communication] Query timeout after ${l}ms`));},l);r.set(d,{resolve:b,reject:y,timer:h}),e.publish({type:"QUERY",from:t,to:i,question:f,context:u,correlationId:d});})},broadcast(t,i){return e.publish({...i,from:t,to:"*",type:i.type??"INFORM"})},listen(t,i,f){let u=a.get(t);return u&&(u.status="online",u.lastSeen=Date.now(),n?.(t)),e.subscribe(t,i,f)},getBus(){return e},destroy(){for(let[,t]of r)clearTimeout(t.timer);r.clear(),a.clear();}}}function Z(s,e){let c=new Map,l=s.listen(e,async n=>{if(n.type==="REQUEST"){let o=n,a=c.get(o.action),r;if(a)try{let g=await a(o.payload);r={type:"RESPONSE",success:g.success,result:g.result,error:g.error};}catch(g){r={type:"RESPONSE",success:false,error:g instanceof Error?g.message:String(g)};}else r={type:"RESPONSE",success:false,error:`Unknown action: ${o.action}`};s.send(e,n.from,{...r,correlationId:n.correlationId??n.id,replyTo:n.correlationId??n.id});}},{types:["REQUEST"]});return {onRequest(n,o){c.set(n,o);},offRequest(n){c.delete(n);},destroy(){l.unsubscribe(),c.clear();}}}function X(s,e){let c=null,l=s.listen(e,async n=>{if(n.type==="DELEGATION"&&c){let o=n,a=Date.now(),r;try{let g=await c(o.task,o.context);r={type:"DELEGATION_RESULT",success:g.success,result:g.result,error:g.error,metrics:g.metrics??{durationMs:Date.now()-a}};}catch(g){r={type:"DELEGATION_RESULT",success:false,error:g instanceof Error?g.message:String(g),metrics:{durationMs:Date.now()-a}};}s.send(e,n.from,{...r,correlationId:n.correlationId??n.id,replyTo:n.correlationId??n.id});}},{types:["DELEGATION"]});return {onDelegation(n){c=n;},offDelegation(){c=null;},destroy(){l.unsubscribe(),c=null;}}}function ee(s,e){let c=new Map,l=s.listen(e,n=>{if(n.type==="UPDATE"){let o=n,a=c.get(o.topic)??[];for(let r of a)r(o.content);}},{types:["UPDATE"]});return {subscribe(n,o){let a=new Map;for(let r of n){let g=c.get(r)??[],t=i=>o(r,i);a.set(r,t),g.push(t),c.set(r,g);}return s.broadcast(e,{type:"SUBSCRIBE",topics:n}),()=>{for(let[r,g]of a){let t=c.get(r);if(t){let i=t.indexOf(g);i>=0&&t.splice(i,1),t.length===0&&c.delete(r);}}a.clear(),s.broadcast(e,{type:"UNSUBSCRIBE",topics:n});}},publish(n,o){s.broadcast(e,{type:"UPDATE",topic:n,content:o});},destroy(){l.unsubscribe(),c.clear();}}}function T(s){return Number.isFinite(s)?s:0}function $(s){let e=Object.keys(s),c=new Map;for(let[u,b]of Object.entries(s))for(let y of b.produces){if(c.has(y))throw new Error(`[Directive Goal] Fact key "${y}" is produced by both "${c.get(y)}" and "${u}". Each fact key must have exactly one producer.`);c.set(y,u);}let l=[],n=new Map,o=new Map;for(let u of e)n.set(u,0),o.set(u,[]);for(let[u,b]of Object.entries(s))for(let y of b.requires??[]){let d=c.get(y);d&&d!==u&&(l.push({from:d,to:u,factKey:y}),o.get(d).push(u),n.set(u,(n.get(u)??0)+1));}let a=[];for(let[u,b]of n)b===0&&a.push(u);let r=[],g=0;for(;g<a.length;){let u=a[g++];r.push(u);for(let b of o.get(u)??[]){let y=(n.get(b)??1)-1;n.set(b,y),y===0&&a.push(b);}}if(r.length!==e.length){let u=new Set(r),b=e.filter(y=>!u.has(y));throw new Error(`[Directive Goal] Circular dependency detected among agents: ${b.join(", ")}. Review their produces/requires declarations.`)}let t=r.filter(u=>(s[u].requires??[]).every(d=>!c.has(d)||c.get(d)===u)),i=new Set;for(let u of l)i.add(u.from);let f=e.filter(u=>!i.has(u));return {order:r,edges:l,roots:t,leaves:f,producers:c}}function ne(s){let e=$(s);return {order:[...e.order],edges:[...e.edges],roots:[...e.roots],leaves:[...e.leaves],producers:new Map(e.producers)}}function se(s){let e=[],c=[];Object.keys(s).length===0&&e.push("No agents declared");for(let[n,o]of Object.entries(s))o.produces.length===0&&c.push(`Agent "${n}" has no produces \u2014 it will never contribute`);let l=new Set;for(let n of Object.values(s))for(let o of n.produces)l.add(o);for(let[n,o]of Object.entries(s))for(let a of o.requires??[])l.has(a)||c.push(`Agent "${n}" requires "${a}" which no agent produces \u2014 must be in initial facts`);try{$(s);}catch(n){e.push(n instanceof Error?n.message:String(n));}return {valid:e.length===0,errors:e,warnings:c}}function re(s,e=[],c=50){let l=$(s),n=new Set;for(let i of Object.values(s))for(let f of i.produces)n.add(f);let o=[];for(let i of Object.values(s))for(let f of i.requires??[])n.has(f)||o.push(f);let a=new Set(e),r=new Set,g=[];for(let i=1;i<=c;i++){let f=l.order.filter(b=>r.has(b)?false:(s[b].requires??[]).every(p=>a.has(p)));if(f.length===0)break;let u=[];for(let b of f){r.add(b);for(let y of s[b].produces)a.has(y)||(u.push(y),a.add(y));}g.push({step:i,agents:f,availableFacts:[...a],producedFacts:u});}let t=Object.keys(s).filter(i=>!r.has(i));return {steps:g,unreachableAgents:t,externalDeps:[...new Set(o)],feasible:t.length===0}}function oe(s){let e=s.stepMetrics.map(t=>{let i=T(t.satisfaction),f=T(t.satisfactionDelta),u=t.nodesRun.join(", "),b=t.factsProduced.length>0?t.factsProduced.join(", "):"none",y=+T(i-f).toFixed(3),d=f>=0?`+${f.toFixed(3)}`:f.toFixed(3),p=`Step ${t.step}: Ran ${u}. Produced: ${b}. Satisfaction: ${y} \u2192 ${i.toFixed(3)} (${d}). ${t.tokensConsumed} tokens, ${t.durationMs}ms.`;return {step:t.step,agents:t.nodesRun,factsProduced:t.factsProduced,satisfaction:i,satisfactionDelta:f,durationMs:t.durationMs,tokensConsumed:t.tokensConsumed,description:p}}),c=s.relaxations.map(t=>{let i;switch(t.strategy){case "allow_rerun":i=`Step ${t.step}: Applied relaxation "${t.label}" \u2014 re-enabled completed nodes for another run.`;break;case "inject_facts":i=`Step ${t.step}: Applied relaxation "${t.label}" \u2014 injected fact values to unblock dependencies.`;break;case "accept_partial":i=`Step ${t.step}: Applied relaxation "${t.label}" \u2014 accepted current facts as partial result.`;break;case "alternative_nodes":i=`Step ${t.step}: Applied relaxation "${t.label}" \u2014 added alternative nodes to the graph.`;break;case "custom":i=`Step ${t.step}: Applied relaxation "${t.label}" \u2014 ran custom recovery logic.`;break;default:i=`Step ${t.step}: Applied relaxation "${t.label}" (${t.strategy}).`;}return {step:t.step,label:t.label,strategy:t.strategy,description:i}}),l=s.stepMetrics.length>0?T(s.stepMetrics[0].satisfaction-s.stepMetrics[0].satisfactionDelta).toFixed(3):"0",n=s.stepMetrics.length>0?T(s.stepMetrics[s.stepMetrics.length-1].satisfaction).toFixed(3):"0",o=s.achieved?"Goal achieved":"Goal not achieved",a=s.relaxations.length>0?` ${s.relaxations.length} relaxation(s) applied.`:"",r=s.error?` Error: ${s.error}`:"",g=`${o} in ${s.steps} step(s) (${s.totalTokens.toLocaleString()} tokens, ${s.durationMs}ms). Satisfaction: ${l} \u2192 ${n}.${a}${r}`;return {achieved:s.achieved,summary:g,steps:e,relaxations:c,totalTokens:s.totalTokens,durationMs:s.durationMs}}exports.a=Y;exports.b=V;exports.c=J;exports.d=Z;exports.e=X;exports.f=ee;exports.g=ne;exports.h=se;exports.i=re;exports.j=oe;//# sourceMappingURL=chunk-JMG5GZAH.cjs.map
6
- //# sourceMappingURL=chunk-JMG5GZAH.cjs.map
5
+ `}function k(){return globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}`}function V(s={}){let{maxHistory:e=1e3,defaultTtlMs:c=36e5,maxPendingPerAgent:l=100,persistence:n,onDelivery:o,onDeliveryError:a}=s,r=new Map,g=[],t=new Map,i=new Map;function f(d,p){if(p.types&&!p.types.includes(d.type)||p.from&&!(Array.isArray(p.from)?p.from:[p.from]).includes(d.from))return false;if(p.topics){let h=d.topic;if(h&&!p.topics.includes(h))return false}return !(p.priority&&d.priority&&!p.priority.includes(d.priority)||p.custom&&!p.custom(d))}function u(d){return d.ttlMs?Date.now()-d.timestamp>d.ttlMs:false}function b(d){return d.to==="*"?Array.from(r.keys()):Array.isArray(d.to)?d.to:[d.to]}async function y(d){if(u(d))return;let p=b(d),h=[],m=[];for(let S of p){let v=r.get(S)??[];if(v.length===0){let A=i.get(S)??[];for(A.push(d);A.length>l;)A.shift();i.set(S,A);continue}for(let A of v)(!A.filter||f(d,A.filter))&&m.push(Promise.resolve(A.handler(d)).then(()=>{h.push(S);},x=>{a?.(d,x instanceof Error?x:new Error(String(x)));}));}m.length>0&&await Promise.allSettled(m),h.length>0&&o?.(d,h),n&&await n.save(d);}return {publish(d){let p={...d,id:k(),timestamp:Date.now(),priority:d.priority??"normal",ttlMs:d.ttlMs??c};for(g.push(p),t.set(p.id,p);g.length>e;){let h=g.shift();h&&t.delete(h.id);}return y(p).catch(h=>{let m=h instanceof Error?h:new Error(String(h));a?a(p,m):console.error("[Directive MessageBus] Delivery error:",m);}),p.id},subscribe(d,p,h){let m=k(),S={id:m,agentId:d,handler:p,filter:h,unsubscribe:()=>{let x=r.get(d)??[],E=x.findIndex(R=>R.id===m);E>=0&&x.splice(E,1);}},v=r.get(d)??[];v.push(S),r.set(d,v);let A=i.get(d)??[];i.delete(d);for(let x of A)if(!h||f(x,h)){let E=p(x);E instanceof Promise&&E.catch(R=>{let D=R instanceof Error?R:new Error(String(R));a?a(x,D):console.error("[Directive MessageBus] Pending delivery error:",D);});}return S},getHistory(d,p=100){let h=g.filter(m=>!u(m));return d&&(h=h.filter(m=>f(m,d))),h.slice(-p)},getMessage(d){let p=t.get(d);if(!(p&&u(p)))return p},getPending(d){return (i.get(d)??[]).filter(h=>!u(h))},clear(){g.length=0,t.clear(),i.clear();},destroy(){g.length=0,t.clear(),i.clear(),r.clear();}}}function J(s){let{bus:e,agents:c={},defaultTimeout:l=3e4,onAgentOnline:n,onAgentOffline:o}=s,a=new Map,r=new Map;for(let[t,i]of Object.entries(c))a.set(t,{...i,id:t,status:"offline",lastSeen:Date.now()});function g(t){if(t.type!=="RESPONSE"&&t.type!=="DELEGATION_RESULT")return;let i=t.correlationId??t.replyTo;if(!i)return;let f=r.get(i);f&&(clearTimeout(f.timer),r.delete(i),f.resolve(t));}return {register(t,i){let f=!a.has(t)||a.get(t)?.status==="offline";a.set(t,{...i,id:t,status:"online",lastSeen:Date.now()}),f&&n?.(t);},unregister(t){let i=a.get(t);i&&(i.status="offline",o?.(t));},getAgent(t){return a.get(t)},getAgents(){return Array.from(a.values())},findByCapability(t){return Array.from(a.values()).filter(i=>i.capabilities.includes(t)&&i.status==="online")},send(t,i,f){let u=a.get(t);return u&&(u.lastSeen=Date.now(),u.status="online"),e.publish({...f,from:t,to:i,type:f.type??"CUSTOM"})},async request(t,i,f,u,b=l){return new Promise((y,d)=>{let p=k(),h=e.subscribe(t,S=>{(S.correlationId===p||S.replyTo===p)&&(h.unsubscribe(),g(S));},{types:["RESPONSE"]}),m=setTimeout(()=>{h.unsubscribe(),r.delete(p),d(new Error(`[Directive Communication] Request timeout after ${b}ms`));},b);r.set(p,{resolve:y,reject:d,timer:m}),e.publish({type:"REQUEST",from:t,to:i,action:f,payload:u,timeout:b,correlationId:p});})},async delegate(t,i,f,u){return new Promise((b,y)=>{let d=k(),p=e.subscribe(t,m=>{(m.correlationId===d||m.replyTo===d)&&(p.unsubscribe(),g(m));},{types:["DELEGATION_RESULT"]}),h=setTimeout(()=>{p.unsubscribe(),r.delete(d),y(new Error(`[Directive Communication] Delegation timeout after ${l}ms`));},l);r.set(d,{resolve:b,reject:y,timer:h}),e.publish({type:"DELEGATION",from:t,to:i,task:f,context:u,correlationId:d});})},async query(t,i,f,u){return new Promise((b,y)=>{let d=k(),p=e.subscribe(t,m=>{(m.correlationId===d||m.replyTo===d)&&(p.unsubscribe(),g(m));},{types:["RESPONSE"]}),h=setTimeout(()=>{p.unsubscribe(),r.delete(d),y(new Error(`[Directive Communication] Query timeout after ${l}ms`));},l);r.set(d,{resolve:b,reject:y,timer:h}),e.publish({type:"QUERY",from:t,to:i,question:f,context:u,correlationId:d});})},broadcast(t,i){return e.publish({...i,from:t,to:"*",type:i.type??"INFORM"})},listen(t,i,f){let u=a.get(t);return u&&(u.status="online",u.lastSeen=Date.now(),n?.(t)),e.subscribe(t,i,f)},getBus(){return e},destroy(){for(let[,t]of r)clearTimeout(t.timer);r.clear(),a.clear();}}}function Z(s,e){let c=new Map,l=s.listen(e,async n=>{if(n.type==="REQUEST"){let o=n,a=c.get(o.action),r;if(a)try{let g=await a(o.payload);r={type:"RESPONSE",success:g.success,result:g.result,error:g.error};}catch(g){r={type:"RESPONSE",success:false,error:g instanceof Error?g.message:String(g)};}else r={type:"RESPONSE",success:false,error:`Unknown action: ${o.action}`};s.send(e,n.from,{...r,correlationId:n.correlationId??n.id,replyTo:n.correlationId??n.id});}},{types:["REQUEST"]});return {onRequest(n,o){c.set(n,o);},offRequest(n){c.delete(n);},destroy(){l.unsubscribe(),c.clear();}}}function X(s,e){let c=null,l=s.listen(e,async n=>{if(n.type==="DELEGATION"&&c){let o=n,a=Date.now(),r;try{let g=await c(o.task,o.context);r={type:"DELEGATION_RESULT",success:g.success,result:g.result,error:g.error,metrics:g.metrics??{durationMs:Date.now()-a}};}catch(g){r={type:"DELEGATION_RESULT",success:false,error:g instanceof Error?g.message:String(g),metrics:{durationMs:Date.now()-a}};}s.send(e,n.from,{...r,correlationId:n.correlationId??n.id,replyTo:n.correlationId??n.id});}},{types:["DELEGATION"]});return {onDelegation(n){c=n;},offDelegation(){c=null;},destroy(){l.unsubscribe(),c=null;}}}function ee(s,e){let c=new Map,l=s.listen(e,n=>{if(n.type==="UPDATE"){let o=n,a=c.get(o.topic)??[];for(let r of a)r(o.content);}},{types:["UPDATE"]});return {subscribe(n,o){let a=new Map;for(let r of n){let g=c.get(r)??[],t=i=>o(r,i);a.set(r,t),g.push(t),c.set(r,g);}return s.broadcast(e,{type:"SUBSCRIBE",topics:n}),()=>{for(let[r,g]of a){let t=c.get(r);if(t){let i=t.indexOf(g);i>=0&&t.splice(i,1),t.length===0&&c.delete(r);}}a.clear(),s.broadcast(e,{type:"UNSUBSCRIBE",topics:n});}},publish(n,o){s.broadcast(e,{type:"UPDATE",topic:n,content:o});},destroy(){l.unsubscribe(),c.clear();}}}function T(s){return Number.isFinite(s)?s:0}function $(s){let e=Object.keys(s),c=new Map;for(let[u,b]of Object.entries(s))for(let y of b.produces){if(c.has(y))throw new Error(`[Directive Goal] Fact key "${y}" is produced by both "${c.get(y)}" and "${u}". Each fact key must have exactly one producer.`);c.set(y,u);}let l=[],n=new Map,o=new Map;for(let u of e)n.set(u,0),o.set(u,[]);for(let[u,b]of Object.entries(s))for(let y of b.requires??[]){let d=c.get(y);d&&d!==u&&(l.push({from:d,to:u,factKey:y}),o.get(d).push(u),n.set(u,(n.get(u)??0)+1));}let a=[];for(let[u,b]of n)b===0&&a.push(u);let r=[],g=0;for(;g<a.length;){let u=a[g++];r.push(u);for(let b of o.get(u)??[]){let y=(n.get(b)??1)-1;n.set(b,y),y===0&&a.push(b);}}if(r.length!==e.length){let u=new Set(r),b=e.filter(y=>!u.has(y));throw new Error(`[Directive Goal] Circular dependency detected among agents: ${b.join(", ")}. Review their produces/requires declarations.`)}let t=r.filter(u=>(s[u].requires??[]).every(d=>!c.has(d)||c.get(d)===u)),i=new Set;for(let u of l)i.add(u.from);let f=e.filter(u=>!i.has(u));return {order:r,edges:l,roots:t,leaves:f,producers:c}}function ne(s){let e=$(s);return {order:[...e.order],edges:[...e.edges],roots:[...e.roots],leaves:[...e.leaves],producers:new Map(e.producers)}}function se(s){let e=[],c=[];Object.keys(s).length===0&&e.push("No agents declared");for(let[n,o]of Object.entries(s))o.produces.length===0&&c.push(`Agent "${n}" has no produces \u2014 it will never contribute`);let l=new Set;for(let n of Object.values(s))for(let o of n.produces)l.add(o);for(let[n,o]of Object.entries(s))for(let a of o.requires??[])l.has(a)||c.push(`Agent "${n}" requires "${a}" which no agent produces \u2014 must be in initial facts`);try{$(s);}catch(n){e.push(n instanceof Error?n.message:String(n));}return {valid:e.length===0,errors:e,warnings:c}}function re(s,e=[],c=50){let l=$(s),n=new Set;for(let i of Object.values(s))for(let f of i.produces)n.add(f);let o=[];for(let i of Object.values(s))for(let f of i.requires??[])n.has(f)||o.push(f);let a=new Set(e),r=new Set,g=[];for(let i=1;i<=c;i++){let f=l.order.filter(b=>r.has(b)?false:(s[b].requires??[]).every(p=>a.has(p)));if(f.length===0)break;let u=[];for(let b of f){r.add(b);for(let y of s[b].produces)a.has(y)||(u.push(y),a.add(y));}g.push({step:i,agents:f,availableFacts:[...a],producedFacts:u});}let t=Object.keys(s).filter(i=>!r.has(i));return {steps:g,unreachableAgents:t,externalDeps:[...new Set(o)],feasible:t.length===0}}function oe(s){let e=s.stepMetrics.map(t=>{let i=T(t.satisfaction),f=T(t.satisfactionDelta),u=t.nodesRun.join(", "),b=t.factsProduced.length>0?t.factsProduced.join(", "):"none",y=+T(i-f).toFixed(3),d=f>=0?`+${f.toFixed(3)}`:f.toFixed(3),p=`Step ${t.step}: Ran ${u}. Produced: ${b}. Satisfaction: ${y} \u2192 ${i.toFixed(3)} (${d}). ${t.tokensConsumed} tokens, ${t.durationMs}ms.`;return {step:t.step,agents:t.nodesRun,factsProduced:t.factsProduced,satisfaction:i,satisfactionDelta:f,durationMs:t.durationMs,tokensConsumed:t.tokensConsumed,description:p}}),c=s.relaxations.map(t=>{let i;switch(t.strategy){case "allow_rerun":i=`Step ${t.step}: Applied relaxation "${t.label}" \u2014 re-enabled completed nodes for another run.`;break;case "inject_facts":i=`Step ${t.step}: Applied relaxation "${t.label}" \u2014 injected fact values to unblock dependencies.`;break;case "accept_partial":i=`Step ${t.step}: Applied relaxation "${t.label}" \u2014 accepted current facts as partial result.`;break;case "alternative_nodes":i=`Step ${t.step}: Applied relaxation "${t.label}" \u2014 added alternative nodes to the graph.`;break;case "custom":i=`Step ${t.step}: Applied relaxation "${t.label}" \u2014 ran custom recovery logic.`;break;default:i=`Step ${t.step}: Applied relaxation "${t.label}" (${t.strategy}).`;}return {step:t.step,label:t.label,strategy:t.strategy,description:i}}),l=s.stepMetrics.length>0?T(s.stepMetrics[0].satisfaction-s.stepMetrics[0].satisfactionDelta).toFixed(3):"0",n=s.stepMetrics.length>0?T(s.stepMetrics[s.stepMetrics.length-1].satisfaction).toFixed(3):"0",o=s.achieved?"Goal achieved":"Goal not achieved",a=s.relaxations.length>0?` ${s.relaxations.length} relaxation(s) applied.`:"",r=s.error?` Error: ${s.error}`:"",g=`${o} in ${s.steps} step(s) (${s.totalTokens.toLocaleString()} tokens, ${s.durationMs}ms). Satisfaction: ${l} \u2192 ${n}.${a}${r}`;return {achieved:s.achieved,summary:g,steps:e,relaxations:c,totalTokens:s.totalTokens,durationMs:s.durationMs}}exports.a=Y;exports.b=V;exports.c=J;exports.d=Z;exports.e=X;exports.f=ee;exports.g=ne;exports.h=se;exports.i=re;exports.j=oe;//# sourceMappingURL=chunk-L7QHLH6U.cjs.map
6
+ //# sourceMappingURL=chunk-L7QHLH6U.cjs.map