@directive-run/ai 1.13.0 → 1.14.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 (122) hide show
  1. package/dist/anthropic.d.cts +1 -1
  2. package/dist/anthropic.d.ts +1 -1
  3. package/dist/{chunk-XV2QSBBE.cjs → chunk-2TD4ZSGZ.cjs} +7 -7
  4. package/dist/{chunk-XV2QSBBE.cjs.map → chunk-2TD4ZSGZ.cjs.map} +1 -1
  5. package/dist/chunk-5JQ2A3JK.js +2 -0
  6. package/dist/chunk-5JQ2A3JK.js.map +1 -0
  7. package/dist/chunk-A22KLB23.cjs +67 -0
  8. package/dist/chunk-A22KLB23.cjs.map +1 -0
  9. package/dist/chunk-A5K77UDX.cjs +4 -0
  10. package/dist/chunk-A5K77UDX.cjs.map +1 -0
  11. package/dist/chunk-DN5NAJM6.js +6 -0
  12. package/dist/chunk-DN5NAJM6.js.map +1 -0
  13. package/dist/chunk-FABDFT74.cjs +6 -0
  14. package/dist/chunk-FABDFT74.cjs.map +1 -0
  15. package/dist/chunk-FBT73WFY.js +2 -0
  16. package/dist/chunk-FBT73WFY.js.map +1 -0
  17. package/dist/chunk-FFRWQNK7.cjs +7 -0
  18. package/dist/chunk-FFRWQNK7.cjs.map +1 -0
  19. package/dist/chunk-IR3IHBVQ.cjs +2 -0
  20. package/dist/chunk-IR3IHBVQ.cjs.map +1 -0
  21. package/dist/chunk-IUGSMTBE.js +16 -0
  22. package/dist/{chunk-Q3PQLWBR.js.map → chunk-IUGSMTBE.js.map} +1 -1
  23. package/dist/chunk-J2Q5KKPN.js +37 -0
  24. package/dist/chunk-J2Q5KKPN.js.map +1 -0
  25. package/dist/chunk-K64WKZ22.cjs +2 -0
  26. package/dist/chunk-K64WKZ22.cjs.map +1 -0
  27. package/dist/chunk-LKY4K5TV.cjs +11 -0
  28. package/dist/chunk-LKY4K5TV.cjs.map +1 -0
  29. package/dist/chunk-LXUMJKGJ.js +67 -0
  30. package/dist/chunk-LXUMJKGJ.js.map +1 -0
  31. package/dist/chunk-NNAQ4ZH2.js +11 -0
  32. package/dist/chunk-NNAQ4ZH2.js.map +1 -0
  33. package/dist/chunk-PD772MSE.cjs +30 -0
  34. package/dist/chunk-PD772MSE.cjs.map +1 -0
  35. package/dist/chunk-POBEEJR6.js +30 -0
  36. package/dist/chunk-POBEEJR6.js.map +1 -0
  37. package/dist/chunk-QRXWLD6H.js +4 -0
  38. package/dist/chunk-QRXWLD6H.js.map +1 -0
  39. package/dist/chunk-UR4ZGO7V.js +7 -0
  40. package/dist/chunk-UR4ZGO7V.js.map +1 -0
  41. package/dist/chunk-UR5BMWEN.js +2 -0
  42. package/dist/chunk-UR5BMWEN.js.map +1 -0
  43. package/dist/chunk-WOFIBIPW.cjs +2 -0
  44. package/dist/chunk-WOFIBIPW.cjs.map +1 -0
  45. package/dist/chunk-XN5LUOVS.cjs +37 -0
  46. package/dist/chunk-XN5LUOVS.cjs.map +1 -0
  47. package/dist/debug-timeline-DpnRMnLU.d.cts +87 -0
  48. package/dist/debug-timeline-L13P-U2I.d.ts +87 -0
  49. package/dist/devtools.cjs +2 -0
  50. package/dist/devtools.cjs.map +1 -0
  51. package/dist/devtools.d.cts +354 -0
  52. package/dist/devtools.d.ts +354 -0
  53. package/dist/devtools.js +2 -0
  54. package/dist/devtools.js.map +1 -0
  55. package/dist/evals.cjs +2 -0
  56. package/dist/evals.cjs.map +1 -0
  57. package/dist/evals.d.cts +361 -0
  58. package/dist/evals.d.ts +361 -0
  59. package/dist/evals.js +2 -0
  60. package/dist/evals.js.map +1 -0
  61. package/dist/gemini.d.cts +1 -1
  62. package/dist/gemini.d.ts +1 -1
  63. package/dist/guardrails.cjs +2 -0
  64. package/dist/guardrails.cjs.map +1 -0
  65. package/dist/guardrails.d.cts +618 -0
  66. package/dist/guardrails.d.ts +618 -0
  67. package/dist/guardrails.js +2 -0
  68. package/dist/guardrails.js.map +1 -0
  69. package/dist/health-monitor-C6xoXrQz.d.cts +55 -0
  70. package/dist/health-monitor-qL9RNMH3.d.ts +55 -0
  71. package/dist/index.cjs +21 -99
  72. package/dist/index.cjs.map +1 -1
  73. package/dist/index.d.cts +1197 -4735
  74. package/dist/index.d.ts +1197 -4735
  75. package/dist/index.js +21 -99
  76. package/dist/index.js.map +1 -1
  77. package/dist/mcp.cjs +2 -0
  78. package/dist/mcp.cjs.map +1 -0
  79. package/dist/mcp.d.cts +450 -0
  80. package/dist/mcp.d.ts +450 -0
  81. package/dist/mcp.js +2 -0
  82. package/dist/mcp.js.map +1 -0
  83. package/dist/multi-agent-orchestrator-QWWQKKGX.js +2 -0
  84. package/dist/{multi-agent-orchestrator-4PXNYRHB.js.map → multi-agent-orchestrator-QWWQKKGX.js.map} +1 -1
  85. package/dist/multi-agent-orchestrator-Y5U4JCFO.cjs +2 -0
  86. package/dist/{multi-agent-orchestrator-KFGTEGE5.cjs.map → multi-agent-orchestrator-Y5U4JCFO.cjs.map} +1 -1
  87. package/dist/multi-agent.cjs +2 -0
  88. package/dist/multi-agent.cjs.map +1 -0
  89. package/dist/multi-agent.d.cts +1429 -0
  90. package/dist/multi-agent.d.ts +1429 -0
  91. package/dist/multi-agent.js +2 -0
  92. package/dist/multi-agent.js.map +1 -0
  93. package/dist/ollama.d.cts +1 -1
  94. package/dist/ollama.d.ts +1 -1
  95. package/dist/openai.d.cts +2 -2
  96. package/dist/openai.d.ts +2 -2
  97. package/dist/{orchestrator-types-CTfIKk0W.d.ts → orchestrator-types-DGBhL6mc.d.ts} +5 -138
  98. package/dist/{orchestrator-types-Bh8r3_Sq.d.cts → orchestrator-types-DeIMRLR7.d.cts} +5 -138
  99. package/dist/predicate.cjs +2 -0
  100. package/dist/predicate.cjs.map +1 -0
  101. package/dist/predicate.d.cts +371 -0
  102. package/dist/predicate.d.ts +371 -0
  103. package/dist/predicate.js +2 -0
  104. package/dist/predicate.js.map +1 -0
  105. package/dist/{semantic-cache-nBpQqILc.d.cts → semantic-cache-DM7ev7NQ.d.cts} +1 -1
  106. package/dist/{semantic-cache-nBpQqILc.d.ts → semantic-cache-DM7ev7NQ.d.ts} +1 -1
  107. package/dist/testing.cjs +1 -1
  108. package/dist/testing.cjs.map +1 -1
  109. package/dist/testing.d.cts +4 -2
  110. package/dist/testing.d.ts +4 -2
  111. package/dist/testing.js +1 -1
  112. package/dist/testing.js.map +1 -1
  113. package/dist/{types-CRmwFnVk.d.cts → types-DJ09LjZX.d.cts} +1 -1
  114. package/dist/{types-CRmwFnVk.d.ts → types-DJ09LjZX.d.ts} +1 -1
  115. package/package.json +32 -2
  116. package/dist/chunk-Q3PQLWBR.js +0 -16
  117. package/dist/chunk-RW4R3O5P.js +0 -72
  118. package/dist/chunk-RW4R3O5P.js.map +0 -1
  119. package/dist/chunk-X3VQ5F7D.cjs +0 -72
  120. package/dist/chunk-X3VQ5F7D.cjs.map +0 -1
  121. package/dist/multi-agent-orchestrator-4PXNYRHB.js +0 -2
  122. package/dist/multi-agent-orchestrator-KFGTEGE5.cjs +0 -2
@@ -1,4 +1,4 @@
1
- import { a as AdapterHooks, b as AgentRunner, aX as StreamingCallbackRunner } from './types-CRmwFnVk.cjs';
1
+ import { o as AdapterHooks, c as AgentRunner, p as StreamingCallbackRunner } from './types-DJ09LjZX.cjs';
2
2
  import '@directive-run/core';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { a as AdapterHooks, b as AgentRunner, aX as StreamingCallbackRunner } from './types-CRmwFnVk.js';
1
+ import { o as AdapterHooks, c as AgentRunner, p as StreamingCallbackRunner } from './types-DJ09LjZX.js';
2
2
  import '@directive-run/core';
3
3
 
4
4
  /**
@@ -1,16 +1,16 @@
1
- 'use strict';var chunkX3VQ5F7D_cjs=require('./chunk-X3VQ5F7D.cjs'),core=require('@directive-run/core'),adapterUtils=require('@directive-run/core/adapter-utils');var Ue=500,je=200;function bt(me){let{runner:V,factsSchema:ge={},init:fe,constraints:He={},resolvers:We={},guardrails:P={},onApprovalRequest:re,autoApproveToolCalls:ne=true,maxTokenBudget:H,budgetWarningThreshold:J=.8,onBudgetWarning:he,plugins:Xe=[],debug:ke=false,approvalTimeoutMs:ae=3e5,agentRetry:z,hooks:ve={},memory:_,circuitBreaker:oe,selfHealing:T,outputSchema:Ke,maxSchemaRetries:Ye,checkpointStore:be,breakpoints:S,onBreakpoint:Ve,breakpointTimeoutMs:Je}=me,C=typeof ke=="object"?true:!!ke,se=5e3;if(C&&T&&!oe&&console.warn("[Directive] selfHealing config has no effect without a circuitBreaker \u2014 fallback behavior requires the circuit breaker to detect failures."),J<0||J>1)throw new Error(`[Directive Orchestrator] budgetWarningThreshold must be between 0 and 1, got ${J}`);if(!ne&&!re)throw new Error(`[Directive] Invalid approval configuration: autoApproveToolCalls is false but no onApprovalRequest callback provided. Tool calls would wait for approval indefinitely. Either:
1
+ 'use strict';var chunkA22KLB23_cjs=require('./chunk-A22KLB23.cjs'),chunkK64WKZ22_cjs=require('./chunk-K64WKZ22.cjs'),chunkWOFIBIPW_cjs=require('./chunk-WOFIBIPW.cjs'),chunkFFRWQNK7_cjs=require('./chunk-FFRWQNK7.cjs'),core=require('@directive-run/core'),adapterUtils=require('@directive-run/core/adapter-utils');var Ue=500,je=200;function bt(me){let{runner:V,factsSchema:ge={},init:fe,constraints:He={},resolvers:We={},guardrails:P={},onApprovalRequest:re,autoApproveToolCalls:ne=true,maxTokenBudget:H,budgetWarningThreshold:J=.8,onBudgetWarning:he,plugins:Xe=[],debug:ke=false,approvalTimeoutMs:ae=3e5,agentRetry:z,hooks:ve={},memory:_,circuitBreaker:oe,selfHealing:T,outputSchema:Ke,maxSchemaRetries:Ye,checkpointStore:be,breakpoints:S,onBreakpoint:Ve,breakpointTimeoutMs:Je}=me,C=typeof ke=="object"?true:!!ke,se=5e3;if(C&&T&&!oe&&console.warn("[Directive] selfHealing config has no effect without a circuitBreaker \u2014 fallback behavior requires the circuit breaker to detect failures."),J<0||J>1)throw new Error(`[Directive Orchestrator] budgetWarningThreshold must be between 0 and 1, got ${J}`);if(!ne&&!re)throw new Error(`[Directive] Invalid approval configuration: autoApproveToolCalls is false but no onApprovalRequest callback provided. Tool calls would wait for approval indefinitely. Either:
2
2
  - Set autoApproveToolCalls: true to auto-approve all tool calls
3
- - Provide an onApprovalRequest callback to handle approvals programmatically`);function $(e,r){try{ve[e]?.(r);}catch(o){C&&console.debug(`[Directive] hooks.${e} threw:`,o);}}let ye=["agent","approval","conversation","toolCalls"];for(let e of Object.keys(ge))if(ye.includes(e))throw new Error(`[Directive] Facts schema key "${e}" conflicts with orchestrator state. Reserved keys: ${ye.join(", ")}. Rename your fact to avoid the collision.`);let ze={facts:{...chunkX3VQ5F7D_cjs.f.facts,...ge,__budgetWarningFired:core.t.boolean()},derivations:{},events:{},requirements:{}},Te,t,we=chunkX3VQ5F7D_cjs.y(He);H&&(we.__budgetLimit={priority:100,when:e=>chunkX3VQ5F7D_cjs.n(e).tokenUsage>H,require:{type:"__PAUSE_BUDGET_EXCEEDED"}});let Re=chunkX3VQ5F7D_cjs.z(We,(e,r,o,a)=>Te(e,r,o,a),()=>t.facts);Re.__pause={requirement:adapterUtils.requirementGuard("__PAUSE_BUDGET_EXCEEDED"),resolve:async(e,r)=>{let o=chunkX3VQ5F7D_cjs.n(r.facts);chunkX3VQ5F7D_cjs.o(r.facts,{...o,status:"paused"});}};let f=null;C&&(f=chunkX3VQ5F7D_cjs.i({getSnapshotId:()=>{try{return t.history?.currentIndex??null}catch{return null}},goToSnapshot:e=>{try{t.history?.goTo?.(e);}catch{}}}));let Qe=adapterUtils.createCallbackPlugin("directive-ai-callbacks",{}),Ze=core.createModule("directive-ai-orchestrator",{schema:ze,init:e=>{if(chunkX3VQ5F7D_cjs.o(e,{status:"idle",currentAgent:null,input:null,output:null,error:null,tokenUsage:0,turnCount:0,startedAt:null,completedAt:null}),chunkX3VQ5F7D_cjs.q(e,{pending:[],approved:[],rejected:[]}),chunkX3VQ5F7D_cjs.s(e,[]),chunkX3VQ5F7D_cjs.u(e,[]),chunkX3VQ5F7D_cjs.w(e,{pending:[],resolved:[],cancelled:[]}),adapterUtils.setBridgeFact(e,"__budgetWarningFired",false),fe){let r=chunkX3VQ5F7D_cjs.x(e),o={...e,...r};fe(o);}},constraints:we,resolvers:Re}),Ae=[...Xe,Qe];C&&f&&Ae.push(chunkX3VQ5F7D_cjs.j(f,()=>{try{return t.history?.currentIndex??null}catch{return null}})),t=core.createSystem({module:Ze,plugins:Ae,history:C?true:void 0}),t.start();async function Se(e,r,o,a,i){if(oe)try{return await oe.execute(()=>Ce(e,r,o,a,i))}catch(u){if(T){if(T.fallbackRunners)for(let m of T.fallbackRunners)try{let b={originalAgent:e.name,reroutedTo:"fallback-runner",reason:u instanceof Error?u.message:String(u),timestamp:Date.now()};try{T.onReroute?.(b);}catch{}return f&&f.record({type:"reroute",timestamp:Date.now(),agentId:e.name,snapshotId:null,from:e.name,to:"fallback-runner",reason:u instanceof Error?u.message:String(u)}),await m(e,r,a)}catch{}if(T.fallbackAgent)try{let m={originalAgent:e.name,reroutedTo:T.fallbackAgent.name,reason:u instanceof Error?u.message:String(u),timestamp:Date.now()};try{T.onReroute?.(m);}catch{}return f&&f.record({type:"reroute",timestamp:Date.now(),agentId:e.name,snapshotId:null,from:e.name,to:T.fallbackAgent.name,reason:u instanceof Error?u.message:String(u)}),await V(T.fallbackAgent,r,a)}catch{}if(T.degradation==="fallback-response"&&T.fallbackResponse!==void 0)return {output:T.fallbackResponse,messages:[],toolCalls:[],totalTokens:0}}throw u}return Ce(e,r,o,a,i)}async function Ce(e,r,o,a,i){let u=Date.now();if(_){let n=_.getContextMessages();if(n.length>0){let c=n.map(v=>`${v.role}: ${v.content}`).join(`
3
+ - Provide an onApprovalRequest callback to handle approvals programmatically`);function $(e,r){try{ve[e]?.(r);}catch(o){C&&console.debug(`[Directive] hooks.${e} threw:`,o);}}let ye=["agent","approval","conversation","toolCalls"];for(let e of Object.keys(ge))if(ye.includes(e))throw new Error(`[Directive] Facts schema key "${e}" conflicts with orchestrator state. Reserved keys: ${ye.join(", ")}. Rename your fact to avoid the collision.`);let ze={facts:{...chunkK64WKZ22_cjs.i.facts,...ge,__budgetWarningFired:core.t.boolean()},derivations:{},events:{},requirements:{}},Te,t,we=chunkA22KLB23_cjs.q(He);H&&(we.__budgetLimit={priority:100,when:e=>chunkA22KLB23_cjs.f(e).tokenUsage>H,require:{type:"__PAUSE_BUDGET_EXCEEDED"}});let Re=chunkA22KLB23_cjs.r(We,(e,r,o,a)=>Te(e,r,o,a),()=>t.facts);Re.__pause={requirement:adapterUtils.requirementGuard("__PAUSE_BUDGET_EXCEEDED"),resolve:async(e,r)=>{let o=chunkA22KLB23_cjs.f(r.facts);chunkA22KLB23_cjs.g(r.facts,{...o,status:"paused"});}};let f=null;C&&(f=chunkWOFIBIPW_cjs.a({getSnapshotId:()=>{try{return t.history?.currentIndex??null}catch{return null}},goToSnapshot:e=>{try{t.history?.goTo?.(e);}catch{}}}));let Qe=adapterUtils.createCallbackPlugin("directive-ai-callbacks",{}),Ze=core.createModule("directive-ai-orchestrator",{schema:ze,init:e=>{if(chunkA22KLB23_cjs.g(e,{status:"idle",currentAgent:null,input:null,output:null,error:null,tokenUsage:0,turnCount:0,startedAt:null,completedAt:null}),chunkA22KLB23_cjs.i(e,{pending:[],approved:[],rejected:[]}),chunkA22KLB23_cjs.k(e,[]),chunkA22KLB23_cjs.m(e,[]),chunkA22KLB23_cjs.o(e,{pending:[],resolved:[],cancelled:[]}),adapterUtils.setBridgeFact(e,"__budgetWarningFired",false),fe){let r=chunkA22KLB23_cjs.p(e),o={...e,...r};fe(o);}},constraints:we,resolvers:Re}),Ae=[...Xe,Qe];C&&f&&Ae.push(chunkWOFIBIPW_cjs.b(f,()=>{try{return t.history?.currentIndex??null}catch{return null}})),t=core.createSystem({module:Ze,plugins:Ae,history:C?true:void 0}),t.start();async function Se(e,r,o,a,i){if(oe)try{return await oe.execute(()=>Ce(e,r,o,a,i))}catch(u){if(T){if(T.fallbackRunners)for(let m of T.fallbackRunners)try{let b={originalAgent:e.name,reroutedTo:"fallback-runner",reason:u instanceof Error?u.message:String(u),timestamp:Date.now()};try{T.onReroute?.(b);}catch{}return f&&f.record({type:"reroute",timestamp:Date.now(),agentId:e.name,snapshotId:null,from:e.name,to:"fallback-runner",reason:u instanceof Error?u.message:String(u)}),await m(e,r,a)}catch{}if(T.fallbackAgent)try{let m={originalAgent:e.name,reroutedTo:T.fallbackAgent.name,reason:u instanceof Error?u.message:String(u),timestamp:Date.now()};try{T.onReroute?.(m);}catch{}return f&&f.record({type:"reroute",timestamp:Date.now(),agentId:e.name,snapshotId:null,from:e.name,to:T.fallbackAgent.name,reason:u instanceof Error?u.message:String(u)}),await V(T.fallbackAgent,r,a)}catch{}if(T.degradation==="fallback-response"&&T.fallbackResponse!==void 0)return {output:T.fallbackResponse,messages:[],toolCalls:[],totalTokens:0}}throw u}return Ce(e,r,o,a,i)}async function Ce(e,r,o,a,i){let u=Date.now();if(_){let n=_.getContextMessages();if(n.length>0){let c=n.map(v=>`${v.role}: ${v.content}`).join(`
4
4
  `);e={...e,instructions:(e.instructions??"")+`
5
5
 
6
6
  Conversation context:
7
- `+c};}}if(me.metaContext){let n=chunkX3VQ5F7D_cjs.g(t.inspect());n&&(e={...e,instructions:(e.instructions??"")+`
7
+ `+c};}}if(me.metaContext){let n=chunkA22KLB23_cjs.a(t.inspect());n&&(e={...e,instructions:(e.instructions??"")+`
8
8
 
9
- `+n});}if(S&&S.length>0){let n={agentId:e.name,agentName:e.name,input:r,state:t.facts.$store.toObject(),breakpointType:"pre_input_guardrails"},c=await Q("pre_input_guardrails",n,i?.signal??a?.signal);if(c?.skip)return {output:void 0,messages:[],toolCalls:[],totalTokens:0};c?.input&&(r=c.input);}let m=i?.inputGuardrails!==void 0?i.inputGuardrails:P.input??[],b=i?.outputGuardrails!==void 0?i.outputGuardrails:P.output??[],D=m.map((n,c)=>chunkX3VQ5F7D_cjs.k(n,c,"input"));for(let n of D){let{name:c}=n,v={agentName:e.name,input:r,facts:t.facts.$store.toObject()},d=Date.now(),p=await chunkX3VQ5F7D_cjs.l(n,{input:r,agentName:e.name},v);if($("onGuardrailCheck",{agentId:e.name,guardrailName:c,guardrailType:"input",passed:p.passed,reason:p.reason,durationMs:Date.now()-d,timestamp:Date.now()}),!p.passed)throw new chunkX3VQ5F7D_cjs.a({code:"INPUT_GUARDRAIL_FAILED",message:`Input guardrail "${c}" failed: ${p.reason}`,guardrailName:c,guardrailType:"input",userMessage:p.reason??"Input validation failed",agentName:e.name,input:r});p.transformed!==void 0&&(r=p.transformed);}if($("onAgentStart",{agentName:e.name,input:r,timestamp:u}),f&&f.record({type:"agent_start",timestamp:Date.now(),agentId:e.name,snapshotId:null,inputLength:r.length,modelId:e.model??void 0,...e.instructions?{instructions:e.instructions.slice(0,se)}:{},input:r.slice(0,se)}),t.batch(()=>{let n=chunkX3VQ5F7D_cjs.n(t.facts);chunkX3VQ5F7D_cjs.o(t.facts,{...n,status:"running",currentAgent:e.name,input:r,startedAt:Date.now()});}),S&&S.length>0){let n={agentId:e.name,agentName:e.name,input:r,state:t.facts.$store.toObject(),breakpointType:"pre_agent_run"},c=await Q("pre_agent_run",n,i?.signal??a?.signal);if(c?.skip)return {output:void 0,messages:[],toolCalls:[],totalTokens:0};c?.input&&(r=c.input);}let w=i?.outputSchema!==void 0?i.outputSchema:Ke,A=V;w&&(A=chunkX3VQ5F7D_cjs.I(V,{schema:w,maxRetries:i?.maxSchemaRetries??Ye??2}));let l=await chunkX3VQ5F7D_cjs.m(A,e,r,{...a,signal:a?.signal,onMessage:n=>{let v=[...chunkX3VQ5F7D_cjs.r(t.facts),n];chunkX3VQ5F7D_cjs.s(t.facts,v.length>Ue?v.slice(-Ue):v),a?.onMessage?.(n);},onToolCall:async n=>{let c=(P.toolCall??[]).map((p,h)=>chunkX3VQ5F7D_cjs.k(p,h,"toolCall"));for(let p of c){let{name:h}=p,L={agentName:e.name,input:r,facts:t.facts.$store.toObject()},ie=Date.now(),s=await chunkX3VQ5F7D_cjs.l(p,{toolCall:n,agentName:e.name,input:r},L);if($("onGuardrailCheck",{agentId:e.name,guardrailName:h,guardrailType:"toolCall",passed:s.passed,reason:s.reason,durationMs:Date.now()-ie,timestamp:Date.now()}),!s.passed)throw new chunkX3VQ5F7D_cjs.a({code:"TOOL_CALL_GUARDRAIL_FAILED",message:`Tool call guardrail "${h}" failed: ${s.reason}`,guardrailName:h,guardrailType:"toolCall",userMessage:s.reason??"Tool call blocked",data:{toolCall:n},agentName:e.name,input:r})}if(!ne){let p=`tool-${n.id}`,h={id:p,type:"tool_call",agentName:e.name,description:`Tool call: ${n.name}`,data:n,requestedAt:Date.now()};t.batch(()=>{let L=chunkX3VQ5F7D_cjs.p(t.facts);chunkX3VQ5F7D_cjs.q(t.facts,{...L,pending:[...L.pending,h]});}),re?.(h),await Ee(p,i?.signal??a?.signal);}let d=[...chunkX3VQ5F7D_cjs.t(t.facts),n];chunkX3VQ5F7D_cjs.u(t.facts,d.length>je?d.slice(-je):d),a?.onToolCall?.(n);}},z?{...z,onRetry:(n,c,v)=>{z.onRetry?.(n,c,v),$("onAgentRetry",{agentName:e.name,input:r,attempt:n,error:c,delayMs:v,timestamp:Date.now()});}}:void 0);if(S&&S.length>0){let n={agentId:e.name,agentName:e.name,input:r,state:t.facts.$store.toObject(),breakpointType:"pre_output_guardrails"},c=await Q("pre_output_guardrails",n,i?.signal??a?.signal);if(c?.skip)return {output:void 0,messages:[],toolCalls:[],totalTokens:0};c?.input&&(r=c.input);}let F=b.map((n,c)=>chunkX3VQ5F7D_cjs.k(n,c,"output"));for(let n of F){let{name:c}=n,v={agentName:e.name,input:r,facts:t.facts.$store.toObject()},d=Date.now(),p=await chunkX3VQ5F7D_cjs.l(n,{output:l.output,agentName:e.name,input:r,messages:l.messages},v);if($("onGuardrailCheck",{agentId:e.name,guardrailName:c,guardrailType:"output",passed:p.passed,reason:p.reason,durationMs:Date.now()-d,timestamp:Date.now()}),!p.passed)throw new chunkX3VQ5F7D_cjs.a({code:"OUTPUT_GUARDRAIL_FAILED",message:`Output guardrail "${c}" failed: ${p.reason}`,guardrailName:c,guardrailType:"output",userMessage:p.reason??"Output validation failed",agentName:e.name,input:r});p.transformed!==void 0&&(l.output=p.transformed);}let Z=false,k=0;if(t.batch(()=>{let n=chunkX3VQ5F7D_cjs.n(t.facts),c=n.tokenUsage+l.totalTokens;if(chunkX3VQ5F7D_cjs.o(t.facts,{...n,status:"completed",output:l.output,tokenUsage:c,turnCount:n.turnCount+l.messages.length,completedAt:Date.now()}),H&&he){k=c/H;let v=adapterUtils.getBridgeFact(t.facts,"__budgetWarningFired");k>=J&&!v&&(adapterUtils.setBridgeFact(t.facts,"__budgetWarningFired",true),Z=true);}}),Z)try{he({currentTokens:chunkX3VQ5F7D_cjs.n(t.facts).tokenUsage,maxBudget:H,percentage:k});}catch(n){C&&console.debug("[Directive Orchestrator] onBudgetWarning threw:",n);}if(_&&l.messages.length>0)try{_.addMessages(l.messages);}catch(n){C&&console.debug("[Directive] Memory addMessages failed:",n);}if($("onAgentComplete",{agentName:e.name,input:r,output:l.output,tokenUsage:l.totalTokens,durationMs:Date.now()-u,timestamp:Date.now()}),f){let n=typeof l.output=="string"?l.output:JSON.stringify(l.output);f.record({type:"agent_complete",timestamp:Date.now(),agentId:e.name,snapshotId:null,outputLength:n?.length??0,totalTokens:l.totalTokens,inputTokens:l.tokenUsage?.inputTokens??0,outputTokens:l.tokenUsage?.outputTokens??0,durationMs:Date.now()-u,modelId:e.model??void 0,output:n.slice(0,se)});}if(S&&S.length>0){let n={agentId:e.name,agentName:e.name,input:r,state:t.facts.$store.toObject(),breakpointType:"post_run"},c=await Q("post_run",n,i?.signal??a?.signal);if(c?.skip)return {output:void 0,messages:[],toolCalls:[],totalTokens:0};c?.input&&(r=c.input);}return l}Te=Se;let G=new Map,W=new Map;function et(e,r){return r?.aborted?Promise.reject(r.reason??new Error("Aborted while waiting for breakpoint")):new Promise((o,a)=>{let i=false,u=null,m=()=>{i||(i=true,u&&(clearTimeout(u),u=null),r&&r.removeEventListener("abort",b),D());},b=()=>{m(),a(r.reason??new Error(`Breakpoint wait for ${e} aborted`));};r&&r.addEventListener("abort",b,{once:true});let D=t.facts.$store.subscribe([chunkX3VQ5F7D_cjs.e],()=>{if(i)return;let A=chunkX3VQ5F7D_cjs.v(t.facts);if(A.resolved.includes(e)){m();let l=G.get(e)??null;G.delete(e),o(l);}else if(A.cancelled.includes(e)){m(),G.delete(e);let l=W.get(e);W.delete(e),a(new Error(l?`Breakpoint ${e} was cancelled: ${l}`:`Breakpoint ${e} was cancelled`));}}),w=Je??3e5;u=setTimeout(()=>{i||(m(),G.delete(e),W.delete(e),a(new Error(`[Directive] Breakpoint timeout: ${e} not resolved within ${Math.round(w/1e3)}s`)));},w);})}async function Q(e,r,o){if(!S||S.length===0)return null;let a=chunkX3VQ5F7D_cjs.C(S,e,r);if(!a)return null;let i=chunkX3VQ5F7D_cjs.B(),u={id:i,type:e,agentId:r.agentId,input:r.input,label:a.label,requestedAt:Date.now()};t.batch(()=>{let b=chunkX3VQ5F7D_cjs.v(t.facts);chunkX3VQ5F7D_cjs.w(t.facts,{...b,pending:[...b.pending,u]});});try{Ve?.(u);}catch{}try{ve.onBreakpoint?.(u);}catch{}f&&f.record({type:"breakpoint_hit",timestamp:Date.now(),snapshotId:null,agentId:r.agentId,breakpointId:i,breakpointType:e,label:a.label});let m=await et(i,o);return f&&f.record({type:"breakpoint_resumed",timestamp:Date.now(),snapshotId:null,agentId:r.agentId,breakpointId:i,modified:!!m?.input,skipped:!!m?.skip}),m}function Ee(e,r){return r?.aborted?Promise.reject(r.reason??new Error("Aborted while waiting for approval")):new Promise((o,a)=>{let i=false,u=null,m=()=>{i||(i=true,u&&(clearTimeout(u),u=null),r&&r.removeEventListener("abort",b),D());},b=()=>{m(),a(r.reason??new Error(`Approval wait for ${e} aborted`));};r&&r.addEventListener("abort",b,{once:true});let D=t.facts.$store.subscribe([chunkX3VQ5F7D_cjs.d],()=>{if(i)return;let w=chunkX3VQ5F7D_cjs.p(t.facts);if(w.approved.includes(e))m(),o();else {let A=w.rejected.find(l=>l.id===e);if(A){m();let l=A.reason?`Request ${e} rejected: ${A.reason}`:`Request ${e} rejected`;a(new Error(l));}}});u=setTimeout(()=>{if(i)return;m();let w=Math.round(ae/1e3);a(new Error(`[Directive] Approval timeout: Request ${e} not resolved within ${w}s.
9
+ `+n});}if(S&&S.length>0){let n={agentId:e.name,agentName:e.name,input:r,state:t.facts.$store.toObject(),breakpointType:"pre_input_guardrails"},c=await Q("pre_input_guardrails",n,i?.signal??a?.signal);if(c?.skip)return {output:void 0,messages:[],toolCalls:[],totalTokens:0};c?.input&&(r=c.input);}let m=i?.inputGuardrails!==void 0?i.inputGuardrails:P.input??[],b=i?.outputGuardrails!==void 0?i.outputGuardrails:P.output??[],D=m.map((n,c)=>chunkA22KLB23_cjs.c(n,c,"input"));for(let n of D){let{name:c}=n,v={agentName:e.name,input:r,facts:t.facts.$store.toObject()},d=Date.now(),p=await chunkA22KLB23_cjs.d(n,{input:r,agentName:e.name},v);if($("onGuardrailCheck",{agentId:e.name,guardrailName:c,guardrailType:"input",passed:p.passed,reason:p.reason,durationMs:Date.now()-d,timestamp:Date.now()}),!p.passed)throw new chunkK64WKZ22_cjs.a({code:"INPUT_GUARDRAIL_FAILED",message:`Input guardrail "${c}" failed: ${p.reason}`,guardrailName:c,guardrailType:"input",userMessage:p.reason??"Input validation failed",agentName:e.name,input:r});p.transformed!==void 0&&(r=p.transformed);}if($("onAgentStart",{agentName:e.name,input:r,timestamp:u}),f&&f.record({type:"agent_start",timestamp:Date.now(),agentId:e.name,snapshotId:null,inputLength:r.length,modelId:e.model??void 0,...e.instructions?{instructions:e.instructions.slice(0,se)}:{},input:r.slice(0,se)}),t.batch(()=>{let n=chunkA22KLB23_cjs.f(t.facts);chunkA22KLB23_cjs.g(t.facts,{...n,status:"running",currentAgent:e.name,input:r,startedAt:Date.now()});}),S&&S.length>0){let n={agentId:e.name,agentName:e.name,input:r,state:t.facts.$store.toObject(),breakpointType:"pre_agent_run"},c=await Q("pre_agent_run",n,i?.signal??a?.signal);if(c?.skip)return {output:void 0,messages:[],toolCalls:[],totalTokens:0};c?.input&&(r=c.input);}let w=i?.outputSchema!==void 0?i.outputSchema:Ke,A=V;w&&(A=chunkFFRWQNK7_cjs.b(V,{schema:w,maxRetries:i?.maxSchemaRetries??Ye??2}));let l=await chunkA22KLB23_cjs.e(A,e,r,{...a,signal:a?.signal,onMessage:n=>{let v=[...chunkA22KLB23_cjs.j(t.facts),n];chunkA22KLB23_cjs.k(t.facts,v.length>Ue?v.slice(-Ue):v),a?.onMessage?.(n);},onToolCall:async n=>{let c=(P.toolCall??[]).map((p,h)=>chunkA22KLB23_cjs.c(p,h,"toolCall"));for(let p of c){let{name:h}=p,L={agentName:e.name,input:r,facts:t.facts.$store.toObject()},ie=Date.now(),s=await chunkA22KLB23_cjs.d(p,{toolCall:n,agentName:e.name,input:r},L);if($("onGuardrailCheck",{agentId:e.name,guardrailName:h,guardrailType:"toolCall",passed:s.passed,reason:s.reason,durationMs:Date.now()-ie,timestamp:Date.now()}),!s.passed)throw new chunkK64WKZ22_cjs.a({code:"TOOL_CALL_GUARDRAIL_FAILED",message:`Tool call guardrail "${h}" failed: ${s.reason}`,guardrailName:h,guardrailType:"toolCall",userMessage:s.reason??"Tool call blocked",data:{toolCall:n},agentName:e.name,input:r})}if(!ne){let p=`tool-${n.id}`,h={id:p,type:"tool_call",agentName:e.name,description:`Tool call: ${n.name}`,data:n,requestedAt:Date.now()};t.batch(()=>{let L=chunkA22KLB23_cjs.h(t.facts);chunkA22KLB23_cjs.i(t.facts,{...L,pending:[...L.pending,h]});}),re?.(h),await Ee(p,i?.signal??a?.signal);}let d=[...chunkA22KLB23_cjs.l(t.facts),n];chunkA22KLB23_cjs.m(t.facts,d.length>je?d.slice(-je):d),a?.onToolCall?.(n);}},z?{...z,onRetry:(n,c,v)=>{z.onRetry?.(n,c,v),$("onAgentRetry",{agentName:e.name,input:r,attempt:n,error:c,delayMs:v,timestamp:Date.now()});}}:void 0);if(S&&S.length>0){let n={agentId:e.name,agentName:e.name,input:r,state:t.facts.$store.toObject(),breakpointType:"pre_output_guardrails"},c=await Q("pre_output_guardrails",n,i?.signal??a?.signal);if(c?.skip)return {output:void 0,messages:[],toolCalls:[],totalTokens:0};c?.input&&(r=c.input);}let F=b.map((n,c)=>chunkA22KLB23_cjs.c(n,c,"output"));for(let n of F){let{name:c}=n,v={agentName:e.name,input:r,facts:t.facts.$store.toObject()},d=Date.now(),p=await chunkA22KLB23_cjs.d(n,{output:l.output,agentName:e.name,input:r,messages:l.messages},v);if($("onGuardrailCheck",{agentId:e.name,guardrailName:c,guardrailType:"output",passed:p.passed,reason:p.reason,durationMs:Date.now()-d,timestamp:Date.now()}),!p.passed)throw new chunkK64WKZ22_cjs.a({code:"OUTPUT_GUARDRAIL_FAILED",message:`Output guardrail "${c}" failed: ${p.reason}`,guardrailName:c,guardrailType:"output",userMessage:p.reason??"Output validation failed",agentName:e.name,input:r});p.transformed!==void 0&&(l.output=p.transformed);}let Z=false,k=0;if(t.batch(()=>{let n=chunkA22KLB23_cjs.f(t.facts),c=n.tokenUsage+l.totalTokens;if(chunkA22KLB23_cjs.g(t.facts,{...n,status:"completed",output:l.output,tokenUsage:c,turnCount:n.turnCount+l.messages.length,completedAt:Date.now()}),H&&he){k=c/H;let v=adapterUtils.getBridgeFact(t.facts,"__budgetWarningFired");k>=J&&!v&&(adapterUtils.setBridgeFact(t.facts,"__budgetWarningFired",true),Z=true);}}),Z)try{he({currentTokens:chunkA22KLB23_cjs.f(t.facts).tokenUsage,maxBudget:H,percentage:k});}catch(n){C&&console.debug("[Directive Orchestrator] onBudgetWarning threw:",n);}if(_&&l.messages.length>0)try{_.addMessages(l.messages);}catch(n){C&&console.debug("[Directive] Memory addMessages failed:",n);}if($("onAgentComplete",{agentName:e.name,input:r,output:l.output,tokenUsage:l.totalTokens,durationMs:Date.now()-u,timestamp:Date.now()}),f){let n=typeof l.output=="string"?l.output:JSON.stringify(l.output);f.record({type:"agent_complete",timestamp:Date.now(),agentId:e.name,snapshotId:null,outputLength:n?.length??0,totalTokens:l.totalTokens,inputTokens:l.tokenUsage?.inputTokens??0,outputTokens:l.tokenUsage?.outputTokens??0,durationMs:Date.now()-u,modelId:e.model??void 0,output:n.slice(0,se)});}if(S&&S.length>0){let n={agentId:e.name,agentName:e.name,input:r,state:t.facts.$store.toObject(),breakpointType:"post_run"},c=await Q("post_run",n,i?.signal??a?.signal);if(c?.skip)return {output:void 0,messages:[],toolCalls:[],totalTokens:0};c?.input&&(r=c.input);}return l}Te=Se;let G=new Map,W=new Map;function et(e,r){return r?.aborted?Promise.reject(r.reason??new Error("Aborted while waiting for breakpoint")):new Promise((o,a)=>{let i=false,u=null,m=()=>{i||(i=true,u&&(clearTimeout(u),u=null),r&&r.removeEventListener("abort",b),D());},b=()=>{m(),a(r.reason??new Error(`Breakpoint wait for ${e} aborted`));};r&&r.addEventListener("abort",b,{once:true});let D=t.facts.$store.subscribe([chunkK64WKZ22_cjs.g],()=>{if(i)return;let A=chunkA22KLB23_cjs.n(t.facts);if(A.resolved.includes(e)){m();let l=G.get(e)??null;G.delete(e),o(l);}else if(A.cancelled.includes(e)){m(),G.delete(e);let l=W.get(e);W.delete(e),a(new Error(l?`Breakpoint ${e} was cancelled: ${l}`:`Breakpoint ${e} was cancelled`));}}),w=Je??3e5;u=setTimeout(()=>{i||(m(),G.delete(e),W.delete(e),a(new Error(`[Directive] Breakpoint timeout: ${e} not resolved within ${Math.round(w/1e3)}s`)));},w);})}async function Q(e,r,o){if(!S||S.length===0)return null;let a=chunkA22KLB23_cjs.u(S,e,r);if(!a)return null;let i=chunkA22KLB23_cjs.t(),u={id:i,type:e,agentId:r.agentId,input:r.input,label:a.label,requestedAt:Date.now()};t.batch(()=>{let b=chunkA22KLB23_cjs.n(t.facts);chunkA22KLB23_cjs.o(t.facts,{...b,pending:[...b.pending,u]});});try{Ve?.(u);}catch{}try{ve.onBreakpoint?.(u);}catch{}f&&f.record({type:"breakpoint_hit",timestamp:Date.now(),snapshotId:null,agentId:r.agentId,breakpointId:i,breakpointType:e,label:a.label});let m=await et(i,o);return f&&f.record({type:"breakpoint_resumed",timestamp:Date.now(),snapshotId:null,agentId:r.agentId,breakpointId:i,modified:!!m?.input,skipped:!!m?.skip}),m}function Ee(e,r){return r?.aborted?Promise.reject(r.reason??new Error("Aborted while waiting for approval")):new Promise((o,a)=>{let i=false,u=null,m=()=>{i||(i=true,u&&(clearTimeout(u),u=null),r&&r.removeEventListener("abort",b),D());},b=()=>{m(),a(r.reason??new Error(`Approval wait for ${e} aborted`));};r&&r.addEventListener("abort",b,{once:true});let D=t.facts.$store.subscribe([chunkK64WKZ22_cjs.d],()=>{if(i)return;let w=chunkA22KLB23_cjs.h(t.facts);if(w.approved.includes(e))m(),o();else {let A=w.rejected.find(l=>l.id===e);if(A){m();let l=A.reason?`Request ${e} rejected: ${A.reason}`:`Request ${e} rejected`;a(new Error(l));}}});u=setTimeout(()=>{if(i)return;m();let w=Math.round(ae/1e3);a(new Error(`[Directive] Approval timeout: Request ${e} not resolved within ${w}s.
10
10
  Solutions:
11
11
  1. Handle via onApprovalRequest callback and call orchestrator.approve()/reject()
12
12
  2. Set autoApproveToolCalls: true to auto-approve
13
13
  3. Increase approvalTimeoutMs (current: ${ae}ms)
14
- See: https://directive.run/docs/ai/running-agents`));},ae);})}function _e(){return {...chunkX3VQ5F7D_cjs.x(t.facts)}}return {system:t,get facts(){return _e()},get totalTokens(){return chunkX3VQ5F7D_cjs.n(t.facts).tokenUsage},get timeline(){return f},async run(e,r,o){return Se(e,r,_e(),void 0,o)},runStream(e,r,o={}){let a=new AbortController,i=1e4,u=[],m=[],b=false,D=Date.now(),w=0,A=1e5,l="",F;o.signal&&(F=()=>a.abort(),o.signal.addEventListener("abort",F,{once:true}));let Z=()=>{F&&o.signal&&o.signal.removeEventListener("abort",F);},k=d=>{if(b)return;let p=m.shift();p?p(d):(u.push(d),u.length>i&&u.shift());},n=()=>{b=true,Z();for(let d of m)d(null);m.length=0;},c=(async()=>{k({type:"progress",phase:"starting",message:"Running input guardrails"});try{let d=r,p=(P.input??[]).map((s,y)=>chunkX3VQ5F7D_cjs.k(s,y,"input"));for(let s of p){let{name:y}=s,B={agentName:e.name,input:d,facts:t.facts.$store.toObject()},g=await chunkX3VQ5F7D_cjs.l(s,{input:d,agentName:e.name},B);if(!g.passed)throw k({type:"guardrail_triggered",guardrailName:y,reason:g.reason??"Input validation failed",partialOutput:l,stopped:!0}),new chunkX3VQ5F7D_cjs.a({code:"INPUT_GUARDRAIL_FAILED",message:`Input guardrail "${y}" failed: ${g.reason}`,guardrailName:y,guardrailType:"input",userMessage:g.reason??"Input validation failed",agentName:e.name,input:d});g.transformed!==void 0&&(d=g.transformed);}k({type:"progress",phase:"generating",message:"Starting agent"}),t.batch(()=>{let s=chunkX3VQ5F7D_cjs.n(t.facts);chunkX3VQ5F7D_cjs.o(t.facts,{...s,status:"running",currentAgent:e.name,input:d,startedAt:Date.now()});});let h=await chunkX3VQ5F7D_cjs.m(V,e,d,{signal:a.signal,onMessage:s=>{let y=chunkX3VQ5F7D_cjs.r(t.facts);if(chunkX3VQ5F7D_cjs.s(t.facts,[...y,s]),k({type:"message",message:s}),s.role==="assistant"&&s.content){let B=Math.ceil(s.content.length/4);w+=B,l+=s.content,l.length>A&&(l=l.slice(-A)),k({type:"token",data:s.content,tokenCount:w});}},onToolCall:async s=>{k({type:"tool_start",tool:s.name,toolCallId:s.id,arguments:s.arguments});let y=(P.toolCall??[]).map((g,O)=>chunkX3VQ5F7D_cjs.k(g,O,"toolCall"));for(let g of y){let{name:O}=g,ee={agentName:e.name,input:d,facts:t.facts.$store.toObject()},te=await chunkX3VQ5F7D_cjs.l(g,{toolCall:s,agentName:e.name,input:d},ee);if(!te.passed)throw k({type:"guardrail_triggered",guardrailName:O,reason:te.reason??"Tool call blocked",partialOutput:l,stopped:!0}),new chunkX3VQ5F7D_cjs.a({code:"TOOL_CALL_GUARDRAIL_FAILED",message:`Tool call guardrail "${O}" failed: ${te.reason}`,guardrailName:O,guardrailType:"toolCall",userMessage:te.reason??"Tool call blocked",data:{toolCall:s},agentName:e.name,input:d})}if(!ne){let g=`tool-${s.id}`;k({type:"approval_required",requestId:g,toolName:s.name});let O={id:g,type:"tool_call",agentName:e.name,description:`Tool call: ${s.name}`,data:s,requestedAt:Date.now()};t.batch(()=>{let ee=chunkX3VQ5F7D_cjs.p(t.facts);chunkX3VQ5F7D_cjs.q(t.facts,{...ee,pending:[...ee.pending,O]});}),re?.(O),await Ee(g,a.signal),k({type:"approval_resolved",requestId:g,approved:!0});}let B=chunkX3VQ5F7D_cjs.t(t.facts);chunkX3VQ5F7D_cjs.u(t.facts,[...B,s]),s.result&&k({type:"tool_end",tool:s.name,toolCallId:s.id,result:s.result});}},z);k({type:"progress",phase:"finishing",message:"Running output guardrails"});let L=(P.output??[]).map((s,y)=>chunkX3VQ5F7D_cjs.k(s,y,"output"));for(let s of L){let{name:y}=s,B={agentName:e.name,input:d,facts:t.facts.$store.toObject()},g=await chunkX3VQ5F7D_cjs.l(s,{output:h.output,agentName:e.name,input:d,messages:h.messages},B);if(!g.passed)throw k({type:"guardrail_triggered",guardrailName:y,reason:g.reason??"Output validation failed",partialOutput:typeof h.output=="string"?h.output:"",stopped:!0}),new chunkX3VQ5F7D_cjs.a({code:"OUTPUT_GUARDRAIL_FAILED",message:`Output guardrail "${y}" failed: ${g.reason}`,guardrailName:y,guardrailType:"output",userMessage:g.reason??"Output validation failed",agentName:e.name,input:d});g.transformed!==void 0&&(h.output=g.transformed);}t.batch(()=>{let s=chunkX3VQ5F7D_cjs.n(t.facts);chunkX3VQ5F7D_cjs.o(t.facts,{...s,status:"completed",output:h.output,tokenUsage:s.tokenUsage+h.totalTokens,turnCount:s.turnCount+h.messages.length,completedAt:Date.now()});});let ie=Date.now()-D;return k({type:"done",totalTokens:h.totalTokens,duration:ie,droppedTokens:0}),n(),h}catch(d){throw k({type:"error",error:d instanceof Error?d:new Error(String(d))}),n(),d}})();return c.catch(()=>{}),{stream:{[Symbol.asyncIterator](){return {async next(){return u.length>0?{done:false,value:u.shift()}:b?{done:true,value:void 0}:new Promise(d=>{m.push(p=>{d(p===null?{done:true,value:void 0}:{done:false,value:p});});})}}}},result:c,abort:()=>{a.abort(),n();}}},async waitForIdle(e){let r=()=>chunkX3VQ5F7D_cjs.n(t.facts).status!=="running";if(r())return;let o=Date.now();for(;!r();){if(e!==void 0&&Date.now()-o>e)throw new Error("[Directive Orchestrator] waitForIdle timed out");await new Promise(a=>setTimeout(a,50));}},approve(e){t.batch(()=>{let r=chunkX3VQ5F7D_cjs.p(t.facts);if(!r.pending.some(i=>i.id===e)){C&&console.debug(`[Directive] approve() ignored: no pending request "${e}"`);return}let o=200,a=[...r.approved,e];chunkX3VQ5F7D_cjs.q(t.facts,{...r,pending:r.pending.filter(i=>i.id!==e),approved:a.length>o?a.slice(-o):a});});},reject(e,r){t.batch(()=>{let o=chunkX3VQ5F7D_cjs.p(t.facts);if(!o.pending.some(m=>m.id===e)){C&&console.debug(`[Directive] reject() ignored: no pending request "${e}"`);return}r&&C&&console.debug(`[Directive] Request ${e} rejected: ${r}`);let a={id:e,reason:r,rejectedAt:Date.now()},i=200,u=[...o.rejected,a];chunkX3VQ5F7D_cjs.q(t.facts,{...o,pending:o.pending.filter(m=>m.id!==e),rejected:u.length>i?u.slice(-i):u});});},pause(){let e=chunkX3VQ5F7D_cjs.n(t.facts);chunkX3VQ5F7D_cjs.o(t.facts,{...e,status:"paused"});},resume(){let e=chunkX3VQ5F7D_cjs.n(t.facts);e.status==="paused"&&chunkX3VQ5F7D_cjs.o(t.facts,{...e,status:e.currentAgent?"running":"idle"});},reset(){t.batch(()=>{chunkX3VQ5F7D_cjs.o(t.facts,{status:"idle",currentAgent:null,input:null,output:null,error:null,tokenUsage:0,turnCount:0,startedAt:null,completedAt:null}),chunkX3VQ5F7D_cjs.q(t.facts,{pending:[],approved:[],rejected:[]}),chunkX3VQ5F7D_cjs.s(t.facts,[]),chunkX3VQ5F7D_cjs.u(t.facts,[]),chunkX3VQ5F7D_cjs.w(t.facts,{pending:[],resolved:[],cancelled:[]}),adapterUtils.setBridgeFact(t.facts,"__budgetWarningFired",false);}),G.clear(),W.clear();},async checkpoint(e){if(chunkX3VQ5F7D_cjs.n(t.facts).status==="running")throw new Error("[Directive] Cannot checkpoint while agent is running");if(!t.history?.export)throw new Error("[Directive] Checkpointing requires history. Set `debug: true` in orchestrator options.");let o={version:1,id:chunkX3VQ5F7D_cjs.E(),createdAt:new Date().toISOString(),label:e?.label,systemExport:t.history.export(),timelineExport:f?.export()??null,localState:{type:"single"},memoryExport:_?_.export?.()??null:null,orchestratorType:"single"};return be&&await be.save(o),o},restore(e,r){if(!chunkX3VQ5F7D_cjs.F(e))throw new Error("[Directive] Invalid checkpoint data");if(e.orchestratorType!=="single")throw new Error("[Directive] Cannot restore multi-agent checkpoint in single-agent orchestrator");if(!t.history?.import)throw new Error("[Directive] Restoring a checkpoint requires history. Set `debug: true` in orchestrator options.");t.history.import(e.systemExport),r?.restoreTimeline!==false&&e.timelineExport&&f&&f.import(e.timelineExport),e.memoryExport!==null&&_&&_.import&&_.import(e.memoryExport);},resumeBreakpoint(e,r){r&&G.set(e,r),t.batch(()=>{let o=chunkX3VQ5F7D_cjs.v(t.facts),a=[...o.resolved,e];chunkX3VQ5F7D_cjs.w(t.facts,{...o,pending:o.pending.filter(i=>i.id!==e),resolved:a.length>chunkX3VQ5F7D_cjs.A?a.slice(-chunkX3VQ5F7D_cjs.A):a});});},cancelBreakpoint(e,r){r&&W.set(e,r),t.batch(()=>{let o=chunkX3VQ5F7D_cjs.v(t.facts),a=[...o.cancelled,e];chunkX3VQ5F7D_cjs.w(t.facts,{...o,pending:o.pending.filter(i=>i.id!==e),cancelled:a.length>chunkX3VQ5F7D_cjs.A?a.slice(-chunkX3VQ5F7D_cjs.A):a});});},getPendingBreakpoints(){return [...chunkX3VQ5F7D_cjs.v(t.facts).pending]},destroy(){t.destroy();}}}
15
- exports.a=bt;//# sourceMappingURL=chunk-XV2QSBBE.cjs.map
16
- //# sourceMappingURL=chunk-XV2QSBBE.cjs.map
14
+ See: https://directive.run/docs/ai/running-agents`));},ae);})}function _e(){return {...chunkA22KLB23_cjs.p(t.facts)}}return {system:t,get facts(){return _e()},get totalTokens(){return chunkA22KLB23_cjs.f(t.facts).tokenUsage},get timeline(){return f},async run(e,r,o){return Se(e,r,_e(),void 0,o)},runStream(e,r,o={}){let a=new AbortController,i=1e4,u=[],m=[],b=false,D=Date.now(),w=0,A=1e5,l="",F;o.signal&&(F=()=>a.abort(),o.signal.addEventListener("abort",F,{once:true}));let Z=()=>{F&&o.signal&&o.signal.removeEventListener("abort",F);},k=d=>{if(b)return;let p=m.shift();p?p(d):(u.push(d),u.length>i&&u.shift());},n=()=>{b=true,Z();for(let d of m)d(null);m.length=0;},c=(async()=>{k({type:"progress",phase:"starting",message:"Running input guardrails"});try{let d=r,p=(P.input??[]).map((s,y)=>chunkA22KLB23_cjs.c(s,y,"input"));for(let s of p){let{name:y}=s,B={agentName:e.name,input:d,facts:t.facts.$store.toObject()},g=await chunkA22KLB23_cjs.d(s,{input:d,agentName:e.name},B);if(!g.passed)throw k({type:"guardrail_triggered",guardrailName:y,reason:g.reason??"Input validation failed",partialOutput:l,stopped:!0}),new chunkK64WKZ22_cjs.a({code:"INPUT_GUARDRAIL_FAILED",message:`Input guardrail "${y}" failed: ${g.reason}`,guardrailName:y,guardrailType:"input",userMessage:g.reason??"Input validation failed",agentName:e.name,input:d});g.transformed!==void 0&&(d=g.transformed);}k({type:"progress",phase:"generating",message:"Starting agent"}),t.batch(()=>{let s=chunkA22KLB23_cjs.f(t.facts);chunkA22KLB23_cjs.g(t.facts,{...s,status:"running",currentAgent:e.name,input:d,startedAt:Date.now()});});let h=await chunkA22KLB23_cjs.e(V,e,d,{signal:a.signal,onMessage:s=>{let y=chunkA22KLB23_cjs.j(t.facts);if(chunkA22KLB23_cjs.k(t.facts,[...y,s]),k({type:"message",message:s}),s.role==="assistant"&&s.content){let B=Math.ceil(s.content.length/4);w+=B,l+=s.content,l.length>A&&(l=l.slice(-A)),k({type:"token",data:s.content,tokenCount:w});}},onToolCall:async s=>{k({type:"tool_start",tool:s.name,toolCallId:s.id,arguments:s.arguments});let y=(P.toolCall??[]).map((g,O)=>chunkA22KLB23_cjs.c(g,O,"toolCall"));for(let g of y){let{name:O}=g,ee={agentName:e.name,input:d,facts:t.facts.$store.toObject()},te=await chunkA22KLB23_cjs.d(g,{toolCall:s,agentName:e.name,input:d},ee);if(!te.passed)throw k({type:"guardrail_triggered",guardrailName:O,reason:te.reason??"Tool call blocked",partialOutput:l,stopped:!0}),new chunkK64WKZ22_cjs.a({code:"TOOL_CALL_GUARDRAIL_FAILED",message:`Tool call guardrail "${O}" failed: ${te.reason}`,guardrailName:O,guardrailType:"toolCall",userMessage:te.reason??"Tool call blocked",data:{toolCall:s},agentName:e.name,input:d})}if(!ne){let g=`tool-${s.id}`;k({type:"approval_required",requestId:g,toolName:s.name});let O={id:g,type:"tool_call",agentName:e.name,description:`Tool call: ${s.name}`,data:s,requestedAt:Date.now()};t.batch(()=>{let ee=chunkA22KLB23_cjs.h(t.facts);chunkA22KLB23_cjs.i(t.facts,{...ee,pending:[...ee.pending,O]});}),re?.(O),await Ee(g,a.signal),k({type:"approval_resolved",requestId:g,approved:!0});}let B=chunkA22KLB23_cjs.l(t.facts);chunkA22KLB23_cjs.m(t.facts,[...B,s]),s.result&&k({type:"tool_end",tool:s.name,toolCallId:s.id,result:s.result});}},z);k({type:"progress",phase:"finishing",message:"Running output guardrails"});let L=(P.output??[]).map((s,y)=>chunkA22KLB23_cjs.c(s,y,"output"));for(let s of L){let{name:y}=s,B={agentName:e.name,input:d,facts:t.facts.$store.toObject()},g=await chunkA22KLB23_cjs.d(s,{output:h.output,agentName:e.name,input:d,messages:h.messages},B);if(!g.passed)throw k({type:"guardrail_triggered",guardrailName:y,reason:g.reason??"Output validation failed",partialOutput:typeof h.output=="string"?h.output:"",stopped:!0}),new chunkK64WKZ22_cjs.a({code:"OUTPUT_GUARDRAIL_FAILED",message:`Output guardrail "${y}" failed: ${g.reason}`,guardrailName:y,guardrailType:"output",userMessage:g.reason??"Output validation failed",agentName:e.name,input:d});g.transformed!==void 0&&(h.output=g.transformed);}t.batch(()=>{let s=chunkA22KLB23_cjs.f(t.facts);chunkA22KLB23_cjs.g(t.facts,{...s,status:"completed",output:h.output,tokenUsage:s.tokenUsage+h.totalTokens,turnCount:s.turnCount+h.messages.length,completedAt:Date.now()});});let ie=Date.now()-D;return k({type:"done",totalTokens:h.totalTokens,duration:ie,droppedTokens:0}),n(),h}catch(d){throw k({type:"error",error:d instanceof Error?d:new Error(String(d))}),n(),d}})();return c.catch(()=>{}),{stream:{[Symbol.asyncIterator](){return {async next(){return u.length>0?{done:false,value:u.shift()}:b?{done:true,value:void 0}:new Promise(d=>{m.push(p=>{d(p===null?{done:true,value:void 0}:{done:false,value:p});});})}}}},result:c,abort:()=>{a.abort(),n();}}},async waitForIdle(e){let r=()=>chunkA22KLB23_cjs.f(t.facts).status!=="running";if(r())return;let o=Date.now();for(;!r();){if(e!==void 0&&Date.now()-o>e)throw new Error("[Directive Orchestrator] waitForIdle timed out");await new Promise(a=>setTimeout(a,50));}},approve(e){t.batch(()=>{let r=chunkA22KLB23_cjs.h(t.facts);if(!r.pending.some(i=>i.id===e)){C&&console.debug(`[Directive] approve() ignored: no pending request "${e}"`);return}let o=200,a=[...r.approved,e];chunkA22KLB23_cjs.i(t.facts,{...r,pending:r.pending.filter(i=>i.id!==e),approved:a.length>o?a.slice(-o):a});});},reject(e,r){t.batch(()=>{let o=chunkA22KLB23_cjs.h(t.facts);if(!o.pending.some(m=>m.id===e)){C&&console.debug(`[Directive] reject() ignored: no pending request "${e}"`);return}r&&C&&console.debug(`[Directive] Request ${e} rejected: ${r}`);let a={id:e,reason:r,rejectedAt:Date.now()},i=200,u=[...o.rejected,a];chunkA22KLB23_cjs.i(t.facts,{...o,pending:o.pending.filter(m=>m.id!==e),rejected:u.length>i?u.slice(-i):u});});},pause(){let e=chunkA22KLB23_cjs.f(t.facts);chunkA22KLB23_cjs.g(t.facts,{...e,status:"paused"});},resume(){let e=chunkA22KLB23_cjs.f(t.facts);e.status==="paused"&&chunkA22KLB23_cjs.g(t.facts,{...e,status:e.currentAgent?"running":"idle"});},reset(){t.batch(()=>{chunkA22KLB23_cjs.g(t.facts,{status:"idle",currentAgent:null,input:null,output:null,error:null,tokenUsage:0,turnCount:0,startedAt:null,completedAt:null}),chunkA22KLB23_cjs.i(t.facts,{pending:[],approved:[],rejected:[]}),chunkA22KLB23_cjs.k(t.facts,[]),chunkA22KLB23_cjs.m(t.facts,[]),chunkA22KLB23_cjs.o(t.facts,{pending:[],resolved:[],cancelled:[]}),adapterUtils.setBridgeFact(t.facts,"__budgetWarningFired",false);}),G.clear(),W.clear();},async checkpoint(e){if(chunkA22KLB23_cjs.f(t.facts).status==="running")throw new Error("[Directive] Cannot checkpoint while agent is running");if(!t.history?.export)throw new Error("[Directive] Checkpointing requires history. Set `debug: true` in orchestrator options.");let o={version:1,id:chunkA22KLB23_cjs.w(),createdAt:new Date().toISOString(),label:e?.label,systemExport:t.history.export(),timelineExport:f?.export()??null,localState:{type:"single"},memoryExport:_?_.export?.()??null:null,orchestratorType:"single"};return be&&await be.save(o),o},restore(e,r){if(!chunkA22KLB23_cjs.x(e))throw new Error("[Directive] Invalid checkpoint data");if(e.orchestratorType!=="single")throw new Error("[Directive] Cannot restore multi-agent checkpoint in single-agent orchestrator");if(!t.history?.import)throw new Error("[Directive] Restoring a checkpoint requires history. Set `debug: true` in orchestrator options.");t.history.import(e.systemExport),r?.restoreTimeline!==false&&e.timelineExport&&f&&f.import(e.timelineExport),e.memoryExport!==null&&_&&_.import&&_.import(e.memoryExport);},resumeBreakpoint(e,r){r&&G.set(e,r),t.batch(()=>{let o=chunkA22KLB23_cjs.n(t.facts),a=[...o.resolved,e];chunkA22KLB23_cjs.o(t.facts,{...o,pending:o.pending.filter(i=>i.id!==e),resolved:a.length>chunkA22KLB23_cjs.s?a.slice(-chunkA22KLB23_cjs.s):a});});},cancelBreakpoint(e,r){r&&W.set(e,r),t.batch(()=>{let o=chunkA22KLB23_cjs.n(t.facts),a=[...o.cancelled,e];chunkA22KLB23_cjs.o(t.facts,{...o,pending:o.pending.filter(i=>i.id!==e),cancelled:a.length>chunkA22KLB23_cjs.s?a.slice(-chunkA22KLB23_cjs.s):a});});},getPendingBreakpoints(){return [...chunkA22KLB23_cjs.n(t.facts).pending]},destroy(){t.destroy();}}}
15
+ exports.a=bt;//# sourceMappingURL=chunk-2TD4ZSGZ.cjs.map
16
+ //# sourceMappingURL=chunk-2TD4ZSGZ.cjs.map