@desplega.ai/agent-fs 0.15.1 → 0.15.2

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/cli.js CHANGED
@@ -227,7 +227,7 @@ CREATE TRIGGER IF NOT EXISTS files_fts_docs_au AFTER UPDATE ON files_fts_docs BE
227
227
  INSERT INTO files_fts(rowid, path, content, drive_id)
228
228
  VALUES (new.id, new.path, new.content, new.drive_id);
229
229
  END;
230
- `;function Kd(e){if(!e.prepare("PRAGMA table_info(users)").all().some((i)=>i.name==="display_name"))e.exec("ALTER TABLE users ADD COLUMN display_name TEXT");if(e.exec("CREATE INDEX IF NOT EXISTS idx_users_api_key_hash ON users(api_key_hash)"),!e.prepare("PRAGMA table_info(file_versions)").all().some((i)=>i.name==="content_hash"))e.exec("ALTER TABLE file_versions ADD COLUMN content_hash TEXT");e.exec("CREATE UNIQUE INDEX IF NOT EXISTS file_versions_path_drive_version_uq ON file_versions(path, drive_id, version)");let o=e.prepare("PRAGMA table_info(comments)").all();for(let i of["quote_exact","quote_prefix","quote_suffix"])if(!o.some((s)=>s.name===i))e.exec(`ALTER TABLE comments ADD COLUMN ${i} TEXT`);e.exec("INSERT OR IGNORE INTO drive_members (drive_id, user_id, role) SELECT d.id, om.user_id, 'admin' FROM drives d JOIN org_members om ON om.org_id = d.org_id AND om.role = 'admin' WHERE NOT EXISTS (SELECT 1 FROM drive_members dm WHERE dm.drive_id = d.id)")}function nn(e){let t=e.prepare("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = 'files_fts'").get();return!!t&&!/content\s*=/i.test(t.sql)}function Nt(e){if(ao.has(e))return!1;let t=e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get(nt);if(!t)ao.add(e);return!!t}function Ry(e,t){return!!e.prepare("SELECT 1 FROM meta WHERE key = ?").get(t)}function zd(e){return Nt(e)||Ry(e,Ni)}function Di(e){return e.transaction(()=>{if(nn(e))e.exec(`ALTER TABLE files_fts RENAME TO ${nt}`),ao.delete(e);e.exec(so)})(),zd(e)}async function Pi(e,t={}){let r={copied:0,skipped:0};if(!zd(e))return r;let n=t.log??(()=>{});if(Nt(e))await _y(e,r,t);return e.transaction(()=>{Gd(e,Ay),e.prepare("DELETE FROM meta WHERE key = ?").run(Ni)})(),n(`search index migration: done, ${r.copied} copied, ${r.skipped} skipped`),r}function Gd(e,t){e.prepare("INSERT INTO files_fts(files_fts, rank) VALUES ('crisismerge', ?)").run(t)}async function _y(e,t,r){let n=r.batchSize??xy,o=r.batchBytes??Sy,i=r.log??(()=>{});e.transaction(()=>{Gd(e,Iy),e.prepare("INSERT OR IGNORE INTO meta(key, value) VALUES (?, '1')").run(Ni)})();let s=e.prepare("SELECT value FROM meta WHERE key = ?"),a=e.prepare("INSERT INTO meta(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value"),d=e.prepare(`SELECT rowid, drive_id, path, content FROM ${nt} WHERE rowid > ? ORDER BY rowid LIMIT ?`),c=e.prepare("SELECT 1 FROM files WHERE drive_id = ? AND path = ? AND is_deleted = 0"),l=e.prepare("SELECT 1 FROM files_fts_docs WHERE drive_id = ? AND path = ?"),u=e.prepare("INSERT INTO files_fts_docs(drive_id, path, content) VALUES (?, ?, ?)"),p=Number(s.get(Oi)?.value??0);i(`search index migration: starting at legacy rowid ${p}`);let m=e.transaction((v)=>{for(let S of v){if(!c.get(S.drive_id,S.path)||l.get(S.drive_id,S.path)){t.skipped++;continue}u.run(S.drive_id,S.path,S.content),t.copied++}p=v[v.length-1].rowid,a.run(Oi,String(p))}),g=0;for(;;){let v=d.all(p,n);if(v.length===0)break;let S=0;while(S<v.length){let A=S,D=0;do D+=v[A].content.length,A++;while(A<v.length&&D+v[A].content.length<=o);m(v.slice(S,A)),S=A,await Bun.sleep(0)}if(g+=v.length,g>=1000)g=0,i(`search index migration: ${t.copied} copied, ${t.skipped} skipped (legacy rowid ${p})`)}e.transaction(()=>{e.exec(`DROP TABLE ${nt}`),e.prepare("DELETE FROM meta WHERE key = ?").run(Oi)})(),ao.add(e)}var nt="files_fts_legacy",Oi="fts_migration_cursor",Ni="fts_migration_tuning",xy=50,Sy=524288,Iy=1000,Ay=16,ao;var yr=f(()=>{ao=new WeakSet});import{Database as Ty}from"bun:sqlite";import{drizzle as ky}from"drizzle-orm/bun-sqlite";import*as Xd from"sqlite-vec";import{existsSync as Cy,mkdirSync as Oy}from"fs";import{dirname as Ny}from"path";function Dy(e){Xd.load(e)}function Dt(e){let t=e??gr(),r=Ny(t);if(!Cy(r))Oy(r,{recursive:!0});let n=new Ty(t);if(Dy(n),n.exec("PRAGMA journal_mode=WAL;"),n.exec("PRAGMA foreign_keys=ON;"),n.exec(qd),n.exec(Vd),!nn(n))n.exec(so);return Kd(n),ky(n,{schema:ae})}var me=f(()=>{Ud();Ct();Bd();yr()});var Yd;var Wd=f(()=>{Yd={name:"agent-fs",version:"0.15.1",packageManager:"bun@1.4.1",private:!0,workspaces:["packages/*"],scripts:{typecheck:"tsc --build",test:"bun test packages/*/src/ live/src/lib/","test:coverage":"bun test --coverage packages/*/src/ live/src/lib/",build:"cd packages/cli && bun run build:npm","install-local":"bun run build && cd packages/cli && bun link","uninstall-local":"bun remove -g @desplega.ai/agent-fs && rm -f ~/.bun/bin/agent-fs","deploy:fly":"fly deploy -a agent-fs-taras"},devDependencies:{"@duckdb/node-api":"1.5.3-r.3","bun-types":"^1.4.0",msgpackr:"^1",typescript:"^5.7.0",yaml:"^2.8.2","zod-to-json-schema":"^3.25.1"},overrides:{chromadb:"npm:empty-npm-package@1.0.0","chromadb-default-embed":"npm:empty-npm-package@1.0.0","@xenova/transformers":"npm:empty-npm-package@1.0.0","tree-sitter-wasms":"npm:empty-npm-package@1.0.0","web-tree-sitter":"npm:empty-npm-package@1.0.0","cohere-ai":"npm:empty-npm-package@1.0.0",voyageai:"npm:empty-npm-package@1.0.0",ollama:"npm:empty-npm-package@1.0.0"}}});var Fe;var co=f(()=>{Wd();Fe=Yd.version});import{randomUUID as Jd}from"crypto";import{existsSync as Ly,readFileSync as $y,writeFileSync as My}from"fs";function rc(e=process.env){let t=e.ANONYMIZED_TELEMETRY?.trim().toLowerCase();if(t&&Zd.has(t))return!1;let r=e.DO_NOT_TRACK?.trim().toLowerCase();if(r&&!Zd.has(r))return!1;return!0}function ec(){let e=process.env.AGENT_FS_CLOUD?.trim().toLowerCase();return e==="true"||e==="1"}function Vy(){let e=process.env.DESPLEGA_TELEMETRY_ENV?.trim();if(e)return e;return"production"}function Ky(){let e=Y().telemetry?.installId;if(e)return e;let t=`install_${Jd().replace(/-/g,"").slice(0,16)}`;try{let r=Ye(),n=Ly(r)?JSON.parse($y(r,"utf-8")):{};return n.telemetry={...n.telemetry??{},installId:t},My(r,JSON.stringify(n,null,2)),t}catch{return`ephemeral_${Jd().replace(/-/g,"").slice(0,16)}`}}function uo(e){on.set(e,(on.get(e)??0)+1)}function zy(){return on.size>0}function tc(){let e={},t=0;for(let[r,n]of on)e[`ops_${r.replace(/-/g,"_")}`]=n,t+=n;return on.clear(),e.ops_total=t,e}function Li(e,t,r={},n=jy){if(!rc())return Promise.resolve();try{let o={product:Fy,event:t,occurred_at:new Date().toISOString(),source:"api-server",actor_mode:"anonymous",actor_anonymous_id:e,properties:{...r,is_cloud:ec(),version:Fe},metadata:{transport:"https",schema_version:1,environment:Vy(),is_cloud:ec()}};return fetch(Uy,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o),signal:AbortSignal.timeout(n)}).then(()=>{},()=>{})}catch{return Promise.resolve()}}function lo(e,t){try{return e.query(t).get()?.n??0}catch{return-1}}function Gy(e){let t=Y(),r=t.s3.provider.toLowerCase(),n=t.embedding.provider;return{users:lo(e,"SELECT count(*) AS n FROM users"),orgs:lo(e,"SELECT count(*) AS n FROM orgs"),drives:lo(e,"SELECT count(*) AS n FROM drives"),files:lo(e,"SELECT count(*) AS n FROM files WHERE is_deleted = 0"),storage_provider:By.has(r)?r:"other",embedding_provider:qy.has(n)?n:"other",os:process.platform,arch:process.arch}}function $i(e){let t=()=>Promise.resolve();if(!rc())return t;let r;try{r=Ky()}catch{return t}let n=()=>{try{return Gy(e)}catch{return{}}};Li(r,"server.started",n());let o=setInterval(()=>{Li(r,"server.heartbeat",{...n(),...tc()})},Hy);o.unref();let i=!1;return()=>{if(i)return Promise.resolve();if(i=!0,clearInterval(o),!zy())return Promise.resolve();let s=Li(r,"server.heartbeat",{...n(),...tc(),shutdown:!0},Qd),a=new Promise((d)=>setTimeout(d,Qd).unref());return Promise.race([s,a])}}var Uy="https://proxy.desplega.sh/v1/events",Fy="agent-fs",jy=5000,Hy=86400000,Qd=1500,Zd,By,qy,on;var po=f(()=>{Ct();co();Zd=new Set(["false","0","no","off"]),By=new Set(["minio","s3","r2","tigris","local"]),qy=new Set(["local","openai","gemini"]);on=new Map});var Mi=Ne(function(Yy){var nc=(e)=>encodeURIComponent(e).replace(/[!'()*]/g,Xy),Xy=(e)=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`,Wy=(e)=>e.split("/").map(nc).join("/");Yy.escapeUri=nc;Yy.escapeUriPath=Wy});var oc=Ne(function(ev){var Ui=Mi();function Zy(e){let t=[];for(let r of Object.keys(e).sort()){let n=e[r];if(r=Ui.escapeUri(r),Array.isArray(n))for(let o=0,i=n.length;o<i;o++)t.push(`${r}=${Ui.escapeUri(n[o])}`);else{let o=r;if(n||typeof n==="string")o+=`=${Ui.escapeUri(n)}`;t.push(o)}}return t.join("&")}ev.buildQueryString=Zy});function sc(e){let{port:t,query:r}=e,{protocol:n,path:o,hostname:i}=e;if(n&&n.slice(-1)!==":")n+=":";if(t)i+=`:${t}`;if(o&&o.charAt(0)!=="/")o=`/${o}`;let s=r?ic.buildQueryString(r):"";if(s&&s[0]!=="?")s=`?${s}`;let a="";if(e.username!=null||e.password!=null){let c=e.username??"",l=e.password??"";a=`${c}:${l}@`}let d="";if(e.fragment)d=`#${e.fragment}`;return`${n}//${a}${i}${o}${s}${d}`}var ic;var ac=f(()=>{ic=rt(oc())});var dc=async(e)=>{let t=e?.Bucket||"";if(typeof e.Bucket==="string")e.Bucket=t.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"));if(sv(t)){if(e.ForcePathStyle===!0)throw Error("Path-style addressing cannot be used with ARN buckets")}else if(!iv(t)||t.indexOf(".")!==-1&&!String(e.Endpoint).startsWith("http:")||t.toLowerCase()!==t||t.length<3)e.ForcePathStyle=!0;if(e.DisableMultiRegionAccessPoints)e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0;return e},rv,nv,ov,iv=(e)=>rv.test(e)&&!nv.test(e)&&!ov.test(e),sv=(e)=>{let[t,r,n,,,o]=e.split(":"),i=t==="arn"&&e.split(":").length>=6,s=Boolean(i&&r&&n&&o);if(i&&!s)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return s};var cc=f(()=>{rv=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,nv=/(\d+\.){3}\d+/,ov=/\.\./});var lc=f(()=>{cc()});var uc=(e,t,r,n=!1)=>{let o=async()=>{let i;if(n)i=r.clientContextParams?.[e]??r[e]??r[t];else i=r[e]??r[t];if(typeof i==="function")return i();return i};if(e==="credentialScope"||t==="CredentialScope")return async()=>{let i=typeof r.credentials==="function"?await r.credentials():r.credentials;return i?.credentialScope??i?.CredentialScope};if(e==="accountId"||t==="AccountId")return async()=>{let i=typeof r.credentials==="function"?await r.credentials():r.credentials;return i?.accountId??i?.AccountId};if(e==="endpoint"||t==="endpoint")return async()=>{if(r.isCustomEndpoint===!1)return;let i=await o();if(i&&typeof i==="object"){if("url"in i)return i.url.href;if("hostname"in i){let{protocol:s,hostname:a,port:d,path:c}=i;return`${s}//${a}${d?":"+d:""}${c}`}}return i};return o};var sn=Ne(function(lv){class vr extends Error{name="ProviderError";tryNextLink;constructor(e,t=!0){let r,n=!0;if(typeof t==="boolean")r=void 0,n=t;else if(t!=null&&typeof t==="object")r=t.logger,n=t.tryNextLink??!0;super(e);this.tryNextLink=n,Object.setPrototypeOf(this,vr.prototype),r?.debug?.(`@smithy/property-provider ${n?"->":"(!)"} ${e}`)}static from(e,t=!0){return Object.assign(new this(e.message,t),e)}}class Fi extends vr{name="CredentialsProviderError";constructor(e,t=!0){super(e,t);Object.setPrototypeOf(this,Fi.prototype)}}class ji extends vr{name="TokenProviderError";constructor(e,t=!0){super(e,t);Object.setPrototypeOf(this,ji.prototype)}}var av=(...e)=>async()=>{if(e.length===0)throw new vr("No providers in chain");let t;for(let r of e)try{return await r()}catch(n){if(t=n,n?.tryNextLink)continue;throw n}throw t},dv=(e)=>()=>Promise.resolve(e),cv=(e,t,r)=>{let n,o,i,s=!1,a=async()=>{if(!o)o=e();try{n=await o,i=!0,s=!1}finally{o=void 0}return n};if(t===void 0)return async(d)=>{if(!i||d?.forceRefresh)n=await a();return n};return async(d)=>{if(!i||d?.forceRefresh)n=await a();if(s)return n;if(r&&!r(n))return s=!0,n;if(t(n))return await a(),n;return n}};lv.CredentialsProviderError=Fi;lv.ProviderError=vr;lv.TokenProviderError=ji;lv.chain=av;lv.fromStatic=dv;lv.memoize=cv});function mo(e){try{let t=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return t.delete("CONFIG"),t.delete("CONFIG_PREFIX_SEPARATOR"),t.delete("ENV"),[...t].join(", ")}catch(t){return e}}var pc,mc=(e,t)=>async()=>{try{let r=e(process.env,t);if(r===void 0)throw Error();return r}catch(r){throw new pc.CredentialsProviderError(r.message||`Not found in ENV: ${mo(e.toString())}`,{logger:t?.logger})}};var fc=f(()=>{pc=rt(sn())});import{homedir as yv}from"os";import{sep as vv}from"path";var Hi,wv=()=>{if(process&&process.geteuid)return`${process.geteuid()}`;return"DEFAULT"},wr=()=>{let{HOME:e,USERPROFILE:t,HOMEPATH:r,HOMEDRIVE:n=`C:${vv}`}=process.env;if(e)return e;if(t)return t;if(r)return`${n}${r}`;let o=wv();if(!Hi[o])Hi[o]=yv();return Hi[o]};var an=f(()=>{Hi={}});var gc=(e)=>e.profile||process.env.AWS_PROFILE||"default";var hc=()=>{};var cn=Ne(function(Av){Av.HttpAuthLocation=void 0;(function(e){e.HEADER="header",e.QUERY="query"})(Av.HttpAuthLocation||(Av.HttpAuthLocation={}));Av.HttpApiKeyAuthLocation=void 0;(function(e){e.HEADER="header",e.QUERY="query"})(Av.HttpApiKeyAuthLocation||(Av.HttpApiKeyAuthLocation={}));Av.EndpointURLScheme=void 0;(function(e){e.HTTP="http",e.HTTPS="https"})(Av.EndpointURLScheme||(Av.EndpointURLScheme={}));Av.AlgorithmId=void 0;(function(e){e.MD5="md5",e.CRC32="crc32",e.CRC32C="crc32c",e.SHA1="sha1",e.SHA256="sha256"})(Av.AlgorithmId||(Av.AlgorithmId={}));var bv=(e)=>{let t=[];if(e.sha256!==void 0)t.push({algorithmId:()=>Av.AlgorithmId.SHA256,checksumConstructor:()=>e.sha256});if(e.md5!=null)t.push({algorithmId:()=>Av.AlgorithmId.MD5,checksumConstructor:()=>e.md5});return{addChecksumAlgorithm(r){t.push(r)},checksumAlgorithms(){return t}}},Ev=(e)=>{let t={};return e.checksumAlgorithms().forEach((r)=>{t[r.algorithmId()]=r.checksumConstructor()}),t},xv=(e)=>bv(e),Sv=(e)=>Ev(e);Av.FieldPosition=void 0;(function(e){e[e.HEADER=0]="HEADER",e[e.TRAILER=1]="TRAILER"})(Av.FieldPosition||(Av.FieldPosition={}));var Iv="__smithy_context";Av.IniSectionType=void 0;(function(e){e.PROFILE="profile",e.SSO_SESSION="sso-session",e.SERVICES="services"})(Av.IniSectionType||(Av.IniSectionType={}));Av.RequestHandlerProtocol=void 0;(function(e){e.HTTP_0_9="http/0.9",e.HTTP_1_0="http/1.0",e.TDS_8_0="tds/8.0"})(Av.RequestHandlerProtocol||(Av.RequestHandlerProtocol={}));Av.SMITHY_CONTEXT_KEY=Iv;Av.getDefaultClientConfiguration=xv;Av.resolveDefaultRuntimeConfig=Sv});var yt=".";var Xi,yc=(e)=>Object.entries(e).filter(([t])=>{let r=t.indexOf(yt);if(r===-1)return!1;return Object.values(Xi.IniSectionType).includes(t.substring(0,r))}).reduce((t,[r,n])=>{let o=r.indexOf(yt),i=r.substring(0,o)===Xi.IniSectionType.PROFILE?r.substring(o+1):r;return t[i]=n,t},{...e.default&&{default:e.default}});var vc=f(()=>{Xi=rt(cn())});import{join as kv}from"path";var Cv="AWS_CONFIG_FILE",wc=()=>process.env[Cv]||kv(wr(),".aws","config");var bc=f(()=>{an()});import{join as Ov}from"path";var Nv="AWS_SHARED_CREDENTIALS_FILE",Ec=()=>process.env[Nv]||Ov(wr(),".aws","credentials");var xc=f(()=>{an()});var Sc,Dv,Pv,Wi=(e)=>{let t={},r,n;for(let o of e.split(/\r?\n/)){let i=o.split(/(^|\s)[;#]/)[0].trim();if(i[0]==="["&&i[i.length-1]==="]"){r=void 0,n=void 0;let a=i.substring(1,i.length-1),d=Dv.exec(a);if(d){let[,c,,l]=d;if(Object.values(Sc.IniSectionType).includes(c))r=[c,l].join(yt)}else r=a;if(Pv.includes(a))throw Error(`Found invalid profile name "${a}"`)}else if(r){let a=i.indexOf("=");if(![0,-1].includes(a)){let[d,c]=[i.substring(0,a).trim(),i.substring(a+1).trim()];if(c==="")n=d;else{if(n&&o.trimStart()===o)n=void 0;t[r]=t[r]||{};let l=n?[n,d].join(yt):d;t[r][l]=c}}}}return t};var Ic=f(()=>{Sc=rt(cn()),Dv=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,Pv=["__proto__","profile __proto__"]});import{readFile as Lv}from"fs/promises";var Yi,Ac,Ji=(e,t)=>{if(Ac[e]!==void 0)return Ac[e];if(!Yi[e]||t?.ignoreCache)Yi[e]=Lv(e,"utf8");return Yi[e]};var Rc=f(()=>{Yi={},Ac={}});import{join as _c}from"path";var Tc=()=>({}),kc=async(e={})=>{let{filepath:t=Ec(),configFilepath:r=wc()}=e,n=wr(),o="~/",i=t;if(t.startsWith("~/"))i=_c(n,t.slice(2));let s=r;if(r.startsWith("~/"))s=_c(n,r.slice(2));let a=await Promise.all([Ji(s,{ignoreCache:e.ignoreCache}).then(Wi).then(yc).catch(Tc),Ji(i,{ignoreCache:e.ignoreCache}).then(Wi).catch(Tc)]);return{configFile:a[0],credentialsFile:a[1]}};var Cc=f(()=>{vc();bc();xc();an();Ic();Rc()});var Oc=()=>{};var Nc=()=>{};var Dc=()=>{};var Qi=f(()=>{an();hc();Cc();Oc();Nc();Dc()});var Pc,Lc=(e,{preferredFile:t="config",...r}={})=>async()=>{let n=gc(r),{configFile:o,credentialsFile:i}=await kc(r),s=i[n]||{},a=o[n]||{},d=t==="config"?{...s,...a}:{...a,...s};try{let l=e(d,t==="config"?o:i);if(l===void 0)throw Error();return l}catch(c){throw new Pc.CredentialsProviderError(c.message||`Not found in config files w/ profile [${n}]: ${mo(e.toString())}`,{logger:r.logger})}};var $c=f(()=>{Qi();Pc=rt(sn())});var Mc,$v=(e)=>typeof e==="function",Uc=(e)=>$v(e)?async()=>await e():Mc.fromStatic(e);var Fc=f(()=>{Mc=rt(sn())});var fo,jc=({environmentVariableSelector:e,configFileSelector:t,default:r},n={})=>{let{signingName:o,logger:i}=n;return fo.memoize(fo.chain(mc(e,{signingName:o,logger:i}),Lc(t,n),Uc(r)))};var Hc=f(()=>{fc();$c();Fc();fo=rt(sn())});var Bc=f(()=>{Hc()});var qc="AWS_ENDPOINT_URL",Vc="endpoint_url",Kc=(e)=>({environmentVariableSelector:(t)=>{let r=e.split(" ").map((i)=>i.toUpperCase()),n=t[[qc,...r].join("_")];if(n)return n;let o=t[qc];if(o)return o;return},configFileSelector:(t,r)=>{if(r&&t.services){let o=r[["services",t.services].join(yt)];if(o){let i=e.split(" ").map((a)=>a.toLowerCase()),s=o[[i.join("_"),Vc].join(yt)];if(s)return s}}let n=t[Vc];if(n)return n;return},default:void 0});var zc=f(()=>{Qi()});var Gc=async(e)=>jc(Kc(e??""))();var Xc=f(()=>{Bc();zc()});var Wc=Ne(function(Uv){function Mv(e){let t={};if(e=e.replace(/^\?/,""),e)for(let r of e.split("&")){let[n,o=null]=r.split("=");if(n=decodeURIComponent(n),o)o=decodeURIComponent(o);if(!(n in t))t[n]=o;else if(Array.isArray(t[n]))t[n].push(o);else t[n]=[t[n],o]}return t}Uv.parseQueryString=Mv});var Jc=Ne(function(Hv){var jv=Wc(),Yc=(e)=>{if(typeof e==="string")return Yc(new URL(e));let{hostname:t,pathname:r,port:n,protocol:o,search:i}=e,s;if(i)s=jv.parseQueryString(i);return{hostname:t,port:n?parseInt(n):void 0,protocol:o,path:r,query:s}};Hv.parseUrl=Yc});var Zi,Qc=(e)=>{if(typeof e==="object"){if("url"in e){let t=Zi.parseUrl(e.url);if(e.headers){t.headers={};for(let[r,n]of Object.entries(e.headers))t.headers[r.toLowerCase()]=n.join(", ")}return t}return e}return Zi.parseUrl(e)};var es=f(()=>{Zi=rt(Jc())});var Zc=async(e,t,r,n)=>{if(!r.isCustomEndpoint){let s;if(r.serviceConfiguredEndpoint)s=await r.serviceConfiguredEndpoint();else s=await Gc(r.serviceId);if(s)r.endpoint=()=>Promise.resolve(Qc(s)),r.isCustomEndpoint=!0}let o=await qv(e,t,r);if(typeof r.endpointProvider!=="function")throw Error("config.endpointProvider is not set.");let i=r.endpointProvider(o,n);if(r.isCustomEndpoint&&r.endpoint){let s=await r.endpoint();if(s?.headers){i.headers??={};for(let[a,d]of Object.entries(s.headers))i.headers[a]=Array.isArray(d)?d:[d]}}return i},qv=async(e,t,r)=>{let n={},o=t?.getEndpointParameterInstructions?.()||{};for(let[i,s]of Object.entries(o))switch(s.type){case"staticContextParams":n[i]=s.value;break;case"contextParams":n[i]=e[s.name];break;case"clientContextParams":case"builtInParams":n[i]=await uc(s.name,i,r,s.type!=="builtInParams")();break;case"operationContextParams":n[i]=s.get(e);break;default:throw Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(s))}if(Object.keys(o).length===0)Object.assign(n,r);if(String(r.serviceId).toLowerCase()==="s3")await dc(n);return n};var el=f(()=>{lc();Xc();es()});var tl=f(()=>{el();es()});var nl=Ne(function(zv){var rl=cn(),Vv=(e)=>e[rl.SMITHY_CONTEXT_KEY]||(e[rl.SMITHY_CONTEXT_KEY]={}),Kv=(e)=>{if(typeof e==="function")return e;let t=Promise.resolve(e);return()=>t};zv.getSmithyContext=Vv;zv.normalizeProvider=Kv});var ol=()=>{};var ts=Ne(function(ew){var Wv=cn(),Yv=(e)=>({setHttpHandler(t){e.httpHandler=t},httpHandler(){return e.httpHandler},updateHttpClientConfig(t,r){e.httpHandler?.updateHttpClientConfig(t,r)},httpHandlerConfigs(){return e.httpHandler.httpHandlerConfigs()}}),Jv=(e)=>({httpHandler:e.httpHandler()});class il{name;kind;values;constructor({name:e,kind:t=Wv.FieldPosition.HEADER,values:r=[]}){this.name=e,this.kind=t,this.values=r}add(e){this.values.push(e)}set(e){this.values=e}remove(e){this.values=this.values.filter((t)=>t!==e)}toString(){return this.values.map((e)=>e.includes(",")||e.includes(" ")?`"${e}"`:e).join(", ")}get(){return this.values}}class sl{entries={};encoding;constructor({fields:e=[],encoding:t="utf-8"}){e.forEach(this.setField.bind(this)),this.encoding=t}setField(e){this.entries[e.name.toLowerCase()]=e}getField(e){return this.entries[e.toLowerCase()]}removeField(e){delete this.entries[e.toLowerCase()]}getByType(e){return Object.values(this.entries).filter((t)=>t.kind===e)}}class go{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?e.protocol.slice(-1)!==":"?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?e.path.charAt(0)!=="/"?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(e){let t=new go({...e,headers:{...e.headers}});if(t.query)t.query=Qv(t.query);return t}static isInstance(e){if(!e)return!1;let t=e;return"method"in t&&"protocol"in t&&"hostname"in t&&"path"in t&&typeof t.query==="object"&&typeof t.headers==="object"}clone(){return go.clone(this)}}function Qv(e){return Object.keys(e).reduce((t,r)=>{let n=e[r];return{...t,[r]:Array.isArray(n)?[...n]:n}},{})}class al{statusCode;reason;headers;body;constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){if(!e)return!1;let t=e;return typeof t.statusCode==="number"&&typeof t.headers==="object"}}function Zv(e){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(e)}ew.Field=il;ew.Fields=sl;ew.HttpRequest=go;ew.HttpResponse=al;ew.getHttpHandlerExtensionConfiguration=Yv;ew.isValidHostname=Zv;ew.resolveHttpHandlerRuntimeConfig=Jv});var dl=()=>{};var cl=()=>{};var ll;var ul=f(()=>{ll={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0}});var pl=f(()=>{dl();ul();cl()});var Ok;var ml=f(()=>{pl();Ok={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:ll.name}});var fl=()=>{};var gl=()=>{};var hl=f(()=>{tl();ol();ml();fl();gl()});var yl=()=>{};var vl=()=>{};var wl=()=>{};var bl=()=>{};var xl=Ne(function(lw){var El={},rs={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();if(t.length===1)t=`0${t}`;El[e]=t,rs[t]=e}function dw(e){if(e.length%2!==0)throw Error("Hex encoded strings must have an even number length");let t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2){let n=e.slice(r,r+2).toLowerCase();if(n in rs)t[r/2]=rs[n];else throw Error(`Cannot decode unrecognized sequence ${n} as hexadecimal`)}return t}function cw(e){let t="";for(let r=0;r<e.byteLength;r++)t+=El[e[r]];return t}lw.fromHex=dw;lw.toHex=cw});var ns=Ne(function(fw){var mw=(e)=>typeof ArrayBuffer==="function"&&e instanceof ArrayBuffer||Object.prototype.toString.call(e)==="[object ArrayBuffer]";fw.isArrayBuffer=mw});var Sl=Ne(function(ww){var hw=ns(),os=py("buffer"),yw=(e,t=0,r=e.byteLength-t)=>{if(!hw.isArrayBuffer(e))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`);return os.Buffer.from(e,t,r)},vw=(e,t)=>{if(typeof e!=="string")throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return t?os.Buffer.from(e,t):os.Buffer.from(e)};ww.fromArrayBuffer=yw;ww.fromString=vw});var Rl=Ne(function(Iw){var Il=Sl(),Al=(e)=>{let t=Il.fromString(e,"utf8");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength/Uint8Array.BYTES_PER_ELEMENT)},xw=(e)=>{if(typeof e==="string")return Al(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(e)},Sw=(e)=>{if(typeof e==="string")return e;if(typeof e!=="object"||typeof e.byteOffset!=="number"||typeof e.byteLength!=="number")throw Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return Il.fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength).toString("utf8")};Iw.fromUtf8=Al;Iw.toUint8Array=xw;Iw.toUtf8=Sw});var gs=Ne(function(Uw){var Vt=xl(),or=Rl(),Tw=ns(),Cl=ts(),_l=nl(),ho=Mi(),Ol="X-Amz-Algorithm",Nl="X-Amz-Credential",as="X-Amz-Date",Dl="X-Amz-SignedHeaders",Pl="X-Amz-Expires",ds="X-Amz-Signature",cs="X-Amz-Security-Token",kw="X-Amz-Region-Set",ls="authorization",us=as.toLowerCase(),Ll="date",$l=[ls,us,Ll],Ml=ds.toLowerCase(),Eo="x-amz-content-sha256",Ul=cs.toLowerCase(),Cw="host",Fl={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},jl=/^proxy-/,Hl=/^sec-/,Ow=[/^proxy-/i,/^sec-/i],yo="AWS4-HMAC-SHA256",Nw="AWS4-ECDSA-P256-SHA256",Bl="AWS4-HMAC-SHA256-PAYLOAD",ql="UNSIGNED-PAYLOAD",Vl=50,ps="aws4_request",Kl=604800,br={},vo=[],wo=(e,t,r)=>`${e}/${t}/${r}/${ps}`,zl=async(e,t,r,n,o)=>{let i=await Tl(e,t.secretAccessKey,t.accessKeyId),s=`${r}:${n}:${o}:${Vt.toHex(i)}:${t.sessionToken}`;if(s in br)return br[s];vo.push(s);while(vo.length>Vl)delete br[vo.shift()];let a=`AWS4${t.secretAccessKey}`;for(let d of[r,n,o,ps])a=await Tl(e,a,d);return br[s]=a},Dw=()=>{vo.length=0,Object.keys(br).forEach((e)=>{delete br[e]})},Tl=(e,t,r)=>{let n=new e(t);return n.update(or.toUint8Array(r)),n.digest()},is=({headers:e},t,r)=>{let n={};for(let o of Object.keys(e).sort()){if(e[o]==null)continue;let i=o.toLowerCase();if(i in Fl||t?.has(i)||jl.test(i)||Hl.test(i)){if(!r||r&&!r.has(i))continue}n[i]=e[o].trim().replace(/\s+/g," ")}return n},bo=async({headers:e,body:t},r)=>{for(let n of Object.keys(e))if(n.toLowerCase()===Eo)return e[n];if(t==null)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";else if(typeof t==="string"||ArrayBuffer.isView(t)||Tw.isArrayBuffer(t)){let n=new r;return n.update(or.toUint8Array(t)),Vt.toHex(await n.digest())}return ql};class Gl{format(e){let t=[];for(let o of Object.keys(e)){let i=or.fromUtf8(o);t.push(Uint8Array.from([i.byteLength]),i,this.formatHeaderValue(e[o]))}let r=new Uint8Array(t.reduce((o,i)=>o+i.byteLength,0)),n=0;for(let o of t)r.set(o,n),n+=o.byteLength;return r}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":let t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case"integer":let r=new DataView(new ArrayBuffer(5));return r.setUint8(0,4),r.setInt32(1,e.value,!1),new Uint8Array(r.buffer);case"long":let n=new Uint8Array(9);return n[0]=5,n.set(e.value.bytes,1),n;case"binary":let o=new DataView(new ArrayBuffer(3+e.value.byteLength));o.setUint8(0,6),o.setUint16(1,e.value.byteLength,!1);let i=new Uint8Array(o.buffer);return i.set(e.value,3),i;case"string":let s=or.fromUtf8(e.value),a=new DataView(new ArrayBuffer(3+s.byteLength));a.setUint8(0,7),a.setUint16(1,s.byteLength,!1);let d=new Uint8Array(a.buffer);return d.set(s,3),d;case"timestamp":let c=new Uint8Array(9);return c[0]=8,c.set(ms.fromNumber(e.value.valueOf()).bytes,1),c;case"uuid":if(!Pw.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let l=new Uint8Array(17);return l[0]=9,l.set(Vt.fromHex(e.value.replace(/\-/g,"")),1),l}}}var Pw=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class ms{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>9223372036854776000||e<-9223372036854776000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let t=new Uint8Array(8);for(let r=7,n=Math.abs(Math.round(e));r>-1&&n>0;r--,n/=256)t[r]=n;if(e<0)kl(t);return new ms(t)}valueOf(){let e=this.bytes.slice(0),t=e[0]&128;if(t)kl(e);return parseInt(Vt.toHex(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}}function kl(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1;t--)if(e[t]++,e[t]!==0)break}var Xl=(e,t)=>{e=e.toLowerCase();for(let r of Object.keys(t))if(e===r.toLowerCase())return!0;return!1},Wl=(e,t={})=>{let{headers:r,query:n={}}=Cl.HttpRequest.clone(e);for(let o of Object.keys(r)){let i=o.toLowerCase();if(i.slice(0,6)==="x-amz-"&&!t.unhoistableHeaders?.has(i)||t.hoistableHeaders?.has(i))n[o]=r[o],delete r[o]}return{...e,headers:r,query:n}},ss=(e)=>{e=Cl.HttpRequest.clone(e);for(let t of Object.keys(e.headers))if($l.indexOf(t.toLowerCase())>-1)delete e.headers[t];return e},Yl=({query:e={}})=>{let t=[],r={};for(let n of Object.keys(e)){if(n.toLowerCase()===Ml)continue;let o=ho.escapeUri(n);t.push(o);let i=e[n];if(typeof i==="string")r[o]=`${o}=${ho.escapeUri(i)}`;else if(Array.isArray(i))r[o]=i.slice(0).reduce((s,a)=>s.concat([`${o}=${ho.escapeUri(a)}`]),[]).sort().join("&")}return t.sort().map((n)=>r[n]).filter((n)=>n).join("&")},Lw=(e)=>$w(e).toISOString().replace(/\.\d{3}Z$/,"Z"),$w=(e)=>{if(typeof e==="number")return new Date(e*1000);if(typeof e==="string"){if(Number(e))return new Date(Number(e)*1000);return new Date(e)}return e};class fs{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:t,region:r,service:n,sha256:o,uriEscapePath:i=!0}){this.service=n,this.sha256=o,this.uriEscapePath=i,this.applyChecksum=typeof e==="boolean"?e:!0,this.regionProvider=_l.normalizeProvider(r),this.credentialProvider=_l.normalizeProvider(t)}createCanonicalRequest(e,t,r){let n=Object.keys(t).sort();return`${e.method}
230
+ `;function Kd(e){if(!e.prepare("PRAGMA table_info(users)").all().some((i)=>i.name==="display_name"))e.exec("ALTER TABLE users ADD COLUMN display_name TEXT");if(e.exec("CREATE INDEX IF NOT EXISTS idx_users_api_key_hash ON users(api_key_hash)"),!e.prepare("PRAGMA table_info(file_versions)").all().some((i)=>i.name==="content_hash"))e.exec("ALTER TABLE file_versions ADD COLUMN content_hash TEXT");e.exec("CREATE UNIQUE INDEX IF NOT EXISTS file_versions_path_drive_version_uq ON file_versions(path, drive_id, version)");let o=e.prepare("PRAGMA table_info(comments)").all();for(let i of["quote_exact","quote_prefix","quote_suffix"])if(!o.some((s)=>s.name===i))e.exec(`ALTER TABLE comments ADD COLUMN ${i} TEXT`);e.exec("INSERT OR IGNORE INTO drive_members (drive_id, user_id, role) SELECT d.id, om.user_id, 'admin' FROM drives d JOIN org_members om ON om.org_id = d.org_id AND om.role = 'admin' WHERE NOT EXISTS (SELECT 1 FROM drive_members dm WHERE dm.drive_id = d.id)")}function nn(e){let t=e.prepare("SELECT sql FROM sqlite_master WHERE type = 'table' AND name = 'files_fts'").get();return!!t&&!/content\s*=/i.test(t.sql)}function Nt(e){if(ao.has(e))return!1;let t=e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get(nt);if(!t)ao.add(e);return!!t}function Ry(e,t){return!!e.prepare("SELECT 1 FROM meta WHERE key = ?").get(t)}function zd(e){return Nt(e)||Ry(e,Ni)}function Di(e){return e.transaction(()=>{if(nn(e))e.exec(`ALTER TABLE files_fts RENAME TO ${nt}`),ao.delete(e);e.exec(so)})(),zd(e)}async function Pi(e,t={}){let r={copied:0,skipped:0};if(!zd(e))return r;let n=t.log??(()=>{});if(Nt(e))await _y(e,r,t);return e.transaction(()=>{Gd(e,Ay),e.prepare("DELETE FROM meta WHERE key = ?").run(Ni)})(),n(`search index migration: done, ${r.copied} copied, ${r.skipped} skipped`),r}function Gd(e,t){e.prepare("INSERT INTO files_fts(files_fts, rank) VALUES ('crisismerge', ?)").run(t)}async function _y(e,t,r){let n=r.batchSize??xy,o=r.batchBytes??Sy,i=r.log??(()=>{});e.transaction(()=>{Gd(e,Iy),e.prepare("INSERT OR IGNORE INTO meta(key, value) VALUES (?, '1')").run(Ni)})();let s=e.prepare("SELECT value FROM meta WHERE key = ?"),a=e.prepare("INSERT INTO meta(key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value"),d=e.prepare(`SELECT rowid, drive_id, path, content FROM ${nt} WHERE rowid > ? ORDER BY rowid LIMIT ?`),c=e.prepare("SELECT 1 FROM files WHERE drive_id = ? AND path = ? AND is_deleted = 0"),l=e.prepare("SELECT 1 FROM files_fts_docs WHERE drive_id = ? AND path = ?"),u=e.prepare("INSERT INTO files_fts_docs(drive_id, path, content) VALUES (?, ?, ?)"),p=Number(s.get(Oi)?.value??0);i(`search index migration: starting at legacy rowid ${p}`);let m=e.transaction((v)=>{for(let S of v){if(!c.get(S.drive_id,S.path)||l.get(S.drive_id,S.path)){t.skipped++;continue}u.run(S.drive_id,S.path,S.content),t.copied++}p=v[v.length-1].rowid,a.run(Oi,String(p))}),g=0;for(;;){let v=d.all(p,n);if(v.length===0)break;let S=0;while(S<v.length){let A=S,D=0;do D+=v[A].content.length,A++;while(A<v.length&&D+v[A].content.length<=o);m(v.slice(S,A)),S=A,await Bun.sleep(0)}if(g+=v.length,g>=1000)g=0,i(`search index migration: ${t.copied} copied, ${t.skipped} skipped (legacy rowid ${p})`)}e.transaction(()=>{e.exec(`DROP TABLE ${nt}`),e.prepare("DELETE FROM meta WHERE key = ?").run(Oi)})(),ao.add(e)}var nt="files_fts_legacy",Oi="fts_migration_cursor",Ni="fts_migration_tuning",xy=50,Sy=524288,Iy=1000,Ay=16,ao;var yr=f(()=>{ao=new WeakSet});import{Database as Ty}from"bun:sqlite";import{drizzle as ky}from"drizzle-orm/bun-sqlite";import*as Xd from"sqlite-vec";import{existsSync as Cy,mkdirSync as Oy}from"fs";import{dirname as Ny}from"path";function Dy(e){Xd.load(e)}function Dt(e){let t=e??gr(),r=Ny(t);if(!Cy(r))Oy(r,{recursive:!0});let n=new Ty(t);if(Dy(n),n.exec("PRAGMA journal_mode=WAL;"),n.exec("PRAGMA foreign_keys=ON;"),n.exec(qd),n.exec(Vd),!nn(n))n.exec(so);return Kd(n),ky(n,{schema:ae})}var me=f(()=>{Ud();Ct();Bd();yr()});var Yd;var Wd=f(()=>{Yd={name:"agent-fs",version:"0.15.2",packageManager:"bun@1.4.1",private:!0,workspaces:["packages/*"],scripts:{typecheck:"tsc --build",test:"bun test packages/*/src/ live/src/lib/","test:coverage":"bun test --coverage packages/*/src/ live/src/lib/",build:"cd packages/cli && bun run build:npm","install-local":"bun run build && cd packages/cli && bun link","uninstall-local":"bun remove -g @desplega.ai/agent-fs && rm -f ~/.bun/bin/agent-fs","deploy:fly":"fly deploy -a agent-fs-taras"},devDependencies:{"@duckdb/node-api":"1.5.3-r.3","bun-types":"^1.4.0",msgpackr:"^1",typescript:"^5.7.0",yaml:"^2.8.2","zod-to-json-schema":"^3.25.1"},overrides:{chromadb:"npm:empty-npm-package@1.0.0","chromadb-default-embed":"npm:empty-npm-package@1.0.0","@xenova/transformers":"npm:empty-npm-package@1.0.0","tree-sitter-wasms":"npm:empty-npm-package@1.0.0","web-tree-sitter":"npm:empty-npm-package@1.0.0","cohere-ai":"npm:empty-npm-package@1.0.0",voyageai:"npm:empty-npm-package@1.0.0",ollama:"npm:empty-npm-package@1.0.0"}}});var Fe;var co=f(()=>{Wd();Fe=Yd.version});import{randomUUID as Jd}from"crypto";import{existsSync as Ly,readFileSync as $y,writeFileSync as My}from"fs";function rc(e=process.env){let t=e.ANONYMIZED_TELEMETRY?.trim().toLowerCase();if(t&&Zd.has(t))return!1;let r=e.DO_NOT_TRACK?.trim().toLowerCase();if(r&&!Zd.has(r))return!1;return!0}function ec(){let e=process.env.AGENT_FS_CLOUD?.trim().toLowerCase();return e==="true"||e==="1"}function Vy(){let e=process.env.DESPLEGA_TELEMETRY_ENV?.trim();if(e)return e;return"production"}function Ky(){let e=Y().telemetry?.installId;if(e)return e;let t=`install_${Jd().replace(/-/g,"").slice(0,16)}`;try{let r=Ye(),n=Ly(r)?JSON.parse($y(r,"utf-8")):{};return n.telemetry={...n.telemetry??{},installId:t},My(r,JSON.stringify(n,null,2)),t}catch{return`ephemeral_${Jd().replace(/-/g,"").slice(0,16)}`}}function uo(e){on.set(e,(on.get(e)??0)+1)}function zy(){return on.size>0}function tc(){let e={},t=0;for(let[r,n]of on)e[`ops_${r.replace(/-/g,"_")}`]=n,t+=n;return on.clear(),e.ops_total=t,e}function Li(e,t,r={},n=jy){if(!rc())return Promise.resolve();try{let o={product:Fy,event:t,occurred_at:new Date().toISOString(),source:"api-server",actor_mode:"anonymous",actor_anonymous_id:e,properties:{...r,is_cloud:ec(),version:Fe},metadata:{transport:"https",schema_version:1,environment:Vy(),is_cloud:ec()}};return fetch(Uy,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o),signal:AbortSignal.timeout(n)}).then(()=>{},()=>{})}catch{return Promise.resolve()}}function lo(e,t){try{return e.query(t).get()?.n??0}catch{return-1}}function Gy(e){let t=Y(),r=t.s3.provider.toLowerCase(),n=t.embedding.provider;return{users:lo(e,"SELECT count(*) AS n FROM users"),orgs:lo(e,"SELECT count(*) AS n FROM orgs"),drives:lo(e,"SELECT count(*) AS n FROM drives"),files:lo(e,"SELECT count(*) AS n FROM files WHERE is_deleted = 0"),storage_provider:By.has(r)?r:"other",embedding_provider:qy.has(n)?n:"other",os:process.platform,arch:process.arch}}function $i(e){let t=()=>Promise.resolve();if(!rc())return t;let r;try{r=Ky()}catch{return t}let n=()=>{try{return Gy(e)}catch{return{}}};Li(r,"server.started",n());let o=setInterval(()=>{Li(r,"server.heartbeat",{...n(),...tc()})},Hy);o.unref();let i=!1;return()=>{if(i)return Promise.resolve();if(i=!0,clearInterval(o),!zy())return Promise.resolve();let s=Li(r,"server.heartbeat",{...n(),...tc(),shutdown:!0},Qd),a=new Promise((d)=>setTimeout(d,Qd).unref());return Promise.race([s,a])}}var Uy="https://proxy.desplega.sh/v1/events",Fy="agent-fs",jy=5000,Hy=86400000,Qd=1500,Zd,By,qy,on;var po=f(()=>{Ct();co();Zd=new Set(["false","0","no","off"]),By=new Set(["minio","s3","r2","tigris","local"]),qy=new Set(["local","openai","gemini"]);on=new Map});var Mi=Ne(function(Yy){var nc=(e)=>encodeURIComponent(e).replace(/[!'()*]/g,Xy),Xy=(e)=>`%${e.charCodeAt(0).toString(16).toUpperCase()}`,Wy=(e)=>e.split("/").map(nc).join("/");Yy.escapeUri=nc;Yy.escapeUriPath=Wy});var oc=Ne(function(ev){var Ui=Mi();function Zy(e){let t=[];for(let r of Object.keys(e).sort()){let n=e[r];if(r=Ui.escapeUri(r),Array.isArray(n))for(let o=0,i=n.length;o<i;o++)t.push(`${r}=${Ui.escapeUri(n[o])}`);else{let o=r;if(n||typeof n==="string")o+=`=${Ui.escapeUri(n)}`;t.push(o)}}return t.join("&")}ev.buildQueryString=Zy});function sc(e){let{port:t,query:r}=e,{protocol:n,path:o,hostname:i}=e;if(n&&n.slice(-1)!==":")n+=":";if(t)i+=`:${t}`;if(o&&o.charAt(0)!=="/")o=`/${o}`;let s=r?ic.buildQueryString(r):"";if(s&&s[0]!=="?")s=`?${s}`;let a="";if(e.username!=null||e.password!=null){let c=e.username??"",l=e.password??"";a=`${c}:${l}@`}let d="";if(e.fragment)d=`#${e.fragment}`;return`${n}//${a}${i}${o}${s}${d}`}var ic;var ac=f(()=>{ic=rt(oc())});var dc=async(e)=>{let t=e?.Bucket||"";if(typeof e.Bucket==="string")e.Bucket=t.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"));if(sv(t)){if(e.ForcePathStyle===!0)throw Error("Path-style addressing cannot be used with ARN buckets")}else if(!iv(t)||t.indexOf(".")!==-1&&!String(e.Endpoint).startsWith("http:")||t.toLowerCase()!==t||t.length<3)e.ForcePathStyle=!0;if(e.DisableMultiRegionAccessPoints)e.disableMultiRegionAccessPoints=!0,e.DisableMRAP=!0;return e},rv,nv,ov,iv=(e)=>rv.test(e)&&!nv.test(e)&&!ov.test(e),sv=(e)=>{let[t,r,n,,,o]=e.split(":"),i=t==="arn"&&e.split(":").length>=6,s=Boolean(i&&r&&n&&o);if(i&&!s)throw Error(`Invalid ARN: ${e} was an invalid ARN.`);return s};var cc=f(()=>{rv=/^[a-z0-9][a-z0-9\.\-]{1,61}[a-z0-9]$/,nv=/(\d+\.){3}\d+/,ov=/\.\./});var lc=f(()=>{cc()});var uc=(e,t,r,n=!1)=>{let o=async()=>{let i;if(n)i=r.clientContextParams?.[e]??r[e]??r[t];else i=r[e]??r[t];if(typeof i==="function")return i();return i};if(e==="credentialScope"||t==="CredentialScope")return async()=>{let i=typeof r.credentials==="function"?await r.credentials():r.credentials;return i?.credentialScope??i?.CredentialScope};if(e==="accountId"||t==="AccountId")return async()=>{let i=typeof r.credentials==="function"?await r.credentials():r.credentials;return i?.accountId??i?.AccountId};if(e==="endpoint"||t==="endpoint")return async()=>{if(r.isCustomEndpoint===!1)return;let i=await o();if(i&&typeof i==="object"){if("url"in i)return i.url.href;if("hostname"in i){let{protocol:s,hostname:a,port:d,path:c}=i;return`${s}//${a}${d?":"+d:""}${c}`}}return i};return o};var sn=Ne(function(lv){class vr extends Error{name="ProviderError";tryNextLink;constructor(e,t=!0){let r,n=!0;if(typeof t==="boolean")r=void 0,n=t;else if(t!=null&&typeof t==="object")r=t.logger,n=t.tryNextLink??!0;super(e);this.tryNextLink=n,Object.setPrototypeOf(this,vr.prototype),r?.debug?.(`@smithy/property-provider ${n?"->":"(!)"} ${e}`)}static from(e,t=!0){return Object.assign(new this(e.message,t),e)}}class Fi extends vr{name="CredentialsProviderError";constructor(e,t=!0){super(e,t);Object.setPrototypeOf(this,Fi.prototype)}}class ji extends vr{name="TokenProviderError";constructor(e,t=!0){super(e,t);Object.setPrototypeOf(this,ji.prototype)}}var av=(...e)=>async()=>{if(e.length===0)throw new vr("No providers in chain");let t;for(let r of e)try{return await r()}catch(n){if(t=n,n?.tryNextLink)continue;throw n}throw t},dv=(e)=>()=>Promise.resolve(e),cv=(e,t,r)=>{let n,o,i,s=!1,a=async()=>{if(!o)o=e();try{n=await o,i=!0,s=!1}finally{o=void 0}return n};if(t===void 0)return async(d)=>{if(!i||d?.forceRefresh)n=await a();return n};return async(d)=>{if(!i||d?.forceRefresh)n=await a();if(s)return n;if(r&&!r(n))return s=!0,n;if(t(n))return await a(),n;return n}};lv.CredentialsProviderError=Fi;lv.ProviderError=vr;lv.TokenProviderError=ji;lv.chain=av;lv.fromStatic=dv;lv.memoize=cv});function mo(e){try{let t=new Set(Array.from(e.match(/([A-Z_]){3,}/g)??[]));return t.delete("CONFIG"),t.delete("CONFIG_PREFIX_SEPARATOR"),t.delete("ENV"),[...t].join(", ")}catch(t){return e}}var pc,mc=(e,t)=>async()=>{try{let r=e(process.env,t);if(r===void 0)throw Error();return r}catch(r){throw new pc.CredentialsProviderError(r.message||`Not found in ENV: ${mo(e.toString())}`,{logger:t?.logger})}};var fc=f(()=>{pc=rt(sn())});import{homedir as yv}from"os";import{sep as vv}from"path";var Hi,wv=()=>{if(process&&process.geteuid)return`${process.geteuid()}`;return"DEFAULT"},wr=()=>{let{HOME:e,USERPROFILE:t,HOMEPATH:r,HOMEDRIVE:n=`C:${vv}`}=process.env;if(e)return e;if(t)return t;if(r)return`${n}${r}`;let o=wv();if(!Hi[o])Hi[o]=yv();return Hi[o]};var an=f(()=>{Hi={}});var gc=(e)=>e.profile||process.env.AWS_PROFILE||"default";var hc=()=>{};var cn=Ne(function(Av){Av.HttpAuthLocation=void 0;(function(e){e.HEADER="header",e.QUERY="query"})(Av.HttpAuthLocation||(Av.HttpAuthLocation={}));Av.HttpApiKeyAuthLocation=void 0;(function(e){e.HEADER="header",e.QUERY="query"})(Av.HttpApiKeyAuthLocation||(Av.HttpApiKeyAuthLocation={}));Av.EndpointURLScheme=void 0;(function(e){e.HTTP="http",e.HTTPS="https"})(Av.EndpointURLScheme||(Av.EndpointURLScheme={}));Av.AlgorithmId=void 0;(function(e){e.MD5="md5",e.CRC32="crc32",e.CRC32C="crc32c",e.SHA1="sha1",e.SHA256="sha256"})(Av.AlgorithmId||(Av.AlgorithmId={}));var bv=(e)=>{let t=[];if(e.sha256!==void 0)t.push({algorithmId:()=>Av.AlgorithmId.SHA256,checksumConstructor:()=>e.sha256});if(e.md5!=null)t.push({algorithmId:()=>Av.AlgorithmId.MD5,checksumConstructor:()=>e.md5});return{addChecksumAlgorithm(r){t.push(r)},checksumAlgorithms(){return t}}},Ev=(e)=>{let t={};return e.checksumAlgorithms().forEach((r)=>{t[r.algorithmId()]=r.checksumConstructor()}),t},xv=(e)=>bv(e),Sv=(e)=>Ev(e);Av.FieldPosition=void 0;(function(e){e[e.HEADER=0]="HEADER",e[e.TRAILER=1]="TRAILER"})(Av.FieldPosition||(Av.FieldPosition={}));var Iv="__smithy_context";Av.IniSectionType=void 0;(function(e){e.PROFILE="profile",e.SSO_SESSION="sso-session",e.SERVICES="services"})(Av.IniSectionType||(Av.IniSectionType={}));Av.RequestHandlerProtocol=void 0;(function(e){e.HTTP_0_9="http/0.9",e.HTTP_1_0="http/1.0",e.TDS_8_0="tds/8.0"})(Av.RequestHandlerProtocol||(Av.RequestHandlerProtocol={}));Av.SMITHY_CONTEXT_KEY=Iv;Av.getDefaultClientConfiguration=xv;Av.resolveDefaultRuntimeConfig=Sv});var yt=".";var Xi,yc=(e)=>Object.entries(e).filter(([t])=>{let r=t.indexOf(yt);if(r===-1)return!1;return Object.values(Xi.IniSectionType).includes(t.substring(0,r))}).reduce((t,[r,n])=>{let o=r.indexOf(yt),i=r.substring(0,o)===Xi.IniSectionType.PROFILE?r.substring(o+1):r;return t[i]=n,t},{...e.default&&{default:e.default}});var vc=f(()=>{Xi=rt(cn())});import{join as kv}from"path";var Cv="AWS_CONFIG_FILE",wc=()=>process.env[Cv]||kv(wr(),".aws","config");var bc=f(()=>{an()});import{join as Ov}from"path";var Nv="AWS_SHARED_CREDENTIALS_FILE",Ec=()=>process.env[Nv]||Ov(wr(),".aws","credentials");var xc=f(()=>{an()});var Sc,Dv,Pv,Wi=(e)=>{let t={},r,n;for(let o of e.split(/\r?\n/)){let i=o.split(/(^|\s)[;#]/)[0].trim();if(i[0]==="["&&i[i.length-1]==="]"){r=void 0,n=void 0;let a=i.substring(1,i.length-1),d=Dv.exec(a);if(d){let[,c,,l]=d;if(Object.values(Sc.IniSectionType).includes(c))r=[c,l].join(yt)}else r=a;if(Pv.includes(a))throw Error(`Found invalid profile name "${a}"`)}else if(r){let a=i.indexOf("=");if(![0,-1].includes(a)){let[d,c]=[i.substring(0,a).trim(),i.substring(a+1).trim()];if(c==="")n=d;else{if(n&&o.trimStart()===o)n=void 0;t[r]=t[r]||{};let l=n?[n,d].join(yt):d;t[r][l]=c}}}}return t};var Ic=f(()=>{Sc=rt(cn()),Dv=/^([\w-]+)\s(["'])?([\w-@\+\.%:/]+)\2$/,Pv=["__proto__","profile __proto__"]});import{readFile as Lv}from"fs/promises";var Yi,Ac,Ji=(e,t)=>{if(Ac[e]!==void 0)return Ac[e];if(!Yi[e]||t?.ignoreCache)Yi[e]=Lv(e,"utf8");return Yi[e]};var Rc=f(()=>{Yi={},Ac={}});import{join as _c}from"path";var Tc=()=>({}),kc=async(e={})=>{let{filepath:t=Ec(),configFilepath:r=wc()}=e,n=wr(),o="~/",i=t;if(t.startsWith("~/"))i=_c(n,t.slice(2));let s=r;if(r.startsWith("~/"))s=_c(n,r.slice(2));let a=await Promise.all([Ji(s,{ignoreCache:e.ignoreCache}).then(Wi).then(yc).catch(Tc),Ji(i,{ignoreCache:e.ignoreCache}).then(Wi).catch(Tc)]);return{configFile:a[0],credentialsFile:a[1]}};var Cc=f(()=>{vc();bc();xc();an();Ic();Rc()});var Oc=()=>{};var Nc=()=>{};var Dc=()=>{};var Qi=f(()=>{an();hc();Cc();Oc();Nc();Dc()});var Pc,Lc=(e,{preferredFile:t="config",...r}={})=>async()=>{let n=gc(r),{configFile:o,credentialsFile:i}=await kc(r),s=i[n]||{},a=o[n]||{},d=t==="config"?{...s,...a}:{...a,...s};try{let l=e(d,t==="config"?o:i);if(l===void 0)throw Error();return l}catch(c){throw new Pc.CredentialsProviderError(c.message||`Not found in config files w/ profile [${n}]: ${mo(e.toString())}`,{logger:r.logger})}};var $c=f(()=>{Qi();Pc=rt(sn())});var Mc,$v=(e)=>typeof e==="function",Uc=(e)=>$v(e)?async()=>await e():Mc.fromStatic(e);var Fc=f(()=>{Mc=rt(sn())});var fo,jc=({environmentVariableSelector:e,configFileSelector:t,default:r},n={})=>{let{signingName:o,logger:i}=n;return fo.memoize(fo.chain(mc(e,{signingName:o,logger:i}),Lc(t,n),Uc(r)))};var Hc=f(()=>{fc();$c();Fc();fo=rt(sn())});var Bc=f(()=>{Hc()});var qc="AWS_ENDPOINT_URL",Vc="endpoint_url",Kc=(e)=>({environmentVariableSelector:(t)=>{let r=e.split(" ").map((i)=>i.toUpperCase()),n=t[[qc,...r].join("_")];if(n)return n;let o=t[qc];if(o)return o;return},configFileSelector:(t,r)=>{if(r&&t.services){let o=r[["services",t.services].join(yt)];if(o){let i=e.split(" ").map((a)=>a.toLowerCase()),s=o[[i.join("_"),Vc].join(yt)];if(s)return s}}let n=t[Vc];if(n)return n;return},default:void 0});var zc=f(()=>{Qi()});var Gc=async(e)=>jc(Kc(e??""))();var Xc=f(()=>{Bc();zc()});var Wc=Ne(function(Uv){function Mv(e){let t={};if(e=e.replace(/^\?/,""),e)for(let r of e.split("&")){let[n,o=null]=r.split("=");if(n=decodeURIComponent(n),o)o=decodeURIComponent(o);if(!(n in t))t[n]=o;else if(Array.isArray(t[n]))t[n].push(o);else t[n]=[t[n],o]}return t}Uv.parseQueryString=Mv});var Jc=Ne(function(Hv){var jv=Wc(),Yc=(e)=>{if(typeof e==="string")return Yc(new URL(e));let{hostname:t,pathname:r,port:n,protocol:o,search:i}=e,s;if(i)s=jv.parseQueryString(i);return{hostname:t,port:n?parseInt(n):void 0,protocol:o,path:r,query:s}};Hv.parseUrl=Yc});var Zi,Qc=(e)=>{if(typeof e==="object"){if("url"in e){let t=Zi.parseUrl(e.url);if(e.headers){t.headers={};for(let[r,n]of Object.entries(e.headers))t.headers[r.toLowerCase()]=n.join(", ")}return t}return e}return Zi.parseUrl(e)};var es=f(()=>{Zi=rt(Jc())});var Zc=async(e,t,r,n)=>{if(!r.isCustomEndpoint){let s;if(r.serviceConfiguredEndpoint)s=await r.serviceConfiguredEndpoint();else s=await Gc(r.serviceId);if(s)r.endpoint=()=>Promise.resolve(Qc(s)),r.isCustomEndpoint=!0}let o=await qv(e,t,r);if(typeof r.endpointProvider!=="function")throw Error("config.endpointProvider is not set.");let i=r.endpointProvider(o,n);if(r.isCustomEndpoint&&r.endpoint){let s=await r.endpoint();if(s?.headers){i.headers??={};for(let[a,d]of Object.entries(s.headers))i.headers[a]=Array.isArray(d)?d:[d]}}return i},qv=async(e,t,r)=>{let n={},o=t?.getEndpointParameterInstructions?.()||{};for(let[i,s]of Object.entries(o))switch(s.type){case"staticContextParams":n[i]=s.value;break;case"contextParams":n[i]=e[s.name];break;case"clientContextParams":case"builtInParams":n[i]=await uc(s.name,i,r,s.type!=="builtInParams")();break;case"operationContextParams":n[i]=s.get(e);break;default:throw Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(s))}if(Object.keys(o).length===0)Object.assign(n,r);if(String(r.serviceId).toLowerCase()==="s3")await dc(n);return n};var el=f(()=>{lc();Xc();es()});var tl=f(()=>{el();es()});var nl=Ne(function(zv){var rl=cn(),Vv=(e)=>e[rl.SMITHY_CONTEXT_KEY]||(e[rl.SMITHY_CONTEXT_KEY]={}),Kv=(e)=>{if(typeof e==="function")return e;let t=Promise.resolve(e);return()=>t};zv.getSmithyContext=Vv;zv.normalizeProvider=Kv});var ol=()=>{};var ts=Ne(function(ew){var Wv=cn(),Yv=(e)=>({setHttpHandler(t){e.httpHandler=t},httpHandler(){return e.httpHandler},updateHttpClientConfig(t,r){e.httpHandler?.updateHttpClientConfig(t,r)},httpHandlerConfigs(){return e.httpHandler.httpHandlerConfigs()}}),Jv=(e)=>({httpHandler:e.httpHandler()});class il{name;kind;values;constructor({name:e,kind:t=Wv.FieldPosition.HEADER,values:r=[]}){this.name=e,this.kind=t,this.values=r}add(e){this.values.push(e)}set(e){this.values=e}remove(e){this.values=this.values.filter((t)=>t!==e)}toString(){return this.values.map((e)=>e.includes(",")||e.includes(" ")?`"${e}"`:e).join(", ")}get(){return this.values}}class sl{entries={};encoding;constructor({fields:e=[],encoding:t="utf-8"}){e.forEach(this.setField.bind(this)),this.encoding=t}setField(e){this.entries[e.name.toLowerCase()]=e}getField(e){return this.entries[e.toLowerCase()]}removeField(e){delete this.entries[e.toLowerCase()]}getByType(e){return Object.values(this.entries).filter((t)=>t.kind===e)}}class go{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(e){this.method=e.method||"GET",this.hostname=e.hostname||"localhost",this.port=e.port,this.query=e.query||{},this.headers=e.headers||{},this.body=e.body,this.protocol=e.protocol?e.protocol.slice(-1)!==":"?`${e.protocol}:`:e.protocol:"https:",this.path=e.path?e.path.charAt(0)!=="/"?`/${e.path}`:e.path:"/",this.username=e.username,this.password=e.password,this.fragment=e.fragment}static clone(e){let t=new go({...e,headers:{...e.headers}});if(t.query)t.query=Qv(t.query);return t}static isInstance(e){if(!e)return!1;let t=e;return"method"in t&&"protocol"in t&&"hostname"in t&&"path"in t&&typeof t.query==="object"&&typeof t.headers==="object"}clone(){return go.clone(this)}}function Qv(e){return Object.keys(e).reduce((t,r)=>{let n=e[r];return{...t,[r]:Array.isArray(n)?[...n]:n}},{})}class al{statusCode;reason;headers;body;constructor(e){this.statusCode=e.statusCode,this.reason=e.reason,this.headers=e.headers||{},this.body=e.body}static isInstance(e){if(!e)return!1;let t=e;return typeof t.statusCode==="number"&&typeof t.headers==="object"}}function Zv(e){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(e)}ew.Field=il;ew.Fields=sl;ew.HttpRequest=go;ew.HttpResponse=al;ew.getHttpHandlerExtensionConfiguration=Yv;ew.isValidHostname=Zv;ew.resolveHttpHandlerRuntimeConfig=Jv});var dl=()=>{};var cl=()=>{};var ll;var ul=f(()=>{ll={name:"serializerMiddleware",step:"serialize",tags:["SERIALIZER"],override:!0}});var pl=f(()=>{dl();ul();cl()});var Ok;var ml=f(()=>{pl();Ok={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:!0,relation:"before",toMiddleware:ll.name}});var fl=()=>{};var gl=()=>{};var hl=f(()=>{tl();ol();ml();fl();gl()});var yl=()=>{};var vl=()=>{};var wl=()=>{};var bl=()=>{};var xl=Ne(function(lw){var El={},rs={};for(let e=0;e<256;e++){let t=e.toString(16).toLowerCase();if(t.length===1)t=`0${t}`;El[e]=t,rs[t]=e}function dw(e){if(e.length%2!==0)throw Error("Hex encoded strings must have an even number length");let t=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2){let n=e.slice(r,r+2).toLowerCase();if(n in rs)t[r/2]=rs[n];else throw Error(`Cannot decode unrecognized sequence ${n} as hexadecimal`)}return t}function cw(e){let t="";for(let r=0;r<e.byteLength;r++)t+=El[e[r]];return t}lw.fromHex=dw;lw.toHex=cw});var ns=Ne(function(fw){var mw=(e)=>typeof ArrayBuffer==="function"&&e instanceof ArrayBuffer||Object.prototype.toString.call(e)==="[object ArrayBuffer]";fw.isArrayBuffer=mw});var Sl=Ne(function(ww){var hw=ns(),os=py("buffer"),yw=(e,t=0,r=e.byteLength-t)=>{if(!hw.isArrayBuffer(e))throw TypeError(`The "input" argument must be ArrayBuffer. Received type ${typeof e} (${e})`);return os.Buffer.from(e,t,r)},vw=(e,t)=>{if(typeof e!=="string")throw TypeError(`The "input" argument must be of type string. Received type ${typeof e} (${e})`);return t?os.Buffer.from(e,t):os.Buffer.from(e)};ww.fromArrayBuffer=yw;ww.fromString=vw});var Rl=Ne(function(Iw){var Il=Sl(),Al=(e)=>{let t=Il.fromString(e,"utf8");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength/Uint8Array.BYTES_PER_ELEMENT)},xw=(e)=>{if(typeof e==="string")return Al(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength/Uint8Array.BYTES_PER_ELEMENT);return new Uint8Array(e)},Sw=(e)=>{if(typeof e==="string")return e;if(typeof e!=="object"||typeof e.byteOffset!=="number"||typeof e.byteLength!=="number")throw Error("@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.");return Il.fromArrayBuffer(e.buffer,e.byteOffset,e.byteLength).toString("utf8")};Iw.fromUtf8=Al;Iw.toUint8Array=xw;Iw.toUtf8=Sw});var gs=Ne(function(Uw){var Vt=xl(),or=Rl(),Tw=ns(),Cl=ts(),_l=nl(),ho=Mi(),Ol="X-Amz-Algorithm",Nl="X-Amz-Credential",as="X-Amz-Date",Dl="X-Amz-SignedHeaders",Pl="X-Amz-Expires",ds="X-Amz-Signature",cs="X-Amz-Security-Token",kw="X-Amz-Region-Set",ls="authorization",us=as.toLowerCase(),Ll="date",$l=[ls,us,Ll],Ml=ds.toLowerCase(),Eo="x-amz-content-sha256",Ul=cs.toLowerCase(),Cw="host",Fl={authorization:!0,"cache-control":!0,connection:!0,expect:!0,from:!0,"keep-alive":!0,"max-forwards":!0,pragma:!0,referer:!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0,"user-agent":!0,"x-amzn-trace-id":!0},jl=/^proxy-/,Hl=/^sec-/,Ow=[/^proxy-/i,/^sec-/i],yo="AWS4-HMAC-SHA256",Nw="AWS4-ECDSA-P256-SHA256",Bl="AWS4-HMAC-SHA256-PAYLOAD",ql="UNSIGNED-PAYLOAD",Vl=50,ps="aws4_request",Kl=604800,br={},vo=[],wo=(e,t,r)=>`${e}/${t}/${r}/${ps}`,zl=async(e,t,r,n,o)=>{let i=await Tl(e,t.secretAccessKey,t.accessKeyId),s=`${r}:${n}:${o}:${Vt.toHex(i)}:${t.sessionToken}`;if(s in br)return br[s];vo.push(s);while(vo.length>Vl)delete br[vo.shift()];let a=`AWS4${t.secretAccessKey}`;for(let d of[r,n,o,ps])a=await Tl(e,a,d);return br[s]=a},Dw=()=>{vo.length=0,Object.keys(br).forEach((e)=>{delete br[e]})},Tl=(e,t,r)=>{let n=new e(t);return n.update(or.toUint8Array(r)),n.digest()},is=({headers:e},t,r)=>{let n={};for(let o of Object.keys(e).sort()){if(e[o]==null)continue;let i=o.toLowerCase();if(i in Fl||t?.has(i)||jl.test(i)||Hl.test(i)){if(!r||r&&!r.has(i))continue}n[i]=e[o].trim().replace(/\s+/g," ")}return n},bo=async({headers:e,body:t},r)=>{for(let n of Object.keys(e))if(n.toLowerCase()===Eo)return e[n];if(t==null)return"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";else if(typeof t==="string"||ArrayBuffer.isView(t)||Tw.isArrayBuffer(t)){let n=new r;return n.update(or.toUint8Array(t)),Vt.toHex(await n.digest())}return ql};class Gl{format(e){let t=[];for(let o of Object.keys(e)){let i=or.fromUtf8(o);t.push(Uint8Array.from([i.byteLength]),i,this.formatHeaderValue(e[o]))}let r=new Uint8Array(t.reduce((o,i)=>o+i.byteLength,0)),n=0;for(let o of t)r.set(o,n),n+=o.byteLength;return r}formatHeaderValue(e){switch(e.type){case"boolean":return Uint8Array.from([e.value?0:1]);case"byte":return Uint8Array.from([2,e.value]);case"short":let t=new DataView(new ArrayBuffer(3));return t.setUint8(0,3),t.setInt16(1,e.value,!1),new Uint8Array(t.buffer);case"integer":let r=new DataView(new ArrayBuffer(5));return r.setUint8(0,4),r.setInt32(1,e.value,!1),new Uint8Array(r.buffer);case"long":let n=new Uint8Array(9);return n[0]=5,n.set(e.value.bytes,1),n;case"binary":let o=new DataView(new ArrayBuffer(3+e.value.byteLength));o.setUint8(0,6),o.setUint16(1,e.value.byteLength,!1);let i=new Uint8Array(o.buffer);return i.set(e.value,3),i;case"string":let s=or.fromUtf8(e.value),a=new DataView(new ArrayBuffer(3+s.byteLength));a.setUint8(0,7),a.setUint16(1,s.byteLength,!1);let d=new Uint8Array(a.buffer);return d.set(s,3),d;case"timestamp":let c=new Uint8Array(9);return c[0]=8,c.set(ms.fromNumber(e.value.valueOf()).bytes,1),c;case"uuid":if(!Pw.test(e.value))throw Error(`Invalid UUID received: ${e.value}`);let l=new Uint8Array(17);return l[0]=9,l.set(Vt.fromHex(e.value.replace(/\-/g,"")),1),l}}}var Pw=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;class ms{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>9223372036854776000||e<-9223372036854776000)throw Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let t=new Uint8Array(8);for(let r=7,n=Math.abs(Math.round(e));r>-1&&n>0;r--,n/=256)t[r]=n;if(e<0)kl(t);return new ms(t)}valueOf(){let e=this.bytes.slice(0),t=e[0]&128;if(t)kl(e);return parseInt(Vt.toHex(e),16)*(t?-1:1)}toString(){return String(this.valueOf())}}function kl(e){for(let t=0;t<8;t++)e[t]^=255;for(let t=7;t>-1;t--)if(e[t]++,e[t]!==0)break}var Xl=(e,t)=>{e=e.toLowerCase();for(let r of Object.keys(t))if(e===r.toLowerCase())return!0;return!1},Wl=(e,t={})=>{let{headers:r,query:n={}}=Cl.HttpRequest.clone(e);for(let o of Object.keys(r)){let i=o.toLowerCase();if(i.slice(0,6)==="x-amz-"&&!t.unhoistableHeaders?.has(i)||t.hoistableHeaders?.has(i))n[o]=r[o],delete r[o]}return{...e,headers:r,query:n}},ss=(e)=>{e=Cl.HttpRequest.clone(e);for(let t of Object.keys(e.headers))if($l.indexOf(t.toLowerCase())>-1)delete e.headers[t];return e},Yl=({query:e={}})=>{let t=[],r={};for(let n of Object.keys(e)){if(n.toLowerCase()===Ml)continue;let o=ho.escapeUri(n);t.push(o);let i=e[n];if(typeof i==="string")r[o]=`${o}=${ho.escapeUri(i)}`;else if(Array.isArray(i))r[o]=i.slice(0).reduce((s,a)=>s.concat([`${o}=${ho.escapeUri(a)}`]),[]).sort().join("&")}return t.sort().map((n)=>r[n]).filter((n)=>n).join("&")},Lw=(e)=>$w(e).toISOString().replace(/\.\d{3}Z$/,"Z"),$w=(e)=>{if(typeof e==="number")return new Date(e*1000);if(typeof e==="string"){if(Number(e))return new Date(Number(e)*1000);return new Date(e)}return e};class fs{service;regionProvider;credentialProvider;sha256;uriEscapePath;applyChecksum;constructor({applyChecksum:e,credentials:t,region:r,service:n,sha256:o,uriEscapePath:i=!0}){this.service=n,this.sha256=o,this.uriEscapePath=i,this.applyChecksum=typeof e==="boolean"?e:!0,this.regionProvider=_l.normalizeProvider(r),this.credentialProvider=_l.normalizeProvider(t)}createCanonicalRequest(e,t,r){let n=Object.keys(t).sort();return`${e.method}
231
231
  ${this.getCanonicalPath(e)}
232
232
  ${Yl(e)}
233
233
  ${n.map((o)=>`${o}:${t[o]}`).join(`
@@ -1,7 +1,7 @@
1
1
  {
2
- "version": "0.15.1",
2
+ "version": "0.15.2",
3
3
  "binaries": {
4
- "linux-x64": "sha256:473c77c7c38ff079d6c7dee3ce2b0cca1471d0d1d941a0a3c267aff29dc9b664",
5
- "linux-arm64": "sha256:b0f8684765c66637ac3340c24a7b01c0a2a63cd396f36825a2bb09434a77f31f"
4
+ "linux-x64": "sha256:4f81f5b39d40c3ec24451df3ce0751e2a8d3914203a95164aa36f6e66b5249e3",
5
+ "linux-arm64": "sha256:499505114a457a182b8e613cda033ad7f4117d223dbe2eb0ad6e02059a5a386c"
6
6
  }
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@desplega.ai/agent-fs",
3
- "version": "0.15.1",
3
+ "version": "0.15.2",
4
4
  "type": "module",
5
5
  "description": "Agent-first filesystem backed by S3",
6
6
  "license": "MIT",
@@ -36,8 +36,8 @@
36
36
  "sqlite-vec-linux-arm64": "^0.1.9",
37
37
  "sqlite-vec-linux-x64": "^0.1.9",
38
38
  "sqlite-vec-windows-x64": "^0.1.9",
39
- "@desplega.ai/agent-fs-fuse-linux-x64": "^0.15.1",
40
- "@desplega.ai/agent-fs-fuse-linux-arm64": "^0.15.1"
39
+ "@desplega.ai/agent-fs-fuse-linux-x64": "^0.15.2",
40
+ "@desplega.ai/agent-fs-fuse-linux-arm64": "^0.15.2"
41
41
  },
42
42
  "dependencies": {
43
43
  "@aws-sdk/client-s3": "^3.750.0",