@inkeep/agents-run-api 0.39.2 → 0.39.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/SandboxExecutorFactory.cjs +895 -0
  2. package/dist/SandboxExecutorFactory.js +893 -0
  3. package/dist/SandboxExecutorFactory.js.map +1 -0
  4. package/dist/chunk-VBDAOXYI.cjs +927 -0
  5. package/dist/chunk-VBDAOXYI.js +832 -0
  6. package/dist/chunk-VBDAOXYI.js.map +1 -0
  7. package/dist/chunk.cjs +34 -0
  8. package/dist/conversations.cjs +7 -0
  9. package/dist/conversations.js +7 -0
  10. package/dist/conversations2.cjs +209 -0
  11. package/dist/conversations2.js +180 -0
  12. package/dist/conversations2.js.map +1 -0
  13. package/dist/dbClient.cjs +9676 -0
  14. package/dist/dbClient.js +9670 -0
  15. package/dist/dbClient.js.map +1 -0
  16. package/dist/dbClient2.cjs +5 -0
  17. package/dist/dbClient2.js +5 -0
  18. package/dist/env.cjs +59 -0
  19. package/dist/env.js +54 -0
  20. package/dist/env.js.map +1 -0
  21. package/dist/execution-limits.cjs +260 -0
  22. package/dist/execution-limits.js +63 -0
  23. package/dist/execution-limits.js.map +1 -0
  24. package/dist/index.cjs +10548 -20592
  25. package/dist/index.d.cts +26 -22
  26. package/dist/index.d.cts.map +1 -0
  27. package/dist/index.d.ts +27 -22
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +10548 -12917
  30. package/dist/index.js.map +1 -0
  31. package/dist/instrumentation.cjs +12 -121
  32. package/dist/instrumentation.d.cts +9 -7
  33. package/dist/instrumentation.d.cts.map +1 -0
  34. package/dist/instrumentation.d.ts +9 -7
  35. package/dist/instrumentation.d.ts.map +1 -0
  36. package/dist/instrumentation.js +5 -1
  37. package/dist/instrumentation2.cjs +116 -0
  38. package/dist/instrumentation2.js +69 -0
  39. package/dist/instrumentation2.js.map +1 -0
  40. package/dist/json-postprocessor.cjs +20 -0
  41. package/dist/json-postprocessor.js +20 -0
  42. package/dist/json-postprocessor.js.map +1 -0
  43. package/dist/logger.cjs +5 -0
  44. package/dist/logger.js +3 -0
  45. package/dist/logger2.cjs +1 -0
  46. package/dist/logger2.js +3 -0
  47. package/dist/nodefs.cjs +29 -0
  48. package/dist/nodefs.js +27 -0
  49. package/dist/nodefs.js.map +1 -0
  50. package/dist/opfs-ahp.cjs +367 -0
  51. package/dist/opfs-ahp.js +368 -0
  52. package/dist/opfs-ahp.js.map +1 -0
  53. package/package.json +3 -3
  54. package/dist/SandboxExecutorFactory-2N27SE3B.js +0 -943
  55. package/dist/chunk-A2S7GSHL.js +0 -1
  56. package/dist/chunk-EVOISBFH.js +0 -5070
  57. package/dist/chunk-JCVMVG3J.js +0 -592
  58. package/dist/chunk-KBZIYCPJ.js +0 -40
  59. package/dist/chunk-KCJWSIDZ.js +0 -246
  60. package/dist/chunk-THWNUGWP.js +0 -204
  61. package/dist/chunk-UC2EPLSW.js +0 -75
  62. package/dist/conversations-XPSTWUMK.js +0 -1
  63. package/dist/dbClient-MAHUR4TO.js +0 -1
  64. package/dist/json-postprocessor-IGYTSWFB.js +0 -12
  65. package/dist/logger-3EE6BUSU.js +0 -1
  66. package/dist/nodefs-RPE52Q4Z.js +0 -21
  67. package/dist/opfs-ahp-QL4REJJW.js +0 -318
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunk-VBDAOXYI.js","names":["g","x","E","U","D","s","a","n","L","p","_","P","i","u","c","F","h","R","d","dr"],"sources":["../../node_modules/.pnpm/@electric-sql+pglite@0.3.14/node_modules/@electric-sql/pglite/dist/chunk-QY3QWFKW.js","../../node_modules/.pnpm/@electric-sql+pglite@0.3.14/node_modules/@electric-sql/pglite/dist/chunk-VBDAOXYI.js"],"sourcesContent":["var p=Object.create;var i=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty;var a=t=>{throw TypeError(t)};var _=(t,e,o)=>e in t?i(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var d=(t,e)=>()=>(t&&(e=t(t=0)),e);var D=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),F=(t,e)=>{for(var o in e)i(t,o,{get:e[o],enumerable:!0})},g=(t,e,o,m)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let r of f(e))!s.call(t,r)&&r!==o&&i(t,r,{get:()=>e[r],enumerable:!(m=c(e,r))||m.enumerable});return t};var L=(t,e,o)=>(o=t!=null?p(l(t)):{},g(e||!t||!t.__esModule?i(o,\"default\",{value:t,enumerable:!0}):o,t));var P=(t,e,o)=>_(t,typeof e!=\"symbol\"?e+\"\":e,o),n=(t,e,o)=>e.has(t)||a(\"Cannot \"+o);var h=(t,e,o)=>(n(t,e,\"read from private field\"),o?o.call(t):e.get(t)),R=(t,e,o)=>e.has(t)?a(\"Cannot add the same private member more than once\"):e instanceof WeakSet?e.add(t):e.set(t,o),x=(t,e,o,m)=>(n(t,e,\"write to private field\"),m?m.call(t,o):e.set(t,o),o),T=(t,e,o)=>(n(t,e,\"access private method\"),o);var U=(t,e,o,m)=>({set _(r){x(t,e,r,o)},get _(){return h(t,e,m)}});var u=d(()=>{\"use strict\"});export{D as a,F as b,L as c,P as d,h as e,R as f,x as g,T as h,U as i,u as j};\n//# sourceMappingURL=chunk-QY3QWFKW.js.map","import{a as E,c as dr,j as d}from\"./chunk-QY3QWFKW.js\";var w=E(($r,l)=>{\"use strict\";d();var j=9007199254740991,B=function(r){return r}();function mr(r){return r===B}function q(r){return typeof r==\"string\"||Object.prototype.toString.call(r)==\"[object String]\"}function lr(r){return Object.prototype.toString.call(r)==\"[object Date]\"}function N(r){return r!==null&&typeof r==\"object\"}function U(r){return typeof r==\"function\"}function fr(r){return typeof r==\"number\"&&r>-1&&r%1==0&&r<=j}function yr(r){return Object.prototype.toString.call(r)==\"[object Array]\"}function Y(r){return N(r)&&!U(r)&&fr(r.length)}function D(r){return Object.prototype.toString.call(r)==\"[object ArrayBuffer]\"}function gr(r,e){return Array.prototype.map.call(r,e)}function hr(r,e){var t=B;return U(e)&&Array.prototype.every.call(r,function(s,a,n){var o=e(s,a,n);return o&&(t=s),!o}),t}function Sr(r){return Object.assign.apply(null,arguments)}function W(r){var e,t,s;if(q(r)){for(t=r.length,s=new Uint8Array(t),e=0;e<t;e++)s[e]=r.charCodeAt(e)&255;return s}return D(r)?new Uint8Array(r):N(r)&&D(r.buffer)?new Uint8Array(r.buffer):Y(r)?new Uint8Array(r):N(r)&&U(r.toString)?W(r.toString()):new Uint8Array}l.exports.MAX_SAFE_INTEGER=j;l.exports.isUndefined=mr;l.exports.isString=q;l.exports.isObject=N;l.exports.isDateTime=lr;l.exports.isFunction=U;l.exports.isArray=yr;l.exports.isArrayLike=Y;l.exports.isArrayBuffer=D;l.exports.map=gr;l.exports.find=hr;l.exports.extend=Sr;l.exports.toUint8Array=W});var x=E((Qr,X)=>{\"use strict\";d();var M=\"\\0\";X.exports={NULL_CHAR:M,TMAGIC:\"ustar\"+M+\"00\",OLDGNU_MAGIC:\"ustar \"+M,REGTYPE:0,LNKTYPE:1,SYMTYPE:2,CHRTYPE:3,BLKTYPE:4,DIRTYPE:5,FIFOTYPE:6,CONTTYPE:7,TSUID:parseInt(\"4000\",8),TSGID:parseInt(\"2000\",8),TSVTX:parseInt(\"1000\",8),TUREAD:parseInt(\"0400\",8),TUWRITE:parseInt(\"0200\",8),TUEXEC:parseInt(\"0100\",8),TGREAD:parseInt(\"0040\",8),TGWRITE:parseInt(\"0020\",8),TGEXEC:parseInt(\"0010\",8),TOREAD:parseInt(\"0004\",8),TOWRITE:parseInt(\"0002\",8),TOEXEC:parseInt(\"0001\",8),TPERMALL:parseInt(\"0777\",8),TPERMMASK:parseInt(\"0777\",8)}});var L=E((ee,f)=>{\"use strict\";d();var K=w(),p=x(),Fr=512,I=p.TPERMALL,V=0,Z=0,_=[[\"name\",100,0,function(r,e){return v(r[e[0]],e[1])},function(r,e,t){return A(r.slice(e,e+t[1]))}],[\"mode\",8,100,function(r,e){var t=r[e[0]]||I;return t=t&p.TPERMMASK,P(t,e[1],I)},function(r,e,t){var s=S(r.slice(e,e+t[1]));return s&=p.TPERMMASK,s}],[\"uid\",8,108,function(r,e){return P(r[e[0]],e[1],V)},function(r,e,t){return S(r.slice(e,e+t[1]))}],[\"gid\",8,116,function(r,e){return P(r[e[0]],e[1],Z)},function(r,e,t){return S(r.slice(e,e+t[1]))}],[\"size\",12,124,function(r,e){return P(r.data.length,e[1])},function(r,e,t){return S(r.slice(e,e+t[1]))}],[\"modifyTime\",12,136,function(r,e){return k(r[e[0]],e[1])},function(r,e,t){return z(r.slice(e,e+t[1]))}],[\"checksum\",8,148,function(r,e){return\" \"},function(r,e,t){return S(r.slice(e,e+t[1]))}],[\"type\",1,156,function(r,e){return\"\"+(parseInt(r[e[0]],10)||0)%8},function(r,e,t){return(parseInt(String.fromCharCode(r[e]),10)||0)%8}],[\"linkName\",100,157,function(r,e){return\"\"},function(r,e,t){return A(r.slice(e,e+t[1]))}],[\"ustar\",8,257,function(r,e){return p.TMAGIC},function(r,e,t){return br(A(r.slice(e,e+t[1]),!0))},function(r,e){return r[e[0]]==p.TMAGIC||r[e[0]]==p.OLDGNU_MAGIC}],[\"owner\",32,265,function(r,e){return v(r[e[0]],e[1])},function(r,e,t){return A(r.slice(e,e+t[1]))}],[\"group\",32,297,function(r,e){return v(r[e[0]],e[1])},function(r,e,t){return A(r.slice(e,e+t[1]))}],[\"majorNumber\",8,329,function(r,e){return\"\"},function(r,e,t){return S(r.slice(e,e+t[1]))}],[\"minorNumber\",8,337,function(r,e){return\"\"},function(r,e,t){return S(r.slice(e,e+t[1]))}],[\"prefix\",131,345,function(r,e){return v(r[e[0]],e[1])},function(r,e,t){return A(r.slice(e,e+t[1]))}],[\"accessTime\",12,476,function(r,e){return k(r[e[0]],e[1])},function(r,e,t){return z(r.slice(e,e+t[1]))}],[\"createTime\",12,488,function(r,e){return k(r[e[0]],e[1])},function(r,e,t){return z(r.slice(e,e+t[1]))}]],$=function(r){var e=r[r.length-1];return e[2]+e[1]}(_);function br(r){if(r.length==8){var e=r.split(\"\");if(e[5]==p.NULL_CHAR)return(e[6]==\" \"||e[6]==p.NULL_CHAR)&&(e[6]=\"0\"),(e[7]==\" \"||e[7]==p.NULL_CHAR)&&(e[7]=\"0\"),e=e.join(\"\"),e==p.TMAGIC?e:r;if(e[7]==p.NULL_CHAR)return e[5]==p.NULL_CHAR&&(e[5]=\" \"),e[6]==p.NULL_CHAR&&(e[6]=\" \"),e==p.OLDGNU_MAGIC?e:r}return r}function v(r,e){return e-=1,K.isUndefined(r)&&(r=\"\"),r=(\"\"+r).substr(0,e),r+p.NULL_CHAR}function P(r,e,t){for(t=parseInt(t)||0,e-=1,r=(parseInt(r)||t).toString(8).substr(-e,e);r.length<e;)r=\"0\"+r;return r+p.NULL_CHAR}function k(r,e){if(K.isDateTime(r))r=Math.floor(1*r/1e3);else if(r=parseInt(r,10),isFinite(r)){if(r<=0)return\"\"}else r=Math.floor(1*new Date/1e3);return P(r,e,0)}function A(r,e){var t=String.fromCharCode.apply(null,r);if(e)return t;var s=t.indexOf(p.NULL_CHAR);return s>=0?t.substr(0,s):t}function S(r){var e=String.fromCharCode.apply(null,r);return parseInt(e.replace(/^0+$/g,\"\"),8)||0}function z(r){return r.length==0||r[0]==0?null:new Date(1e3*S(r))}function Tr(r,e,t){var s=parseInt(e,10)||0,a=Math.min(s+$,r.length),n=0,o=0,i=0;t&&_.every(function(y){return y[0]==\"checksum\"?(o=s+y[2],i=o+y[1],!1):!0});for(var u=32,c=s;c<a;c++){var m=c>=o&&c<i?u:r[c];n=(n+m)%262144}return n}f.exports.recordSize=Fr;f.exports.defaultFileMode=I;f.exports.defaultUid=V;f.exports.defaultGid=Z;f.exports.posixHeader=_;f.exports.effectiveHeaderSize=$;f.exports.calculateChecksum=Tr;f.exports.formatTarString=v;f.exports.formatTarNumber=P;f.exports.formatTarDateTime=k;f.exports.parseTarString=A;f.exports.parseTarNumber=S;f.exports.parseTarDateTime=z});var er=E((ne,rr)=>{\"use strict\";d();var Ar=x(),O=w(),F=L();function J(r){return F.recordSize}function Q(r){return Math.ceil(r.data.length/F.recordSize)*F.recordSize}function Er(r){var e=0;return r.forEach(function(t){e+=J(t)+Q(t)}),e+=F.recordSize*2,new Uint8Array(e)}function Pr(r,e,t){t=parseInt(t)||0;var s=t;F.posixHeader.forEach(function(u){for(var c=u[3](e,u),m=c.length,y=0;y<m;y+=1)r[s+y]=c.charCodeAt(y)&255;s+=u[1]});var a=O.find(F.posixHeader,function(u){return u[0]==\"checksum\"});if(a){var n=F.calculateChecksum(r,t,!0),o=F.formatTarNumber(n,a[1]-2)+Ar.NULL_CHAR+\" \";s=t+a[2];for(var i=0;i<o.length;i+=1)r[s]=o.charCodeAt(i)&255,s++}return t+J(e)}function wr(r,e,t){return t=parseInt(t,10)||0,r.set(e.data,t),t+Q(e)}function xr(r){r=O.map(r,function(s){return O.extend({},s,{data:O.toUint8Array(s.data)})});var e=Er(r),t=0;return r.forEach(function(s){t=Pr(e,s,t),t=wr(e,s,t)}),e}rr.exports.tar=xr});var nr=E((oe,tr)=>{\"use strict\";d();var vr=x(),G=w(),h=L(),Nr={extractData:!0,checkHeader:!0,checkChecksum:!0,checkFileSize:!0},Ur={size:!0,checksum:!0,ustar:!0},R={unexpectedEndOfFile:\"Unexpected end of file.\",fileCorrupted:\"File is corrupted.\",checksumCheckFailed:\"Checksum check failed.\"};function kr(r){return h.recordSize}function zr(r){return Math.ceil(r/h.recordSize)*h.recordSize}function Or(r,e){for(var t=e,s=Math.min(r.length,e+h.recordSize*2),a=t;a<s;a++)if(r[a]!=0)return!1;return!0}function Cr(r,e,t){if(r.length-e<h.recordSize){if(t.checkFileSize)throw new Error(R.unexpectedEndOfFile);return null}e=parseInt(e)||0;var s={},a=e;if(h.posixHeader.forEach(function(i){s[i[0]]=i[4](r,a,i),a+=i[1]}),s.type!=0&&(s.size=0),t.checkHeader&&h.posixHeader.forEach(function(i){if(G.isFunction(i[5])&&!i[5](s,i)){var u=new Error(R.fileCorrupted);throw u.data={offset:e+i[2],field:i[0]},u}}),t.checkChecksum){var n=h.calculateChecksum(r,e,!0);if(n!=s.checksum){var o=new Error(R.checksumCheckFailed);throw o.data={offset:e,header:s,checksum:n},o}}return s}function Dr(r,e,t,s){return s.extractData?t.size<=0?new Uint8Array:r.slice(e,e+t.size):null}function Mr(r,e){var t={};return h.posixHeader.forEach(function(s){var a=s[0];Ur[a]||(t[a]=r[a])}),t.isOldGNUFormat=r.ustar==vr.OLDGNU_MAGIC,e&&(t.data=e),t}function Ir(r,e){e=G.extend({},Nr,e);for(var t=[],s=0,a=r.length;a-s>=h.recordSize;){r=G.toUint8Array(r);var n=Cr(r,s,e);if(!n)break;s+=kr(n);var o=Dr(r,s,n,e);if(t.push(Mr(n,o)),s+=zr(n.size),Or(r,s))break}return t}tr.exports.untar=Ir});var or=E((se,ir)=>{\"use strict\";d();var _r=w(),Lr=x(),Rr=er(),Gr=nr();_r.extend(ir.exports,Rr,Gr,Lr)});d();d();var g=dr(or(),1);async function H(r,e,t=\"pgdata\",s=\"auto\"){let a=Br(r,e),[n,o]=await qr(a,s),i=t+(o?\".tar.gz\":\".tar\"),u=o?\"application/x-gzip\":\"application/x-tar\";return typeof File<\"u\"?new File([n],i,{type:u}):new Blob([n],{type:u})}var Hr=[\"application/x-gtar\",\"application/x-tar+gzip\",\"application/x-gzip\",\"application/gzip\"];async function ce(r,e,t){let s=new Uint8Array(await e.arrayBuffer()),a=typeof File<\"u\"&&e instanceof File?e.name:void 0;(Hr.includes(e.type)||a?.endsWith(\".tgz\")||a?.endsWith(\".tar.gz\"))&&(s=await ar(s));let o;try{o=(0,g.untar)(s)}catch(i){if(i instanceof Error&&i.message.includes(\"File is corrupted\"))s=await ar(s),o=(0,g.untar)(s);else throw i}for(let i of o){let u=t+i.name,c=u.split(\"/\").slice(0,-1);for(let m=1;m<=c.length;m++){let y=c.slice(0,m).join(\"/\");r.analyzePath(y).exists||r.mkdir(y)}i.type===g.REGTYPE?(r.writeFile(u,i.data),r.utime(u,sr(i.modifyTime),sr(i.modifyTime))):i.type===g.DIRTYPE&&r.mkdir(u)}}function jr(r,e){let t=[],s=a=>{r.readdir(a).forEach(o=>{if(o===\".\"||o===\"..\")return;let i=a+\"/\"+o,u=r.stat(i),c=r.isFile(u.mode)?r.readFile(i,{encoding:\"binary\"}):new Uint8Array(0);t.push({name:i.substring(e.length),mode:u.mode,size:u.size,type:r.isFile(u.mode)?g.REGTYPE:g.DIRTYPE,modifyTime:u.mtime,data:c}),r.isDir(u.mode)&&s(i)})};return s(e),t}function Br(r,e){let t=jr(r,e);return(0,g.tar)(t)}async function qr(r,e=\"auto\"){if(e===\"none\")return[r,!1];if(typeof CompressionStream<\"u\")return[await Yr(r),!0];if(typeof process<\"u\"&&process.versions&&process.versions.node)return[await Wr(r),!0];if(e===\"auto\")return[r,!1];throw new Error(\"Compression not supported in this environment\")}async function Yr(r){let e=new CompressionStream(\"gzip\"),t=e.writable.getWriter(),s=e.readable.getReader();t.write(r),t.close();let a=[];for(;;){let{value:i,done:u}=await s.read();if(u)break;i&&a.push(i)}let n=new Uint8Array(a.reduce((i,u)=>i+u.length,0)),o=0;return a.forEach(i=>{n.set(i,o),o+=i.length}),n}async function Wr(r){let{promisify:e}=await import(\"util\"),{gzip:t}=await import(\"zlib\");return await e(t)(r)}async function ar(r){if(typeof CompressionStream<\"u\")return await Xr(r);if(typeof process<\"u\"&&process.versions&&process.versions.node)return await Kr(r);throw new Error(\"Unsupported environment for decompression\")}async function Xr(r){let e=new DecompressionStream(\"gzip\"),t=e.writable.getWriter(),s=e.readable.getReader();t.write(r),t.close();let a=[];for(;;){let{value:i,done:u}=await s.read();if(u)break;i&&a.push(i)}let n=new Uint8Array(a.reduce((i,u)=>i+u.length,0)),o=0;return a.forEach(i=>{n.set(i,o),o+=i.length}),n}async function Kr(r){let{promisify:e}=await import(\"util\"),{gunzip:t}=await import(\"zlib\");return await e(t)(r)}function sr(r){return r?typeof r==\"number\"?r:Math.floor(r.getTime()/1e3):Math.floor(Date.now()/1e3)}var Vr=\"/tmp/pglite\",C=Vr+\"/base\",ur=class{constructor(e){this.dataDir=e}async init(e,t){return this.pg=e,{emscriptenOpts:t}}async syncToFs(e){}async initialSyncFs(){}async closeFs(){}async dumpTar(e,t){return H(this.pg.Module.FS,C,e,t)}},cr=class{constructor(e,{debug:t=!1}={}){this.dataDir=e,this.debug=t}async syncToFs(e){}async initialSyncFs(){}async closeFs(){}async dumpTar(e,t){return H(this.pg.Module.FS,C,e,t)}async init(e,t){return this.pg=e,{emscriptenOpts:{...t,preRun:[...t.preRun||[],a=>{let n=Zr(a,this);a.FS.mkdir(C),a.FS.mount(n,{},C)}]}}}},pr={EBADF:8,EBADFD:127,EEXIST:20,EINVAL:28,EISDIR:31,ENODEV:43,ENOENT:44,ENOTDIR:54,ENOTEMPTY:55},Zr=(r,e)=>{let t=r.FS,s=e.debug?console.log:null,a={tryFSOperation(n){try{return n()}catch(o){throw o.code?o.code===\"UNKNOWN\"?new t.ErrnoError(pr.EINVAL):new t.ErrnoError(o.code):o}},mount(n){return a.createNode(null,\"/\",16895,0)},syncfs(n,o,i){},createNode(n,o,i,u){if(!t.isDir(i)&&!t.isFile(i))throw new t.ErrnoError(28);let c=t.createNode(n,o,i);return c.node_ops=a.node_ops,c.stream_ops=a.stream_ops,c},getMode:function(n){return s?.(\"getMode\",n),a.tryFSOperation(()=>e.lstat(n).mode)},realPath:function(n){let o=[];for(;n.parent!==n;)o.push(n.name),n=n.parent;return o.push(n.mount.opts.root),o.reverse(),o.join(\"/\")},node_ops:{getattr(n){s?.(\"getattr\",a.realPath(n));let o=a.realPath(n);return a.tryFSOperation(()=>{let i=e.lstat(o);return{...i,dev:0,ino:n.id,nlink:1,rdev:n.rdev,atime:new Date(i.atime),mtime:new Date(i.mtime),ctime:new Date(i.ctime)}})},setattr(n,o){s?.(\"setattr\",a.realPath(n),o);let i=a.realPath(n);a.tryFSOperation(()=>{o.mode!==void 0&&e.chmod(i,o.mode),o.size!==void 0&&e.truncate(i,o.size),o.timestamp!==void 0&&e.utimes(i,o.timestamp,o.timestamp),o.size!==void 0&&e.truncate(i,o.size)})},lookup(n,o){s?.(\"lookup\",a.realPath(n),o);let i=[a.realPath(n),o].join(\"/\"),u=a.getMode(i);return a.createNode(n,o,u)},mknod(n,o,i,u){s?.(\"mknod\",a.realPath(n),o,i,u);let c=a.createNode(n,o,i,u),m=a.realPath(c);return a.tryFSOperation(()=>(t.isDir(c.mode)?e.mkdir(m,{mode:i}):e.writeFile(m,\"\",{mode:i}),c))},rename(n,o,i){s?.(\"rename\",a.realPath(n),a.realPath(o),i);let u=a.realPath(n),c=[a.realPath(o),i].join(\"/\");a.tryFSOperation(()=>{e.rename(u,c)}),n.name=i},unlink(n,o){s?.(\"unlink\",a.realPath(n),o);let i=[a.realPath(n),o].join(\"/\");try{e.unlink(i)}catch{}},rmdir(n,o){s?.(\"rmdir\",a.realPath(n),o);let i=[a.realPath(n),o].join(\"/\");return a.tryFSOperation(()=>{e.rmdir(i)})},readdir(n){s?.(\"readdir\",a.realPath(n));let o=a.realPath(n);return a.tryFSOperation(()=>e.readdir(o))},symlink(n,o,i){throw s?.(\"symlink\",a.realPath(n),o,i),new t.ErrnoError(63)},readlink(n){throw s?.(\"readlink\",a.realPath(n)),new t.ErrnoError(63)}},stream_ops:{open(n){s?.(\"open stream\",a.realPath(n.node));let o=a.realPath(n.node);return a.tryFSOperation(()=>{t.isFile(n.node.mode)&&(n.shared.refcount=1,n.nfd=e.open(o))})},close(n){return s?.(\"close stream\",a.realPath(n.node)),a.tryFSOperation(()=>{t.isFile(n.node.mode)&&n.nfd&&--n.shared.refcount===0&&e.close(n.nfd)})},dup(n){s?.(\"dup stream\",a.realPath(n.node)),n.shared.refcount++},read(n,o,i,u,c){return s?.(\"read stream\",a.realPath(n.node),i,u,c),u===0?0:a.tryFSOperation(()=>e.read(n.nfd,o,i,u,c))},write(n,o,i,u,c){return s?.(\"write stream\",a.realPath(n.node),i,u,c),a.tryFSOperation(()=>e.write(n.nfd,o.buffer,i,u,c))},llseek(n,o,i){s?.(\"llseek stream\",a.realPath(n.node),o,i);let u=o;if(i===1?u+=n.position:i===2&&t.isFile(n.node.mode)&&a.tryFSOperation(()=>{let c=e.fstat(n.nfd);u+=c.size}),u<0)throw new t.ErrnoError(28);return u},mmap(n,o,i,u,c){if(s?.(\"mmap stream\",a.realPath(n.node),o,i,u,c),!t.isFile(n.node.mode))throw new t.ErrnoError(pr.ENODEV);let m=r.mmapAlloc(o);return a.stream_ops.read(n,r.HEAP8,m,o,i),{ptr:m,allocated:!0}},msync(n,o,i,u,c){return s?.(\"msync stream\",a.realPath(n.node),i,u,c),a.stream_ops.write(n,o,0,u,i),0}}};return a};export{or as a,ce as b,Vr as c,C as d,ur as e,cr as f,pr as g};\n//# sourceMappingURL=chunk-VBDAOXYI.js.map"],"x_google_ignoreList":[0,1],"mappings":"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"}
package/dist/chunk.cjs ADDED
@@ -0,0 +1,34 @@
1
+ //#region rolldown:runtime
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
11
+ key = keys[i];
12
+ if (!__hasOwnProp.call(to, key) && key !== except) {
13
+ __defProp(to, key, {
14
+ get: ((k) => from[k]).bind(null, key),
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ }
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
+ value: mod,
24
+ enumerable: true
25
+ }) : target, mod));
26
+
27
+ //#endregion
28
+
29
+ Object.defineProperty(exports, '__toESM', {
30
+ enumerable: true,
31
+ get: function () {
32
+ return __toESM;
33
+ }
34
+ });
@@ -0,0 +1,7 @@
1
+ require('./env.cjs');
2
+ require('./chunk-VBDAOXYI.cjs');
3
+ require('./dbClient.cjs');
4
+ require('./execution-limits.cjs');
5
+ const require_conversations = require('./conversations2.cjs');
6
+
7
+ exports.getConversationScopedArtifacts = require_conversations.getConversationScopedArtifacts;
@@ -0,0 +1,7 @@
1
+ import "./env.js";
2
+ import "./chunk-VBDAOXYI.js";
3
+ import "./dbClient.js";
4
+ import "./execution-limits.js";
5
+ import { a as saveA2AMessageResponse, i as getScopedHistory, n as getConversationScopedArtifacts, r as getFormattedConversationHistory, t as createDefaultConversationHistoryConfig } from "./conversations2.js";
6
+
7
+ export { getConversationScopedArtifacts };
@@ -0,0 +1,209 @@
1
+ const require_chunk = require('./chunk.cjs');
2
+ const require_dbClient = require('./dbClient.cjs');
3
+ const require_execution_limits = require('./execution-limits.cjs');
4
+ let __inkeep_agents_core = require("@inkeep/agents-core");
5
+
6
+ //#region src/data/conversations.ts
7
+ /**
8
+ * Creates default conversation history configuration
9
+ * @param mode - The conversation history mode ('full' | 'scoped' | 'none')
10
+ * @returns Default AgentConversationHistoryConfig
11
+ */
12
+ function createDefaultConversationHistoryConfig(mode = "full") {
13
+ return {
14
+ mode,
15
+ limit: require_execution_limits.CONVERSATION_HISTORY_DEFAULT_LIMIT,
16
+ includeInternal: true,
17
+ messageTypes: ["chat", "tool-result"],
18
+ maxOutputTokens: __inkeep_agents_core.CONVERSATION_HISTORY_MAX_OUTPUT_TOKENS_DEFAULT
19
+ };
20
+ }
21
+ /**
22
+ * Extracts text content from A2A Message parts array
23
+ */
24
+ function extractA2AMessageText(parts) {
25
+ return parts.filter((part) => part.kind === "text" && part.text).map((part) => part.text).join("");
26
+ }
27
+ /**
28
+ * Saves the result of an A2A client sendMessage call as a conversation message
29
+ * @param response - The response from a2aClient.sendMessage()
30
+ * @param params - Parameters for saving the message
31
+ * @returns The saved message or null if no text content was found
32
+ */
33
+ async function saveA2AMessageResponse(response, params) {
34
+ if (response.error) throw new Error(response.error.message);
35
+ let messageText = "";
36
+ if (response.result.kind === "message") messageText = extractA2AMessageText(response.result.parts);
37
+ else if (response.result.kind === "task") {
38
+ if (response.result.artifacts && response.result.artifacts.length > 0) {
39
+ const firstArtifact = response.result.artifacts[0];
40
+ if (firstArtifact.parts) messageText = extractA2AMessageText(firstArtifact.parts);
41
+ }
42
+ } else if (typeof response.result === "string") messageText = response.result;
43
+ if (!messageText || messageText.trim() === "") return null;
44
+ return await (0, __inkeep_agents_core.createMessage)(require_dbClient.dbClient_default)({
45
+ id: (0, __inkeep_agents_core.generateId)(),
46
+ tenantId: params.tenantId,
47
+ projectId: params.projectId,
48
+ conversationId: params.conversationId,
49
+ role: "agent",
50
+ content: { text: messageText },
51
+ visibility: params.visibility,
52
+ messageType: params.messageType,
53
+ fromSubAgentId: params.fromSubAgentId,
54
+ toSubAgentId: params.toSubAgentId,
55
+ fromExternalAgentId: params.fromExternalAgentId,
56
+ toExternalAgentId: params.toExternalAgentId,
57
+ a2aTaskId: params.a2aTaskId,
58
+ a2aSessionId: params.a2aSessionId,
59
+ metadata: params.metadata
60
+ });
61
+ }
62
+ /**
63
+ * Applies filtering based on agent, task, or both criteria
64
+ * Returns the filtered messages array
65
+ */
66
+ async function getScopedHistory({ tenantId, projectId, conversationId, filters, options }) {
67
+ try {
68
+ const messages = await (0, __inkeep_agents_core.getConversationHistory)(require_dbClient.dbClient_default)({
69
+ scopes: {
70
+ tenantId,
71
+ projectId
72
+ },
73
+ conversationId,
74
+ options
75
+ });
76
+ if (!filters || !filters.subAgentId && !filters.taskId && !filters.delegationId && filters.isDelegated === void 0) return messages;
77
+ return messages.filter((msg) => {
78
+ if (msg.role === "user") return true;
79
+ let matchesAgent = true;
80
+ let matchesTask = true;
81
+ let matchesDelegation = true;
82
+ if (filters.subAgentId) matchesAgent = msg.role === "agent" && msg.visibility === "user-facing" || msg.toSubAgentId === filters.subAgentId || msg.fromSubAgentId === filters.subAgentId;
83
+ if (filters.taskId) matchesTask = msg.taskId === filters.taskId || msg.a2aTaskId === filters.taskId;
84
+ if (filters.delegationId !== void 0 || filters.isDelegated !== void 0) {
85
+ if (msg.messageType === "tool-result") {
86
+ const messageDelegationId = msg.metadata?.a2a_metadata?.delegationId;
87
+ const messageIsDelegated = msg.metadata?.a2a_metadata?.isDelegated;
88
+ if (filters.delegationId) matchesDelegation = messageDelegationId === filters.delegationId || !messageDelegationId;
89
+ else if (filters.isDelegated === false) matchesDelegation = !messageIsDelegated;
90
+ else if (filters.isDelegated === true) matchesDelegation = messageIsDelegated === true;
91
+ }
92
+ }
93
+ const conditions = [];
94
+ if (filters.subAgentId) conditions.push(matchesAgent);
95
+ if (filters.taskId) conditions.push(matchesTask);
96
+ if (filters.delegationId !== void 0 || filters.isDelegated !== void 0) conditions.push(matchesDelegation);
97
+ return conditions.length === 0 || conditions.every(Boolean);
98
+ });
99
+ } catch (error) {
100
+ console.error("Failed to fetch scoped messages:", error);
101
+ return [];
102
+ }
103
+ }
104
+ /**
105
+ * Get formatted conversation history for a2a
106
+ */
107
+ async function getFormattedConversationHistory({ tenantId, projectId, conversationId, currentMessage, options, filters }) {
108
+ const conversationHistory = await getScopedHistory({
109
+ tenantId,
110
+ projectId,
111
+ conversationId,
112
+ filters,
113
+ options: options ?? createDefaultConversationHistoryConfig()
114
+ });
115
+ let messagesToFormat = conversationHistory;
116
+ if (currentMessage && conversationHistory.length > 0) {
117
+ if (conversationHistory[conversationHistory.length - 1].content.text === currentMessage) messagesToFormat = conversationHistory.slice(0, -1);
118
+ }
119
+ if (!messagesToFormat.length) return "";
120
+ return `<conversation_history>\n${messagesToFormat.map((msg) => {
121
+ let roleLabel;
122
+ if (msg.role === "user") roleLabel = "user";
123
+ else if (msg.role === "agent" && (msg.messageType === "a2a-request" || msg.messageType === "a2a-response")) roleLabel = `${msg.fromSubAgentId || msg.fromExternalAgentId || "unknown"} to ${msg.toSubAgentId || msg.toExternalAgentId || "unknown"}`;
124
+ else if (msg.role === "agent" && msg.messageType === "chat") roleLabel = `${msg.fromSubAgentId || "unknown"} to User`;
125
+ else if (msg.role === "assistant" && msg.messageType === "tool-result") roleLabel = `${msg.fromSubAgentId || "unknown"} tool: ${msg.metadata?.a2a_metadata?.toolName || "unknown"}`;
126
+ else roleLabel = msg.role || "system";
127
+ return `${roleLabel}: """${msg.content.text}"""`;
128
+ }).join("\n")}\n</conversation_history>\n`;
129
+ }
130
+ /**
131
+ * Get artifacts that are within the scope of the conversation history
132
+ * Only returns artifacts from messages that are actually visible to the LLM
133
+ * Uses the same scoping logic as getFormattedConversationHistory
134
+ */
135
+ async function getConversationScopedArtifacts(params) {
136
+ const { tenantId, projectId, conversationId, historyConfig } = params;
137
+ if (!conversationId) return [];
138
+ try {
139
+ if (historyConfig.mode === "none") return [];
140
+ const visibleMessages = await getScopedHistory({
141
+ tenantId,
142
+ projectId,
143
+ conversationId,
144
+ options: historyConfig
145
+ });
146
+ if (visibleMessages.length === 0) return [];
147
+ if (visibleMessages.filter((msg) => !(msg.messageType === "system" && msg.content?.text?.includes("Previous conversation history truncated"))).map((msg) => msg.id).length === 0) return [];
148
+ const { getLedgerArtifacts } = await import("@inkeep/agents-core");
149
+ const dbClient = (await Promise.resolve().then(() => require("./dbClient2.cjs"))).default;
150
+ const visibleTaskIds = visibleMessages.map((msg) => msg.taskId).filter((taskId) => Boolean(taskId));
151
+ const referenceArtifacts = [];
152
+ for (const taskId of visibleTaskIds) {
153
+ const artifacts = await getLedgerArtifacts(dbClient)({
154
+ scopes: {
155
+ tenantId,
156
+ projectId
157
+ },
158
+ taskId
159
+ });
160
+ referenceArtifacts.push(...artifacts);
161
+ }
162
+ (await Promise.resolve().then(() => require("./logger.cjs"))).getLogger("conversations").debug({
163
+ conversationId,
164
+ visibleMessages: visibleMessages.length,
165
+ visibleTasks: visibleTaskIds.length,
166
+ artifacts: referenceArtifacts.length,
167
+ historyMode: historyConfig.mode
168
+ }, "Loaded conversation-scoped artifacts");
169
+ return referenceArtifacts;
170
+ } catch (error) {
171
+ (await Promise.resolve().then(() => require("./logger.cjs"))).getLogger("conversations").error({
172
+ error: error instanceof Error ? error.message : "Unknown error",
173
+ conversationId
174
+ }, "Failed to get conversation-scoped artifacts");
175
+ return [];
176
+ }
177
+ }
178
+
179
+ //#endregion
180
+ Object.defineProperty(exports, 'createDefaultConversationHistoryConfig', {
181
+ enumerable: true,
182
+ get: function () {
183
+ return createDefaultConversationHistoryConfig;
184
+ }
185
+ });
186
+ Object.defineProperty(exports, 'getConversationScopedArtifacts', {
187
+ enumerable: true,
188
+ get: function () {
189
+ return getConversationScopedArtifacts;
190
+ }
191
+ });
192
+ Object.defineProperty(exports, 'getFormattedConversationHistory', {
193
+ enumerable: true,
194
+ get: function () {
195
+ return getFormattedConversationHistory;
196
+ }
197
+ });
198
+ Object.defineProperty(exports, 'getScopedHistory', {
199
+ enumerable: true,
200
+ get: function () {
201
+ return getScopedHistory;
202
+ }
203
+ });
204
+ Object.defineProperty(exports, 'saveA2AMessageResponse', {
205
+ enumerable: true,
206
+ get: function () {
207
+ return saveA2AMessageResponse;
208
+ }
209
+ });
@@ -0,0 +1,180 @@
1
+ import { t as dbClient_default } from "./dbClient.js";
2
+ import { c as CONVERSATION_HISTORY_DEFAULT_LIMIT$1 } from "./execution-limits.js";
3
+ import { CONVERSATION_HISTORY_MAX_OUTPUT_TOKENS_DEFAULT, createMessage, generateId, getConversationHistory } from "@inkeep/agents-core";
4
+
5
+ //#region src/data/conversations.ts
6
+ /**
7
+ * Creates default conversation history configuration
8
+ * @param mode - The conversation history mode ('full' | 'scoped' | 'none')
9
+ * @returns Default AgentConversationHistoryConfig
10
+ */
11
+ function createDefaultConversationHistoryConfig(mode = "full") {
12
+ return {
13
+ mode,
14
+ limit: CONVERSATION_HISTORY_DEFAULT_LIMIT$1,
15
+ includeInternal: true,
16
+ messageTypes: ["chat", "tool-result"],
17
+ maxOutputTokens: CONVERSATION_HISTORY_MAX_OUTPUT_TOKENS_DEFAULT
18
+ };
19
+ }
20
+ /**
21
+ * Extracts text content from A2A Message parts array
22
+ */
23
+ function extractA2AMessageText(parts) {
24
+ return parts.filter((part) => part.kind === "text" && part.text).map((part) => part.text).join("");
25
+ }
26
+ /**
27
+ * Saves the result of an A2A client sendMessage call as a conversation message
28
+ * @param response - The response from a2aClient.sendMessage()
29
+ * @param params - Parameters for saving the message
30
+ * @returns The saved message or null if no text content was found
31
+ */
32
+ async function saveA2AMessageResponse(response, params) {
33
+ if (response.error) throw new Error(response.error.message);
34
+ let messageText = "";
35
+ if (response.result.kind === "message") messageText = extractA2AMessageText(response.result.parts);
36
+ else if (response.result.kind === "task") {
37
+ if (response.result.artifacts && response.result.artifacts.length > 0) {
38
+ const firstArtifact = response.result.artifacts[0];
39
+ if (firstArtifact.parts) messageText = extractA2AMessageText(firstArtifact.parts);
40
+ }
41
+ } else if (typeof response.result === "string") messageText = response.result;
42
+ if (!messageText || messageText.trim() === "") return null;
43
+ return await createMessage(dbClient_default)({
44
+ id: generateId(),
45
+ tenantId: params.tenantId,
46
+ projectId: params.projectId,
47
+ conversationId: params.conversationId,
48
+ role: "agent",
49
+ content: { text: messageText },
50
+ visibility: params.visibility,
51
+ messageType: params.messageType,
52
+ fromSubAgentId: params.fromSubAgentId,
53
+ toSubAgentId: params.toSubAgentId,
54
+ fromExternalAgentId: params.fromExternalAgentId,
55
+ toExternalAgentId: params.toExternalAgentId,
56
+ a2aTaskId: params.a2aTaskId,
57
+ a2aSessionId: params.a2aSessionId,
58
+ metadata: params.metadata
59
+ });
60
+ }
61
+ /**
62
+ * Applies filtering based on agent, task, or both criteria
63
+ * Returns the filtered messages array
64
+ */
65
+ async function getScopedHistory({ tenantId, projectId, conversationId, filters, options }) {
66
+ try {
67
+ const messages = await getConversationHistory(dbClient_default)({
68
+ scopes: {
69
+ tenantId,
70
+ projectId
71
+ },
72
+ conversationId,
73
+ options
74
+ });
75
+ if (!filters || !filters.subAgentId && !filters.taskId && !filters.delegationId && filters.isDelegated === void 0) return messages;
76
+ return messages.filter((msg) => {
77
+ if (msg.role === "user") return true;
78
+ let matchesAgent = true;
79
+ let matchesTask = true;
80
+ let matchesDelegation = true;
81
+ if (filters.subAgentId) matchesAgent = msg.role === "agent" && msg.visibility === "user-facing" || msg.toSubAgentId === filters.subAgentId || msg.fromSubAgentId === filters.subAgentId;
82
+ if (filters.taskId) matchesTask = msg.taskId === filters.taskId || msg.a2aTaskId === filters.taskId;
83
+ if (filters.delegationId !== void 0 || filters.isDelegated !== void 0) {
84
+ if (msg.messageType === "tool-result") {
85
+ const messageDelegationId = msg.metadata?.a2a_metadata?.delegationId;
86
+ const messageIsDelegated = msg.metadata?.a2a_metadata?.isDelegated;
87
+ if (filters.delegationId) matchesDelegation = messageDelegationId === filters.delegationId || !messageDelegationId;
88
+ else if (filters.isDelegated === false) matchesDelegation = !messageIsDelegated;
89
+ else if (filters.isDelegated === true) matchesDelegation = messageIsDelegated === true;
90
+ }
91
+ }
92
+ const conditions = [];
93
+ if (filters.subAgentId) conditions.push(matchesAgent);
94
+ if (filters.taskId) conditions.push(matchesTask);
95
+ if (filters.delegationId !== void 0 || filters.isDelegated !== void 0) conditions.push(matchesDelegation);
96
+ return conditions.length === 0 || conditions.every(Boolean);
97
+ });
98
+ } catch (error) {
99
+ console.error("Failed to fetch scoped messages:", error);
100
+ return [];
101
+ }
102
+ }
103
+ /**
104
+ * Get formatted conversation history for a2a
105
+ */
106
+ async function getFormattedConversationHistory({ tenantId, projectId, conversationId, currentMessage, options, filters }) {
107
+ const conversationHistory = await getScopedHistory({
108
+ tenantId,
109
+ projectId,
110
+ conversationId,
111
+ filters,
112
+ options: options ?? createDefaultConversationHistoryConfig()
113
+ });
114
+ let messagesToFormat = conversationHistory;
115
+ if (currentMessage && conversationHistory.length > 0) {
116
+ if (conversationHistory[conversationHistory.length - 1].content.text === currentMessage) messagesToFormat = conversationHistory.slice(0, -1);
117
+ }
118
+ if (!messagesToFormat.length) return "";
119
+ return `<conversation_history>\n${messagesToFormat.map((msg) => {
120
+ let roleLabel;
121
+ if (msg.role === "user") roleLabel = "user";
122
+ else if (msg.role === "agent" && (msg.messageType === "a2a-request" || msg.messageType === "a2a-response")) roleLabel = `${msg.fromSubAgentId || msg.fromExternalAgentId || "unknown"} to ${msg.toSubAgentId || msg.toExternalAgentId || "unknown"}`;
123
+ else if (msg.role === "agent" && msg.messageType === "chat") roleLabel = `${msg.fromSubAgentId || "unknown"} to User`;
124
+ else if (msg.role === "assistant" && msg.messageType === "tool-result") roleLabel = `${msg.fromSubAgentId || "unknown"} tool: ${msg.metadata?.a2a_metadata?.toolName || "unknown"}`;
125
+ else roleLabel = msg.role || "system";
126
+ return `${roleLabel}: """${msg.content.text}"""`;
127
+ }).join("\n")}\n</conversation_history>\n`;
128
+ }
129
+ /**
130
+ * Get artifacts that are within the scope of the conversation history
131
+ * Only returns artifacts from messages that are actually visible to the LLM
132
+ * Uses the same scoping logic as getFormattedConversationHistory
133
+ */
134
+ async function getConversationScopedArtifacts(params) {
135
+ const { tenantId, projectId, conversationId, historyConfig } = params;
136
+ if (!conversationId) return [];
137
+ try {
138
+ if (historyConfig.mode === "none") return [];
139
+ const visibleMessages = await getScopedHistory({
140
+ tenantId,
141
+ projectId,
142
+ conversationId,
143
+ options: historyConfig
144
+ });
145
+ if (visibleMessages.length === 0) return [];
146
+ if (visibleMessages.filter((msg) => !(msg.messageType === "system" && msg.content?.text?.includes("Previous conversation history truncated"))).map((msg) => msg.id).length === 0) return [];
147
+ const { getLedgerArtifacts: getLedgerArtifacts$1 } = await import("@inkeep/agents-core");
148
+ const dbClient = (await import("./dbClient2.js")).default;
149
+ const visibleTaskIds = visibleMessages.map((msg) => msg.taskId).filter((taskId) => Boolean(taskId));
150
+ const referenceArtifacts = [];
151
+ for (const taskId of visibleTaskIds) {
152
+ const artifacts = await getLedgerArtifacts$1(dbClient)({
153
+ scopes: {
154
+ tenantId,
155
+ projectId
156
+ },
157
+ taskId
158
+ });
159
+ referenceArtifacts.push(...artifacts);
160
+ }
161
+ (await import("./logger.js")).getLogger("conversations").debug({
162
+ conversationId,
163
+ visibleMessages: visibleMessages.length,
164
+ visibleTasks: visibleTaskIds.length,
165
+ artifacts: referenceArtifacts.length,
166
+ historyMode: historyConfig.mode
167
+ }, "Loaded conversation-scoped artifacts");
168
+ return referenceArtifacts;
169
+ } catch (error) {
170
+ (await import("./logger.js")).getLogger("conversations").error({
171
+ error: error instanceof Error ? error.message : "Unknown error",
172
+ conversationId
173
+ }, "Failed to get conversation-scoped artifacts");
174
+ return [];
175
+ }
176
+ }
177
+
178
+ //#endregion
179
+ export { saveA2AMessageResponse as a, getScopedHistory as i, getConversationScopedArtifacts as n, getFormattedConversationHistory as r, createDefaultConversationHistoryConfig as t };
180
+ //# sourceMappingURL=conversations2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversations2.js","names":["CONVERSATION_HISTORY_DEFAULT_LIMIT","dbClient","roleLabel: string","referenceArtifacts: Artifact[]","getLedgerArtifacts"],"sources":["../src/data/conversations.ts"],"sourcesContent":["import {\n type AgentConversationHistoryConfig,\n type Artifact,\n CONVERSATION_HISTORY_MAX_OUTPUT_TOKENS_DEFAULT,\n type ConversationHistoryConfig,\n type ConversationScopeOptions,\n createMessage,\n generateId,\n getConversationHistory,\n} from '@inkeep/agents-core';\nimport { CONVERSATION_HISTORY_DEFAULT_LIMIT } from '../constants/execution-limits';\nimport dbClient from './db/dbClient';\n\n/**\n * Creates default conversation history configuration\n * @param mode - The conversation history mode ('full' | 'scoped' | 'none')\n * @returns Default AgentConversationHistoryConfig\n */\nexport function createDefaultConversationHistoryConfig(\n mode: 'full' | 'scoped' | 'none' = 'full'\n): AgentConversationHistoryConfig {\n return {\n mode,\n limit: CONVERSATION_HISTORY_DEFAULT_LIMIT,\n includeInternal: true,\n messageTypes: ['chat', 'tool-result'],\n maxOutputTokens: CONVERSATION_HISTORY_MAX_OUTPUT_TOKENS_DEFAULT,\n };\n}\n\n/**\n * Extracts text content from A2A Message parts array\n */\nfunction extractA2AMessageText(parts: Array<{ kind: string; text?: string }>): string {\n return parts\n .filter((part) => part.kind === 'text' && part.text)\n .map((part) => part.text)\n .join('');\n}\n\n/**\n * Saves the result of an A2A client sendMessage call as a conversation message\n * @param response - The response from a2aClient.sendMessage()\n * @param params - Parameters for saving the message\n * @returns The saved message or null if no text content was found\n */\nexport async function saveA2AMessageResponse(\n response: any, // SendMessageResponse type\n params: {\n tenantId: string;\n projectId: string;\n conversationId: string;\n messageType: 'a2a-response' | 'a2a-request';\n visibility: 'internal' | 'external' | 'user-facing';\n fromSubAgentId?: string;\n toSubAgentId?: string;\n fromExternalAgentId?: string;\n toExternalAgentId?: string;\n a2aTaskId?: string;\n a2aSessionId?: string;\n metadata?: Record<string, unknown>;\n }\n): Promise<any | null> {\n if (response.error) {\n throw new Error(response.error.message);\n }\n\n let messageText = '';\n\n if (response.result.kind === 'message') {\n messageText = extractA2AMessageText(response.result.parts);\n } else if (response.result.kind === 'task') {\n if (response.result.artifacts && response.result.artifacts.length > 0) {\n const firstArtifact = response.result.artifacts[0];\n if (firstArtifact.parts) {\n messageText = extractA2AMessageText(firstArtifact.parts);\n }\n }\n } else if (typeof response.result === 'string') {\n messageText = response.result;\n }\n\n if (!messageText || messageText.trim() === '') {\n return null;\n }\n\n return await createMessage(dbClient)({\n id: generateId(),\n tenantId: params.tenantId,\n projectId: params.projectId,\n conversationId: params.conversationId,\n role: 'agent',\n content: {\n text: messageText,\n },\n visibility: params.visibility,\n messageType: params.messageType,\n fromSubAgentId: params.fromSubAgentId,\n toSubAgentId: params.toSubAgentId,\n fromExternalAgentId: params.fromExternalAgentId,\n toExternalAgentId: params.toExternalAgentId,\n a2aTaskId: params.a2aTaskId,\n a2aSessionId: params.a2aSessionId,\n metadata: params.metadata,\n });\n}\n\n/**\n * Applies filtering based on agent, task, or both criteria\n * Returns the filtered messages array\n */\nexport async function getScopedHistory({\n tenantId,\n projectId,\n conversationId,\n filters,\n options,\n}: {\n tenantId: string;\n projectId: string;\n conversationId: string;\n filters?: ConversationScopeOptions;\n options?: ConversationHistoryConfig;\n}): Promise<any[]> {\n try {\n const messages = await getConversationHistory(dbClient)({\n scopes: { tenantId, projectId },\n conversationId,\n options,\n });\n\n if (\n !filters ||\n (!filters.subAgentId &&\n !filters.taskId &&\n !filters.delegationId &&\n filters.isDelegated === undefined)\n ) {\n return messages;\n }\n\n const relevantMessages = messages.filter((msg) => {\n if (msg.role === 'user') return true;\n\n let matchesAgent = true;\n let matchesTask = true;\n let matchesDelegation = true;\n\n if (filters.subAgentId) {\n matchesAgent =\n (msg.role === 'agent' && msg.visibility === 'user-facing') ||\n msg.toSubAgentId === filters.subAgentId ||\n msg.fromSubAgentId === filters.subAgentId;\n }\n\n if (filters.taskId) {\n matchesTask = msg.taskId === filters.taskId || msg.a2aTaskId === filters.taskId;\n }\n\n // Delegation filtering for tool results\n if (filters.delegationId !== undefined || filters.isDelegated !== undefined) {\n if (msg.messageType === 'tool-result') {\n const messageDelegationId = msg.metadata?.a2a_metadata?.delegationId;\n const messageIsDelegated = msg.metadata?.a2a_metadata?.isDelegated;\n\n if (filters.delegationId) {\n // If we have a specific delegation ID, show tool results from that delegation OR no delegation (top-level)\n matchesDelegation =\n messageDelegationId === filters.delegationId || !messageDelegationId;\n } else if (filters.isDelegated === false) {\n // If we're NOT delegated, only show tool results that aren't delegated\n matchesDelegation = !messageIsDelegated;\n } else if (filters.isDelegated === true) {\n // If we ARE delegated but no specific ID, show any delegated tool results\n matchesDelegation = messageIsDelegated === true;\n }\n }\n // Non-tool-result messages are not affected by delegation filtering\n }\n\n // Combine all filters\n const conditions = [];\n if (filters.subAgentId) conditions.push(matchesAgent);\n if (filters.taskId) conditions.push(matchesTask);\n if (filters.delegationId !== undefined || filters.isDelegated !== undefined)\n conditions.push(matchesDelegation);\n\n const finalResult = conditions.length === 0 || conditions.every(Boolean);\n\n return finalResult;\n });\n\n return relevantMessages;\n } catch (error) {\n console.error('Failed to fetch scoped messages:', error);\n return [];\n }\n}\n\n/**\n * Get user-facing conversation history (for client display)\n */\nexport async function getUserFacingHistory(\n tenantId: string,\n projectId: string,\n conversationId: string,\n limit = CONVERSATION_HISTORY_DEFAULT_LIMIT\n): Promise<any[]> {\n return await getConversationHistory(dbClient)({\n scopes: { tenantId, projectId },\n conversationId,\n options: {\n limit,\n includeInternal: false,\n messageTypes: ['chat'],\n },\n });\n}\n\n/**\n * Get full conversation context (for agent processing)\n */\nexport async function getFullConversationContext(\n tenantId: string,\n projectId: string,\n conversationId: string,\n maxTokens?: number\n): Promise<any[]> {\n const defaultConfig = createDefaultConversationHistoryConfig();\n return await getConversationHistory(dbClient)({\n scopes: { tenantId, projectId },\n conversationId,\n options: {\n ...defaultConfig,\n limit: 100,\n includeInternal: true,\n maxOutputTokens: maxTokens,\n },\n });\n}\n\n/**\n * Get formatted conversation history for a2a\n */\nexport async function getFormattedConversationHistory({\n tenantId,\n projectId,\n conversationId,\n currentMessage,\n options,\n filters,\n}: {\n tenantId: string;\n projectId: string;\n conversationId: string;\n currentMessage?: string;\n options?: ConversationHistoryConfig;\n filters?: ConversationScopeOptions;\n}): Promise<string> {\n const historyOptions = options ?? createDefaultConversationHistoryConfig();\n\n const conversationHistory = await getScopedHistory({\n tenantId,\n projectId,\n conversationId,\n filters,\n options: historyOptions,\n });\n\n let messagesToFormat = conversationHistory;\n if (currentMessage && conversationHistory.length > 0) {\n const lastMessage = conversationHistory[conversationHistory.length - 1];\n if (lastMessage.content.text === currentMessage) {\n messagesToFormat = conversationHistory.slice(0, -1);\n }\n }\n\n if (!messagesToFormat.length) {\n return '';\n }\n\n const formattedHistory = messagesToFormat\n .map((msg: any) => {\n let roleLabel: string;\n\n if (msg.role === 'user') {\n roleLabel = 'user';\n } else if (\n msg.role === 'agent' &&\n (msg.messageType === 'a2a-request' || msg.messageType === 'a2a-response')\n ) {\n const fromSubAgent = msg.fromSubAgentId || msg.fromExternalAgentId || 'unknown';\n const toSubAgent = msg.toSubAgentId || msg.toExternalAgentId || 'unknown';\n\n roleLabel = `${fromSubAgent} to ${toSubAgent}`;\n } else if (msg.role === 'agent' && msg.messageType === 'chat') {\n const fromSubAgent = msg.fromSubAgentId || 'unknown';\n roleLabel = `${fromSubAgent} to User`;\n } else if (msg.role === 'assistant' && msg.messageType === 'tool-result') {\n const fromSubAgent = msg.fromSubAgentId || 'unknown';\n const toolName = msg.metadata?.a2a_metadata?.toolName || 'unknown';\n roleLabel = `${fromSubAgent} tool: ${toolName}`;\n } else {\n roleLabel = msg.role || 'system';\n }\n\n return `${roleLabel}: \"\"\"${msg.content.text}\"\"\"`; // TODO: add timestamp?\n })\n .join('\\n');\n\n return `<conversation_history>\\n${formattedHistory}\\n</conversation_history>\\n`;\n}\n\n/**\n * Get artifacts that are within the scope of the conversation history\n * Only returns artifacts from messages that are actually visible to the LLM\n * Uses the same scoping logic as getFormattedConversationHistory\n */\nexport async function getConversationScopedArtifacts(params: {\n tenantId: string;\n projectId: string;\n conversationId: string;\n historyConfig: AgentConversationHistoryConfig;\n}): Promise<Artifact[]> {\n const { tenantId, projectId, conversationId, historyConfig } = params;\n\n if (!conversationId) {\n return [];\n }\n\n try {\n if (historyConfig.mode === 'none') {\n return [];\n }\n\n const visibleMessages = await getScopedHistory({\n tenantId,\n projectId,\n conversationId,\n options: historyConfig,\n });\n\n if (visibleMessages.length === 0) {\n return [];\n }\n\n const visibleMessageIds = visibleMessages\n .filter(\n (msg) =>\n !(\n msg.messageType === 'system' &&\n msg.content?.text?.includes('Previous conversation history truncated')\n )\n )\n .map((msg) => msg.id);\n\n if (visibleMessageIds.length === 0) {\n return [];\n }\n\n const { getLedgerArtifacts } = await import('@inkeep/agents-core');\n const dbClient = (await import('../data/db/dbClient')).default;\n\n const visibleTaskIds = visibleMessages\n .map((msg) => msg.taskId)\n .filter((taskId): taskId is string => Boolean(taskId)); // Filter out null/undefined taskIds\n\n const referenceArtifacts: Artifact[] = [];\n for (const taskId of visibleTaskIds) {\n const artifacts = await getLedgerArtifacts(dbClient)({\n scopes: { tenantId, projectId },\n taskId: taskId,\n });\n referenceArtifacts.push(...artifacts);\n }\n\n const logger = (await import('../logger')).getLogger('conversations');\n logger.debug(\n {\n conversationId,\n visibleMessages: visibleMessages.length,\n visibleTasks: visibleTaskIds.length,\n artifacts: referenceArtifacts.length,\n historyMode: historyConfig.mode,\n },\n 'Loaded conversation-scoped artifacts'\n );\n\n return referenceArtifacts;\n } catch (error) {\n const logger = (await import('../logger')).getLogger('conversations');\n logger.error(\n {\n error: error instanceof Error ? error.message : 'Unknown error',\n conversationId,\n },\n 'Failed to get conversation-scoped artifacts'\n );\n\n return [];\n }\n}\n"],"mappings":"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"}