@augmentd-labs/canvas-web 2.15.6 → 2.15.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{St as t,wt as n,xt as r}from"./react-DQazvoR7.js";import{_ as i,a,b as o,c as s,i as c,s as l,t as ee,u,v as d,x as f}from"./alert-dialog-CI8w9egc.js";var p=e(n(),1),m=t(),h=r();function te(e){return new Promise((t,n)=>{let r=document.createElement(`div`);document.body.appendChild(r);let i=(0,m.createRoot)(r),u=e=>{i.unmount(),r.remove(),e?t(e):n(Error(`Workspace start cancelled`))};function d(){let[t,n]=(0,p.useState)(``);return(0,h.jsx)(ee,{open:!0,onOpenChange:e=>{e||u()},children:(0,h.jsxs)(c,{children:[(0,h.jsxs)(l,{children:[(0,h.jsx)(s,{children:`Start protected workspace`}),(0,h.jsx)(a,{children:e===`workspace`?`Enter the workspace PIN/password or recovery key to start.`:`Unlock integrations, or start with authenticated integrations unavailable.`})]}),(0,h.jsxs)(`form`,{className:`space-y-4`,onSubmit:e=>{e.preventDefault(),u({passphrase:t})},children:[(0,h.jsxs)(`label`,{className:`space-y-2 block text-sm`,children:[`PIN/password or recovery key`,(0,h.jsx)(o,{autoFocus:!0,type:`password`,autoComplete:`current-password`,value:t,onChange:e=>n(e.target.value)})]}),(0,h.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,h.jsx)(f,{type:`submit`,disabled:!t,children:`Unlock and start`}),e===`secrets`&&(0,h.jsx)(f,{type:`button`,variant:`outline`,onClick:()=>u({withoutSecrets:!0}),children:`Start without integrations`}),(0,h.jsx)(f,{type:`button`,variant:`ghost`,onClick:()=>u(),children:`Cancel`})]})]})]})})}i.render((0,h.jsx)(d,{}))})}var ne={gh:`GitHub`,slack:`Slack`,gcal:`Google Calendar`,caldav:`CalDAV`,msteams:`Microsoft Teams`};function re(e){for(let t of e.locations||[]){let e=t?.url;if(typeof e!=`string`)continue;let n=e.indexOf(`://`);if(n<=0)continue;let r=e.slice(0,n),i=ne[r];if(i)return{scheme:r,label:i,url:e}}return null}var g=new Map,_=new Set;function v(){for(let e of _)e()}function ie(e){g.set(e,(g.get(e)||0)+1),v()}function ae(e){let t=(g.get(e)||0)-1;t>0?g.set(e,t):g.delete(e),v()}function oe(e){return _.add(e),()=>{_.delete(e)}}function se(e){let t=(0,p.useCallback)(()=>e!=null&&g.has(e),[e]);return(0,p.useSyncExternalStore)(oe,t,()=>!1)}function ce(e){let t=se(e.id),n=re(e),r=t&&n!=null;return{mirror:n,replicating:r,label:r?`Replicating to ${n.label}…`:``}}var y=`context`,b=`data/schema/identity`,le=e=>e===`directory`||e===`backends`?`directory`:`context`;function ue(e,t){if(!e||t===`/`)return null;let n=t.split(`/`).filter(Boolean),r=e;for(let e of n)if(r=r?.children?.find(t=>t.name===e),!r)return null;return r??null}var x=new Map,S=new Map;function C(e,t=`/`,n=y,r=`context`){e.append(`treeNameOrTreeId`,n),e.append(`treeType`,r),t&&e.append(`context`,t)}var w=[`includes`,`references`,`derived-from`,`mentions`,`replies-to`,`depicts`,`authored-by`,`member-of`];function T(e,t=[]){t.filter(Boolean).forEach(t=>e.append(`allOf`,t))}function E(e,t=[]){t.filter(Boolean).forEach(t=>e.append(`anyOf`,t))}function D(e,t=[]){t.filter(Boolean).forEach(t=>e.append(`noneOf`,t))}function O(e,t=[]){t.filter(Boolean).forEach(t=>e.append(`filters`,t))}function k(e,t){for(let n of t??[])e.append(`ids`,String(n))}function de(e,t){for(let n of t??[]){let t=n.op===`allOf`?`+`:n.op===`noneOf`?`!`:``;e.append(`rel`,`${t}${n.p}:${n.of}:${n.dir??`out`}`)}}function A(e,t,n){let r=(t&&t.length?t:n?[n]:[]).map(e=>e.trim()).filter(Boolean);for(let t of r)e.append(`q`,t)}function fe(e,t=y){return`${i.workspaces}/${e}/trees/${encodeURIComponent(t)}`}function j(e,t=y){return`${e}\0${t}`}function pe(e){return String(e||`/`).split(`/`).filter(Boolean).map(encodeURIComponent).join(`/`)}function M(e,t,n){let r=pe(n);return`${fe(e,t)}/path/${r}`}async function me(e){let t=await u.get(`${i.workspaces}/${e}`);return t&&`workspace`in t?t.workspace:t}async function N(){try{let e=await u.get(i.workspaces);return Array.isArray(e)?e:(console.warn(`listWorkspaces: response.payload is not an array:`,e),[])}catch(e){throw console.error(`Failed to list workspaces:`,e),e}}async function P(e){try{return await u.post(i.workspaces,e)}catch(e){throw console.error(`Failed to create workspace:`,e),e}}var F={resolving:`Resolving token on the remote server…`,exporting:`Remote server is packing the workspace…`,downloading:`Downloading archive…`,extracting:`Extracting…`,loading:`Validating and loading…`,done:`Done`};async function I(e){return u.get(`${i.workspaces}/import/jobs/${encodeURIComponent(e)}`)}async function L(e,t,{intervalMs:n=1500,signal:r}={}){for(;;){if(r?.aborted)throw Error(`Import tracking cancelled`);let i=await I(e);if(t?.(i),i.status===`done`){if(!i.result)throw Error(`Import finished without returning a workspace`);return i.result}if(i.status===`failed`)throw Error(i.error?.message||`Import failed`);await new Promise(e=>setTimeout(e,n))}}async function R(e,t,n){return L((await u.post(`${i.workspaces}/import`,{url:e,token:t})).id,n)}async function z(){return u.get(`${i.workspaces}/remotes`)}async function he(e,t,n){return u.post(`${i.workspaces}/remotes`,{url:e,token:t,...n?{label:n}:{}})}async function ge(e){await u.delete(`${i.workspaces}/remotes/${encodeURIComponent(e)}`)}async function _e(e,t={}){return u.post(`${i.workspaces}/${e}/export`,{stop:t.stop===!0})}async function ve(e){return u.get(`${i.workspaces}/${e}/exports`)}async function ye(e){await u.delete(`${i.workspaces}/exports/${encodeURIComponent(e)}`)}async function be(e){await u.post(`${i.workspaces}/exports/ticket`);let t=`${d}${i.workspaces}/exports/${encodeURIComponent(e)}`,n=document.createElement(`a`);n.href=t,n.download=e,document.body.appendChild(n),n.click(),n.remove()}async function xe(e,t,n){return L((await Se(e,t)).id,n)}function Se(e,t){let n=localStorage.getItem(`authToken`),r=`${d}${i.workspaces}/import/upload?filename=${encodeURIComponent(e.name)}`;return new Promise((i,a)=>{let o=new XMLHttpRequest;o.open(`POST`,r,!0),o.withCredentials=!0,n&&o.setRequestHeader(`Authorization`,`Bearer ${n}`),o.setRequestHeader(`Content-Type`,`application/octet-stream`),o.upload.onprogress=e=>{e.lengthComputable&&t&&t(e.loaded/e.total)},o.onload=()=>{let e=null;try{e=JSON.parse(o.responseText)}catch{}let t=e?.payload?.job;o.status>=200&&o.status<300&&t?i(t):a(Error(e?.message||`Import failed (HTTP ${o.status})`))},o.onerror=()=>a(Error(`Upload failed — the connection dropped`)),o.onabort=()=>a(Error(`Upload cancelled`)),o.send(e)})}async function Ce(e,t){try{if(!t){let n=await u.get(`${i.workspaces}/${e}/status`),r=n.protection?.mode||`none`;t=n.status!==`active`&&r!==`none`?await te(r):{}}let n=await u.post(`${i.workspaces}/${e}/start`,t);return window.dispatchEvent(new CustomEvent(`workspaces:refresh`)),n}catch(e){throw console.error(`Failed to start workspace:`,e),e}}async function we(e){try{let t=await u.post(`${i.workspaces}/${e}/stop`);return V(e),window.dispatchEvent(new CustomEvent(`workspace:stopped`,{detail:{refs:[e]}})),window.dispatchEvent(new CustomEvent(`workspaces:refresh`)),t}catch(e){throw console.error(`Failed to stop workspace:`,e),e}}async function Te(e){try{return await u.delete(`${i.workspaces}/${e}`)}catch(e){throw console.error(`Failed to remove workspace:`,e),e}}async function Ee(e){try{return await u.get(`${i.workspaces}/${e}/trees`)||[]}catch(t){throw console.error(`Failed to list workspace trees ${e}:`,t),t}}async function B(e,t){try{return await u.get(`${i.workspaces}/${e}/trees/${encodeURIComponent(t)}`)}catch(n){throw console.error(`Failed to get workspace tree ${e}/${t}:`,n),n}}function V(e,t){if(!e){x.clear(),S.clear();return}if(!t){let t=`${e}\0`;for(let e of x.keys())e.startsWith(t)&&x.delete(e);for(let e of S.keys())e.startsWith(t)&&S.delete(e);return}let n=j(e,t);x.delete(n),S.delete(n)}var De=`.trash`;function Oe(e){return e?Array.isArray(e.children)?{...e,children:e.children.filter(e=>e?.name!==De)}:e:null}async function ke(e,t,n={}){let r=j(e,t);if(!n.force&&x.has(r))return x.get(r);if(!n.force&&S.has(r))return S.get(r);let i=B(e,t).then(e=>{let t=Oe(e);return S.get(r)===i&&x.set(r,t),t}).finally(()=>{S.get(r)===i&&S.delete(r)});return S.set(r,i),i}async function H(e,t=`/`,n=[],r={}){try{let a=new URLSearchParams,o=r.scope===`workspace`;o&&a.append(`scope`,`workspace`),r.applyCanvasSpec===!1&&a.append(`applyCanvasSpec`,`false`),a.append(`treeNameOrTreeId`,r.treeName||`context`),r.treeType&&a.append(`treeType`,r.treeType),t&&!o&&a.append(`context`,t),T(a,n),E(a,r.anyOf),D(a,r.noneOf),O(a,r.filters),de(a,r.rel),k(a,r.ids),r.limit!==void 0&&a.append(`limit`,r.limit.toString()),r.offset!==void 0&&a.append(`offset`,r.offset.toString()),r.page!==void 0&&a.append(`page`,r.page.toString()),r.debug&&a.append(`debug`,`true`),r.debug&&r.debugLimit&&a.append(`debugLimit`,String(r.debugLimit)),r.sortBy&&a.append(`sortBy`,r.sortBy),r.order&&a.append(`order`,r.order),A(a,r.queries,r.q);let s=a.toString(),c=`${i.workspaces}/${e}/documents${s?`?`+s:``}`;return await u.getEnvelope(c)}catch(t){throw console.error(`Failed to get workspace documents ${e}:`,t),t}}async function Ae(e,t,n=y,r={}){let i=n===`directory`?`directory`:`context`;return H(e,t,r.allOf||[],{treeName:n,treeType:i,limit:r.limit,page:r.page,offset:r.offset,q:r.q,queries:r.queries,anyOf:r.anyOf,noneOf:r.noneOf,filters:r.filters,ids:r.ids,sortBy:r.sortBy,order:r.order,applyCanvasSpec:r.applyCanvasSpec})}async function je(e,t,n,r={}){try{let a=new URLSearchParams;r.limit!==void 0&&a.append(`limit`,r.limit.toString()),r.offset!==void 0&&a.append(`offset`,r.offset.toString()),r.page!==void 0&&a.append(`page`,r.page.toString()),A(a,r.queries,r.q),T(a,r.allOf),E(a,r.anyOf),D(a,r.noneOf),O(a,r.filters),k(a,r.ids),r.sortBy&&a.append(`sortBy`,r.sortBy),r.order&&a.append(`order`,r.order);let o=a.toString(),s=`${i.workspaces}/${e}/trees/${encodeURIComponent(t)}/layers/${encodeURIComponent(n)}/documents${o?`?`+o:``}`;return await u.getEnvelope(s)}catch(r){throw console.error(`Failed to get workspace layer documents ${e}/${t}/${n}:`,r),r}}async function Me(e,t){try{return await u.patch(`${i.workspaces}/${e}`,t)}catch(e){throw console.error(`Failed to update workspace:`,e),e}}async function Ne(e,t,n=!0,r=y,i=`context`){try{return await u.put(M(e,r,t),{type:i,autoCreateLayers:n}),!0}catch(e){throw console.error(`Failed to insert workspace path ${t}:`,e),e}}async function Pe(e,t,n=y,r={}){try{return await u.put(M(e,n,t),{type:`canvas`,...r}),!0}catch(e){throw console.error(`Failed to create workspace canvas ${t}:`,e),e}}async function Fe(e,t,n,r,i){let a={metadata:r};return i&&(a.querySpec=i),await u.patch(M(e,n,t),a),!0}async function Ie(e,t,n=y){return await u.post(`${d}/pub/c`,{workspaceId:e,path:t,treeName:n})}async function Le(e,t,n=y){let r=new URLSearchParams({workspaceId:e,path:t,treeName:n});return await u.get(`${d}/pub/c?${r.toString()}`)}async function Re(e){return await u.delete(`${d}/pub/c/${encodeURIComponent(e)}`),!0}async function ze(e){let t=await u.get(`${i.workspaces}/${e}/shares`);return{publicCanvasShares:t?.publicCanvasShares||[],emailShares:t?.emailShares||[]}}async function Be(e,t){return await u.delete(`${i.workspaces}/${e}/shares/public-canvas/${encodeURIComponent(t)}`),!0}async function Ve(e,t,n,r=y){try{return await u.patch(M(e,r,t),n),!0}catch(e){throw console.error(`Failed to update workspace path ${t}:`,e),e}}async function He(e,t,n=!1,r=y,i=!1,a=!1){try{let o=new URLSearchParams({recursive:n.toString()});return i&&o.set(`purge`,`true`),a&&o.set(`destroy`,`true`),await u.delete(`${M(e,r,t)}?${o.toString()}`),!0}catch(e){throw console.error(`Failed to remove workspace path ${t}:`,e),e}}async function Ue(e,t,n,r=!1,i=y,a,o={}){try{return await u.patch(M(e,i,t),{to:n,recursive:r,...o.mergeDown?{mergeDown:!0}:{},...a&&a!==i?{targetTreeNameOrTreeId:a}:{}}),!0}catch(e){throw console.error(`Failed to move workspace path from ${t} to ${n}:`,e),e}}async function We(e,t,n,r=!1,i=y,a){try{return await u.post(M(e,i,t),{to:n,recursive:r,...a&&a!==i?{targetTreeNameOrTreeId:a}:{}}),!0}catch(e){throw console.error(`Failed to copy workspace path from ${t} to ${n}:`,e),e}}async function Ge(e,t,n,r=y,a=`context`){try{let o=W(Array.isArray(n)?n:[n]),s=performance.now();return await u.post(`${i.workspaces}/${e}/documents`,{documentIds:o,treeNameOrTreeId:r,treeType:a,context:t}),console.info(`[paste] linked ${o.length} document(s) → ${r}:${t} in ${Math.round(performance.now()-s)} ms`),!0}catch(e){throw console.error(`Failed to paste documents to workspace path ${t}:`,e),e}}async function Ke(e,t,n,r=y,a=`context`){try{let o=Array.isArray(n)?n:[n],s=await u.post(`${i.workspaces}/${e}/documents`,{documents:o,treeNameOrTreeId:r,treeType:a,context:t});return Array.isArray(s)?s:[]}catch(e){throw console.error(`Failed to import documents to workspace path ${t}:`,e),e}}var U=e=>`${i.workspaces}/${e}/pins`,qe=(e,t)=>`${e}\0${t}`;async function Je(e){let t=await u.get(U(e));return Array.isArray(t)?t:[]}async function Ye(e,t,n=y){return u.post(U(e),{path:t,tree:n})}async function Xe(e,t){await u.delete(`${U(e)}/${encodeURIComponent(t)}`)}async function Ze(e,t){let n=await u.patch(`${U(e)}/order`,{order:t});return Array.isArray(n)?n:[]}async function Qe(e,t=y){return await u.get(`${i.workspaces}/${e}/trees/${encodeURIComponent(t)}/layers`)||[]}async function $e(e,t,n,r=y){return await u.patch(`${i.workspaces}/${e}/trees/${encodeURIComponent(r)}/layers/${t}`,{name:n})}async function et(e,t,n,r=y){return await u.post(`${i.workspaces}/${e}/trees/${encodeURIComponent(r)}/layers/${t}/lock`,{lockBy:n}),!0}async function tt(e,t,n,r=y){return await u.post(`${i.workspaces}/${e}/trees/${encodeURIComponent(r)}/layers/${t}/unlock`,{lockBy:n}),!0}async function nt(e,t,n=y){return await u.delete(`${i.workspaces}/${e}/trees/${encodeURIComponent(n)}/layers/${t}`),!0}async function rt(e,t,n,r=y){return await u.post(`${i.workspaces}/${e}/trees/${encodeURIComponent(r)}/layers/merge`,{layerId:t,targetLayers:n})}async function it(e,t,n=y){return(await u.post(`${i.workspaces}/${e}/trees/${encodeURIComponent(n)}/paths/merge-down`,{path:t}))?.data??null}async function at(e,t,n=y){return(await u.post(`${i.workspaces}/${e}/trees/${encodeURIComponent(n)}/paths/subtract-down`,{path:t}))?.data??null}async function ot(e,t,n,r=y){return await u.post(`${i.workspaces}/${e}/trees/${encodeURIComponent(r)}/layers/subtract`,{layerId:t,targetLayers:n})}function W(e){let t=e.map(e=>typeof e==`number`?e:Number(e));if(t.some(e=>!Number.isFinite(e)))throw Error(`Invalid document ID(s): expected numbers (or numeric strings), got ${JSON.stringify(e)}`);return t}async function st(e,t,n=`/`,r=[],a=y,o=`context`,s={}){let c=new URLSearchParams;C(c,n,a,o),T(c,r),s.trashIfOrphaned&&c.append(`trashIfOrphaned`,`true`);let l=W(t);return await u.delete(`${i.workspaces}/${e}/documents/remove?${c.toString()}`,{headers:{"Content-Type":`application/json`},body:JSON.stringify(l)}),!0}async function ct(e,t,n=`/`,r=[],a=y,o=`context`){let s=new URLSearchParams;C(s,n,a,o),T(s,r);let c=W(t);return await u.delete(`${i.workspaces}/${e}/documents?${s.toString()}`,{headers:{"Content-Type":`application/json`},body:JSON.stringify(c)}),!0}async function lt(e,t){ie(t.id);try{await u.put(`${i.workspaces}/${e}/documents`,{documents:[t]})}finally{ae(t.id)}return!0}async function ut(e,t,n={}){let r={documentIds:W(t)};return n.urls&&(r.urls=n.urls),n.keepDocument&&(r.keepDocument=!0),await u.delete(`${i.workspaces}/${e}/documents/destroy`,{headers:{"Content-Type":`application/json`},body:JSON.stringify(r)})}async function dt(e,t,n){let r=n.folder?.trim().replace(/^\/+|\/+$/g,``),a=n.filename?.trim();return await u.post(`${i.workspaces}/${e}/documents/transfer`,{documentIds:W(t),to:n.to,mode:n.mode??`copy`,...n.keepDocument?{keepDocument:!0}:{},...r?{folder:r}:{},...a?{filename:a}:{},...n.onConflict?{onConflict:n.onConflict}:{}})}function ft(e){return typeof e.capabilities?.paths==`boolean`?e.capabilities.paths:e.kind===`storage`&&e.driver!==`cacache`}async function pt(e,t){return await u.get(`${i.workspaces}/${e}/documents/${t}`)}async function mt(e,t){return await u.get(`${i.workspaces}/${e}/documents/${t}/locations`)||[]}async function ht(e,t,n){let r=n?`?tree=${encodeURIComponent(n)}`:``;return(await u.get(`${i.workspaces}/${e}/documents/${t}/memberships${r}`))?.memberships||[]}async function gt(e,t,n=500){return(await H(e,`/`,[t?`${b}/${t}`:b],{scope:`workspace`,limit:n})).payload||[]}async function _t(e){try{let t=await u.get(`${i.workspaces}/${e}/documents/relations/predicates`);return t?.predicates?.length?t.predicates:[...w]}catch{return[...w]}}async function vt(e,t,n={}){let r=new URLSearchParams;n.resolve===!1&&r.set(`resolve`,`false`),n.offset!==void 0&&r.set(`offset`,String(n.offset)),n.limit!==void 0&&r.set(`limit`,String(n.limit)),n.summary&&r.set(`summary`,`true`);let a=r.size?`?${r}`:``;return await u.get(`${i.workspaces}/${e}/documents/${t}/relations${a}`)??{documentId:Number(t),predicates:[...w],outgoing:[],incoming:[]}}async function yt(e,t,n,r,a=`out`){return await u.post(`${i.workspaces}/${e}/documents/${t}/relations`,{p:n,to:Array.isArray(r)?W(r):r,dir:a}),!0}async function bt(e,t,n,r,a=`out`){return await u.delete(`${i.workspaces}/${e}/documents/${t}/relations`,{headers:{"Content-Type":`application/json`},body:JSON.stringify({p:n,to:r,dir:a})}),!0}function G(e,t,n={}){let r=new URLSearchParams;n.version&&r.set(`v`,n.version),n.download&&r.set(`download`,`1`),n.url&&r.set(`url`,n.url);let a=r.toString();return`${i.workspaces}/${e}/documents/${t}/content${a?`?${a}`:``}`}async function xt(e,t,n=256,r){let a=localStorage.getItem(`authToken`),o=r?`&v=${encodeURIComponent(r)}`:``,s=await fetch(`${i.workspaces}/${e}/documents/${t}/thumbnail?size=${n}${o}`,{headers:a?{Authorization:`Bearer ${a}`}:{}});if(!s.ok)throw Error(`HTTP ${s.status}`);let c=s.headers.get(`content-type`)||`image/webp`;return{blob:await s.blob(),mime:c}}async function St(e,t,n={}){let r=localStorage.getItem(`authToken`),i=await fetch(G(e,t,n),{headers:r?{Authorization:`Bearer ${r}`}:{}});if(!i.ok)throw Error(`HTTP ${i.status}`);let a=i.headers.get(`content-type`)||`application/octet-stream`;return{blob:await i.blob(),mime:a}}function Ct(e,t,n={}){return G(e,t,n)}async function wt(e,t){let n=localStorage.getItem(`authToken`);return(await fetch(`${i.workspaces}/${e}/documents/${t}/content-ticket`,{method:`POST`,headers:n?{Authorization:`Bearer ${n}`}:{},credentials:`include`})).ok}async function Tt(e,t,n,r={}){let i=localStorage.getItem(`authToken`),a=await fetch(G(e,t,{download:!0,url:r.url}),{headers:i?{Authorization:`Bearer ${i}`}:{}});if(!a.ok)throw Error(`HTTP ${a.status}`);let o=await a.blob(),s=URL.createObjectURL(o),c=document.createElement(`a`);c.href=s,c.download=n,document.body.appendChild(c),c.click(),c.remove(),setTimeout(()=>URL.revokeObjectURL(s),3e4)}async function Et(e,t=`/`,n=[],r=[],a={},o=y){let s=new URLSearchParams;return s.append(`treeNameOrTreeId`,o),t&&s.append(`context`,t),T(s,n),O(s,r),await u.delete(`${i.workspaces}/${e}/documents/purge?${s.toString()}`)}async function Dt(e){try{return await u.get(`${i.workspaces}/${e}/services`)}catch(e){throw console.error(`Failed to get workspace services status:`,e),e}}async function Ot(e,t){try{return await u.post(`${i.workspaces}/${e}/services/${t}/enable`)}catch(e){throw console.error(`Failed to enable ${t} service:`,e),e}}async function kt(e,t){try{return await u.post(`${i.workspaces}/${e}/services/${t}/disable`)}catch(e){throw console.error(`Failed to disable ${t} service:`,e),e}}var K=e=>`${i.workspaces}/${e}/backends`,q=(e,t,n)=>`${K(e)}/${encodeURIComponent(t)}/${encodeURIComponent(n)}`;async function At(e,t){let n=t?`${K(e)}/${encodeURIComponent(t)}`:K(e);return await u.get(n)||[]}async function jt(e,t,n){return await u.get(`${q(e,t,n)}/usage`)}async function Mt(e){return await u.delete(`${i.workspaces}/${e}/thumbnails`)}async function Nt(e){return await u.get(`${i.workspaces}/${e}/usage`)}function Pt(e){if(e==null||!Number.isFinite(e))return`—`;if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`,`TB`],n=e,r=`B`;for(let e of t){if(n<1024)break;n/=1024,r=e}return`${n.toFixed(n>=100?0:1)} ${r}`}async function Ft(e,t,n){return await u.post(`${K(e)}/${encodeURIComponent(t)}`,n)}async function It(e,t,n,r){return await u.patch(q(e,t,n),r)}async function Lt(e,t,n){return await u.delete(q(e,t,n))}async function Rt(e,t,n){return await u.post(`${q(e,t,n)}/sync`)}async function zt(e,t,n){return await u.post(`${q(e,t,n)}/sync/cancel`)}async function Bt(e,t,n){return await u.post(`${q(e,t,n)}/test`)}async function Vt(e,t,n){return await u.get(`${q(e,t,n)}/containers`)||[]}async function Ht(e,t,n,r,i){return await u.post(`${q(e,t,n)}/containers/${encodeURIComponent(r)}/documents`,i)}async function Ut(e,t,n,r){return await u.post(`${q(e,t,n)}/containers/${encodeURIComponent(r)}/sync`)}async function Wt(e,t,n){return await u.get(`${q(e,t,n)}/containers?available=1`)||[]}async function Gt(e,t,n,r){return await u.post(`${q(e,t,n)}/containers`,{folders:r})}async function Kt(e,t,n,r){return await u.delete(`${q(e,t,n)}/containers/${encodeURIComponent(r)}`)}async function qt(e,t,n,r,i){return await u.patch(`${q(e,t,n)}/containers/${encodeURIComponent(r)}`,{name:i})}function J(e,t){if(!t?.length)return null;let n=`/`+String(e||``).split(`/`).filter(Boolean).join(`/`);for(let e of t)if(e.treePath){if(n===e.treePath)return{backend:e,key:``};if(n.startsWith(e.treePath+`/`))return{backend:e,key:n.slice(e.treePath.length+1)}}return null}function Jt(e,t){let n=J(e,t);if(n)return{driver:n.backend.driver,address:n.backend.address,key:n.key};let r=Y(e);return r?{...r,driver:t?.find(e=>e.address===r.address)?.driver||r.driver}:null}function Y(e,t){let n=J(e,t);if(n)return n.backend.driver===`file`?{driver:`file`,address:n.backend.address,key:n.key}:null;let r=String(e||``).split(`/`).filter(Boolean);return r[0]===`workspace`&&r.length>=2?{driver:`file`,address:`workspace:${r[1]}`,key:r.slice(2).join(`/`)}:r[0]===`device`&&r.length>=3?{driver:`file`,address:r[2],key:r.slice(3).join(`/`)}:r[0]===`file`&&r.length>=2?{driver:`file`,address:r[1],key:r.slice(2).join(`/`)}:null}async function Yt(e,t,n,r={}){let i=new URLSearchParams;r.linked!==void 0&&i.append(`linked`,String(r.linked)),r.limit!==void 0&&i.append(`limit`,String(r.limit)),r.offset!==void 0&&i.append(`offset`,String(r.offset));let a=i.toString();return await u.getEnvelope(`${q(e,t,n)}/documents${a?`?${a}`:``}`)}async function Xt(e,t,n){return await u.post(`${K(e)}/${encodeURIComponent(t)}/discover`,n)||[]}function Zt(e,t){let n=J(e,t);if(n)return{driver:n.backend.driver,address:n.backend.address};let r=String(e||``).split(`/`).filter(Boolean);return r.length<2?null:r[0]===`workspace`?{driver:`file`,address:`workspace:${r[1]}`}:r[0]===`device`?r.length>=3?{driver:`file`,address:r[2]}:null:{driver:r[0],address:r[1]}}var Qt=[`internal/`,`context/`,`vfs/`];async function X(e){try{return(await u.get(`${i.workspaces}/${encodeURIComponent(e)}/bitmaps`)||[]).map(e=>typeof e==`string`?e:e.key??String(e)).filter(e=>e&&!Qt.some(t=>e.startsWith(t)))}catch{return[]}}async function $t(e){return(await X(e)).filter(e=>e.startsWith(`tag/`)).map(e=>e.slice(4)).filter(Boolean).sort()}async function en(e,t){let n=t.replace(/^\/+|\/+$/g,``);if(!n)throw Error(`Bitmap key is required`);if(n.startsWith(`data/`)||n===`data`)throw Error(`data/* bitmaps are protected and cannot be deleted manually`);return await u.delete(`${i.workspaces}/${encodeURIComponent(e)}/bitmaps/${n.split(`/`).map(encodeURIComponent).join(`/`)}`),!0}async function tn(e,t,n=!0){let r=t.replace(/^data\/dataset\//,``).replace(/^\/+|\/+$/g,``);if(!r)throw Error(`Dataset name is required`);if(r==="default")throw Error(`The "default" dataset is virtual and cannot be deleted`);return await u.delete(`${i.workspaces}/${encodeURIComponent(e)}/datasets/${r.split(`/`).map(encodeURIComponent).join(`/`)}?dropDocuments=${n}`)}function Z(e){return`${i.workspaces}/${encodeURIComponent(e)}/timelines`}async function Q(e){try{return await u.get(Z(e))||[]}catch{return[]}}async function nn(e){try{return await u.get(`${Z(e)}?verbose=true`)||[]}catch{return[]}}async function rn(e,t){return await u.post(Z(e),{name:t})}async function an(e,t){return await u.delete(`${Z(e)}/${encodeURIComponent(t)}`),!0}async function on(e,t){return(await u.post(`${Z(e)}/histogram`,t))?.buckets??[]}async function sn(e,t){let n=t?`?workspaceId=${encodeURIComponent(t)}`:``;return await u.post(`${i.admin.inferd}/${e?`pause`:`resume`}${n}`)}async function cn(e){return await u.get(`${i.workspaces}/${e}/db/stats`)}async function ln(e,t){return await u.put(`${i.workspaces}/${e}/db/tuning`,t)}async function un(e){let t=await u.get(`${i.workspaces}/${e}/trash`);return Array.isArray(t)?t:[]}async function dn(e,t){return await u.post(`${i.workspaces}/${e}/trash/restore`,{documentIds:W(t)})}async function fn(e,t){return await u.delete(`${i.workspaces}/${e}/trash`,t?.length?{headers:{"Content-Type":`application/json`},body:JSON.stringify({documentIds:W(t)})}:{})}var $=(e,t,n)=>`${i.workspaces}/${e}/members/${encodeURIComponent(`${t}:${n}`)}`;async function pn(e){return u.get(`${i.workspaces}/${e}/members`)}async function mn(e,t,n,r){return u.post(`${i.workspaces}/${e}/members`,{...t,permissions:n,...r?{description:r}:{}})}async function hn(e,t,n,r){return u.put($(e,t,n),{permissions:r})}async function gn(e,t,n){await u.delete($(e,t,n))}async function _n(e,t,n){return u.post(`${i.workspaces}/${encodeURIComponent(e)}/documents/copy-to-workspace`,{documentId:t,...n})}export{pt as $,we as $t,Xt as A,rt as At,ue as B,st as Bt,tn as C,$t as Ct,ut as D,N as Dt,an as E,Ee as Et,Ot as F,Lt as Ft,mt as G,wt as Gt,jt as H,qt as Ht,_e as I,Kt as It,Le as J,Be as Jt,ht as K,dn as Kt,St as L,bt as Lt,Tt as M,Ge as Mt,be as N,Ye as Nt,nt as O,et as Ot,fn as P,Et as Pt,Nt as Q,Ce as Qt,xt as R,ge as Rt,en as S,ze as St,ye as T,nn as Tt,ke as U,$e as Ut,Pt as V,He as Vt,Ae as W,Ze as Wt,me as X,sn as Xt,_t as Y,Fe as Yt,cn as Z,ln as Zt,Ie as _,ve as _t,Gt as a,dt as an,Ke as at,rn as b,pn as bt,Y as c,Xe as cn,Ne as ct,zt as d,lt as dn,Yt as dt,at as en,H as et,Mt as f,hn as fn,Wt as ft,yt as g,X as gt,Ht as h,ce as hn,un as ht,Ft as i,Bt as in,mn as it,Ct as j,Ue as jt,kt as k,it as kt,ft as l,It as ln,V as lt,We as m,qe as mn,z as mt,F as n,Rt as nn,Dt as nt,he as o,le as on,xe as ot,_n as p,Ve as pn,At as pt,vt as q,gn as qt,w as r,Ut as rn,B as rt,Zt as s,tt as sn,R as st,y as t,ot as tn,je as tt,Jt as u,Me as un,Vt as ut,P as v,gt as vt,ct as w,Q as wt,Re as x,Je as xt,Pe as y,Qe as yt,on as z,Te as zt};