@inkeep/agents-run-api 0.39.1 → 0.39.3
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/SandboxExecutorFactory.cjs +895 -0
- package/dist/SandboxExecutorFactory.js +893 -0
- package/dist/SandboxExecutorFactory.js.map +1 -0
- package/dist/chunk-VBDAOXYI.cjs +927 -0
- package/dist/chunk-VBDAOXYI.js +832 -0
- package/dist/chunk-VBDAOXYI.js.map +1 -0
- package/dist/chunk.cjs +34 -0
- package/dist/conversations.cjs +7 -0
- package/dist/conversations.js +7 -0
- package/dist/conversations2.cjs +209 -0
- package/dist/conversations2.js +180 -0
- package/dist/conversations2.js.map +1 -0
- package/dist/dbClient.cjs +9676 -0
- package/dist/dbClient.js +9670 -0
- package/dist/dbClient.js.map +1 -0
- package/dist/dbClient2.cjs +5 -0
- package/dist/dbClient2.js +5 -0
- package/dist/env.cjs +59 -0
- package/dist/env.js +54 -0
- package/dist/env.js.map +1 -0
- package/dist/execution-limits.cjs +260 -0
- package/dist/execution-limits.js +63 -0
- package/dist/execution-limits.js.map +1 -0
- package/dist/index.cjs +10545 -20565
- package/dist/index.d.cts +26 -22
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +27 -22
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10545 -12888
- package/dist/index.js.map +1 -0
- package/dist/instrumentation.cjs +12 -121
- package/dist/instrumentation.d.cts +9 -7
- package/dist/instrumentation.d.cts.map +1 -0
- package/dist/instrumentation.d.ts +9 -7
- package/dist/instrumentation.d.ts.map +1 -0
- package/dist/instrumentation.js +5 -1
- package/dist/instrumentation2.cjs +116 -0
- package/dist/instrumentation2.js +69 -0
- package/dist/instrumentation2.js.map +1 -0
- package/dist/json-postprocessor.cjs +20 -0
- package/dist/json-postprocessor.js +20 -0
- package/dist/json-postprocessor.js.map +1 -0
- package/dist/logger.cjs +5 -0
- package/dist/logger.js +3 -0
- package/dist/logger2.cjs +1 -0
- package/dist/logger2.js +3 -0
- package/dist/nodefs.cjs +29 -0
- package/dist/nodefs.js +27 -0
- package/dist/nodefs.js.map +1 -0
- package/dist/opfs-ahp.cjs +367 -0
- package/dist/opfs-ahp.js +368 -0
- package/dist/opfs-ahp.js.map +1 -0
- package/package.json +3 -3
- package/dist/SandboxExecutorFactory-2N27SE3B.js +0 -943
- package/dist/chunk-A2S7GSHL.js +0 -1
- package/dist/chunk-EVOISBFH.js +0 -5070
- package/dist/chunk-JCVMVG3J.js +0 -592
- package/dist/chunk-KBZIYCPJ.js +0 -40
- package/dist/chunk-KCJWSIDZ.js +0 -246
- package/dist/chunk-THWNUGWP.js +0 -204
- package/dist/chunk-UC2EPLSW.js +0 -75
- package/dist/conversations-XPSTWUMK.js +0 -1
- package/dist/dbClient-MAHUR4TO.js +0 -1
- package/dist/json-postprocessor-IGYTSWFB.js +0 -12
- package/dist/logger-3EE6BUSU.js +0 -1
- package/dist/nodefs-RPE52Q4Z.js +0 -21
- 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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"}
|