@gencode/agents 0.8.2 → 0.9.1
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/CHANGELOG.md +19 -0
- package/dist/{builtin-provider-DVFQMfYl.js → builtin-provider-PIpf9WYR.js} +9 -9
- package/dist/config/index.d.ts +2 -2
- package/dist/config/index.js +1 -1
- package/dist/{config-CJ7qy-pr.js → config-DYv0xUdi.js} +1 -1
- package/dist/{goal-events-r0c27HLI.js → goal-events-Og8bMhZU.js} +1 -1
- package/dist/{goal-store-1Lewl_Xz.js → goal-store-C_Z3P5Cg.js} +1 -1
- package/dist/{index-Ci56oZD5.d.ts → index-iedOAibO.d.ts} +6 -1
- package/dist/index.d.ts +21 -20
- package/dist/index.js +115 -92
- package/dist/{session-B26JETSt.js → session-MBebUrjk.js} +2 -2
- package/dist/{session-store-Dbs4fW4O.js → session-store-DYB18J4L.js} +1 -1
- package/package.json +2 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import e from"node:fs/promises";import t from"node:path";import{randomUUID as n}from"node:crypto";async function r(t){try{return await e.readFile(t,`utf-8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}async function i(t,n,r){await e.writeFile(t,n,`utf-8`)}async function a(t,n,a){if(!a){await e.appendFile(t,n,`utf-8`);return}let o=await r(t);await i(t,o?o+n:n,!0)}async function o(t,n,r){let i=`${t}.${process.pid}.${Date.now()}.tmp`;await e.writeFile(i,n,`utf-8`),await e.rename(i,t)}async function s(e){return r(e)}const c=`sessions`,l=2e3,u=new Map;function d(e){let t=e?.trim()||c;if(!/^[A-Za-z0-9_-]+$/.test(t))throw Error(`Invalid session store name: ${e}. Must match /^[A-Za-z0-9_-]+$/`);return t}function f(e,t){let n=t.trim();if(!/^[A-Za-z0-9_-]+$/.test(n))throw Error(`Invalid ${e}: ${t}. Must match /^[A-Za-z0-9_-]+$/`);return n}function p(e,n){return t.join(e,`.aimax`,d(n?.storeName))}function m(e,n,r){let i=r?.subagent?f(`subagent session id`,n):n;if(r?.subagent){if(r.subagent.parentDir)return t.join(r.subagent.parentDir,`subagents`,i);let n=f(`parent session id`,r.subagent.parentSessionId);return t.join(p(e,r),n,`subagents`,i)}return t.join(p(e,r),i)}function h(e,n,r){return t.join(m(e,n,r),`transcript.jsonl`)}function g(e,n,r){return t.join(m(e,n,r),`artifacts.json`)}function _(e,n,r){return t.join(m(e,n,r),`session.json`)}function v(e,n,r){return t.join(m(e,n,r),`context.json`)}function y(e,n,r){return t.join(m(e,n,r),`session-memory.json`)}function b(e,n,r){return t.join(m(e,n,r),`collapse-log.jsonl`)}function x(e,n,r){return t.join(m(e,n,r),`tool-results`)}function S(e,n,r){return t.join(m(e,n,r),`cron-executions.jsonl`)}const C={version:2,updatedAt:new Date(0).toISOString(),readStates:[],toolResults:[],compaction:{budgets:[],snips:[],collapseSpans:[],consecutiveAutocompactFailures:0}};async function w(r,i,a){let o=a?.sessionId??n(),s=m(r,o,a);await e.mkdir(s,{recursive:!0});let c=t.join(s,`.channel`);return await e.writeFile(c,i,`utf-8`),o}async function T(t,n,r){let i=m(t,n,r);await e.mkdir(i,{recursive:!0})}async function E(e,t,n){let i=await r(h(e,t,n));if(i===null)return[];let a=[];for(let e of i.split(`
|
|
2
2
|
`)){let t=e.trim();if(t)try{a.push(JSON.parse(t))}catch{}}return a}async function D(e,t,n,r){await T(e,t,r);let i=g(e,t,r),a=r?.encryptSessions??!1;await N(i,async()=>{let e=await A(i);await M(i,{version:1,updatedAt:new Date().toISOString(),operations:[...e.operations,k(n)]},a)})}async function O(e,t,n){return(await A(g(e,t,n))).operations}function k(e){let t=e.content.length,n=t>l;return{...e,content:n?`${e.content.slice(0,Math.max(0,l-3))}...`:e.content,timestamp:new Date().toISOString(),truncated:n,originalChars:t}}async function A(e){let t=await r(e);if(t===null)return j();try{let e=JSON.parse(t);return e.version!==1||!Array.isArray(e.operations)?j():{version:1,updatedAt:typeof e.updatedAt==`string`?e.updatedAt:new Date(0).toISOString(),operations:e.operations}}catch{return j()}}function j(){return{version:1,updatedAt:new Date(0).toISOString(),operations:[]}}async function M(n,r,i){await e.mkdir(t.dirname(n),{recursive:!0}),await o(n,`${JSON.stringify(r,null,2)}\n`,i)}async function N(e,t){let n=(u.get(e)??Promise.resolve()).catch(()=>{}).then(t);u.set(e,n);try{await n}finally{u.get(e)===n&&u.delete(e)}}async function P(e,n,r,i){await T(e,n,i);let o=h(e,n,i);await a(o,JSON.stringify(r)+`
|
|
3
|
-
`,i?.encryptSessions??!1);try{let{resolveMemoryProvider:n}=await import(`./provider-registry-Kh5nNG84.js`).then(e=>e.t),{createBuiltinMemoryProvider:r}=await import(`./builtin-provider-
|
|
4
|
-
`),l=a?.encryptSessions??!1;await i(o,c.length>0?`${c}\n`:``,l);try{let{resolveMemoryProvider:n}=await import(`./provider-registry-Kh5nNG84.js`).then(e=>e.t),{createBuiltinMemoryProvider:r}=await import(`./builtin-provider-
|
|
3
|
+
`,i?.encryptSessions??!1);try{let{resolveMemoryProvider:n}=await import(`./provider-registry-Kh5nNG84.js`).then(e=>e.t),{createBuiltinMemoryProvider:r}=await import(`./builtin-provider-PIpf9WYR.js`).then(e=>e.t),a=t.join(e,`.aimax`),s=n({providerId:i?.providerId,pluginId:i?.pluginId,dataDir:e,memoryDir:a,sessionStoreName:i?.storeName})?.provider??r({dataDir:e,memoryDir:a,sessionStoreName:i?.storeName});s.noteSessionUpdate&&s.noteSessionUpdate(o)}catch{}i?.onMemoryChanged&&await Promise.resolve(i.onMemoryChanged({reason:`transcript-append`,files:[t.join(d(i.storeName),n,`transcript.jsonl`).replace(/\\/g,`/`)],source:`sessions`,sessionId:n,providerId:i.providerId??i.pluginId,timestamp:new Date().toISOString()})).catch(()=>{})}async function F(e,n,r,a){await T(e,n,a);let o=h(e,n,a),s=r(await E(e,n,a)),c=s.map(e=>JSON.stringify(e)).join(`
|
|
4
|
+
`),l=a?.encryptSessions??!1;await i(o,c.length>0?`${c}\n`:``,l);try{let{resolveMemoryProvider:n}=await import(`./provider-registry-Kh5nNG84.js`).then(e=>e.t),{createBuiltinMemoryProvider:r}=await import(`./builtin-provider-PIpf9WYR.js`).then(e=>e.t),i=t.join(e,`.aimax`),s=n({providerId:a?.providerId,pluginId:a?.pluginId,dataDir:e,memoryDir:i,sessionStoreName:a?.storeName})?.provider??r({dataDir:e,memoryDir:i,sessionStoreName:a?.storeName});s.noteSessionUpdate&&s.noteSessionUpdate(o)}catch{}return a?.onMemoryChanged&&await Promise.resolve(a.onMemoryChanged({reason:`transcript-rewrite`,files:[t.join(d(a.storeName),n,`transcript.jsonl`).replace(/\\/g,`/`)],source:`sessions`,sessionId:n,providerId:a.providerId??a.pluginId,timestamp:new Date().toISOString()})).catch(()=>{}),s}async function I(e,t,n,r){await T(e,t,r),await a(S(e,t,r),JSON.stringify(n)+`
|
|
5
5
|
`,r?.encryptSessions??!1)}async function L(e,t,n){let i=await r(S(e,t,n));if(i===null)return[];let a=[];for(let e of i.split(`
|
|
6
6
|
`)){let t=e.trim();if(t)try{a.push(JSON.parse(t))}catch{}}return a}async function R(t,n){let r=p(t,n);try{return(await e.readdir(r,{withFileTypes:!0})).filter(e=>e.isDirectory()).map(e=>e.name).sort()}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function z(e,t,n){await T(e,t.id,n);let r=_(e,t.id,n),a=n?.encryptSessions??!1;await i(r,JSON.stringify(t,null,2),a)}async function B(e,t,n,r){let i=await V(e,t,r);if(!i)return null;let a={...i,...n,id:i.id,createdAt:i.createdAt,updatedAt:new Date().toISOString()};return await z(e,a,r),a}async function V(n,i,a){let o=await r(_(n,i,a));if(o===null)return null;try{let r=JSON.parse(o);if(!r.channel){let o=t.join(m(n,i,a),`.channel`);try{r.channel=(await e.readFile(o,`utf-8`)).trim()}catch{r.channel=`WEB`}}return r}catch{return null}}async function H(e,t,n){let r=await R(e,n),i=await Promise.all(r.map(async t=>{let r=await V(e,t,n);return{id:t,title:r?.title??t,channel:r?.channel??`WEB`,createdAt:r?.createdAt??``,updatedAt:r?.updatedAt??``}}));return t?i.filter(e=>e.channel===t):i}async function U(e,t,n){let i=await r(v(e,t,n));if(i===null)return C;try{let e=JSON.parse(i),t=typeof e.version==`number`?e.version:void 0;return t!==1&&t!==2?C:{version:2,updatedAt:typeof e.updatedAt==`string`?e.updatedAt:C.updatedAt,readStates:Array.isArray(e.readStates)?e.readStates:[],toolResults:Array.isArray(e.toolResults)?e.toolResults:[],compaction:{sessionMemory:e.compaction?.sessionMemory,modelUsage:e.compaction?.modelUsage,budgets:Array.isArray(e.compaction?.budgets)?e.compaction.budgets:[],snips:Array.isArray(e.compaction?.snips)?e.compaction.snips:[],collapseSpans:Array.isArray(e.compaction?.collapseSpans)?e.compaction.collapseSpans:[],consecutiveAutocompactFailures:typeof e.compaction?.consecutiveAutocompactFailures==`number`?e.compaction.consecutiveAutocompactFailures:0,lastCompactionAt:typeof e.compaction?.lastCompactionAt==`string`?e.compaction.lastCompactionAt:void 0,lastCompactionLayer:e.compaction?.lastCompactionLayer===`L1`||e.compaction?.lastCompactionLayer===`L2`||e.compaction?.lastCompactionLayer===`L3`||e.compaction?.lastCompactionLayer===`L4`||e.compaction?.lastCompactionLayer===`L5`||e.compaction?.lastCompactionLayer===`L6`?e.compaction.lastCompactionLayer:void 0}}}catch{return C}}async function W(t,n,r){let i=m(t,n,r);try{return(await e.stat(i)).isDirectory()}catch(e){if(e.code===`ENOENT`)return!1;throw e}}async function G(e,t,n){let[r,i,a]=await Promise.all([V(e,t,n),E(e,t,n),U(e,t,n)]);return{id:t,metadata:r,transcriptPath:h(e,t,n),contextSnapshotPath:v(e,t,n),sessionMemoryPath:y(e,t,n),collapseLogPath:b(e,t,n),toolResultsDir:x(e,t,n),transcriptEntryCount:i.length,readStateCount:a.readStates.length,toolResultRefCount:a.toolResults.length,transcriptEntries:i,context:a}}async function K(e,t,n){let r=await G(e,t,n);return{id:r.id,metadata:r.metadata,transcript:r.transcriptEntries,context:r.context,paths:{transcriptPath:r.transcriptPath,contextSnapshotPath:r.contextSnapshotPath,sessionMemoryPath:r.sessionMemoryPath,collapseLogPath:r.collapseLogPath,toolResultsDir:r.toolResultsDir}}}export{h as A,F as C,y as D,W as E,s as F,i as I,a as M,o as N,p as O,r as P,d as S,m as T,L as _,P as a,E as b,v as c,T as d,K as f,O as g,R as h,I as i,B as j,x as k,w as l,H as m,l as n,g as o,G as p,D as r,b as s,c as t,S as u,U as v,z as w,_ as x,V as y};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{I as t,M as n,P as r,T as i}from"./session-
|
|
1
|
+
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{I as t,M as n,P as r,T as i}from"./session-MBebUrjk.js";import a from"node:fs/promises";import o from"node:path";var s=e({appendHitlHistory:()=>d,clearPendingHitl:()=>_,createPendingHitl:()=>m,findResolvedHitlState:()=>g,hitlHistoryPath:()=>l,pendingHitlPath:()=>c,readHitlHistory:()=>p,readPendingHitl:()=>f,transitionHitlStatus:()=>h,writePendingHitl:()=>u});function c(e,t,n){return o.join(i(e,t,n),`pending-hitl.json`)}function l(e,t,n){return o.join(i(e,t,n),`hitl-history.jsonl`)}async function u(e,n,r,o){let s=i(e,n,o);await a.mkdir(s,{recursive:!0});let l=c(e,n,o),u=o?.encryptSessions??!1;await t(l,JSON.stringify(r,null,2),u)}async function d(e,t,r,o){let s=i(e,t,o);await a.mkdir(s,{recursive:!0}),await n(l(e,t,o),JSON.stringify(r)+`
|
|
2
2
|
`,o?.encryptSessions??!1)}async function f(e,t,n){let i=await r(c(e,t,n));if(i===null)return null;try{return JSON.parse(i)}catch{return null}}async function p(e,t,n){let i=await r(l(e,t,n));if(i===null)return[];let a=[];for(let e of i.split(`
|
|
3
3
|
`)){let t=e.trim();if(t)try{a.push(JSON.parse(t))}catch{}}return a}async function m(e,t,n,r,i,a,o){let s=new Date().toISOString(),c={version:1,sessionId:t,request:n,status:`pending`,checkpoint:r,context:i,toolContext:a,createdAt:s,updatedAt:s};return await u(e,t,c,o),await d(e,t,{requestId:n.requestId,sessionId:t,action:`requested`,payload:n,timestamp:s},o),c}async function h(e,t,n,r,i,a){let o=await f(e,t,a);if(!o||o.request.requestId!==n||o.status!==`pending`)return null;let s=new Date().toISOString(),c={...o,status:r,resolution:i,updatedAt:s};await u(e,t,c,a);let l={resolved:`resolved`,expired:`expired`,cancelled:`cancelled`}[r];return await d(e,t,{requestId:n,sessionId:t,action:l,payload:i??o.request,timestamp:s},a),c}async function g(e,t,n,r){let i=await f(e,t,r);return!i||i.request.requestId!==n?null:i.status===`resolved`?i:null}async function _(e,t,n){let r=c(e,t,n);try{await a.unlink(r)}catch(e){if(e.code===`ENOENT`)return;throw e}}export{c as a,s as c,l as i,h as l,m as n,p as o,g as r,f as s,_ as t};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gencode/agents",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"access": "public"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
+
"@huggingface/transformers": "^4.2.0",
|
|
25
26
|
"@mariozechner/pi-agent-core": "0.55.3",
|
|
26
27
|
"@mariozechner/pi-ai": "0.55.3",
|
|
27
28
|
"ajv": "^8.17.1",
|