@buoy-gg/agent-core 7.0.63 → 7.0.64

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 (48) hide show
  1. package/lib/commonjs/catalog/catalog.g.js +1 -1
  2. package/lib/commonjs/catalog/catalog.source.json +72 -0
  3. package/lib/commonjs/catalog/catalog.types.g.js +1 -1
  4. package/lib/commonjs/engine/historyBudget.js +1 -1
  5. package/lib/commonjs/engine/idGrounding.js +2 -2
  6. package/lib/commonjs/engine/runAgentTurn.js +9 -10
  7. package/lib/commonjs/engine/stepBudget.test.js +1 -0
  8. package/lib/commonjs/engine/systemPrompt.js +2 -1
  9. package/lib/commonjs/engine/verify.js +2 -2
  10. package/lib/commonjs/feeds/claude.js +23 -0
  11. package/lib/commonjs/feeds/gpt.js +5 -0
  12. package/lib/commonjs/feeds/index.js +1 -0
  13. package/lib/commonjs/providers/anthropic.js +1 -5
  14. package/lib/commonjs/providers/openai.js +1 -5
  15. package/lib/commonjs/providers/types.js +1 -1
  16. package/lib/commonjs/session.js +1 -1
  17. package/lib/module/catalog/catalog.g.js +1 -1
  18. package/lib/module/catalog/catalog.source.json +72 -0
  19. package/lib/module/catalog/catalog.types.g.js +1 -1
  20. package/lib/module/engine/historyBudget.js +1 -1
  21. package/lib/module/engine/idGrounding.js +2 -2
  22. package/lib/module/engine/runAgentTurn.js +9 -10
  23. package/lib/module/engine/stepBudget.test.js +1 -0
  24. package/lib/module/engine/systemPrompt.js +2 -1
  25. package/lib/module/engine/verify.js +2 -2
  26. package/lib/module/feeds/claude.js +23 -0
  27. package/lib/module/feeds/gpt.js +5 -0
  28. package/lib/module/feeds/index.js +1 -0
  29. package/lib/module/providers/anthropic.js +1 -5
  30. package/lib/module/providers/openai.js +1 -5
  31. package/lib/module/providers/types.js +1 -1
  32. package/lib/module/session.js +1 -1
  33. package/lib/typescript/catalog/catalog.g.d.ts +3 -3
  34. package/lib/typescript/catalog/catalog.types.g.d.ts +3 -2
  35. package/lib/typescript/engine/historyBudget.d.ts +1 -1
  36. package/lib/typescript/engine/idGrounding.d.ts +2 -1
  37. package/lib/typescript/engine/runAgentTurn.d.ts +2 -0
  38. package/lib/typescript/engine/stepBudget.test.d.ts +2 -0
  39. package/lib/typescript/engine/verify.d.ts +2 -1
  40. package/lib/typescript/feeds/claude.d.ts +67 -0
  41. package/lib/typescript/feeds/gpt.d.ts +41 -0
  42. package/lib/typescript/feeds/index.d.ts +27 -0
  43. package/lib/typescript/index.d.ts +1 -1
  44. package/lib/typescript/providers/anthropic.d.ts +4 -0
  45. package/lib/typescript/providers/openai.d.ts +29 -0
  46. package/lib/typescript/providers/types.d.ts +31 -1
  47. package/lib/web/index.mjs +71 -40
  48. package/package.json +1 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.UNPARSEABLE_ARGS=void 0;const UNPARSEABLE_ARGS=exports.UNPARSEABLE_ARGS="__buoyUnparseableArgs";
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.UNPARSEABLE_ARGS=void 0;exports.isRealUserMessage=isRealUserMessage;function isRealUserMessage(e){return e.role==="user"&&e.source!=="engine"}const UNPARSEABLE_ARGS=exports.UNPARSEABLE_ARGS="__buoyUnparseableArgs";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"compressConsumed",{enumerable:true,get:function(){return _historyBudget.compressConsumed}});exports.createAskBuoySession=createAskBuoySession;exports.resumableHistory=resumableHistory;Object.defineProperty(exports,"trimHistory",{enumerable:true,get:function(){return _historyBudget.trimHistory}});Object.defineProperty(exports,"trimHistoryReport",{enumerable:true,get:function(){return _historyBudget.trimHistoryReport}});var _catalog=require("./catalog/catalog.g");var _buildContextPack=require("./context/buildContextPack");var _runAgentTurn=require("./engine/runAgentTurn");var _systemPrompt=require("./engine/systemPrompt");var _ledger=require("./effects/ledger");var _evidence=require("./engine/evidence");var _tokenCalibration=require("./engine/tokenCalibration");var _historyBudget=require("./engine/historyBudget");var _anthropic=require("./providers/anthropic");var _openai=require("./providers/openai");var _policy=require("./policy/policy");var _redact=require("./policy/redact");function resumableHistory(e){let n=e.length;while(n>0){const r=e[n-1];if(r.role==="assistant"&&!r.toolCalls?.length)break;n-=1}return e.slice(0,n).map(r=>r.role==="assistant"&&r.thinking?{...r,thinking:void 0}:r)}function createAskBuoySession(e){const n=e.catalog??_catalog.CATALOG;const r=new _ledger.EffectLedger;const A=e.policy??{};let o=[];const R=new Set;const g=new _evidence.EvidenceStore;const p=new _tokenCalibration.TokenCalibration;let u;let k=false;let c=false;const y=new Set;let m=false;let v=0;let b=0;let f={};let x={};(0,_redact.registerSelfEndpoint)(e.endpoint);const j=e.provider??(e.protocol==="openai"?(0,_openai.createOpenAIProvider)(e):(0,_anthropic.createAnthropicProvider)(e));let l=e.availableActions;let i=Object.keys(l);const s={...A};function S(){for(const t of Object.keys(s))delete s[t];Object.assign(s,A);if(c){s.requireApproval=[];s.requireApprovalFor=[]}if(m)s.readOnly=true}function H(){return s}function O(){u=(0,_systemPrompt.buildSystemPrompt)({catalog:n,context:{...e.context,digest:{...f,...e.context?.digest}},isRelease:e.isRelease,readOnly:s.readOnly??false,readOnlySource:A.readOnly?"app":m?"device":void 0,requireApproval:(0,_policy.resolveRequireApproval)(s),approvalsBypassed:c,appName:e.appName,platform:e.platform,availableToolIds:i})}async function w(){if(k)return;k=true;f={};try{f=await(0,_buildContextPack.buildContextDigest)({dispatch:e.dispatch,readSnapshot:e.readSnapshot,availableToolIds:i,availableActions:l})}catch{}x={};for(const t of f.zustandStores??[]){const a=t;if(a?.persistsTo&&a.name)x[a.persistsTo]=a.name}O()}return{ledger:r,evidence:g,calibration:p,trustedActions:()=>[...y],untrust:t=>{y.delete(t)},get messages(){return o},prime:w,setAvailableActions(t){l=t;i=Object.keys(t)},setApprovalBypass(t){if(c===t)return;c=t;S();if(u)O()},setReadOnly(t){if(m===t)return;m=t;S();if(u)O()},restore(t){if(o.length>0)return;const a=(0,_historyBudget.trimHistoryReport)(resumableHistory(t),p.charsPerToken,r.liveCallIds());o=a.messages;v=a.droppedRounds},async*send(t,a){const _=b;await w();let q;try{q=await(0,_buildContextPack.buildLiveContext)({dispatch:e.dispatch,readSnapshot:e.readSnapshot,availableToolIds:i,availableActions:l})}catch{q=void 0}if(_!==b){yield{type:"done",stopReason:"superseded"};return}const P=(0,_historyBudget.trimHistoryReport)([...o,{role:"user",text:t}],p.charsPerToken,r.liveCallIds());const B=P.messages;const C=P.droppedRounds+v;v=0;if(C>0)yield{type:"history-trimmed",droppedRounds:C,droppedPinned:P.droppedPinned};const T=(0,_runAgentTurn.runAgentTurn)({provider:j,catalog:n,messages:B,system:u,systemVolatile:(0,_systemPrompt.buildLiveBlock)(q,r.list().map(d=>({label:`${d.toolId}.${d.action}${d.effect.label?` \u2014 ${d.effect.label}`:""}`,undone:d.undoneAt!==void 0}))),model:e.model,maxTokens:e.maxTokens??4096,dispatch:e.dispatch,readSnapshot:e.readSnapshot,storeKeyOwners:x,ledger:r,policy:H(),isRelease:e.isRelease,availableToolIds:i,availableActions:l,requestApproval:e.requestApproval,seenUrls:R,evidence:g,calibration:p,trusted:y,procedures:(0,_systemPrompt.listableProcedures)(e.context?.procedures,i),signal:a});let h=await T.next();while(!h.done){yield h.value;h=await T.next()}if(_===b)o=h.value},reset(){b+=1;o=[];v=0;r.clear();R.clear();g.clear();y.clear();k=false}}}
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"compressConsumed",{enumerable:true,get:function(){return _historyBudget.compressConsumed}});exports.createAskBuoySession=createAskBuoySession;exports.resumableHistory=resumableHistory;Object.defineProperty(exports,"trimHistory",{enumerable:true,get:function(){return _historyBudget.trimHistory}});Object.defineProperty(exports,"trimHistoryReport",{enumerable:true,get:function(){return _historyBudget.trimHistoryReport}});var _feeds=require("./feeds");var _catalog=require("./catalog/catalog.g");var _buildContextPack=require("./context/buildContextPack");var _runAgentTurn=require("./engine/runAgentTurn");var _systemPrompt=require("./engine/systemPrompt");var _ledger=require("./effects/ledger");var _evidence=require("./engine/evidence");var _tokenCalibration=require("./engine/tokenCalibration");var _historyBudget=require("./engine/historyBudget");var _anthropic=require("./providers/anthropic");var _openai=require("./providers/openai");var _policy=require("./policy/policy");var _redact=require("./policy/redact");function resumableHistory(e){let r=e.length;while(r>0){const s=e[r-1];if(s.role==="assistant"&&!s.toolCalls?.length)break;r-=1}return e.slice(0,r).map(s=>s.role==="assistant"&&s.thinking?{...s,thinking:void 0}:s)}function createAskBuoySession(e){const r=(0,_feeds.selectFeed)(e.provider?.protocol??e.protocol,e.feedOptions);e={...e,feedOptions:r.options};let s=0;const R=e.catalog??_catalog.CATALOG;const i=new _ledger.EffectLedger;const x=e.policy??{};let a=[];const S=new Set;const A=new _evidence.EvidenceStore;const c=new _tokenCalibration.TokenCalibration;let u;let O=false;let m=false;const v=new Set;let y=false;let b=0;let f=0;let h={};let q={};(0,_redact.registerSelfEndpoint)(e.endpoint);const L=e.provider??(e.protocol==="openai"?(0,_openai.createOpenAIProvider)(e):(0,_anthropic.createAnthropicProvider)(e));let p=e.availableActions;let l=Object.keys(p);const o={...x};function _(){for(const t of Object.keys(o))delete o[t];Object.assign(o,x);if(m){o.requireApproval=[];o.requireApprovalFor=[]}if(y)o.readOnly=true}function N(){return o}function g(){u=(0,_systemPrompt.buildSystemPrompt)({catalog:R,context:{...e.context,digest:{...h,...e.context?.digest}},isRelease:e.isRelease,readOnly:o.readOnly??false,readOnlySource:x.readOnly?"app":y?"device":void 0,requireApproval:(0,_policy.resolveRequireApproval)(o),approvalsBypassed:m,appName:e.appName,platform:e.platform,availableToolIds:l})}async function T(){if(O)return;O=true;h={};try{h=await(0,_buildContextPack.buildContextDigest)({dispatch:e.dispatch,readSnapshot:e.readSnapshot,availableToolIds:l,availableActions:p})}catch{}q={};for(const t of h.zustandStores??[]){const n=t;if(n?.persistsTo&&n.name)q[n.persistsTo]=n.name}g()}return{ledger:i,evidence:A,calibration:c,trustedActions:()=>[...v],untrust:t=>{v.delete(t)},get messages(){return a},prime:T,setAvailableActions(t){p=t;l=Object.keys(t)},setApprovalBypass(t){if(m===t)return;m=t;_();if(u)g()},setReadOnly(t){if(y===t)return;y=t;_();if(u)g()},restore(t){if(a.length>0)return;const n=(0,_historyBudget.trimHistoryReport)(resumableHistory(t),c.charsPerToken,i.liveCallIds());a=n.messages;b=n.droppedRounds},async*send(t,n){const C=f;await T();let P;try{P=await(0,_buildContextPack.buildLiveContext)({dispatch:e.dispatch,readSnapshot:e.readSnapshot,availableToolIds:l,availableActions:p})}catch{P=void 0}if(C!==f){yield{type:"done",stopReason:"superseded"};return}const j=(0,_systemPrompt.buildLiveBlock)(P,i.list().map(d=>({label:`${d.toolId}.${d.action}${d.effect.label?` \u2014 ${d.effect.label}`:""}`,undone:d.undoneAt!==void 0})));const $={role:"user",text:t,...r.name==="claude"?{turnId:`turn-${++s}`}:{},...r.options.liveBlock&&r.options.liveBlock!=="system-tail"?{liveBlock:{placement:r.options.liveBlock,text:j}}:{}};const w=a[a.length-1];const E=w?.role==="user"&&(w.systemNotice||w.liveBlock?.placement==="system-msg")?[{role:"assistant",text:"[Buoy: The prior turn stopped before an answer.]"}]:[];const B=(0,_historyBudget.trimHistoryReport)([...a,...E,$],c.charsPerToken,i.liveCallIds());const F=B.messages;const H=B.droppedRounds+b;b=0;if(H>0)yield{type:"history-trimmed",droppedRounds:H,droppedPinned:B.droppedPinned};const I=(0,_runAgentTurn.runAgentTurn)({provider:L,catalog:R,messages:F,system:u,systemVolatile:r.options.liveBlock&&r.options.liveBlock!=="system-tail"?void 0:j,feedOptions:r.options,model:e.model,maxTokens:r.options.maxTokens??e.maxTokens??4096,dispatch:e.dispatch,readSnapshot:e.readSnapshot,storeKeyOwners:q,ledger:i,policy:N(),isRelease:e.isRelease,availableToolIds:l,availableActions:p,requestApproval:e.requestApproval,seenUrls:S,evidence:A,calibration:c,trusted:v,procedures:(0,_systemPrompt.listableProcedures)(e.context?.procedures,l),signal:n});let k=await I.next();while(!k.done){yield k.value;k=await I.next()}if(C===f)a=k.value},reset(){f+=1;a=[];b=0;i.clear();S.clear();A.clear();v.clear();O=false}}}