diff --git a/latest.json b/latest.json index 823e6f1..3b457dd 100644 --- a/latest.json +++ b/latest.json @@ -1,4 +1,4 @@ { - "version": "0.0.12", + "version": "0.0.13", "updateCommand": "/plugin marketplace update supermemory-plugins\n/plugin install supermemory@supermemory-plugins\n\nOnly if you still have the old \"claude-supermemory\" plugin, also remove it:\n/plugin uninstall claude-supermemory@supermemory-plugins" } diff --git a/package-lock.json b/package-lock.json index 4af5ef4..4e70997 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "claude-supermemory-dev", - "version": "0.0.12", + "version": "0.0.13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "claude-supermemory-dev", - "version": "0.0.12", + "version": "0.0.13", "dependencies": { "supermemory": "^4.0.0" }, diff --git a/package.json b/package.json index c0dc966..0048004 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "claude-supermemory-dev", - "version": "0.0.12", + "version": "0.0.13", "description": "Claude code plugin by Supermemory AI", "private": true, "type": "commonjs", diff --git a/plugin/.claude-plugin/plugin.json b/plugin/.claude-plugin/plugin.json index 1872e51..ab4aec7 100644 --- a/plugin/.claude-plugin/plugin.json +++ b/plugin/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "supermemory", "displayName": "Supermemory", - "version": "0.0.12", + "version": "0.0.13", "description": "Persistent memory across Claude Code sessions using Supermemory", "author": { "name": "Supermemory", diff --git a/plugin/package-lock.json b/plugin/package-lock.json index b6c61d2..3b64b48 100644 --- a/plugin/package-lock.json +++ b/plugin/package-lock.json @@ -1,12 +1,12 @@ { "name": "claude-supermemory", - "version": "0.0.12", + "version": "0.0.13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "claude-supermemory", - "version": "0.0.12", + "version": "0.0.13", "license": "MIT", "engines": { "node": ">=18.0.0" diff --git a/plugin/package.json b/plugin/package.json index 5333f83..d8a11fd 100644 --- a/plugin/package.json +++ b/plugin/package.json @@ -1,6 +1,6 @@ { "name": "claude-supermemory", - "version": "0.0.12", + "version": "0.0.13", "description": "Persistent memory for Claude Code using Supermemory", "private": true, "engines": { diff --git a/plugin/scripts/add-memory.cjs b/plugin/scripts/add-memory.cjs index 467a5c9..9fd75c5 100755 --- a/plugin/scripts/add-memory.cjs +++ b/plugin/scripts/add-memory.cjs @@ -1,12 +1,12 @@ #!/usr/bin/env node -var Je=Object.defineProperty;var Xn=Object.getOwnPropertyDescriptor;var On=Object.getOwnPropertyNames;var yn=Object.prototype.hasOwnProperty;var qn=(e,t)=>()=>(e&&(t=e(e=0)),t);var u=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Hn=(e,t)=>{for(var r in t)Je(e,r,{get:t[r],enumerable:!0})},hn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of On(t))!yn.call(e,s)&&s!==r&&Je(e,s,{get:()=>t[s],enumerable:!(n=Xn(t,s))||n.enumerable});return e};var Wn=e=>hn(Je({},"__esModule",{value:!0}),e);var Qe=u(h=>{"use strict";Object.defineProperty(h,"__esModule",{value:!0});h.__setModuleDefault=h.__createBinding=void 0;h.__classPrivateFieldSet=Tn;h.__classPrivateFieldGet=Nn;h.__importStar=Ln;h.__exportStar=Vn;function Tn(e,t,r,n,s){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!s:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?s.call(e,r):s?s.value=r:t.set(e,r),r}function Nn(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)}var Ae=Object.create?function(e,t,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);(!s||("get"in s?!t.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]};h.__createBinding=Ae;var Qt=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};h.__setModuleDefault=Qt;var Be=function(e){return Be=Object.getOwnPropertyNames||function(t){var r=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[r.length]=n);return r},Be(e)};function Ln(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=Be(e),n=0;n{"use strict";Object.defineProperty(K,"__esModule",{value:!0});K.uuid4=void 0;var Rn=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return K.uuid4=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),r=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,n=>(+n^r()&15>>+n/4).toString(16))};K.uuid4=Rn});var _e=u(k=>{"use strict";Object.defineProperty(k,"__esModule",{value:!0});k.castToError=void 0;k.isAbortError=gn;function gn(e){return typeof e=="object"&&e!==null&&("name"in e&&e.name==="AbortError"||"message"in e&&String(e.message).includes("FetchRequestCanceledException"))}var wn=e=>{if(e instanceof Error)return e;if(typeof e=="object"&&e!==null){try{if(Object.prototype.toString.call(e)==="[object Error]"){let t=new Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return new Error(JSON.stringify(e))}catch{}}return new Error(e)};k.castToError=wn});var C=u(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.InternalServerError=P.RateLimitError=P.UnprocessableEntityError=P.ConflictError=P.NotFoundError=P.PermissionDeniedError=P.AuthenticationError=P.BadRequestError=P.APIConnectionTimeoutError=P.APIConnectionError=P.APIUserAbortError=P.APIError=P.SupermemoryError=void 0;var Zn=_e(),ce=class extends Error{};P.SupermemoryError=ce;var y=class e extends ce{constructor(t,r,n,s){super(`${e.makeMessage(t,r,n)}`),this.status=t,this.headers=s,this.error=r}static makeMessage(t,r,n){let s=r?.message?typeof r.message=="string"?r.message:JSON.stringify(r.message):r?JSON.stringify(r):n;return t&&s?`${t} ${s}`:t?`${t} status code (no body)`:s||"(no status code or body)"}static generate(t,r,n,s){if(!t||!s)return new E({message:n,cause:(0,Zn.castToError)(r)});let o=r;return t===400?new ue(t,o,n,s):t===401?new de(t,o,n,s):t===403?new ve(t,o,n,s):t===404?new le(t,o,n,s):t===409?new pe(t,o,n,s):t===422?new Pe(t,o,n,s):t===429?new ze(t,o,n,s):t>=500?new me(t,o,n,s):new e(t,o,n,s)}};P.APIError=y;var $e=class extends y{constructor({message:t}={}){super(void 0,void 0,t||"Request was aborted.",void 0)}};P.APIUserAbortError=$e;var E=class extends y{constructor({message:t,cause:r}){super(void 0,void 0,t||"Connection error.",void 0),r&&(this.cause=r)}};P.APIConnectionError=E;var et=class extends E{constructor({message:t}={}){super({message:t??"Request timed out."})}};P.APIConnectionTimeoutError=et;var ue=class extends y{};P.BadRequestError=ue;var de=class extends y{};P.AuthenticationError=de;var ve=class extends y{};P.PermissionDeniedError=ve;var le=class extends y{};P.NotFoundError=le;var pe=class extends y{};P.ConflictError=pe;var Pe=class extends y{};P.UnprocessableEntityError=Pe;var ze=class extends y{};P.RateLimitError=ze;var me=class extends y{};P.InternalServerError=me});var J=u(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.safeJSON=v.maybeCoerceBoolean=v.maybeCoerceFloat=v.maybeCoerceInteger=v.coerceBoolean=v.coerceFloat=v.coerceInteger=v.validatePositiveInteger=v.ensurePresent=v.isReadonlyArray=v.isArray=v.isAbsoluteURL=void 0;v.maybeObj=Un;v.isEmptyObj=Yn;v.hasOwn=Sn;v.isObj=Gn;var I=C(),Mn=/^[a-z][a-z0-9+.-]*:/i,Fn=e=>Mn.test(e);v.isAbsoluteURL=Fn;var Dn=e=>(v.isArray=Array.isArray,(0,v.isArray)(e));v.isArray=Dn;v.isReadonlyArray=v.isArray;function Un(e){return typeof e!="object"?{}:e??{}}function Yn(e){if(!e)return!0;for(let t in e)return!1;return!0}function Sn(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Gn(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}var Kn=e=>{if(e==null)throw new I.SupermemoryError(`Expected a value to be given but received ${e} instead.`);return e};v.ensurePresent=Kn;var kn=(e,t)=>{if(typeof t!="number"||!Number.isInteger(t))throw new I.SupermemoryError(`${e} must be an integer`);if(t<0)throw new I.SupermemoryError(`${e} must be a positive integer`);return t};v.validatePositiveInteger=kn;var En=e=>{if(typeof e=="number")return Math.round(e);if(typeof e=="string")return parseInt(e,10);throw new I.SupermemoryError(`Could not coerce ${e} (type: ${typeof e}) into a number`)};v.coerceInteger=En;var Cn=e=>{if(typeof e=="number")return e;if(typeof e=="string")return parseFloat(e);throw new I.SupermemoryError(`Could not coerce ${e} (type: ${typeof e}) into a number`)};v.coerceFloat=Cn;var In=e=>typeof e=="boolean"?e:typeof e=="string"?e==="true":!!e;v.coerceBoolean=In;var Jn=e=>{if(e!=null)return(0,v.coerceInteger)(e)};v.maybeCoerceInteger=Jn;var Bn=e=>{if(e!=null)return(0,v.coerceFloat)(e)};v.maybeCoerceFloat=Bn;var An=e=>{if(e!=null)return(0,v.coerceBoolean)(e)};v.maybeCoerceBoolean=An;var Qn=e=>{try{return JSON.parse(e)}catch{return}};v.safeJSON=Qn});var $t=u(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.sleep=void 0;var _n=e=>new Promise(t=>setTimeout(t,e));be.sleep=_n});var tt=u(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.VERSION=void 0;xe.VERSION="4.0.0"});var nr=u(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.getPlatformHeaders=Z.isRunningInBrowser=void 0;var B=tt(),$n=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";Z.isRunningInBrowser=$n;function es(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}var ts=()=>{let e=es();if(e==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":B.VERSION,"X-Stainless-OS":tr(Deno.build.os),"X-Stainless-Arch":er(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":B.VERSION,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(e==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":B.VERSION,"X-Stainless-OS":tr(globalThis.process.platform??"unknown"),"X-Stainless-Arch":er(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let t=rs();return t?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":B.VERSION,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":B.VERSION,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function rs(){if(typeof navigator>"u"||!navigator)return null;let e=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:t,pattern:r}of e){let n=r.exec(navigator.userAgent);if(n){let s=n[1]||0,o=n[2]||0,a=n[3]||0;return{browser:t,version:`${s}.${o}.${a}`}}}return null}var er=e=>e==="x32"?"x32":e==="x86_64"||e==="x64"?"x64":e==="arm"?"arm":e==="aarch64"||e==="arm64"?"arm64":e?`other:${e}`:"unknown",tr=e=>(e=e.toLowerCase(),e.includes("ios")?"iOS":e==="android"?"Android":e==="darwin"?"MacOS":e==="win32"?"Windows":e==="freebsd"?"FreeBSD":e==="openbsd"?"OpenBSD":e==="linux"?"Linux":e?`Other:${e}`:"Unknown"),rr,ns=()=>rr??(rr=ts());Z.getPlatformHeaders=ns});var rt=u(R=>{"use strict";Object.defineProperty(R,"__esModule",{value:!0});R.getDefaultFetch=ss;R.makeReadableStream=sr;R.ReadableStreamFrom=os;R.ReadableStreamToAsyncIterable=as;R.CancelReadableStream=is;function ss(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Supermemory({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function sr(...e){let t=globalThis.ReadableStream;if(typeof t>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function os(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return sr({start(){},async pull(r){let{done:n,value:s}=await t.next();n?r.close():r.enqueue(s)},async cancel(){await t.return?.()}})}function as(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let r=await t.read();return r?.done&&t.releaseLock(),r}catch(r){throw t.releaseLock(),r}},async return(){let r=t.cancel();return t.releaseLock(),await r,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function is(e){if(e===null||typeof e!="object")return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),r=t.cancel();t.releaseLock(),await r}});var or=u(je=>{"use strict";Object.defineProperty(je,"__esModule",{value:!0});je.FallbackEncoder=void 0;var fs=({headers:e,body:t})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(t)});je.FallbackEncoder=fs});var A=u(j=>{"use strict";Object.defineProperty(j,"__esModule",{value:!0});j.createForm=j.multipartFormRequestOptions=j.maybeMultipartFormRequestOptions=j.isAsyncIterable=j.checkFileSupport=void 0;j.makeFile=nt;j.getName=Xe;var cs=rt(),us=()=>{if(typeof File>"u"){let{process:e}=globalThis,t=typeof e?.versions?.node=="string"&&parseInt(e.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};j.checkFileSupport=us;function nt(e,t,r){return(0,j.checkFileSupport)(),new File(e,t??"unknown_file",r)}function Xe(e){return(typeof e=="object"&&e!==null&&("name"in e&&e.name&&String(e.name)||"url"in e&&e.url&&String(e.url)||"filename"in e&&e.filename&&String(e.filename)||"path"in e&&e.path&&String(e.path))||"").split(/[\\/]/).pop()||void 0}var ds=e=>e!=null&&typeof e=="object"&&typeof e[Symbol.asyncIterator]=="function";j.isAsyncIterable=ds;var vs=async(e,t)=>st(e.body)?{...e,body:await(0,j.createForm)(e.body,t)}:e;j.maybeMultipartFormRequestOptions=vs;var ls=async(e,t)=>({...e,body:await(0,j.createForm)(e.body,t)});j.multipartFormRequestOptions=ls;var ar=new WeakMap;function ps(e){let t=typeof e=="function"?e:e.fetch,r=ar.get(t);if(r)return r;let n=(async()=>{try{let s="Response"in t?t.Response:(await t("data:,")).constructor,o=new FormData;return o.toString()!==await new s(o).text()}catch{return!0}})();return ar.set(t,n),n}var Ps=async(e,t)=>{if(!await ps(t))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let r=new FormData;return await Promise.all(Object.entries(e||{}).map(([n,s])=>ot(r,n,s))),r};j.createForm=Ps;var ir=e=>e instanceof Blob&&"name"in e,zs=e=>typeof e=="object"&&e!==null&&(e instanceof Response||(0,j.isAsyncIterable)(e)||ir(e)),st=e=>{if(zs(e))return!0;if(Array.isArray(e))return e.some(st);if(e&&typeof e=="object"){for(let t in e)if(st(e[t]))return!0}return!1},ot=async(e,t,r)=>{if(r!==void 0){if(r==null)throw new TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")e.append(t,String(r));else if(r instanceof Response)e.append(t,nt([await r.blob()],Xe(r)));else if((0,j.isAsyncIterable)(r))e.append(t,nt([await new Response((0,cs.ReadableStreamFrom)(r)).blob()],Xe(r)));else if(ir(r))e.append(t,r,Xe(r));else if(Array.isArray(r))await Promise.all(r.map(n=>ot(e,t+"[]",n)));else if(typeof r=="object")await Promise.all(Object.entries(r).map(([n,s])=>ot(e,`${t}[${n}]`,s)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${r} instead`)}}});var cr=u(it=>{"use strict";Object.defineProperty(it,"__esModule",{value:!0});it.toFile=js;var Q=A(),ms=A(),fr=e=>e!=null&&typeof e=="object"&&typeof e.size=="number"&&typeof e.type=="string"&&typeof e.text=="function"&&typeof e.slice=="function"&&typeof e.arrayBuffer=="function",bs=e=>e!=null&&typeof e=="object"&&typeof e.name=="string"&&typeof e.lastModified=="number"&&fr(e),xs=e=>e!=null&&typeof e=="object"&&typeof e.url=="string"&&typeof e.blob=="function";async function js(e,t,r){if((0,ms.checkFileSupport)(),e=await e,bs(e))return e instanceof File?e:(0,Q.makeFile)([await e.arrayBuffer()],e.name);if(xs(e)){let s=await e.blob();return t||(t=new URL(e.url).pathname.split(/[\\/]/).pop()),(0,Q.makeFile)(await at(s),t,r)}let n=await at(e);if(t||(t=(0,Q.getName)(e)),!r?.type){let s=n.find(o=>typeof o=="object"&&"type"in o&&o.type);typeof s=="string"&&(r={...r,type:s})}return(0,Q.makeFile)(n,t,r)}async function at(e){let t=[];if(typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(fr(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if((0,Q.isAsyncIterable)(e))for await(let r of e)t.push(...await at(r));else{let r=e?.constructor?.name;throw new Error(`Unexpected data type: ${typeof e}${r?`; constructor: ${r}`:""}${Xs(e)}`)}return t}function Xs(e){return typeof e!="object"||e===null?"":`; props: [${Object.getOwnPropertyNames(e).map(r=>`"${r}"`).join(", ")}]`}});var ft=u(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.toFile=void 0;var Os=cr();Object.defineProperty(Oe,"toFile",{enumerable:!0,get:function(){return Os.toFile}})});var M=u(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.APIResource=void 0;var ct=class{constructor(t){this._client=t}};ye.APIResource=ct});var _=u(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.isEmptyHeaders=F.buildHeaders=void 0;var ur=J(),dr=Symbol("brand.privateNullableHeaders");function*vr(e){if(!e)return;if(dr in e){let{values:n,nulls:s}=e;yield*n.entries();for(let o of s)yield[o,null];return}let t=!1,r;e instanceof Headers?r=e.entries():(0,ur.isReadonlyArray)(e)?r=e:(t=!0,r=Object.entries(e??{}));for(let n of r){let s=n[0];if(typeof s!="string")throw new TypeError("expected header name to be a string");let o=(0,ur.isReadonlyArray)(n[1])?n[1]:[n[1]],a=!1;for(let i of o)i!==void 0&&(t&&!a&&(a=!0,yield[s,null]),yield[s,i])}}var ys=e=>{let t=new Headers,r=new Set;for(let n of e){let s=new Set;for(let[o,a]of vr(n)){let i=o.toLowerCase();s.has(i)||(t.delete(o),s.add(i)),a===null?(t.delete(o),r.add(i)):(t.append(o,a),r.delete(i))}}return{[dr]:!0,values:t,nulls:r}};F.buildHeaders=ys;var qs=e=>{for(let t of vr(e))return!1;return!0};F.isEmptyHeaders=qs});var qe=u(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.path=N.createPathTagFunction=void 0;N.encodeURIPath=ut;var Hs=C();function ut(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var lr=Object.freeze(Object.create(null)),hs=(e=ut)=>function(r,...n){if(r.length===1)return r[0];let s=!1,o=[],a=r.reduce((c,z,b)=>{/[?#]/.test(z)&&(s=!0);let f=n[b],O=(s?encodeURIComponent:e)(""+f);return b!==n.length&&(f==null||typeof f=="object"&&f.toString===Object.getPrototypeOf(Object.getPrototypeOf(f.hasOwnProperty??lr)??lr)?.toString)&&(O=f+"",o.push({start:c.length+z.length,length:O.length,error:`Value of type ${Object.prototype.toString.call(f).slice(8,-1)} is not a valid path parameter`})),c+z+(b===n.length?"":O)},""),i=a.split(/[?#]/,1)[0],p=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,l;for(;(l=p.exec(i))!==null;)o.push({start:l.index,length:l[0].length,error:`Value "${l[0]}" can't be safely passed as a path parameter`});if(o.sort((c,z)=>c.start-z.start),o.length>0){let c=0,z=o.reduce((b,f)=>{let O=" ".repeat(f.start-c),S="^".repeat(f.length);return c=f.start+f.length,b+O+S},"");throw new Hs.SupermemoryError(`Path parameters result in path with invalid segments: -${o.map(b=>b.error).join(` +var _e=Object.defineProperty;var Wn=Object.getOwnPropertyDescriptor;var Tn=Object.getOwnPropertyNames;var Nn=Object.prototype.hasOwnProperty;var Ln=(e,t)=>()=>(e&&(t=e(e=0)),t);var u=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Vn=(e,t)=>{for(var r in t)_e(e,r,{get:t[r],enumerable:!0})},Rn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Tn(t))!Nn.call(e,o)&&o!==r&&_e(e,o,{get:()=>t[o],enumerable:!(n=Wn(t,o))||n.enumerable});return e};var gn=e=>Rn(_e({},"__esModule",{value:!0}),e);var tt=u(T=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0});T.__setModuleDefault=T.__createBinding=void 0;T.__classPrivateFieldSet=wn;T.__classPrivateFieldGet=Mn;T.__importStar=Zn;T.__exportStar=Fn;function wn(e,t,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(e,r):o?o.value=r:t.set(e,r),r}function Mn(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)}var et=Object.create?function(e,t,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,o)}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]};T.__createBinding=et;var tr=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};T.__setModuleDefault=tr;var $e=function(e){return $e=Object.getOwnPropertyNames||function(t){var r=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[r.length]=n);return r},$e(e)};function Zn(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=$e(e),n=0;n{"use strict";Object.defineProperty(C,"__esModule",{value:!0});C.uuid4=void 0;var Dn=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return C.uuid4=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),r=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,n=>(+n^r()&15>>+n/4).toString(16))};C.uuid4=Dn});var rt=u(I=>{"use strict";Object.defineProperty(I,"__esModule",{value:!0});I.castToError=void 0;I.isAbortError=Un;function Un(e){return typeof e=="object"&&e!==null&&("name"in e&&e.name==="AbortError"||"message"in e&&String(e.message).includes("FetchRequestCanceledException"))}var Yn=e=>{if(e instanceof Error)return e;if(typeof e=="object"&&e!==null){try{if(Object.prototype.toString.call(e)==="[object Error]"){let t=new Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return new Error(JSON.stringify(e))}catch{}}return new Error(e)};I.castToError=Yn});var B=u(P=>{"use strict";Object.defineProperty(P,"__esModule",{value:!0});P.InternalServerError=P.RateLimitError=P.UnprocessableEntityError=P.ConflictError=P.NotFoundError=P.PermissionDeniedError=P.AuthenticationError=P.BadRequestError=P.APIConnectionTimeoutError=P.APIConnectionError=P.APIUserAbortError=P.APIError=P.SupermemoryError=void 0;var Sn=rt(),de=class extends Error{};P.SupermemoryError=de;var y=class e extends de{constructor(t,r,n,o){super(`${e.makeMessage(t,r,n)}`),this.status=t,this.headers=o,this.error=r}static makeMessage(t,r,n){let o=r?.message?typeof r.message=="string"?r.message:JSON.stringify(r.message):r?JSON.stringify(r):n;return t&&o?`${t} ${o}`:t?`${t} status code (no body)`:o||"(no status code or body)"}static generate(t,r,n,o){if(!t||!o)return new J({message:n,cause:(0,Sn.castToError)(r)});let s=r;return t===400?new ve(t,s,n,o):t===401?new le(t,s,n,o):t===403?new pe(t,s,n,o):t===404?new Pe(t,s,n,o):t===409?new me(t,s,n,o):t===422?new ze(t,s,n,o):t===429?new je(t,s,n,o):t>=500?new xe(t,s,n,o):new e(t,s,n,o)}};P.APIError=y;var nt=class extends y{constructor({message:t}={}){super(void 0,void 0,t||"Request was aborted.",void 0)}};P.APIUserAbortError=nt;var J=class extends y{constructor({message:t,cause:r}){super(void 0,void 0,t||"Connection error.",void 0),r&&(this.cause=r)}};P.APIConnectionError=J;var ot=class extends J{constructor({message:t}={}){super({message:t??"Request timed out."})}};P.APIConnectionTimeoutError=ot;var ve=class extends y{};P.BadRequestError=ve;var le=class extends y{};P.AuthenticationError=le;var pe=class extends y{};P.PermissionDeniedError=pe;var Pe=class extends y{};P.NotFoundError=Pe;var me=class extends y{};P.ConflictError=me;var ze=class extends y{};P.UnprocessableEntityError=ze;var je=class extends y{};P.RateLimitError=je;var xe=class extends y{};P.InternalServerError=xe});var Q=u(p=>{"use strict";Object.defineProperty(p,"__esModule",{value:!0});p.safeJSON=p.maybeCoerceBoolean=p.maybeCoerceFloat=p.maybeCoerceInteger=p.coerceBoolean=p.coerceFloat=p.coerceInteger=p.validatePositiveInteger=p.ensurePresent=p.isReadonlyArray=p.isArray=p.isAbsoluteURL=void 0;p.maybeObj=En;p.isEmptyObj=Cn;p.hasOwn=In;p.isObj=Jn;var A=B(),Gn=/^[a-z][a-z0-9+.-]*:/i,Kn=e=>Gn.test(e);p.isAbsoluteURL=Kn;var kn=e=>(p.isArray=Array.isArray,(0,p.isArray)(e));p.isArray=kn;p.isReadonlyArray=p.isArray;function En(e){return typeof e!="object"?{}:e??{}}function Cn(e){if(!e)return!0;for(let t in e)return!1;return!0}function In(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Jn(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}var Bn=e=>{if(e==null)throw new A.SupermemoryError(`Expected a value to be given but received ${e} instead.`);return e};p.ensurePresent=Bn;var An=(e,t)=>{if(typeof t!="number"||!Number.isInteger(t))throw new A.SupermemoryError(`${e} must be an integer`);if(t<0)throw new A.SupermemoryError(`${e} must be a positive integer`);return t};p.validatePositiveInteger=An;var Qn=e=>{if(typeof e=="number")return Math.round(e);if(typeof e=="string")return parseInt(e,10);throw new A.SupermemoryError(`Could not coerce ${e} (type: ${typeof e}) into a number`)};p.coerceInteger=Qn;var _n=e=>{if(typeof e=="number")return e;if(typeof e=="string")return parseFloat(e);throw new A.SupermemoryError(`Could not coerce ${e} (type: ${typeof e}) into a number`)};p.coerceFloat=_n;var $n=e=>typeof e=="boolean"?e:typeof e=="string"?e==="true":!!e;p.coerceBoolean=$n;var eo=e=>{if(e!=null)return(0,p.coerceInteger)(e)};p.maybeCoerceInteger=eo;var to=e=>{if(e!=null)return(0,p.coerceFloat)(e)};p.maybeCoerceFloat=to;var ro=e=>{if(e!=null)return(0,p.coerceBoolean)(e)};p.maybeCoerceBoolean=ro;var no=e=>{try{return JSON.parse(e)}catch{return}};p.safeJSON=no});var nr=u(be=>{"use strict";Object.defineProperty(be,"__esModule",{value:!0});be.sleep=void 0;var oo=e=>new Promise(t=>setTimeout(t,e));be.sleep=oo});var st=u(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.VERSION=void 0;Oe.VERSION="4.0.0"});var ir=u(U=>{"use strict";Object.defineProperty(U,"__esModule",{value:!0});U.getPlatformHeaders=U.isRunningInBrowser=void 0;var _=st(),so=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";U.isRunningInBrowser=so;function ao(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}var io=()=>{let e=ao();if(e==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_.VERSION,"X-Stainless-OS":sr(Deno.build.os),"X-Stainless-Arch":or(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_.VERSION,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(e==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_.VERSION,"X-Stainless-OS":sr(globalThis.process.platform??"unknown"),"X-Stainless-Arch":or(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let t=co();return t?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_.VERSION,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":_.VERSION,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function co(){if(typeof navigator>"u"||!navigator)return null;let e=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:t,pattern:r}of e){let n=r.exec(navigator.userAgent);if(n){let o=n[1]||0,s=n[2]||0,a=n[3]||0;return{browser:t,version:`${o}.${s}.${a}`}}}return null}var or=e=>e==="x32"?"x32":e==="x86_64"||e==="x64"?"x64":e==="arm"?"arm":e==="aarch64"||e==="arm64"?"arm64":e?`other:${e}`:"unknown",sr=e=>(e=e.toLowerCase(),e.includes("ios")?"iOS":e==="android"?"Android":e==="darwin"?"MacOS":e==="win32"?"Windows":e==="freebsd"?"FreeBSD":e==="openbsd"?"OpenBSD":e==="linux"?"Linux":e?`Other:${e}`:"Unknown"),ar,fo=()=>ar??(ar=io());U.getPlatformHeaders=fo});var at=u(Z=>{"use strict";Object.defineProperty(Z,"__esModule",{value:!0});Z.getDefaultFetch=uo;Z.makeReadableStream=cr;Z.ReadableStreamFrom=vo;Z.ReadableStreamToAsyncIterable=lo;Z.CancelReadableStream=po;function uo(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Supermemory({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function cr(...e){let t=globalThis.ReadableStream;if(typeof t>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function vo(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return cr({start(){},async pull(r){let{done:n,value:o}=await t.next();n?r.close():r.enqueue(o)},async cancel(){await t.return?.()}})}function lo(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let r=await t.read();return r?.done&&t.releaseLock(),r}catch(r){throw t.releaseLock(),r}},async return(){let r=t.cancel();return t.releaseLock(),await r,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function po(e){if(e===null||typeof e!="object")return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),r=t.cancel();t.releaseLock(),await r}});var fr=u(Xe=>{"use strict";Object.defineProperty(Xe,"__esModule",{value:!0});Xe.FallbackEncoder=void 0;var Po=({headers:e,body:t})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(t)});Xe.FallbackEncoder=Po});var $=u(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.createForm=b.multipartFormRequestOptions=b.maybeMultipartFormRequestOptions=b.isAsyncIterable=b.checkFileSupport=void 0;b.makeFile=it;b.getName=ye;var mo=at(),zo=()=>{if(typeof File>"u"){let{process:e}=globalThis,t=typeof e?.versions?.node=="string"&&parseInt(e.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(t?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};b.checkFileSupport=zo;function it(e,t,r){return(0,b.checkFileSupport)(),new File(e,t??"unknown_file",r)}function ye(e){return(typeof e=="object"&&e!==null&&("name"in e&&e.name&&String(e.name)||"url"in e&&e.url&&String(e.url)||"filename"in e&&e.filename&&String(e.filename)||"path"in e&&e.path&&String(e.path))||"").split(/[\\/]/).pop()||void 0}var jo=e=>e!=null&&typeof e=="object"&&typeof e[Symbol.asyncIterator]=="function";b.isAsyncIterable=jo;var xo=async(e,t)=>ct(e.body)?{...e,body:await(0,b.createForm)(e.body,t)}:e;b.maybeMultipartFormRequestOptions=xo;var bo=async(e,t)=>({...e,body:await(0,b.createForm)(e.body,t)});b.multipartFormRequestOptions=bo;var ur=new WeakMap;function Oo(e){let t=typeof e=="function"?e:e.fetch,r=ur.get(t);if(r)return r;let n=(async()=>{try{let o="Response"in t?t.Response:(await t("data:,")).constructor,s=new FormData;return s.toString()!==await new o(s).text()}catch{return!0}})();return ur.set(t,n),n}var Xo=async(e,t)=>{if(!await Oo(t))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let r=new FormData;return await Promise.all(Object.entries(e||{}).map(([n,o])=>ft(r,n,o))),r};b.createForm=Xo;var dr=e=>e instanceof Blob&&"name"in e,yo=e=>typeof e=="object"&&e!==null&&(e instanceof Response||(0,b.isAsyncIterable)(e)||dr(e)),ct=e=>{if(yo(e))return!0;if(Array.isArray(e))return e.some(ct);if(e&&typeof e=="object"){for(let t in e)if(ct(e[t]))return!0}return!1},ft=async(e,t,r)=>{if(r!==void 0){if(r==null)throw new TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")e.append(t,String(r));else if(r instanceof Response)e.append(t,it([await r.blob()],ye(r)));else if((0,b.isAsyncIterable)(r))e.append(t,it([await new Response((0,mo.ReadableStreamFrom)(r)).blob()],ye(r)));else if(dr(r))e.append(t,r,ye(r));else if(Array.isArray(r))await Promise.all(r.map(n=>ft(e,t+"[]",n)));else if(typeof r=="object")await Promise.all(Object.entries(r).map(([n,o])=>ft(e,`${t}[${n}]`,o)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${r} instead`)}}});var lr=u(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.toFile=Wo;var ee=$(),qo=$(),vr=e=>e!=null&&typeof e=="object"&&typeof e.size=="number"&&typeof e.type=="string"&&typeof e.text=="function"&&typeof e.slice=="function"&&typeof e.arrayBuffer=="function",Ho=e=>e!=null&&typeof e=="object"&&typeof e.name=="string"&&typeof e.lastModified=="number"&&vr(e),ho=e=>e!=null&&typeof e=="object"&&typeof e.url=="string"&&typeof e.blob=="function";async function Wo(e,t,r){if((0,qo.checkFileSupport)(),e=await e,Ho(e))return e instanceof File?e:(0,ee.makeFile)([await e.arrayBuffer()],e.name);if(ho(e)){let o=await e.blob();return t||(t=new URL(e.url).pathname.split(/[\\/]/).pop()),(0,ee.makeFile)(await ut(o),t,r)}let n=await ut(e);if(t||(t=(0,ee.getName)(e)),!r?.type){let o=n.find(s=>typeof s=="object"&&"type"in s&&s.type);typeof o=="string"&&(r={...r,type:o})}return(0,ee.makeFile)(n,t,r)}async function ut(e){let t=[];if(typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(vr(e))t.push(e instanceof Blob?e:await e.arrayBuffer());else if((0,ee.isAsyncIterable)(e))for await(let r of e)t.push(...await ut(r));else{let r=e?.constructor?.name;throw new Error(`Unexpected data type: ${typeof e}${r?`; constructor: ${r}`:""}${To(e)}`)}return t}function To(e){return typeof e!="object"||e===null?"":`; props: [${Object.getOwnPropertyNames(e).map(r=>`"${r}"`).join(", ")}]`}});var vt=u(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.toFile=void 0;var No=lr();Object.defineProperty(qe,"toFile",{enumerable:!0,get:function(){return No.toFile}})});var Y=u(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.APIResource=void 0;var lt=class{constructor(t){this._client=t}};He.APIResource=lt});var te=u(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.isEmptyHeaders=S.buildHeaders=void 0;var pr=Q(),Pr=Symbol("brand.privateNullableHeaders");function*mr(e){if(!e)return;if(Pr in e){let{values:n,nulls:o}=e;yield*n.entries();for(let s of o)yield[s,null];return}let t=!1,r;e instanceof Headers?r=e.entries():(0,pr.isReadonlyArray)(e)?r=e:(t=!0,r=Object.entries(e??{}));for(let n of r){let o=n[0];if(typeof o!="string")throw new TypeError("expected header name to be a string");let s=(0,pr.isReadonlyArray)(n[1])?n[1]:[n[1]],a=!1;for(let i of s)i!==void 0&&(t&&!a&&(a=!0,yield[o,null]),yield[o,i])}}var Lo=e=>{let t=new Headers,r=new Set;for(let n of e){let o=new Set;for(let[s,a]of mr(n)){let i=s.toLowerCase();o.has(i)||(t.delete(s),o.add(i)),a===null?(t.delete(s),r.add(i)):(t.append(s,a),r.delete(i))}}return{[Pr]:!0,values:t,nulls:r}};S.buildHeaders=Lo;var Vo=e=>{for(let t of mr(e))return!1;return!0};S.isEmptyHeaders=Vo});var he=u(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.path=w.createPathTagFunction=void 0;w.encodeURIPath=pt;var Ro=B();function pt(e){return e.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var zr=Object.freeze(Object.create(null)),go=(e=pt)=>function(r,...n){if(r.length===1)return r[0];let o=!1,s=[],a=r.reduce((f,m,j)=>{/[?#]/.test(m)&&(o=!0);let c=n[j],X=(o?encodeURIComponent:e)(""+c);return j!==n.length&&(c==null||typeof c=="object"&&c.toString===Object.getPrototypeOf(Object.getPrototypeOf(c.hasOwnProperty??zr)??zr)?.toString)&&(X=c+"",s.push({start:f.length+m.length,length:X.length,error:`Value of type ${Object.prototype.toString.call(c).slice(8,-1)} is not a valid path parameter`})),f+m+(j===n.length?"":X)},""),i=a.split(/[?#]/,1)[0],l=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,d;for(;(d=l.exec(i))!==null;)s.push({start:d.index,length:d[0].length,error:`Value "${d[0]}" can't be safely passed as a path parameter`});if(s.sort((f,m)=>f.start-m.start),s.length>0){let f=0,m=s.reduce((j,c)=>{let X=" ".repeat(c.start-f),k="^".repeat(c.length);return f=c.start+c.length,j+X+k},"");throw new Ro.SupermemoryError(`Path parameters result in path with invalid segments: +${s.map(j=>j.error).join(` `)} ${a} -${z}`)}return a};N.createPathTagFunction=hs;N.path=(0,N.createPathTagFunction)(ut)});var vt=u(He=>{"use strict";Object.defineProperty(He,"__esModule",{value:!0});He.Connections=void 0;var Ws=M(),Ts=_(),W=qe(),dt=class extends Ws.APIResource{create(t,r={},n){return this._client.post((0,W.path)`/v3/connections/${t}`,{body:r,...n})}list(t={},r){return this._client.post("/v3/connections/list",{body:t,...r})}configure(t,r,n){return this._client.post((0,W.path)`/v3/connections/${t}/configure`,{body:r,...n})}deleteByID(t,r){return this._client.delete((0,W.path)`/v3/connections/${t}`,r)}deleteByProvider(t,r,n){return this._client.delete((0,W.path)`/v3/connections/${t}`,{body:r,...n})}getByID(t,r){return this._client.get((0,W.path)`/v3/connections/${t}`,r)}getByTag(t,r,n){return this._client.post((0,W.path)`/v3/connections/${t}/connection`,{body:r,...n})}import(t,r={},n){return this._client.post((0,W.path)`/v3/connections/${t}/import`,{body:r,...n,headers:(0,Ts.buildHeaders)([{Accept:"text/plain"},n?.headers])})}listDocuments(t,r={},n){return this._client.post((0,W.path)`/v3/connections/${t}/documents`,{body:r,...n})}resources(t,r={},n){return this._client.get((0,W.path)`/v3/connections/${t}/resources`,{query:r,...n})}};He.Connections=dt});var Pt=u(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.Documents=void 0;var Ns=M(),Ls=_(),Vs=A(),lt=qe(),pt=class extends Ns.APIResource{update(t,r={},n){return this._client.patch((0,lt.path)`/v3/documents/${t}`,{body:r,...n})}list(t={},r){return this._client.post("/v3/documents/list",{body:t,...r})}delete(t,r){return this._client.delete((0,lt.path)`/v3/documents/${t}`,{...r,headers:(0,Ls.buildHeaders)([{Accept:"*/*"},r?.headers])})}add(t,r){return this._client.post("/v3/documents",{body:t,...r})}batchAdd(t,r){return this._client.post("/v3/documents/batch",{body:t,...r})}deleteBulk(t={},r){return this._client.delete("/v3/documents/bulk",{body:t,...r})}get(t,r){return this._client.get((0,lt.path)`/v3/documents/${t}`,r)}listProcessing(t){return this._client.get("/v3/documents/processing",t)}uploadFile(t,r){return this._client.post("/v3/documents/file",(0,Vs.multipartFormRequestOptions)({body:t,...r},this._client))}};he.Documents=pt});var bt=u(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.Memories=void 0;var Rs=M(),gs=_(),ws=A(),zt=qe(),mt=class extends Rs.APIResource{update(t,r={},n){return this._client.patch((0,zt.path)`/v3/documents/${t}`,{body:r,...n})}list(t={},r){return this._client.post("/v3/documents/list",{body:t,...r})}delete(t,r){return this._client.delete((0,zt.path)`/v3/documents/${t}`,{...r,headers:(0,gs.buildHeaders)([{Accept:"*/*"},r?.headers])})}add(t,r){return this._client.post("/v3/documents",{body:t,...r})}forget(t,r){return this._client.delete("/v4/memories",{body:t,...r})}get(t,r){return this._client.get((0,zt.path)`/v3/documents/${t}`,r)}updateMemory(t,r){return this._client.patch("/v4/memories",{body:t,...r})}uploadFile(t,r){return this._client.post("/v3/documents/file",(0,ws.multipartFormRequestOptions)({body:t,...r},this._client))}};We.Memories=mt});var jt=u(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.Search=void 0;var Zs=M(),xt=class extends Zs.APIResource{documents(t,r){return this._client.post("/v3/search",{body:t,...r})}execute(t,r){return this._client.post("/v3/search",{body:t,...r})}memories(t,r){return this._client.post("/v4/search",{body:t,...r})}};Te.Search=xt});var Ot=u(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.Settings=void 0;var Ms=M(),Xt=class extends Ms.APIResource{update(t={},r){return this._client.patch("/v3/settings",{body:t,...r})}get(t){return this._client.get("/v3/settings",t)}};Ne.Settings=Xt});var pr=u(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.Settings=H.Search=H.Memories=H.Documents=H.Connections=void 0;var Fs=vt();Object.defineProperty(H,"Connections",{enumerable:!0,get:function(){return Fs.Connections}});var Ds=Pt();Object.defineProperty(H,"Documents",{enumerable:!0,get:function(){return Ds.Documents}});var Us=bt();Object.defineProperty(H,"Memories",{enumerable:!0,get:function(){return Us.Memories}});var Ys=jt();Object.defineProperty(H,"Search",{enumerable:!0,get:function(){return Ys.Search}});var Ss=Ot();Object.defineProperty(H,"Settings",{enumerable:!0,get:function(){return Ss.Settings}})});var yt=u(g=>{"use strict";Object.defineProperty(g,"__esModule",{value:!0});g.formatRequestDetails=g.parseLogLevel=void 0;g.loggerFor=zr;var Gs=J(),Ve={off:0,error:200,warn:300,info:400,debug:500},Ks=(e,t,r)=>{if(e){if((0,Gs.hasOwn)(Ve,e))return e;zr(r).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Ve))}`)}};g.parseLogLevel=Ks;function $(){}function Le(e,t,r){return!t||Ve[e]>Ve[r]?$:t[e].bind(t)}var ks={error:$,warn:$,info:$,debug:$},Pr=new WeakMap;function zr(e){let t=e.logger,r=e.logLevel??"off";if(!t)return ks;let n=Pr.get(t);if(n&&n[0]===r)return n[1];let s={error:Le("error",t,r),warn:Le("warn",t,r),info:Le("info",t,r),debug:Le("debug",t,r)};return Pr.set(t,[r,s]),s}var Es=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&(e.headers=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([t,r])=>[t,t.toLowerCase()==="authorization"||t.toLowerCase()==="cookie"||t.toLowerCase()==="set-cookie"?"***":r]))),"retryOfRequestLogID"in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e);g.formatRequestDetails=Es});var br=u(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.defaultParseResponse=Cs;var mr=yt();async function Cs(e,t){let{response:r,requestLogID:n,retryOfRequestLogID:s,startTime:o}=t,a=await(async()=>{if(r.status===204)return null;if(t.options.__binaryResponse)return r;let p=r.headers.get("content-type")?.split(";")[0]?.trim();return p?.includes("application/json")||p?.endsWith("+json")?await r.json():await r.text()})();return(0,mr.loggerFor)(e).debug(`[${n}] response parsed`,(0,mr.formatRequestDetails)({retryOfRequestLogID:s,url:r.url,status:r.status,body:a,durationMs:Date.now()-o})),a}});var Wt=u(Re=>{"use strict";var ee;Object.defineProperty(Re,"__esModule",{value:!0});Re.APIPromise=void 0;var Ht=Qe(),Is=br(),ht=class e extends Promise{constructor(t,r,n=Is.defaultParseResponse){super(s=>{s(null)}),this.responsePromise=r,this.parseResponse=n,ee.set(this,void 0),Ht.__classPrivateFieldSet(this,ee,t,"f")}_thenUnwrap(t){return new e(Ht.__classPrivateFieldGet(this,ee,"f"),this.responsePromise,async(r,n)=>t(await this.parseResponse(r,n),n))}asResponse(){return this.responsePromise.then(t=>t.response)}async withResponse(){let[t,r]=await Promise.all([this.parse(),this.asResponse()]);return{data:t,response:r}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(t=>this.parseResponse(Ht.__classPrivateFieldGet(this,ee,"f"),t))),this.parsedPromise}then(t,r){return this.parse().then(t,r)}catch(t){return this.parse().catch(t)}finally(t){return this.parse().finally(t)}};Re.APIPromise=ht;ee=new WeakMap});var xr=u(ge=>{"use strict";Object.defineProperty(ge,"__esModule",{value:!0});ge.readEnv=void 0;var Js=e=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[e]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(e)?.trim()};ge.readEnv=Js});var Zt=u(Ze=>{"use strict";var gt,wt,we,jr;Object.defineProperty(Ze,"__esModule",{value:!0});Ze.Supermemory=void 0;var L=Qe(),Bs=_t(),Tt=J(),As=$t(),Nt=_e(),Qs=nr(),Lt=L.__importStar(rt()),_s=L.__importStar(or()),$s=tt(),x=L.__importStar(C()),eo=L.__importStar(ft()),te=L.__importStar(pr()),to=Wt(),ro=vt(),no=Pt(),so=bt(),oo=jt(),ao=Ot(),Vt=_(),Rt=xr(),X=yt(),io=J(),m=class{constructor({baseURL:t=(0,Rt.readEnv)("SUPERMEMORY_BASE_URL"),apiKey:r=(0,Rt.readEnv)("SUPERMEMORY_API_KEY"),...n}={}){if(gt.add(this),we.set(this,void 0),this.memories=new te.Memories(this),this.documents=new te.Documents(this),this.search=new te.Search(this),this.settings=new te.Settings(this),this.connections=new te.Connections(this),r===void 0)throw new x.SupermemoryError("The SUPERMEMORY_API_KEY environment variable is missing or empty; either provide it, or instantiate the Supermemory client with an apiKey option, like new Supermemory({ apiKey: 'My API Key' }).");let s={apiKey:r,...n,baseURL:t||"https://api.supermemory.ai"};this.baseURL=s.baseURL,this.timeout=s.timeout??wt.DEFAULT_TIMEOUT,this.logger=s.logger??console;let o="warn";this.logLevel=o,this.logLevel=(0,X.parseLogLevel)(s.logLevel,"ClientOptions.logLevel",this)??(0,X.parseLogLevel)((0,Rt.readEnv)("SUPERMEMORY_LOG"),"process.env['SUPERMEMORY_LOG']",this)??o,this.fetchOptions=s.fetchOptions,this.maxRetries=s.maxRetries??2,this.fetch=s.fetch??Lt.getDefaultFetch(),L.__classPrivateFieldSet(this,we,_s.FallbackEncoder,"f"),this._options=s,this.apiKey=r}withOptions(t){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,...t})}add(t,r){return this.post("/v3/documents",{body:t,...r})}profile(t,r){return this.post("/v4/profile",{body:t,...r})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:t,nulls:r}){}async authHeaders(t){return(0,Vt.buildHeaders)([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(t){return Object.entries(t).filter(([r,n])=>typeof n<"u").map(([r,n])=>{if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return`${encodeURIComponent(r)}=${encodeURIComponent(n)}`;if(n===null)return`${encodeURIComponent(r)}=`;throw new x.SupermemoryError(`Cannot stringify type ${typeof n}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${$s.VERSION}`}defaultIdempotencyKey(){return`stainless-node-retry-${(0,Bs.uuid4)()}`}makeStatusError(t,r,n,s){return x.APIError.generate(t,r,n,s)}buildURL(t,r,n){let s=!L.__classPrivateFieldGet(this,gt,"m",jr).call(this)&&n||this.baseURL,o=(0,Tt.isAbsoluteURL)(t)?new URL(t):new URL(s+(s.endsWith("/")&&t.startsWith("/")?t.slice(1):t)),a=this.defaultQuery();return(0,io.isEmptyObj)(a)||(r={...a,...r}),typeof r=="object"&&r&&!Array.isArray(r)&&(o.search=this.stringifyQuery(r)),o.toString()}async prepareOptions(t){}async prepareRequest(t,{url:r,options:n}){}get(t,r){return this.methodRequest("get",t,r)}post(t,r){return this.methodRequest("post",t,r)}patch(t,r){return this.methodRequest("patch",t,r)}put(t,r){return this.methodRequest("put",t,r)}delete(t,r){return this.methodRequest("delete",t,r)}methodRequest(t,r,n){return this.request(Promise.resolve(n).then(s=>({method:t,path:r,...s})))}request(t,r=null){return new to.APIPromise(this,this.makeRequest(t,r,void 0))}async makeRequest(t,r,n){let s=await t,o=s.maxRetries??this.maxRetries;r==null&&(r=o),await this.prepareOptions(s);let{req:a,url:i,timeout:p}=await this.buildRequest(s,{retryCount:o-r});await this.prepareRequest(a,{url:i,options:s});let l="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),c=n===void 0?"":`, retryOf: ${n}`,z=Date.now();if((0,X.loggerFor)(this).debug(`[${l}] sending request`,(0,X.formatRequestDetails)({retryOfRequestLogID:n,method:s.method,url:i,options:s,headers:a.headers})),s.signal?.aborted)throw new x.APIUserAbortError;let b=new AbortController,f=await this.fetchWithTimeout(i,a,p,b).catch(Nt.castToError),O=Date.now();if(f instanceof globalThis.Error){let G=`retrying, ${r} attempts remaining`;if(s.signal?.aborted)throw new x.APIUserAbortError;let T=(0,Nt.isAbortError)(f)||/timed? ?out/i.test(String(f)+("cause"in f?String(f.cause):""));if(r)return(0,X.loggerFor)(this).info(`[${l}] connection ${T?"timed out":"failed"} - ${G}`),(0,X.loggerFor)(this).debug(`[${l}] connection ${T?"timed out":"failed"} (${G})`,(0,X.formatRequestDetails)({retryOfRequestLogID:n,url:i,durationMs:O-z,message:f.message})),this.retryRequest(s,r,n??l);throw(0,X.loggerFor)(this).info(`[${l}] connection ${T?"timed out":"failed"} - error; no more retries left`),(0,X.loggerFor)(this).debug(`[${l}] connection ${T?"timed out":"failed"} (error; no more retries left)`,(0,X.formatRequestDetails)({retryOfRequestLogID:n,url:i,durationMs:O-z,message:f.message})),T?new x.APIConnectionTimeoutError:new x.APIConnectionError({cause:f})}let S=`[${l}${c}] ${a.method} ${i} ${f.ok?"succeeded":"failed"} with status ${f.status} in ${O-z}ms`;if(!f.ok){let G=await this.shouldRetry(f);if(r&&G){let fe=`retrying, ${r} attempts remaining`;return await Lt.CancelReadableStream(f.body),(0,X.loggerFor)(this).info(`${S} - ${fe}`),(0,X.loggerFor)(this).debug(`[${l}] response error (${fe})`,(0,X.formatRequestDetails)({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,durationMs:O-z})),this.retryRequest(s,r,n??l,f.headers)}let T=G?"error; no more retries left":"error; not retryable";(0,X.loggerFor)(this).info(`${S} - ${T}`);let Jt=await f.text().catch(fe=>(0,Nt.castToError)(fe).message),Bt=(0,Tt.safeJSON)(Jt),At=Bt?void 0:Jt;throw(0,X.loggerFor)(this).debug(`[${l}] response error (${T})`,(0,X.formatRequestDetails)({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,message:At,durationMs:Date.now()-z})),this.makeStatusError(f.status,Bt,At,f.headers)}return(0,X.loggerFor)(this).info(S),(0,X.loggerFor)(this).debug(`[${l}] response start`,(0,X.formatRequestDetails)({retryOfRequestLogID:n,url:f.url,status:f.status,headers:f.headers,durationMs:O-z})),{response:f,options:s,controller:b,requestLogID:l,retryOfRequestLogID:n,startTime:z}}async fetchWithTimeout(t,r,n,s){let{signal:o,method:a,...i}=r||{};o&&o.addEventListener("abort",()=>s.abort());let p=setTimeout(()=>s.abort(),n),l=globalThis.ReadableStream&&i.body instanceof globalThis.ReadableStream||typeof i.body=="object"&&i.body!==null&&Symbol.asyncIterator in i.body,c={signal:s.signal,...l?{duplex:"half"}:{},method:"GET",...i};a&&(c.method=a.toUpperCase());try{return await this.fetch.call(void 0,t,c)}finally{clearTimeout(p)}}async shouldRetry(t){let r=t.headers.get("x-should-retry");return r==="true"?!0:r==="false"?!1:t.status===408||t.status===409||t.status===429||t.status>=500}async retryRequest(t,r,n,s){let o,a=s?.get("retry-after-ms");if(a){let p=parseFloat(a);Number.isNaN(p)||(o=p)}let i=s?.get("retry-after");if(i&&!o){let p=parseFloat(i);Number.isNaN(p)?o=Date.parse(i)-Date.now():o=p*1e3}if(!(o&&0<=o&&o<60*1e3)){let p=t.maxRetries??this.maxRetries;o=this.calculateDefaultRetryTimeoutMillis(r,p)}return await(0,As.sleep)(o),this.makeRequest(t,r-1,n)}calculateDefaultRetryTimeoutMillis(t,r){let o=r-t,a=Math.min(.5*Math.pow(2,o),8),i=1-Math.random()*.25;return a*i*1e3}async buildRequest(t,{retryCount:r=0}={}){let n={...t},{method:s,path:o,query:a,defaultBaseURL:i}=n,p=this.buildURL(o,a,i);"timeout"in n&&(0,Tt.validatePositiveInteger)("timeout",n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:l,body:c}=this.buildBody({options:n}),z=await this.buildHeaders({options:t,method:s,bodyHeaders:l,retryCount:r});return{req:{method:s,headers:z,...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&c instanceof globalThis.ReadableStream&&{duplex:"half"},...c&&{body:c},...this.fetchOptions??{},...n.fetchOptions??{}},url:p,timeout:n.timeout}}async buildHeaders({options:t,method:r,bodyHeaders:n,retryCount:s}){let o={};this.idempotencyHeader&&r!=="get"&&(t.idempotencyKey||(t.idempotencyKey=this.defaultIdempotencyKey()),o[this.idempotencyHeader]=t.idempotencyKey);let a=(0,Vt.buildHeaders)([o,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(s),...t.timeout?{"X-Stainless-Timeout":String(Math.trunc(t.timeout/1e3))}:{},...(0,Qs.getPlatformHeaders)()},await this.authHeaders(t),this._options.defaultHeaders,n,t.headers]);return this.validateHeaders(a),a.values}buildBody({options:{body:t,headers:r}}){if(!t)return{bodyHeaders:void 0,body:void 0};let n=(0,Vt.buildHeaders)([r]);return ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof DataView||typeof t=="string"&&n.values.has("content-type")||globalThis.Blob&&t instanceof globalThis.Blob||t instanceof FormData||t instanceof URLSearchParams||globalThis.ReadableStream&&t instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:t}:typeof t=="object"&&(Symbol.asyncIterator in t||Symbol.iterator in t&&"next"in t&&typeof t.next=="function")?{bodyHeaders:void 0,body:Lt.ReadableStreamFrom(t)}:L.__classPrivateFieldGet(this,we,"f").call(this,{body:t,headers:n})}};Ze.Supermemory=m;wt=m,we=new WeakMap,gt=new WeakSet,jr=function(){return this.baseURL!=="https://api.supermemory.ai"};m.Supermemory=wt;m.DEFAULT_TIMEOUT=6e4;m.SupermemoryError=x.SupermemoryError;m.APIError=x.APIError;m.APIConnectionError=x.APIConnectionError;m.APIConnectionTimeoutError=x.APIConnectionTimeoutError;m.APIUserAbortError=x.APIUserAbortError;m.NotFoundError=x.NotFoundError;m.ConflictError=x.ConflictError;m.RateLimitError=x.RateLimitError;m.BadRequestError=x.BadRequestError;m.AuthenticationError=x.AuthenticationError;m.InternalServerError=x.InternalServerError;m.PermissionDeniedError=x.PermissionDeniedError;m.UnprocessableEntityError=x.UnprocessableEntityError;m.toFile=eo.toFile;m.Memories=so.Memories;m.Documents=no.Documents;m.Search=oo.Search;m.Settings=ao.Settings;m.Connections=ro.Connections});var Or=u((d,Xr)=>{"use strict";d=Xr.exports=function(...e){return new d.default(...e)};Object.defineProperty(d,"__esModule",{value:!0});d.UnprocessableEntityError=d.PermissionDeniedError=d.InternalServerError=d.AuthenticationError=d.BadRequestError=d.RateLimitError=d.ConflictError=d.NotFoundError=d.APIUserAbortError=d.APIConnectionTimeoutError=d.APIConnectionError=d.APIError=d.SupermemoryError=d.Supermemory=d.APIPromise=d.toFile=d.default=void 0;var fo=Zt();Object.defineProperty(d,"default",{enumerable:!0,get:function(){return fo.Supermemory}});var co=ft();Object.defineProperty(d,"toFile",{enumerable:!0,get:function(){return co.toFile}});var uo=Wt();Object.defineProperty(d,"APIPromise",{enumerable:!0,get:function(){return uo.APIPromise}});var vo=Zt();Object.defineProperty(d,"Supermemory",{enumerable:!0,get:function(){return vo.Supermemory}});var q=C();Object.defineProperty(d,"SupermemoryError",{enumerable:!0,get:function(){return q.SupermemoryError}});Object.defineProperty(d,"APIError",{enumerable:!0,get:function(){return q.APIError}});Object.defineProperty(d,"APIConnectionError",{enumerable:!0,get:function(){return q.APIConnectionError}});Object.defineProperty(d,"APIConnectionTimeoutError",{enumerable:!0,get:function(){return q.APIConnectionTimeoutError}});Object.defineProperty(d,"APIUserAbortError",{enumerable:!0,get:function(){return q.APIUserAbortError}});Object.defineProperty(d,"NotFoundError",{enumerable:!0,get:function(){return q.NotFoundError}});Object.defineProperty(d,"ConflictError",{enumerable:!0,get:function(){return q.ConflictError}});Object.defineProperty(d,"RateLimitError",{enumerable:!0,get:function(){return q.RateLimitError}});Object.defineProperty(d,"BadRequestError",{enumerable:!0,get:function(){return q.BadRequestError}});Object.defineProperty(d,"AuthenticationError",{enumerable:!0,get:function(){return q.AuthenticationError}});Object.defineProperty(d,"InternalServerError",{enumerable:!0,get:function(){return q.InternalServerError}});Object.defineProperty(d,"PermissionDeniedError",{enumerable:!0,get:function(){return q.PermissionDeniedError}});Object.defineProperty(d,"UnprocessableEntityError",{enumerable:!0,get:function(){return q.UnprocessableEntityError}})});var qr={};Hn(qr,{getRequestIntegrity:()=>Ho,sanitizeContent:()=>zo,sanitizeMetadata:()=>Xo,validateApiKeyFormat:()=>lo,validateContainerTag:()=>po,validateContentLength:()=>mo,validateRecallConfig:()=>Oo});function lo(e){return!e||typeof e!="string"?{valid:!1,reason:"key is empty or not a string"}:e.startsWith("sm_")?e.length<20?{valid:!1,reason:"key is too short"}:/\s/.test(e)?{valid:!1,reason:"key contains whitespace"}:{valid:!0}:{valid:!1,reason:"key must start with sm_ prefix"}}function po(e){return!e||typeof e!="string"?{valid:!1,reason:"tag is empty"}:e.length>100?{valid:!1,reason:"tag exceeds 100 characters"}:/^[a-zA-Z0-9_-]+$/.test(e)?/^[-_]|[-_]$/.test(e)?{valid:!1,reason:"tag must not start or end with - or _"}:{valid:!0}:{valid:!1,reason:"tag contains invalid characters (only alphanumeric, underscore, hyphen allowed)"}}function zo(e,t=1e5){if(!e||typeof e!="string")return"";let r=e;for(let n of Po)r=r.replace(n,"");return r.length>t&&(r=r.slice(0,t)),r}function mo(e,t=1,r=1e5){return e.lengthr?{valid:!1,reason:`content exceeds maximum length (${r})`}:{valid:!0}}function Xo(e){let t={},r=0;for(let[n,s]of Object.entries(e)){if(r>=bo)break;n.length>xo||/[^\w.-]/.test(n)||(typeof s=="string"?(t[n]=s.slice(0,jo),r++):(typeof s=="number"&&Number.isFinite(s)||typeof s=="boolean")&&(t[n]=s,r++))}return t}function Oo(e,t){let r=[];return(!Number.isInteger(e)||e<1||e>20)&&r.push("maxRecallResults must be an integer between 1 and 20"),(!Number.isInteger(t)||t<1||t>500)&&r.push("profileFrequency must be an integer between 1 and 500"),r}function Mt(e){return(0,Me.createHash)("sha256").update(e).digest("hex")}function qo(e,t){let r=[Mt(e),Mt(t),yr].join(":");return(0,Me.createHmac)("sha256",yo).update(r).digest("base64url")}function Ho(e,t){let r=Mt(t),n=qo(e,t);return{"X-Content-Hash":r,"X-Request-Integrity":[`v${yr}`,n].join(".")}}var Me,Po,bo,xo,jo,yr,yo,Hr=qn(()=>{Me=require("node:crypto");Po=[/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,/\uFEFF/g,/[\uFFF0-\uFFFF]/g];bo=50,xo=128,jo=1024;yr=1,yo="7f2a9c4b8e1d6f3a5c0b9d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f8a"});var Ft=u((fi,hr)=>{var ho="https://api.supermemory.ai";hr.exports={BASE_URL:ho}});var Nr=u((ci,Tr)=>{function Fe(e){return String(e??"").toLowerCase().trim()}function Dt(e,t=r=>r){let r=new Set;return e.filter(n=>{let s=Fe(t(n));return!s||r.has(s)?!1:(r.add(s),!0)})}function Wo(e){let t=Fe(e.memory);return t?`content:${t}`:e.id?`id:${e.id}`:""}function To(e,t){let r=e.similarity??-1,n=t.similarity??-1;if(r!==n)return n-r;let s=e.updatedAt?Date.parse(e.updatedAt):0;return(t.updatedAt?Date.parse(t.updatedAt):0)-s}function Wr(e,t=10){let r=Dt(e.flatMap(n=>n?.results||[]).sort(To),Wo).slice(0,t);return{results:r,total:r.length,timing:Math.max(0,...e.map(n=>n?.timing||0))}}function No(e,t=10){let r=Dt(e.flatMap(a=>a?.profile?.static||[])),n=new Set(r.map(Fe)),s=Dt(e.flatMap(a=>a?.profile?.dynamic||[])).filter(a=>!n.has(Fe(a))),o=Wr(e.map(a=>a?.searchResults).filter(Boolean),t);return{profile:{static:r,dynamic:s},searchResults:o.results.length>0?o:void 0}}Tr.exports={mergeSearchResponses:Wr,mergeProfileResponses:No}});var Zr=u((ui,wr)=>{var Lo=Or().default,{getRequestIntegrity:Vo,validateApiKeyFormat:Ro,validateContainerTag:go}=(Hr(),Wn(qr)),{BASE_URL:wo}=Ft(),{mergeSearchResponses:Lr,mergeProfileResponses:Vr}=Nr(),Zo="claudecode_default";function Mo(e,t=r=>r){let r=new Set;return e.filter(n=>{let s=String(t(n)).toLowerCase().trim();return!s||r.has(s)?!1:(r.add(s),!0)})}function Rr(e){return{AND:[{key:"sm_scope",value:e,filterType:"metadata"}]}}function gr(e){return/^repo_.+__[0-9a-f]{16}$/i.test(e)}var Yt=`Shared coding-agent memory for one software repository. +${m}`)}return a};w.createPathTagFunction=go;w.path=(0,w.createPathTagFunction)(pt)});var mt=u(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.Connections=void 0;var wo=Y(),Mo=te(),L=he(),Pt=class extends wo.APIResource{create(t,r={},n){return this._client.post((0,L.path)`/v3/connections/${t}`,{body:r,...n})}list(t={},r){return this._client.post("/v3/connections/list",{body:t,...r})}configure(t,r,n){return this._client.post((0,L.path)`/v3/connections/${t}/configure`,{body:r,...n})}deleteByID(t,r){return this._client.delete((0,L.path)`/v3/connections/${t}`,r)}deleteByProvider(t,r,n){return this._client.delete((0,L.path)`/v3/connections/${t}`,{body:r,...n})}getByID(t,r){return this._client.get((0,L.path)`/v3/connections/${t}`,r)}getByTag(t,r,n){return this._client.post((0,L.path)`/v3/connections/${t}/connection`,{body:r,...n})}import(t,r={},n){return this._client.post((0,L.path)`/v3/connections/${t}/import`,{body:r,...n,headers:(0,Mo.buildHeaders)([{Accept:"text/plain"},n?.headers])})}listDocuments(t,r={},n){return this._client.post((0,L.path)`/v3/connections/${t}/documents`,{body:r,...n})}resources(t,r={},n){return this._client.get((0,L.path)`/v3/connections/${t}/resources`,{query:r,...n})}};We.Connections=Pt});var xt=u(Te=>{"use strict";Object.defineProperty(Te,"__esModule",{value:!0});Te.Documents=void 0;var Zo=Y(),Fo=te(),Do=$(),zt=he(),jt=class extends Zo.APIResource{update(t,r={},n){return this._client.patch((0,zt.path)`/v3/documents/${t}`,{body:r,...n})}list(t={},r){return this._client.post("/v3/documents/list",{body:t,...r})}delete(t,r){return this._client.delete((0,zt.path)`/v3/documents/${t}`,{...r,headers:(0,Fo.buildHeaders)([{Accept:"*/*"},r?.headers])})}add(t,r){return this._client.post("/v3/documents",{body:t,...r})}batchAdd(t,r){return this._client.post("/v3/documents/batch",{body:t,...r})}deleteBulk(t={},r){return this._client.delete("/v3/documents/bulk",{body:t,...r})}get(t,r){return this._client.get((0,zt.path)`/v3/documents/${t}`,r)}listProcessing(t){return this._client.get("/v3/documents/processing",t)}uploadFile(t,r){return this._client.post("/v3/documents/file",(0,Do.multipartFormRequestOptions)({body:t,...r},this._client))}};Te.Documents=jt});var Xt=u(Ne=>{"use strict";Object.defineProperty(Ne,"__esModule",{value:!0});Ne.Memories=void 0;var Uo=Y(),Yo=te(),So=$(),bt=he(),Ot=class extends Uo.APIResource{update(t,r={},n){return this._client.patch((0,bt.path)`/v3/documents/${t}`,{body:r,...n})}list(t={},r){return this._client.post("/v3/documents/list",{body:t,...r})}delete(t,r){return this._client.delete((0,bt.path)`/v3/documents/${t}`,{...r,headers:(0,Yo.buildHeaders)([{Accept:"*/*"},r?.headers])})}add(t,r){return this._client.post("/v3/documents",{body:t,...r})}forget(t,r){return this._client.delete("/v4/memories",{body:t,...r})}get(t,r){return this._client.get((0,bt.path)`/v3/documents/${t}`,r)}updateMemory(t,r){return this._client.patch("/v4/memories",{body:t,...r})}uploadFile(t,r){return this._client.post("/v3/documents/file",(0,So.multipartFormRequestOptions)({body:t,...r},this._client))}};Ne.Memories=Ot});var qt=u(Le=>{"use strict";Object.defineProperty(Le,"__esModule",{value:!0});Le.Search=void 0;var Go=Y(),yt=class extends Go.APIResource{documents(t,r){return this._client.post("/v3/search",{body:t,...r})}execute(t,r){return this._client.post("/v3/search",{body:t,...r})}memories(t,r){return this._client.post("/v4/search",{body:t,...r})}};Le.Search=yt});var ht=u(Ve=>{"use strict";Object.defineProperty(Ve,"__esModule",{value:!0});Ve.Settings=void 0;var Ko=Y(),Ht=class extends Ko.APIResource{update(t={},r){return this._client.patch("/v3/settings",{body:t,...r})}get(t){return this._client.get("/v3/settings",t)}};Ve.Settings=Ht});var jr=u(h=>{"use strict";Object.defineProperty(h,"__esModule",{value:!0});h.Settings=h.Search=h.Memories=h.Documents=h.Connections=void 0;var ko=mt();Object.defineProperty(h,"Connections",{enumerable:!0,get:function(){return ko.Connections}});var Eo=xt();Object.defineProperty(h,"Documents",{enumerable:!0,get:function(){return Eo.Documents}});var Co=Xt();Object.defineProperty(h,"Memories",{enumerable:!0,get:function(){return Co.Memories}});var Io=qt();Object.defineProperty(h,"Search",{enumerable:!0,get:function(){return Io.Search}});var Jo=ht();Object.defineProperty(h,"Settings",{enumerable:!0,get:function(){return Jo.Settings}})});var Wt=u(F=>{"use strict";Object.defineProperty(F,"__esModule",{value:!0});F.formatRequestDetails=F.parseLogLevel=void 0;F.loggerFor=br;var Bo=Q(),ge={off:0,error:200,warn:300,info:400,debug:500},Ao=(e,t,r)=>{if(e){if((0,Bo.hasOwn)(ge,e))return e;br(r).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(ge))}`)}};F.parseLogLevel=Ao;function re(){}function Re(e,t,r){return!t||ge[e]>ge[r]?re:t[e].bind(t)}var Qo={error:re,warn:re,info:re,debug:re},xr=new WeakMap;function br(e){let t=e.logger,r=e.logLevel??"off";if(!t)return Qo;let n=xr.get(t);if(n&&n[0]===r)return n[1];let o={error:Re("error",t,r),warn:Re("warn",t,r),info:Re("info",t,r),debug:Re("debug",t,r)};return xr.set(t,[r,o]),o}var _o=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&(e.headers=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([t,r])=>[t,t.toLowerCase()==="authorization"||t.toLowerCase()==="cookie"||t.toLowerCase()==="set-cookie"?"***":r]))),"retryOfRequestLogID"in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e);F.formatRequestDetails=_o});var Xr=u(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.defaultParseResponse=$o;var Or=Wt();async function $o(e,t){let{response:r,requestLogID:n,retryOfRequestLogID:o,startTime:s}=t,a=await(async()=>{if(r.status===204)return null;if(t.options.__binaryResponse)return r;let l=r.headers.get("content-type")?.split(";")[0]?.trim();return l?.includes("application/json")||l?.endsWith("+json")?await r.json():await r.text()})();return(0,Or.loggerFor)(e).debug(`[${n}] response parsed`,(0,Or.formatRequestDetails)({retryOfRequestLogID:o,url:r.url,status:r.status,body:a,durationMs:Date.now()-s})),a}});var Vt=u(we=>{"use strict";var ne;Object.defineProperty(we,"__esModule",{value:!0});we.APIPromise=void 0;var Nt=tt(),es=Xr(),Lt=class e extends Promise{constructor(t,r,n=es.defaultParseResponse){super(o=>{o(null)}),this.responsePromise=r,this.parseResponse=n,ne.set(this,void 0),Nt.__classPrivateFieldSet(this,ne,t,"f")}_thenUnwrap(t){return new e(Nt.__classPrivateFieldGet(this,ne,"f"),this.responsePromise,async(r,n)=>t(await this.parseResponse(r,n),n))}asResponse(){return this.responsePromise.then(t=>t.response)}async withResponse(){let[t,r]=await Promise.all([this.parse(),this.asResponse()]);return{data:t,response:r}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(t=>this.parseResponse(Nt.__classPrivateFieldGet(this,ne,"f"),t))),this.parsedPromise}then(t,r){return this.parse().then(t,r)}catch(t){return this.parse().catch(t)}finally(t){return this.parse().finally(t)}};we.APIPromise=Lt;ne=new WeakMap});var yr=u(Me=>{"use strict";Object.defineProperty(Me,"__esModule",{value:!0});Me.readEnv=void 0;var ts=e=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[e]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(e)?.trim()};Me.readEnv=ts});var Ut=u(Fe=>{"use strict";var Ft,Dt,Ze,qr;Object.defineProperty(Fe,"__esModule",{value:!0});Fe.Supermemory=void 0;var M=tt(),rs=rr(),Rt=Q(),ns=nr(),gt=rt(),os=ir(),wt=M.__importStar(at()),ss=M.__importStar(fr()),as=st(),x=M.__importStar(B()),is=M.__importStar(vt()),oe=M.__importStar(jr()),cs=Vt(),fs=mt(),us=xt(),ds=Xt(),vs=qt(),ls=ht(),Mt=te(),Zt=yr(),O=Wt(),ps=Q(),z=class{constructor({baseURL:t=(0,Zt.readEnv)("SUPERMEMORY_BASE_URL"),apiKey:r=(0,Zt.readEnv)("SUPERMEMORY_API_KEY"),...n}={}){if(Ft.add(this),Ze.set(this,void 0),this.memories=new oe.Memories(this),this.documents=new oe.Documents(this),this.search=new oe.Search(this),this.settings=new oe.Settings(this),this.connections=new oe.Connections(this),r===void 0)throw new x.SupermemoryError("The SUPERMEMORY_API_KEY environment variable is missing or empty; either provide it, or instantiate the Supermemory client with an apiKey option, like new Supermemory({ apiKey: 'My API Key' }).");let o={apiKey:r,...n,baseURL:t||"https://api.supermemory.ai"};this.baseURL=o.baseURL,this.timeout=o.timeout??Dt.DEFAULT_TIMEOUT,this.logger=o.logger??console;let s="warn";this.logLevel=s,this.logLevel=(0,O.parseLogLevel)(o.logLevel,"ClientOptions.logLevel",this)??(0,O.parseLogLevel)((0,Zt.readEnv)("SUPERMEMORY_LOG"),"process.env['SUPERMEMORY_LOG']",this)??s,this.fetchOptions=o.fetchOptions,this.maxRetries=o.maxRetries??2,this.fetch=o.fetch??wt.getDefaultFetch(),M.__classPrivateFieldSet(this,Ze,ss.FallbackEncoder,"f"),this._options=o,this.apiKey=r}withOptions(t){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,...t})}add(t,r){return this.post("/v3/documents",{body:t,...r})}profile(t,r){return this.post("/v4/profile",{body:t,...r})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:t,nulls:r}){}async authHeaders(t){return(0,Mt.buildHeaders)([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(t){return Object.entries(t).filter(([r,n])=>typeof n<"u").map(([r,n])=>{if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return`${encodeURIComponent(r)}=${encodeURIComponent(n)}`;if(n===null)return`${encodeURIComponent(r)}=`;throw new x.SupermemoryError(`Cannot stringify type ${typeof n}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${as.VERSION}`}defaultIdempotencyKey(){return`stainless-node-retry-${(0,rs.uuid4)()}`}makeStatusError(t,r,n,o){return x.APIError.generate(t,r,n,o)}buildURL(t,r,n){let o=!M.__classPrivateFieldGet(this,Ft,"m",qr).call(this)&&n||this.baseURL,s=(0,Rt.isAbsoluteURL)(t)?new URL(t):new URL(o+(o.endsWith("/")&&t.startsWith("/")?t.slice(1):t)),a=this.defaultQuery();return(0,ps.isEmptyObj)(a)||(r={...a,...r}),typeof r=="object"&&r&&!Array.isArray(r)&&(s.search=this.stringifyQuery(r)),s.toString()}async prepareOptions(t){}async prepareRequest(t,{url:r,options:n}){}get(t,r){return this.methodRequest("get",t,r)}post(t,r){return this.methodRequest("post",t,r)}patch(t,r){return this.methodRequest("patch",t,r)}put(t,r){return this.methodRequest("put",t,r)}delete(t,r){return this.methodRequest("delete",t,r)}methodRequest(t,r,n){return this.request(Promise.resolve(n).then(o=>({method:t,path:r,...o})))}request(t,r=null){return new cs.APIPromise(this,this.makeRequest(t,r,void 0))}async makeRequest(t,r,n){let o=await t,s=o.maxRetries??this.maxRetries;r==null&&(r=s),await this.prepareOptions(o);let{req:a,url:i,timeout:l}=await this.buildRequest(o,{retryCount:s-r});await this.prepareRequest(a,{url:i,options:o});let d="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),f=n===void 0?"":`, retryOf: ${n}`,m=Date.now();if((0,O.loggerFor)(this).debug(`[${d}] sending request`,(0,O.formatRequestDetails)({retryOfRequestLogID:n,method:o.method,url:i,options:o,headers:a.headers})),o.signal?.aborted)throw new x.APIUserAbortError;let j=new AbortController,c=await this.fetchWithTimeout(i,a,l,j).catch(gt.castToError),X=Date.now();if(c instanceof globalThis.Error){let E=`retrying, ${r} attempts remaining`;if(o.signal?.aborted)throw new x.APIUserAbortError;let g=(0,gt.isAbortError)(c)||/timed? ?out/i.test(String(c)+("cause"in c?String(c.cause):""));if(r)return(0,O.loggerFor)(this).info(`[${d}] connection ${g?"timed out":"failed"} - ${E}`),(0,O.loggerFor)(this).debug(`[${d}] connection ${g?"timed out":"failed"} (${E})`,(0,O.formatRequestDetails)({retryOfRequestLogID:n,url:i,durationMs:X-m,message:c.message})),this.retryRequest(o,r,n??d);throw(0,O.loggerFor)(this).info(`[${d}] connection ${g?"timed out":"failed"} - error; no more retries left`),(0,O.loggerFor)(this).debug(`[${d}] connection ${g?"timed out":"failed"} (error; no more retries left)`,(0,O.formatRequestDetails)({retryOfRequestLogID:n,url:i,durationMs:X-m,message:c.message})),g?new x.APIConnectionTimeoutError:new x.APIConnectionError({cause:c})}let k=`[${d}${f}] ${a.method} ${i} ${c.ok?"succeeded":"failed"} with status ${c.status} in ${X-m}ms`;if(!c.ok){let E=await this.shouldRetry(c);if(r&&E){let ue=`retrying, ${r} attempts remaining`;return await wt.CancelReadableStream(c.body),(0,O.loggerFor)(this).info(`${k} - ${ue}`),(0,O.loggerFor)(this).debug(`[${d}] response error (${ue})`,(0,O.formatRequestDetails)({retryOfRequestLogID:n,url:c.url,status:c.status,headers:c.headers,durationMs:X-m})),this.retryRequest(o,r,n??d,c.headers)}let g=E?"error; no more retries left":"error; not retryable";(0,O.loggerFor)(this).info(`${k} - ${g}`);let _t=await c.text().catch(ue=>(0,gt.castToError)(ue).message),$t=(0,Rt.safeJSON)(_t),er=$t?void 0:_t;throw(0,O.loggerFor)(this).debug(`[${d}] response error (${g})`,(0,O.formatRequestDetails)({retryOfRequestLogID:n,url:c.url,status:c.status,headers:c.headers,message:er,durationMs:Date.now()-m})),this.makeStatusError(c.status,$t,er,c.headers)}return(0,O.loggerFor)(this).info(k),(0,O.loggerFor)(this).debug(`[${d}] response start`,(0,O.formatRequestDetails)({retryOfRequestLogID:n,url:c.url,status:c.status,headers:c.headers,durationMs:X-m})),{response:c,options:o,controller:j,requestLogID:d,retryOfRequestLogID:n,startTime:m}}async fetchWithTimeout(t,r,n,o){let{signal:s,method:a,...i}=r||{};s&&s.addEventListener("abort",()=>o.abort());let l=setTimeout(()=>o.abort(),n),d=globalThis.ReadableStream&&i.body instanceof globalThis.ReadableStream||typeof i.body=="object"&&i.body!==null&&Symbol.asyncIterator in i.body,f={signal:o.signal,...d?{duplex:"half"}:{},method:"GET",...i};a&&(f.method=a.toUpperCase());try{return await this.fetch.call(void 0,t,f)}finally{clearTimeout(l)}}async shouldRetry(t){let r=t.headers.get("x-should-retry");return r==="true"?!0:r==="false"?!1:t.status===408||t.status===409||t.status===429||t.status>=500}async retryRequest(t,r,n,o){let s,a=o?.get("retry-after-ms");if(a){let l=parseFloat(a);Number.isNaN(l)||(s=l)}let i=o?.get("retry-after");if(i&&!s){let l=parseFloat(i);Number.isNaN(l)?s=Date.parse(i)-Date.now():s=l*1e3}if(!(s&&0<=s&&s<60*1e3)){let l=t.maxRetries??this.maxRetries;s=this.calculateDefaultRetryTimeoutMillis(r,l)}return await(0,ns.sleep)(s),this.makeRequest(t,r-1,n)}calculateDefaultRetryTimeoutMillis(t,r){let s=r-t,a=Math.min(.5*Math.pow(2,s),8),i=1-Math.random()*.25;return a*i*1e3}async buildRequest(t,{retryCount:r=0}={}){let n={...t},{method:o,path:s,query:a,defaultBaseURL:i}=n,l=this.buildURL(s,a,i);"timeout"in n&&(0,Rt.validatePositiveInteger)("timeout",n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:d,body:f}=this.buildBody({options:n}),m=await this.buildHeaders({options:t,method:o,bodyHeaders:d,retryCount:r});return{req:{method:o,headers:m,...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&f instanceof globalThis.ReadableStream&&{duplex:"half"},...f&&{body:f},...this.fetchOptions??{},...n.fetchOptions??{}},url:l,timeout:n.timeout}}async buildHeaders({options:t,method:r,bodyHeaders:n,retryCount:o}){let s={};this.idempotencyHeader&&r!=="get"&&(t.idempotencyKey||(t.idempotencyKey=this.defaultIdempotencyKey()),s[this.idempotencyHeader]=t.idempotencyKey);let a=(0,Mt.buildHeaders)([s,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(o),...t.timeout?{"X-Stainless-Timeout":String(Math.trunc(t.timeout/1e3))}:{},...(0,os.getPlatformHeaders)()},await this.authHeaders(t),this._options.defaultHeaders,n,t.headers]);return this.validateHeaders(a),a.values}buildBody({options:{body:t,headers:r}}){if(!t)return{bodyHeaders:void 0,body:void 0};let n=(0,Mt.buildHeaders)([r]);return ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof DataView||typeof t=="string"&&n.values.has("content-type")||globalThis.Blob&&t instanceof globalThis.Blob||t instanceof FormData||t instanceof URLSearchParams||globalThis.ReadableStream&&t instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:t}:typeof t=="object"&&(Symbol.asyncIterator in t||Symbol.iterator in t&&"next"in t&&typeof t.next=="function")?{bodyHeaders:void 0,body:wt.ReadableStreamFrom(t)}:M.__classPrivateFieldGet(this,Ze,"f").call(this,{body:t,headers:n})}};Fe.Supermemory=z;Dt=z,Ze=new WeakMap,Ft=new WeakSet,qr=function(){return this.baseURL!=="https://api.supermemory.ai"};z.Supermemory=Dt;z.DEFAULT_TIMEOUT=6e4;z.SupermemoryError=x.SupermemoryError;z.APIError=x.APIError;z.APIConnectionError=x.APIConnectionError;z.APIConnectionTimeoutError=x.APIConnectionTimeoutError;z.APIUserAbortError=x.APIUserAbortError;z.NotFoundError=x.NotFoundError;z.ConflictError=x.ConflictError;z.RateLimitError=x.RateLimitError;z.BadRequestError=x.BadRequestError;z.AuthenticationError=x.AuthenticationError;z.InternalServerError=x.InternalServerError;z.PermissionDeniedError=x.PermissionDeniedError;z.UnprocessableEntityError=x.UnprocessableEntityError;z.toFile=is.toFile;z.Memories=ds.Memories;z.Documents=us.Documents;z.Search=vs.Search;z.Settings=ls.Settings;z.Connections=fs.Connections});var hr=u((v,Hr)=>{"use strict";v=Hr.exports=function(...e){return new v.default(...e)};Object.defineProperty(v,"__esModule",{value:!0});v.UnprocessableEntityError=v.PermissionDeniedError=v.InternalServerError=v.AuthenticationError=v.BadRequestError=v.RateLimitError=v.ConflictError=v.NotFoundError=v.APIUserAbortError=v.APIConnectionTimeoutError=v.APIConnectionError=v.APIError=v.SupermemoryError=v.Supermemory=v.APIPromise=v.toFile=v.default=void 0;var Ps=Ut();Object.defineProperty(v,"default",{enumerable:!0,get:function(){return Ps.Supermemory}});var ms=vt();Object.defineProperty(v,"toFile",{enumerable:!0,get:function(){return ms.toFile}});var zs=Vt();Object.defineProperty(v,"APIPromise",{enumerable:!0,get:function(){return zs.APIPromise}});var js=Ut();Object.defineProperty(v,"Supermemory",{enumerable:!0,get:function(){return js.Supermemory}});var q=B();Object.defineProperty(v,"SupermemoryError",{enumerable:!0,get:function(){return q.SupermemoryError}});Object.defineProperty(v,"APIError",{enumerable:!0,get:function(){return q.APIError}});Object.defineProperty(v,"APIConnectionError",{enumerable:!0,get:function(){return q.APIConnectionError}});Object.defineProperty(v,"APIConnectionTimeoutError",{enumerable:!0,get:function(){return q.APIConnectionTimeoutError}});Object.defineProperty(v,"APIUserAbortError",{enumerable:!0,get:function(){return q.APIUserAbortError}});Object.defineProperty(v,"NotFoundError",{enumerable:!0,get:function(){return q.NotFoundError}});Object.defineProperty(v,"ConflictError",{enumerable:!0,get:function(){return q.ConflictError}});Object.defineProperty(v,"RateLimitError",{enumerable:!0,get:function(){return q.RateLimitError}});Object.defineProperty(v,"BadRequestError",{enumerable:!0,get:function(){return q.BadRequestError}});Object.defineProperty(v,"AuthenticationError",{enumerable:!0,get:function(){return q.AuthenticationError}});Object.defineProperty(v,"InternalServerError",{enumerable:!0,get:function(){return q.InternalServerError}});Object.defineProperty(v,"PermissionDeniedError",{enumerable:!0,get:function(){return q.PermissionDeniedError}});Object.defineProperty(v,"UnprocessableEntityError",{enumerable:!0,get:function(){return q.UnprocessableEntityError}})});var Tr={};Vn(Tr,{getRequestIntegrity:()=>Vs,sanitizeContent:()=>Xs,sanitizeMetadata:()=>Ws,validateApiKeyFormat:()=>xs,validateContainerTag:()=>bs,validateContentLength:()=>ys,validateRecallConfig:()=>Ts});function xs(e){return!e||typeof e!="string"?{valid:!1,reason:"key is empty or not a string"}:e.startsWith("sm_")?e.length<20?{valid:!1,reason:"key is too short"}:/\s/.test(e)?{valid:!1,reason:"key contains whitespace"}:{valid:!0}:{valid:!1,reason:"key must start with sm_ prefix"}}function bs(e){return!e||typeof e!="string"?{valid:!1,reason:"tag is empty"}:e.length>100?{valid:!1,reason:"tag exceeds 100 characters"}:/^[a-zA-Z0-9_-]+$/.test(e)?/^[-_]|[-_]$/.test(e)?{valid:!1,reason:"tag must not start or end with - or _"}:{valid:!0}:{valid:!1,reason:"tag contains invalid characters (only alphanumeric, underscore, hyphen allowed)"}}function Xs(e,t=1e5){if(!e||typeof e!="string")return"";let r=e;for(let n of Os)r=r.replace(n,"");return r.length>t&&(r=r.slice(0,t)),r}function ys(e,t=1,r=1e5){return e.lengthr?{valid:!1,reason:`content exceeds maximum length (${r})`}:{valid:!0}}function Ws(e){let t={},r=0;for(let[n,o]of Object.entries(e)){if(r>=qs)break;n.length>Hs||/[^\w.-]/.test(n)||(typeof o=="string"?(t[n]=o.slice(0,hs),r++):(typeof o=="number"&&Number.isFinite(o)||typeof o=="boolean")&&(t[n]=o,r++))}return t}function Ts(e,t){let r=[];return(!Number.isInteger(e)||e<1||e>20)&&r.push("maxRecallResults must be an integer between 1 and 20"),(!Number.isInteger(t)||t<1||t>500)&&r.push("profileFrequency must be an integer between 1 and 500"),r}function Yt(e){return(0,De.createHash)("sha256").update(e).digest("hex")}function Ls(e,t){let r=[Yt(e),Yt(t),Wr].join(":");return(0,De.createHmac)("sha256",Ns).update(r).digest("base64url")}function Vs(e,t){let r=Yt(t),n=Ls(e,t);return{"X-Content-Hash":r,"X-Request-Integrity":[`v${Wr}`,n].join(".")}}var De,Os,qs,Hs,hs,Wr,Ns,Nr=Ln(()=>{De=require("node:crypto");Os=[/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g,/\uFEFF/g,/[\uFFF0-\uFFFF]/g];qs=50,Hs=128,hs=1024;Wr=1,Ns="7f2a9c4b8e1d6f3a5c0b9d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f8a"});var St=u((Pi,Lr)=>{var Rs="https://api.supermemory.ai";Lr.exports={BASE_URL:Rs}});var gr=u((mi,Rr)=>{function Ue(e){return String(e??"").toLowerCase().trim()}function Gt(e,t=r=>r){let r=new Set;return e.filter(n=>{let o=Ue(t(n));return!o||r.has(o)?!1:(r.add(o),!0)})}function gs(e){let t=Ue(e.memory);return t?`content:${t}`:e.id?`id:${e.id}`:""}function ws(e,t){let r=e.similarity??-1,n=t.similarity??-1;if(r!==n)return n-r;let o=e.updatedAt?Date.parse(e.updatedAt):0;return(t.updatedAt?Date.parse(t.updatedAt):0)-o}function Vr(e,t=10){let r=Gt(e.flatMap(n=>n?.results||[]).sort(ws),gs).slice(0,t);return{results:r,total:r.length,timing:Math.max(0,...e.map(n=>n?.timing||0))}}function Ms(e,t=10){let r=Gt(e.flatMap(a=>a?.profile?.static||[])),n=new Set(r.map(Ue)),o=Gt(e.flatMap(a=>a?.profile?.dynamic||[])).filter(a=>!n.has(Ue(a))),s=Vr(e.map(a=>a?.searchResults).filter(Boolean),t);return{profile:{static:r,dynamic:o},searchResults:s.results.length>0?s:void 0}}Rr.exports={mergeSearchResponses:Vr,mergeProfileResponses:Ms}});var Ur=u((zi,Dr)=>{var Zs=hr().default,{getRequestIntegrity:Fs,validateApiKeyFormat:Ds,validateContainerTag:Us}=(Nr(),gn(Tr)),{BASE_URL:Ys}=St(),{mergeSearchResponses:wr,mergeProfileResponses:Mr}=gr(),Ss="claudecode_default";function Gs(e,t=r=>r){let r=new Set;return e.filter(n=>{let o=String(t(n)).toLowerCase().trim();return!o||r.has(o)?!1:(r.add(o),!0)})}function Zr(e){return{AND:[{key:"sm_scope",value:e,filterType:"metadata"}]}}function Fr(e){return/^repo_.+__[0-9a-f]{16}$/i.test(e)}var kt=`Shared coding-agent memory for one software repository. RULES: -- Preserve durable context that helps Claude Code or Codex continue the work +- Preserve durable context that helps Claude Code, Codex, OpenCode, or Cursor continue the work - Condense assistant responses into decisions, outcomes, and reusable knowledge - Keep user preferences and project facts concise and independently understandable @@ -21,7 +21,9 @@ EXTRACT: SKIP: - Generic assistant suggestions the user did not accept - Transient command output and low-value implementation chatter -- Granular details that do not help future work`,Fo=Yt,Do=Yt,Ut=class{constructor(t,r,n={}){if(!t)throw new Error("SUPERMEMORY_CC_API_KEY is required");let s=Ro(t);if(!s.valid)throw new Error(`Invalid API key: ${s.reason}`);let o=r||Zo,a=go(o);a.valid||console.warn(`Container tag warning: ${a.reason}`);let i=Vo(t,o);this.client=new Lo({apiKey:t,baseURL:n.baseUrl||wo,defaultHeaders:{...i,"x-sm-source":"claude-code"}}),this.containerTag=o}async addMemory(t,r,n={},s={}){let o={content:t,containerTag:r||this.containerTag,metadata:{sm_source:"claude-code",...n}};s.customId&&(o.customId=s.customId),s.entityContext&&(o.entityContext=s.entityContext);let a=await this.client.add(o);return{id:a.id,status:a.status,containerTag:r||this.containerTag}}async search(t,r,n={}){let s={q:t,containerTag:r||this.containerTag,limit:n.limit||10,searchMode:n.searchMode||"hybrid"};n.filters&&(s.filters=n.filters);let o=await this.client.search.memories(s),a=o.results.map(i=>({id:i.id,memory:i.content||i.memory||i.context||"",chunk:i.chunk,metadata:i.metadata,updatedAt:i.updatedAt,similarity:i.similarity,containerTag:r||this.containerTag}));return{results:Mo(a,i=>i.memory),total:o.total,timing:o.timing}}async searchMany(t,r,n={}){let s=[...new Set(r.filter(Boolean))],o=await Promise.allSettled(s.map(i=>this.search(t,i,n))),a=o.filter(i=>i.status==="fulfilled").map(i=>i.value);if(a.length===0)throw o.find(p=>p.status==="rejected")?.reason||new Error("No memory containers could be searched");return Lr(a,n.limit||10)}async searchScoped(t,r,n,s,o={}){let a=[...new Set(n.filter(c=>c&&c!==r))],i=gr(r)?{...o,filters:Rr(s)}:o,p=await Promise.allSettled([this.search(t,r,i),...a.map(c=>this.search(t,c,o))]),l=p.filter(c=>c.status==="fulfilled").map(c=>c.value);if(l.length===0)throw p.find(z=>z.status==="rejected")?.reason||new Error("No memory containers could be searched");return Lr(l,o.limit||10)}async getProfile(t,r,n={}){let s={containerTag:t||this.containerTag,q:r};n.filters&&(s.filters=n.filters);let o=await this.client.profile(s),a=new Set,i=(z,b=f=>f)=>z.filter(f=>{let O=String(b(f)).toLowerCase().trim();return!O||a.has(O)?!1:(a.add(O),!0)}),p=i(o.profile?.static||[]),l=i(o.profile?.dynamic||[]),c;if(o.searchResults){let z=o.searchResults.results.map(b=>({id:b.id,memory:b.content||b.context||"",similarity:b.similarity,title:b.title,updatedAt:b.updatedAt}));c={results:i(z,b=>b.memory),total:o.searchResults.total,timing:o.searchResults.timing}}return{profile:{static:p,dynamic:l},searchResults:c}}async getProfileMany(t,r,n={}){let s=[...new Set(t.filter(Boolean))],o=await Promise.allSettled(s.map(i=>this.getProfile(i,r,n))),a=o.filter(i=>i.status==="fulfilled").map(i=>i.value);if(a.length===0)throw o.find(p=>p.status==="rejected")?.reason||new Error("No memory profiles could be loaded");return Vr(a,n.limit||10)}async getProfileScoped(t,r,n,s,o={}){let a=[...new Set(r.filter(c=>c&&c!==t))],i=gr(t)?{...o,filters:Rr(n)}:o,p=await Promise.allSettled([this.getProfile(t,s,i),...a.map(c=>this.getProfile(c,s))]),l=p.filter(c=>c.status==="fulfilled").map(c=>c.value);if(l.length===0)throw p.find(z=>z.status==="rejected")?.reason||new Error("No memory profiles could be loaded");return Vr(l,o.limit||10)}};wr.exports={SupermemoryClient:Ut,AGENT_ENTITY_CONTEXT:Yt,PERSONAL_ENTITY_CONTEXT:Fo,REPO_ENTITY_CONTEXT:Do}});var St=u((di,Mr)=>{var{execSync:De}=require("node:child_process"),re=require("node:path");function Uo(e){let t=process.env.SUPERMEMORY_ISOLATE_WORKTREES==="true";try{if(t)return De("git rev-parse --show-toplevel",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()||null;let r=De("git rev-parse --git-common-dir",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim();if(r===".git")return De("git rev-parse --show-toplevel",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()||null;let n=re.resolve(e,r);return re.basename(n)===".git"&&!n.includes(`${re.sep}.git${re.sep}`)?re.dirname(n):De("git rev-parse --show-toplevel",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()||null}catch{return null}}Mr.exports={getGitRoot:Uo}});var Ye=u((vi,Gr)=>{var ne=require("node:fs"),Ue=require("node:path"),{getGitRoot:Fr}=St(),Dr=Ue.join(".claude",".supermemory-claude"),Ur="config.json";function Yr(e){let r=Fr(e)||e;return Ue.join(r,Dr,Ur)}function Sr(e){try{let t=Yr(e);if(ne.existsSync(t))return JSON.parse(ne.readFileSync(t,"utf-8"))}catch{}return null}function Yo(e,t){let n=Fr(e)||e,s=Ue.join(n,Dr),o=Ue.join(s,Ur);ne.existsSync(s)||ne.mkdirSync(s,{recursive:!0});let i={...Sr(e)||{},...t};return ne.writeFileSync(o,JSON.stringify(i,null,2)),o}Gr.exports={getConfigPath:Yr,loadProjectConfig:Sr,saveProjectConfig:Yo}});var on=u((li,sn)=>{var{execSync:Kr}=require("node:child_process"),So=require("node:crypto"),Gt=require("node:fs"),kr=require("node:os"),D=require("node:path"),{loadProjectConfig:Er}=Ye(),{getGitRoot:Cr}=St();function U(e){return So.createHash("sha256").update(e).digest("hex").slice(0,16)}var Se=new Map;function Ir(e){let t=e.trim();if(!t)return null;let r;if(/^[a-z][a-z\d+.-]*:\/\//i.test(t))try{let n=new URL(t);n.protocol==="file:"?r=`file:${decodeURIComponent(n.pathname)}`:r=`${n.hostname.toLowerCase()}${n.port?`:${n.port}`:""}/${n.pathname.replace(/^\/+/,"")}`}catch{r=t}else{let n=t.match(/^(?:[^@/]+@)?([^:]+):(.+)$/);r=n?`${n[1].toLowerCase()}/${n[2]}`:`file:${D.resolve(t)}`}return r.replace(/[?#].*$/,"").replace(/\/+$/,"").replace(/\.git$/i,"").replace(/\/{2,}/g,"/").toLowerCase()}function Jr(e){if(Se.has(e))return Se.get(e);try{let t=Kr("git remote get-url origin",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim(),r=Ir(t),n=t.replace(/\/+$/,"").replace(/\.git$/i,""),s=Math.max(n.lastIndexOf("/"),n.lastIndexOf(":")),a={name:n.slice(s+1)||null,normalizedRemote:r};return Se.set(e,a),a}catch{let t={name:null,normalizedRemote:null};return Se.set(e,t),t}}function Ge(e){return Jr(e).name}function V(e){return Cr(e)||D.resolve(e)}function Br(e){return`user_project_${U(V(e))}`}function Ar(e){return Et(e)}function Qr(e){return`claudecode_project_${U(V(e))}`}function _r(e){let t=null;try{t=Kr("git config user.email",{cwd:V(e),encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{}return t=t||process.env.USER||process.env.USERNAME||kr.hostname(),`codex_user_${U(t)}`}function $r(e){return`codex_project_${U(V(e))}`}function Ke(){try{let e=D.join(kr.homedir(),".codex","supermemory.json");return Gt.existsSync(e)?JSON.parse(Gt.readFileSync(e,"utf-8")):null}catch{return null}}function Go(e){let t=Ke(),r=_r(e),n=r.slice(11);return se([t?.userContainerTag,`${t?.containerTagPrefix||"codex"}_user_${n}`,r])}function Ko(e){let t=Ke(),r=$r(e),n=r.slice(14);return se([t?.projectContainerTag,`${t?.containerTagPrefix||"codex"}_project_${n}`,r])}function Kt(e){return(e.toLowerCase().replace(/[^a-z0-9]/g,"_").replace(/_+/g,"_").replace(/^_|_$/g,"")||"unknown").slice(0,95).replace(/_+$/g,"")||"unknown"}function en(e){let t=V(e),{normalizedRemote:r}=Jr(t),n=process.env.SUPERMEMORY_ISOLATE_WORKTREES==="true",s=t;try{s=Gt.realpathSync.native(t)}catch{}return U(!n&&r?r:`path:${s}`)}function tn(e){let t=V(e),n=Ge(t)||D.basename(t)||"unknown";return`repo_${Kt(n)}`}function kt(e){let t=V(e),n=Ge(t)||D.basename(t)||"unknown";return`repo_${Kt(n).slice(0,72).replace(/_+$/g,"")||"unknown"}__${en(e)}`}function Et(e){return Er(e)?.repoContainerTag||Ke()?.projectContainerTag||kt(e)}function ko(e){let t=V(e);return Ge(t)||D.basename(t)||"unknown"}function se(e){return[...new Set(e.filter(t=>typeof t=="string"&&t.trim()))]}function rn(e){let t=Er(e),r=Ke();return se([Ar(e),t?.personalContainerTag,r?.userContainerTag,Br(e),Qr(e),...Go(e)])}function nn(e){return se([Et(e),kt(e),tn(e),...Ko(e)])}function Eo(e){return se([...rn(e),...nn(e)])}sn.exports={sha256:U,getGitRoot:Cr,normalizeGitRemote:Ir,getGitRepoName:Ge,getProjectIdentity:en,getContainerTag:Ar,getGeneratedContainerTag:Br,getLegacyContainerTag:Qr,getLegacyCodexUserTag:_r,getLegacyCodexProjectTag:$r,getRepoContainerTag:Et,getGeneratedRepoContainerTag:kt,getLegacyGeneratedRepoContainerTag:tn,getProjectName:ko,getPersonalReadTags:rn,getProjectReadTags:nn,getAllReadTags:Eo,sanitizeRepoName:Kt}});var fn=u((pi,an)=>{var{execFile:Co}=require("node:child_process");function ke(e,t){return new Promise((r,n)=>{Co(e,t,{windowsHide:!0},s=>{s?n(s):r()})})}async function Io(e){let t=e.toString();if(!/^https?:\/\//i.test(t))throw new Error("Refusing to open non-http URL");if(process.platform==="win32"){try{await ke("rundll32.exe",["url.dll,FileProtocolHandler",t]);return}catch{}await ke("cmd.exe",["/c","start",'""',t]);return}if(process.platform==="darwin"){await ke("open",[t]);return}await ke("xdg-open",[t])}an.exports={openUrl:Io}});var cn=u((Pi,Jo)=>{Jo.exports=` +- Granular details that do not help future work`,Ks=kt,ks=kt,Kt=class{constructor(t,r,n={}){if(!t)throw new Error("SUPERMEMORY_CC_API_KEY is required");let o=Ds(t);if(!o.valid)throw new Error(`Invalid API key: ${o.reason}`);let s=r||Ss,a=Us(s);a.valid||console.warn(`Container tag warning: ${a.reason}`);let i=Fs(t,s);this.client=new Zs({apiKey:t,baseURL:n.baseUrl||Ys,defaultHeaders:{...i,"x-sm-source":"claude-code"}}),this.containerTag=s}async addMemory(t,r,n={},o={}){let s={content:t,containerTag:r||this.containerTag,metadata:{sm_source:"claude-code",...n}};o.customId&&(s.customId=o.customId),o.entityContext&&(s.entityContext=o.entityContext);let a=await this.client.add(s);return{id:a.id,status:a.status,containerTag:r||this.containerTag}}async search(t,r,n={}){let o={q:t,containerTag:r||this.containerTag,limit:n.limit||10,searchMode:n.searchMode||"hybrid"};n.filters&&(o.filters=n.filters);let s=await this.client.search.memories(o),a=s.results.map(i=>({id:i.id,memory:i.content||i.memory||i.context||"",chunk:i.chunk,metadata:i.metadata,updatedAt:i.updatedAt,similarity:i.similarity,containerTag:r||this.containerTag}));return{results:Gs(a,i=>i.memory),total:s.total,timing:s.timing}}async searchMany(t,r,n={}){let o=[...new Set(r.filter(Boolean))],s=await Promise.allSettled(o.map(i=>this.search(t,i,n))),a=s.filter(i=>i.status==="fulfilled").map(i=>i.value);if(a.length===0)throw s.find(l=>l.status==="rejected")?.reason||new Error("No memory containers could be searched");return wr(a,n.limit||10)}async searchScoped(t,r,n,o,s={}){let a=[...new Set(n.filter(f=>f&&f!==r))],i=Fr(r)?{...s,filters:Zr(o)}:s,l=await Promise.allSettled([this.search(t,r,i),...a.map(f=>this.search(t,f,s))]),d=l.filter(f=>f.status==="fulfilled").map(f=>f.value);if(d.length===0)throw l.find(m=>m.status==="rejected")?.reason||new Error("No memory containers could be searched");return wr(d,s.limit||10)}async getProfile(t,r,n={}){let o={containerTag:t||this.containerTag,q:r};n.filters&&(o.filters=n.filters);let s=await this.client.profile(o),a=new Set,i=(m,j=c=>c)=>m.filter(c=>{let X=String(j(c)).toLowerCase().trim();return!X||a.has(X)?!1:(a.add(X),!0)}),l=i(s.profile?.static||[]),d=i(s.profile?.dynamic||[]),f;if(s.searchResults){let m=s.searchResults.results.map(j=>({id:j.id,memory:j.content||j.context||"",similarity:j.similarity,title:j.title,updatedAt:j.updatedAt}));f={results:i(m,j=>j.memory),total:s.searchResults.total,timing:s.searchResults.timing}}return{profile:{static:l,dynamic:d},searchResults:f}}async getProfileMany(t,r,n={}){let o=[...new Set(t.filter(Boolean))],s=await Promise.allSettled(o.map(i=>this.getProfile(i,r,n))),a=s.filter(i=>i.status==="fulfilled").map(i=>i.value);if(a.length===0)throw s.find(l=>l.status==="rejected")?.reason||new Error("No memory profiles could be loaded");return Mr(a,n.limit||10)}async getProfileScoped(t,r,n,o,s={}){let a=[...new Set(r.filter(f=>f&&f!==t))],i=Fr(t)?{...s,filters:Zr(n)}:s,l=await Promise.allSettled([this.getProfile(t,o,i),...a.map(f=>this.getProfile(f,o))]),d=l.filter(f=>f.status==="fulfilled").map(f=>f.value);if(d.length===0)throw l.find(m=>m.status==="rejected")?.reason||new Error("No memory profiles could be loaded");return Mr(d,s.limit||10)}};Dr.exports={SupermemoryClient:Kt,AGENT_ENTITY_CONTEXT:kt,PERSONAL_ENTITY_CONTEXT:Ks,REPO_ENTITY_CONTEXT:ks}});var Et=u((ji,Yr)=>{var{execSync:Ye}=require("node:child_process"),se=require("node:path");function Es(e){let t=process.env.SUPERMEMORY_ISOLATE_WORKTREES==="true";try{if(t)return Ye("git rev-parse --show-toplevel",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()||null;let r=Ye("git rev-parse --git-common-dir",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim();if(r===".git")return Ye("git rev-parse --show-toplevel",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()||null;let n=se.resolve(e,r);return se.basename(n)===".git"&&!n.includes(`${se.sep}.git${se.sep}`)?se.dirname(n):Ye("git rev-parse --show-toplevel",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()||null}catch{return null}}Yr.exports={getGitRoot:Es}});var Ge=u((xi,Cr)=>{var ae=require("node:fs"),Se=require("node:path"),{getGitRoot:Sr}=Et(),Gr=Se.join(".claude",".supermemory-claude"),Kr="config.json";function kr(e){let r=Sr(e)||e;return Se.join(r,Gr,Kr)}function Er(e){try{let t=kr(e);if(ae.existsSync(t))return JSON.parse(ae.readFileSync(t,"utf-8"))}catch{}return null}function Cs(e,t){let n=Sr(e)||e,o=Se.join(n,Gr),s=Se.join(o,Kr);ae.existsSync(o)||ae.mkdirSync(o,{recursive:!0});let i={...Er(e)||{},...t};return ae.writeFileSync(s,JSON.stringify(i,null,2)),s}Cr.exports={getConfigPath:kr,loadProjectConfig:Er,saveProjectConfig:Cs}});var vn=u((bi,dn)=>{var{execSync:ke}=require("node:child_process"),Is=require("node:crypto"),V=require("node:fs"),G=require("node:os"),H=require("node:path"),{loadProjectConfig:Ir}=Ge(),{getGitRoot:Jr}=Et();function N(e){return Is.createHash("sha256").update(e).digest("hex").slice(0,16)}var Ke=new Map;function Br(e){let t=e.trim();if(!t)return null;let r;if(/^[a-z][a-z\d+.-]*:\/\//i.test(t))try{let n=new URL(t);n.protocol==="file:"?r=`file:${decodeURIComponent(n.pathname)}`:r=`${n.hostname.toLowerCase()}${n.port?`:${n.port}`:""}/${n.pathname.replace(/^\/+/,"")}`}catch{r=t}else{let n=t.match(/^(?:[^@/]+@)?([^:]+):(.+)$/);r=n?`${n[1].toLowerCase()}/${n[2]}`:`file:${H.resolve(t)}`}return r.replace(/[?#].*$/,"").replace(/\/+$/,"").replace(/\.git$/i,"").replace(/\/{2,}/g,"/").toLowerCase()}function Ar(e){if(Ke.has(e))return Ke.get(e);try{let t=ke("git remote get-url origin",{cwd:e,encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim(),r=Br(t),n=t.replace(/\/+$/,"").replace(/\.git$/i,""),o=Math.max(n.lastIndexOf("/"),n.lastIndexOf(":")),a={name:n.slice(o+1)||null,normalizedRemote:r};return Ke.set(e,a),a}catch{let t={name:null,normalizedRemote:null};return Ke.set(e,t),t}}function Ee(e){return Ar(e).name}function W(e){return Jr(e)||H.resolve(e)}function Qr(e){return`user_project_${N(W(e))}`}function _r(e){return Bt(e)}function $r(e){return`claudecode_project_${N(W(e))}`}function en(e){let t=null;try{t=ke("git config user.email",{cwd:W(e),encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{}return t=t||process.env.USER||process.env.USERNAME||G.hostname(),`codex_user_${N(t)}`}function tn(e){return`codex_project_${N(W(e))}`}function Ce(){try{let e=H.join(G.homedir(),".codex","supermemory.json");return V.existsSync(e)?JSON.parse(V.readFileSync(e,"utf-8")):null}catch{return null}}function Ct(e){let t=H.join(G.homedir(),".config","cursor","supermemory.json"),r=null;try{V.existsSync(t)&&(r=JSON.parse(V.readFileSync(t,"utf-8")))}catch{}let n=null,o=H.resolve(e);for(;;){let s=H.join(o,".cursor",".supermemory","config.json");try{if(V.existsSync(s)){n=JSON.parse(V.readFileSync(s,"utf-8"));break}}catch{}let a=H.dirname(o);if(a===o)break;o=a}return{...r||{},...n||{}}}function rn(e){let t=Ct(e),r=null;try{r=ke("git config user.email",{cwd:W(e),encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{}let n=`${G.hostname()}_${G.userInfo().username}`;return R([t.userContainerTag||process.env.SUPERMEMORY_USER_TAG||process.env.CURSOR_USER_EMAIL||r||n]).map(o=>`cursor_user_${N(o)}`)}function nn(e){let t=Ct(e),r=W(e);return R([t.projectContainerTag||process.env.SUPERMEMORY_PROJECT_TAG||r]).map(n=>`cursor_project_${N(n)}`)}function Js(e){let t="",r=0,n=!1,o=!1,s=!1;for(;r=0&&e[d]==="\\";d--)l++;l%2===0&&(n=!n),t+=a,r++;continue}if(n){t+=a,r++;continue}if(!o&&!s&&a==="/"&&i==="/"){o=!0,r+=2;continue}if(!o&&!s&&a==="/"&&i==="*"){s=!0,r+=2;continue}if(o){a===` +`&&(o=!1,t+=a),r++;continue}if(s){if(a==="*"&&i==="/"){s=!1,r+=2;continue}a===` +`&&(t+=a),r++;continue}t+=a,r++}return t.replace(/,\s*([}\]])/g,"$1")}function It(){let e=H.join(G.homedir(),".config","opencode");for(let t of["supermemory.jsonc","supermemory.json"])try{let r=H.join(e,t);if(!V.existsSync(r))continue;return JSON.parse(Js(V.readFileSync(r,"utf-8")))}catch{return null}return null}function on(e){let t=It(),r=null;try{r=ke("git config user.email",{cwd:W(e),encoding:"utf-8",stdio:["pipe","pipe","pipe"]}).trim()}catch{}r=r||process.env.USER||process.env.USERNAME||"anonymous";let n=N(r);return R([t?.userContainerTag,`${t?.containerTagPrefix||"opencode"}_user_${n}`,`opencode_user_${n}`])}function sn(e){let t=It(),r=[...new Set([e,H.resolve(e),W(e)].map(n=>N(n)))];return R([t?.projectContainerTag,...r.flatMap(n=>[`${t?.containerTagPrefix||"opencode"}_project_${n}`,`opencode_project_${n}`])])}function Bs(e){let t=Ce(),r=en(e),n=r.slice(11);return R([t?.userContainerTag,`${t?.containerTagPrefix||"codex"}_user_${n}`,r])}function As(e){let t=Ce(),r=tn(e),n=r.slice(14);return R([t?.projectContainerTag,`${t?.containerTagPrefix||"codex"}_project_${n}`,r])}function Jt(e){return(e.toLowerCase().replace(/[^a-z0-9]/g,"_").replace(/_+/g,"_").replace(/^_|_$/g,"")||"unknown").slice(0,95).replace(/_+$/g,"")||"unknown"}function an(e){let t=W(e),{normalizedRemote:r}=Ar(t),n=process.env.SUPERMEMORY_ISOLATE_WORKTREES==="true",o=t;try{o=V.realpathSync.native(t)}catch{}return N(!n&&r?r:`path:${o}`)}function cn(e){let t=W(e),n=Ee(t)||H.basename(t)||"unknown";return`repo_${Jt(n)}`}function Ie(e){let t=W(e),n=Ee(t)||H.basename(t)||"unknown";return`repo_${Jt(n).slice(0,72).replace(/_+$/g,"")||"unknown"}__${an(e)}`}function Bt(e){return Ir(e)?.repoContainerTag||process.env.SUPERMEMORY_REPO_TAG||Ct(e)?.repoContainerTag||Ce()?.projectContainerTag||It()?.projectContainerTag||Ie(e)}function Qs(e){let t=W(e);return Ee(t)||H.basename(t)||"unknown"}function R(e){return[...new Set(e.filter(t=>typeof t=="string"&&t.trim()))]}function fn(e){let t=Ir(e),r=Ce();return R([_r(e),Ie(e),t?.personalContainerTag,r?.userContainerTag,Qr(e),$r(e),...Bs(e),...on(e),...rn(e)])}function un(e){return R([Bt(e),Ie(e),cn(e),...As(e),...sn(e),...nn(e)])}function _s(e){return R([...fn(e),...un(e)])}dn.exports={sha256:N,getGitRoot:Jr,normalizeGitRemote:Br,getGitRepoName:Ee,getProjectIdentity:an,getContainerTag:_r,getGeneratedContainerTag:Qr,getLegacyContainerTag:$r,getLegacyCodexUserTag:en,getLegacyCodexProjectTag:tn,getLegacyOpenCodeUserTags:on,getLegacyOpenCodeProjectTags:sn,getLegacyCursorUserTags:rn,getLegacyCursorProjectTags:nn,getRepoContainerTag:Bt,getGeneratedRepoContainerTag:Ie,getLegacyGeneratedRepoContainerTag:cn,getProjectName:Qs,getPersonalReadTags:fn,getProjectReadTags:un,getAllReadTags:_s,sanitizeRepoName:Jt}});var pn=u((Oi,ln)=>{var{execFile:$s}=require("node:child_process");function Je(e,t){return new Promise((r,n)=>{$s(e,t,{windowsHide:!0},o=>{o?n(o):r()})})}async function ea(e){let t=e.toString();if(!/^https?:\/\//i.test(t))throw new Error("Refusing to open non-http URL");if(process.platform==="win32"){try{await Je("rundll32.exe",["url.dll,FileProtocolHandler",t]);return}catch{}await Je("cmd.exe",["/c","start",'""',t]);return}if(process.platform==="darwin"){await Je("open",[t]);return}await Je("xdg-open",[t])}ln.exports={openUrl:ea}});var Pn=u((Xi,ta)=>{ta.exports=` Connected - Supermemory