@buoy-gg/agent-core 7.0.78 → 7.0.80

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