@getpaseo/server 0.1.104-beta.5 → 0.1.104
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/server/server/agent/mcp-server.js +0 -1
- package/dist/server/server/agent/mcp-shared.js +1 -1
- package/dist/server/server/agent/tools/paseo-tools.js +2 -79
- package/dist/server/server/browser-tools/tools.js +0 -49
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-bridge-c2eadf48e74404945431866f748641cd.js → desktop-attachment-bridge-050f4066430884830408272e3d9c9f0b.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-050f4066430884830408272e3d9c9f0b.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-050f4066430884830408272e3d9c9f0b.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-store-2fedddc19192dc5c2aa1f476ca8bda07.js → desktop-attachment-store-31c8a92a7d9967d424e7b11a100a0264.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/{desktop-attachment-store-2fedddc19192dc5c2aa1f476ca8bda07.js.br → desktop-attachment-store-31c8a92a7d9967d424e7b11a100a0264.js.br} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-31c8a92a7d9967d424e7b11a100a0264.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{index-94c14e94d2f9f042833a435dd50042c7.js → index-8d9d8c6fc19839009bd4e58964e2cc66.js} +44 -43
- package/dist/server/web-ui/_expo/static/js/web/index-8d9d8c6fc19839009bd4e58964e2cc66.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-8d9d8c6fc19839009bd4e58964e2cc66.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{indexeddb-attachment-store-81a312f940a176e8d390657c8ec2c511.js → indexeddb-attachment-store-e0f8c14c129f5fdd50da470a1f8a6360.js} +1 -1
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-e0f8c14c129f5fdd50da470a1f8a6360.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{indexeddb-attachment-store-81a312f940a176e8d390657c8ec2c511.js.gz → indexeddb-attachment-store-e0f8c14c129f5fdd50da470a1f8a6360.js.gz} +0 -0
- package/dist/server/web-ui/_expo/static/js/web/{native-file-attachment-store-7e696fa918b73c29668de86c5c9608b7.js → native-file-attachment-store-f9d8e1b9c1e085be89c29a52a6350c2c.js} +3 -3
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-f9d8e1b9c1e085be89c29a52a6350c2c.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-f9d8e1b9c1e085be89c29a52a6350c2c.js.gz +0 -0
- package/dist/server/web-ui/index.html +1 -1
- package/dist/server/web-ui/index.html.br +0 -0
- package/dist/server/web-ui/index.html.gz +0 -0
- package/package.json +6 -5
- package/dist/server/server/agent/wait-for-agent-tracker.d.ts +0 -15
- package/dist/server/server/agent/wait-for-agent-tracker.js +0 -53
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-c2eadf48e74404945431866f748641cd.js.br +0 -3
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-bridge-c2eadf48e74404945431866f748641cd.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/desktop-attachment-store-2fedddc19192dc5c2aa1f476ca8bda07.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-94c14e94d2f9f042833a435dd50042c7.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/index-94c14e94d2f9f042833a435dd50042c7.js.gz +0 -0
- package/dist/server/web-ui/_expo/static/js/web/indexeddb-attachment-store-81a312f940a176e8d390657c8ec2c511.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-7e696fa918b73c29668de86c5c9608b7.js.br +0 -0
- package/dist/server/web-ui/_expo/static/js/web/native-file-attachment-store-7e696fa918b73c29668de86c5c9608b7.js.gz +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createIndexedDbAttachmentStore=function(){return{storageType:"web-indexeddb",async save(n){const o=n.id??(0,t.generateAttachmentId)(),s=Date.now(),{blob:c,mimeType:u}=await b(n),w=n.fileName??null,p=await l();try{await y(p,"readwrite",t=>t.put({id:o,blob:c,createdAt:s,fileName:w}))}finally{p.close()}return{id:o,mimeType:u,storageType:"web-indexeddb",storageKey:o,fileName:w,byteSize:c.size,createdAt:s}},async encodeBase64({attachment:n}){const o=await l();try{const s=await u(o,n.storageKey);return await(0,t.blobToBase64)(s)}finally{o.close()}},async resolvePreviewUrl({attachment:t}){const n=await l();try{const o=await u(n,t.storageKey);return URL.createObjectURL(o)}finally{n.close()}},async releasePreviewUrl({url:t}){URL.revokeObjectURL(t)},async delete({attachment:t}){const n=await l();try{await y(n,"readwrite",n=>n.delete(t.storageKey))}finally{n.close()}},async garbageCollect({referencedIds:t}){const n=await l();try{await new Promise((s,c)=>{const l=n.transaction(o,"readwrite"),y=l.objectStore(o).openCursor();y.addEventListener("error",()=>{c(y.error??new Error("Failed to iterate IndexedDB attachment store."))}),y.addEventListener("success",()=>{const n=y.result;if(!n)return void s();const o=String(n.key);t.has(o)||n.delete(),n.continue()}),l.addEventListener("error",()=>{c(l.error??new Error("Failed to garbage collect IndexedDB attachments."))})})}finally{n.close()}}}};var t=r(d[0]);const n="paseo-attachment-bytes",o="attachments",s=1;function c(){const t=globalThis.indexedDB;if(!t)throw new Error("IndexedDB is unavailable in this runtime.");return t}function l(){return new Promise((t,l)=>{const y=c().open(n,s);y.onupgradeneeded=()=>{const t=y.result;t.objectStoreNames.contains(o)||t.createObjectStore(o,{keyPath:"id"})},y.addEventListener("success",()=>{t(y.result)}),y.addEventListener("error",()=>{l(y.error??new Error("Failed to open attachment IndexedDB."))})})}function y(t,n,s){return new Promise((c,l)=>{const y=t.transaction(o,n),b=y.objectStore(o),u=s(b);u.addEventListener("success",()=>{c(u.result)}),u.addEventListener("error",()=>{l(u.error??new Error("IndexedDB transaction request failed."))}),y.addEventListener("error",()=>{l(y.error??new Error("IndexedDB transaction failed."))})})}async function b(n){const o=n.source;if("bytes"===o.kind){const s=(0,t.normalizeMimeType)(n.mimeType),c=new ArrayBuffer(o.bytes.byteLength);return new Uint8Array(c).set(o.bytes),{blob:new Blob([c],{type:s}),mimeType:s}}if("blob"===o.kind){const s=(0,t.normalizeMimeType)(n.mimeType??o.blob.type);return{blob:o.blob.type===s?o.blob:o.blob.slice(0,o.blob.size,s),mimeType:s}}if("data_url"===o.kind){const s=(0,t.parseDataUrl)(o.dataUrl),c=await fetch(o.dataUrl),l=await c.blob(),y=(0,t.normalizeMimeType)(n.mimeType??s.mimeType??l.type);return{blob:l.type===y?l:l.slice(0,l.size,y),mimeType:y}}const s=await fetch(o.uri),c=await s.blob(),l=(0,t.normalizeMimeType)(n.mimeType??c.type);return{blob:c.type===l?c:c.slice(0,c.size,l),mimeType:l}}async function u(t,n){const o=await y(t,"readonly",t=>t.get(n));if(!o?.blob)throw new Error(`Attachment ${n} was not found in IndexedDB.`);return o.blob}},
|
|
1
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createIndexedDbAttachmentStore=function(){return{storageType:"web-indexeddb",async save(n){const o=n.id??(0,t.generateAttachmentId)(),s=Date.now(),{blob:c,mimeType:u}=await b(n),w=n.fileName??null,p=await l();try{await y(p,"readwrite",t=>t.put({id:o,blob:c,createdAt:s,fileName:w}))}finally{p.close()}return{id:o,mimeType:u,storageType:"web-indexeddb",storageKey:o,fileName:w,byteSize:c.size,createdAt:s}},async encodeBase64({attachment:n}){const o=await l();try{const s=await u(o,n.storageKey);return await(0,t.blobToBase64)(s)}finally{o.close()}},async resolvePreviewUrl({attachment:t}){const n=await l();try{const o=await u(n,t.storageKey);return URL.createObjectURL(o)}finally{n.close()}},async releasePreviewUrl({url:t}){URL.revokeObjectURL(t)},async delete({attachment:t}){const n=await l();try{await y(n,"readwrite",n=>n.delete(t.storageKey))}finally{n.close()}},async garbageCollect({referencedIds:t}){const n=await l();try{await new Promise((s,c)=>{const l=n.transaction(o,"readwrite"),y=l.objectStore(o).openCursor();y.addEventListener("error",()=>{c(y.error??new Error("Failed to iterate IndexedDB attachment store."))}),y.addEventListener("success",()=>{const n=y.result;if(!n)return void s();const o=String(n.key);t.has(o)||n.delete(),n.continue()}),l.addEventListener("error",()=>{c(l.error??new Error("Failed to garbage collect IndexedDB attachments."))})})}finally{n.close()}}}};var t=r(d[0]);const n="paseo-attachment-bytes",o="attachments",s=1;function c(){const t=globalThis.indexedDB;if(!t)throw new Error("IndexedDB is unavailable in this runtime.");return t}function l(){return new Promise((t,l)=>{const y=c().open(n,s);y.onupgradeneeded=()=>{const t=y.result;t.objectStoreNames.contains(o)||t.createObjectStore(o,{keyPath:"id"})},y.addEventListener("success",()=>{t(y.result)}),y.addEventListener("error",()=>{l(y.error??new Error("Failed to open attachment IndexedDB."))})})}function y(t,n,s){return new Promise((c,l)=>{const y=t.transaction(o,n),b=y.objectStore(o),u=s(b);u.addEventListener("success",()=>{c(u.result)}),u.addEventListener("error",()=>{l(u.error??new Error("IndexedDB transaction request failed."))}),y.addEventListener("error",()=>{l(y.error??new Error("IndexedDB transaction failed."))})})}async function b(n){const o=n.source;if("bytes"===o.kind){const s=(0,t.normalizeMimeType)(n.mimeType),c=new ArrayBuffer(o.bytes.byteLength);return new Uint8Array(c).set(o.bytes),{blob:new Blob([c],{type:s}),mimeType:s}}if("blob"===o.kind){const s=(0,t.normalizeMimeType)(n.mimeType??o.blob.type);return{blob:o.blob.type===s?o.blob:o.blob.slice(0,o.blob.size,s),mimeType:s}}if("data_url"===o.kind){const s=(0,t.parseDataUrl)(o.dataUrl),c=await fetch(o.dataUrl),l=await c.blob(),y=(0,t.normalizeMimeType)(n.mimeType??s.mimeType??l.type);return{blob:l.type===y?l:l.slice(0,l.size,y),mimeType:y}}const s=await fetch(o.uri),c=await s.blob(),l=(0,t.normalizeMimeType)(n.mimeType??c.type);return{blob:c.type===l?c:c.slice(0,c.size,l),mimeType:l}}async function u(t,n){const o=await y(t,"readonly",t=>t.get(n));if(!o?.blob)throw new Error(`Attachment ${n} was not found in IndexedDB.`);return o.blob}},4438,[3937]);
|
|
Binary file
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createNativeFileAttachmentStore=function(){return(0,s.createLocalFileAttachmentStore)({storageType:"native-file",baseDirectoryName:"paseo-native-attachments",fileSystem:(0,t.createExpoAttachmentFileSystem)(),resolvePreviewUrl:async t=>t.storageKey.startsWith("file://")?t.storageKey:(0,o.isAbsolutePath)(t.storageKey)?t.storageKey.startsWith("/")?`file://${t.storageKey}`:t.storageKey.startsWith("\\\\")?`file:${t.storageKey.replace(/\\/g,"/")}`:`file:///${t.storageKey.replace(/\\/g,"/")}`:t.storageKey})};var t=r(d[0]),s=r(d[1]),o=r(d[2])},
|
|
2
|
-
__d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.createExpoAttachmentFileSystem=function(){return{cacheDirectory:t.cacheDirectory,async getInfo(e){const n=await t.getInfoAsync(e);if(!n.exists)return{exists:!1};const c="number"==typeof n.size?n.size:null;return{exists:!0,isDirectory:n.isDirectory??!1,size:c}},async makeDirectory(e,n){await t.makeDirectoryAsync(e,n)},async writeBytes(t,n){new e.File(t).write(n)},async copy(e){await t.copyAsync(e)},readAsBase64:async e=>await t.readAsStringAsync(e,{encoding:t.EncodingType.Base64}),async delete(e,n){await t.deleteAsync(e,n)},listDirectory:async e=>await t.readDirectoryAsync(e)}};var e=r(_d[0]),t=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var c=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,c.get?c:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[1]))},
|
|
3
|
-
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createLocalFileAttachmentStore=function(n){const{fileSystem:o}=n,l=o.cacheDirectory?`${o.cacheDirectory}${n.baseDirectoryName}/`:null;async function u(n){if(!l)throw new Error("Attachment file-system cacheDirectory is unavailable.");await c(o,l);const y=n.id??(0,t.generateAttachmentId)();let f;f="data_url"===n.source.kind?(0,t.parseDataUrl)(n.source.dataUrl).mimeType:"blob"===n.source.kind?n.source.blob.type:void 0;const u=(0,t.normalizeMimeType)(n.mimeType??f),p=n.fileName??null,w=s({fileName:p,mimeType:u}),U=Date.now(),b=`${l}${y}${w}`;return{id:y,mimeType:u,fileName:p,createdAt:U,targetUri:b,storageKey:(0,t.fileUriToPath)(b)}}return Object.assign({storageType:n.storageType,async save(t){const s=await u(t);await y({fileSystem:o,source:t.source,targetUri:s.targetUri,mimeType:s.mimeType});const c=await o.getInfo(s.targetUri),l=c.exists?c.size:null;return{id:s.id,mimeType:s.mimeType,storageType:n.storageType,storageKey:s.storageKey,fileName:s.fileName,byteSize:l,createdAt:s.createdAt}},encodeBase64:async({attachment:t})=>await o.readAsBase64(f(t)),resolvePreviewUrl:async({attachment:t})=>await n.resolvePreviewUrl(t)},n.releasePreviewUrl?{async releasePreviewUrl(t){await(n.releasePreviewUrl?.(t))}}:{},{async delete({attachment:t}){await o.delete(f(t),{idempotent:!0})},async garbageCollect({referencedIds:t}){if(!l)return;await c(o,l);const n=await o.listDirectory(l);await Promise.all(n.map(async n=>{const s=n.split(".",1)[0]??"";s&&!t.has(s)&&await o.delete(`${l}${n}`,{idempotent:!0})}))}})};var t=r(d[0]);const n={"image/png":".png","image/jpeg":".jpg","image/jpg":".jpg","image/gif":".gif","image/webp":".webp","image/avif":".avif","image/heic":".heic","image/heif":".heif","image/tiff":".tiff","image/bmp":".bmp","image/svg+xml":".svg"};function s(s){const c=(0,t.getFileExtensionFromName)(s.fileName);return c||(n[s.mimeType]??".img")}async function c(t,n){const s=await t.getInfo(n);s.exists&&s.isDirectory||await t.makeDirectory(n,{intermediates:!0})}async function o(t){const n=await fetch(t);return new Uint8Array(await n.arrayBuffer())}async function l(t){return new Uint8Array(await t.arrayBuffer())}async function y(n){if("file_uri"===n.source.kind){const s=(0,t.pathToFileUri)(n.source.uri);if(s===n.targetUri)return;return void await n.fileSystem.copy({from:s,to:n.targetUri})}let s;s="data_url"===n.source.kind?await o(n.source.dataUrl):"blob"===n.source.kind?await l(n.source.blob):n.source.bytes,await n.fileSystem.writeBytes(n.targetUri,s)}function f(n){return(0,t.pathToFileUri)(n.storageKey)}},
|
|
1
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createNativeFileAttachmentStore=function(){return(0,s.createLocalFileAttachmentStore)({storageType:"native-file",baseDirectoryName:"paseo-native-attachments",fileSystem:(0,t.createExpoAttachmentFileSystem)(),resolvePreviewUrl:async t=>t.storageKey.startsWith("file://")?t.storageKey:(0,o.isAbsolutePath)(t.storageKey)?t.storageKey.startsWith("/")?`file://${t.storageKey}`:t.storageKey.startsWith("\\\\")?`file:${t.storageKey.replace(/\\/g,"/")}`:`file:///${t.storageKey.replace(/\\/g,"/")}`:t.storageKey})};var t=r(d[0]),s=r(d[1]),o=r(d[2])},4439,[4440,4441,3437]);
|
|
2
|
+
__d(function(g,r,i,a,m,_e,_d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.createExpoAttachmentFileSystem=function(){return{cacheDirectory:t.cacheDirectory,async getInfo(e){const n=await t.getInfoAsync(e);if(!n.exists)return{exists:!1};const c="number"==typeof n.size?n.size:null;return{exists:!0,isDirectory:n.isDirectory??!1,size:c}},async makeDirectory(e,n){await t.makeDirectoryAsync(e,n)},async writeBytes(t,n){new e.File(t).write(n)},async copy(e){await t.copyAsync(e)},readAsBase64:async e=>await t.readAsStringAsync(e,{encoding:t.EncodingType.Base64}),async delete(e,n){await t.deleteAsync(e,n)},listDirectory:async e=>await t.readDirectoryAsync(e)}};var e=r(_d[0]),t=(function(e){if(e&&e.__esModule)return e;var t={};return e&&Object.keys(e).forEach(function(n){var c=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,c.get?c:{enumerable:!0,get:function(){return e[n]}})}),t.default=e,t})(r(_d[1]))},4440,[3524,3532]);
|
|
3
|
+
__d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.createLocalFileAttachmentStore=function(n){const{fileSystem:o}=n,l=o.cacheDirectory?`${o.cacheDirectory}${n.baseDirectoryName}/`:null;async function u(n){if(!l)throw new Error("Attachment file-system cacheDirectory is unavailable.");await c(o,l);const y=n.id??(0,t.generateAttachmentId)();let f;f="data_url"===n.source.kind?(0,t.parseDataUrl)(n.source.dataUrl).mimeType:"blob"===n.source.kind?n.source.blob.type:void 0;const u=(0,t.normalizeMimeType)(n.mimeType??f),p=n.fileName??null,w=s({fileName:p,mimeType:u}),U=Date.now(),b=`${l}${y}${w}`;return{id:y,mimeType:u,fileName:p,createdAt:U,targetUri:b,storageKey:(0,t.fileUriToPath)(b)}}return Object.assign({storageType:n.storageType,async save(t){const s=await u(t);await y({fileSystem:o,source:t.source,targetUri:s.targetUri,mimeType:s.mimeType});const c=await o.getInfo(s.targetUri),l=c.exists?c.size:null;return{id:s.id,mimeType:s.mimeType,storageType:n.storageType,storageKey:s.storageKey,fileName:s.fileName,byteSize:l,createdAt:s.createdAt}},encodeBase64:async({attachment:t})=>await o.readAsBase64(f(t)),resolvePreviewUrl:async({attachment:t})=>await n.resolvePreviewUrl(t)},n.releasePreviewUrl?{async releasePreviewUrl(t){await(n.releasePreviewUrl?.(t))}}:{},{async delete({attachment:t}){await o.delete(f(t),{idempotent:!0})},async garbageCollect({referencedIds:t}){if(!l)return;await c(o,l);const n=await o.listDirectory(l);await Promise.all(n.map(async n=>{const s=n.split(".",1)[0]??"";s&&!t.has(s)&&await o.delete(`${l}${n}`,{idempotent:!0})}))}})};var t=r(d[0]);const n={"image/png":".png","image/jpeg":".jpg","image/jpg":".jpg","image/gif":".gif","image/webp":".webp","image/avif":".avif","image/heic":".heic","image/heif":".heif","image/tiff":".tiff","image/bmp":".bmp","image/svg+xml":".svg"};function s(s){const c=(0,t.getFileExtensionFromName)(s.fileName);return c||(n[s.mimeType]??".img")}async function c(t,n){const s=await t.getInfo(n);s.exists&&s.isDirectory||await t.makeDirectory(n,{intermediates:!0})}async function o(t){const n=await fetch(t);return new Uint8Array(await n.arrayBuffer())}async function l(t){return new Uint8Array(await t.arrayBuffer())}async function y(n){if("file_uri"===n.source.kind){const s=(0,t.pathToFileUri)(n.source.uri);if(s===n.targetUri)return;return void await n.fileSystem.copy({from:s,to:n.targetUri})}let s;s="data_url"===n.source.kind?await o(n.source.dataUrl):"blob"===n.source.kind?await l(n.source.blob):n.source.bytes,await n.fileSystem.writeBytes(n.targetUri,s)}function f(n){return(0,t.pathToFileUri)(n.storageKey)}},4441,[3937]);
|
|
Binary file
|
|
Binary file
|
|
@@ -85,6 +85,6 @@
|
|
|
85
85
|
<body>
|
|
86
86
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
87
87
|
<div id="root"></div>
|
|
88
|
-
<script src="/_expo/static/js/web/index-
|
|
88
|
+
<script src="/_expo/static/js/web/index-8d9d8c6fc19839009bd4e58964e2cc66.js" defer></script>
|
|
89
89
|
</body>
|
|
90
90
|
</html>
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getpaseo/server",
|
|
3
|
-
"version": "0.1.104
|
|
3
|
+
"version": "0.1.104",
|
|
4
4
|
"description": "Paseo backend server",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/server",
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"start": "node dist/scripts/supervisor-entrypoint.js",
|
|
45
45
|
"typecheck": "tsgo -p tsconfig.server.typecheck.json --noEmit",
|
|
46
46
|
"generate:config-schema": "tsx scripts/generate-config-schema.ts",
|
|
47
|
+
"measure:agent-tools": "tsx scripts/measure-agent-tools-context.ts",
|
|
47
48
|
"speech:models": "tsx scripts/list-speech-models.ts",
|
|
48
49
|
"speech:download": "tsx scripts/download-speech-models.ts",
|
|
49
50
|
"speech:transcribe:local": "tsx scripts/transcribe-local-wav.ts",
|
|
@@ -65,10 +66,10 @@
|
|
|
65
66
|
"@agentclientprotocol/sdk": "^0.17.1",
|
|
66
67
|
"@anthropic-ai/claude-agent-sdk": "^0.3.195",
|
|
67
68
|
"@anthropic-ai/sdk": "^0.104.2",
|
|
68
|
-
"@getpaseo/client": "0.1.104
|
|
69
|
-
"@getpaseo/highlight": "0.1.104
|
|
70
|
-
"@getpaseo/protocol": "0.1.104
|
|
71
|
-
"@getpaseo/relay": "0.1.104
|
|
69
|
+
"@getpaseo/client": "0.1.104",
|
|
70
|
+
"@getpaseo/highlight": "0.1.104",
|
|
71
|
+
"@getpaseo/protocol": "0.1.104",
|
|
72
|
+
"@getpaseo/relay": "0.1.104",
|
|
72
73
|
"@isaacs/ttlcache": "^2.1.4",
|
|
73
74
|
"@modelcontextprotocol/sdk": "^1.20.1",
|
|
74
75
|
"@opencode-ai/sdk": "1.14.46",
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { Logger } from "pino";
|
|
2
|
-
export type WaitForAgentCanceler = (agentId: string, reason?: string) => boolean;
|
|
3
|
-
/**
|
|
4
|
-
* Tracks long-running wait_for_agent tool calls so they can be cancelled
|
|
5
|
-
* explicitly (e.g., when a voice barge-in aborts the current turn).
|
|
6
|
-
*/
|
|
7
|
-
export declare class WaitForAgentTracker {
|
|
8
|
-
private waiters;
|
|
9
|
-
private logger;
|
|
10
|
-
constructor(logger: Logger);
|
|
11
|
-
register(agentId: string, cancel: (reason?: string) => void): () => void;
|
|
12
|
-
cancel(agentId: string, reason?: string): boolean;
|
|
13
|
-
cancelAll(reason?: string): number;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=wait-for-agent-tracker.d.ts.map
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tracks long-running wait_for_agent tool calls so they can be cancelled
|
|
3
|
-
* explicitly (e.g., when a voice barge-in aborts the current turn).
|
|
4
|
-
*/
|
|
5
|
-
export class WaitForAgentTracker {
|
|
6
|
-
constructor(logger) {
|
|
7
|
-
this.waiters = new Map();
|
|
8
|
-
this.logger = logger.child({ module: "agent", component: "wait-for-agent-tracker" });
|
|
9
|
-
}
|
|
10
|
-
register(agentId, cancel) {
|
|
11
|
-
if (!this.waiters.has(agentId)) {
|
|
12
|
-
this.waiters.set(agentId, new Set());
|
|
13
|
-
}
|
|
14
|
-
const waitersForAgent = this.waiters.get(agentId);
|
|
15
|
-
waitersForAgent.add(cancel);
|
|
16
|
-
return () => {
|
|
17
|
-
const current = this.waiters.get(agentId);
|
|
18
|
-
if (!current) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
current.delete(cancel);
|
|
22
|
-
if (current.size === 0) {
|
|
23
|
-
this.waiters.delete(agentId);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
cancel(agentId, reason) {
|
|
28
|
-
const waitersForAgent = this.waiters.get(agentId);
|
|
29
|
-
if (!waitersForAgent || waitersForAgent.size === 0) {
|
|
30
|
-
return false;
|
|
31
|
-
}
|
|
32
|
-
this.waiters.delete(agentId);
|
|
33
|
-
for (const cancel of waitersForAgent) {
|
|
34
|
-
try {
|
|
35
|
-
cancel(reason);
|
|
36
|
-
}
|
|
37
|
-
catch (error) {
|
|
38
|
-
this.logger.warn({ err: error, agentId }, "Cancel callback failed");
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
return true;
|
|
42
|
-
}
|
|
43
|
-
cancelAll(reason) {
|
|
44
|
-
let cancelled = 0;
|
|
45
|
-
for (const agentId of Array.from(this.waiters.keys())) {
|
|
46
|
-
if (this.cancel(agentId, reason)) {
|
|
47
|
-
cancelled += 1;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return cancelled;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=wait-for-agent-tracker.js.map
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|