@directive-run/ai 1.19.5 → 1.19.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- 'use strict';var chunkGL7OJP7Q_cjs=require('./chunk-GL7OJP7Q.cjs'),chunkIR3IHBVQ_cjs=require('./chunk-IR3IHBVQ.cjs'),chunkXN5LUOVS_cjs=require('./chunk-XN5LUOVS.cjs'),chunkC6MQ4WL6_cjs=require('./chunk-C6MQ4WL6.cjs'),chunk2C3R77ZW_cjs=require('./chunk-2C3R77ZW.cjs'),chunk3WO4MWJM_cjs=require('./chunk-3WO4MWJM.cjs'),chunkXGHNOSXT_cjs=require('./chunk-XGHNOSXT.cjs'),chunk7EJN6TYX_cjs=require('./chunk-7EJN6TYX.cjs'),chunkK64WKZ22_cjs=require('./chunk-K64WKZ22.cjs'),chunkWOFIBIPW_cjs=require('./chunk-WOFIBIPW.cjs'),chunkMDXDPECP_cjs=require('./chunk-MDXDPECP.cjs'),chunkWCQK3JOR_cjs=require('./chunk-WCQK3JOR.cjs'),plugins=require('@directive-run/core/plugins'),G=require('path');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var G__default=/*#__PURE__*/_interopDefault(G);function Hr(r,...e){let t=r;for(let n of e)t=n(t);return t}function j(r,e){let t=typeof r.content=="string"?r.content:JSON.stringify(r.content);return Math.ceil(t.length/4)}function V(r,e){return r.reduce((t,n)=>t+j(n),0)}function X(r={}){return (e,t={})=>{let n={...r,...t},s=n.maxMessages??100,c=n.preserveRecentCount??5;if(e.length<=s)return {keep:[...e],toSummarize:[],estimatedTokens:V(e)};let o=e.slice(-c),u=e.slice(0,-c),a=Math.max(0,s-c),y=u.slice(-a),p=u.slice(0,-a||void 0),h=[...y,...o];return {keep:h,toSummarize:p.length>0?p:[],estimatedTokens:V(h)}}}function Y(r={}){return (e,t={})=>{let n={...r,...t},s=n.maxTokens??4e3,c=n.preserveRecentCount??5,o=n.countSystemMessages??true,u=e.slice(-c),a=e.slice(0,-c),y=u.reduce((l,g)=>!o&&g.role==="system"?l:l+j(g),0),p=[],h=[],m=y;for(let l=a.length-1;l>=0;l--){let g=a[l],C=!o&&g.role==="system"?0:j(g);if(m+C<=s)p.unshift(g),m+=C;else {h.push(...a.slice(0,l+1));break}}return {keep:[...p,...u],toSummarize:h,estimatedTokens:m}}}function Vr(r={}){let e=X(r),t=Y(r);return (n,s={})=>{let c={...r,...s},o=e(n,c),u=t(n,c);return o.keep.length<=u.keep.length?o:u}}function Kr(r){let{strategy:e,summarizer:t,strategyConfig:n={},autoManage:s=false,onMemoryManaged:c,onManageError:o,maxContextTokens:u}=r,a={messages:[],summaries:[],totalMessagesProcessed:0,estimatedTokens:0},y=false;async function p(){if(y)return {messagesBefore:a.messages.length,messagesAfter:a.messages.length,messagesSummarized:0,estimatedTokensBefore:a.estimatedTokens,estimatedTokensAfter:a.estimatedTokens};y=true;try{let m=a.messages.length,l=a.estimatedTokens,g=e(a.messages,n);if(g.toSummarize.length===0)return {messagesBefore:m,messagesAfter:m,messagesSummarized:0,estimatedTokensBefore:l,estimatedTokensAfter:g.estimatedTokens};let C;t&&g.toSummarize.length>0&&(C=await t(g.toSummarize),a.summaries.push({content:C,messagesCount:g.toSummarize.length,createdAt:Date.now()})),a.messages=g.keep,a.estimatedTokens=g.estimatedTokens;let E={messagesBefore:m,messagesAfter:a.messages.length,messagesSummarized:g.toSummarize.length,summary:C,estimatedTokensBefore:l,estimatedTokensAfter:g.estimatedTokens};return c?.(E),E}finally{y=false;}}function h(){if(y)return;e(a.messages,n).toSummarize.length>0&&p().catch(l=>{let g=l instanceof Error?l:new Error(String(l));o?o(g):console.error("[Directive Memory] Auto-manage error:",g);});}return {getState(){return {...a,messages:[...a.messages],summaries:a.summaries.map(m=>({...m}))}},addMessage(m){a.messages.push(m),a.totalMessagesProcessed++,a.estimatedTokens+=j(m),s&&h();},addMessages(m){for(let l of m)a.messages.push(l),a.totalMessagesProcessed++,a.estimatedTokens+=j(l);s&&h();},getContextMessages(){let m=[];if(a.summaries.length>0){let l=a.summaries.map(g=>g.content).join(`
1
+ 'use strict';var chunkWP6UUPF2_cjs=require('./chunk-WP6UUPF2.cjs'),chunkIR3IHBVQ_cjs=require('./chunk-IR3IHBVQ.cjs'),chunkXN5LUOVS_cjs=require('./chunk-XN5LUOVS.cjs'),chunkC6MQ4WL6_cjs=require('./chunk-C6MQ4WL6.cjs'),chunk2C3R77ZW_cjs=require('./chunk-2C3R77ZW.cjs'),chunk3WO4MWJM_cjs=require('./chunk-3WO4MWJM.cjs'),chunkXGHNOSXT_cjs=require('./chunk-XGHNOSXT.cjs'),chunk7EJN6TYX_cjs=require('./chunk-7EJN6TYX.cjs'),chunkK64WKZ22_cjs=require('./chunk-K64WKZ22.cjs'),chunkWOFIBIPW_cjs=require('./chunk-WOFIBIPW.cjs'),chunkMDXDPECP_cjs=require('./chunk-MDXDPECP.cjs'),chunkWCQK3JOR_cjs=require('./chunk-WCQK3JOR.cjs'),plugins=require('@directive-run/core/plugins'),G=require('path');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var G__default=/*#__PURE__*/_interopDefault(G);function Hr(r,...e){let t=r;for(let n of e)t=n(t);return t}function j(r,e){let t=typeof r.content=="string"?r.content:JSON.stringify(r.content);return Math.ceil(t.length/4)}function V(r,e){return r.reduce((t,n)=>t+j(n),0)}function X(r={}){return (e,t={})=>{let n={...r,...t},s=n.maxMessages??100,c=n.preserveRecentCount??5;if(e.length<=s)return {keep:[...e],toSummarize:[],estimatedTokens:V(e)};let o=e.slice(-c),u=e.slice(0,-c),a=Math.max(0,s-c),y=u.slice(-a),p=u.slice(0,-a||void 0),h=[...y,...o];return {keep:h,toSummarize:p.length>0?p:[],estimatedTokens:V(h)}}}function Y(r={}){return (e,t={})=>{let n={...r,...t},s=n.maxTokens??4e3,c=n.preserveRecentCount??5,o=n.countSystemMessages??true,u=e.slice(-c),a=e.slice(0,-c),y=u.reduce((l,g)=>!o&&g.role==="system"?l:l+j(g),0),p=[],h=[],m=y;for(let l=a.length-1;l>=0;l--){let g=a[l],C=!o&&g.role==="system"?0:j(g);if(m+C<=s)p.unshift(g),m+=C;else {h.push(...a.slice(0,l+1));break}}return {keep:[...p,...u],toSummarize:h,estimatedTokens:m}}}function Vr(r={}){let e=X(r),t=Y(r);return (n,s={})=>{let c={...r,...s},o=e(n,c),u=t(n,c);return o.keep.length<=u.keep.length?o:u}}function Kr(r){let{strategy:e,summarizer:t,strategyConfig:n={},autoManage:s=false,onMemoryManaged:c,onManageError:o,maxContextTokens:u}=r,a={messages:[],summaries:[],totalMessagesProcessed:0,estimatedTokens:0},y=false;async function p(){if(y)return {messagesBefore:a.messages.length,messagesAfter:a.messages.length,messagesSummarized:0,estimatedTokensBefore:a.estimatedTokens,estimatedTokensAfter:a.estimatedTokens};y=true;try{let m=a.messages.length,l=a.estimatedTokens,g=e(a.messages,n);if(g.toSummarize.length===0)return {messagesBefore:m,messagesAfter:m,messagesSummarized:0,estimatedTokensBefore:l,estimatedTokensAfter:g.estimatedTokens};let C;t&&g.toSummarize.length>0&&(C=await t(g.toSummarize),a.summaries.push({content:C,messagesCount:g.toSummarize.length,createdAt:Date.now()})),a.messages=g.keep,a.estimatedTokens=g.estimatedTokens;let E={messagesBefore:m,messagesAfter:a.messages.length,messagesSummarized:g.toSummarize.length,summary:C,estimatedTokensBefore:l,estimatedTokensAfter:g.estimatedTokens};return c?.(E),E}finally{y=false;}}function h(){if(y)return;e(a.messages,n).toSummarize.length>0&&p().catch(l=>{let g=l instanceof Error?l:new Error(String(l));o?o(g):console.error("[Directive Memory] Auto-manage error:",g);});}return {getState(){return {...a,messages:[...a.messages],summaries:a.summaries.map(m=>({...m}))}},addMessage(m){a.messages.push(m),a.totalMessagesProcessed++,a.estimatedTokens+=j(m),s&&h();},addMessages(m){for(let l of m)a.messages.push(l),a.totalMessagesProcessed++,a.estimatedTokens+=j(l);s&&h();},getContextMessages(){let m=[];if(a.summaries.length>0){let l=a.summaries.map(g=>g.content).join(`
2
2
 
3
3
  ---
4
4
 
@@ -17,14 +17,14 @@ Focus on information that would be useful context for continuing the conversatio
17
17
  CONVERSATION:
18
18
  ${c}
19
19
 
20
- SUMMARY:`;return r(o)}}var Qr=1e4,Xr=10080*60*1e3,Yr=6e4,Z="0".repeat(64);function Zr(){return globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}`}function en(r){return new TextEncoder().encode(r)}function tn(r){return Array.from(r).map(e=>e.toString(16).padStart(2,"0")).join("")}async function ee(r){let e=en(r),t=await globalThis.crypto.subtle.digest("SHA-256",e);return tn(new Uint8Array(t))}function te(r){let{id:e,timestamp:t,eventType:n,previousHash:s,payload:c,actorId:o,sessionId:u}=r;return JSON.stringify({id:e,timestamp:t,eventType:n,previousHash:s,payload:c,actorId:o,sessionId:u})}function rn(r){return JSON.parse(JSON.stringify(r))}async function nn(r,e){let t=rn(r);async function n(s){if(typeof s=="string"){let c=await chunkGL7OJP7Q_cjs.m(s,{types:e.types,minConfidence:e.minConfidence??.7});if(c.detected){let o=e.allowlist?c.items.filter(u=>!e.allowlist.includes(u.value.toLowerCase())):c.items;if(o.length>0)return chunkGL7OJP7Q_cjs.j(s,o,e.redactionStyle)}return s}if(Array.isArray(s))return Promise.all(s.map(n));if(s&&typeof s=="object"){let c={};for(let[o,u]of Object.entries(s))c[o]=await n(u);return c}return s}for(let[s,c]of Object.entries(t))t[s]=await n(c);return t}function on(r={}){let{maxEntries:e=Qr,retentionMs:t=Xr,exportInterval:n=Yr,exporter:s,piiMasking:c,signing:o,sessionId:u,actorId:a,events:y={}}=r,p=[],h=0,m=0,l=0,g=true,C;function E(){return p.length===0?Z:p[p.length-1].hash}async function S(d,f,b){let A={id:Zr(),timestamp:Date.now(),eventType:d,previousHash:E(),payload:f,actorId:a,sessionId:u};c?.enabled&&(A.maskedPayload=await nn(f,c));let x=te(A),w=await ee(x),P={...A,hash:w};for(o&&(P.signature=await o.signFn(w)),p.push(P);p.length>e;)p.shift(),m++,h>0&&h--;return y.onEntryAdded?.(P),P}return s&&n>0&&(C=setInterval(async()=>{try{let d=p.slice(h);d.length>0&&(await s(d),l+=d.length,h=p.length);}catch(d){y.onExportError?.(d instanceof Error?d:new Error(String(d)),p.slice(h));}},n)),{getEntries(d){let f=[...p];if(d){if(d.eventTypes?.length){let b=new Set(d.eventTypes);f=f.filter(A=>b.has(A.eventType));}d.actorId&&(f=f.filter(b=>b.actorId===d.actorId)),d.sessionId&&(f=f.filter(b=>b.sessionId===d.sessionId)),d.since!==void 0&&(f=f.filter(b=>b.timestamp>=d.since)),d.until!==void 0&&(f=f.filter(b=>b.timestamp<=d.until)),d.offset!==void 0&&(f=f.slice(d.offset)),d.limit!==void 0&&(f=f.slice(0,d.limit));}return f},async verifyChain(){if(p.length===0)return {valid:true,entriesVerified:0,verifiedAt:Date.now()};p[0].previousHash;for(let f=0;f<p.length;f++){let b=p[f],A=te({id:b.id,timestamp:b.timestamp,eventType:b.eventType,previousHash:b.previousHash,payload:b.payload,actorId:b.actorId,sessionId:b.sessionId}),x=await ee(A);if(b.hash!==x){g=false;let w={valid:false,entriesVerified:f,brokenAt:{index:f,entryId:b.id,expectedHash:x,actualHash:b.hash},verifiedAt:Date.now()};return y.onChainBroken?.(w),w}if(f>0){let w=p[f-1];if(b.previousHash!==w.hash){g=false;let P={valid:false,entriesVerified:f,brokenAt:{index:f,entryId:b.id,expectedHash:w.hash,actualHash:b.previousHash},verifiedAt:Date.now()};return y.onChainBroken?.(P),P}}if(o?.verifyFn&&b.signature&&!await o.verifyFn(b.hash,b.signature)){g=false;let P={valid:false,entriesVerified:f,brokenAt:{index:f,entryId:b.id,expectedHash:"signature-invalid",actualHash:b.signature},verifiedAt:Date.now()};return y.onChainBroken?.(P),P}}return g=true,{valid:true,entriesVerified:p.length,verifiedAt:Date.now()}},async export(d){let f=[...p];return d!==void 0&&(f=f.filter(b=>b.timestamp>=d)),s&&f.length>0&&(await s(f),l+=f.length),f},prune(){let d=Date.now()-t,f=p.length;for(;p.length>0&&p[0].timestamp<d;)p.shift(),h>0&&h--;let b=f-p.length;return m+=b,b},getStats(){let d={};for(let f of p)d[f.eventType]=(d[f.eventType]??0)+1;return {totalEntries:p.length,byEventType:d,oldestEntry:p[0]?.timestamp,newestEntry:p[p.length-1]?.timestamp,entriesPruned:m,entriesExported:l,chainIntegrity:g}},async destroy(){if(C&&(clearInterval(C),C=void 0),s)try{let d=p.slice(h);d.length>0&&(await s(d),l+=d.length);}catch(d){y.onExportError?.(d instanceof Error?d:new Error(String(d)),p.slice(h));}},addEntry(d,f){return S(d,f)},createPlugin(){return {name:"audit-trail",onFactSet:(d,f,b)=>{S("fact.set",{key:d,value:f,prev:b}).catch(console.error);},onFactsBatch:d=>{S("fact.batch",{changes:d.map(f=>({key:f.key,value:f.value,prev:f.prev}))}).catch(console.error);},onRequirementCreated:d=>{S("requirement.created",{id:d.id,type:d.requirement.type,payload:d.requirement}).catch(console.error);},onRequirementMet:(d,f)=>{S("requirement.met",{id:d.id,type:d.requirement.type,byResolver:f}).catch(console.error);},onResolverStart:(d,f)=>{S("resolver.start",{resolver:d,requirementId:f.id,requirementType:f.requirement.type}).catch(console.error);},onResolverComplete:(d,f,b)=>{S("resolver.complete",{resolver:d,requirementId:f.id,requirementType:f.requirement.type,duration:b}).catch(console.error);},onResolverError:(d,f,b)=>{S("resolver.error",{resolver:d,requirementId:f.id,requirementType:f.requirement.type,error:b instanceof Error?b.message:String(b)}).catch(console.error);},onError:d=>{S("error.occurred",{source:d.source,sourceId:d.sourceId,message:d.message,context:d.context}).catch(console.error);},onErrorRecovery:(d,f)=>{S("error.recovery",{source:d.source,message:d.message,strategy:f}).catch(console.error);}}}}}function an(r){return {onAgentStart:(e,t)=>{r.addEntry("agent.run.start",{agentName:e,input:t});},onAgentComplete:(e,t,n,s)=>{r.addEntry("agent.run.complete",{agentName:e,output:t,tokens:n,cost:s});},onAgentError:(e,t)=>{r.addEntry("agent.run.error",{agentName:e,error:t.message,stack:t.stack});},onToolStart:(e,t,n)=>{r.addEntry("tool.call.start",{toolName:e,toolCallId:t,args:n});},onToolComplete:(e,t,n)=>{r.addEntry("tool.call.complete",{toolName:e,toolCallId:t,result:n});},onToolError:(e,t,n)=>{r.addEntry("tool.call.error",{toolName:e,toolCallId:t,error:n.message});},onApprovalRequested:(e,t,n)=>{r.addEntry("approval.requested",{toolName:e,toolCallId:t,args:n});},onApprovalGranted:(e,t)=>{r.addEntry("approval.granted",{toolName:e,toolCallId:t});},onApprovalDenied:(e,t,n)=>{r.addEntry("approval.denied",{toolName:e,toolCallId:t,reason:n});}}}function sn(){return globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}`}function cn(r){return new TextEncoder().encode(r)}function un(r){return Array.from(r).map(e=>e.toString(16).padStart(2,"0")).join("")}async function re(r){let e=cn(r),t=await globalThis.crypto.subtle.digest("SHA-256",e);return un(new Uint8Array(t))}function ln(r){if(r.length===0)return "";let e=new Set;for(let s of r)for(let c of Object.keys(s))e.add(c);let t=Array.from(e),n=[t.join(",")];for(let s of r){let c=t.map(o=>{let u=s[o];if(u==null)return "";if(typeof u=="object")return JSON.stringify(u).replace(/"/g,'""');let a=String(u);return a.includes(",")||a.includes(`
20
+ SUMMARY:`;return r(o)}}var Qr=1e4,Xr=10080*60*1e3,Yr=6e4,Z="0".repeat(64);function Zr(){return globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}`}function en(r){return new TextEncoder().encode(r)}function tn(r){return Array.from(r).map(e=>e.toString(16).padStart(2,"0")).join("")}async function ee(r){let e=en(r),t=await globalThis.crypto.subtle.digest("SHA-256",e);return tn(new Uint8Array(t))}function te(r){let{id:e,timestamp:t,eventType:n,previousHash:s,payload:c,actorId:o,sessionId:u}=r;return JSON.stringify({id:e,timestamp:t,eventType:n,previousHash:s,payload:c,actorId:o,sessionId:u})}function rn(r){return JSON.parse(JSON.stringify(r))}async function nn(r,e){let t=rn(r);async function n(s){if(typeof s=="string"){let c=await chunkWP6UUPF2_cjs.m(s,{types:e.types,minConfidence:e.minConfidence??.7});if(c.detected){let o=e.allowlist?c.items.filter(u=>!e.allowlist.includes(u.value.toLowerCase())):c.items;if(o.length>0)return chunkWP6UUPF2_cjs.j(s,o,e.redactionStyle)}return s}if(Array.isArray(s))return Promise.all(s.map(n));if(s&&typeof s=="object"){let c={};for(let[o,u]of Object.entries(s))c[o]=await n(u);return c}return s}for(let[s,c]of Object.entries(t))t[s]=await n(c);return t}function on(r={}){let{maxEntries:e=Qr,retentionMs:t=Xr,exportInterval:n=Yr,exporter:s,piiMasking:c,signing:o,sessionId:u,actorId:a,events:y={}}=r,p=[],h=0,m=0,l=0,g=true,C;function E(){return p.length===0?Z:p[p.length-1].hash}async function S(d,f,b){let A={id:Zr(),timestamp:Date.now(),eventType:d,previousHash:E(),payload:f,actorId:a,sessionId:u};c?.enabled&&(A.maskedPayload=await nn(f,c));let x=te(A),w=await ee(x),P={...A,hash:w};for(o&&(P.signature=await o.signFn(w)),p.push(P);p.length>e;)p.shift(),m++,h>0&&h--;return y.onEntryAdded?.(P),P}return s&&n>0&&(C=setInterval(async()=>{try{let d=p.slice(h);d.length>0&&(await s(d),l+=d.length,h=p.length);}catch(d){y.onExportError?.(d instanceof Error?d:new Error(String(d)),p.slice(h));}},n)),{getEntries(d){let f=[...p];if(d){if(d.eventTypes?.length){let b=new Set(d.eventTypes);f=f.filter(A=>b.has(A.eventType));}d.actorId&&(f=f.filter(b=>b.actorId===d.actorId)),d.sessionId&&(f=f.filter(b=>b.sessionId===d.sessionId)),d.since!==void 0&&(f=f.filter(b=>b.timestamp>=d.since)),d.until!==void 0&&(f=f.filter(b=>b.timestamp<=d.until)),d.offset!==void 0&&(f=f.slice(d.offset)),d.limit!==void 0&&(f=f.slice(0,d.limit));}return f},async verifyChain(){if(p.length===0)return {valid:true,entriesVerified:0,verifiedAt:Date.now()};p[0].previousHash;for(let f=0;f<p.length;f++){let b=p[f],A=te({id:b.id,timestamp:b.timestamp,eventType:b.eventType,previousHash:b.previousHash,payload:b.payload,actorId:b.actorId,sessionId:b.sessionId}),x=await ee(A);if(b.hash!==x){g=false;let w={valid:false,entriesVerified:f,brokenAt:{index:f,entryId:b.id,expectedHash:x,actualHash:b.hash},verifiedAt:Date.now()};return y.onChainBroken?.(w),w}if(f>0){let w=p[f-1];if(b.previousHash!==w.hash){g=false;let P={valid:false,entriesVerified:f,brokenAt:{index:f,entryId:b.id,expectedHash:w.hash,actualHash:b.previousHash},verifiedAt:Date.now()};return y.onChainBroken?.(P),P}}if(o?.verifyFn&&b.signature&&!await o.verifyFn(b.hash,b.signature)){g=false;let P={valid:false,entriesVerified:f,brokenAt:{index:f,entryId:b.id,expectedHash:"signature-invalid",actualHash:b.signature},verifiedAt:Date.now()};return y.onChainBroken?.(P),P}}return g=true,{valid:true,entriesVerified:p.length,verifiedAt:Date.now()}},async export(d){let f=[...p];return d!==void 0&&(f=f.filter(b=>b.timestamp>=d)),s&&f.length>0&&(await s(f),l+=f.length),f},prune(){let d=Date.now()-t,f=p.length;for(;p.length>0&&p[0].timestamp<d;)p.shift(),h>0&&h--;let b=f-p.length;return m+=b,b},getStats(){let d={};for(let f of p)d[f.eventType]=(d[f.eventType]??0)+1;return {totalEntries:p.length,byEventType:d,oldestEntry:p[0]?.timestamp,newestEntry:p[p.length-1]?.timestamp,entriesPruned:m,entriesExported:l,chainIntegrity:g}},async destroy(){if(C&&(clearInterval(C),C=void 0),s)try{let d=p.slice(h);d.length>0&&(await s(d),l+=d.length);}catch(d){y.onExportError?.(d instanceof Error?d:new Error(String(d)),p.slice(h));}},addEntry(d,f){return S(d,f)},createPlugin(){return {name:"audit-trail",onFactSet:(d,f,b)=>{S("fact.set",{key:d,value:f,prev:b}).catch(console.error);},onFactsBatch:d=>{S("fact.batch",{changes:d.map(f=>({key:f.key,value:f.value,prev:f.prev}))}).catch(console.error);},onRequirementCreated:d=>{S("requirement.created",{id:d.id,type:d.requirement.type,payload:d.requirement}).catch(console.error);},onRequirementMet:(d,f)=>{S("requirement.met",{id:d.id,type:d.requirement.type,byResolver:f}).catch(console.error);},onResolverStart:(d,f)=>{S("resolver.start",{resolver:d,requirementId:f.id,requirementType:f.requirement.type}).catch(console.error);},onResolverComplete:(d,f,b)=>{S("resolver.complete",{resolver:d,requirementId:f.id,requirementType:f.requirement.type,duration:b}).catch(console.error);},onResolverError:(d,f,b)=>{S("resolver.error",{resolver:d,requirementId:f.id,requirementType:f.requirement.type,error:b instanceof Error?b.message:String(b)}).catch(console.error);},onError:d=>{S("error.occurred",{source:d.source,sourceId:d.sourceId,message:d.message,context:d.context}).catch(console.error);},onErrorRecovery:(d,f)=>{S("error.recovery",{source:d.source,message:d.message,strategy:f}).catch(console.error);}}}}}function an(r){return {onAgentStart:(e,t)=>{r.addEntry("agent.run.start",{agentName:e,input:t});},onAgentComplete:(e,t,n,s)=>{r.addEntry("agent.run.complete",{agentName:e,output:t,tokens:n,cost:s});},onAgentError:(e,t)=>{r.addEntry("agent.run.error",{agentName:e,error:t.message,stack:t.stack});},onToolStart:(e,t,n)=>{r.addEntry("tool.call.start",{toolName:e,toolCallId:t,args:n});},onToolComplete:(e,t,n)=>{r.addEntry("tool.call.complete",{toolName:e,toolCallId:t,result:n});},onToolError:(e,t,n)=>{r.addEntry("tool.call.error",{toolName:e,toolCallId:t,error:n.message});},onApprovalRequested:(e,t,n)=>{r.addEntry("approval.requested",{toolName:e,toolCallId:t,args:n});},onApprovalGranted:(e,t)=>{r.addEntry("approval.granted",{toolName:e,toolCallId:t});},onApprovalDenied:(e,t,n)=>{r.addEntry("approval.denied",{toolName:e,toolCallId:t,reason:n});}}}function sn(){return globalThis.crypto?.randomUUID?.()??`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}`}function cn(r){return new TextEncoder().encode(r)}function un(r){return Array.from(r).map(e=>e.toString(16).padStart(2,"0")).join("")}async function re(r){let e=cn(r),t=await globalThis.crypto.subtle.digest("SHA-256",e);return un(new Uint8Array(t))}function ln(r){if(r.length===0)return "";let e=new Set;for(let s of r)for(let c of Object.keys(s))e.add(c);let t=Array.from(e),n=[t.join(",")];for(let s of r){let c=t.map(o=>{let u=s[o];if(u==null)return "";if(typeof u=="object")return JSON.stringify(u).replace(/"/g,'""');let a=String(u);return a.includes(",")||a.includes(`
21
21
  `)||a.includes('"')?`"${a.replace(/"/g,'""')}"`:a});n.push(c.join(","));}return n.join(`
22
22
  `)}function dn(){let r=new Map,e=new Map,t=new Map;return {async getSubjectData(n,s){let c=[];for(let[o,u]of r){if(s&&!s.includes(o))continue;let a=u.get(n);a&&a.length>0&&c.push({category:o,records:[...a]});}return c},async deleteSubjectData(n,s){let c=0;for(let[o,u]of r){if(s&&!s.includes(o))continue;let a=u.get(n);a&&(c+=a.length,u.delete(n));}return c},async anonymizeSubjectData(n,s){let c=0;for(let[o,u]of r){if(s&&!s.includes(o))continue;let a=u.get(n);if(a)for(let y of a)y.data={...y.data,_anonymized:true,_anonymizedAt:Date.now()},c++;}return c},async getExpiredData(n,s){let c=[],o=r.get(n);if(o)for(let u of o.values())for(let a of u)a.createdAt<s&&c.push({id:a.id,createdAt:a.createdAt});return c},async deleteByIds(n){let s=new Set(n),c=0;for(let o of r.values())for(let[u,a]of o){let y=a.filter(p=>!s.has(p.id));y.length!==a.length&&(c+=a.length-y.length,y.length===0?o.delete(u):o.set(u,y));}return c},async storeConsent(n){e.set(`${n.subjectId}:${n.purpose}`,n);},async getConsent(n,s){return e.get(`${n}:${s}`)??null},async getConsentsBySubject(n){let s=[];for(let[c,o]of e)c.startsWith(`${n}:`)&&s.push(o);return s},async getConsentsByPurpose(n){let s=[];for(let[c,o]of e)c.endsWith(`:${n}`)&&s.push(o);return s},async storeDeletionCertificate(n){t.set(n.subjectId,n);}}}function pn(r){let{storage:e,retention:t,exportExpirationMs:n=864e5,events:s={}}=r,c={async grant(o,u,a={}){let y={subjectId:o,purpose:u,granted:true,grantedAt:Date.now(),expiresAt:a.expiresAt,source:a.source,version:a.version};return await e.storeConsent(y),s.onConsentChange?.(y),y},async revoke(o,u){let a=await e.getConsent(o,u);if(!a)return null;let y={...a,granted:false,revokedAt:Date.now()};return await e.storeConsent(y),s.onConsentChange?.(y),y},async check(o,u){let a=await e.getConsent(o,u);return !(!a||!a.granted||a.expiresAt&&a.expiresAt<Date.now())},async getForSubject(o){return e.getConsentsBySubject(o)},async getForPurpose(o){return e.getConsentsByPurpose(o)}};return {async exportData(o){try{let u=await e.getSubjectData(o.subjectId,o.categories),a=[],y=[];for(let{category:l,records:g}of u){y.push(l);for(let C of g)a.push({category:l,...C});}if(o.includeAudit&&e.getAuditEntries){let l=await e.getAuditEntries(o.subjectId);y.push("audit");for(let g of l)a.push({category:"audit",id:g.id,data:g.payload,createdAt:g.timestamp});}let p;o.format==="csv"?p=ln(a.map(l=>({category:l.category,id:l.id,createdAt:new Date(l.createdAt).toISOString(),...l.data}))):p=JSON.stringify({subjectId:o.subjectId,exportedAt:new Date().toISOString(),recordCount:a.length,categories:y,records:a},null,2);let h=await re(p),m={success:!0,subjectId:o.subjectId,format:o.format,data:p,categories:y,recordCount:a.length,checksum:h,exportedAt:Date.now(),expiresAt:Date.now()+n};return s.onExport?.(m),m}catch(u){return {success:false,subjectId:o.subjectId,format:o.format,data:"",categories:[],recordCount:0,checksum:"",exportedAt:Date.now(),error:u instanceof Error?u.message:String(u)}}},async deleteData(o){try{let u=0,a=[];o.anonymize?u=await e.anonymizeSubjectData(o.subjectId,o.categories):u=await e.deleteSubjectData(o.subjectId,o.categories),o.categories?a.push(...o.categories):o.scope==="all"&&a.push("all");let y=JSON.stringify({subjectId:o.subjectId,type:o.anonymize?"anonymization":"hard",scope:o.scope,categories:a,recordCount:u,deletedAt:Date.now(),reason:o.reason}),p={id:sn(),subjectId:o.subjectId,type:o.anonymize?"anonymization":"hard",scope:o.scope,categories:a,recordCount:u,deletedAt:Date.now(),reason:o.reason,hash:await re(y)};await e.storeDeletionCertificate(p);let h={success:!0,subjectId:o.subjectId,scope:o.scope,anonymized:o.anonymize??!1,recordsAffected:u,categoriesAffected:a,certificate:p,deletedAt:Date.now()};return s.onDelete?.(h),h}catch(u){return {success:false,subjectId:o.subjectId,scope:o.scope,anonymized:o.anonymize??false,recordsAffected:0,categoriesAffected:[],certificate:{id:"error",subjectId:o.subjectId,type:"hard",scope:o.scope,categories:[],recordCount:0,deletedAt:Date.now(),hash:""},deletedAt:Date.now(),error:u instanceof Error?u.message:String(u)}}},consent:c,async enforceRetention(){if(!t)return 0;let o=0,u=Date.now(),a=new Set;if(t.categoryRetention)for(let y of Object.keys(t.categoryRetention))a.add(y);a.add("default");for(let y of a){let p=t.categoryRetention?.[y]??t.defaultRetentionMs,h=u-p,m=await e.getExpiredData(y,h);if(m.length>0){await t.onBeforeDelete?.({category:y,count:m.length});let l=await e.deleteByIds(m.map(g=>g.id));o+=l,t.onAfterDelete?.({category:y,count:l}),s.onRetentionEnforced?.(y,l);}}return o},createConsentGuardrail(o){return async u=>{let y=u.input.match(/user[_-]?id[:\s]*([a-zA-Z0-9-]+)/i)?.[1];return y?await c.check(y,o)?{passed:true}:{passed:false,reason:`No consent for '${o}' from subject ${y}`}:{passed:true}}},async getDeletionCertificate(o){return null}}}function K(r={}){let{bufferSize:e=100}=r;if(e<1||!Number.isFinite(e))throw new Error(`[Directive StreamChannel] bufferSize must be >= 1, got ${e}`);let t=[],n="open",s=null,c=null,o=null,u=false;function a(l){if(c){let g=c;c=null,g.resolve({value:l,done:false});}}function y(){if(c){let l=c;c=null,l.resolve({value:void 0,done:true});}}function p(l){if(c){let g=c;c=null,u=false,g.reject(l);}}function h(){if(o){let l=o;o=null,l();}}return {async send(l){if(n!=="open")throw new Error(`[Directive StreamChannel] Cannot send to ${n} channel${r.name?` "${r.name}"`:""}`);if(c){a(l);return}if(t.length>=e){if(await new Promise(g=>{o=g;}),n!=="open")throw new Error(`[Directive StreamChannel] Cannot send to ${n} channel${r.name?` "${r.name}"`:""}`);if(c){a(l);return}}t.push(l);},end(){n==="open"&&(n="closed",y());},error(l){n==="open"&&(n="error",s=l,p(l),h());},getState(){return n},bufferedCount(){return t.length},[Symbol.asyncIterator](){if(u)throw new Error("[Directive StreamChannel] Channel only supports a single consumer. Create a separate channel for each consumer.");return u=true,{next(){if(n==="error"&&s)return u=false,Promise.reject(s);if(t.length>0){let l=t.shift();return h(),Promise.resolve({value:l,done:false})}return n==="closed"?(u=false,Promise.resolve({value:void 0,done:true})):new Promise((l,g)=>{c={resolve:l,reject:g};})},return(){return n="closed",t.length=0,u=false,h(),Promise.resolve({value:void 0,done:true})}}}}}function gn(r){let e=K(r),t=K(r);return {sideA:{send:n=>e.send(n),receive:t,close(){e.end(),t.end();}},sideB:{send:n=>t.send(n),receive:e,close(){e.end(),t.end();}}}}async function mn(r,e,t){try{for await(let n of r){let s=await t(n);await e.send(s);}e.end();}catch(n){e.error(n instanceof Error?n:new Error(String(n)));}}function fn(...r){return {[Symbol.asyncIterator](){let t=[],n=0,s=null,c=null,o=false,u=false,a=[];function y(p){if(s){let h=s;return s=null,h(p),true}return false}for(let p of r){let h=p[Symbol.asyncIterator]();a.push(h),(async()=>{try{for(;!o;){let m=await h.next();if(m.done||o)break;y({value:m.value,done:!1})||(t.length<1e4?t.push(m.value):u||(u=!0,console.warn("[Directive mergeStreams] Buffer exceeded 10000 items. Values are being dropped. Ensure the consumer keeps up or use bounded StreamChannel sources.")));}}catch(m){o||(o=true,c=m instanceof Error?m:new Error(String(m)),y({value:void 0,done:true}));}n++,n>=r.length&&!o&&y({value:void 0,done:true});})();}return {next(){return c?Promise.reject(c):t.length>0?Promise.resolve({value:t.shift(),done:false}):n>=r.length?Promise.resolve({value:void 0,done:true}):new Promise(p=>{s=p;})},return(){o=true,t.length=0;for(let p of a)p.return?.({value:void 0,done:true});if(s){let p=s;s=null,p({value:void 0,done:true});}return Promise.resolve({value:void 0,done:true})}}}}}function yn(r,e){let t=r.metadata.title??"",n=r.metadata.section??"",s=r.metadata.url??"";return `${t&&n&&s?`[${t} \u2014 ${n}](${s})`:t||r.id}
23
23
  ${r.content}`}function hn(r,e){return r.length===0?"":`Relevant documentation context:
24
24
 
25
25
  ${r.join(`
26
26
 
27
- `)}`}function vn(r,e,t){return Math.max(e,Math.min(t,r))}function Sn(r){let{embedder:e,storage:t,topK:n=5,minSimilarity:s=.3,formatChunk:c=yn,formatContext:o=hn,onError:u}=r,a=vn(s,0,1);typeof process<"u"&&process.env?.NODE_ENV==="development"&&s!==a&&console.warn(`[Directive] RAG: minSimilarity ${s} clamped to ${a} (valid range: 0-1)`);async function y(h,m){let l=Math.max(1,Math.floor(m??n));if(t.search)return t.search(await e(h),l,a);let g=await e(h),E=(await t.getChunks()).map(S=>({...S,similarity:chunkGL7OJP7Q_cjs.v(g,S.embedding)}));return E.sort((S,d)=>d.similarity-S.similarity),E.filter(S=>S.similarity>=a).slice(0,l)}async function p(h,m={}){let{prefix:l,history:g,topK:C,filter:E}=m,S=[];try{S=await y(h,C);}catch(A){u?.(A instanceof Error?A:new Error(String(A)));}E&&(S=S.filter(A=>E(A)));let d=S.map(A=>c(A,A.similarity)),f=o(d,h),b=[];if(l&&b.push(l),f&&b.push(f),g&&g.length>0){let A=g.map(x=>`${x.role.charAt(0).toUpperCase()+x.role.slice(1)}: ${x.content}`).join(`
27
+ `)}`}function vn(r,e,t){return Math.max(e,Math.min(t,r))}function Sn(r){let{embedder:e,storage:t,topK:n=5,minSimilarity:s=.3,formatChunk:c=yn,formatContext:o=hn,onError:u}=r,a=vn(s,0,1);typeof process<"u"&&process.env?.NODE_ENV==="development"&&s!==a&&console.warn(`[Directive] RAG: minSimilarity ${s} clamped to ${a} (valid range: 0-1)`);async function y(h,m){let l=Math.max(1,Math.floor(m??n));if(t.search)return t.search(await e(h),l,a);let g=await e(h),E=(await t.getChunks()).map(S=>({...S,similarity:chunkWP6UUPF2_cjs.v(g,S.embedding)}));return E.sort((S,d)=>d.similarity-S.similarity),E.filter(S=>S.similarity>=a).slice(0,l)}async function p(h,m={}){let{prefix:l,history:g,topK:C,filter:E}=m,S=[];try{S=await y(h,C);}catch(A){u?.(A instanceof Error?A:new Error(String(A)));}E&&(S=S.filter(A=>E(A)));let d=S.map(A=>c(A,A.similarity)),f=o(d,h),b=[];if(l&&b.push(l),f&&b.push(f),g&&g.length>0){let A=g.map(x=>`${x.role.charAt(0).toUpperCase()+x.role.slice(1)}: ${x.content}`).join(`
28
28
 
29
29
  `);b.push(`Previous conversation:
30
30
  ${A}`);}return b.push(h),b.join(`
@@ -37,5 +37,5 @@ ${A}`);}return b.push(h),b.join(`
37
37
 
38
38
  `)}return new ReadableStream({async start(C){let E=null,S=null;try{n>0&&(E=setInterval(()=>{try{C.enqueue(g({type:"heartbeat",timestamp:Date.now()}));}catch{}},n)),S=y.stream(p,h,{signal:m?.signal});let d=0,f=!1;for await(let b of S){if(d+=b.length,d>e){C.enqueue(g({type:"truncated",text:t})),C.enqueue(g({type:"done"})),f=!0,S.abort();break}C.enqueue(g({type:"text",text:b}));}try{await S.result;}catch{}f||C.enqueue(g({type:"done"}));}catch(d){let f=o(d);C.enqueue(g({type:"error",message:f}));}finally{E&&clearInterval(E),C.close();}}})}let a={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive",...c};return {toResponse(y,p,h,m){let l=u(y,p,h,m);return new Response(l,{headers:a})},toStream(y,p,h,m){return u(y,p,h,m)}}}var _=class extends Error{retryCount;lastError;constructor(e,t){super(`[Directive] All ${e} retries exhausted: ${t.message}`),this.name="RetryExhaustedError",this.retryCount=e,this.lastError=t,this.cause=t;}},En=new Set([400,401,403,404,422]);function W(r){let e=r;if(typeof e.status=="number"&&e.status>=100&&e.status<=599)return e.status;if(typeof e.statusCode=="number"&&e.statusCode>=100&&e.statusCode<=599)return e.statusCode;let n=(r.message.length>1e3?r.message.slice(0,1e3):r.message).match(/(?:failed|error|status|http)[:\s]+(\d{3})\b/i);if(!n)return null;let s=Number(n[1]);return s>=100&&s<=599?s:null}function oe(r){let e=r;if(typeof e.retryAfter=="number"&&e.retryAfter>0)return e.retryAfter*1e3;let n=(r.message.length>1e3?r.message.slice(0,1e3):r.message).match(/retry[- ]?after[:\s]+(\d+)/i);if(!n)return null;let s=Number(n[1]);return s>0?s*1e3:null}function An(r,e,t){let n=e*2**(r-1),s=Math.random()*e*.5,c=n+s;return Math.min(c,t)}function Tn(r,e,t,n){if(W(r)===429){let c=oe(r);if(c!==null)return Math.min(c,n)}return An(e,t,n)}function wn(r){let e=W(r);return e===null?true:!En.has(e)}function kn(r,e={}){let{maxRetries:t=3,baseDelayMs:n=1e3,maxDelayMs:s=3e4,isRetryable:c,onRetry:o}=e;if(!Number.isFinite(t)||t<0)throw new Error("[Directive] withRetry: maxRetries must be a non-negative finite number.");if(!Number.isFinite(n)||n<0)throw new Error("[Directive] withRetry: baseDelayMs must be a non-negative finite number.");if(!Number.isFinite(s)||s<0)throw new Error("[Directive] withRetry: maxDelayMs must be a non-negative finite number.");return async(u,a,y)=>{let p;for(let h=0;h<=t;h++)try{return await r(u,a,y)}catch(m){if(p=m instanceof Error?m:new Error(String(m)),h>=t)break;if(c)try{if(!c(p))break}catch{break}if(!wn(p))break;let l=Tn(p,h+1,n,s);try{o?.(h+1,p,l);}catch{}let g=y?.signal;if(g?.aborted)break;await new Promise((C,E)=>{let S=setTimeout(()=>{g?.removeEventListener("abort",d),C();},l);function d(){clearTimeout(S),E(g.reason??new Error("Aborted"));}g&&g.addEventListener("abort",d,{once:true});});}throw new _(t,p)}}var F=class extends Error{errors;constructor(e){let t=e.map((n,s)=>` [${s}] ${n.message}`).join(`
39
39
  `);super(`[Directive] All ${e.length} providers failed:
40
- ${t}`),this.name="AllProvidersFailedError",this.errors=Object.freeze([...e]),e.length>0&&(this.cause=e[e.length-1]);}};function xn(r,e={}){if(r.length===0)throw new Error("[Directive] withFallback requires at least one runner.");let{shouldFallback:t,onFallback:n}=e;return async(s,c,o)=>{let u=[];for(let a=0;a<r.length;a++)try{return await r[a](s,c,o)}catch(y){let p=y instanceof Error?y:new Error(String(y));if(u.push(p),a<r.length-1){if(t)try{if(!t(p))break}catch{break}try{n?.(a,a+1,p);}catch{}}}throw new F(u)}}var N=class extends Error{estimated;remaining;window;constructor(e){super(`[Directive] Budget exceeded (${e.window}): estimated $${e.estimated.toFixed(4)}, remaining $${e.remaining.toFixed(4)}`),this.name="BudgetExceededError",this.estimated=e.estimated,this.remaining=e.remaining,this.window=e.window;}},$=class{entries=[];record(e){this.entries.push({timestamp:Date.now(),cost:e});}getCostInWindow(e){let t=Date.now()-e;this.prune(t);let n=0;for(let s of this.entries)s.timestamp>=t&&(n+=s.cost);return n}prune(e){let t=0;for(;t<this.entries.length&&this.entries[t].timestamp<e;)t++;t>0&&this.entries.splice(0,t);}clear(){this.entries=[];}},ae={hour:3600*1e3,day:1440*60*1e3};function In(r,e){return Math.ceil(r.length/e)}function se(r,e){return r.inputTokens/1e6*e.inputPerMillion+r.outputTokens/1e6*e.outputPerMillion}function ie(r,e,t=1){let n=Math.ceil(r*t);return r/1e6*e.inputPerMillion+n/1e6*e.outputPerMillion}function Mn(r,e){let{maxCostPerCall:t,budgets:n=[],pricing:s,charsPerToken:c=4,estimatedOutputMultiplier:o=1,onBudgetExceeded:u}=e;if(!Number.isFinite(c)||c<=0)throw new Error("[Directive] withBudget: charsPerToken must be a positive finite number.");if(t!=null&&(!Number.isFinite(t)||t<0))throw new Error("[Directive] withBudget: maxCostPerCall must be a non-negative finite number.");if(!Number.isFinite(o)||o<0)throw new Error("[Directive] withBudget: estimatedOutputMultiplier must be a non-negative finite number.");t!=null&&!s&&console.warn("[Directive] withBudget: maxCostPerCall has no effect without pricing. Provide a pricing config to enable per-call cost estimation.");for(let m of n)if(!Number.isFinite(m.maxCost)||m.maxCost<0)throw new Error(`[Directive] withBudget: budgets[${m.window}].maxCost must be a non-negative finite number.`);let a=new Map;for(let m of n)a.set(m.window,new $);let y=new $,p=async(m,l,g)=>{let C=In(l,c);if(t!=null&&s){let S=ie(C,s,o);if(S>t){let d={estimated:S,remaining:t,window:"per-call"};try{u?.(d);}catch{}throw new N(d)}}for(let S of n){let d=ae[S.window],b=a.get(S.window).getCostInWindow(d),A=S.maxCost-b,x=ie(C,S.pricing,o);if(x>A){let w={estimated:x,remaining:Math.max(0,A),window:S.window};try{u?.(w);}catch{}throw new N(w)}}let E=await r(m,l,g);if(E.tokenUsage){for(let S of n){let d=a.get(S.window),f=se(E.tokenUsage,S.pricing);d.record(f);}if(s&&n.length===0){let S=se(E.tokenUsage,s);y.record(S);}}return E};function h(m){let l=a.get(m);if(!l)return 0;let g=ae[m];return l.getCostInWindow(g)}return p.getSpent=h,p}function Pn(r,e){return {match:(t,n)=>n.length<=r,model:e}}function Dn(r,e){return {match:t=>t.name===r,model:e}}function On(r,e){return {match:(t,n)=>(r.lastIndex=0,r.test(n)),model:e}}function Bn(r,e){let t=Array.isArray(e)?{rules:e}:e,{rules:n,onModelSelected:s}=t;return async(c,o,u)=>{let a=c.model;for(let p of n)try{if(p.match(c,o)){a=p.model;break}}catch{}try{s?.(c.model,a);}catch{}let y=a!==c.model?{...c,model:a}:c;return r(y,o,u)}}function jn(r,e={}){let{maxBatchSize:t=20,maxWaitMs:n=5e3,concurrency:s=5}=e;if(!Number.isFinite(t)||t<1)throw new Error("[Directive] createBatchQueue: maxBatchSize must be a positive finite number (>= 1).");if(!Number.isFinite(n)||n<0)throw new Error("[Directive] createBatchQueue: maxWaitMs must be a non-negative finite number.");if(!Number.isFinite(s)||s<1)throw new Error("[Directive] createBatchQueue: concurrency must be a positive finite number (>= 1).");let c=[],o=null,u=false,a=null;function y(){o===null&&(o=setTimeout(()=>{o=null,m().catch(()=>{});},n));}function p(){o!==null&&(clearTimeout(o),o=null);}async function h(l){let g=0;async function C(){for(;g<l.length;){let S=g++,d=l[S];try{let f=await r(d.agent,d.input,d.options);d.resolve(f);}catch(f){d.reject(f instanceof Error?f:new Error(String(f)));}}}let E=Array.from({length:Math.min(s,l.length)},()=>C());await Promise.all(E);}async function m(){if(a&&await a,c.length===0)return;p();let l=c.splice(0);a=h(l).finally(()=>{a=null,c.length>0&&y();}),await a;}return {submit(l,g,C){return u?Promise.reject(new Error("[Directive] BatchQueue has been destroyed.")):new Promise((E,S)=>{c.push({agent:l,input:g,options:C,resolve:E,reject:S}),c.length>=t?(p(),m().catch(()=>{})):y();})},async flush(){await m();},get pending(){return c.length},async destroy(){u||(u=true,p(),c.length>0&&await m());}}}function ce(){return {callCount:0,errorCount:0,totalCost:0,avgLatencyMs:0,lastErrorAt:null}}function Nn(r,e){return !r||!e?0:r.inputTokens/1e6*e.inputPerMillion+r.outputTokens/1e6*e.outputPerMillion}function Gn(r){let{providers:e,defaultProvider:t,constraints:n=[],onProviderSelected:s,errorCooldownMs:c=3e4,preferCheapest:o=false}=r;if(!Number.isFinite(c)||c<0)throw new Error("[Directive] createConstraintRouter: errorCooldownMs must be a non-negative finite number.");let u=new Map;for(let g of e)u.set(g.name,g);if(!u.has(t))throw new Error(`[Directive] Default provider "${t}" not found in providers list.`);let a={totalCost:0,callCount:0,errorCount:0,lastProvider:null,avgLatencyMs:0,providers:Object.create(null)};for(let g of e)a.providers[g.name]=ce();let y=0,p=[...n].sort((g,C)=>(C.priority??0)-(g.priority??0));function h(){let g=Date.now();for(let E of p)try{if(E.when(a)){let S=u.get(E.provider);if(S)return {provider:S,reason:"constraint"}}}catch{}let C=e.filter(E=>{let S=a.providers[E.name];return S?!(S.lastErrorAt&&g-S.lastErrorAt<c):true});if(o&&C.length>0){let E=[...C].sort((S,d)=>{let f=S.pricing?S.pricing.inputPerMillion+S.pricing.outputPerMillion:Number.POSITIVE_INFINITY,b=d.pricing?d.pricing.inputPerMillion+d.pricing.outputPerMillion:Number.POSITIVE_INFINITY;return f!==b?f-b:S.name===t?-1:d.name===t?1:0});if(E[0]!==u.get(t))return {provider:E[0],reason:"cheapest"}}return C.length>0&&!C.some(E=>E.name===t)?{provider:C[0],reason:"default"}:{provider:u.get(t),reason:"default"}}function m(g,C,E,S,d){let f=a.providers[g]??ce();if(f.callCount++,a.callCount++,d)f.errorCount++,a.errorCount++,f.lastErrorAt=Date.now();else {let A=Nn(E,S);f.totalCost+=A,a.totalCost+=A;}y+=C,a.avgLatencyMs=y/a.callCount;let b=f.callCount>0?(f.avgLatencyMs*(f.callCount-1)+C)/f.callCount:C;f.avgLatencyMs=b,a.providers[g]=f,a.lastProvider=g;}let l=async(g,C,E)=>{let{provider:S,reason:d}=h();try{s?.(S.name,d);}catch{}let f=Date.now();try{let b=await S.runner(g,C,E),A=Date.now()-f;return m(S.name,A,b.tokenUsage,S.pricing),b}catch(b){let A=Date.now()-f,x=b instanceof Error?b:new Error(String(b));throw m(S.name,A,void 0,S.pricing,x),x}};return Object.defineProperty(l,"facts",{get:()=>{let g=Object.create(null);for(let C of Object.keys(a.providers))g[C]={...a.providers[C]};return {...a,providers:g}},enumerable:true}),l}var I={UNSET:0,OK:1,ERROR:2},L=class{constructor(e,t,n,s,c,o){this.name=e;this.spanId=t;this.traceId=n;this.parentSpanId=s;this.onEnd=o;if(this.startTime=Date.now(),c)for(let[u,a]of Object.entries(c))this.attributes[u]=a;}attributes=Object.create(null);spanEvents=[];status={code:I.UNSET};startTime;endTime=0;setAttribute(e,t){this.attributes[e]=t;}addEvent(e,t){this.spanEvents.push({name:e,attributes:t,timestamp:Date.now()});}setStatus(e){this.status=e;}end(){this.endTime=Date.now(),this.onEnd?.(this);}toSpanData(){return {name:this.name,traceId:this.traceId,spanId:this.spanId,parentSpanId:this.parentSpanId,attributes:{...this.attributes},events:[...this.spanEvents],status:{...this.status},startTime:this.startTime,endTime:this.endTime,durationMs:this.endTime-this.startTime}}},J=class{spans=[];startSpan(e,t){let n=t?.spanId??`fallback-${crypto.randomUUID()}`,s=t?.traceId??`fallback-${crypto.randomUUID()}`,c=t?.parentSpanId;return new L(e,n,s,c,t?.attributes,o=>{this.spans.push(o.toSpanData());})}clear(){this.spans.length=0;}};function _n(r){let e=r.spanPrefix??"directive.ai",t=r.instrumentEvents,n=r.spanTtlMs??3e5,s=!r.tracer,c=s?new J:null,o=r.tracer??c,u=0;function a(){return `${Date.now().toString(36)}-${(u++).toString(36)}`}function y(){return `${Date.now().toString(36)}-${crypto.randomUUID().slice(0,8)}`}let p=new Map,h=0,m=new Map,l=[],g=null,C=false;function E(i){return t?t.has(i):true}function S(i,v){return `${i}:${v}:${h++}`}function d(i,v){let R=`${i}:${v}`,T=m.get(R);if(T){for(let k=T.length-1;k>=0;k--){let O=p.get(T[k]);if(O)return {key:T[k],entry:O}}m.delete(R);}return null}function f(i,v,R,T){let k=`${i}:${v}`;T.indexKey=k,p.set(R,T);let O=m.get(k);O?O.push(R):m.set(k,[R]);}function b(i){let v=p.get(i);p.delete(i);let R=v?.indexKey;if(R){let T=m.get(R);if(T){let k=T.indexOf(i);k!==-1&&T.splice(k,1),T.length===0&&m.delete(R);}}}function A(){let i=Date.now();if(p.size<1e4){for(let[R,T]of p)i-T.startTime>n&&(M(T,"directive.stale",true),D(T,{code:I.ERROR,message:"Span TTL exceeded \u2014 cleaned up"}),w(T),b(R),true);return void 0}for(let[v,R]of p)i-R.startTime>n&&(M(R,"directive.stale",true),D(R,{code:I.ERROR,message:"Span TTL exceeded \u2014 cleaned up"}),w(R),b(v));}function x(i,v,R){let T=a(),k=R?.traceId??y(),O=R?.spanId,B;s?B=o.startSpan(i,{attributes:v,spanId:T,traceId:k,parentSpanId:O}):B=o.startSpan(i,{attributes:v});let z={span:B,spanId:T,traceId:k,startTime:Date.now()};return s||(z.shadow={span:B,name:i,spanId:T,traceId:k,parentSpanId:O,attributes:{...v},events:[],status:{code:I.UNSET},startTime:z.startTime}),{span:B,entry:z}}function w(i){i.span.end(),r.onSpanEnd&&r.onSpanEnd(P(i));}function P(i){if(i.span instanceof L)return i.span.toSpanData();if(i.shadow){let R=Date.now();return {name:i.shadow.name,traceId:i.shadow.traceId,spanId:i.shadow.spanId,parentSpanId:i.shadow.parentSpanId,attributes:{...i.shadow.attributes},events:[...i.shadow.events],status:{...i.shadow.status},startTime:i.shadow.startTime,endTime:R,durationMs:R-i.shadow.startTime}}let v=Date.now();return {name:"unknown",traceId:i.traceId,spanId:i.spanId,attributes:{},events:[],status:{code:I.UNSET},startTime:i.startTime,endTime:v,durationMs:v-i.startTime}}function M(i,v,R){i.span.setAttribute(v,R),i.shadow&&(i.shadow.attributes[v]=R);}function q(i,v,R){i.span.addEvent(v,R),i.shadow&&i.shadow.events.push({name:v,attributes:R,timestamp:Date.now()});}function D(i,v){i.span.setStatus(v),i.shadow&&(i.shadow.status={...v});}function ue(i){if(E(i.type))switch(A(),i.type){case "agent_start":le(i);break;case "agent_complete":de(i);break;case "agent_error":pe(i);break;case "guardrail_check":ge(i);break;case "constraint_evaluate":me(i);break;case "resolver_start":fe(i);break;case "resolver_complete":ye(i);break;case "resolver_error":he(i);break;case "pattern_start":ve(i);break;case "pattern_complete":Se(i);break;default:if(i.agentId){let v=d("agent",i.agentId);v&&q(v.entry,i.type,{"event.id":i.id,"event.timestamp":i.timestamp});}}}function le(i){let v=l.length>0?l[l.length-1]:null,{entry:R}=x(`${e}.agent.run`,{"directive.service":r.serviceName,"directive.agent.name":i.agentId,"directive.agent.input_length":i.inputLength,"gen_ai.operation.name":"agent.run","gen_ai.agent.name":i.agentId},v),T=S("agent",i.agentId);f("agent",i.agentId,T,R);}function de(i){let v=d("agent",i.agentId);v&&(M(v.entry,"directive.agent.output_length",i.outputLength),M(v.entry,"directive.agent.total_tokens",i.totalTokens),M(v.entry,"directive.agent.duration_ms",i.durationMs),M(v.entry,"gen_ai.usage.total_tokens",i.totalTokens),D(v.entry,{code:I.OK}),w(v.entry),b(v.key));}function pe(i){let v=d("agent",i.agentId);v&&(M(v.entry,"directive.agent.duration_ms",i.durationMs),M(v.entry,"directive.agent.error",i.errorMessage),M(v.entry,"gen_ai.error.message",i.errorMessage),D(v.entry,{code:I.ERROR,message:i.errorMessage}),w(v.entry),b(v.key));}function ge(i){let v=i.agentId?d("agent",i.agentId)?.entry??null:null,{entry:R}=x(`${e}.guardrail.check`,{"directive.service":r.serviceName,"directive.guardrail.name":i.guardrailName,"directive.guardrail.type":i.guardrailType,"directive.guardrail.passed":i.passed,"directive.guardrail.duration_ms":i.durationMs,"gen_ai.guardrail.name":i.guardrailName,"gen_ai.guardrail.type":i.guardrailType,"gen_ai.guardrail.passed":i.passed},v);i.reason&&M(R,"directive.guardrail.reason",i.reason),D(R,{code:i.passed?I.OK:I.ERROR,message:i.passed?void 0:i.reason}),w(R);}function me(i){if(i.agentId){let R=d("agent",i.agentId);if(R){q(R.entry,"constraint_evaluate",{"directive.constraint.id":i.constraintId,"directive.constraint.fired":i.fired});return}}let{entry:v}=x(`${e}.constraint.evaluate`,{"directive.service":r.serviceName,"directive.constraint.id":i.constraintId,"directive.constraint.fired":i.fired},null);D(v,{code:I.OK}),w(v);}function fe(i){let R=(i.agentId?d("agent",i.agentId)?.entry??null:null)??(l.length>0?l[l.length-1]:null),{entry:T}=x(`${e}.resolver.execute`,{"directive.service":r.serviceName,"directive.resolver.id":i.resolverId,"directive.resolver.requirement_type":i.requirementType},R),k=S("resolver",i.resolverId);f("resolver",i.resolverId,k,T);}function ye(i){let v=d("resolver",i.resolverId);v&&(M(v.entry,"directive.resolver.duration_ms",i.durationMs),D(v.entry,{code:I.OK}),w(v.entry),b(v.key));}function he(i){let v=d("resolver",i.resolverId);v&&(M(v.entry,"directive.resolver.duration_ms",i.durationMs),M(v.entry,"directive.resolver.error",i.errorMessage),D(v.entry,{code:I.ERROR,message:i.errorMessage}),w(v.entry),b(v.key));}function ve(i){let v=l.length>0?l[l.length-1]:null,{entry:R}=x(`${e}.pattern.${i.patternType}`,{"directive.service":r.serviceName,"directive.pattern.id":i.patternId,"directive.pattern.type":i.patternType},v),T=S("pattern",i.patternId);f("pattern",i.patternId,T,R),l.length<100&&l.push(R);}function Se(i){let v=d("pattern",i.patternId);if(v){M(v.entry,"directive.pattern.duration_ms",i.durationMs),i.error?(M(v.entry,"directive.pattern.error",i.error),D(v.entry,{code:I.ERROR,message:i.error})):D(v.entry,{code:I.OK}),w(v.entry),b(v.key);let R=l.indexOf(v.entry);R!==-1&&l.splice(R,1);}}return {attach(i){if(g&&g!==i)throw new Error("[Directive OTEL] Plugin already attached to a different timeline. Create a new plugin instance.");g=i;let v=i.subscribe(ue),R=setInterval(A,Math.min(n,6e4));return ()=>{v(),clearInterval(R),g=null;for(let[T,k]of p)M(k,"directive.detached",true),D(k,{code:I.ERROR,message:"Plugin detached while span was active"}),w(k);p.clear(),m.clear(),l.length=0;}},getSpans(){return c?[...c.spans]:(C||(C=true,typeof process<"u"&&process.env?.NODE_ENV!=="production"&&console.warn("[Directive OTEL] getSpans() returns [] when using an external tracer. Use the onSpanEnd callback to collect span data instead.")),[])},clearSpans(){c?.clear();},getTracer(){return o},getActiveSpanCount(){return p.size}}}function Fn(r,e){let{tracer:t,serviceName:n,spanPrefix:s="directive.source",publishSampleRate:c=1}=e,o=new Map;function u(h,m){return `${m}::${h}`}function a(h,m){return {"service.name":n,"source.id":h,"source.module_id":m}}function y(h){switch(h.type){case "source.attach":{let m=h.id,l=h.moduleId,g=t.startSpan(`${s}.attached`,{attributes:{...a(m,l),"directive.attached":true}});o.set(u(m,l),{span:g,startedAt:Date.now()});break}case "source.publish":{if(c<1&&Math.random()>c)break;let m=h.id,l=h.moduleId,g=h.eventName,C=o.get(u(m,l));if(!C)break;C.span.addEvent("publish",{"source.event_name":g,"timestamp.ms":Date.now()});break}case "source.detach":{let m=h.id,l=h.moduleId,g=o.get(u(m,l));if(!g)break;g.span.setStatus({code:I.OK}),g.span.end(),o.delete(u(m,l));break}case "source.error":{let m=h.id,l=h.moduleId,g=h.phase,C=h.error,E=C instanceof Error?C.message:typeof C=="string"?C:String(C),S=t.startSpan(`${s}.error`,{attributes:{...a(m,l),"directive.phase":g,"error.message":E}});S.setStatus({code:I.ERROR,message:E}),S.end();let d=o.get(u(m,l));d&&d.span.addEvent("error",{"directive.phase":g,"error.message":E});break}}}let p=r.observe(y);return ()=>{p();for(let[,h]of o)h.span.setAttribute("directive.detached",true),h.span.setStatus({code:I.OK}),h.span.end();o.clear();}}Object.defineProperty(exports,"DEFAULT_INJECTION_PATTERNS",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.o}});Object.defineProperty(exports,"STRICT_INJECTION_PATTERNS",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.p}});Object.defineProperty(exports,"createBatchedEmbedder",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.A}});Object.defineProperty(exports,"createBruteForceIndex",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.B}});Object.defineProperty(exports,"createContentFilterGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.h}});Object.defineProperty(exports,"createEnhancedPIIGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.k}});Object.defineProperty(exports,"createFactPIIGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.i}});Object.defineProperty(exports,"createInMemoryStorage",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.w}});Object.defineProperty(exports,"createLengthGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.g}});Object.defineProperty(exports,"createModerationGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.b}});Object.defineProperty(exports,"createOutputPIIGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.l}});Object.defineProperty(exports,"createOutputSchemaGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.e}});Object.defineProperty(exports,"createOutputTypeGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.f}});Object.defineProperty(exports,"createPIIGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.a}});Object.defineProperty(exports,"createPromptInjectionGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.s}});Object.defineProperty(exports,"createRateLimitGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.c}});Object.defineProperty(exports,"createSemanticCache",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.x}});Object.defineProperty(exports,"createSemanticCacheGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.y}});Object.defineProperty(exports,"createTestEmbedder",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.z}});Object.defineProperty(exports,"createToolGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.d}});Object.defineProperty(exports,"createUntrustedContentGuardrail",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.u}});Object.defineProperty(exports,"createVPTreeIndex",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.C}});Object.defineProperty(exports,"detectAndRedactPII",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.n}});Object.defineProperty(exports,"detectPII",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.m}});Object.defineProperty(exports,"detectPromptInjection",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.q}});Object.defineProperty(exports,"markUntrustedContent",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.t}});Object.defineProperty(exports,"redactPII",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.j}});Object.defineProperty(exports,"sanitizeInjection",{enumerable:true,get:function(){return chunkGL7OJP7Q_cjs.r}});Object.defineProperty(exports,"connectDevTools",{enumerable:true,get:function(){return chunkIR3IHBVQ_cjs.b}});Object.defineProperty(exports,"createDevToolsServer",{enumerable:true,get:function(){return chunkIR3IHBVQ_cjs.a}});Object.defineProperty(exports,"createWsTransport",{enumerable:true,get:function(){return chunkIR3IHBVQ_cjs.c}});Object.defineProperty(exports,"createEvalSuite",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.k}});Object.defineProperty(exports,"evalAssert",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.l}});Object.defineProperty(exports,"evalCoherence",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.j}});Object.defineProperty(exports,"evalCost",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.a}});Object.defineProperty(exports,"evalFaithfulness",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.h}});Object.defineProperty(exports,"evalJudge",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.f}});Object.defineProperty(exports,"evalLatency",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.b}});Object.defineProperty(exports,"evalMatch",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.g}});Object.defineProperty(exports,"evalOutputLength",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.c}});Object.defineProperty(exports,"evalRelevance",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.i}});Object.defineProperty(exports,"evalSafety",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.d}});Object.defineProperty(exports,"evalStructure",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.e}});Object.defineProperty(exports,"convertToolsForLLM",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.b}});Object.defineProperty(exports,"createMCPAdapter",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.a}});Object.defineProperty(exports,"mcpCallTool",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.c}});Object.defineProperty(exports,"mcpGetPrompt",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.e}});Object.defineProperty(exports,"mcpReadResource",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.d}});Object.defineProperty(exports,"mcpSyncResources",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.f}});Object.defineProperty(exports,"createAgentOrchestrator",{enumerable:true,get:function(){return chunk2C3R77ZW_cjs.a}});Object.defineProperty(exports,"createRunner",{enumerable:true,get:function(){return chunk3WO4MWJM_cjs.f}});Object.defineProperty(exports,"estimateCost",{enumerable:true,get:function(){return chunk3WO4MWJM_cjs.c}});Object.defineProperty(exports,"hasPendingApprovals",{enumerable:true,get:function(){return chunk3WO4MWJM_cjs.b}});Object.defineProperty(exports,"isAgentRunning",{enumerable:true,get:function(){return chunk3WO4MWJM_cjs.a}});Object.defineProperty(exports,"validateBaseURL",{enumerable:true,get:function(){return chunk3WO4MWJM_cjs.d}});Object.defineProperty(exports,"createAgentNetwork",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.c}});Object.defineProperty(exports,"createDelegator",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.e}});Object.defineProperty(exports,"createMessageBus",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.b}});Object.defineProperty(exports,"createPubSub",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.f}});Object.defineProperty(exports,"createResponder",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.d}});Object.defineProperty(exports,"explainGoal",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.j}});Object.defineProperty(exports,"getDependencyGraph",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.g}});Object.defineProperty(exports,"patternToMermaid",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.a}});Object.defineProperty(exports,"planGoal",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.i}});Object.defineProperty(exports,"validateGoal",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.h}});Object.defineProperty(exports,"InMemoryCheckpointStore",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.y}});Object.defineProperty(exports,"MAX_BREAKPOINT_HISTORY",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.s}});Object.defineProperty(exports,"ReflectionExhaustedError",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.K}});Object.defineProperty(exports,"Semaphore",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.N}});Object.defineProperty(exports,"adaptOutputGuardrail",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.E}});Object.defineProperty(exports,"aggregateTokens",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ia}});Object.defineProperty(exports,"allReadyStrategy",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs._}});Object.defineProperty(exports,"capabilityRoute",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.la}});Object.defineProperty(exports,"collectOutputs",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ha}});Object.defineProperty(exports,"collectTokens",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.F}});Object.defineProperty(exports,"combineStreamingGuardrails",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.D}});Object.defineProperty(exports,"composePatterns",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ja}});Object.defineProperty(exports,"concatResults",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.fa}});Object.defineProperty(exports,"costEfficientStrategy",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.aa}});Object.defineProperty(exports,"createBreakpointId",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.t}});Object.defineProperty(exports,"createCheckpointId",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.w}});Object.defineProperty(exports,"createInitialBreakpointState",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.v}});Object.defineProperty(exports,"createLengthStreamingGuardrail",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.B}});Object.defineProperty(exports,"createMultiAgentOrchestrator",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ra}});Object.defineProperty(exports,"createPatternStreamingGuardrail",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.C}});Object.defineProperty(exports,"createStreamingRunner",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.z}});Object.defineProperty(exports,"createToxicityStreamingGuardrail",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.A}});Object.defineProperty(exports,"dag",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.W}});Object.defineProperty(exports,"debate",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.na}});Object.defineProperty(exports,"derivedConstraint",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.pa}});Object.defineProperty(exports,"diffCheckpoints",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.Q}});Object.defineProperty(exports,"filterStream",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.H}});Object.defineProperty(exports,"findAgentsByCapability",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ka}});Object.defineProperty(exports,"forkFromCheckpoint",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.R}});Object.defineProperty(exports,"formatSystemMeta",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.a}});Object.defineProperty(exports,"getCheckpointProgress",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.P}});Object.defineProperty(exports,"getPatternStep",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.O}});Object.defineProperty(exports,"goal",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.Z}});Object.defineProperty(exports,"highestImpactStrategy",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.$}});Object.defineProperty(exports,"mapStream",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.I}});Object.defineProperty(exports,"matchBreakpoint",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.u}});Object.defineProperty(exports,"mergeTaggedStreams",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.J}});Object.defineProperty(exports,"parallel",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.T}});Object.defineProperty(exports,"patternFromJSON",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ca}});Object.defineProperty(exports,"patternToJSON",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ba}});Object.defineProperty(exports,"pickBestResult",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ga}});Object.defineProperty(exports,"race",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.Y}});Object.defineProperty(exports,"reflect",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.X}});Object.defineProperty(exports,"runAgentRequirement",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ea}});Object.defineProperty(exports,"runDebate",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.oa}});Object.defineProperty(exports,"selectAgent",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.da}});Object.defineProperty(exports,"sequential",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.U}});Object.defineProperty(exports,"spawnOnCondition",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ma}});Object.defineProperty(exports,"spawnPool",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.qa}});Object.defineProperty(exports,"supervisor",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.V}});Object.defineProperty(exports,"tapStream",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.G}});Object.defineProperty(exports,"toAIContext",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.b}});Object.defineProperty(exports,"validateCheckpoint",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.x}});Object.defineProperty(exports,"withReflection",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.L}});Object.defineProperty(exports,"GuardrailError",{enumerable:true,get:function(){return chunkK64WKZ22_cjs.a}});Object.defineProperty(exports,"isGuardrailError",{enumerable:true,get:function(){return chunkK64WKZ22_cjs.b}});Object.defineProperty(exports,"createDebugTimeline",{enumerable:true,get:function(){return chunkWOFIBIPW_cjs.a}});Object.defineProperty(exports,"createDebugTimelinePlugin",{enumerable:true,get:function(){return chunkWOFIBIPW_cjs.b}});Object.defineProperty(exports,"createHealthMonitor",{enumerable:true,get:function(){return chunkWOFIBIPW_cjs.c}});Object.defineProperty(exports,"PredicateFromIntentError",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.a}});Object.defineProperty(exports,"predicateFromIntent",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.b}});Object.defineProperty(exports,"predicateFromIntentRaw",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.c}});Object.defineProperty(exports,"predicateFromIntentWithProvenance",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.g}});Object.defineProperty(exports,"predicateToolSpec",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.f}});Object.defineProperty(exports,"predicateToolSpecAnthropic",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.e}});Object.defineProperty(exports,"predicateToolSpecOpenAI",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.d}});Object.defineProperty(exports,"StructuredOutputError",{enumerable:true,get:function(){return chunkWCQK3JOR_cjs.c}});Object.defineProperty(exports,"extractJsonFromOutput",{enumerable:true,get:function(){return chunkWCQK3JOR_cjs.a}});Object.defineProperty(exports,"withStructuredOutput",{enumerable:true,get:function(){return chunkWCQK3JOR_cjs.b}});Object.defineProperty(exports,"CircuitBreakerOpenError",{enumerable:true,get:function(){return plugins.CircuitBreakerOpenError}});Object.defineProperty(exports,"createCircuitBreaker",{enumerable:true,get:function(){return plugins.createCircuitBreaker}});Object.defineProperty(exports,"createOTLPExporter",{enumerable:true,get:function(){return plugins.createOTLPExporter}});exports.AllProvidersFailedError=F;exports.BudgetExceededError=N;exports.OtelStatusCode=I;exports.RetryExhaustedError=_;exports.attachSourcesToOtel=Fn;exports.byAgentName=Dn;exports.byInputLength=Pn;exports.byPattern=On;exports.createAgentAuditHandlers=an;exports.createAgentMemory=Kr;exports.createAuditTrail=on;exports.createBatchQueue=jn;exports.createBidirectionalStream=gn;exports.createCompliance=pn;exports.createConstraintRouter=Gn;exports.createHybridStrategy=Vr;exports.createInMemoryComplianceStorage=dn;exports.createJSONFileStore=Cn;exports.createKeyPointsSummarizer=Jr;exports.createLLMSummarizer=qr;exports.createOtelPlugin=_n;exports.createRAGEnricher=Sn;exports.createSSETransport=Rn;exports.createSlidingWindowStrategy=X;exports.createStreamChannel=K;exports.createTokenBasedStrategy=Y;exports.createTruncationSummarizer=Wr;exports.mergeStreams=fn;exports.parseHttpStatus=W;exports.parseRetryAfter=oe;exports.pipe=Hr;exports.pipeThrough=mn;exports.withBudget=Mn;exports.withFallback=xn;exports.withModelSelection=Bn;exports.withRetry=kn;//# sourceMappingURL=index.cjs.map
40
+ ${t}`),this.name="AllProvidersFailedError",this.errors=Object.freeze([...e]),e.length>0&&(this.cause=e[e.length-1]);}};function xn(r,e={}){if(r.length===0)throw new Error("[Directive] withFallback requires at least one runner.");let{shouldFallback:t,onFallback:n}=e;return async(s,c,o)=>{let u=[];for(let a=0;a<r.length;a++)try{return await r[a](s,c,o)}catch(y){let p=y instanceof Error?y:new Error(String(y));if(u.push(p),a<r.length-1){if(t)try{if(!t(p))break}catch{break}try{n?.(a,a+1,p);}catch{}}}throw new F(u)}}var N=class extends Error{estimated;remaining;window;constructor(e){super(`[Directive] Budget exceeded (${e.window}): estimated $${e.estimated.toFixed(4)}, remaining $${e.remaining.toFixed(4)}`),this.name="BudgetExceededError",this.estimated=e.estimated,this.remaining=e.remaining,this.window=e.window;}},$=class{entries=[];record(e){this.entries.push({timestamp:Date.now(),cost:e});}getCostInWindow(e){let t=Date.now()-e;this.prune(t);let n=0;for(let s of this.entries)s.timestamp>=t&&(n+=s.cost);return n}prune(e){let t=0;for(;t<this.entries.length&&this.entries[t].timestamp<e;)t++;t>0&&this.entries.splice(0,t);}clear(){this.entries=[];}},ae={hour:3600*1e3,day:1440*60*1e3};function In(r,e){return Math.ceil(r.length/e)}function se(r,e){return r.inputTokens/1e6*e.inputPerMillion+r.outputTokens/1e6*e.outputPerMillion}function ie(r,e,t=1){let n=Math.ceil(r*t);return r/1e6*e.inputPerMillion+n/1e6*e.outputPerMillion}function Mn(r,e){let{maxCostPerCall:t,budgets:n=[],pricing:s,charsPerToken:c=4,estimatedOutputMultiplier:o=1,onBudgetExceeded:u}=e;if(!Number.isFinite(c)||c<=0)throw new Error("[Directive] withBudget: charsPerToken must be a positive finite number.");if(t!=null&&(!Number.isFinite(t)||t<0))throw new Error("[Directive] withBudget: maxCostPerCall must be a non-negative finite number.");if(!Number.isFinite(o)||o<0)throw new Error("[Directive] withBudget: estimatedOutputMultiplier must be a non-negative finite number.");t!=null&&!s&&console.warn("[Directive] withBudget: maxCostPerCall has no effect without pricing. Provide a pricing config to enable per-call cost estimation.");for(let m of n)if(!Number.isFinite(m.maxCost)||m.maxCost<0)throw new Error(`[Directive] withBudget: budgets[${m.window}].maxCost must be a non-negative finite number.`);let a=new Map;for(let m of n)a.set(m.window,new $);let y=new $,p=async(m,l,g)=>{let C=In(l,c);if(t!=null&&s){let S=ie(C,s,o);if(S>t){let d={estimated:S,remaining:t,window:"per-call"};try{u?.(d);}catch{}throw new N(d)}}for(let S of n){let d=ae[S.window],b=a.get(S.window).getCostInWindow(d),A=S.maxCost-b,x=ie(C,S.pricing,o);if(x>A){let w={estimated:x,remaining:Math.max(0,A),window:S.window};try{u?.(w);}catch{}throw new N(w)}}let E=await r(m,l,g);if(E.tokenUsage){for(let S of n){let d=a.get(S.window),f=se(E.tokenUsage,S.pricing);d.record(f);}if(s&&n.length===0){let S=se(E.tokenUsage,s);y.record(S);}}return E};function h(m){let l=a.get(m);if(!l)return 0;let g=ae[m];return l.getCostInWindow(g)}return p.getSpent=h,p}function Pn(r,e){return {match:(t,n)=>n.length<=r,model:e}}function Dn(r,e){return {match:t=>t.name===r,model:e}}function On(r,e){return {match:(t,n)=>(r.lastIndex=0,r.test(n)),model:e}}function Bn(r,e){let t=Array.isArray(e)?{rules:e}:e,{rules:n,onModelSelected:s}=t;return async(c,o,u)=>{let a=c.model;for(let p of n)try{if(p.match(c,o)){a=p.model;break}}catch{}try{s?.(c.model,a);}catch{}let y=a!==c.model?{...c,model:a}:c;return r(y,o,u)}}function jn(r,e={}){let{maxBatchSize:t=20,maxWaitMs:n=5e3,concurrency:s=5}=e;if(!Number.isFinite(t)||t<1)throw new Error("[Directive] createBatchQueue: maxBatchSize must be a positive finite number (>= 1).");if(!Number.isFinite(n)||n<0)throw new Error("[Directive] createBatchQueue: maxWaitMs must be a non-negative finite number.");if(!Number.isFinite(s)||s<1)throw new Error("[Directive] createBatchQueue: concurrency must be a positive finite number (>= 1).");let c=[],o=null,u=false,a=null;function y(){o===null&&(o=setTimeout(()=>{o=null,m().catch(()=>{});},n));}function p(){o!==null&&(clearTimeout(o),o=null);}async function h(l){let g=0;async function C(){for(;g<l.length;){let S=g++,d=l[S];try{let f=await r(d.agent,d.input,d.options);d.resolve(f);}catch(f){d.reject(f instanceof Error?f:new Error(String(f)));}}}let E=Array.from({length:Math.min(s,l.length)},()=>C());await Promise.all(E);}async function m(){if(a&&await a,c.length===0)return;p();let l=c.splice(0);a=h(l).finally(()=>{a=null,c.length>0&&y();}),await a;}return {submit(l,g,C){return u?Promise.reject(new Error("[Directive] BatchQueue has been destroyed.")):new Promise((E,S)=>{c.push({agent:l,input:g,options:C,resolve:E,reject:S}),c.length>=t?(p(),m().catch(()=>{})):y();})},async flush(){await m();},get pending(){return c.length},async destroy(){u||(u=true,p(),c.length>0&&await m());}}}function ce(){return {callCount:0,errorCount:0,totalCost:0,avgLatencyMs:0,lastErrorAt:null}}function Nn(r,e){return !r||!e?0:r.inputTokens/1e6*e.inputPerMillion+r.outputTokens/1e6*e.outputPerMillion}function Gn(r){let{providers:e,defaultProvider:t,constraints:n=[],onProviderSelected:s,errorCooldownMs:c=3e4,preferCheapest:o=false}=r;if(!Number.isFinite(c)||c<0)throw new Error("[Directive] createConstraintRouter: errorCooldownMs must be a non-negative finite number.");let u=new Map;for(let g of e)u.set(g.name,g);if(!u.has(t))throw new Error(`[Directive] Default provider "${t}" not found in providers list.`);let a={totalCost:0,callCount:0,errorCount:0,lastProvider:null,avgLatencyMs:0,providers:Object.create(null)};for(let g of e)a.providers[g.name]=ce();let y=0,p=[...n].sort((g,C)=>(C.priority??0)-(g.priority??0));function h(){let g=Date.now();for(let E of p)try{if(E.when(a)){let S=u.get(E.provider);if(S)return {provider:S,reason:"constraint"}}}catch{}let C=e.filter(E=>{let S=a.providers[E.name];return S?!(S.lastErrorAt&&g-S.lastErrorAt<c):true});if(o&&C.length>0){let E=[...C].sort((S,d)=>{let f=S.pricing?S.pricing.inputPerMillion+S.pricing.outputPerMillion:Number.POSITIVE_INFINITY,b=d.pricing?d.pricing.inputPerMillion+d.pricing.outputPerMillion:Number.POSITIVE_INFINITY;return f!==b?f-b:S.name===t?-1:d.name===t?1:0});if(E[0]!==u.get(t))return {provider:E[0],reason:"cheapest"}}return C.length>0&&!C.some(E=>E.name===t)?{provider:C[0],reason:"default"}:{provider:u.get(t),reason:"default"}}function m(g,C,E,S,d){let f=a.providers[g]??ce();if(f.callCount++,a.callCount++,d)f.errorCount++,a.errorCount++,f.lastErrorAt=Date.now();else {let A=Nn(E,S);f.totalCost+=A,a.totalCost+=A;}y+=C,a.avgLatencyMs=y/a.callCount;let b=f.callCount>0?(f.avgLatencyMs*(f.callCount-1)+C)/f.callCount:C;f.avgLatencyMs=b,a.providers[g]=f,a.lastProvider=g;}let l=async(g,C,E)=>{let{provider:S,reason:d}=h();try{s?.(S.name,d);}catch{}let f=Date.now();try{let b=await S.runner(g,C,E),A=Date.now()-f;return m(S.name,A,b.tokenUsage,S.pricing),b}catch(b){let A=Date.now()-f,x=b instanceof Error?b:new Error(String(b));throw m(S.name,A,void 0,S.pricing,x),x}};return Object.defineProperty(l,"facts",{get:()=>{let g=Object.create(null);for(let C of Object.keys(a.providers))g[C]={...a.providers[C]};return {...a,providers:g}},enumerable:true}),l}var I={UNSET:0,OK:1,ERROR:2},L=class{constructor(e,t,n,s,c,o){this.name=e;this.spanId=t;this.traceId=n;this.parentSpanId=s;this.onEnd=o;if(this.startTime=Date.now(),c)for(let[u,a]of Object.entries(c))this.attributes[u]=a;}attributes=Object.create(null);spanEvents=[];status={code:I.UNSET};startTime;endTime=0;setAttribute(e,t){this.attributes[e]=t;}addEvent(e,t){this.spanEvents.push({name:e,attributes:t,timestamp:Date.now()});}setStatus(e){this.status=e;}end(){this.endTime=Date.now(),this.onEnd?.(this);}toSpanData(){return {name:this.name,traceId:this.traceId,spanId:this.spanId,parentSpanId:this.parentSpanId,attributes:{...this.attributes},events:[...this.spanEvents],status:{...this.status},startTime:this.startTime,endTime:this.endTime,durationMs:this.endTime-this.startTime}}},J=class{spans=[];startSpan(e,t){let n=t?.spanId??`fallback-${crypto.randomUUID()}`,s=t?.traceId??`fallback-${crypto.randomUUID()}`,c=t?.parentSpanId;return new L(e,n,s,c,t?.attributes,o=>{this.spans.push(o.toSpanData());})}clear(){this.spans.length=0;}};function _n(r){let e=r.spanPrefix??"directive.ai",t=r.instrumentEvents,n=r.spanTtlMs??3e5,s=!r.tracer,c=s?new J:null,o=r.tracer??c,u=0;function a(){return `${Date.now().toString(36)}-${(u++).toString(36)}`}function y(){return `${Date.now().toString(36)}-${crypto.randomUUID().slice(0,8)}`}let p=new Map,h=0,m=new Map,l=[],g=null,C=false;function E(i){return t?t.has(i):true}function S(i,v){return `${i}:${v}:${h++}`}function d(i,v){let R=`${i}:${v}`,T=m.get(R);if(T){for(let k=T.length-1;k>=0;k--){let O=p.get(T[k]);if(O)return {key:T[k],entry:O}}m.delete(R);}return null}function f(i,v,R,T){let k=`${i}:${v}`;T.indexKey=k,p.set(R,T);let O=m.get(k);O?O.push(R):m.set(k,[R]);}function b(i){let v=p.get(i);p.delete(i);let R=v?.indexKey;if(R){let T=m.get(R);if(T){let k=T.indexOf(i);k!==-1&&T.splice(k,1),T.length===0&&m.delete(R);}}}function A(){let i=Date.now();if(p.size<1e4){for(let[R,T]of p)i-T.startTime>n&&(M(T,"directive.stale",true),D(T,{code:I.ERROR,message:"Span TTL exceeded \u2014 cleaned up"}),w(T),b(R),true);return void 0}for(let[v,R]of p)i-R.startTime>n&&(M(R,"directive.stale",true),D(R,{code:I.ERROR,message:"Span TTL exceeded \u2014 cleaned up"}),w(R),b(v));}function x(i,v,R){let T=a(),k=R?.traceId??y(),O=R?.spanId,B;s?B=o.startSpan(i,{attributes:v,spanId:T,traceId:k,parentSpanId:O}):B=o.startSpan(i,{attributes:v});let z={span:B,spanId:T,traceId:k,startTime:Date.now()};return s||(z.shadow={span:B,name:i,spanId:T,traceId:k,parentSpanId:O,attributes:{...v},events:[],status:{code:I.UNSET},startTime:z.startTime}),{span:B,entry:z}}function w(i){i.span.end(),r.onSpanEnd&&r.onSpanEnd(P(i));}function P(i){if(i.span instanceof L)return i.span.toSpanData();if(i.shadow){let R=Date.now();return {name:i.shadow.name,traceId:i.shadow.traceId,spanId:i.shadow.spanId,parentSpanId:i.shadow.parentSpanId,attributes:{...i.shadow.attributes},events:[...i.shadow.events],status:{...i.shadow.status},startTime:i.shadow.startTime,endTime:R,durationMs:R-i.shadow.startTime}}let v=Date.now();return {name:"unknown",traceId:i.traceId,spanId:i.spanId,attributes:{},events:[],status:{code:I.UNSET},startTime:i.startTime,endTime:v,durationMs:v-i.startTime}}function M(i,v,R){i.span.setAttribute(v,R),i.shadow&&(i.shadow.attributes[v]=R);}function q(i,v,R){i.span.addEvent(v,R),i.shadow&&i.shadow.events.push({name:v,attributes:R,timestamp:Date.now()});}function D(i,v){i.span.setStatus(v),i.shadow&&(i.shadow.status={...v});}function ue(i){if(E(i.type))switch(A(),i.type){case "agent_start":le(i);break;case "agent_complete":de(i);break;case "agent_error":pe(i);break;case "guardrail_check":ge(i);break;case "constraint_evaluate":me(i);break;case "resolver_start":fe(i);break;case "resolver_complete":ye(i);break;case "resolver_error":he(i);break;case "pattern_start":ve(i);break;case "pattern_complete":Se(i);break;default:if(i.agentId){let v=d("agent",i.agentId);v&&q(v.entry,i.type,{"event.id":i.id,"event.timestamp":i.timestamp});}}}function le(i){let v=l.length>0?l[l.length-1]:null,{entry:R}=x(`${e}.agent.run`,{"directive.service":r.serviceName,"directive.agent.name":i.agentId,"directive.agent.input_length":i.inputLength,"gen_ai.operation.name":"agent.run","gen_ai.agent.name":i.agentId},v),T=S("agent",i.agentId);f("agent",i.agentId,T,R);}function de(i){let v=d("agent",i.agentId);v&&(M(v.entry,"directive.agent.output_length",i.outputLength),M(v.entry,"directive.agent.total_tokens",i.totalTokens),M(v.entry,"directive.agent.duration_ms",i.durationMs),M(v.entry,"gen_ai.usage.total_tokens",i.totalTokens),D(v.entry,{code:I.OK}),w(v.entry),b(v.key));}function pe(i){let v=d("agent",i.agentId);v&&(M(v.entry,"directive.agent.duration_ms",i.durationMs),M(v.entry,"directive.agent.error",i.errorMessage),M(v.entry,"gen_ai.error.message",i.errorMessage),D(v.entry,{code:I.ERROR,message:i.errorMessage}),w(v.entry),b(v.key));}function ge(i){let v=i.agentId?d("agent",i.agentId)?.entry??null:null,{entry:R}=x(`${e}.guardrail.check`,{"directive.service":r.serviceName,"directive.guardrail.name":i.guardrailName,"directive.guardrail.type":i.guardrailType,"directive.guardrail.passed":i.passed,"directive.guardrail.duration_ms":i.durationMs,"gen_ai.guardrail.name":i.guardrailName,"gen_ai.guardrail.type":i.guardrailType,"gen_ai.guardrail.passed":i.passed},v);i.reason&&M(R,"directive.guardrail.reason",i.reason),D(R,{code:i.passed?I.OK:I.ERROR,message:i.passed?void 0:i.reason}),w(R);}function me(i){if(i.agentId){let R=d("agent",i.agentId);if(R){q(R.entry,"constraint_evaluate",{"directive.constraint.id":i.constraintId,"directive.constraint.fired":i.fired});return}}let{entry:v}=x(`${e}.constraint.evaluate`,{"directive.service":r.serviceName,"directive.constraint.id":i.constraintId,"directive.constraint.fired":i.fired},null);D(v,{code:I.OK}),w(v);}function fe(i){let R=(i.agentId?d("agent",i.agentId)?.entry??null:null)??(l.length>0?l[l.length-1]:null),{entry:T}=x(`${e}.resolver.execute`,{"directive.service":r.serviceName,"directive.resolver.id":i.resolverId,"directive.resolver.requirement_type":i.requirementType},R),k=S("resolver",i.resolverId);f("resolver",i.resolverId,k,T);}function ye(i){let v=d("resolver",i.resolverId);v&&(M(v.entry,"directive.resolver.duration_ms",i.durationMs),D(v.entry,{code:I.OK}),w(v.entry),b(v.key));}function he(i){let v=d("resolver",i.resolverId);v&&(M(v.entry,"directive.resolver.duration_ms",i.durationMs),M(v.entry,"directive.resolver.error",i.errorMessage),D(v.entry,{code:I.ERROR,message:i.errorMessage}),w(v.entry),b(v.key));}function ve(i){let v=l.length>0?l[l.length-1]:null,{entry:R}=x(`${e}.pattern.${i.patternType}`,{"directive.service":r.serviceName,"directive.pattern.id":i.patternId,"directive.pattern.type":i.patternType},v),T=S("pattern",i.patternId);f("pattern",i.patternId,T,R),l.length<100&&l.push(R);}function Se(i){let v=d("pattern",i.patternId);if(v){M(v.entry,"directive.pattern.duration_ms",i.durationMs),i.error?(M(v.entry,"directive.pattern.error",i.error),D(v.entry,{code:I.ERROR,message:i.error})):D(v.entry,{code:I.OK}),w(v.entry),b(v.key);let R=l.indexOf(v.entry);R!==-1&&l.splice(R,1);}}return {attach(i){if(g&&g!==i)throw new Error("[Directive OTEL] Plugin already attached to a different timeline. Create a new plugin instance.");g=i;let v=i.subscribe(ue),R=setInterval(A,Math.min(n,6e4));return ()=>{v(),clearInterval(R),g=null;for(let[T,k]of p)M(k,"directive.detached",true),D(k,{code:I.ERROR,message:"Plugin detached while span was active"}),w(k);p.clear(),m.clear(),l.length=0;}},getSpans(){return c?[...c.spans]:(C||(C=true,typeof process<"u"&&process.env?.NODE_ENV!=="production"&&console.warn("[Directive OTEL] getSpans() returns [] when using an external tracer. Use the onSpanEnd callback to collect span data instead.")),[])},clearSpans(){c?.clear();},getTracer(){return o},getActiveSpanCount(){return p.size}}}function Fn(r,e){let{tracer:t,serviceName:n,spanPrefix:s="directive.source",publishSampleRate:c=1}=e,o=new Map;function u(h,m){return `${m}::${h}`}function a(h,m){return {"service.name":n,"source.id":h,"source.module_id":m}}function y(h){switch(h.type){case "source.attach":{let m=h.id,l=h.moduleId,g=t.startSpan(`${s}.attached`,{attributes:{...a(m,l),"directive.attached":true}});o.set(u(m,l),{span:g,startedAt:Date.now()});break}case "source.publish":{if(c<1&&Math.random()>c)break;let m=h.id,l=h.moduleId,g=h.eventName,C=o.get(u(m,l));if(!C)break;C.span.addEvent("publish",{"source.event_name":g,"timestamp.ms":Date.now()});break}case "source.detach":{let m=h.id,l=h.moduleId,g=o.get(u(m,l));if(!g)break;g.span.setStatus({code:I.OK}),g.span.end(),o.delete(u(m,l));break}case "source.error":{let m=h.id,l=h.moduleId,g=h.phase,C=h.error,E=C instanceof Error?C.message:typeof C=="string"?C:String(C),S=t.startSpan(`${s}.error`,{attributes:{...a(m,l),"directive.phase":g,"error.message":E}});S.setStatus({code:I.ERROR,message:E}),S.end();let d=o.get(u(m,l));d&&d.span.addEvent("error",{"directive.phase":g,"error.message":E});break}}}let p=r.observe(y);return ()=>{p();for(let[,h]of o)h.span.setAttribute("directive.detached",true),h.span.setStatus({code:I.OK}),h.span.end();o.clear();}}Object.defineProperty(exports,"DEFAULT_INJECTION_PATTERNS",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.o}});Object.defineProperty(exports,"STRICT_INJECTION_PATTERNS",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.p}});Object.defineProperty(exports,"createBatchedEmbedder",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.A}});Object.defineProperty(exports,"createBruteForceIndex",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.B}});Object.defineProperty(exports,"createContentFilterGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.h}});Object.defineProperty(exports,"createEnhancedPIIGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.k}});Object.defineProperty(exports,"createFactPIIGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.i}});Object.defineProperty(exports,"createInMemoryStorage",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.w}});Object.defineProperty(exports,"createLengthGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.g}});Object.defineProperty(exports,"createModerationGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.b}});Object.defineProperty(exports,"createOutputPIIGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.l}});Object.defineProperty(exports,"createOutputSchemaGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.e}});Object.defineProperty(exports,"createOutputTypeGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.f}});Object.defineProperty(exports,"createPIIGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.a}});Object.defineProperty(exports,"createPromptInjectionGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.s}});Object.defineProperty(exports,"createRateLimitGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.c}});Object.defineProperty(exports,"createSemanticCache",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.x}});Object.defineProperty(exports,"createSemanticCacheGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.y}});Object.defineProperty(exports,"createTestEmbedder",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.z}});Object.defineProperty(exports,"createToolGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.d}});Object.defineProperty(exports,"createUntrustedContentGuardrail",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.u}});Object.defineProperty(exports,"createVPTreeIndex",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.C}});Object.defineProperty(exports,"detectAndRedactPII",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.n}});Object.defineProperty(exports,"detectPII",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.m}});Object.defineProperty(exports,"detectPromptInjection",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.q}});Object.defineProperty(exports,"markUntrustedContent",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.t}});Object.defineProperty(exports,"redactPII",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.j}});Object.defineProperty(exports,"sanitizeInjection",{enumerable:true,get:function(){return chunkWP6UUPF2_cjs.r}});Object.defineProperty(exports,"connectDevTools",{enumerable:true,get:function(){return chunkIR3IHBVQ_cjs.b}});Object.defineProperty(exports,"createDevToolsServer",{enumerable:true,get:function(){return chunkIR3IHBVQ_cjs.a}});Object.defineProperty(exports,"createWsTransport",{enumerable:true,get:function(){return chunkIR3IHBVQ_cjs.c}});Object.defineProperty(exports,"createEvalSuite",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.k}});Object.defineProperty(exports,"evalAssert",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.l}});Object.defineProperty(exports,"evalCoherence",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.j}});Object.defineProperty(exports,"evalCost",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.a}});Object.defineProperty(exports,"evalFaithfulness",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.h}});Object.defineProperty(exports,"evalJudge",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.f}});Object.defineProperty(exports,"evalLatency",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.b}});Object.defineProperty(exports,"evalMatch",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.g}});Object.defineProperty(exports,"evalOutputLength",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.c}});Object.defineProperty(exports,"evalRelevance",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.i}});Object.defineProperty(exports,"evalSafety",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.d}});Object.defineProperty(exports,"evalStructure",{enumerable:true,get:function(){return chunkXN5LUOVS_cjs.e}});Object.defineProperty(exports,"convertToolsForLLM",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.b}});Object.defineProperty(exports,"createMCPAdapter",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.a}});Object.defineProperty(exports,"mcpCallTool",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.c}});Object.defineProperty(exports,"mcpGetPrompt",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.e}});Object.defineProperty(exports,"mcpReadResource",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.d}});Object.defineProperty(exports,"mcpSyncResources",{enumerable:true,get:function(){return chunkC6MQ4WL6_cjs.f}});Object.defineProperty(exports,"createAgentOrchestrator",{enumerable:true,get:function(){return chunk2C3R77ZW_cjs.a}});Object.defineProperty(exports,"createRunner",{enumerable:true,get:function(){return chunk3WO4MWJM_cjs.f}});Object.defineProperty(exports,"estimateCost",{enumerable:true,get:function(){return chunk3WO4MWJM_cjs.c}});Object.defineProperty(exports,"hasPendingApprovals",{enumerable:true,get:function(){return chunk3WO4MWJM_cjs.b}});Object.defineProperty(exports,"isAgentRunning",{enumerable:true,get:function(){return chunk3WO4MWJM_cjs.a}});Object.defineProperty(exports,"validateBaseURL",{enumerable:true,get:function(){return chunk3WO4MWJM_cjs.d}});Object.defineProperty(exports,"createAgentNetwork",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.c}});Object.defineProperty(exports,"createDelegator",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.e}});Object.defineProperty(exports,"createMessageBus",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.b}});Object.defineProperty(exports,"createPubSub",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.f}});Object.defineProperty(exports,"createResponder",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.d}});Object.defineProperty(exports,"explainGoal",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.j}});Object.defineProperty(exports,"getDependencyGraph",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.g}});Object.defineProperty(exports,"patternToMermaid",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.a}});Object.defineProperty(exports,"planGoal",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.i}});Object.defineProperty(exports,"validateGoal",{enumerable:true,get:function(){return chunkXGHNOSXT_cjs.h}});Object.defineProperty(exports,"InMemoryCheckpointStore",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.y}});Object.defineProperty(exports,"MAX_BREAKPOINT_HISTORY",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.s}});Object.defineProperty(exports,"ReflectionExhaustedError",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.K}});Object.defineProperty(exports,"Semaphore",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.N}});Object.defineProperty(exports,"adaptOutputGuardrail",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.E}});Object.defineProperty(exports,"aggregateTokens",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ia}});Object.defineProperty(exports,"allReadyStrategy",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs._}});Object.defineProperty(exports,"capabilityRoute",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.la}});Object.defineProperty(exports,"collectOutputs",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ha}});Object.defineProperty(exports,"collectTokens",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.F}});Object.defineProperty(exports,"combineStreamingGuardrails",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.D}});Object.defineProperty(exports,"composePatterns",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ja}});Object.defineProperty(exports,"concatResults",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.fa}});Object.defineProperty(exports,"costEfficientStrategy",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.aa}});Object.defineProperty(exports,"createBreakpointId",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.t}});Object.defineProperty(exports,"createCheckpointId",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.w}});Object.defineProperty(exports,"createInitialBreakpointState",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.v}});Object.defineProperty(exports,"createLengthStreamingGuardrail",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.B}});Object.defineProperty(exports,"createMultiAgentOrchestrator",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ra}});Object.defineProperty(exports,"createPatternStreamingGuardrail",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.C}});Object.defineProperty(exports,"createStreamingRunner",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.z}});Object.defineProperty(exports,"createToxicityStreamingGuardrail",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.A}});Object.defineProperty(exports,"dag",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.W}});Object.defineProperty(exports,"debate",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.na}});Object.defineProperty(exports,"derivedConstraint",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.pa}});Object.defineProperty(exports,"diffCheckpoints",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.Q}});Object.defineProperty(exports,"filterStream",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.H}});Object.defineProperty(exports,"findAgentsByCapability",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ka}});Object.defineProperty(exports,"forkFromCheckpoint",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.R}});Object.defineProperty(exports,"formatSystemMeta",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.a}});Object.defineProperty(exports,"getCheckpointProgress",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.P}});Object.defineProperty(exports,"getPatternStep",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.O}});Object.defineProperty(exports,"goal",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.Z}});Object.defineProperty(exports,"highestImpactStrategy",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.$}});Object.defineProperty(exports,"mapStream",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.I}});Object.defineProperty(exports,"matchBreakpoint",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.u}});Object.defineProperty(exports,"mergeTaggedStreams",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.J}});Object.defineProperty(exports,"parallel",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.T}});Object.defineProperty(exports,"patternFromJSON",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ca}});Object.defineProperty(exports,"patternToJSON",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ba}});Object.defineProperty(exports,"pickBestResult",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ga}});Object.defineProperty(exports,"race",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.Y}});Object.defineProperty(exports,"reflect",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.X}});Object.defineProperty(exports,"runAgentRequirement",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ea}});Object.defineProperty(exports,"runDebate",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.oa}});Object.defineProperty(exports,"selectAgent",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.da}});Object.defineProperty(exports,"sequential",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.U}});Object.defineProperty(exports,"spawnOnCondition",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.ma}});Object.defineProperty(exports,"spawnPool",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.qa}});Object.defineProperty(exports,"supervisor",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.V}});Object.defineProperty(exports,"tapStream",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.G}});Object.defineProperty(exports,"toAIContext",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.b}});Object.defineProperty(exports,"validateCheckpoint",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.x}});Object.defineProperty(exports,"withReflection",{enumerable:true,get:function(){return chunk7EJN6TYX_cjs.L}});Object.defineProperty(exports,"GuardrailError",{enumerable:true,get:function(){return chunkK64WKZ22_cjs.a}});Object.defineProperty(exports,"isGuardrailError",{enumerable:true,get:function(){return chunkK64WKZ22_cjs.b}});Object.defineProperty(exports,"createDebugTimeline",{enumerable:true,get:function(){return chunkWOFIBIPW_cjs.a}});Object.defineProperty(exports,"createDebugTimelinePlugin",{enumerable:true,get:function(){return chunkWOFIBIPW_cjs.b}});Object.defineProperty(exports,"createHealthMonitor",{enumerable:true,get:function(){return chunkWOFIBIPW_cjs.c}});Object.defineProperty(exports,"PredicateFromIntentError",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.a}});Object.defineProperty(exports,"predicateFromIntent",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.b}});Object.defineProperty(exports,"predicateFromIntentRaw",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.c}});Object.defineProperty(exports,"predicateFromIntentWithProvenance",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.g}});Object.defineProperty(exports,"predicateToolSpec",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.f}});Object.defineProperty(exports,"predicateToolSpecAnthropic",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.e}});Object.defineProperty(exports,"predicateToolSpecOpenAI",{enumerable:true,get:function(){return chunkMDXDPECP_cjs.d}});Object.defineProperty(exports,"StructuredOutputError",{enumerable:true,get:function(){return chunkWCQK3JOR_cjs.c}});Object.defineProperty(exports,"extractJsonFromOutput",{enumerable:true,get:function(){return chunkWCQK3JOR_cjs.a}});Object.defineProperty(exports,"withStructuredOutput",{enumerable:true,get:function(){return chunkWCQK3JOR_cjs.b}});Object.defineProperty(exports,"CircuitBreakerOpenError",{enumerable:true,get:function(){return plugins.CircuitBreakerOpenError}});Object.defineProperty(exports,"createCircuitBreaker",{enumerable:true,get:function(){return plugins.createCircuitBreaker}});Object.defineProperty(exports,"createOTLPExporter",{enumerable:true,get:function(){return plugins.createOTLPExporter}});exports.AllProvidersFailedError=F;exports.BudgetExceededError=N;exports.OtelStatusCode=I;exports.RetryExhaustedError=_;exports.attachSourcesToOtel=Fn;exports.byAgentName=Dn;exports.byInputLength=Pn;exports.byPattern=On;exports.createAgentAuditHandlers=an;exports.createAgentMemory=Kr;exports.createAuditTrail=on;exports.createBatchQueue=jn;exports.createBidirectionalStream=gn;exports.createCompliance=pn;exports.createConstraintRouter=Gn;exports.createHybridStrategy=Vr;exports.createInMemoryComplianceStorage=dn;exports.createJSONFileStore=Cn;exports.createKeyPointsSummarizer=Jr;exports.createLLMSummarizer=qr;exports.createOtelPlugin=_n;exports.createRAGEnricher=Sn;exports.createSSETransport=Rn;exports.createSlidingWindowStrategy=X;exports.createStreamChannel=K;exports.createTokenBasedStrategy=Y;exports.createTruncationSummarizer=Wr;exports.mergeStreams=fn;exports.parseHttpStatus=W;exports.parseRetryAfter=oe;exports.pipe=Hr;exports.pipeThrough=mn;exports.withBudget=Mn;exports.withFallback=xn;exports.withModelSelection=Bn;exports.withRetry=kn;//# sourceMappingURL=index.cjs.map
41
41
  //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import {v,m,j as j$1}from'./chunk-RKNIGIPE.js';export{o as DEFAULT_INJECTION_PATTERNS,p as STRICT_INJECTION_PATTERNS,A as createBatchedEmbedder,B as createBruteForceIndex,h as createContentFilterGuardrail,k as createEnhancedPIIGuardrail,i as createFactPIIGuardrail,w as createInMemoryStorage,g as createLengthGuardrail,b as createModerationGuardrail,l as createOutputPIIGuardrail,e as createOutputSchemaGuardrail,f as createOutputTypeGuardrail,a as createPIIGuardrail,s as createPromptInjectionGuardrail,c as createRateLimitGuardrail,x as createSemanticCache,y as createSemanticCacheGuardrail,z as createTestEmbedder,d as createToolGuardrail,u as createUntrustedContentGuardrail,C as createVPTreeIndex,n as detectAndRedactPII,m as detectPII,q as detectPromptInjection,t as markUntrustedContent,j as redactPII,r as sanitizeInjection}from'./chunk-RKNIGIPE.js';export{b as connectDevTools,a as createDevToolsServer,c as createWsTransport}from'./chunk-5JQ2A3JK.js';export{k as createEvalSuite,l as evalAssert,j as evalCoherence,a as evalCost,h as evalFaithfulness,f as evalJudge,b as evalLatency,g as evalMatch,c as evalOutputLength,i as evalRelevance,d as evalSafety,e as evalStructure}from'./chunk-J2Q5KKPN.js';export{b as convertToolsForLLM,a as createMCPAdapter,c as mcpCallTool,e as mcpGetPrompt,d as mcpReadResource,f as mcpSyncResources}from'./chunk-V2FCPNPP.js';export{a as createAgentOrchestrator}from'./chunk-ARYO7BLK.js';export{f as createRunner,c as estimateCost,b as hasPendingApprovals,a as isAgentRunning,d as validateBaseURL}from'./chunk-ZFLHWJ56.js';export{c as createAgentNetwork,e as createDelegator,b as createMessageBus,f as createPubSub,d as createResponder,j as explainGoal,g as getDependencyGraph,a as patternToMermaid,i as planGoal,h as validateGoal}from'./chunk-RHJAMXLS.js';export{y as InMemoryCheckpointStore,s as MAX_BREAKPOINT_HISTORY,K as ReflectionExhaustedError,N as Semaphore,E as adaptOutputGuardrail,ia as aggregateTokens,_ as allReadyStrategy,la as capabilityRoute,ha as collectOutputs,F as collectTokens,D as combineStreamingGuardrails,ja as composePatterns,fa as concatResults,aa as costEfficientStrategy,t as createBreakpointId,w as createCheckpointId,v as createInitialBreakpointState,B as createLengthStreamingGuardrail,ra as createMultiAgentOrchestrator,C as createPatternStreamingGuardrail,z as createStreamingRunner,A as createToxicityStreamingGuardrail,W as dag,na as debate,pa as derivedConstraint,Q as diffCheckpoints,H as filterStream,ka as findAgentsByCapability,R as forkFromCheckpoint,a as formatSystemMeta,P as getCheckpointProgress,O as getPatternStep,Z as goal,$ as highestImpactStrategy,I as mapStream,u as matchBreakpoint,J as mergeTaggedStreams,T as parallel,ca as patternFromJSON,ba as patternToJSON,ga as pickBestResult,Y as race,X as reflect,ea as runAgentRequirement,oa as runDebate,da as selectAgent,U as sequential,ma as spawnOnCondition,qa as spawnPool,V as supervisor,G as tapStream,b as toAIContext,x as validateCheckpoint,L as withReflection}from'./chunk-G7CRWJT7.js';export{a as GuardrailError,b as isGuardrailError}from'./chunk-UR5BMWEN.js';export{a as createDebugTimeline,b as createDebugTimelinePlugin,c as createHealthMonitor}from'./chunk-FBT73WFY.js';export{a as PredicateFromIntentError,b as predicateFromIntent,c as predicateFromIntentRaw,g as predicateFromIntentWithProvenance,f as predicateToolSpec,e as predicateToolSpecAnthropic,d as predicateToolSpecOpenAI}from'./chunk-GTB6HTZV.js';export{c as StructuredOutputError,a as extractJsonFromOutput,b as withStructuredOutput}from'./chunk-HRR45JZX.js';export{CircuitBreakerOpenError,createCircuitBreaker,createOTLPExporter}from'@directive-run/core/plugins';import G from'path';function Hr(r,...e){let t=r;for(let n of e)t=n(t);return t}function j(r,e){let t=typeof r.content=="string"?r.content:JSON.stringify(r.content);return Math.ceil(t.length/4)}function V(r,e){return r.reduce((t,n)=>t+j(n),0)}function X(r={}){return (e,t={})=>{let n={...r,...t},s=n.maxMessages??100,c=n.preserveRecentCount??5;if(e.length<=s)return {keep:[...e],toSummarize:[],estimatedTokens:V(e)};let o=e.slice(-c),u=e.slice(0,-c),a=Math.max(0,s-c),y=u.slice(-a),p=u.slice(0,-a||void 0),h=[...y,...o];return {keep:h,toSummarize:p.length>0?p:[],estimatedTokens:V(h)}}}function Y(r={}){return (e,t={})=>{let n={...r,...t},s=n.maxTokens??4e3,c=n.preserveRecentCount??5,o=n.countSystemMessages??true,u=e.slice(-c),a=e.slice(0,-c),y=u.reduce((l,g)=>!o&&g.role==="system"?l:l+j(g),0),p=[],h=[],m=y;for(let l=a.length-1;l>=0;l--){let g=a[l],C=!o&&g.role==="system"?0:j(g);if(m+C<=s)p.unshift(g),m+=C;else {h.push(...a.slice(0,l+1));break}}return {keep:[...p,...u],toSummarize:h,estimatedTokens:m}}}function Vr(r={}){let e=X(r),t=Y(r);return (n,s={})=>{let c={...r,...s},o=e(n,c),u=t(n,c);return o.keep.length<=u.keep.length?o:u}}function Kr(r){let{strategy:e,summarizer:t,strategyConfig:n={},autoManage:s=false,onMemoryManaged:c,onManageError:o,maxContextTokens:u}=r,a={messages:[],summaries:[],totalMessagesProcessed:0,estimatedTokens:0},y=false;async function p(){if(y)return {messagesBefore:a.messages.length,messagesAfter:a.messages.length,messagesSummarized:0,estimatedTokensBefore:a.estimatedTokens,estimatedTokensAfter:a.estimatedTokens};y=true;try{let m=a.messages.length,l=a.estimatedTokens,g=e(a.messages,n);if(g.toSummarize.length===0)return {messagesBefore:m,messagesAfter:m,messagesSummarized:0,estimatedTokensBefore:l,estimatedTokensAfter:g.estimatedTokens};let C;t&&g.toSummarize.length>0&&(C=await t(g.toSummarize),a.summaries.push({content:C,messagesCount:g.toSummarize.length,createdAt:Date.now()})),a.messages=g.keep,a.estimatedTokens=g.estimatedTokens;let E={messagesBefore:m,messagesAfter:a.messages.length,messagesSummarized:g.toSummarize.length,summary:C,estimatedTokensBefore:l,estimatedTokensAfter:g.estimatedTokens};return c?.(E),E}finally{y=false;}}function h(){if(y)return;e(a.messages,n).toSummarize.length>0&&p().catch(l=>{let g=l instanceof Error?l:new Error(String(l));o?o(g):console.error("[Directive Memory] Auto-manage error:",g);});}return {getState(){return {...a,messages:[...a.messages],summaries:a.summaries.map(m=>({...m}))}},addMessage(m){a.messages.push(m),a.totalMessagesProcessed++,a.estimatedTokens+=j(m),s&&h();},addMessages(m){for(let l of m)a.messages.push(l),a.totalMessagesProcessed++,a.estimatedTokens+=j(l);s&&h();},getContextMessages(){let m=[];if(a.summaries.length>0){let l=a.summaries.map(g=>g.content).join(`
1
+ import {v,m,j as j$1}from'./chunk-MASTXC6X.js';export{o as DEFAULT_INJECTION_PATTERNS,p as STRICT_INJECTION_PATTERNS,A as createBatchedEmbedder,B as createBruteForceIndex,h as createContentFilterGuardrail,k as createEnhancedPIIGuardrail,i as createFactPIIGuardrail,w as createInMemoryStorage,g as createLengthGuardrail,b as createModerationGuardrail,l as createOutputPIIGuardrail,e as createOutputSchemaGuardrail,f as createOutputTypeGuardrail,a as createPIIGuardrail,s as createPromptInjectionGuardrail,c as createRateLimitGuardrail,x as createSemanticCache,y as createSemanticCacheGuardrail,z as createTestEmbedder,d as createToolGuardrail,u as createUntrustedContentGuardrail,C as createVPTreeIndex,n as detectAndRedactPII,m as detectPII,q as detectPromptInjection,t as markUntrustedContent,j as redactPII,r as sanitizeInjection}from'./chunk-MASTXC6X.js';export{b as connectDevTools,a as createDevToolsServer,c as createWsTransport}from'./chunk-5JQ2A3JK.js';export{k as createEvalSuite,l as evalAssert,j as evalCoherence,a as evalCost,h as evalFaithfulness,f as evalJudge,b as evalLatency,g as evalMatch,c as evalOutputLength,i as evalRelevance,d as evalSafety,e as evalStructure}from'./chunk-J2Q5KKPN.js';export{b as convertToolsForLLM,a as createMCPAdapter,c as mcpCallTool,e as mcpGetPrompt,d as mcpReadResource,f as mcpSyncResources}from'./chunk-V2FCPNPP.js';export{a as createAgentOrchestrator}from'./chunk-ARYO7BLK.js';export{f as createRunner,c as estimateCost,b as hasPendingApprovals,a as isAgentRunning,d as validateBaseURL}from'./chunk-ZFLHWJ56.js';export{c as createAgentNetwork,e as createDelegator,b as createMessageBus,f as createPubSub,d as createResponder,j as explainGoal,g as getDependencyGraph,a as patternToMermaid,i as planGoal,h as validateGoal}from'./chunk-RHJAMXLS.js';export{y as InMemoryCheckpointStore,s as MAX_BREAKPOINT_HISTORY,K as ReflectionExhaustedError,N as Semaphore,E as adaptOutputGuardrail,ia as aggregateTokens,_ as allReadyStrategy,la as capabilityRoute,ha as collectOutputs,F as collectTokens,D as combineStreamingGuardrails,ja as composePatterns,fa as concatResults,aa as costEfficientStrategy,t as createBreakpointId,w as createCheckpointId,v as createInitialBreakpointState,B as createLengthStreamingGuardrail,ra as createMultiAgentOrchestrator,C as createPatternStreamingGuardrail,z as createStreamingRunner,A as createToxicityStreamingGuardrail,W as dag,na as debate,pa as derivedConstraint,Q as diffCheckpoints,H as filterStream,ka as findAgentsByCapability,R as forkFromCheckpoint,a as formatSystemMeta,P as getCheckpointProgress,O as getPatternStep,Z as goal,$ as highestImpactStrategy,I as mapStream,u as matchBreakpoint,J as mergeTaggedStreams,T as parallel,ca as patternFromJSON,ba as patternToJSON,ga as pickBestResult,Y as race,X as reflect,ea as runAgentRequirement,oa as runDebate,da as selectAgent,U as sequential,ma as spawnOnCondition,qa as spawnPool,V as supervisor,G as tapStream,b as toAIContext,x as validateCheckpoint,L as withReflection}from'./chunk-G7CRWJT7.js';export{a as GuardrailError,b as isGuardrailError}from'./chunk-UR5BMWEN.js';export{a as createDebugTimeline,b as createDebugTimelinePlugin,c as createHealthMonitor}from'./chunk-FBT73WFY.js';export{a as PredicateFromIntentError,b as predicateFromIntent,c as predicateFromIntentRaw,g as predicateFromIntentWithProvenance,f as predicateToolSpec,e as predicateToolSpecAnthropic,d as predicateToolSpecOpenAI}from'./chunk-GTB6HTZV.js';export{c as StructuredOutputError,a as extractJsonFromOutput,b as withStructuredOutput}from'./chunk-HRR45JZX.js';export{CircuitBreakerOpenError,createCircuitBreaker,createOTLPExporter}from'@directive-run/core/plugins';import G from'path';function Hr(r,...e){let t=r;for(let n of e)t=n(t);return t}function j(r,e){let t=typeof r.content=="string"?r.content:JSON.stringify(r.content);return Math.ceil(t.length/4)}function V(r,e){return r.reduce((t,n)=>t+j(n),0)}function X(r={}){return (e,t={})=>{let n={...r,...t},s=n.maxMessages??100,c=n.preserveRecentCount??5;if(e.length<=s)return {keep:[...e],toSummarize:[],estimatedTokens:V(e)};let o=e.slice(-c),u=e.slice(0,-c),a=Math.max(0,s-c),y=u.slice(-a),p=u.slice(0,-a||void 0),h=[...y,...o];return {keep:h,toSummarize:p.length>0?p:[],estimatedTokens:V(h)}}}function Y(r={}){return (e,t={})=>{let n={...r,...t},s=n.maxTokens??4e3,c=n.preserveRecentCount??5,o=n.countSystemMessages??true,u=e.slice(-c),a=e.slice(0,-c),y=u.reduce((l,g)=>!o&&g.role==="system"?l:l+j(g),0),p=[],h=[],m=y;for(let l=a.length-1;l>=0;l--){let g=a[l],C=!o&&g.role==="system"?0:j(g);if(m+C<=s)p.unshift(g),m+=C;else {h.push(...a.slice(0,l+1));break}}return {keep:[...p,...u],toSummarize:h,estimatedTokens:m}}}function Vr(r={}){let e=X(r),t=Y(r);return (n,s={})=>{let c={...r,...s},o=e(n,c),u=t(n,c);return o.keep.length<=u.keep.length?o:u}}function Kr(r){let{strategy:e,summarizer:t,strategyConfig:n={},autoManage:s=false,onMemoryManaged:c,onManageError:o,maxContextTokens:u}=r,a={messages:[],summaries:[],totalMessagesProcessed:0,estimatedTokens:0},y=false;async function p(){if(y)return {messagesBefore:a.messages.length,messagesAfter:a.messages.length,messagesSummarized:0,estimatedTokensBefore:a.estimatedTokens,estimatedTokensAfter:a.estimatedTokens};y=true;try{let m=a.messages.length,l=a.estimatedTokens,g=e(a.messages,n);if(g.toSummarize.length===0)return {messagesBefore:m,messagesAfter:m,messagesSummarized:0,estimatedTokensBefore:l,estimatedTokensAfter:g.estimatedTokens};let C;t&&g.toSummarize.length>0&&(C=await t(g.toSummarize),a.summaries.push({content:C,messagesCount:g.toSummarize.length,createdAt:Date.now()})),a.messages=g.keep,a.estimatedTokens=g.estimatedTokens;let E={messagesBefore:m,messagesAfter:a.messages.length,messagesSummarized:g.toSummarize.length,summary:C,estimatedTokensBefore:l,estimatedTokensAfter:g.estimatedTokens};return c?.(E),E}finally{y=false;}}function h(){if(y)return;e(a.messages,n).toSummarize.length>0&&p().catch(l=>{let g=l instanceof Error?l:new Error(String(l));o?o(g):console.error("[Directive Memory] Auto-manage error:",g);});}return {getState(){return {...a,messages:[...a.messages],summaries:a.summaries.map(m=>({...m}))}},addMessage(m){a.messages.push(m),a.totalMessagesProcessed++,a.estimatedTokens+=j(m),s&&h();},addMessages(m){for(let l of m)a.messages.push(l),a.totalMessagesProcessed++,a.estimatedTokens+=j(l);s&&h();},getContextMessages(){let m=[];if(a.summaries.length>0){let l=a.summaries.map(g=>g.content).join(`
2
2
 
3
3
  ---
4
4
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@directive-run/ai",
3
- "version": "1.19.5",
3
+ "version": "1.19.7",
4
4
  "description": "AI guardrails and orchestration for Directive. Prompt injection, PII detection, cost tracking, multi-agent patterns.",
5
5
  "license": "(MIT OR Apache-2.0)",
6
6
  "author": "Jason Comes",
@@ -115,7 +115,7 @@
115
115
  "@types/node": "^25.2.0",
116
116
  "tsup": "^8.3.5",
117
117
  "typescript": "^5.7.2",
118
- "@directive-run/core": "1.19.5"
118
+ "@directive-run/core": "1.19.7"
119
119
  },
120
120
  "scripts": {
121
121
  "build": "tsup",
@@ -1,4 +0,0 @@
1
- 'use strict';var chunkK64WKZ22_cjs=require('./chunk-K64WKZ22.cjs'),internals=require('@directive-run/core/internals');function ce(a){let{patterns:i=[/\b\d{3}-\d{2}-\d{4}\b/g,/\b\d{16}\b/g,/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi],redact:r=false,redactReplacement:t="[REDACTED]"}=a;return e=>{let n=e.input,s=false;for(let c of i)c.lastIndex=0,c.test(n)&&(s=true,r&&(c.lastIndex=0,n=n.replace(c,t)));return s&&!r?{passed:false,reason:"Input contains PII"}:{passed:true,transformed:r&&s?n:void 0}}}function de(a){let{checkFn:i,message:r="Content flagged by moderation"}=a;return async t=>{let e="output"in t?typeof t.output=="string"?t.output:JSON.stringify(t.output):t.input,n=await i(e);return {passed:!n,reason:n?r:void 0}}}function le(a){let{maxTokensPerMinute:i=1e5,maxRequestsPerMinute:r=60}=a,t=Math.max(r,1e3),e=[],n=[],s=6e4;function c(d,u){let l=0,h=d.length;for(;l<h;){let g=l+h>>>1;(d[g]??0)<u?l=g+1:h=g;}return l}let o=(d,u)=>{let l=Date.now(),h=l-s,g=c(e,h);g>0&&(e=e.slice(g));let E=c(n,h);E>0&&(n=n.slice(E));let P=u.facts[chunkK64WKZ22_cjs.c]?.tokenUsage??0,I=e.length,m=n.length;return I+P>i?{passed:false,reason:"Token rate limit exceeded"}:m>=r?{passed:false,reason:"Request rate limit exceeded"}:(n.length<t&&n.push(l),e.length<t&&e.push(l),{passed:true})};return o.reset=()=>{e=[],n=[];},o}function ue(a){let{allowlist:i,denylist:r,caseSensitive:t=false}=a,e=i?.map(s=>t?s:s.toLowerCase()),n=r?.map(s=>t?s:s.toLowerCase());return s=>{let c=t?s.toolCall.name:s.toolCall.name.toLowerCase();return e&&!e.includes(c)?{passed:false,reason:`Tool "${s.toolCall.name}" not in allowlist`}:n?.includes(c)?{passed:false,reason:`Tool "${s.toolCall.name}" is blocked`}:{passed:true}}}function me(a){let{validate:i,errorPrefix:r="Output schema validation failed"}=a;return t=>{let e=i(t.output);return typeof e=="boolean"?{passed:e,reason:e?void 0:r}:e.valid?{passed:true}:{passed:false,reason:e.errors?.length?`${r}: ${e.errors.join("; ")}`:r}}}function pe(a){let{type:i,requiredFields:r=[],minLength:t,maxLength:e,minStringLength:n,maxStringLength:s}=a;return c=>{let o=c.output;switch(i){case "string":return typeof o!="string"?{passed:false,reason:`Expected string, got ${typeof o}`}:n!==void 0&&o.length<n?{passed:false,reason:`String too short: ${o.length} < ${n}`}:s!==void 0&&o.length>s?{passed:false,reason:`String too long: ${o.length} > ${s}`}:{passed:true};case "number":return typeof o!="number"||Number.isNaN(o)?{passed:false,reason:`Expected number, got ${typeof o}`}:{passed:true};case "boolean":return typeof o!="boolean"?{passed:false,reason:`Expected boolean, got ${typeof o}`}:{passed:true};case "object":if(typeof o!="object"||o===null||Array.isArray(o))return {passed:false,reason:`Expected object, got ${Array.isArray(o)?"array":typeof o}`};for(let d of r)if(!(d in o))return {passed:false,reason:`Missing required field: ${d}`};return {passed:true};case "array":return Array.isArray(o)?t!==void 0&&o.length<t?{passed:false,reason:`Array too short: ${o.length} < ${t}`}:e!==void 0&&o.length>e?{passed:false,reason:`Array too long: ${o.length} > ${e}`}:{passed:true}:{passed:false,reason:`Expected array, got ${typeof o}`};default:return {passed:false,reason:`Unknown type: ${i}`}}}}function fe(a){let{maxCharacters:i,maxTokens:r,estimateTokens:t=e=>Math.ceil(e.length/4)}=a;return e=>{let n=internals.safeStringify(e.output);if(i!==void 0&&n.length>i)return {passed:false,reason:`Output too long: ${n.length} characters (max: ${i})`};if(r!==void 0){let s=t(n);if(s>r)return {passed:false,reason:`Output too long: ~${s} tokens (max: ${r})`}}return {passed:true}}}function ge(a){let{blockedPatterns:i,caseSensitive:r=false}=a;i.length===0&&console.warn("[Directive] createContentFilterGuardrail: blockedPatterns is empty \u2014 no content will be filtered");let t=i.map(e=>{if(e instanceof RegExp)return e;let n=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(n,r?"g":"gi")});return e=>{let n=internals.safeStringify(e.output);for(let s of t)if(s.lastIndex=0,s.test(n))return {passed:false,reason:`Output contains blocked content matching: ${s.source}`};return {passed:true}}}function V(a){let i=a.replace(/[\s-]/g,"");if(i.length<13||i.length>19||!/^\d+$/.test(i))return false;let r=0,t=false;for(let e=i.length-1;e>=0;e--){let n=i[e];if(!n)continue;let s=Number.parseInt(n,10);t&&(s*=2,s>9&&(s-=9)),r+=s,t=!t;}return r%10===0}var B=[{type:"ssn",regex:/\b\d{3}-\d{2}-\d{4}\b/g,redactionToken:"[SSN]"},{type:"credit_card",regex:/\b((?:\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4})|\d{13,19})\b/g,validate:V,redactionToken:"[CREDIT_CARD]"},{type:"email",regex:/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b/gi,redactionToken:"[EMAIL]"}];function U(a,i){let r=[];for(let t of B){if(!i.has(t.type))continue;t.regex.lastIndex=0;let e;for(;(e=t.regex.exec(a))!==null;)t.validate&&!t.validate(e[0])||r.push({type:t.type,value:e[0],start:e.index,end:e.index+e[0].length});}return r}function N(a,i){if(i.length===0)return a;let r=[...i].sort((n,s)=>s.start-n.start),t={ssn:"[SSN]",credit_card:"[CREDIT_CARD]",email:"[EMAIL]"},e=a;for(let n of r)e=e.slice(0,n.start)+t[n.type]+e.slice(n.end);return e}function he(a={}){let{mode:i="redact",types:r=["ssn","credit_card","email"],includeKeys:t=[],excludeKeys:e=[],onBlocked:n,customDetector:s,walkDepth:c=1}=a,o=new Set(r),d=new Set(t),u=new Set(e),l=Number.isFinite(c)?Math.max(1,Math.min(5,Math.floor(c))):1,h=1e4,g=false,E=null;function y(m){if(g)return;g=true,E=m;let p=m.meta?.byTag?.("pii");if(p)for(let f of p)f.type==="fact"&&f.id&&!u.has(f.id)&&d.add(f.id);}function b(m){let p=[];if(o.size>0)for(let f of U(m,o))p.push(f);if(s)for(let f of s(m))p.push(f);return p}function P(m,p=l){if(typeof m=="string"){let x=b(m);return x.length===0?{matched:false}:{matched:true,redacted:N(m,x),detected:x}}if(p<=0)return {matched:false};if(m===null||typeof m!="object")return {matched:false};let f;try{f=structuredClone(m);}catch(x){return console.warn("[Directive] fact-pii walker: value is not structured-cloneable \u2014 leaving it as-is and skipping inspection. Wire a customDetector for shapes containing functions, DOM nodes, cycles, or WeakMaps.",x instanceof Error?x.message:String(x)),{matched:false}}return I(f,p)}function I(m,p){if(typeof m=="string"){let f=b(m);return f.length===0?{matched:false}:{matched:true,redacted:N(m,f),detected:f}}if(p<=0)return {matched:false};if(Array.isArray(m)){m.length>h&&console.warn(`[Directive] fact-pii walker truncated array at ${h} elements \u2014 pass a customDetector for larger payloads`);let f=Math.min(m.length,h),x=null,S=[];for(let v=0;v<f;v++){let w=I(m[v],p-1);if(w.matched){x===null&&(x=[...m]),x[v]=w.redacted;for(let C of w.detected)S.push(C);}}return x===null?{matched:false}:{matched:true,redacted:x,detected:S}}if(m&&typeof m=="object"){if(m instanceof Map||m instanceof Set)return {matched:false};let f=null,x=[];for(let[S,v]of Object.entries(m))if(typeof v=="string"){let w=b(v);if(w.length===0)continue;f===null&&(f={...m}),f[S]=N(v,w);for(let C of w)x.push(C);}else if(p>1&&v&&typeof v=="object"){let w=I(v,p-1);if(!w.matched)continue;f===null&&(f={...m}),f[S]=w.redacted;for(let C of w.detected)x.push(C);}return f===null?{matched:false}:{matched:true,redacted:f,detected:x}}return {matched:false}}return {name:"fact-pii-guardrail",onInit(m){y(m);},onFactSet(m,p,f){if(!g||!d.has(m))return;let x=P(p);if(!x.matched||(n?.(m,x.detected,i),i==="alert"))return;let S=E?.facts;if(S?.$store?.set)try{S.$store.set(m,x.redacted);}catch{}},onFactsBatch(m){if(g)for(let p of m){if(p.type!=="set"||!d.has(p.key))continue;let f=P(p.value);if(!f.matched||(n?.(p.key,f.detected,i),i==="alert"))continue;try{p.value=f.redacted;}catch{}let x=E?.facts;if(x?.$store?.set)try{x.$store.set(p.key,f.redacted);}catch{}}}}}var Z=[{type:"ssn",pattern:/\b(\d{3}[-\s]?\d{2}[-\s]?\d{4})\b/g,validate:a=>{let i=a.replace(/[-\s]/g,"");return !(i.startsWith("000")||i.startsWith("666")||i.startsWith("9")||i.slice(3,5)==="00"||i.slice(5)==="0000")},confidence:.95},{type:"credit_card",pattern:/\b((?:\d{4}[-\s]?\d{4}[-\s]?\d{4}[-\s]?\d{4})|\d{13,19})\b/g,validate:a=>{let i=a.replace(/[-\s]/g,"");if(i.length<13||i.length>19)return false;let r=0,t=false;for(let e=i.length-1;e>=0;e--){let n=i[e];if(!n)continue;let s=Number.parseInt(n,10);t&&(s*=2,s>9&&(s-=9)),r+=s,t=!t;}return r%10===0},confidence:.95},{type:"email",pattern:/\b([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})\b/gi,confidence:.9},{type:"phone",pattern:/\b(\+?1?[-.\s]?\(?[0-9]{3}\)?[-.\s]?[0-9]{3}[-.\s]?[0-9]{4})\b/g,validate:a=>{let i=a.replace(/\D/g,"");return i.length>=10&&i.length<=11},confidence:.8},{type:"date_of_birth",pattern:/\b(born|dob|birth.?date|date.?of.?birth)[:.\s]+(\d{1,4}[-/]\d{1,2}[-/]\d{1,4})\b/gi,valueGroup:2,confidence:.85},{type:"ip_address",pattern:/\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\b/g,validate:a=>{let r=a.split(".").map(n=>Number.parseInt(n,10));if(r.some(n=>Number.isNaN(n)||n<0||n>255))return false;let[t,e]=r;return !(t===10||t===172&&e>=16&&e<=31||t===192&&e===168||t===127||t===169&&e===254||a==="0.0.0.0"||a==="255.255.255.255")},confidence:.9},{type:"bank_account",pattern:/\b(account|acct)[\s#:]+(\d{8,17})\b/gi,valueGroup:2,confidence:.7},{type:"passport",pattern:/\b(passport)[\s#:]+([A-Z0-9]{6,9})\b/gi,valueGroup:2,confidence:.75},{type:"driver_license",pattern:/\b(driver'?s?\s*licen[cs]e|dl)[\s#:]+([A-Z0-9]{5,15})\b/gi,valueGroup:2,confidence:.7},{type:"medical_id",pattern:/\b(mrn|medical.?record|patient.?id)[\s#:]+([A-Z0-9-]{6,15})\b/gi,valueGroup:2,confidence:.7},{type:"national_id",pattern:/\b(national.?id|nin|identity.?number|identity.?card|id.?number)[\s#:]+([A-Z0-9-]{6,20})\b/gi,valueGroup:2,confidence:.85}];function q(a){let i=[],r="street|st|avenue|ave|road|rd|drive|dr|lane|ln|court|ct|way|boulevard|blvd|circle|cir|place|pl",t=new RegExp(`\\b(\\d{1,5}\\s+(?:\\w+\\s+){1,4}(?:${r})\\b[^\\n]{0,50}\\b[A-Z]{2}\\s+\\d{5}(?:-\\d{4})?)\\b`,"gi"),e;for(;(e=t.exec(a))!==null;)i.push({type:"address",value:e[0],position:{start:e.index,end:e.index+e[0].length},confidence:.7});return i}var M=["mr","mrs","ms","miss","dr","prof","sir","madam","name is","called","known as","signed by","from","dear","hi","hello","contact","recipient"];function W(a){let i=[],r=M.join("|"),t=new RegExp(`\\b(${r})[.,:]?\\s+([A-Z][a-z]{1,20}(?:\\s[A-Z][a-z]{1,20}){0,2})\\b`,"gi"),e;for(;(e=t.exec(a))!==null;){let n=e[2],s=e[1];n&&(n.split(/\s+/).length>=2||s&&M.some(c=>s.toLowerCase().includes(c)))&&i.push({type:"name",value:n,position:{start:e.index,end:e.index+e[0].length},confidence:.6,context:e[0]});}return i}var $=1e5;function K(a,i){let r=[],t=new RegExp(a.pattern.source,a.pattern.flags),e=a.valueGroup??1,n;for(;(n=t.exec(i))!==null;){let s=n[e]??n[0],c=n.index,o=n.index+n[0].length,d=i.slice(Math.max(0,c-20),o+20);a.validate&&!a.validate(s,d)||r.push({type:a.type,value:s,position:{start:c,end:o},confidence:a.confidence,context:d});}return r}var D={name:"regex",async detect(a,i){if(a.length>$)throw new Error(`[Directive] Input exceeds maximum length of ${$} characters for PII detection. Truncate input or process in chunks.`);let r=[],t=new Set(i);for(let e of Z)t.has(e.type)&&r.push(...K(e,a));return t.has("address")&&r.push(...q(a)),t.has("name")&&r.push(...W(a)),r}},Y=new Set(["ssn","credit_card","date_of_birth","medical_id","national_id","passport","driver_license","bank_account"]);function J(a,i){let{start:r,end:t}=a.position;return Number.isInteger(r)&&Number.isInteger(t)&&r>=0&&r<t&&t<=i}function X(a,i){switch(i){case "placeholder":return "[REDACTED]";case "typed":return Y.has(a.type)?"[REDACTED]":`[${a.type.toUpperCase()}]`;case "masked":{if(a.type!=="credit_card")return "****";let r=a.value.replace(/\D/g,"");return `****${r.length>4?r.slice(-4):""}`}case "hashed":return `[HASH:${Q(a.value)}]`}}function F(a,i,r="typed"){let e=[...i.filter(o=>J(o,a.length))].sort((o,d)=>{if(d.confidence!==o.confidence)return d.confidence-o.confidence;let u=o.position.end-o.position.start,l=d.position.end-d.position.start;return l!==u?l-u:o.position.start-d.position.start}),n=[];for(let o of e)n.some(u=>o.position.start<u.position.end&&u.position.start<o.position.end)||n.push(o);let s=n.sort((o,d)=>d.position.start-o.position.start),c=a;for(let o of s){let d=X(o,r);c=c.slice(0,o.position.start)+d+c.slice(o.position.end);}return c}function Q(a){let t=2166136261;for(let e=0;e<a.length;e++)t^=a.charCodeAt(e),t=Math.imul(t,16777619);return (t>>>0).toString(16).padStart(8,"0")}var j=["ssn","credit_card","email","phone","date_of_birth","bank_account"];function ee(a={}){let{types:i=j,detector:r="regex",redact:t=false,redactionStyle:e="typed",minConfidence:n=.7,onDetected:s,allowlist:c=[],minItemsToBlock:o=1,detectorTimeout:d=5e3}=a,u=r==="regex"?D:r,l=new Set(c.map(g=>g.toLowerCase().trim()));async function h(g,E){if(u===D)return u.detect(g,E);let y,b=u.detect(g,E),P=new Promise((I,m)=>{y=setTimeout(()=>m(new Error(`[Directive] PII detector '${u.name}' timed out after ${d}ms`)),d);});b.catch(()=>{}),P.catch(()=>{});try{return await Promise.race([b,P])}finally{clearTimeout(y);}}return async g=>{let y=(await h(g.input,i)).filter(b=>!(b.confidence<n||l.has(b.value.toLowerCase().trim())));if(y.length>0&&s?.(y),y.length>=o){if(t)return {passed:true,transformed:F(g.input,y,e)};let b={};for(let I of y)b[I.type]=(b[I.type]||0)+1;return {passed:false,reason:`PII detected (${Object.entries(b).map(([I,m])=>`${I}: ${m}`).join(", ")})`}}return {passed:true}}}function Ie(a={}){let i=ee(a);return async(r,t)=>{let e=typeof r.output=="string"?r.output:JSON.stringify(r.output);return i({input:e,agentName:r.agentName},t)}}async function te(a,i={}){let{types:r=j,detector:t="regex",minConfidence:e=.7,timeout:n=5e3}=i,s=t==="regex"?D:t,c;if(s===D)c=await s.detect(a,r);else {let u,l=s.detect(a,r),h=new Promise((g,E)=>{u=setTimeout(()=>E(new Error(`[Directive] PII detector '${s.name}' timed out after ${n}ms`)),n);});l.catch(()=>{}),h.catch(()=>{});try{c=await Promise.race([l,h]);}finally{clearTimeout(u);}}let o=c.filter(u=>u.confidence>=e),d={};for(let u of o)d[u.type]=(d[u.type]||0)+1;return {detected:o.length>0,items:o,typeCounts:d}}async function Pe(a,i={}){let r=await te(a,i);return r.detected?{...r,redactedText:F(a,r.items,i.style??"typed")}:{...r}}var k=[{pattern:/ignore\s+(all\s+)?(previous|prior|above|earlier)\s+(instructions?|prompts?|rules?|guidelines?)/i,name:"ignore-previous",severity:"critical",category:"instruction_override"},{pattern:/disregard\s+(all\s+)?(previous|prior|above|earlier)\s+(instructions?|prompts?)/i,name:"disregard-previous",severity:"critical",category:"instruction_override"},{pattern:/forget\s+(all\s+)?(previous|prior|above|earlier)\s+(instructions?|prompts?)/i,name:"forget-previous",severity:"critical",category:"instruction_override"},{pattern:/override\s+(the\s+)?(system|base)\s+(prompt|instructions?)/i,name:"override-system",severity:"critical",category:"instruction_override"},{pattern:/\bDAN\s+(mode|jailbreak)\b/i,name:"dan-mode",severity:"critical",category:"jailbreak"},{pattern:/\bjailbreak(ed)?\s*(mode)?\b/i,name:"jailbreak-keyword",severity:"high",category:"jailbreak"},{pattern:/developer\s+mode\s+(enabled|activated|on)/i,name:"developer-mode",severity:"critical",category:"jailbreak"},{pattern:/pretend\s+(you\s+)?(are|can|have)\s+(no\s+)?(restrictions?|limits?|boundaries?|ethics)/i,name:"pretend-no-restrictions",severity:"high",category:"jailbreak"},{pattern:/you\s+(now\s+)?have\s+no\s+(ethical\s+)?(restrictions?|guidelines?|boundaries?)/i,name:"no-restrictions",severity:"high",category:"jailbreak"},{pattern:/you\s+are\s+now\s+(a|an)\s+\w+\s+(that|who)\s+(can|will|must)/i,name:"role-assignment",severity:"medium",category:"role_manipulation"},{pattern:/from\s+now\s+on,?\s+(you\s+)?(will|must|should)\s+(only\s+)?/i,name:"from-now-on",severity:"medium",category:"role_manipulation"},{pattern:/^(system|assistant|user):\s*/im,name:"fake-role-marker",severity:"high",category:"context_manipulation"},{pattern:/<\|?(system|endofprompt|im_start|im_end)\|?>/i,name:"special-token-injection",severity:"critical",category:"context_manipulation"},{pattern:/```(system|assistant|instructions?)\n/i,name:"markdown-code-injection",severity:"medium",category:"delimiter_injection"},{pattern:/<system>|<\/system>|<instructions?>|<\/instructions?>/i,name:"xml-tag-injection",severity:"high",category:"delimiter_injection"},{pattern:/fetch\s+(content\s+)?(from|at)\s+(the\s+)?url/i,name:"url-fetch-instruction",severity:"medium",category:"indirect_injection"},{pattern:/execute\s+(the\s+)?(code|script|command)\s+(from|in|at)/i,name:"execute-from-source",severity:"high",category:"indirect_injection"}],L=[...k,{pattern:/act\s+as\s+(if\s+)?(you\s+)?(were|are|can)/i,name:"act-as",severity:"low",category:"role_manipulation"},{pattern:/new\s+instructions?:/i,name:"new-instructions",severity:"medium",category:"instruction_override"},{pattern:/\[system\]|\[admin\]|\[developer\]/i,name:"bracket-role-marker",severity:"medium",category:"context_manipulation"},{pattern:/base64|rot13|decode\s+(this|the)/i,name:"encoding-reference",severity:"low",category:"encoding_evasion"},{pattern:/\u200b|\u200c|\u200d|\u2060|\ufeff/,name:"zero-width-chars",severity:"medium",category:"encoding_evasion"}],O=1e5;function z(a,i=k){if(a.length>O)throw new Error(`[Directive] Input exceeds maximum length of ${O} characters for injection detection. Truncate input or process in chunks.`);let r=[];for(let{pattern:s,name:c,severity:o,category:d}of i){let l=new RegExp(s.source,s.flags).exec(a);l&&r.push({name:c,category:d,severity:o,match:l[0],position:l.index});}let t={low:10,medium:25,high:50,critical:100},e=r.reduce((s,c)=>s+t[c.severity],0),n=Math.min(100,e);return {detected:r.length>0,patterns:r,riskScore:n}}function ne(a,i=k){let r=a.replace(/\u200b|\u200c|\u200d|\u2060|\ufeff/g,""),t=i.map(d=>`(${d.pattern.source})`);if(t.length===0)return r;let e=i.some(d=>d.pattern.flags.includes("g")),n=i.some(d=>d.pattern.flags.includes("i")),s=i.some(d=>d.pattern.flags.includes("m")),c=`${e?"g":""}${n?"i":""}${s?"m":""}`,o=new RegExp(t.join("|"),c||"gi");return r=r.replace(o,"[REDACTED]"),r}function re(a={}){let{additionalPatterns:i=[],replacePatterns:r,strictMode:t=false,blockThreshold:e=50,sanitize:n=false,onBlocked:s,ignoreCategories:c=[]}=a,o;if(r?o=r:o=t?[...L]:[...k],o=[...o,...i],c.length>0){let d=new Set(c);o=o.filter(u=>!d.has(u.category));}return d=>{let u=z(d.input,o);if(u.detected&&u.riskScore>=e){if(s?.(d.input,u),n)return {passed:true,transformed:ne(d.input,o)};let l=u.patterns.sort((h,g)=>{let E={critical:0,high:1,medium:2,low:3};return E[h.severity]-E[g.severity]}).slice(0,3).map(h=>h.name).join(", ");return {passed:false,reason:`Prompt injection detected (risk: ${u.riskScore}%, patterns: ${l})`}}return {passed:true}}}function Ee(a,i){return `[UNTRUSTED_CONTENT source="${i}"]
2
- ${a}
3
- [/UNTRUSTED_CONTENT]`}function ve(a){let{baseGuardrail:i=re({strictMode:true,blockThreshold:25}),additionalPatterns:r=[]}=a,t=/\[UNTRUSTED_CONTENT source="([^"]+)"\]([\s\S]*?)\[\/UNTRUSTED_CONTENT\]/g;return async(e,n)=>{let s=await i(e,n);if(!s.passed)return s;let c=e.input.matchAll(t);for(let o of c){let[,d,u]=o;if(!u)continue;let l=z(u,[...L,...r]);if(l.detected&&l.riskScore>=25)return {passed:false,reason:`Untrusted content from "${d}" contains potential injection (risk: ${l.riskScore}%)`}}return {passed:true}}}function T(a,i){if(a.length!==i.length)throw new Error(`Vector dimensions must match: ${a.length} vs ${i.length}`);let r=0,t=0,e=0;for(let n=0;n<a.length;n++){let s=a[n],c=i[n];r+=s*c,t+=s*s,e+=c*c;}return t=Math.sqrt(t),e=Math.sqrt(e),t===0||e===0?0:r/(t*e)}function ie(a,i,r,t){let e=null;for(let n of i){if(t&&n.agentName&&n.agentName!==t)continue;let s=T(a,n.queryEmbedding);s>=r&&(!e||s>e.similarity)&&(e={entry:n,similarity:s});}return e}function ae(){let a=new Map;function i(r){let t=a.get(r);return t||(t=new Map,a.set(r,t)),t}return {async getEntries(r){return Array.from(i(r).values())},async addEntry(r,t){i(r).set(t.id,t);},async updateEntry(r,t,e){let n=i(r),s=n.get(t);s&&n.set(t,{...s,...e});},async removeEntry(r,t){i(r).delete(t);},async clear(r){a.delete(r);}}}function Se(a){let{embedder:i,similarityThreshold:r=.9,maxCacheSize:t=1e3,ttlMs:e=36e5,namespace:n="default",storage:s=ae(),onHit:c,onMiss:o,onError:d,perAgent:u=false}=a,l={totalEntries:0,totalHits:0,totalMisses:0,hitRate:0,avgSimilarityOnHit:0,oldestEntry:null,newestEntry:null},h=0;function g(y){if(l.totalEntries=y.length,l.hitRate=l.totalHits+l.totalMisses>0?l.totalHits/(l.totalHits+l.totalMisses):0,l.avgSimilarityOnHit=l.totalHits>0?h/l.totalHits:0,y.length>0){let b=y.map(P=>P.createdAt);l.oldestEntry=Math.min(...b),l.newestEntry=Math.max(...b);}else l.oldestEntry=null,l.newestEntry=null;}async function E(){let y=await s.getEntries(n),b=Date.now();for(let I of y)b-I.createdAt>e&&await s.removeEntry(n,I.id);let P=await s.getEntries(n);if(P.length>t){let m=P.sort((p,f)=>p.accessedAt-f.accessedAt).slice(0,P.length-t);for(let p of m)await s.removeEntry(n,p.id);}}return {async lookup(y,b){let P=Date.now();try{let I=await i(y),m=await s.getEntries(n),p=ie(I,m,r,u?b:void 0);return p?(await s.updateEntry(n,p.entry.id,{accessedAt:Date.now(),accessCount:p.entry.accessCount+1}),l.totalHits++,h+=p.similarity,g(m),c?.(p.entry,p.similarity),{hit:!0,entry:p.entry,similarity:p.similarity,latencyMs:Date.now()-P}):(l.totalMisses++,g(m),o?.(y),{hit:!1,latencyMs:Date.now()-P})}catch(I){return l.totalMisses++,d?.(I instanceof Error?I:new Error(String(I))),{hit:false,latencyMs:Date.now()-P}}},async store(y,b,P,I={}){let m=await i(y),p={id:globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2,11)}`,query:y,queryEmbedding:m,response:b,metadata:I,createdAt:Date.now(),accessedAt:Date.now(),accessCount:0,agentName:u?P:void 0};await s.addEntry(n,p),await E();let f=await s.getEntries(n);g(f);},async invalidate(y){let b=await s.getEntries(n),P=0;for(let m of b)y(m)&&(await s.removeEntry(n,m.id),P++);let I=await s.getEntries(n);return g(I),P},async clear(){await s.clear(n),l={totalEntries:0,totalHits:0,totalMisses:0,hitRate:0,avgSimilarityOnHit:0,oldestEntry:null,newestEntry:null},h=0;},getStats(){return {...l}},async export(){return s.getEntries(n)},async import(y){for(let P of y)await s.addEntry(n,P);await E();let b=await s.getEntries(n);g(b);}}}function Ce(a){let{cache:i}=a;return async r=>{let t=await i.lookup(r.input,r.agentName);return t.hit&&t.entry?{passed:false,cacheHit:true,reason:`Cache hit (similarity: ${(t.similarity*100).toFixed(1)}%)`,cachedResponse:t.entry.response,similarity:t.similarity}:{passed:true,cacheHit:false}}}function Te(a=128){return async i=>{let r=new Array(a).fill(0);for(let e=0;e<i.length;e++){let n=i.charCodeAt(e);r[e%a]+=n/256;}let t=Math.sqrt(r.reduce((e,n)=>e+n*n,0));if(t>0)for(let e=0;e<a;e++)r[e]/=t;return r}}function Re(a){let{batchSize:i=20,embedBatch:r,maxWaitMs:t=50}=a;if(i<1||!Number.isFinite(i))throw new Error(`[Directive SemanticCache] batchSize must be >= 1, got ${i}`);let e=[],n=null,s=false;async function c(){if(e.length===0)return;let o=e;e=[],n&&(clearTimeout(n),n=null);try{let d=o.map(l=>l.text),u=await r(d);if(u.length!==o.length)throw new Error(`[Directive SemanticCache] embedBatch returned ${u.length} embeddings for ${o.length} texts. The embedBatch function must return exactly one embedding per input text.`);for(let l=0;l<o.length;l++)o[l].resolve(u[l]);}catch(d){let u=d instanceof Error?d:new Error(String(d));for(let l of o)l.reject(u);}}return {async embed(o){if(s)throw new Error("BatchedEmbedder has been destroyed");return new Promise((d,u)=>{e.push({text:o,resolve:d,reject:u}),e.length>=i?c():n||(n=setTimeout(c,t));})},async flush(){await c();},destroy(){s=true,n&&(clearTimeout(n),n=null);let o=e;e=[];let d=new Error("BatchedEmbedder destroyed");for(let u of o)u.reject(d);}}}function Ne(){let a=new Map,i=null;function r(t){if(i===null)i=t.length;else if(t.length!==i)throw new Error(`[Directive ANNIndex] Dimension mismatch: expected ${i}, got ${t.length}`)}return {add(t,e){r(e),a.set(t,e);},remove(t){a.delete(t);},search(t,e,n=0){if(i!==null&&t.length!==i)throw new Error(`[Directive ANNIndex] Query dimension mismatch: expected ${i}, got ${t.length}`);let s=[];for(let[c,o]of a){let d=T(t,o);d>=n&&s.push({id:c,similarity:d});}return s.sort((c,o)=>o.similarity-c.similarity),s.slice(0,e)},rebuild(){},size(){return a.size},clear(){a.clear(),i=null;},needsRebuild(){return false}}}function H(a,i){return 1-T(a,i)}function A(a,i){if(a.length===0)return null;let r=Math.floor(i()*a.length),t=a[r],e=a.filter((u,l)=>l!==r);if(e.length===0)return {id:t.id,embedding:t.embedding,mu:0,left:null,right:null};let n=e.map(u=>({item:u,distance:H(t.embedding,u.embedding)}));n.sort((u,l)=>u.distance-l.distance);let s=Math.floor(n.length/2),c=n[s].distance,o=n.slice(0,s).map(u=>u.item),d=n.slice(s).map(u=>u.item);return {id:t.id,embedding:t.embedding,mu:c,left:A(o,i),right:A(d,i)}}function R(a,i,r,t,e,n){if(!a)return;let s=H(i,a.embedding),c=1-s;c>=t&&(e.push({id:a.id,similarity:c}),e.sort((o,d)=>d.similarity-o.similarity),e.length>r&&e.pop(),e.length===r&&(n.value=1-e[e.length-1].similarity)),s<a.mu?(R(a.left,i,r,t,e,n),s+n.value>=a.mu&&R(a.right,i,r,t,e,n)):(R(a.right,i,r,t,e,n),s-n.value<=a.mu&&R(a.left,i,r,t,e,n));}function Ae(a={}){let{random:i=Math.random}=a,r=new Map,t=null,e=false,n=null;function s(c){if(n===null)n=c.length;else if(c.length!==n)throw new Error(`[Directive ANNIndex] Dimension mismatch: expected ${n}, got ${c.length}`)}return {add(c,o){s(o),r.set(c,o),e=true;},remove(c){r.delete(c),e=true;},search(c,o,d=0){if(n!==null&&c.length!==n)throw new Error(`[Directive ANNIndex] Query dimension mismatch: expected ${n}, got ${c.length}`);if(e||!t){let h=[];for(let[g,E]of r){let y=T(c,E);y>=d&&h.push({id:g,similarity:y});}return h.sort((g,E)=>E.similarity-g.similarity),h.slice(0,o)}let u=[],l={value:Number.POSITIVE_INFINITY};return R(t,c,o,d,u,l),u},rebuild(){let c=Array.from(r.entries()).map(([o,d])=>({id:o,embedding:d}));t=A(c,i),e=false;},size(){return r.size},clear(){r.clear(),t=null,e=false,n=null;},needsRebuild(){return e}}}exports.A=Re;exports.B=Ne;exports.C=Ae;exports.a=ce;exports.b=de;exports.c=le;exports.d=ue;exports.e=me;exports.f=pe;exports.g=fe;exports.h=ge;exports.i=he;exports.j=F;exports.k=ee;exports.l=Ie;exports.m=te;exports.n=Pe;exports.o=k;exports.p=L;exports.q=z;exports.r=ne;exports.s=re;exports.t=Ee;exports.u=ve;exports.v=T;exports.w=ae;exports.x=Se;exports.y=Ce;exports.z=Te;//# sourceMappingURL=chunk-GL7OJP7Q.cjs.map
4
- //# sourceMappingURL=chunk-GL7OJP7Q.cjs.map