@finueva/drive 0.24.0 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/server.js CHANGED
@@ -1 +1 @@
1
- const e=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`recipient_unavailable`,`registration_conflict`,`rate_limited`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_pagination_cursor`,`invalid_idempotency_key`,`precondition_failed`,`range_not_satisfiable`,`idempotency_conflict`,`quota_exceeded`,`upload_recovery_required`,`service_unavailable`,`internal_error`]),t=Object.freeze([`upload_admission_saturated`,`upload_admission_stalled`,`ownership_unchanged`,`ownership_successor_not_member`,`ownership_restricted_items`,`ownership_subtree_too_large`,`external_sharing_disabled`,`transfer_operation_retired`,`transfer_operation_expired`,`transfer_operation_clock_skew`,`unspecified`]);function n(e){return typeof e==`string`&&t.includes(e)}const r=Object.freeze({authentication_required:`Authentication is required.`,identity_authority_unavailable:`Authentication is temporarily unavailable.`,recipient_unavailable:`The recipient is unavailable.`,registration_conflict:`The recipient could not be confirmed.`,rate_limited:`Too many requests.`,permission_denied:`The requested action is not permitted.`,resource_not_found:`The requested resource was not found.`,invalid_request:`The request is invalid.`,invalid_pagination_cursor:`The pagination cursor is invalid.`,invalid_idempotency_key:`The idempotency key is invalid.`,precondition_failed:`The request precondition failed.`,range_not_satisfiable:`The requested byte range is not satisfiable.`,idempotency_conflict:`The idempotency key conflicts with an earlier request.`,quota_exceeded:`The workspace storage quota would be exceeded.`,upload_recovery_required:`The upload requires recovery before it can continue.`,service_unavailable:`The service is temporarily unavailable.`,internal_error:`The request could not be completed.`}),i=Object.freeze({invalid_input:`The Drive SDK input is invalid.`,credential_unavailable:`A Drive credential could not be obtained.`,network_error:`The Drive request could not reach the service.`,timeout:`The Drive request timed out.`,aborted:`The Drive request was aborted.`,invalid_response:`Drive returned an invalid response.`});var a=class extends Error{code;status;requestId;details;constructor(e,t={}){super(e in r?r[e]:i[e]),this.name=`DriveError`,this.code=e,this.status=t.status??null,this.requestId=t.requestId??null,this.details=Object.freeze(n(t.reason)?{reason:t.reason}:{})}};const o=/^[A-Za-z0-9_-]{16,128}$/,s=/^"drive\.permission-collection\.v1\.(0|[1-9][0-9]*)"$/,c=/^"drive\.permission-grant\.v1\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)"$/,l=/^"drive\.permission-list\.v1\.[0-9a-f]{64}"$/,u=/^"drive\.item\.v1\.(0|[1-9][0-9]*)"$/;async function d(e,t,n,r,i,o,s){let c=te(e.headers.get(`x-request-id`));if(c===null)throw y(e),new a(`invalid_response`,{status:e.status});if(!r.includes(e.status))throw await g(e,c,t,n,o,s);if(e.status===304){let t=e.headers.get(`content-length`),n=e.headers.get(`etag`),r=e.status;if(e.body!==null||t!==null&&t!==`0`||e.headers.has(`content-type`)||n===null||!/^"[\x21\x23-\x7e]{1,1022}"$/.test(n)||!i(void 0,r,e.headers))throw y(e),new a(`invalid_response`,{status:r,requestId:c});return Object.freeze({data:void 0,status:r,requestId:c,validators:Object.freeze({etag:n})})}let{value:l}=await v(e,262144,e.status,c,t),u=e.status;if(!i(l,u,e.headers))throw new a(`invalid_response`,{status:u,requestId:c});return Object.freeze({data:l,status:u,requestId:c,validators:re(e.headers)})}async function f(e,t,n,r,i){let o=te(e.headers.get(`x-request-id`));if(o===null)throw y(e),new a(`invalid_response`,{status:e.status});if(!r.includes(e.status))throw await g(e,o,t,n,!1,i);let s=e.headers.get(`content-length`);if(e.body!==null||s!==null&&s!==`0`||e.headers.has(`content-type`))throw y(e),new a(`invalid_response`,{status:e.status,requestId:o});return Object.freeze({data:void 0,status:e.status,requestId:o,validators:Object.freeze({})})}function p(e){let t=s.exec(e);if(!t)return;let n=Number(t[1]);return Number.isSafeInteger(n)?n:void 0}function m(e){let t=c.exec(e);if(!t)return;let n=Number(t[1]),r=Number(t[2]);return Number.isSafeInteger(n)&&Number.isSafeInteger(r)?[n,r]:void 0}function h(e){let t=u.exec(e);if(!t)return;let n=Number(t[1]);return Number.isSafeInteger(n)?n:void 0}async function g(t,i,s,c,l,u){let d;try{d=await v(t,16384,t.status,i,s)}catch(e){return e instanceof a&&e.code===`aborted`?e:new a(`invalid_response`,{status:t.status,requestId:i})}let f=d.value;if(!b(f,[`error`])||!b(f.error,[`code`,`message`,`requestId`,`details`]))return new a(`invalid_response`,{status:t.status,requestId:i});let p=f.error,m=p.details,h=b(m,[`reason`])?m.reason:void 0;return typeof p.code!=`string`||!e.includes(p.code)||p.message!==r[p.code]||!o.test(String(p.requestId))||p.requestId!==i||!(b(m,[])||n(h))||!_(p.code,t.status,c,l,u)||d.text!==JSON.stringify(f)?new a(`invalid_response`,{status:t.status,requestId:i}):new a(p.code,{status:t.status,requestId:p.requestId,...n(h)?{reason:h}:{}})}function _(e,t,n,r,i){return i&&!i.includes(e)||e===`quota_exceeded`&&!r?!1:{authentication_required:[401],identity_authority_unavailable:[503],recipient_unavailable:[404],registration_conflict:[409],rate_limited:[429],permission_denied:[403],resource_not_found:[404],invalid_request:[422],invalid_pagination_cursor:[422],invalid_idempotency_key:[422],precondition_failed:n===null?[]:[n],range_not_satisfiable:[416],idempotency_conflict:[409],quota_exceeded:[409],upload_recovery_required:[409],service_unavailable:[503],internal_error:[500]}[e].includes(t)}async function v(e,t,n,r,i){if(!e.body)throw new a(`invalid_response`,{status:n,requestId:r});let o=e.body.getReader(),s=new TextDecoder(`utf-8`,{fatal:!0}),c=0,l=0,u=``,d=e.headers.get(`content-length`);if(d!==null&&(!/^(?:0|[1-9][0-9]*)$/.test(d)||Number(d)>t))throw o.cancel().catch(()=>{}),new a(`invalid_response`,{status:n,requestId:r});let f=new AbortController,p=setTimeout(()=>f.abort(),5e3);try{for(;;){if(i?.aborted)throw new a(`aborted`);let{done:e,value:d}=await ee(o,i,f.signal);if(e)break;if(l+=1,c+=d.byteLength,l>256||c>t)throw new a(`invalid_response`,{status:n,requestId:r});u+=s.decode(d,{stream:!0})}return u+=s.decode(),{value:JSON.parse(u),text:u}}catch(e){throw e instanceof a?e.code===`aborted`||i?.aborted?new a(`aborted`):e:new a(`invalid_response`,{status:n,requestId:r})}finally{clearTimeout(p),o.cancel().catch(()=>{})}}async function ee(e,t,n){if(t?.aborted)throw new a(`aborted`);if(n.aborted)throw new a(`invalid_response`);let r=()=>{},i=()=>{},o=new Promise((e,n)=>{if(!t)return;let i=()=>n(new a(`aborted`));t.addEventListener(`abort`,i,{once:!0}),r=()=>t.removeEventListener(`abort`,i)}),s=new Promise((e,t)=>{let r=()=>t(new a(`invalid_response`));n.addEventListener(`abort`,r,{once:!0}),i=()=>n.removeEventListener(`abort`,r)});try{return await Promise.race([e.read(),o,s])}finally{r(),i()}}function y(e){e.body?.cancel().catch(()=>{})}function te(e){return e!==null&&o.test(e)?e:null}const ne=/^"drive\.sharing-policy\.v1\.(0|[1-9][0-9]{0,15})"$/;function re(e){let t=e.get(`etag`),n=e.get(`drive-permission-collection-etag`),r=e.get(`drive-permission-grant-etag`);return Object.freeze({...t!==null&&(l.test(t)||ne.test(t)||h(t)!==void 0)?{etag:t}:{},...n!==null&&p(n)!==void 0?{permissionCollectionEtag:n}:{},...r!==null&&m(r)!==void 0?{permissionGrantEtag:r}:{}})}function b(e,t){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.keys(e).length===t.length&&t.every(t=>Object.hasOwn(e,t))}const x=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,S=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,ie=/^drive\.grant\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,ae=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,C=/^drive\.cursor\.v1\.[A-Za-z0-9_-]+$/,oe=/^[A-Za-z0-9_-]{1,128}$/,w=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),T=/^[A-Za-z0-9_-]{16,128}$/;function E(e){let t=N(M(e===void 0?{}:e,[],[`signal`]).signal);return t===void 0?{}:{signal:t}}function D(e){let t=M(e===void 0?{}:e,[],[`signal`,`limit`,`cursor`,`mediaTypes`]),n=N(t.signal),r=ce(t.mediaTypes);if(t.limit!==void 0&&(typeof t.limit!=`number`||!Number.isInteger(t.limit)||t.limit<1||t.limit>50)||t.cursor!==void 0&&(typeof t.cursor!=`string`||t.cursor.length<1||t.cursor.length>2048||!/^[A-Za-z0-9_.-]+$/.test(t.cursor)))throw new a(`invalid_input`);return{signal:n,query:{...t.limit===void 0?{}:{limit:t.limit},...t.cursor===void 0?{}:{cursor:t.cursor},...r===void 0?{}:{mediaTypes:r}}}}function se(e,t){let n=M(e,[`workspaceId`],t?[`signal`,`view`,`kind`,`creatorUserId`,`mediaTypes`,`limit`,`cursor`]:[`signal`]),r=N(n.signal),i=ce(n.mediaTypes);if(i!==void 0&&n.kind===`folder`||typeof n.workspaceId!=`string`||!S.test(n.workspaceId)||n.view!==void 0&&n.view!==`recent`&&n.view!==`shared`&&n.view!==`trash`||n.kind!==void 0&&n.kind!==`file`&&n.kind!==`folder`||n.creatorUserId!==void 0&&(typeof n.creatorUserId!=`string`||!oe.test(n.creatorUserId))||n.limit!==void 0&&(typeof n.limit!=`number`||!Number.isInteger(n.limit)||n.limit<1||n.limit>50)||n.cursor!==void 0&&(typeof n.cursor!=`string`||n.cursor.length<1||n.cursor.length>2048||!/^[A-Za-z0-9_.-]+$/.test(n.cursor)))throw new a(`invalid_input`);return{workspaceId:n.workspaceId,signal:r,query:{...n.view===void 0?{}:{view:n.view},...n.kind===void 0?{}:{kind:n.kind},...n.creatorUserId===void 0?{}:{creatorUserId:n.creatorUserId},...i===void 0?{}:{mediaTypes:i},...n.limit===void 0?{}:{limit:n.limit},...n.cursor===void 0?{}:{cursor:n.cursor}}}}function ce(e){if(e!==void 0&&(!Array.isArray(e)||e.length<1||e.length>32||new Set(e).size!==e.length||e.some(e=>typeof e!=`string`||!/^[a-z0-9][a-z0-9!#$&^_.+-]{0,63}\/[a-z0-9][a-z0-9!#$&^_.+-]{0,127}$/.test(e))||e.join(`,`).length>2048))throw new a(`invalid_input`);return e===void 0?void 0:[...e].sort().join(`,`)}function O(e){let t=M(e,[`workspaceId`,`itemId`],[`signal`]),n=t.workspaceId,r=t.itemId,i=N(t.signal);if(typeof n!=`string`||!S.test(n)||typeof r!=`string`||!x.test(r))throw new a(`invalid_input`);return{workspaceId:n,itemId:r,...i===void 0?{}:{signal:i}}}function le(e){let t=M(e,[`workspaceId`,`itemId`,`versionId`],[`signal`]),n=O({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!ae.test(t.versionId))throw new a(`invalid_input`);return{...n,versionId:t.versionId}}function ue(e){let t=M(e,[`workspaceId`,`itemId`,`idempotencyKey`],[`versionId`,`method`,`range`,`ifMatch`,`ifNoneMatch`,`ifRange`,`signal`]),n=O({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),r=t.method??`GET`;if(!P(t.idempotencyKey)||t.versionId!==void 0&&(typeof t.versionId!=`string`||!ae.test(t.versionId))||r!==`GET`&&r!==`HEAD`||t.range!==void 0&&(typeof t.range!=`string`||t.range.length>128||!/^bytes=(?:[0-9]+-[0-9]*|-[0-9]+)$/.test(t.range))||!ke(t.ifMatch)||!ke(t.ifNoneMatch)||!ke(t.ifRange))throw new a(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey,method:r,...t.versionId===void 0?{}:{versionId:t.versionId},...t.range===void 0?{}:{range:t.range},...t.ifMatch===void 0?{}:{ifMatch:t.ifMatch},...t.ifNoneMatch===void 0?{}:{ifNoneMatch:t.ifNoneMatch},...t.ifRange===void 0?{}:{ifRange:t.ifRange}}}function de(e){let t=M(e,[`workspaceId`,`query`],[`limit`,`cursor`,`signal`]),n=N(t.signal);if(typeof t.workspaceId!=`string`||!S.test(t.workspaceId)||!we(t.query)||t.limit!==void 0&&(!Oe(t.limit)||t.limit<1||t.limit>50)||t.cursor!==void 0&&(typeof t.cursor!=`string`||t.cursor.length>699||!C.test(t.cursor)))throw new a(`invalid_input`);return{workspaceId:t.workspaceId,query:t.query,...t.limit===void 0?{}:{limit:t.limit},...t.cursor===void 0?{}:{cursor:t.cursor},...n===void 0?{}:{signal:n}}}function fe(e){let t=M(e,[`workspaceId`,`itemId`],[`signal`,`limit`,`cursor`]),n=O({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),r=t.limit,i=t.cursor;if(r!==void 0&&(!Number.isSafeInteger(r)||typeof r!=`number`||r<1||r>50)||i!==void 0&&(typeof i!=`string`||i.length>699||!C.test(i)))throw new a(`invalid_input`);return{...n,...r===void 0?{}:{limit:r},...i===void 0?{}:{cursor:i}}}function pe(e){let t=M(e,[`workspaceId`,`itemId`,`name`,`idempotencyKey`],[`signal`]),n=O({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!Ee(t.name)||!P(t.idempotencyKey))throw new a(`invalid_input`);return{...n,name:t.name,idempotencyKey:t.idempotencyKey}}function me(e){let t=M(e,[`workspaceId`,`itemId`,`name`,`parentItemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=k({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(!Ee(t.name)||typeof t.parentItemId!=`string`||!x.test(t.parentItemId))throw new a(`invalid_input`);return{...n,name:t.name,parentItemId:t.parentItemId}}function k(e){let t=M(e,[`workspaceId`,`itemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=O({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!P(t.idempotencyKey)||typeof t.ifMatch!=`string`||h(t.ifMatch)===void 0)throw new a(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch}}function he(e){let t=M(e,[`workspaceId`,`itemId`,`versionId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=k({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!ae.test(t.versionId))throw new a(`invalid_input`);return{...n,versionId:t.versionId}}function ge(e){let t=M(e,[`workspaceId`,`itemId`,`grantee`,`actions`,`expiresAtEpochMilliseconds`,`ifMatch`,`idempotencyKey`],[`signal`]),n=O({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),r=xe(t.grantee),i=Se(t.actions),o=t.expiresAtEpochMilliseconds;if(!Te(o)||typeof t.ifMatch!=`string`||p(t.ifMatch)===void 0||!P(t.idempotencyKey))throw new a(`invalid_input`);return{...n,grantee:r,actions:i,expiresAtEpochMilliseconds:o,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function _e(e){let t=M(e,[`workspaceId`,`itemId`,`email`,`role`,`ifMatch`,`idempotencyKey`],[`signal`,`expectedRecipientUserId`]),n=O({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.email!=`string`||t.email.length<3||t.email.length>320||t.role!==`viewer`&&t.role!==`editor`||typeof t.ifMatch!=`string`||p(t.ifMatch)===void 0||!P(t.idempotencyKey))throw new a(`invalid_input`);let r=t.email.trim().toLowerCase(),i=t.expectedRecipientUserId;if(i!==void 0&&(typeof i!=`string`||i.length<1||i.length>128||/[^A-Za-z0-9_-]/.test(i))||!r.includes(`@`)||/\s/.test(r)||new TextEncoder().encode(r).byteLength>320)throw new a(`invalid_input`);return{...n,email:r,expectedRecipientUserId:i,role:t.role,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function ve(e){let t=M(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`]),n=O({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.grantId!=`string`||!ie.test(t.grantId)||typeof t.ifMatch!=`string`||m(t.ifMatch)===void 0||!P(t.idempotencyKey))throw new a(`invalid_input`);return{...n,grantId:t.grantId,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function ye(e){let t=M(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`,`actions`,`expiresAtEpochMilliseconds`]),n=ve({workspaceId:t.workspaceId,itemId:t.itemId,grantId:t.grantId,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey,...t.signal===void 0?{}:{signal:t.signal}}),r=t.actions===void 0?void 0:Se(t.actions),i=t.expiresAtEpochMilliseconds;if(r===void 0&&i===void 0||i!==void 0&&!Te(i))throw new a(`invalid_input`);return{...n,...r===void 0?{}:{actions:r},...i===void 0?{}:{expiresAtEpochMilliseconds:i}}}function A(e){return{workspaceId:e.workspaceId,itemId:e.itemId}}function be(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor===void 0?{}:{cursor:e.cursor}}}function j(e,t){return t}function M(e,t,n){try{if(typeof e!=`object`&&typeof e!=`function`||e===null||Array.isArray(e))throw new a(`invalid_input`);let r=Object.getOwnPropertyDescriptors(e),i=Reflect.ownKeys(r),o=new Set([...t,...n]);if(i.some(e=>typeof e!=`string`||!o.has(e))||t.some(e=>!Object.hasOwn(r,e)))throw new a(`invalid_input`);let s={};for(let e of i){if(typeof e!=`string`)throw new a(`invalid_input`);let t=r[e];if(!t||!(`value`in t)||!t.enumerable)throw new a(`invalid_input`);s[e]=t.value}return s}catch(e){throw e instanceof a?e:new a(`invalid_input`)}}function N(e){if(e!==void 0){if(!(e instanceof AbortSignal))throw new a(`invalid_input`);return e}}function xe(e){let t=M(e,[`type`],[`userId`,`teamId`]);if(t.type===`user`){let t=M(e,[`type`,`userId`],[]);if(typeof t.userId==`string`&&oe.test(t.userId))return{type:`user`,userId:t.userId}}if(t.type===`team`){let t=M(e,[`type`,`teamId`],[]);if(typeof t.teamId==`string`&&oe.test(t.teamId))return{type:`team`,teamId:t.teamId}}throw new a(`invalid_input`)}function Se(e){let t=Ce(e);if(t.length<1||t.length>w.length||new Set(t).size!==t.length||!t.every(e=>w.includes(e)))throw new a(`invalid_input`);return t}function Ce(e){try{if(!Array.isArray(e))throw new a(`invalid_input`);let t=Object.getOwnPropertyDescriptors(e);if(Reflect.ownKeys(t).some(e=>typeof e!=`string`))throw new a(`invalid_input`);let n=[];for(let r=0;r<e.length;r+=1){let e=t[String(r)];if(!e||!(`value`in e)||!e.enumerable)throw new a(`invalid_input`);n.push(e.value)}if(Reflect.ownKeys(t).length!==e.length+1)throw new a(`invalid_input`);return n}catch(e){throw e instanceof a?e:new a(`invalid_input`)}}function P(e){return typeof e==`string`&&T.test(e)}function we(e){if(typeof e!=`string`||e.length===0)return!1;try{if(e.normalize(`NFC`)!==e)return!1;let t=0,n=0;for(let r of e){let e=r.codePointAt(0);if(e===void 0||e<=31||e>=127&&e<=159||e===8232||e===8233||e>=55296&&e<=57343||(t+=1,n+=e<=127?1:e<=2047?2:e<=65535?3:4,t>64||n>255))return!1}return!0}catch{return!1}}function Te(e){return e===null||Oe(e)}function Ee(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||De(e))return!1;let t=0,n=0;for(let r of e){let e=r.codePointAt(0);if(e===void 0||e===47||e===92||e<=31||e>=127&&e<=159||e===8232||e===8233||e>=55296&&e<=57343||(t+=1,n+=e<=127?1:e<=2047?2:e<=65535?3:4,t>255||n>255))return!1}return!0}function De(e){let t=e.split(`.`,1)[0].toUpperCase();return e===`.`||e===`..`||[`CON`,`PRN`,`AUX`,`NUL`,`CLOCK$`,`CONIN$`,`CONOUT$`].includes(t)||/^COM[1-9]$/.test(t)||/^LPT[1-9]$/.test(t)}function Oe(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function ke(e){return e===void 0||typeof e==`string`&&e.length<=8192&&!e.split(``).some(e=>{let t=e.charCodeAt(0);return t<=31||t===127})}const Ae=/\{[^{}]+\}/g,je=()=>typeof process==`object`&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function Me(){return Math.random().toString(36).slice(2,11)}function Ne(e){let{baseUrl:t=``,Request:n=globalThis.Request,fetch:r=globalThis.fetch,querySerializer:i,bodySerializer:a,pathSerializer:o,headers:s,requestInitExt:c=void 0,...l}={...e};c=je()?c:void 0,t=He(t);let u=[];async function d(e,d){let{baseUrl:f,fetch:p=r,Request:m=n,headers:h,params:g={},parseAs:_=`json`,querySerializer:v,bodySerializer:ee=a??ze,pathSerializer:y,body:te,middleware:ne=[],...re}=d||{},b=t;f&&(b=He(f)??t);let x=typeof i==`function`?i:Le(i);v&&(x=typeof v==`function`?v:Le({...typeof i==`object`?i:{},...v}));let S=y||o||Re,ie=te===void 0?void 0:ee(te,Ve(s,h,g.header)),ae=Ve(ie===void 0||ie instanceof FormData?{}:{"Content-Type":`application/json`},s,h,g.header),C=[...u,...ne],oe={redirect:`follow`,...l,...re,body:ie,headers:ae},w,T,E=new m(Be(e,{baseUrl:b,params:g,querySerializer:x,pathSerializer:S}),oe),D;for(let e in re)e in E||(E[e]=re[e]);if(C.length){w=Me(),T=Object.freeze({baseUrl:b,fetch:p,parseAs:_,querySerializer:x,bodySerializer:ee,pathSerializer:S});for(let t of C)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){let n=await t.onRequest({request:E,schemaPath:e,params:g,options:T,id:w});if(n)if(n instanceof m)E=n;else if(n instanceof Response){D=n;break}else throw Error(`onRequest: must return new Request() or Response() when modifying the request`)}}if(!D){try{D=await p(E,c)}catch(t){let n=t;if(C.length)for(let t=C.length-1;t>=0;t--){let r=C[t];if(r&&typeof r==`object`&&typeof r.onError==`function`){let t=await r.onError({request:E,error:n,schemaPath:e,params:g,options:T,id:w});if(t){if(t instanceof Response){n=void 0,D=t;break}if(t instanceof Error){n=t;continue}throw Error(`onError: must return new Response() or instance of Error`)}}}if(n)throw n}if(C.length)for(let t=C.length-1;t>=0;t--){let n=C[t];if(n&&typeof n==`object`&&typeof n.onResponse==`function`){let t=await n.onResponse({request:E,response:D,schemaPath:e,params:g,options:T,id:w});if(t){if(!(t instanceof Response))throw Error(`onResponse: must return new Response() when modifying the response`);D=t}}}}let se=D.headers.get(`Content-Length`);if(D.status===204||E.method===`HEAD`||se===`0`&&!D.headers.get(`Transfer-Encoding`)?.includes(`chunked`))return D.ok?{data:void 0,response:D}:{error:void 0,response:D};if(D.ok)return{data:await(async()=>{if(_===`stream`)return D.body;if(_===`json`&&!se){let e=await D.text();return e?JSON.parse(e):void 0}return await D[_]()})(),response:D};let ce=await D.text();try{ce=JSON.parse(ce)}catch{}return{error:ce,response:D}}return{request(e,t,n){return d(t,{...n,method:e.toUpperCase()})},GET(e,t){return d(e,{...t,method:`GET`})},PUT(e,t){return d(e,{...t,method:`PUT`})},POST(e,t){return d(e,{...t,method:`POST`})},DELETE(e,t){return d(e,{...t,method:`DELETE`})},OPTIONS(e,t){return d(e,{...t,method:`OPTIONS`})},HEAD(e,t){return d(e,{...t,method:`HEAD`})},PATCH(e,t){return d(e,{...t,method:`PATCH`})},TRACE(e,t){return d(e,{...t,method:`TRACE`})},use(...e){for(let t of e)if(t){if(typeof t!=`object`||!(`onRequest`in t||`onResponse`in t||`onError`in t))throw Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");u.push(t)}},eject(...e){for(let t of e){let e=u.indexOf(t);e!==-1&&u.splice(e,1)}}}}function Pe(e,t,n){if(t==null)return``;if(typeof t==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function Fe(e,t,n){if(!t||typeof t!=`object`)return``;let r=[],i={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`;if(n.style!==`deepObject`&&n.explode===!1){for(let e in t)r.push(e,n.allowReserved===!0?t[e]:encodeURIComponent(t[e]));let i=r.join(`,`);switch(n.style){case`form`:return`${e}=${i}`;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return i}}for(let i in t){let a=n.style===`deepObject`?`${e}[${i}]`:i;r.push(Pe(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function Ie(e,t,n){if(!Array.isArray(t))return``;if(n.explode===!1){let r={form:`,`,spaceDelimited:`%20`,pipeDelimited:`|`}[n.style]||`,`,i=(n.allowReserved===!0?t:t.map(e=>encodeURIComponent(e))).join(r);switch(n.style){case`simple`:return i;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return`${e}=${i}`}}let r={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`,i=[];for(let r of t)n.style===`simple`||n.style===`label`?i.push(n.allowReserved===!0?r:encodeURIComponent(r)):i.push(Pe(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function Le(e){return function(t){let n=[];if(t&&typeof t==`object`)for(let r in t){let i=t[r];if(i!=null){if(Array.isArray(i)){if(i.length===0)continue;n.push(Ie(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(Fe(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(Pe(r,i,e))}}return n.join(`&`)}}function Re(e,t){let n=e;for(let r of e.match(Ae)??[]){let e=r.substring(1,r.length-1),i=!1,a=`simple`;if(e.endsWith(`*`)&&(i=!0,e=e.substring(0,e.length-1)),e.startsWith(`.`)?(a=`label`,e=e.substring(1)):e.startsWith(`;`)&&(a=`matrix`,e=e.substring(1)),!t||t[e]===void 0||t[e]===null)continue;let o=t[e];if(Array.isArray(o)){n=n.replace(r,Ie(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,Fe(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${Pe(e,o)}`);continue}n=n.replace(r,a===`label`?`.${encodeURIComponent(o)}`:encodeURIComponent(o))}return n}function ze(e,t){return e instanceof FormData?e:t&&(t.get instanceof Function?t.get(`Content-Type`)??t.get(`content-type`):t[`Content-Type`]??t[`content-type`])===`application/x-www-form-urlencoded`?new URLSearchParams(e).toString():JSON.stringify(e)}function Be(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let r=t.querySerializer(t.params.query??{});return r.startsWith(`?`)&&(r=r.substring(1)),r&&(n+=`?${r}`),n}function Ve(...e){let t=new Headers;for(let n of e){if(!n||typeof n!=`object`)continue;let e=n instanceof Headers?n.entries():Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,r)}return t}function He(e){return e.endsWith(`/`)?e.substring(0,e.length-1):e}String.fromCharCode;const Ue=/\/$|\/\?|\/#/,We=/^\.?\//;function Ge(e=``,t){return t?Ue.test(e):e.endsWith(`/`)}function Ke(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(Ge(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function qe(e){return e&&e!==`/`}function Je(e,...t){let n=e||``;for(let e of t.filter(e=>qe(e)))if(n){let t=e.replace(We,``);n=Ke(n)+t}else n=e;return n}function Ye(e){let t;try{t=Object.freeze({baseUrl:Qe(e.baseUrl),fetchImplementation:e.fetch??globalThis.fetch.bind(globalThis),getCredential:e.getCredential,timeoutMilliseconds:Xe(e.timeoutMilliseconds)})}catch{throw new a(`invalid_input`)}if(typeof t.fetchImplementation!=`function`||typeof t.getCredential!=`function`)throw new a(`invalid_input`);return t}async function F(e,t,n,r,i,o,s=!1,c){let l=Ze(t,e.timeoutMilliseconds);try{let t=l.signal;et(t);let u=await $e(e.getCredential,t),p;if(await r(Ne({baseUrl:e.baseUrl,fetch:async n=>{try{let r=await tt(e.fetchImplementation(n),t);if(!(r instanceof Response))throw new a(`invalid_response`);p=r}catch(e){throw e instanceof a?e:t.aborted?new a(`aborted`):new a(`network_error`)}return new Response(null,{status:204})}}),{referrerPolicy:`no-referrer`,redirect:`manual`,cache:`no-store`,credentials:`omit`,headers:new Headers({authorization:`${e.authorizationScheme??`Bearer`} ${u}`,...e.editingAudience?{"editing-audience":e.editingAudience}:{}}),signal:t}),!p)throw new a(`network_error`);return o===null?await f(p,t,n,i,c):await d(p,t,n,i,o,s,c)}catch(e){throw l.didTimeout()?new a(`timeout`):e instanceof a?e:l.signal.aborted?new a(`aborted`):new a(`network_error`)}finally{l.dispose()}}function Xe(e){if(e===void 0)return 3e4;if(!Number.isSafeInteger(e)||e<1||e>12e4)throw new a(`invalid_input`);return e}function Ze(e,t){let n=new AbortController,r=!1,i=()=>n.abort();e?.aborted?n.abort():e?.addEventListener(`abort`,i,{once:!0});let a=setTimeout(()=>{r=!0,n.abort()},t);return{signal:n.signal,didTimeout:()=>r,dispose:()=>{clearTimeout(a),e?.removeEventListener(`abort`,i)}}}function Qe(e){if(typeof e!=`string`)throw TypeError(`Drive base URL is invalid`);let t;try{t=new URL(e)}catch{throw TypeError(`Drive base URL is invalid`)}let n=t.protocol===`http:`&&[`localhost`,`127.0.0.1`,`[::1]`].includes(t.hostname);if(t.protocol!==`https:`&&!n||t.username||t.password||t.search||t.hash||!t.host)throw TypeError(`Drive base URL is invalid`);return Je(t.origin,t.pathname)}async function $e(e,t){et(t);let n;try{n=await tt(e({signal:t}),t)}catch(e){throw e instanceof a&&e.code===`aborted`?e:t.aborted?new a(`aborted`):new a(`credential_unavailable`)}if(typeof n!=`string`||n.length<1||n.length>16384||!/^[\x21-\x7e]+$/.test(n))throw new a(`credential_unavailable`);return n}function et(e){if(e.aborted)throw new a(`aborted`)}async function tt(e,t){t.aborted&&e.catch(()=>{}),et(t);let n=()=>{},r=new Promise((e,r)=>{let i=()=>r(new a(`aborted`));t.addEventListener(`abort`,i,{once:!0}),n=()=>t.removeEventListener(`abort`,i)});try{return await Promise.race([e,r])}finally{n()}}const nt=`[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}`,rt=RegExp(`^drive\\.workspace\\.${nt}$`),it=RegExp(`^drive\\.item\\.${nt}$`),at=RegExp(`^drive\\.version\\.${nt}$`),ot=RegExp(`^drive\\.transfer\\.${nt}$`),st=/^[A-Za-z0-9_-]{16,128}$/,ct=/^vt1_[0-9]{13}_[0-9a-f]{32}$(?![\s\S])/,lt=/^[0-9a-f]{64}$/,ut=/^"[\x21\x23-\x7e]{1,1022}"$/;function I(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function L(e,t){return typeof e==`string`&&t.test(e)}function dt(e){return L(e.transferId,ot)&&L(e.itemId,it)&&L(e.versionId,at)}function R(e,t=2**53-1){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0&&e<=t}function ft(e){if(!I(e)||e.outcome!==`admitted`||!dt(e)||!R(e.expiresAt))return!1;let t=e.capability;if(!I(t)||t.outcome!==`presigned`||t.method!==`PUT`||typeof t.url!=`string`||t.url.length>8192||!I(t.headers)||!R(t.expiresInSeconds,300)||t.expiresInSeconds<1)return!1;let n=t.headers,r=[`x-amz-checksum-sha256`,`content-type`,`cache-control`,`if-none-match`],i=[`x-amz-server-side-encryption-customer-algorithm`,`x-amz-server-side-encryption-customer-key`,`x-amz-server-side-encryption-customer-key-md5`],a=Object.keys(n),o=i.some(e=>Object.hasOwn(n,e)),s=o?[...r,...i]:r;if(a.length!==s.length||!s.every(e=>Object.hasOwn(n,e))||!a.every(e=>s.includes(e))||!Object.values(n).every(e=>typeof e==`string`&&e.length<=4096&&!/[\r\n]/.test(e))||typeof n[`x-amz-checksum-sha256`]!=`string`||!/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/.test(n[`x-amz-checksum-sha256`])||typeof n[`content-type`]!=`string`||!/^[a-z0-9][a-z0-9!#$&^_.+-]*\/[a-z0-9][a-z0-9!#$&^_.+-]*$/.test(n[`content-type`])||n[`cache-control`]!==`no-store, no-transform`||n[`if-none-match`]!==`*`)return!1;try{let r=new URL(t.url),a=r.searchParams.get(`X-Amz-SignedHeaders`)?.split(`;`)??[];return r.username||r.password||r.hash||!r.host||r.protocol!==`https:`&&!(r.protocol===`http:`&&[`localhost`,`127.0.0.1`,`[::1]`].includes(r.hostname))||!/^[0-9a-f]{64}$/.test(r.searchParams.get(`X-Amz-Signature`)??``)||![`host`,`content-length`,...s].every(e=>a.includes(e))||a.length!==s.length+2||new Set(a).size!==a.length||a.some(e=>![`host`,`content-length`,...s].includes(e))||o&&(r.protocol!==`https:`||n[i[0]]!==`AES256`||typeof n[i[1]]!=`string`||!/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/.test(n[i[1]])||typeof n[i[2]]!=`string`||!/^[A-Za-z0-9+/]{21}[AQgw]==$/.test(n[i[2]]))?!1:(Object.freeze(n),Object.freeze(t),Object.freeze(e),!0)}catch{return!1}}function pt(e,t){return ft(e)||I(e)&&(e.outcome===`recovery_required`&&L(e.transferId,ot)||e.outcome===`published`&&typeof e.transferId==`string`&&mt(e,t,e.transferId))}function mt(e,t,n){if(!I(e)||e.outcome!==`published`||e.workspaceId!==t||e.transferId!==n||!dt(e)||!R(e.byteLength,1073741824)||!L(e.sha256,lt)||typeof e.mediaType!=`string`||e.mediaType.length>255||![`ordinary`,`opaque-encrypted`].includes(String(e.protectionClassification))||!L(e.etag,ut)||!I(e.item))return!1;let r=e.item,i=(r.name===null||typeof r.name==`string`&&r.name.length<=255)&&R(r.revision)&&r.revision>0&&(r.parentItemId===null||L(r.parentItemId,it))&&[`workspace`,`restricted`].includes(String(r.visibility))&&[r.creatorUserId,r.ownerUserId].every(e=>e===null||typeof e==`string`&&/^[A-Za-z0-9_-]{1,128}$/.test(e));return i&&(Object.freeze(r),Object.freeze(e)),i}function ht(e,t){let n=M(e,[`workspaceId`,`transferId`,`idempotencyKey`],t?[`signal`,`etag`]:[`signal`]);if(!L(n.workspaceId,rt)||!L(n.transferId,ot)||!L(n.idempotencyKey,st)||t&&n.etag!==void 0&&!L(n.etag,ut))throw new a(`invalid_input`);return{workspaceId:n.workspaceId,transferId:n.transferId,idempotencyKey:n.idempotencyKey,etag:typeof n.etag==`string`?n.etag:void 0,signal:N(n.signal)}}function gt(e){let t=M(e,[`workspaceId`,`target`,`byteLength`,`sha256`,`mediaType`,`protectionClassification`,`idempotencyKey`],[`signal`]),n=M(t.target,[`type`],[`parentItemId`,`name`,`itemId`,`currentVersionId`]);if(!L(t.workspaceId,rt)||!R(t.byteLength,1073741824)||!L(t.sha256,lt)||!L(t.idempotencyKey,ct)||typeof t.mediaType!=`string`||!/^[a-z0-9][a-z0-9!#$&^_.+-]*\/[a-z0-9][a-z0-9!#$&^_.+-]*$(?![\s\S])/.test(t.mediaType)||t.mediaType.length>255||![`ordinary`,`opaque-encrypted`].includes(String(t.protectionClassification)))throw new a(`invalid_input`);let r;if(n.type===`create`&&L(n.parentItemId,it)&&typeof n.name==`string`&&n.name.length>0&&new TextEncoder().encode(n.name).length<=255&&!Array.from(n.name).some(e=>{let t=e.charCodeAt(0);return t<32||t===127||e===`/`||e===`\\`})&&n.name!==`.`&&n.name!==`..`&&n.itemId===void 0&&n.currentVersionId===void 0)r={type:`create`,parentItemId:n.parentItemId,name:n.name};else if(n.type===`replace`&&L(n.itemId,it)&&L(n.currentVersionId,at)&&n.parentItemId===void 0&&n.name===void 0)r={type:`replace`,itemId:n.itemId,currentVersionId:n.currentVersionId};else throw new a(`invalid_input`);let i={workspaceId:t.workspaceId,target:r,byteLength:t.byteLength,sha256:t.sha256,mediaType:t.mediaType,protectionClassification:t.protectionClassification===`ordinary`?`ordinary`:`opaque-encrypted`,idempotencyKey:t.idempotencyKey},o=N(t.signal);return{...i,...o===void 0?{}:{signal:o}}}function _t(e){return{async prepareVerifiedTransfer(t){let{signal:n,...r}=gt(t);return F(e,n,409,(e,t)=>e.POST(`/api/v1/transfers`,{...t,body:r}),[200],e=>pt(e,r.workspaceId))},async publishVerifiedTransfer(t){let n=ht(t,!0);return F(e,n.signal,null,(e,t)=>e.POST(`/api/v1/transfers/{transferId}/publish`,{...t,params:{path:{transferId:n.transferId}},body:{workspaceId:n.workspaceId,idempotencyKey:n.idempotencyKey,...n.etag===void 0?{}:{etag:n.etag}}}),[200],e=>mt(e,n.workspaceId,n.transferId))},async recoverVerifiedTransfer(t){let n=ht(t,!1);return F(e,n.signal,null,(e,t)=>e.POST(`/api/v1/transfers/{transferId}/recover`,{...t,params:{path:{transferId:n.transferId}},body:{workspaceId:n.workspaceId,idempotencyKey:n.idempotencyKey}}),[200],e=>ft(e)&&e.transferId===n.transferId)}}}const z=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,B=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,V=/^drive\.volume\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,vt=/^drive\.grant\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,yt=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,bt=/^drive\.retrieval\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,xt=/^drive\.cursor\.v1\.[A-Za-z0-9_-]+$/,H=/^[A-Za-z0-9_-]{1,128}$/,St=/^"drive\.permission-grant\.v1\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)"$/,Ct=/^"drive\.permission-list\.v1\.[0-9a-f]{64}"$/,wt=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),Tt=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:manage`,`items:permissions:read`,`items:update`]),Et=/^sha256:[0-9a-f]{64}$/,Dt=new TextEncoder;function Ot(e){if(!K(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>50||e.nextCursor!==null&&(typeof e.nextCursor!=`string`||e.nextCursor.length<1||e.nextCursor.length>2048||!/^[A-Za-z0-9_.-]+$/.test(e.nextCursor))||e.items.length===0&&e.nextCursor!==null)return!1;let t=``;for(let n of e.items){if(!K(n,[`workspaceId`,`itemId`])||typeof n.workspaceId!=`string`||!B.test(n.workspaceId)||typeof n.itemId!=`string`||!z.test(n.itemId))return!1;let e=`${n.workspaceId}/${n.itemId}`;if(t&&t>=e)return!1;t=e}return!0}function kt(e){return K(e,[`workspaceId`,`provider`,`usedBytes`,`fileCount`,`limitBytes`,`quotaScope`,`accounting`])&&typeof e.workspaceId==`string`&&B.test(e.workspaceId)&&e.provider===`managed`&&e.accounting===`owned-current-versions`&&(e.quotaScope===`personal`||e.quotaScope===`organization`)&&typeof e.fileCount==`number`&&Number.isSafeInteger(e.fileCount)&&e.fileCount>=0&&e.fileCount<=4096&&[e.usedBytes,e.limitBytes].every(e=>typeof e==`string`&&/^(0|[1-9][0-9]{0,18})$/.test(e))}function At(e){if(!K(e,[`workspaceId`,`provider`,`usedBytes`,`reservedBytes`,`limitBytes`,`availableBytes`,`accounting`,`reservedBytesIncludeUnresolvedUploads`,`unresolvedReservedBytes`,`warnings`])||typeof e.workspaceId!=`string`||!B.test(e.workspaceId)||e.provider!==`managed`||e.accounting!==`retained-versions-and-reservations`||e.reservedBytesIncludeUnresolvedUploads!==!0||!Array.isArray(e.warnings)||e.warnings.length>1||e.warnings.some(e=>e!==`unresolved-archive-ownership`)||![e.usedBytes,e.reservedBytes,e.limitBytes,e.availableBytes,e.unresolvedReservedBytes].every(e=>typeof e==`string`&&/^(0|[1-9][0-9]{0,18})$/.test(e)))return!1;let t=BigInt(e.limitBytes)-BigInt(e.usedBytes)-BigInt(e.reservedBytes),n=BigInt(e.availableBytes)===(t>0n?t:0n)&&BigInt(e.unresolvedReservedBytes)<=BigInt(e.reservedBytes)&&(e.unresolvedReservedBytes===`0`||e.warnings.length===1);return n&&Object.freeze(e.warnings),n}function jt(e){if(!K(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>50||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length>0&&e.nextCursor.length<=2048&&/^[A-Za-z0-9_.-]+$/.test(e.nextCursor))||e.items.length===0&&e.nextCursor!==null)return!1;let t=new Set,n=e.items.every(e=>{if(!K(e,[`workspaceId`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`,`volumeId`,`provider`,`createdAtEpochMilliseconds`,`modifiedAtEpochMilliseconds`,`creatorUserId`,`etag`,`trashedAtEpochMilliseconds`,`purgeAfterEpochMilliseconds`])||e.lifecycleState!==`active`&&e.lifecycleState!==`trashed`||typeof e.volumeId!=`string`||!V.test(e.volumeId)||e.provider!==`managed`||e.creatorUserId!==null&&(typeof e.creatorUserId!=`string`||!H.test(e.creatorUserId))||![e.createdAtEpochMilliseconds,e.modifiedAtEpochMilliseconds,e.trashedAtEpochMilliseconds,e.purgeAfterEpochMilliseconds].every(e=>e===null||G(e)))return!1;let n={workspaceId:e.workspaceId,itemId:e.itemId,parentId:e.parentId,type:e.type,name:e.name,lifecycleState:`active`,revision:e.revision,currentVersion:e.currentVersion};return typeof n.workspaceId!=`string`||!B.test(n.workspaceId)||typeof n.itemId!=`string`||!z.test(n.itemId)||n.parentId===null||n.parentId===n.itemId||!Wt(n,n.workspaceId,n.itemId)||e.etag!==`"drive.item.v1.${n.revision}"`||t.has(n.itemId)||(e.lifecycleState===`active`?e.trashedAtEpochMilliseconds!==null||e.purgeAfterEpochMilliseconds!==null:!G(e.trashedAtEpochMilliseconds)||!G(e.purgeAfterEpochMilliseconds)||e.purgeAfterEpochMilliseconds<=e.trashedAtEpochMilliseconds)?!1:(t.add(n.itemId),!0)});if(n){for(let t of e.items)Object.freeze(t);Object.freeze(e.items),Object.freeze(e)}return n}const Mt=[`ownerUserId`,`ownership`,`visibility`,`archived`,`activeVisitorGrantCount`];function Nt(e,t,n){if(!K(e,[`items`,`nextCursor`])||!Array.isArray(e.items))return!1;let r=[],i=``;for(let a of e.items){if(!a||typeof a!=`object`||Array.isArray(a))return!1;let e=a,{ownerUserId:o,ownership:s,visibility:c,archived:l,activeVisitorGrantCount:u,...d}=e;if(!Mt.every(t=>Object.hasOwn(e,t))||o!==t||s!==`assigned`&&s!==`creator`||s===`creator`&&d.creatorUserId!==t||c!==`workspace`&&c!==`restricted`||typeof l!=`boolean`||n===`active`&&l||!G(u)||d.lifecycleState!==n||typeof d.itemId!=`string`||d.itemId<=i)return!1;i=d.itemId,r.push(d)}if(!jt({items:r,nextCursor:e.nextCursor}))return!1;for(let t of e.items)Object.freeze(t);return Object.freeze(e.items),Object.freeze(e),!0}function Pt(e,t,n,r){return!K(e,[`workspaceId`,`volumeId`,`itemId`,`kind`,`revision`,`previousOwnerUserId`,`ownerUserId`,`transferredItemCount`,`revokedVisitorGrantCount`])||e.workspaceId!==t||e.itemId!==n||typeof e.volumeId!=`string`||!V.test(e.volumeId)||e.kind!==`file`&&e.kind!==`folder`||!G(e.revision)||e.revision<1||e.previousOwnerUserId!==null&&(typeof e.previousOwnerUserId!=`string`||!H.test(e.previousOwnerUserId))||e.previousOwnerUserId===r||e.ownerUserId!==r||!G(e.transferredItemCount)||e.transferredItemCount<1||!G(e.revokedVisitorGrantCount)?!1:(Object.freeze(e),!0)}function Ft(e,t,n){return!K(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`state`,`revision`,`trashedAtEpochMilliseconds`,`purgeAfterEpochMilliseconds`,`retentionHold`])||e.workspaceId!==t||e.itemId!==n||typeof e.volumeId!=`string`||!V.test(e.volumeId)||typeof e.parentItemId!=`string`||!z.test(e.parentItemId)||e.parentItemId===n||e.kind!==`file`&&e.kind!==`folder`||!W(e.name)||e.state!==`trashed`||!G(e.revision)||e.revision<1||!G(e.trashedAtEpochMilliseconds)||!G(e.purgeAfterEpochMilliseconds)||e.purgeAfterEpochMilliseconds<=e.trashedAtEpochMilliseconds||e.retentionHold!==!0?!1:(Object.freeze(e),!0)}function It(e){if(!K(e,[`workspace`,`volumes`,`knownProviders`,`externalConnectionsSupported`])||!Lt(e.workspace)||!Array.isArray(e.volumes)||e.volumes.length!==1||!Array.isArray(e.knownProviders)||e.externalConnectionsSupported!==!1)return!1;let t=e.volumes[0],n=[`managed`,`google-drive`,`onedrive`,`dropbox`,`s3-compatible`];return K(t,[`volumeId`,`rootItemId`,`provider`,`name`])&&t.volumeId===e.workspace.rootVolumeId&&t.rootItemId===e.workspace.rootItemId&&t.provider===`managed`&&t.name===`Files`&&e.knownProviders.length===n.length&&e.knownProviders.every((e,t)=>e===n[t])}function Lt(e){if(!K(e,[`workspaceId`,`rootVolumeId`,`rootItemId`,`workspaceReference`])||typeof e.workspaceId!=`string`||!B.test(e.workspaceId)||typeof e.rootVolumeId!=`string`||!V.test(e.rootVolumeId)||typeof e.rootItemId!=`string`||!z.test(e.rootItemId))return!1;let t=e.workspaceReference;return K(t,[`type`,`userId`])&&t.type===`personal`&&typeof t.userId==`string`&&H.test(t.userId)||K(t,[`type`,`organizationId`])&&t.type===`organization`&&typeof t.organizationId==`string`&&H.test(t.organizationId)}function Rt(e){return!K(e,[`mode`,`method`,`url`,`headers`,`expiresAtEpochMilliseconds`,`response`])||e.mode!==`presigned-single`||e.method!==`GET`&&e.method!==`HEAD`||typeof e.url!=`string`||!_n(e.url)||!G(e.expiresAtEpochMilliseconds)||!vn(e.headers,[`if-match`],e.url)&&!vn(e.headers,[`if-match`,`range`],e.url)||typeof e.headers[`if-match`]!=`string`||!gn(e.headers[`if-match`])||e.headers.range!==void 0&&(typeof e.headers.range!=`string`||!/^bytes=(?:0|[1-9][0-9]*)-(?:0|[1-9][0-9]*)$/.test(e.headers.range))||!K(e.response,[`status`,`versionId`,`byteLength`,`contentLength`,`contentType`,`contentDisposition`,`etag`,`acceptRanges`,`contentRange`])||e.response.status!==200&&e.response.status!==206||typeof e.response.versionId!=`string`||!yt.test(e.response.versionId)||!G(e.response.byteLength)||!G(e.response.contentLength)||typeof e.response.contentType!=`string`||!/^[a-z0-9](?:[a-z0-9!#$&^_.+-]{0,125}[a-z0-9])?\/[a-z0-9](?:[a-z0-9!#$&^_.+-]{0,125}[a-z0-9])?$/.test(e.response.contentType)||typeof e.response.contentDisposition!=`string`||e.response.contentDisposition.length>2048||!/^[\x20-\x7e]+$/.test(e.response.contentDisposition)||e.response.etag!==e.headers[`if-match`]||e.response.acceptRanges!==`bytes`||e.response.contentRange!==null&&typeof e.response.contentRange!=`string`||!zt(e)?!1:(Object.freeze(e.headers),Object.freeze(e.response),Object.freeze(e),!0)}function zt(e){let t=e.response;if(t.contentLength>t.byteLength||e.method===`HEAD`&&t.status!==200||!t.contentDisposition.startsWith(`attachment; filename="`))return!1;if(t.status===200)return e.headers.range===void 0&&t.contentRange===null&&t.contentLength===t.byteLength;if(e.method!==`GET`||e.headers.range===void 0||t.contentRange===null)return!1;let n=/^bytes=(0|[1-9][0-9]*)-(0|[1-9][0-9]*)$/.exec(e.headers.range),r=/^bytes (0|[1-9][0-9]*)-(0|[1-9][0-9]*)\/(0|[1-9][0-9]*)$/.exec(t.contentRange);if(!n||!r)return!1;let i=Number(n[1]),a=Number(n[2]),o=Number(r[1]),s=Number(r[2]),c=Number(r[3]);return[i,a,o,s,c].every(G)&&i===o&&a===s&&c===t.byteLength&&i<=a&&a<c&&t.contentLength===a-i+1}function Bt(e){return K(e,[`mode`,`operationId`,`versionId`,`state`,`pollAfterSeconds`])&&e.mode===`restore-pending`&&typeof e.operationId==`string`&&bt.test(e.operationId)&&typeof e.versionId==`string`&&yt.test(e.versionId)&&(e.state===`pending`||e.state===`restoring`)&&G(e.pollAfterSeconds)&&e.pollAfterSeconds>=1&&e.pollAfterSeconds<=60}function Vt(e,t,n){return K(e,[`items`,`nextCursor`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(Ht)&&(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&xt.test(e.nextCursor))?e.items.every(e=>e.workspaceId===t&&e.parentItemId===n)&&hn(e.items,e=>e.itemId):!1}function Ht(e){return K(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`visibility`,`revision`])&&typeof e.workspaceId==`string`&&B.test(e.workspaceId)&&typeof e.volumeId==`string`&&V.test(e.volumeId)&&typeof e.itemId==`string`&&z.test(e.itemId)&&typeof e.parentItemId==`string`&&z.test(e.parentItemId)&&(e.kind===`file`||e.kind===`folder`)&&W(e.name)&&(e.visibility===`workspace`||e.visibility===`restricted`)&&G(e.revision)}function Ut(e,t,n,r){return!K(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`state`,`revision`,`purgeAfterEpochMilliseconds`])||e.workspaceId!==t||e.itemId!==n||typeof e.volumeId!=`string`||!V.test(e.volumeId)||typeof e.parentItemId!=`string`||!z.test(e.parentItemId)||e.kind!==`file`&&e.kind!==`folder`||!W(e.name)||e.state!==r||!G(e.revision)||(e.state===`active`?e.purgeAfterEpochMilliseconds!==null:!G(e.purgeAfterEpochMilliseconds))?!1:(Object.freeze(e),!0)}function Wt(e,t,n){return!K(e,[`workspaceId`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`])||e.workspaceId!==t||e.itemId!==n||!(e.parentId===null||typeof e.parentId==`string`&&z.test(e.parentId))||e.type!==`file`&&e.type!==`folder`||!W(e.name)||e.lifecycleState!==`active`||!G(e.revision)||(e.type===`folder`?e.currentVersion!==null:!Kt(e.currentVersion))?!1:(e.currentVersion!==null&&Object.freeze(e.currentVersion),Object.freeze(e),!0)}function Gt(e,t,n,r){if(!K(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>r||!e.items.every(e=>qt(e,t,n))||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&xt.test(e.nextCursor))||e.items.length===0&&e.nextCursor!==null||new Set(e.items.map(e=>e.itemId)).size!==e.items.length||!Jt(e.items))return!1;for(let t of e.items)t.currentVersion!==null&&Object.freeze(t.currentVersion),Object.freeze(t);return Object.freeze(e.items),Object.freeze(e),!0}function U(e,t){let n=e.get(`etag`);return n!==null&&h(n)===t}function Kt(e){return K(e,[`versionId`,`state`,`byteLength`,`mediaType`,`protectionClassification`])&&typeof e.versionId==`string`&&yt.test(e.versionId)&&e.state===`current`&&G(e.byteLength)&&pn(e.mediaType)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)}function qt(e,t,n){return K(e,[`workspaceId`,`volumeId`,`provider`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`])&&e.workspaceId===t&&typeof e.volumeId==`string`&&V.test(e.volumeId)&&e.provider===`managed`&&typeof e.itemId==`string`&&z.test(e.itemId)&&(e.parentId===null||typeof e.parentId==`string`&&z.test(e.parentId))&&(e.type===`file`||e.type===`folder`)&&W(e.name)&&e.name.startsWith(n)&&e.lifecycleState===`active`&&G(e.revision)&&(e.type===`folder`?e.currentVersion===null:Kt(e.currentVersion))}function Jt(e){for(let t=1;t<e.length;t+=1){let n=e[t-1],r=e[t],i=Yt(n.name,r.name);if(i>0||i===0&&n.itemId>=r.itemId)return!1}return!0}function Yt(e,t){let n=Dt.encode(e),r=Dt.encode(t),i=Math.min(n.length,r.length);for(let e=0;e<i;e+=1)if(n[e]!==r[e])return n[e]-r[e];return n.length-r.length}function Xt(e,t){if(!K(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>t||!e.items.every(nn)||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&xt.test(e.nextCursor))||e.nextCursor!==null&&e.items.length===0||!hn(e.items,e=>e.versionId))return!1;for(let t of e.items)Object.freeze(t);return Object.freeze(e.items),Object.freeze(e),!0}function Zt(e,t){return!K(e,[`itemRevision`,`currentVersionId`])||!G(e.itemRevision)||e.currentVersionId!==t?!1:(Object.freeze(e),!0)}function Qt(e,t,n,r=Ct){if(!(K(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(cn)&&(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&xt.test(e.nextCursor))&&G(e.collectionRevision)&&typeof e.collectionEtag==`string`&&p(e.collectionEtag)===e.collectionRevision))return!1;let i=t.get(`drive-permission-collection-etag`),a=t.get(`etag`),o=e.collectionRevision;return G(o)?i===e.collectionEtag&&a!==null&&r.test(a)&&e.items.every(e=>{let t=m(e.etag);return t===void 0||e.etag!==fn(t[0],e.revision)?!1:e.source===`direct`?e.sourceItemId===n&&t[0]===o:e.sourceItemId!==n})&&hn(e.items,e=>`${e.sourceItemId}\0${e.grantId}`):!1}function $t(e,t,n){if(!K(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])||!Array.isArray(e.items)||e.items.length>50)return!1;let r=[];for(let t of e.items){if(!K(t,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`,`etag`,`recipient`]))return!1;let{recipient:e,...n}=t;if(!cn(n)||e!==null&&(!K(e,[`userId`,`name`,`email`,`resolvedAt`,`expiresAt`])||n.grantee.type!==`user`||e.userId!==n.grantee.userId||typeof e.name!=`string`||e.name.length<1||Dt.encode(e.name).byteLength>1024||typeof e.email!=`string`||e.email.length<3||Dt.encode(e.email).byteLength>320||!e.email.includes(`@`)||!G(e.resolvedAt)||!G(e.expiresAt)||e.expiresAt!==e.resolvedAt+864e5))return!1;r.push(n)}return Qt({...e,items:r},t,n,/^"drive\.sharing-people\.v1\.[0-9a-f]{64}"$/)}function en(e,t,n){if(!K(e,[`outcome`,`grant`,`collectionRevision`])||e.outcome!==`committed`&&e.outcome!==`replayed`||!G(e.collectionRevision))return!1;let r=e.grant;return K(r,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`])&&r.source===`direct`&&typeof r.sourceItemId==`string`&&r.sourceItemId===t&&typeof r.grantId==`string`&&vt.test(r.grantId)&&(n===void 0||r.grantId===n)&&ln(r.grantee)&&un(r.actions)&&[`active`,`expired`,`revoked`].includes(String(r.availability))&&(r.expiresAtEpochMilliseconds===null||G(r.expiresAtEpochMilliseconds))&&G(r.revision)}function tn(e,t){if(!K(e,[`actions`])||!Array.isArray(e.actions)||e.actions.length!==7)return!1;for(let n=0;n<e.actions.length;n+=1){let r=e.actions[n];if(r===void 0||!K(r,[`action`,`allowed`,`basis`,`sourceItemId`,`grantId`])||r.action!==Tt[n]||typeof r.allowed!=`boolean`||!(r.basis===null||[`workspace_visibility`,`restricted_administrator_bypass`,`item_owner`,`direct_grant`,`inherited_grant`].includes(String(r.basis)))||!(r.sourceItemId===null||typeof r.sourceItemId==`string`&&z.test(r.sourceItemId))||!(r.grantId===null||typeof r.grantId==`string`&&vt.test(r.grantId))||!dn(r,t))return!1}return!0}function nn(e){let t=K(e,an)&&on(e);return t&&Object.freeze(e),t}function rn(e,t,n,r){let i=K(e,[...an,`workspaceId`,`itemId`])&&e.workspaceId===t&&e.itemId===n&&e.versionId===r&&on(e);return i&&Object.freeze(e),i}const an=Object.freeze([`versionId`,`state`,`revision`,`byteLength`,`contentDigest`,`mediaType`,`displayFilename`,`protectionClassification`,`archiveState`]);function on(e){return typeof e.versionId==`string`&&yt.test(e.versionId)&&(e.state===`current`||e.state===`superseded`)&&G(e.revision)&&G(e.byteLength)&&typeof e.contentDigest==`string`&&Et.test(e.contentDigest)&&pn(e.mediaType)&&W(e.displayFilename)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)&&[`available`,`cold`,`restoring`,`unavailable`,`corrupt`].includes(String(e.archiveState))}function sn(e){let t=e.get(`drive-permission-collection-etag`),n=e.get(`drive-permission-grant-etag`),r=t===null?void 0:p(t);if(r===void 0)return!1;if(n===null)return!0;let i=m(n);return i!==void 0&&i[0]===r}function cn(e){return K(e,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`,`etag`])&&(e.source===`direct`||e.source===`inherited`)&&typeof e.sourceItemId==`string`&&z.test(e.sourceItemId)&&typeof e.grantId==`string`&&vt.test(e.grantId)&&ln(e.grantee)&&un(e.actions)&&[`active`,`expired`,`revoked`].includes(String(e.availability))&&(e.expiresAtEpochMilliseconds===null||G(e.expiresAtEpochMilliseconds))&&G(e.revision)&&typeof e.etag==`string`&&St.test(e.etag)}function ln(e){return K(e,[`type`,`userId`])&&e.type===`user`&&typeof e.userId==`string`&&H.test(e.userId)||K(e,[`type`,`teamId`])&&e.type===`team`&&typeof e.teamId==`string`&&H.test(e.teamId)}function un(e){return Array.isArray(e)&&e.length>=1&&e.length<=6&&new Set(e).size===e.length&&e.every(e=>wt.includes(e))&&e.every((t,n)=>n===0||wt.indexOf(t)>wt.indexOf(e[n-1]))}function dn(e,t){return e.allowed?e.basis===`workspace_visibility`||e.basis===`restricted_administrator_bypass`||e.basis===`item_owner`?e.sourceItemId===null&&e.grantId===null:e.basis===`direct_grant`?e.sourceItemId===t&&typeof e.grantId==`string`:e.basis===`inherited_grant`&&typeof e.sourceItemId==`string`&&e.sourceItemId!==t&&typeof e.grantId==`string`:e.basis===null&&e.sourceItemId===null&&e.grantId===null}function fn(e,t){return`"drive.permission-grant.v1.${e}.${t}"`}function W(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||mn(e))return!1;let t=0,n=0;for(let r of e){let e=r.codePointAt(0);if(e===void 0||e===47||e===92||e<=31||e>=127&&e<=159||e===8232||e===8233||e>=55296&&e<=57343||(t+=1,n+=e<=127?1:e<=2047?2:e<=65535?3:4,t>255||n>255))return!1}return!0}function pn(e){return typeof e==`string`&&e.length<=255&&/^[a-z0-9](?:[a-z0-9!#$&^_.+-]{0,125}[a-z0-9])?\/[a-z0-9](?:[a-z0-9!#$&^_.+-]{0,125}[a-z0-9])?$/.test(e)}function mn(e){let t=e.split(`.`,1)[0].toUpperCase();return e===`.`||e===`..`||[`CON`,`PRN`,`AUX`,`NUL`,`CLOCK$`,`CONIN$`,`CONOUT$`].includes(t)||/^COM[1-9]$/.test(t)||/^LPT[1-9]$/.test(t)}function hn(e,t){return e.every((n,r)=>r===0||t(e[r-1])<t(n))}function G(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function gn(e){return/^"[\x21\x23-\x7e]{1,1022}"$/.test(e)}function _n(e){try{let t=new URL(e),n=t.protocol===`http:`&&[`localhost`,`127.0.0.1`,`[::1]`].includes(t.hostname);return(t.protocol===`https:`||n)&&!t.username&&!t.password&&!t.hash}catch{return!1}}function K(e,t,n=[]){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.keys(e).every(e=>t.includes(e)||n.includes(e))&&t.every(t=>Object.hasOwn(e,t))}function vn(e,t,n){if(K(e,t))return!0;let r=[`x-amz-server-side-encryption-customer-algorithm`,`x-amz-server-side-encryption-customer-key`,`x-amz-server-side-encryption-customer-key-md5`];if(!K(e,[...t,...r])||typeof n!=`string`)return!1;try{let t=new URL(n),i=t.searchParams.get(`X-Amz-SignedHeaders`)?.split(`;`)??[];return t.protocol===`https:`&&r.every(e=>i.includes(e))&&e[r[0]]===`AES256`&&typeof e[r[1]]==`string`&&/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/.test(e[r[1]])&&typeof e[r[2]]==`string`&&/^[A-Za-z0-9+/]{21}[AQgw]==$/.test(e[r[2]])}catch{return!1}}function yn(e,t){let n=e[`x-amz-server-side-encryption-customer-algorithm`];return n===void 0||n===`AES256`&&t.headers.get(`x-amz-server-side-encryption-customer-algorithm`)===n&&t.headers.get(`x-amz-server-side-encryption-customer-key-md5`)===e[`x-amz-server-side-encryption-customer-key-md5`]}async function bn(e,t,n){if(t.expiresAtEpochMilliseconds<=Date.now())throw new a(`invalid_response`);let r=Ze(n,e.timeoutMilliseconds);try{let i=await tt(e.fetchImplementation(Sn(t,r.signal)),r.signal);if(!Cn(i,t))throw await i.body?.cancel().catch(()=>void 0),new a(`invalid_response`);let o=xn(t);if(t.method===`HEAD`)return await i.body?.cancel().catch(()=>void 0),r.dispose(),new Response(null,{status:i.status,headers:o});if(!i.body){if(r.dispose(),t.response.contentLength!==0)throw new a(`invalid_response`);return new Response(null,{status:i.status,headers:o})}return r.dispose(),new Response(wn(i.body,t.response.contentLength,n),{status:i.status,headers:o})}catch(e){throw r.dispose(),r.didTimeout()?new a(`timeout`):e instanceof a?e:r.signal.aborted?new a(r.didTimeout()?`timeout`:`aborted`):new a(`network_error`)}}function xn(e){let t=e.response,n=new Headers;return n.set(`cache-control`,`private, no-store, no-transform`),n.set(`accept-ranges`,t.acceptRanges),n.set(`content-disposition`,t.contentDisposition),n.set(`content-length`,String(t.contentLength)),n.set(`content-type`,t.contentType),n.set(`etag`,t.etag),t.contentRange===null?n.delete(`content-range`):n.set(`content-range`,t.contentRange),n}function Sn(e,t){let n={method:e.method,headers:e.headers,redirect:`manual`,signal:t};try{return new Request(e.url,{...n,cache:`no-store`,credentials:`omit`,referrerPolicy:`no-referrer`})}catch{try{return new Request(e.url,{...n,credentials:`omit`,referrerPolicy:`no-referrer`})}catch{return new Request(e.url,{...n,credentials:`omit`})}}}function Cn(e,t){let n=t.response,r=e.headers.get(`content-encoding`);return yn(t.headers,e)&&e.status===n.status&&e.headers.get(`etag`)===n.etag&&e.headers.get(`content-length`)===String(n.contentLength)&&(r===null||r===`identity`)&&(n.contentRange===null?e.headers.get(`content-range`)===null:e.headers.get(`content-range`)===n.contentRange)}function wn(e,t,n){let r=e.getReader(),i=0,o=!1,s=()=>{};return new ReadableStream({start(e){if(!n)return;let t=()=>{o||(o=!0,s(),r.cancel().catch(()=>void 0),e.error(new a(`aborted`)))};n.aborted?t():(n.addEventListener(`abort`,t,{once:!0}),s=()=>n.removeEventListener(`abort`,t))},async pull(e){if(!o)try{let n=await r.read();if(o)return;if(n.done)o=!0,s(),r.releaseLock(),i===t?e.close():e.error(new a(`invalid_response`));else{if(i+=n.value.byteLength,!Number.isSafeInteger(i)||i>t){o=!0,s(),await r.cancel().catch(()=>void 0),e.error(new a(`invalid_response`));return}e.enqueue(n.value)}}catch(t){if(o)return;o=!0,s(),await r.cancel().catch(()=>void 0),e.error(t instanceof a?t:n?.aborted?new a(`aborted`):new a(`network_error`))}},async cancel(e){o||(o=!0,s(),await r.cancel(e).catch(()=>void 0))}})}const Tn=/^[A-Za-z0-9_-]{43}$/,q=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,J=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,En=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Dn=/^[A-Za-z0-9._:-]{1,128}$/,On=/^drive_edit_[A-Za-z0-9_-]{43}$/,kn=`/api/v1/workspaces/{workspaceId}/items/{itemId}/visitor-grants`,An=e=>e===`viewer`||e===`editor`;function Y(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function X(e,t){return Object.keys(e).length===t.length&&t.every(t=>Object.hasOwn(e,t))}function Z(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function jn(e){return Y(e)&&X(e,[`grantId`,`mode`,`role`,`email`,`status`,`createdAt`,`expiresAt`])&&typeof e.grantId==`string`&&q.test(e.grantId)&&An(e.role)&&(e.mode===`anyone`&&e.email===null&&e.status!==`pending`||e.mode===`email`&&typeof e.email==`string`&&e.email.length>=3&&e.email.length<=320)&&[`pending`,`active`,`expired`,`revoked`].includes(String(e.status))&&Z(e.createdAt)&&Z(e.expiresAt)&&e.expiresAt>e.createdAt&&e.expiresAt<=e.createdAt+2592e6}function Mn(e){return Y(e)&&X(e,[`grant`,`token`,`tokenPurpose`])&&jn(e.grant)&&(e.token===null||typeof e.token==`string`&&Tn.test(e.token))&&e.tokenPurpose===(e.grant.mode===`anyone`?`view`:`verify-email`)}function Nn(e,t){if(!Y(e))return!1;let{source:n,sourceItemId:r,...i}=e;return jn(i)&&typeof r==`string`&&J.test(r)&&(n===`direct`&&r===t||n===`inherited`&&r!==t)}function Pn(e){return Y(e)&&typeof e.itemId==`string`&&J.test(e.itemId)&&(e.kind===`file`||e.kind===`folder`)&&(e.name===null||typeof e.name==`string`&&e.name.length<=1024)}function Fn(e){return{async createVisitorGrant(t){let n=M(t,[`workspaceId`,`itemId`,`command`,`idempotencyKey`],[`signal`]),r=O({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}}),i=M(n.command,[`mode`,`role`,`expiresAt`],[`email`]),o=i.role;if(!An(o)||!Z(i.expiresAt)||i.expiresAt>Date.now()+(o===`editor`?864e5:2592e6)||typeof n.idempotencyKey!=`string`||!/^[A-Za-z0-9_-]{16,128}$/.test(n.idempotencyKey)||!(i.mode===`anyone`&&!Object.hasOwn(i,`email`)||i.mode===`email`&&typeof i.email==`string`&&i.email.trim().length>=3&&new TextEncoder().encode(i.email).length<=320))throw new a(`invalid_input`);let s=i.mode===`anyone`?{mode:`anyone`,role:o,expiresAt:i.expiresAt}:{mode:`email`,role:o,email:String(i.email).trim().toLowerCase(),expiresAt:i.expiresAt};return F(e,r.signal,null,(e,t)=>e.POST(kn,{...t,params:{path:r,header:{"Idempotency-Key":n.idempotencyKey}},body:s}),[200],e=>Mn(e)&&e.grant.role===s.role&&e.grant.mode===s.mode&&e.grant.email===(s.mode===`email`?s.email:null)&&e.grant.expiresAt===s.expiresAt)},async getVisitorGrant(t){let n=M(t,[`workspaceId`,`itemId`,`grantId`],[`signal`]),r=O({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}});if(typeof n.grantId!=`string`||!q.test(n.grantId))throw new a(`invalid_input`);let i=n.grantId;return F(e,r.signal,null,(e,t)=>e.GET(`${kn}/{grantId}`,{...t,params:{path:{...r,grantId:i}}}),[200],e=>Mn(e)&&e.grant.grantId===i)},async listVisitorGrants(t){let n=O(t);return F(e,n.signal,null,(e,t)=>e.GET(kn,{...t,params:{path:n}}),[200],e=>Y(e)&&X(e,[`items`])&&Array.isArray(e.items)&&e.items.length<=64&&e.items.every(e=>Nn(e,n.itemId)))},async revokeVisitorGrant(t){let n=M(t,[`workspaceId`,`itemId`,`grantId`],[`signal`]),r=O({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}});if(typeof n.grantId!=`string`||!q.test(n.grantId))throw new a(`invalid_input`);return F(e,r.signal,null,(e,t)=>e.DELETE(`${kn}/{grantId}`,{...t,params:{path:{...r,grantId:n.grantId}}}),[200],e=>jn(e)&&e.grantId===n.grantId&&e.status===`revoked`)}}}function In(e){if(!e||typeof e.token!=`string`||!Tn.test(e.token))throw new a(`invalid_input`);let t=e.token,n={...Ye({...e,getCredential:async()=>t}),authorizationScheme:`DriveVisitor`},r={Authorization:`DriveVisitor ${t}`},i={async readItem(e={}){let t=Rn(e);return F(n,t.signal,null,(e,n)=>e.GET(`/api/v1/visitor/item`,{...n,params:{header:r,query:t.query}}),[200],e=>Pn(e)&&Y(e)&&X(e,[`itemId`,`kind`,`name`,`rootItemId`,`role`])&&An(e.role)&&typeof e.rootItemId==`string`&&J.test(e.rootItemId)&&(t.query.itemId===void 0||e.itemId===t.query.itemId))},async listChildren(e={}){let t=Rn(e,[`after`]);if(t.extra.after!==void 0&&(typeof t.extra.after!=`string`||!J.test(t.extra.after)))throw new a(`invalid_input`);let i=t.extra.after;return F(n,t.signal,null,(e,n)=>e.GET(`/api/v1/visitor/children`,{...n,params:{header:r,query:{...t.query,...i===void 0?{}:{after:i}}}}),[200],e=>Y(e)&&X(e,[`items`,`nextAfter`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(e=>Pn(e)&&Y(e)&&X(e,[`itemId`,`kind`,`name`]))&&(e.nextAfter===null||typeof e.nextAfter==`string`&&J.test(e.nextAfter)&&e.items.length===50&&Y(e.items[49])&&e.items[49].itemId===e.nextAfter))},async createDownload(e={}){let t=Rn(e,[`method`,`range`]),i=t.extra.method??`GET`,o=t.extra.range;if(i!==`GET`&&i!==`HEAD`||o!==void 0&&(typeof o!=`string`||!/^bytes=(?:\d+-\d*|-\d+)$/.test(o)||o.length>128))throw new a(`invalid_input`);return F(n,t.signal,null,(e,n)=>(n.headers.set(`Download-Method`,i),typeof o==`string`&&n.headers.set(`Range`,o),e.POST(`/api/v1/visitor/downloads`,{...n,params:{header:r,query:t.query}})),[200],e=>Rt(e)&&e.method===i&&e.expiresAtEpochMilliseconds>Date.now())},async redeemInvitation(e){let i=M(e,[`sessionToken`],[`signal`]),o=N(i.signal);if(typeof i.sessionToken!=`string`||!Tn.test(i.sessionToken)||i.sessionToken===t)throw new a(`invalid_input`);let s=i.sessionToken;return F(n,o,null,(e,t)=>e.POST(`/api/v1/visitor/verify-email`,{...t,params:{header:r},body:{sessionToken:s}}),[200],e=>Y(e)&&X(e,[`grantId`,`role`,`expiresAt`])&&typeof e.grantId==`string`&&q.test(e.grantId)&&An(e.role)&&Z(e.expiresAt)&&e.expiresAt>Date.now())},async downloadItem(e={}){let t=Rn(e,[`method`,`range`]),r=await i.createDownload(e);return bn(n,r.data,t.signal)},async createEditingSession(e){let t=Rn(e,[`audience`,`writable`,`sourceVersionId`]),{audience:i,writable:o,sourceVersionId:s}=t.extra;if(typeof i!=`string`||!Dn.test(i)||typeof o!=`boolean`||s!==void 0&&(typeof s!=`string`||!En.test(s)))throw new a(`invalid_input`);let c={audience:i,writable:o,...s===void 0?{}:{sourceVersionId:s}};return F(n,t.signal,null,(e,n)=>e.POST(`/api/v1/visitor/editing-sessions`,{...n,params:{header:r,query:t.query},body:c}),[201],e=>Ln(e,c))}};return Object.freeze(i)}function Ln(e,t){return Y(e)&&X(e,[`sessionId`,`workspaceId`,`itemId`,`sourceVersionId`,`expectedVersionId`,`contentGeneration`,`audience`,`grantId`,`writable`,`leaseUntil`,`expiresAt`,`revoked`,`token`])&&typeof e.sessionId==`string`&&q.test(e.sessionId)&&typeof e.workspaceId==`string`&&e.workspaceId.startsWith(`drive.workspace.`)&&q.test(e.workspaceId.slice(16))&&typeof e.itemId==`string`&&J.test(e.itemId)&&typeof e.sourceVersionId==`string`&&En.test(e.sourceVersionId)&&(t.sourceVersionId===void 0||e.sourceVersionId===t.sourceVersionId)&&typeof e.expectedVersionId==`string`&&En.test(e.expectedVersionId)&&typeof e.contentGeneration==`string`&&q.test(e.contentGeneration)&&e.audience===t.audience&&typeof e.grantId==`string`&&q.test(e.grantId)&&e.writable===t.writable&&e.revoked===!1&&Z(e.leaseUntil)&&Z(e.expiresAt)&&e.leaseUntil>Date.now()&&e.leaseUntil<=e.expiresAt&&typeof e.token==`string`&&On.test(e.token)}function Rn(e,t=[]){let n=M(e,[],[`itemId`,`signal`,...t]);if(n.itemId!==void 0&&(typeof n.itemId!=`string`||!J.test(n.itemId)))throw new a(`invalid_input`);return{signal:N(n.signal),query:n.itemId===void 0?{}:{itemId:n.itemId},extra:n}}function zn(){let e=crypto.getRandomValues(new Uint8Array(32));return btoa(String.fromCharCode(...e)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}const Bn=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;function Vn(e){return{async getFileAccessContext(t){let n=O(t);return F(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/access-context`,{...t,params:{path:n}}),[200],e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return Object.keys(t).sort().join()===`canRead,canWrite,contentGeneration,itemId,subject,validUntil,versionId,workspaceId`&&t.workspaceId===n.workspaceId&&t.itemId===n.itemId&&typeof t.subject==`string`&&t.subject.length>0&&t.subject.length<=128&&typeof t.versionId==`string`&&Bn.test(t.versionId)&&(t.contentGeneration===null||typeof t.contentGeneration==`string`&&/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(t.contentGeneration))&&typeof t.canRead==`boolean`&&typeof t.canWrite==`boolean`&&typeof t.validUntil==`number`&&Number.isSafeInteger(t.validUntil)&&t.validUntil>Date.now()&&t.validUntil<=Date.now()+6e4})}}}const Hn=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Un=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Wn=/^[A-Za-z0-9._:-]{1,128}$/;function Gn(e,t){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let n=e;return Object.keys(n).sort().join()===`audience,contentGeneration,expectedVersionId,expiresAt,itemId,leaseUntil,revoked,sessionId,sourceVersionId,subject,workspaceId,writable`&&n.workspaceId===t&&typeof n.sessionId==`string`&&Hn.test(n.sessionId)&&typeof n.itemId==`string`&&n.itemId.startsWith(`drive.item.`)&&Hn.test(n.itemId.slice(11))&&typeof n.sourceVersionId==`string`&&Un.test(n.sourceVersionId)&&typeof n.expectedVersionId==`string`&&Un.test(n.expectedVersionId)&&typeof n.contentGeneration==`string`&&Hn.test(n.contentGeneration)&&typeof n.audience==`string`&&Wn.test(n.audience)&&typeof n.subject==`string`&&n.subject.length>0&&n.subject.length<=128&&typeof n.writable==`boolean`&&typeof n.revoked==`boolean`&&typeof n.leaseUntil==`number`&&Number.isSafeInteger(n.leaseUntil)&&typeof n.expiresAt==`number`&&Number.isSafeInteger(n.expiresAt)&&n.leaseUntil>0&&n.leaseUntil<=n.expiresAt}function Kn(e){let t=t=>async n=>{let r=M(n,[`workspaceId`,`sessionId`],[`signal`]);if(typeof r.workspaceId!=`string`||!r.workspaceId.startsWith(`drive.workspace.`)||!Hn.test(r.workspaceId.slice(16))||typeof r.sessionId!=`string`||!Hn.test(r.sessionId))throw new a(`invalid_input`);let i=r.workspaceId,o=r.sessionId;return F(e,N(r.signal),null,(e,n)=>e.POST(`/api/v1/workspaces/{workspaceId}/editing-sessions/{sessionId}`,{...n,params:{path:{workspaceId:i,sessionId:o}},body:{operation:t}}),[200],e=>Gn(e,i)&&e.sessionId===o)};return{async createEditingSession(t){let n=M(t,[`workspaceId`,`itemId`,`audience`,`writable`],[`sourceVersionId`,`signal`]),r=O({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}});if(typeof n.audience!=`string`||!Wn.test(n.audience)||typeof n.writable!=`boolean`||n.sourceVersionId!==void 0&&(typeof n.sourceVersionId!=`string`||!Un.test(n.sourceVersionId)))throw new a(`invalid_input`);let i={audience:n.audience,writable:n.writable,...n.sourceVersionId===void 0?{}:{sourceVersionId:n.sourceVersionId}};return F(e,r.signal,null,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/editing-sessions`,{...t,params:{path:r},body:i}),[201],e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let{token:t,...n}=e;return typeof t==`string`&&/^drive_edit_[A-Za-z0-9_-]{43}$/.test(t)&&Gn(n,r.workspaceId)&&n.itemId===r.itemId&&n.audience===i.audience&&n.writable===i.writable&&(i.sourceVersionId===void 0||n.sourceVersionId===i.sourceVersionId)})},renewEditingSession:t(`renew`),closeEditingSession:t(`close`),revokeEditingSession:t(`revoke`)}}function qn(e){if(!/^drive_edit_[A-Za-z0-9_-]{43}$/.test(e.token)||!Wn.test(e.audience))throw new a(`invalid_input`);let t=e.token;return Object.freeze({...Ye({...e,getCredential:async()=>t}),authorizationScheme:`DriveEditing`,editingAudience:e.audience})}function Jn(e){return Object.freeze({getFileAccessContext:e.getFileAccessContext,createDownload:e.createDownload,downloadItem:e.downloadItem})}const Yn=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Xn=/^[A-Za-z0-9_-]{1,128}$/,Zn=/^[A-Za-z0-9_.-]+$/,Qn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_pagination_cursor`,`precondition_failed`,`service_unavailable`]),$n=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_idempotency_key`,`idempotency_conflict`,`precondition_failed`,`rate_limited`,`service_unavailable`]);function er(e){return{listOwnedItems:t=>rr(e,t),transferItemOwnership:t=>ar(e,t),archiveItem:t=>or(e,t)}}async function tr(e,t){let n=M(t,[`workspaceId`,`ownerUserId`],[`lifecycle`,`rootsOnly`,`signal`,`maxItems`]),r=n.maxItems??500;if(typeof r!=`number`||!Number.isInteger(r)||r<1||r>500)throw new a(`invalid_input`);let{maxItems:i,...o}=n,s=[],c=null;do{let t=r-s.length,n=Math.min(50,t),i=await e.listOwnedItems({...o,limit:n,...c===null?{}:{cursor:c}});s.push(...i.data.items),c=i.data.nextCursor}while(c!==null&&s.length<r);return Object.freeze({items:Object.freeze(s),complete:c===null,nextCursor:c})}function nr(e){let t=M(e,[`workspaceId`,`ownerUserId`],[`lifecycle`,`rootsOnly`,`limit`,`cursor`,`signal`]),n=N(t.signal);if(typeof t.workspaceId!=`string`||!Yn.test(t.workspaceId)||typeof t.ownerUserId!=`string`||!Xn.test(t.ownerUserId)||t.lifecycle!==void 0&&t.lifecycle!==`active`&&t.lifecycle!==`trashed`||t.rootsOnly!==void 0&&typeof t.rootsOnly!=`boolean`||t.limit!==void 0&&(typeof t.limit!=`number`||!Number.isInteger(t.limit)||t.limit<1||t.limit>50)||t.cursor!==void 0&&(typeof t.cursor!=`string`||t.cursor.length<1||t.cursor.length>2048||!Zn.test(t.cursor)))throw new a(`invalid_input`);return{workspaceId:t.workspaceId,ownerUserId:t.ownerUserId,lifecycle:t.lifecycle??`active`,signal:n,query:{...t.lifecycle===void 0?{}:{lifecycle:t.lifecycle},...t.rootsOnly===void 0?{}:{rootsOnly:t.rootsOnly?`true`:`false`},...t.limit===void 0?{}:{limit:t.limit},...t.cursor===void 0?{}:{cursor:t.cursor}},limit:t.limit??25}}async function rr(e,t){let n=nr(t);return F(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/owners/{ownerUserId}/items`,{...j(`listOwnedItems`,{params:{path:{workspaceId:n.workspaceId,ownerUserId:n.ownerUserId},query:n.query}}),...t}),[200],e=>Nt(e,n.ownerUserId,n.lifecycle)&&e.items.length<=n.limit&&e.items.every(e=>e.workspaceId===n.workspaceId),!1,Qn)}function ir(e){let t=M(e,[`workspaceId`,`itemId`,`ownerUserId`,`includeDescendants`,`revokeVisitorGrants`,`idempotencyKey`,`ifMatch`],[`signal`]),n=k({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.ownerUserId!=`string`||!Xn.test(t.ownerUserId)||typeof t.includeDescendants!=`boolean`||typeof t.revokeVisitorGrants!=`boolean`)throw new a(`invalid_input`);return{...n,body:{ownerUserId:t.ownerUserId,includeDescendants:t.includeDescendants,revokeVisitorGrants:t.revokeVisitorGrants}}}async function ar(e,t){let n=ir(t);return F(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/ownership`,{...j(`transferItemOwnership`,{params:{path:A(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:n.body}),...t}),[200],(e,t,r)=>Pt(e,n.workspaceId,n.itemId,n.body.ownerUserId)&&U(r,e.revision),!1,$n)}async function or(e,t){let n=k(t);return F(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/archive`,{...j(`archiveItem`,{params:{path:A(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>Ft(e,n.workspaceId,n.itemId)&&U(r,e.revision),!1,$n)}const sr=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,cr=/^"drive\.sharing-policy\.v1\.(0|[1-9][0-9]{0,15})"$/,lr=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`service_unavailable`]),ur=Object.freeze([...lr,`precondition_failed`]);function dr(e){return{getWorkspaceSharingPolicy:t=>mr(e,t),updateWorkspaceSharingPolicy:t=>hr(e,t)}}function fr(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function pr(e,t){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let n=e;return Object.keys(n).sort().join()===`canManage,externalSharing,revision,updatedAt,workspaceId`&&typeof n.workspaceId==`string`&&sr.test(n.workspaceId)&&(n.externalSharing===`allowed`||n.externalSharing===`disabled`)&&fr(n.revision)&&(n.updatedAt===null||fr(n.updatedAt))&&n.revision===0==(n.updatedAt===null)&&typeof n.canManage==`boolean`&&t.get(`etag`)===`"drive.sharing-policy.v1.${n.revision}"`}async function mr(e,t){return F(e,N(M(t??{},[],[`signal`]).signal),null,(e,t)=>e.GET(`/api/v1/workspaces/current/sharing-policy`,{...j(`getWorkspaceSharingPolicy`,{params:{}}),...t}),[200],(e,t,n)=>pr(e,n),!1,lr)}async function hr(e,t){let n=M(t,[`externalSharing`,`ifMatch`],[`signal`]),r=N(n.signal);if(n.externalSharing!==`allowed`&&n.externalSharing!==`disabled`||typeof n.ifMatch!=`string`||!cr.test(n.ifMatch))throw new a(`invalid_input`);let i=n.externalSharing,o=n.ifMatch;return F(e,r,412,(e,t)=>e.PUT(`/api/v1/workspaces/current/sharing-policy`,{...j(`updateWorkspaceSharingPolicy`,{params:{header:{"If-Match":o}},body:{externalSharing:i}}),...t}),[200],(e,t,n)=>pr(e,n)&&e.externalSharing===i,!1,ur)}const gr=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`service_unavailable`]),_r=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),Q=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_pagination_cursor`,`precondition_failed`,`service_unavailable`]),vr=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_idempotency_key`,`idempotency_conflict`,`precondition_failed`,`service_unavailable`]),yr=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),br=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_idempotency_key`,`idempotency_conflict`,`precondition_failed`,`range_not_satisfiable`,`service_unavailable`]);function xr(e){let t=Ye(e);return{...Sr(t),..._t(t)}}function Sr(e){return Object.freeze({...Fn(e),...Vn(e),...Kn(e),...er(e),...dr(e),registerItemRecipient:t=>Kr(e,t),listItemSharingPeople:t=>qr(e,t),listIncomingShares:t=>Cr(e,t),getCurrentWorkspace:t=>Ar(e,t),ensureOrganizationWorkspaceAccess:t=>jr(e,t),listWorkspaceItems:t=>Dr(e,t),getCurrentUserWorkspaceUsage:t=>Or(e,t),getWorkspaceUsage:t=>kr(e,t),getCurrentWorkspaceSources:t=>Er(e,t),getItem:t=>Mr(e,t),searchWorkspaceItems:t=>Nr(e,t),listFolderChildren:t=>Pr(e,t),createFolder:t=>Fr(e,t),updateItem:t=>Ir(e,t),trashItem:t=>Lr(e,t),restoreItem:t=>Rr(e,t),deleteItem:t=>zr(e,t),listItemVersions:t=>Br(e,t),getItemVersion:t=>Vr(e,t),restoreItemVersion:t=>Hr(e,t),createDownload:t=>wr(e,t),downloadItem:t=>Tr(e,t),listItemPermissions:t=>Ur(e,t),readEffectiveItemPermissions:t=>Wr(e,t),createItemPermission:t=>Gr(e,t),createInternalItemPermission:t=>Gr(e,t,!0),updateItemPermission:t=>Jr(e,t),revokeItemPermission:t=>Yr(e,t),revokeInternalItemPermission:t=>Yr(e,t,!0)})}async function Cr(e,t){let n=D(t);return F(e,n.signal,409,(e,t)=>e.GET(`/api/v1/shares/incoming`,{...j(`listIncomingShares`,{params:{query:n.query}}),...t}),[200],Ot,!1,Q)}async function wr(e,t){let n=ue(t);return F(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/downloads`,{...j(`createDownload`,{params:{path:{workspaceId:n.workspaceId,itemId:n.itemId},query:n.versionId===void 0?{}:{versionId:n.versionId},header:{"Idempotency-Key":n.idempotencyKey,"Download-Method":n.method,...n.range===void 0?{}:{Range:n.range},...n.ifMatch===void 0?{}:{"If-Match":n.ifMatch},...n.ifNoneMatch===void 0?{}:{"If-None-Match":n.ifNoneMatch},...n.ifRange===void 0?{}:{"If-Range":n.ifRange}}}}),...t}),[200,202,304],(e,t)=>t===200?Rt(e):t===202?Bt(e):e===void 0,!1,br)}async function Tr(e,t){let n=ue(t),r=await wr(e,t);return r.status===202||r.status===304?r:bn(e,r.data,n.signal)}async function Er(e,t){return F(e,E(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current/sources`,{...j(`getCurrentWorkspaceSources`,{params:{}}),...t}),[200],It,!1,gr)}async function Dr(e,t){let n=se(t,!0);return F(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items`,{...j(`listWorkspaceItems`,{params:{path:{workspaceId:n.workspaceId},query:n.query}}),...t}),[200],e=>jt(e)&&e.items.length<=(n.query.limit??25)&&e.items.every((e,t,r)=>e.workspaceId===n.workspaceId&&e.lifecycleState===(n.query.view===`trash`?`trashed`:`active`)&&((n.query.view??`recent`)!==`recent`||e.modifiedAtEpochMilliseconds!==null)&&(n.query.kind===void 0||e.type===n.query.kind)&&(n.query.mediaTypes===void 0||e.type===`file`&&!!e.currentVersion&&n.query.mediaTypes.split(`,`).includes(e.currentVersion.mediaType))&&(n.query.creatorUserId===void 0||e.creatorUserId===n.query.creatorUserId)&&(t===0||((n.query.view??`recent`)===`recent`?r[t-1].modifiedAtEpochMilliseconds>e.modifiedAtEpochMilliseconds||r[t-1].modifiedAtEpochMilliseconds===e.modifiedAtEpochMilliseconds&&r[t-1].itemId<e.itemId:r[t-1].itemId<e.itemId))),!1,Q)}async function Or(e,t){let n=se(t,!1);return F(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/usage/current-user`,{...j(`getCurrentUserWorkspaceUsage`,{params:{path:{workspaceId:n.workspaceId}}}),...t}),[200],e=>kt(e)&&e.workspaceId===n.workspaceId,!1,Q)}async function kr(e,t){let n=se(t,!1);return F(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/usage`,{...j(`getWorkspaceUsage`,{params:{path:{workspaceId:n.workspaceId}}}),...t}),[200],e=>At(e)&&e.workspaceId===n.workspaceId,!1,Q)}async function Ar(e,t){return F(e,E(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current`,{...j(`getCurrentWorkspace`,{params:{}}),...t}),[200],Lt,!1,gr)}async function jr(e,t){return F(e,E(t).signal,null,(e,t)=>e.POST(`/api/v1/workspaces/current/organization-access`,{...j(`ensureOrganizationWorkspaceAccess`,{params:{}}),...t}),[200],e=>Lt(e)&&e.workspaceReference.type===`organization`,!1,gr)}async function Mr(e,t){let n=O(t);return F(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...j(`getItem`,{params:{path:A(n)}}),...t}),[200],(e,t,r)=>Wt(e,n.workspaceId,n.itemId)&&U(r,e.revision),!1,_r)}async function Nr(e,t){let n=de(t);return F(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/search`,{...j(`searchWorkspaceItems`,{params:{path:{workspaceId:n.workspaceId},query:{query:n.query,...n.limit===void 0?{}:{limit:n.limit},...n.cursor===void 0?{}:{cursor:n.cursor}}}}),...t}),[200],e=>Gt(e,n.workspaceId,n.query,n.limit??50),!1,Q)}async function Pr(e,t){let n=fe(t);return F(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...j(`listFolderChildren`,{params:{path:A(n),query:be(n)}}),...t}),[200],e=>Vt(e,n.workspaceId,n.itemId))}async function Fr(e,t){let n=pe(t);return F(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...j(`createFolder`,{params:{path:A(n),header:{"Idempotency-Key":n.idempotencyKey}},body:{name:n.name}}),...t}),[200,201],e=>Ht(e)&&e.workspaceId===n.workspaceId&&e.parentItemId===n.itemId&&e.kind===`folder`&&e.name===n.name)}async function Ir(e,t){let n=me(t);return F(e,n.signal,409,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...j(`updateItem`,{params:{path:A(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:{name:n.name,parentItemId:n.parentItemId}}),...t}),[200],(e,t,r)=>Ut(e,n.workspaceId,n.itemId,`active`)&&e.name===n.name&&e.parentItemId===n.parentItemId&&U(r,e.revision),!1,vr)}async function Lr(e,t){let n=k(t);return F(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/trash`,{...j(`trashItem`,{params:{path:A(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>Ut(e,n.workspaceId,n.itemId,`trashed`)&&U(r,e.revision),!1,vr)}async function Rr(e,t){let n=k(t);return F(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/restore`,{...j(`restoreItem`,{params:{path:A(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>Ut(e,n.workspaceId,n.itemId,`active`)&&U(r,e.revision),!1,vr)}async function zr(e,t){let n=k(t);return F(e,n.signal,409,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...j(`deleteItem`,{params:{path:A(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200,202],(e,t,r)=>Ut(e,n.workspaceId,n.itemId,`deleting`)&&U(r,e.revision),!1,vr)}async function Br(e,t){let n=fe(t);return F(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions`,{...j(`listItemVersions`,{params:{path:A(n),query:be(n)}}),...t}),[200],e=>Xt(e,n.limit??50),!1,yr)}async function Vr(e,t){let n=le(t);return F(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}`,{...j(`getItemVersion`,{params:{path:{...A(n),versionId:n.versionId}}}),...t}),[200],e=>rn(e,n.workspaceId,n.itemId,n.versionId),!1,yr)}async function Hr(e,t){let n=he(t);return F(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}/restore`,{...j(`restoreItemVersion`,{params:{path:{...A(n),versionId:n.versionId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>Zt(e,n.versionId)&&U(r,e.itemRevision),!1,vr)}async function Ur(e,t){let n=fe(t);return F(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...j(`listItemPermissions`,{params:{path:A(n),query:be(n)}}),...t}),[200],(e,t,r)=>Qt(e,r,n.itemId))}async function Wr(e,t){let n=O(t);return F(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/effective`,{...j(`readEffectiveItemPermissions`,{params:{path:A(n)}}),...t}),[200],e=>tn(e,n.itemId))}async function Gr(e,t,n=!1){let r=ge(t);return F(e,r.signal,412,(e,t)=>e.POST(n?`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/internal`:`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...j(n?`createInternalItemPermission`:`createItemPermission`,{params:{path:A(r),header:{"Idempotency-Key":r.idempotencyKey,"If-Match":r.ifMatch}},body:{grantee:r.grantee,actions:r.actions,expiresAtEpochMilliseconds:r.expiresAtEpochMilliseconds}}),...t}),[200,201],(e,t,n)=>en(e,r.itemId)&&(t===201&&e.outcome===`committed`||t===200&&e.outcome===`replayed`)&&(t===200||e.grant.availability!==`revoked`)&&sn(n))}async function Kr(e,t){let n=_e(t);return F(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing`,{...j(`registerItemRecipient`,{params:{path:A(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:{email:n.email,role:n.role,...n.expectedRecipientUserId===void 0?{}:{expectedRecipientUserId:n.expectedRecipientUserId}}}),...t}),[200,201],(e,t,r)=>en(e,n.itemId)&&(n.expectedRecipientUserId===void 0||e.grant.grantee.type===`user`&&e.grant.grantee.userId===n.expectedRecipientUserId)&&(t===201&&e.outcome===`committed`||t===200&&e.outcome===`replayed`)&&(t===200||e.grant.availability!==`revoked`)&&sn(r),!1,[...Q,`recipient_unavailable`,`registration_conflict`,`rate_limited`,`idempotency_conflict`,`invalid_idempotency_key`])}async function qr(e,t){let n=fe(t);return F(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing/people`,{...j(`listItemSharingPeople`,{params:{path:A(n),query:be(n)}}),...t}),[200],(e,t,r)=>$t(e,r,n.itemId))}async function Jr(e,t){let n=ye(t),r={};return n.actions!==void 0&&(r.actions=n.actions),n.expiresAtEpochMilliseconds!==void 0&&(r.expiresAtEpochMilliseconds=n.expiresAtEpochMilliseconds),F(e,n.signal,412,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...j(`updateItemPermission`,{params:{path:{...A(n),grantId:n.grantId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:r}),...t}),[200],(e,t,r)=>en(e,n.itemId,n.grantId)&&e.grant.availability!==`revoked`&&sn(r))}async function Yr(e,t,n=!1){let r=ve(t);return F(e,r.signal,412,(e,t)=>e.DELETE(n?`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/internal/{grantId}`:`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...j(n?`revokeInternalItemPermission`:`revokeItemPermission`,{params:{path:{...A(r),grantId:r.grantId},header:{"Idempotency-Key":r.idempotencyKey,"If-Match":r.ifMatch}}}),...t}),[200],(e,t,n)=>en(e,r.itemId,r.grantId)&&e.grant.availability===`revoked`&&p(n.get(`drive-permission-collection-etag`)??``)!==void 0&&n.get(`drive-permission-grant-etag`)===null)}const Xr=[`local`,`development`,`staging`,`production`],Zr=/^[A-Za-z0-9_-]{1,128}$/;function Qr(e){if(!e||!Xr.includes(e.environment))throw new a(`invalid_input`);let t=e.environment,n=Ye({baseUrl:e.baseUrl,getCredential:e.getProvisioningCredential,...e.fetch===void 0?{}:{fetch:e.fetch},...e.timeoutMilliseconds===void 0?{}:{timeoutMilliseconds:e.timeoutMilliseconds}});return Object.freeze({async provisionWorkspace(e,r){if(!$(e,[`version`,`environment`,`provisioningId`,`workspaceReference`,`entitlement`])||e.version!==1||e.environment!==t||typeof e.provisioningId!=`string`||!Zr.test(e.provisioningId)||!$r(e.workspaceReference)||!ei(e.entitlement))throw new a(`invalid_input`);let i={version:e.version,environment:e.environment,provisioningId:e.provisioningId,workspaceReference:{...e.workspaceReference},entitlement:{...e.entitlement}};return F(n,r?.signal,null,(e,t)=>e.POST(`/api/v1/platform/workspaces/provision`,{...t,redirect:`manual`,body:i}),[200,201],(e,t)=>ti(e,t,i),!1,[`authentication_required`,`permission_denied`,`idempotency_conflict`,`invalid_request`,`identity_authority_unavailable`,`service_unavailable`])}})}function $(e,t){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.keys(e).length===t.length&&t.every(t=>Object.hasOwn(e,t))}function $r(e){return $(e,[`type`,`userId`])&&e.type===`personal`&&typeof e.userId==`string`&&Zr.test(e.userId)||$(e,[`type`,`organizationId`])&&e.type===`organization`&&typeof e.organizationId==`string`&&Zr.test(e.organizationId)}function ei(e){return $(e,[`version`,`managedStorageEnabled`,`managedStorageByteLimit`])&&typeof e.version==`number`&&Number.isSafeInteger(e.version)&&e.version>=0&&typeof e.managedStorageByteLimit==`number`&&Number.isSafeInteger(e.managedStorageByteLimit)&&(e.managedStorageEnabled===!0&&e.managedStorageByteLimit>0||e.managedStorageEnabled===!1&&e.managedStorageByteLimit===0)}function ti(e,t,n){if(!$(e,[`outcome`,`workspace`])||(t===201?e.outcome!==`committed`:e.outcome!==`replayed`&&e.outcome!==`superseded`)||!$(e.workspace,[`workspaceId`,`rootVolumeId`,`rootItemId`,`workspaceReference`,`entitlement`]))return!1;let{entitlement:r,...i}=e.workspace;if(!Lt(i)||!ei(r))return!1;let a=i.workspaceReference,o=n.workspaceReference;return(a.type!==`personal`||o.type!==`personal`||a.userId!==o.userId)&&(a.type!==`organization`||o.type!==`organization`||a.organizationId!==o.organizationId)?!1:e.outcome===`superseded`?r.version>n.entitlement.version:r.version===n.entitlement.version&&r.managedStorageEnabled===n.entitlement.managedStorageEnabled&&r.managedStorageByteLimit===n.entitlement.managedStorageByteLimit}function ni(e){let t=qn(e);return{...Jn(Sr(t)),..._t(t)}}function ri(e){let t=e.credential,n=typeof t==`string`?async()=>t:t;return xr({baseUrl:e.baseUrl,...e.fetch===void 0?{}:{fetch:e.fetch},getCredential:n,...e.timeoutMilliseconds===void 0?{}:{timeoutMilliseconds:e.timeoutMilliseconds}})}export{tr as collectOwnedItems,ni as createDriveEditingServerClient,Qr as createDriveProvisioningClient,ri as createDriveServerClient,In as createDriveVisitorClient,zn as createVisitorSessionToken};
1
+ const e=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`recipient_unavailable`,`registration_conflict`,`rate_limited`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_pagination_cursor`,`invalid_idempotency_key`,`precondition_failed`,`range_not_satisfiable`,`idempotency_conflict`,`quota_exceeded`,`upload_recovery_required`,`service_unavailable`,`internal_error`]),t=Object.freeze([`upload_admission_saturated`,`upload_admission_stalled`,`ownership_unchanged`,`ownership_successor_not_member`,`ownership_restricted_items`,`ownership_subtree_too_large`,`external_sharing_disabled`,`transfer_operation_retired`,`transfer_operation_expired`,`transfer_operation_clock_skew`,`unspecified`]);function n(e){return typeof e==`string`&&t.includes(e)}const r=Object.freeze({authentication_required:`Authentication is required.`,identity_authority_unavailable:`Authentication is temporarily unavailable.`,recipient_unavailable:`The recipient is unavailable.`,registration_conflict:`The recipient could not be confirmed.`,rate_limited:`Too many requests.`,permission_denied:`The requested action is not permitted.`,resource_not_found:`The requested resource was not found.`,invalid_request:`The request is invalid.`,invalid_pagination_cursor:`The pagination cursor is invalid.`,invalid_idempotency_key:`The idempotency key is invalid.`,precondition_failed:`The request precondition failed.`,range_not_satisfiable:`The requested byte range is not satisfiable.`,idempotency_conflict:`The idempotency key conflicts with an earlier request.`,quota_exceeded:`The workspace storage quota would be exceeded.`,upload_recovery_required:`The upload requires recovery before it can continue.`,service_unavailable:`The service is temporarily unavailable.`,internal_error:`The request could not be completed.`}),i=Object.freeze({invalid_input:`The Drive SDK input is invalid.`,credential_unavailable:`A Drive credential could not be obtained.`,network_error:`The Drive request could not reach the service.`,timeout:`The Drive request timed out.`,aborted:`The Drive request was aborted.`,invalid_response:`Drive returned an invalid response.`});var a=class extends Error{code;status;requestId;details;constructor(e,t={}){super(e in r?r[e]:i[e]),this.name=`DriveError`,this.code=e,this.status=t.status??null,this.requestId=t.requestId??null,this.details=Object.freeze(n(t.reason)?{reason:t.reason}:{})}};const o=/^[A-Za-z0-9_-]{16,128}$/,s=/^"drive\.permission-collection\.v1\.(0|[1-9][0-9]*)"$/,c=/^"drive\.permission-grant\.v1\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)"$/,l=/^"drive\.permission-list\.v1\.[0-9a-f]{64}"$/,u=/^"drive\.item\.v1\.(0|[1-9][0-9]*)"$/;async function d(e,t,n,r,i,o,s){let c=te(e.headers.get(`x-request-id`));if(c===null)throw y(e),new a(`invalid_response`,{status:e.status});if(!r.includes(e.status))throw await g(e,c,t,n,o,s);if(e.status===304){let t=e.headers.get(`content-length`),n=e.headers.get(`etag`),r=e.status;if(e.body!==null||t!==null&&t!==`0`||e.headers.has(`content-type`)||n===null||!/^"[\x21\x23-\x7e]{1,1022}"$/.test(n)||!i(void 0,r,e.headers))throw y(e),new a(`invalid_response`,{status:r,requestId:c});return Object.freeze({data:void 0,status:r,requestId:c,validators:Object.freeze({etag:n})})}let{value:l}=await v(e,262144,e.status,c,t),u=e.status;if(!i(l,u,e.headers))throw new a(`invalid_response`,{status:u,requestId:c});return Object.freeze({data:l,status:u,requestId:c,validators:re(e.headers)})}async function f(e,t,n,r,i){let o=te(e.headers.get(`x-request-id`));if(o===null)throw y(e),new a(`invalid_response`,{status:e.status});if(!r.includes(e.status))throw await g(e,o,t,n,!1,i);let s=e.headers.get(`content-length`);if(e.body!==null||s!==null&&s!==`0`||e.headers.has(`content-type`))throw y(e),new a(`invalid_response`,{status:e.status,requestId:o});return Object.freeze({data:void 0,status:e.status,requestId:o,validators:Object.freeze({})})}function p(e){let t=s.exec(e);if(!t)return;let n=Number(t[1]);return Number.isSafeInteger(n)?n:void 0}function m(e){let t=c.exec(e);if(!t)return;let n=Number(t[1]),r=Number(t[2]);return Number.isSafeInteger(n)&&Number.isSafeInteger(r)?[n,r]:void 0}function h(e){let t=u.exec(e);if(!t)return;let n=Number(t[1]);return Number.isSafeInteger(n)?n:void 0}async function g(t,i,s,c,l,u){let d;try{d=await v(t,16384,t.status,i,s)}catch(e){return e instanceof a&&e.code===`aborted`?e:new a(`invalid_response`,{status:t.status,requestId:i})}let f=d.value;if(!b(f,[`error`])||!b(f.error,[`code`,`message`,`requestId`,`details`]))return new a(`invalid_response`,{status:t.status,requestId:i});let p=f.error,m=p.details,h=b(m,[`reason`])?m.reason:void 0;return typeof p.code!=`string`||!e.includes(p.code)||p.message!==r[p.code]||!o.test(String(p.requestId))||p.requestId!==i||!(b(m,[])||n(h))||!_(p.code,t.status,c,l,u)||d.text!==JSON.stringify(f)?new a(`invalid_response`,{status:t.status,requestId:i}):new a(p.code,{status:t.status,requestId:p.requestId,...n(h)?{reason:h}:{}})}function _(e,t,n,r,i){return i&&!i.includes(e)||e===`quota_exceeded`&&!r?!1:{authentication_required:[401],identity_authority_unavailable:[503],recipient_unavailable:[404],registration_conflict:[409],rate_limited:[429],permission_denied:[403],resource_not_found:[404],invalid_request:[422],invalid_pagination_cursor:[422],invalid_idempotency_key:[422],precondition_failed:n===null?[]:[n],range_not_satisfiable:[416],idempotency_conflict:[409],quota_exceeded:[409],upload_recovery_required:[409],service_unavailable:[503],internal_error:[500]}[e].includes(t)}async function v(e,t,n,r,i){if(!e.body)throw new a(`invalid_response`,{status:n,requestId:r});let o=e.body.getReader(),s=new TextDecoder(`utf-8`,{fatal:!0}),c=0,l=0,u=``,d=e.headers.get(`content-length`);if(d!==null&&(!/^(?:0|[1-9][0-9]*)$/.test(d)||Number(d)>t))throw o.cancel().catch(()=>{}),new a(`invalid_response`,{status:n,requestId:r});let f=new AbortController,p=setTimeout(()=>f.abort(),5e3);try{for(;;){if(i?.aborted)throw new a(`aborted`);let{done:e,value:d}=await ee(o,i,f.signal);if(e)break;if(l+=1,c+=d.byteLength,l>256||c>t)throw new a(`invalid_response`,{status:n,requestId:r});u+=s.decode(d,{stream:!0})}return u+=s.decode(),{value:JSON.parse(u),text:u}}catch(e){throw e instanceof a?e.code===`aborted`||i?.aborted?new a(`aborted`):e:new a(`invalid_response`,{status:n,requestId:r})}finally{clearTimeout(p),o.cancel().catch(()=>{})}}async function ee(e,t,n){if(t?.aborted)throw new a(`aborted`);if(n.aborted)throw new a(`invalid_response`);let r=()=>{},i=()=>{},o=new Promise((e,n)=>{if(!t)return;let i=()=>n(new a(`aborted`));t.addEventListener(`abort`,i,{once:!0}),r=()=>t.removeEventListener(`abort`,i)}),s=new Promise((e,t)=>{let r=()=>t(new a(`invalid_response`));n.addEventListener(`abort`,r,{once:!0}),i=()=>n.removeEventListener(`abort`,r)});try{return await Promise.race([e.read(),o,s])}finally{r(),i()}}function y(e){e.body?.cancel().catch(()=>{})}function te(e){return e!==null&&o.test(e)?e:null}const ne=/^"drive\.sharing-policy\.v1\.(0|[1-9][0-9]{0,15})"$/;function re(e){let t=e.get(`etag`),n=e.get(`drive-permission-collection-etag`),r=e.get(`drive-permission-grant-etag`);return Object.freeze({...t!==null&&(l.test(t)||ne.test(t)||h(t)!==void 0)?{etag:t}:{},...n!==null&&p(n)!==void 0?{permissionCollectionEtag:n}:{},...r!==null&&m(r)!==void 0?{permissionGrantEtag:r}:{}})}function b(e,t){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.keys(e).length===t.length&&t.every(t=>Object.hasOwn(e,t))}const x=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,ie=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,ae=/^drive\.grant\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,oe=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,S=/^drive\.cursor\.v1\.[A-Za-z0-9_-]+$/,se=/^[A-Za-z0-9_-]{1,128}$/,C=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),w=/^[A-Za-z0-9_-]{16,128}$/;function T(e){let t=M(j(e===void 0?{}:e,[],[`signal`]).signal);return t===void 0?{}:{signal:t}}function E(e){let t=j(e===void 0?{}:e,[],[`signal`,`limit`,`cursor`,`mediaTypes`]),n=M(t.signal),r=le(t.mediaTypes);if(t.limit!==void 0&&(typeof t.limit!=`number`||!Number.isInteger(t.limit)||t.limit<1||t.limit>50)||t.cursor!==void 0&&(typeof t.cursor!=`string`||t.cursor.length<1||t.cursor.length>2048||!/^[A-Za-z0-9_.-]+$/.test(t.cursor)))throw new a(`invalid_input`);return{signal:n,query:{...t.limit===void 0?{}:{limit:t.limit},...t.cursor===void 0?{}:{cursor:t.cursor},...r===void 0?{}:{mediaTypes:r}}}}function ce(e,t){let n=j(e,[`workspaceId`],t?[`signal`,`view`,`kind`,`creatorUserId`,`mediaTypes`,`limit`,`cursor`]:[`signal`]),r=M(n.signal),i=le(n.mediaTypes);if(i!==void 0&&n.kind===`folder`||typeof n.workspaceId!=`string`||!ie.test(n.workspaceId)||n.view!==void 0&&n.view!==`recent`&&n.view!==`shared`&&n.view!==`trash`||n.kind!==void 0&&n.kind!==`file`&&n.kind!==`folder`||n.creatorUserId!==void 0&&(typeof n.creatorUserId!=`string`||!se.test(n.creatorUserId))||n.limit!==void 0&&(typeof n.limit!=`number`||!Number.isInteger(n.limit)||n.limit<1||n.limit>50)||n.cursor!==void 0&&(typeof n.cursor!=`string`||n.cursor.length<1||n.cursor.length>2048||!/^[A-Za-z0-9_.-]+$/.test(n.cursor)))throw new a(`invalid_input`);return{workspaceId:n.workspaceId,signal:r,query:{...n.view===void 0?{}:{view:n.view},...n.kind===void 0?{}:{kind:n.kind},...n.creatorUserId===void 0?{}:{creatorUserId:n.creatorUserId},...i===void 0?{}:{mediaTypes:i},...n.limit===void 0?{}:{limit:n.limit},...n.cursor===void 0?{}:{cursor:n.cursor}}}}function le(e){if(e!==void 0&&(!Array.isArray(e)||e.length<1||e.length>32||new Set(e).size!==e.length||e.some(e=>typeof e!=`string`||!/^[a-z0-9][a-z0-9!#$&^_.+-]{0,63}\/[a-z0-9][a-z0-9!#$&^_.+-]{0,127}$/.test(e))||e.join(`,`).length>2048))throw new a(`invalid_input`);return e===void 0?void 0:[...e].sort().join(`,`)}function D(e){let t=j(e,[`workspaceId`,`itemId`],[`signal`]),n=t.workspaceId,r=t.itemId,i=M(t.signal);if(typeof n!=`string`||!ie.test(n)||typeof r!=`string`||!x.test(r))throw new a(`invalid_input`);return{workspaceId:n,itemId:r,...i===void 0?{}:{signal:i}}}function ue(e){let t=j(e,[`workspaceId`,`itemId`,`versionId`],[`signal`]),n=D({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!oe.test(t.versionId))throw new a(`invalid_input`);return{...n,versionId:t.versionId}}function de(e){let t=j(e,[`workspaceId`,`itemId`,`idempotencyKey`],[`versionId`,`method`,`range`,`ifMatch`,`ifNoneMatch`,`ifRange`,`signal`]),n=D({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),r=t.method??`GET`;if(!N(t.idempotencyKey)||t.versionId!==void 0&&(typeof t.versionId!=`string`||!oe.test(t.versionId))||r!==`GET`&&r!==`HEAD`||t.range!==void 0&&(typeof t.range!=`string`||t.range.length>128||!/^bytes=(?:[0-9]+-[0-9]*|-[0-9]+)$/.test(t.range))||!Ae(t.ifMatch)||!Ae(t.ifNoneMatch)||!Ae(t.ifRange))throw new a(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey,method:r,...t.versionId===void 0?{}:{versionId:t.versionId},...t.range===void 0?{}:{range:t.range},...t.ifMatch===void 0?{}:{ifMatch:t.ifMatch},...t.ifNoneMatch===void 0?{}:{ifNoneMatch:t.ifNoneMatch},...t.ifRange===void 0?{}:{ifRange:t.ifRange}}}function fe(e){let t=j(e,[`workspaceId`,`query`],[`limit`,`cursor`,`signal`]),n=M(t.signal);if(typeof t.workspaceId!=`string`||!ie.test(t.workspaceId)||!Te(t.query)||t.limit!==void 0&&(!ke(t.limit)||t.limit<1||t.limit>50)||t.cursor!==void 0&&(typeof t.cursor!=`string`||t.cursor.length>699||!S.test(t.cursor)))throw new a(`invalid_input`);return{workspaceId:t.workspaceId,query:t.query,...t.limit===void 0?{}:{limit:t.limit},...t.cursor===void 0?{}:{cursor:t.cursor},...n===void 0?{}:{signal:n}}}function pe(e){let t=j(e,[`workspaceId`,`itemId`],[`signal`,`limit`,`cursor`]),n=D({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),r=t.limit,i=t.cursor;if(r!==void 0&&(!Number.isSafeInteger(r)||typeof r!=`number`||r<1||r>50)||i!==void 0&&(typeof i!=`string`||i.length>699||!S.test(i)))throw new a(`invalid_input`);return{...n,...r===void 0?{}:{limit:r},...i===void 0?{}:{cursor:i}}}function me(e){let t=j(e,[`workspaceId`,`itemId`,`name`,`idempotencyKey`],[`signal`]),n=D({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!De(t.name)||!N(t.idempotencyKey))throw new a(`invalid_input`);return{...n,name:t.name,idempotencyKey:t.idempotencyKey}}function he(e){let t=j(e,[`workspaceId`,`itemId`,`name`,`parentItemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=O({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(!De(t.name)||typeof t.parentItemId!=`string`||!x.test(t.parentItemId))throw new a(`invalid_input`);return{...n,name:t.name,parentItemId:t.parentItemId}}function O(e){let t=j(e,[`workspaceId`,`itemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=D({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!N(t.idempotencyKey)||typeof t.ifMatch!=`string`||h(t.ifMatch)===void 0)throw new a(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch}}function ge(e){let t=j(e,[`workspaceId`,`itemId`,`versionId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=O({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!oe.test(t.versionId))throw new a(`invalid_input`);return{...n,versionId:t.versionId}}function _e(e){let t=j(e,[`workspaceId`,`itemId`,`grantee`,`actions`,`expiresAtEpochMilliseconds`,`ifMatch`,`idempotencyKey`],[`signal`]),n=D({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),r=Se(t.grantee),i=Ce(t.actions),o=t.expiresAtEpochMilliseconds;if(!Ee(o)||typeof t.ifMatch!=`string`||p(t.ifMatch)===void 0||!N(t.idempotencyKey))throw new a(`invalid_input`);return{...n,grantee:r,actions:i,expiresAtEpochMilliseconds:o,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function ve(e){let t=j(e,[`workspaceId`,`itemId`,`email`,`role`,`ifMatch`,`idempotencyKey`],[`signal`,`expectedRecipientUserId`]),n=D({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.email!=`string`||t.email.length<3||t.email.length>320||t.role!==`viewer`&&t.role!==`editor`||typeof t.ifMatch!=`string`||p(t.ifMatch)===void 0||!N(t.idempotencyKey))throw new a(`invalid_input`);let r=t.email.trim().toLowerCase(),i=t.expectedRecipientUserId;if(i!==void 0&&(typeof i!=`string`||i.length<1||i.length>128||/[^A-Za-z0-9_-]/.test(i))||!r.includes(`@`)||/\s/.test(r)||new TextEncoder().encode(r).byteLength>320)throw new a(`invalid_input`);return{...n,email:r,expectedRecipientUserId:i,role:t.role,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function ye(e){let t=j(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`]),n=D({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.grantId!=`string`||!ae.test(t.grantId)||typeof t.ifMatch!=`string`||m(t.ifMatch)===void 0||!N(t.idempotencyKey))throw new a(`invalid_input`);return{...n,grantId:t.grantId,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function be(e){let t=j(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`,`actions`,`expiresAtEpochMilliseconds`]),n=ye({workspaceId:t.workspaceId,itemId:t.itemId,grantId:t.grantId,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey,...t.signal===void 0?{}:{signal:t.signal}}),r=t.actions===void 0?void 0:Ce(t.actions),i=t.expiresAtEpochMilliseconds;if(r===void 0&&i===void 0||i!==void 0&&!Ee(i))throw new a(`invalid_input`);return{...n,...r===void 0?{}:{actions:r},...i===void 0?{}:{expiresAtEpochMilliseconds:i}}}function k(e){return{workspaceId:e.workspaceId,itemId:e.itemId}}function xe(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor===void 0?{}:{cursor:e.cursor}}}function A(e,t){return t}function j(e,t,n){try{if(typeof e!=`object`&&typeof e!=`function`||e===null||Array.isArray(e))throw new a(`invalid_input`);let r=Object.getOwnPropertyDescriptors(e),i=Reflect.ownKeys(r),o=new Set([...t,...n]);if(i.some(e=>typeof e!=`string`||!o.has(e))||t.some(e=>!Object.hasOwn(r,e)))throw new a(`invalid_input`);let s={};for(let e of i){if(typeof e!=`string`)throw new a(`invalid_input`);let t=r[e];if(!t||!(`value`in t)||!t.enumerable)throw new a(`invalid_input`);s[e]=t.value}return s}catch(e){throw e instanceof a?e:new a(`invalid_input`)}}function M(e){if(e!==void 0){if(!(e instanceof AbortSignal))throw new a(`invalid_input`);return e}}function Se(e){let t=j(e,[`type`],[`userId`,`teamId`]);if(t.type===`user`){let t=j(e,[`type`,`userId`],[]);if(typeof t.userId==`string`&&se.test(t.userId))return{type:`user`,userId:t.userId}}if(t.type===`team`){let t=j(e,[`type`,`teamId`],[]);if(typeof t.teamId==`string`&&se.test(t.teamId))return{type:`team`,teamId:t.teamId}}throw new a(`invalid_input`)}function Ce(e){let t=we(e);if(t.length<1||t.length>C.length||new Set(t).size!==t.length||!t.every(e=>C.includes(e)))throw new a(`invalid_input`);return t}function we(e){try{if(!Array.isArray(e))throw new a(`invalid_input`);let t=Object.getOwnPropertyDescriptors(e);if(Reflect.ownKeys(t).some(e=>typeof e!=`string`))throw new a(`invalid_input`);let n=[];for(let r=0;r<e.length;r+=1){let e=t[String(r)];if(!e||!(`value`in e)||!e.enumerable)throw new a(`invalid_input`);n.push(e.value)}if(Reflect.ownKeys(t).length!==e.length+1)throw new a(`invalid_input`);return n}catch(e){throw e instanceof a?e:new a(`invalid_input`)}}function N(e){return typeof e==`string`&&w.test(e)}function Te(e){if(typeof e!=`string`||e.length===0)return!1;try{if(e.normalize(`NFC`)!==e)return!1;let t=0,n=0;for(let r of e){let e=r.codePointAt(0);if(e===void 0||e<=31||e>=127&&e<=159||e===8232||e===8233||e>=55296&&e<=57343||(t+=1,n+=e<=127?1:e<=2047?2:e<=65535?3:4,t>64||n>255))return!1}return!0}catch{return!1}}function Ee(e){return e===null||ke(e)}function De(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||Oe(e))return!1;let t=0,n=0;for(let r of e){let e=r.codePointAt(0);if(e===void 0||e===47||e===92||e<=31||e>=127&&e<=159||e===8232||e===8233||e>=55296&&e<=57343||(t+=1,n+=e<=127?1:e<=2047?2:e<=65535?3:4,t>255||n>255))return!1}return!0}function Oe(e){let t=e.split(`.`,1)[0].toUpperCase();return e===`.`||e===`..`||[`CON`,`PRN`,`AUX`,`NUL`,`CLOCK$`,`CONIN$`,`CONOUT$`].includes(t)||/^COM[1-9]$/.test(t)||/^LPT[1-9]$/.test(t)}function ke(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function Ae(e){return e===void 0||typeof e==`string`&&e.length<=8192&&!e.split(``).some(e=>{let t=e.charCodeAt(0);return t<=31||t===127})}const je=/\{[^{}]+\}/g,Me=()=>typeof process==`object`&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function Ne(){return Math.random().toString(36).slice(2,11)}function Pe(e){let{baseUrl:t=``,Request:n=globalThis.Request,fetch:r=globalThis.fetch,querySerializer:i,bodySerializer:a,pathSerializer:o,headers:s,requestInitExt:c=void 0,...l}={...e};c=Me()?c:void 0,t=Ue(t);let u=[];async function d(e,d){let{baseUrl:f,fetch:p=r,Request:m=n,headers:h,params:g={},parseAs:_=`json`,querySerializer:v,bodySerializer:ee=a??Be,pathSerializer:y,body:te,middleware:ne=[],...re}=d||{},b=t;f&&(b=Ue(f)??t);let x=typeof i==`function`?i:Re(i);v&&(x=typeof v==`function`?v:Re({...typeof i==`object`?i:{},...v}));let ie=y||o||ze,ae=te===void 0?void 0:ee(te,He(s,h,g.header)),oe=He(ae===void 0||ae instanceof FormData?{}:{"Content-Type":`application/json`},s,h,g.header),S=[...u,...ne],se={redirect:`follow`,...l,...re,body:ae,headers:oe},C,w,T=new m(Ve(e,{baseUrl:b,params:g,querySerializer:x,pathSerializer:ie}),se),E;for(let e in re)e in T||(T[e]=re[e]);if(S.length){C=Ne(),w=Object.freeze({baseUrl:b,fetch:p,parseAs:_,querySerializer:x,bodySerializer:ee,pathSerializer:ie});for(let t of S)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){let n=await t.onRequest({request:T,schemaPath:e,params:g,options:w,id:C});if(n)if(n instanceof m)T=n;else if(n instanceof Response){E=n;break}else throw Error(`onRequest: must return new Request() or Response() when modifying the request`)}}if(!E){try{E=await p(T,c)}catch(t){let n=t;if(S.length)for(let t=S.length-1;t>=0;t--){let r=S[t];if(r&&typeof r==`object`&&typeof r.onError==`function`){let t=await r.onError({request:T,error:n,schemaPath:e,params:g,options:w,id:C});if(t){if(t instanceof Response){n=void 0,E=t;break}if(t instanceof Error){n=t;continue}throw Error(`onError: must return new Response() or instance of Error`)}}}if(n)throw n}if(S.length)for(let t=S.length-1;t>=0;t--){let n=S[t];if(n&&typeof n==`object`&&typeof n.onResponse==`function`){let t=await n.onResponse({request:T,response:E,schemaPath:e,params:g,options:w,id:C});if(t){if(!(t instanceof Response))throw Error(`onResponse: must return new Response() when modifying the response`);E=t}}}}let ce=E.headers.get(`Content-Length`);if(E.status===204||T.method===`HEAD`||ce===`0`&&!E.headers.get(`Transfer-Encoding`)?.includes(`chunked`))return E.ok?{data:void 0,response:E}:{error:void 0,response:E};if(E.ok)return{data:await(async()=>{if(_===`stream`)return E.body;if(_===`json`&&!ce){let e=await E.text();return e?JSON.parse(e):void 0}return await E[_]()})(),response:E};let le=await E.text();try{le=JSON.parse(le)}catch{}return{error:le,response:E}}return{request(e,t,n){return d(t,{...n,method:e.toUpperCase()})},GET(e,t){return d(e,{...t,method:`GET`})},PUT(e,t){return d(e,{...t,method:`PUT`})},POST(e,t){return d(e,{...t,method:`POST`})},DELETE(e,t){return d(e,{...t,method:`DELETE`})},OPTIONS(e,t){return d(e,{...t,method:`OPTIONS`})},HEAD(e,t){return d(e,{...t,method:`HEAD`})},PATCH(e,t){return d(e,{...t,method:`PATCH`})},TRACE(e,t){return d(e,{...t,method:`TRACE`})},use(...e){for(let t of e)if(t){if(typeof t!=`object`||!(`onRequest`in t||`onResponse`in t||`onError`in t))throw Error("Middleware must be an object with one of `onRequest()`, `onResponse() or `onError()`");u.push(t)}},eject(...e){for(let t of e){let e=u.indexOf(t);e!==-1&&u.splice(e,1)}}}}function Fe(e,t,n){if(t==null)return``;if(typeof t==`object`)throw Error("Deeply-nested arrays/objects aren’t supported. Provide your own `querySerializer()` to handle these.");return`${e}=${n?.allowReserved===!0?t:encodeURIComponent(t)}`}function Ie(e,t,n){if(!t||typeof t!=`object`)return``;let r=[],i={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`;if(n.style!==`deepObject`&&n.explode===!1){for(let e in t)r.push(e,n.allowReserved===!0?t[e]:encodeURIComponent(t[e]));let i=r.join(`,`);switch(n.style){case`form`:return`${e}=${i}`;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return i}}for(let i in t){let a=n.style===`deepObject`?`${e}[${i}]`:i;r.push(Fe(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function Le(e,t,n){if(!Array.isArray(t))return``;if(n.explode===!1){let r={form:`,`,spaceDelimited:`%20`,pipeDelimited:`|`}[n.style]||`,`,i=(n.allowReserved===!0?t:t.map(e=>encodeURIComponent(e))).join(r);switch(n.style){case`simple`:return i;case`label`:return`.${i}`;case`matrix`:return`;${e}=${i}`;default:return`${e}=${i}`}}let r={simple:`,`,label:`.`,matrix:`;`}[n.style]||`&`,i=[];for(let r of t)n.style===`simple`||n.style===`label`?i.push(n.allowReserved===!0?r:encodeURIComponent(r)):i.push(Fe(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function Re(e){return function(t){let n=[];if(t&&typeof t==`object`)for(let r in t){let i=t[r];if(i!=null){if(Array.isArray(i)){if(i.length===0)continue;n.push(Le(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(Ie(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(Fe(r,i,e))}}return n.join(`&`)}}function ze(e,t){let n=e;for(let r of e.match(je)??[]){let e=r.substring(1,r.length-1),i=!1,a=`simple`;if(e.endsWith(`*`)&&(i=!0,e=e.substring(0,e.length-1)),e.startsWith(`.`)?(a=`label`,e=e.substring(1)):e.startsWith(`;`)&&(a=`matrix`,e=e.substring(1)),!t||t[e]===void 0||t[e]===null)continue;let o=t[e];if(Array.isArray(o)){n=n.replace(r,Le(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,Ie(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${Fe(e,o)}`);continue}n=n.replace(r,a===`label`?`.${encodeURIComponent(o)}`:encodeURIComponent(o))}return n}function Be(e,t){return e instanceof FormData?e:t&&(t.get instanceof Function?t.get(`Content-Type`)??t.get(`content-type`):t[`Content-Type`]??t[`content-type`])===`application/x-www-form-urlencoded`?new URLSearchParams(e).toString():JSON.stringify(e)}function Ve(e,t){let n=`${t.baseUrl}${e}`;t.params?.path&&(n=t.pathSerializer(n,t.params.path));let r=t.querySerializer(t.params.query??{});return r.startsWith(`?`)&&(r=r.substring(1)),r&&(n+=`?${r}`),n}function He(...e){let t=new Headers;for(let n of e){if(!n||typeof n!=`object`)continue;let e=n instanceof Headers?n.entries():Object.entries(n);for(let[n,r]of e)if(r===null)t.delete(n);else if(Array.isArray(r))for(let e of r)t.append(n,e);else r!==void 0&&t.set(n,r)}return t}function Ue(e){return e.endsWith(`/`)?e.substring(0,e.length-1):e}String.fromCharCode;const We=/\/$|\/\?|\/#/,Ge=/^\.?\//;function Ke(e=``,t){return t?We.test(e):e.endsWith(`/`)}function qe(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(Ke(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function Je(e){return e&&e!==`/`}function Ye(e,...t){let n=e||``;for(let e of t.filter(e=>Je(e)))if(n){let t=e.replace(Ge,``);n=qe(n)+t}else n=e;return n}function Xe(e){let t;try{t=Object.freeze({baseUrl:$e(e.baseUrl),fetchImplementation:e.fetch??globalThis.fetch.bind(globalThis),getCredential:e.getCredential,timeoutMilliseconds:Ze(e.timeoutMilliseconds)})}catch{throw new a(`invalid_input`)}if(typeof t.fetchImplementation!=`function`||typeof t.getCredential!=`function`)throw new a(`invalid_input`);return t}async function P(e,t,n,r,i,o,s=!1,c){let l=Qe(t,e.timeoutMilliseconds);try{let t=l.signal;tt(t);let u=await et(e.getCredential,t),p;if(await r(Pe({baseUrl:e.baseUrl,fetch:async n=>{try{let r=await nt(e.fetchImplementation(n),t);if(!(r instanceof Response))throw new a(`invalid_response`);p=r}catch(e){throw e instanceof a?e:t.aborted?new a(`aborted`):new a(`network_error`)}return new Response(null,{status:204})}}),{referrerPolicy:`no-referrer`,redirect:`manual`,cache:`no-store`,credentials:`omit`,headers:new Headers({authorization:`${e.authorizationScheme??`Bearer`} ${u}`,...e.editingAudience?{"editing-audience":e.editingAudience}:{}}),signal:t}),!p)throw new a(`network_error`);return o===null?await f(p,t,n,i,c):await d(p,t,n,i,o,s,c)}catch(e){throw l.didTimeout()?new a(`timeout`):e instanceof a?e:l.signal.aborted?new a(`aborted`):new a(`network_error`)}finally{l.dispose()}}function Ze(e){if(e===void 0)return 3e4;if(!Number.isSafeInteger(e)||e<1||e>12e4)throw new a(`invalid_input`);return e}function Qe(e,t){let n=new AbortController,r=!1,i=()=>n.abort();e?.aborted?n.abort():e?.addEventListener(`abort`,i,{once:!0});let a=setTimeout(()=>{r=!0,n.abort()},t);return{signal:n.signal,didTimeout:()=>r,dispose:()=>{clearTimeout(a),e?.removeEventListener(`abort`,i)}}}function $e(e){if(typeof e!=`string`)throw TypeError(`Drive base URL is invalid`);let t;try{t=new URL(e)}catch{throw TypeError(`Drive base URL is invalid`)}let n=t.protocol===`http:`&&[`localhost`,`127.0.0.1`,`[::1]`].includes(t.hostname);if(t.protocol!==`https:`&&!n||t.username||t.password||t.search||t.hash||!t.host)throw TypeError(`Drive base URL is invalid`);return Ye(t.origin,t.pathname)}async function et(e,t){tt(t);let n;try{n=await nt(e({signal:t}),t)}catch(e){throw e instanceof a&&e.code===`aborted`?e:t.aborted?new a(`aborted`):new a(`credential_unavailable`)}if(typeof n!=`string`||n.length<1||n.length>16384||!/^[\x21-\x7e]+$/.test(n))throw new a(`credential_unavailable`);return n}function tt(e){if(e.aborted)throw new a(`aborted`)}async function nt(e,t){t.aborted&&e.catch(()=>{}),tt(t);let n=()=>{},r=new Promise((e,r)=>{let i=()=>r(new a(`aborted`));t.addEventListener(`abort`,i,{once:!0}),n=()=>t.removeEventListener(`abort`,i)});try{return await Promise.race([e,r])}finally{n()}}const rt=`[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}`,it=RegExp(`^drive\\.workspace\\.${rt}$`),at=RegExp(`^drive\\.item\\.${rt}$`),ot=RegExp(`^drive\\.version\\.${rt}$`),st=RegExp(`^drive\\.transfer\\.${rt}$`),ct=/^[A-Za-z0-9_-]{16,128}$/,lt=/^vt1_[0-9]{13}_[0-9a-f]{32}$(?![\s\S])/,ut=/^[0-9a-f]{64}$/,dt=/^"[\x21\x23-\x7e]{1,1022}"$/;function F(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function I(e,t){return typeof e==`string`&&t.test(e)}function ft(e){return I(e.transferId,st)&&I(e.itemId,at)&&I(e.versionId,ot)}function L(e,t=2**53-1){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0&&e<=t}function pt(e){if(!F(e)||e.outcome!==`admitted`||!ft(e)||!L(e.expiresAt))return!1;let t=e.capability;if(!F(t)||t.outcome!==`presigned`||t.method!==`PUT`||typeof t.url!=`string`||t.url.length>8192||!F(t.headers)||!L(t.expiresInSeconds,300)||t.expiresInSeconds<1)return!1;let n=t.headers,r=[`x-amz-checksum-sha256`,`content-type`,`cache-control`,`if-none-match`],i=[`x-amz-server-side-encryption-customer-algorithm`,`x-amz-server-side-encryption-customer-key`,`x-amz-server-side-encryption-customer-key-md5`],a=Object.keys(n),o=i.some(e=>Object.hasOwn(n,e)),s=o?[...r,...i]:r;if(a.length!==s.length||!s.every(e=>Object.hasOwn(n,e))||!a.every(e=>s.includes(e))||!Object.values(n).every(e=>typeof e==`string`&&e.length<=4096&&!/[\r\n]/.test(e))||typeof n[`x-amz-checksum-sha256`]!=`string`||!/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/.test(n[`x-amz-checksum-sha256`])||typeof n[`content-type`]!=`string`||!/^[a-z0-9][a-z0-9!#$&^_.+-]*\/[a-z0-9][a-z0-9!#$&^_.+-]*$/.test(n[`content-type`])||n[`cache-control`]!==`no-store, no-transform`||n[`if-none-match`]!==`*`)return!1;try{let r=new URL(t.url),a=r.searchParams.get(`X-Amz-SignedHeaders`)?.split(`;`)??[];return r.username||r.password||r.hash||!r.host||r.protocol!==`https:`&&!(r.protocol===`http:`&&[`localhost`,`127.0.0.1`,`[::1]`].includes(r.hostname))||!/^[0-9a-f]{64}$/.test(r.searchParams.get(`X-Amz-Signature`)??``)||![`host`,`content-length`,...s].every(e=>a.includes(e))||a.length!==s.length+2||new Set(a).size!==a.length||a.some(e=>![`host`,`content-length`,...s].includes(e))||o&&(r.protocol!==`https:`||n[i[0]]!==`AES256`||typeof n[i[1]]!=`string`||!/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/.test(n[i[1]])||typeof n[i[2]]!=`string`||!/^[A-Za-z0-9+/]{21}[AQgw]==$/.test(n[i[2]]))?!1:(Object.freeze(n),Object.freeze(t),Object.freeze(e),!0)}catch{return!1}}function mt(e,t){return pt(e)||F(e)&&(e.outcome===`recovery_required`&&I(e.transferId,st)||e.outcome===`published`&&typeof e.transferId==`string`&&ht(e,t,e.transferId))}function ht(e,t,n){if(!F(e)||e.outcome!==`published`||e.workspaceId!==t||e.transferId!==n||!ft(e)||!L(e.byteLength,1073741824)||!I(e.sha256,ut)||typeof e.mediaType!=`string`||e.mediaType.length>255||![`ordinary`,`opaque-encrypted`].includes(String(e.protectionClassification))||!I(e.etag,dt)||!F(e.item))return!1;let r=e.item,i=(r.name===null||typeof r.name==`string`&&r.name.length<=255)&&L(r.revision)&&r.revision>0&&(r.parentItemId===null||I(r.parentItemId,at))&&[`workspace`,`restricted`].includes(String(r.visibility))&&[r.creatorUserId,r.ownerUserId].every(e=>e===null||typeof e==`string`&&/^[A-Za-z0-9_-]{1,128}$/.test(e));return i&&(Object.freeze(r),Object.freeze(e)),i}function gt(e,t){let n=j(e,[`workspaceId`,`transferId`,`idempotencyKey`],t?[`signal`,`etag`]:[`signal`]);if(!I(n.workspaceId,it)||!I(n.transferId,st)||!I(n.idempotencyKey,ct)||t&&n.etag!==void 0&&!I(n.etag,dt))throw new a(`invalid_input`);return{workspaceId:n.workspaceId,transferId:n.transferId,idempotencyKey:n.idempotencyKey,etag:typeof n.etag==`string`?n.etag:void 0,signal:M(n.signal)}}function _t(e){let t=j(e,[`workspaceId`,`target`,`byteLength`,`sha256`,`mediaType`,`protectionClassification`,`idempotencyKey`],[`signal`]),n=j(t.target,[`type`],[`parentItemId`,`name`,`itemId`,`currentVersionId`]);if(!I(t.workspaceId,it)||!L(t.byteLength,1073741824)||!I(t.sha256,ut)||!I(t.idempotencyKey,lt)||typeof t.mediaType!=`string`||!/^[a-z0-9][a-z0-9!#$&^_.+-]*\/[a-z0-9][a-z0-9!#$&^_.+-]*$(?![\s\S])/.test(t.mediaType)||t.mediaType.length>255||![`ordinary`,`opaque-encrypted`].includes(String(t.protectionClassification)))throw new a(`invalid_input`);let r;if(n.type===`create`&&I(n.parentItemId,at)&&typeof n.name==`string`&&n.name.length>0&&new TextEncoder().encode(n.name).length<=255&&!Array.from(n.name).some(e=>{let t=e.charCodeAt(0);return t<32||t===127||e===`/`||e===`\\`})&&n.name!==`.`&&n.name!==`..`&&n.itemId===void 0&&n.currentVersionId===void 0)r={type:`create`,parentItemId:n.parentItemId,name:n.name};else if(n.type===`replace`&&I(n.itemId,at)&&I(n.currentVersionId,ot)&&n.parentItemId===void 0&&n.name===void 0)r={type:`replace`,itemId:n.itemId,currentVersionId:n.currentVersionId};else throw new a(`invalid_input`);let i={workspaceId:t.workspaceId,target:r,byteLength:t.byteLength,sha256:t.sha256,mediaType:t.mediaType,protectionClassification:t.protectionClassification===`ordinary`?`ordinary`:`opaque-encrypted`,idempotencyKey:t.idempotencyKey},o=M(t.signal);return{...i,...o===void 0?{}:{signal:o}}}function vt(e){return{async prepareVerifiedTransfer(t){let{signal:n,...r}=_t(t);return P(e,n,409,(e,t)=>e.POST(`/api/v1/transfers`,{...t,body:r}),[200],e=>mt(e,r.workspaceId))},async publishVerifiedTransfer(t){let n=gt(t,!0);return P(e,n.signal,null,(e,t)=>e.POST(`/api/v1/transfers/{transferId}/publish`,{...t,params:{path:{transferId:n.transferId}},body:{workspaceId:n.workspaceId,idempotencyKey:n.idempotencyKey,...n.etag===void 0?{}:{etag:n.etag}}}),[200],e=>ht(e,n.workspaceId,n.transferId))},async recoverVerifiedTransfer(t){let n=gt(t,!1);return P(e,n.signal,null,(e,t)=>e.POST(`/api/v1/transfers/{transferId}/recover`,{...t,params:{path:{transferId:n.transferId}},body:{workspaceId:n.workspaceId,idempotencyKey:n.idempotencyKey}}),[200],e=>pt(e)&&e.transferId===n.transferId)}}}const R=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,z=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,B=/^drive\.volume\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,yt=/^drive\.grant\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,bt=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,xt=/^drive\.retrieval\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,St=/^drive\.cursor\.v1\.[A-Za-z0-9_-]+$/,V=/^[A-Za-z0-9_-]{1,128}$/,Ct=/^"drive\.permission-grant\.v1\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)"$/,wt=/^"drive\.permission-list\.v1\.[0-9a-f]{64}"$/,Tt=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),Et=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:manage`,`items:permissions:read`,`items:update`]),Dt=/^sha256:[0-9a-f]{64}$/,Ot=new TextEncoder;function kt(e){if(!K(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>50||e.nextCursor!==null&&(typeof e.nextCursor!=`string`||e.nextCursor.length<1||e.nextCursor.length>2048||!/^[A-Za-z0-9_.-]+$/.test(e.nextCursor))||e.items.length===0&&e.nextCursor!==null)return!1;let t=``;for(let n of e.items){if(!K(n,[`workspaceId`,`itemId`])||typeof n.workspaceId!=`string`||!z.test(n.workspaceId)||typeof n.itemId!=`string`||!R.test(n.itemId))return!1;let e=`${n.workspaceId}/${n.itemId}`;if(t&&t>=e)return!1;t=e}return!0}function At(e){return K(e,[`workspaceId`,`provider`,`usedBytes`,`fileCount`,`limitBytes`,`quotaScope`,`accounting`])&&typeof e.workspaceId==`string`&&z.test(e.workspaceId)&&e.provider===`managed`&&e.accounting===`owned-current-versions`&&(e.quotaScope===`personal`||e.quotaScope===`organization`)&&typeof e.fileCount==`number`&&Number.isSafeInteger(e.fileCount)&&e.fileCount>=0&&e.fileCount<=4096&&[e.usedBytes,e.limitBytes].every(e=>typeof e==`string`&&/^(0|[1-9][0-9]{0,18})$/.test(e))}function jt(e){if(!K(e,[`workspaceId`,`provider`,`usedBytes`,`reservedBytes`,`limitBytes`,`availableBytes`,`accounting`,`reservedBytesIncludeUnresolvedUploads`,`unresolvedReservedBytes`,`warnings`])||typeof e.workspaceId!=`string`||!z.test(e.workspaceId)||e.provider!==`managed`||e.accounting!==`retained-versions-and-reservations`||e.reservedBytesIncludeUnresolvedUploads!==!0||!Array.isArray(e.warnings)||e.warnings.length>1||e.warnings.some(e=>e!==`unresolved-archive-ownership`)||![e.usedBytes,e.reservedBytes,e.limitBytes,e.availableBytes,e.unresolvedReservedBytes].every(e=>typeof e==`string`&&/^(0|[1-9][0-9]{0,18})$/.test(e)))return!1;let t=BigInt(e.limitBytes)-BigInt(e.usedBytes)-BigInt(e.reservedBytes),n=BigInt(e.availableBytes)===(t>0n?t:0n)&&BigInt(e.unresolvedReservedBytes)<=BigInt(e.reservedBytes)&&(e.unresolvedReservedBytes===`0`||e.warnings.length===1);return n&&Object.freeze(e.warnings),n}function Mt(e){if(!K(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>50||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length>0&&e.nextCursor.length<=2048&&/^[A-Za-z0-9_.-]+$/.test(e.nextCursor))||e.items.length===0&&e.nextCursor!==null)return!1;let t=new Set,n=e.items.every(e=>{if(!K(e,[`workspaceId`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`,`volumeId`,`provider`,`createdAtEpochMilliseconds`,`modifiedAtEpochMilliseconds`,`creatorUserId`,`etag`,`trashedAtEpochMilliseconds`,`purgeAfterEpochMilliseconds`])||e.lifecycleState!==`active`&&e.lifecycleState!==`trashed`||typeof e.volumeId!=`string`||!B.test(e.volumeId)||e.provider!==`managed`||e.creatorUserId!==null&&(typeof e.creatorUserId!=`string`||!V.test(e.creatorUserId))||![e.createdAtEpochMilliseconds,e.modifiedAtEpochMilliseconds,e.trashedAtEpochMilliseconds,e.purgeAfterEpochMilliseconds].every(e=>e===null||G(e)))return!1;let n={workspaceId:e.workspaceId,itemId:e.itemId,parentId:e.parentId,type:e.type,name:e.name,lifecycleState:`active`,revision:e.revision,currentVersion:e.currentVersion};return typeof n.workspaceId!=`string`||!z.test(n.workspaceId)||typeof n.itemId!=`string`||!R.test(n.itemId)||n.parentId===null||n.parentId===n.itemId||!Wt(n,n.workspaceId,n.itemId)||e.etag!==`"drive.item.v1.${n.revision}"`||t.has(n.itemId)||(e.lifecycleState===`active`?e.trashedAtEpochMilliseconds!==null||e.purgeAfterEpochMilliseconds!==null:!G(e.trashedAtEpochMilliseconds)||!G(e.purgeAfterEpochMilliseconds)||e.purgeAfterEpochMilliseconds<=e.trashedAtEpochMilliseconds)?!1:(t.add(n.itemId),!0)});if(n){for(let t of e.items)Object.freeze(t);Object.freeze(e.items),Object.freeze(e)}return n}const Nt=[`ownerUserId`,`ownership`,`visibility`,`archived`,`activeVisitorGrantCount`];function Pt(e,t,n){if(!K(e,[`items`,`nextCursor`])||!Array.isArray(e.items))return!1;let r=[],i=``;for(let a of e.items){if(!a||typeof a!=`object`||Array.isArray(a))return!1;let e=a,{ownerUserId:o,ownership:s,visibility:c,archived:l,activeVisitorGrantCount:u,...d}=e;if(!Nt.every(t=>Object.hasOwn(e,t))||o!==t||s!==`assigned`&&s!==`creator`||s===`creator`&&d.creatorUserId!==t||c!==`workspace`&&c!==`restricted`||typeof l!=`boolean`||n===`active`&&l||!G(u)||d.lifecycleState!==n||typeof d.itemId!=`string`||d.itemId<=i)return!1;i=d.itemId,r.push(d)}if(!Mt({items:r,nextCursor:e.nextCursor}))return!1;for(let t of e.items)Object.freeze(t);return Object.freeze(e.items),Object.freeze(e),!0}function Ft(e,t,n,r){return!K(e,[`workspaceId`,`volumeId`,`itemId`,`kind`,`revision`,`previousOwnerUserId`,`ownerUserId`,`transferredItemCount`,`revokedVisitorGrantCount`])||e.workspaceId!==t||e.itemId!==n||typeof e.volumeId!=`string`||!B.test(e.volumeId)||e.kind!==`file`&&e.kind!==`folder`||!G(e.revision)||e.revision<1||e.previousOwnerUserId!==null&&(typeof e.previousOwnerUserId!=`string`||!V.test(e.previousOwnerUserId))||e.previousOwnerUserId===r||e.ownerUserId!==r||!G(e.transferredItemCount)||e.transferredItemCount<1||!G(e.revokedVisitorGrantCount)?!1:(Object.freeze(e),!0)}function It(e,t,n){return!K(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`state`,`revision`,`trashedAtEpochMilliseconds`,`purgeAfterEpochMilliseconds`,`retentionHold`])||e.workspaceId!==t||e.itemId!==n||typeof e.volumeId!=`string`||!B.test(e.volumeId)||typeof e.parentItemId!=`string`||!R.test(e.parentItemId)||e.parentItemId===n||e.kind!==`file`&&e.kind!==`folder`||!W(e.name)||e.state!==`trashed`||!G(e.revision)||e.revision<1||!G(e.trashedAtEpochMilliseconds)||!G(e.purgeAfterEpochMilliseconds)||e.purgeAfterEpochMilliseconds<=e.trashedAtEpochMilliseconds||e.retentionHold!==!0?!1:(Object.freeze(e),!0)}function Lt(e){if(!K(e,[`workspace`,`volumes`,`knownProviders`,`externalConnectionsSupported`])||!H(e.workspace)||!Array.isArray(e.volumes)||e.volumes.length!==1||!Array.isArray(e.knownProviders)||e.externalConnectionsSupported!==!1)return!1;let t=e.volumes[0],n=[`managed`,`google-drive`,`onedrive`,`dropbox`,`s3-compatible`];return K(t,[`volumeId`,`rootItemId`,`provider`,`name`])&&t.volumeId===e.workspace.rootVolumeId&&t.rootItemId===e.workspace.rootItemId&&t.provider===`managed`&&t.name===`Files`&&e.knownProviders.length===n.length&&e.knownProviders.every((e,t)=>e===n[t])}function H(e){if(!K(e,[`workspaceId`,`rootVolumeId`,`rootItemId`,`workspaceReference`])||typeof e.workspaceId!=`string`||!z.test(e.workspaceId)||typeof e.rootVolumeId!=`string`||!B.test(e.rootVolumeId)||typeof e.rootItemId!=`string`||!R.test(e.rootItemId))return!1;let t=e.workspaceReference;return K(t,[`type`,`userId`])&&t.type===`personal`&&typeof t.userId==`string`&&V.test(t.userId)||K(t,[`type`,`organizationId`])&&t.type===`organization`&&typeof t.organizationId==`string`&&V.test(t.organizationId)}function Rt(e){return!K(e,[`mode`,`method`,`url`,`headers`,`expiresAtEpochMilliseconds`,`response`])||e.mode!==`presigned-single`||e.method!==`GET`&&e.method!==`HEAD`||typeof e.url!=`string`||!_n(e.url)||!G(e.expiresAtEpochMilliseconds)||!vn(e.headers,[`if-match`],e.url)&&!vn(e.headers,[`if-match`,`range`],e.url)||typeof e.headers[`if-match`]!=`string`||!gn(e.headers[`if-match`])||e.headers.range!==void 0&&(typeof e.headers.range!=`string`||!/^bytes=(?:0|[1-9][0-9]*)-(?:0|[1-9][0-9]*)$/.test(e.headers.range))||!K(e.response,[`status`,`versionId`,`byteLength`,`contentLength`,`contentType`,`contentDisposition`,`etag`,`acceptRanges`,`contentRange`])||e.response.status!==200&&e.response.status!==206||typeof e.response.versionId!=`string`||!bt.test(e.response.versionId)||!G(e.response.byteLength)||!G(e.response.contentLength)||typeof e.response.contentType!=`string`||!/^[a-z0-9](?:[a-z0-9!#$&^_.+-]{0,125}[a-z0-9])?\/[a-z0-9](?:[a-z0-9!#$&^_.+-]{0,125}[a-z0-9])?$/.test(e.response.contentType)||typeof e.response.contentDisposition!=`string`||e.response.contentDisposition.length>2048||!/^[\x20-\x7e]+$/.test(e.response.contentDisposition)||e.response.etag!==e.headers[`if-match`]||e.response.acceptRanges!==`bytes`||e.response.contentRange!==null&&typeof e.response.contentRange!=`string`||!zt(e)?!1:(Object.freeze(e.headers),Object.freeze(e.response),Object.freeze(e),!0)}function zt(e){let t=e.response;if(t.contentLength>t.byteLength||e.method===`HEAD`&&t.status!==200||!t.contentDisposition.startsWith(`attachment; filename="`))return!1;if(t.status===200)return e.headers.range===void 0&&t.contentRange===null&&t.contentLength===t.byteLength;if(e.method!==`GET`||e.headers.range===void 0||t.contentRange===null)return!1;let n=/^bytes=(0|[1-9][0-9]*)-(0|[1-9][0-9]*)$/.exec(e.headers.range),r=/^bytes (0|[1-9][0-9]*)-(0|[1-9][0-9]*)\/(0|[1-9][0-9]*)$/.exec(t.contentRange);if(!n||!r)return!1;let i=Number(n[1]),a=Number(n[2]),o=Number(r[1]),s=Number(r[2]),c=Number(r[3]);return[i,a,o,s,c].every(G)&&i===o&&a===s&&c===t.byteLength&&i<=a&&a<c&&t.contentLength===a-i+1}function Bt(e){return K(e,[`mode`,`operationId`,`versionId`,`state`,`pollAfterSeconds`])&&e.mode===`restore-pending`&&typeof e.operationId==`string`&&xt.test(e.operationId)&&typeof e.versionId==`string`&&bt.test(e.versionId)&&(e.state===`pending`||e.state===`restoring`)&&G(e.pollAfterSeconds)&&e.pollAfterSeconds>=1&&e.pollAfterSeconds<=60}function Vt(e,t,n){return K(e,[`items`,`nextCursor`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(Ht)&&(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&St.test(e.nextCursor))?e.items.every(e=>e.workspaceId===t&&e.parentItemId===n)&&hn(e.items,e=>e.itemId):!1}function Ht(e){return K(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`visibility`,`revision`])&&typeof e.workspaceId==`string`&&z.test(e.workspaceId)&&typeof e.volumeId==`string`&&B.test(e.volumeId)&&typeof e.itemId==`string`&&R.test(e.itemId)&&typeof e.parentItemId==`string`&&R.test(e.parentItemId)&&(e.kind===`file`||e.kind===`folder`)&&W(e.name)&&(e.visibility===`workspace`||e.visibility===`restricted`)&&G(e.revision)}function Ut(e,t,n,r){return!K(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`state`,`revision`,`purgeAfterEpochMilliseconds`])||e.workspaceId!==t||e.itemId!==n||typeof e.volumeId!=`string`||!B.test(e.volumeId)||typeof e.parentItemId!=`string`||!R.test(e.parentItemId)||e.kind!==`file`&&e.kind!==`folder`||!W(e.name)||e.state!==r||!G(e.revision)||(e.state===`active`?e.purgeAfterEpochMilliseconds!==null:!G(e.purgeAfterEpochMilliseconds))?!1:(Object.freeze(e),!0)}function Wt(e,t,n){return!K(e,[`workspaceId`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`])||e.workspaceId!==t||e.itemId!==n||!(e.parentId===null||typeof e.parentId==`string`&&R.test(e.parentId))||e.type!==`file`&&e.type!==`folder`||!W(e.name)||e.lifecycleState!==`active`||!G(e.revision)||(e.type===`folder`?e.currentVersion!==null:!Kt(e.currentVersion))?!1:(e.currentVersion!==null&&Object.freeze(e.currentVersion),Object.freeze(e),!0)}function Gt(e,t,n,r){if(!K(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>r||!e.items.every(e=>qt(e,t,n))||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&St.test(e.nextCursor))||e.items.length===0&&e.nextCursor!==null||new Set(e.items.map(e=>e.itemId)).size!==e.items.length||!Jt(e.items))return!1;for(let t of e.items)t.currentVersion!==null&&Object.freeze(t.currentVersion),Object.freeze(t);return Object.freeze(e.items),Object.freeze(e),!0}function U(e,t){let n=e.get(`etag`);return n!==null&&h(n)===t}function Kt(e){return K(e,[`versionId`,`state`,`byteLength`,`mediaType`,`protectionClassification`])&&typeof e.versionId==`string`&&bt.test(e.versionId)&&e.state===`current`&&G(e.byteLength)&&pn(e.mediaType)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)}function qt(e,t,n){return K(e,[`workspaceId`,`volumeId`,`provider`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`])&&e.workspaceId===t&&typeof e.volumeId==`string`&&B.test(e.volumeId)&&e.provider===`managed`&&typeof e.itemId==`string`&&R.test(e.itemId)&&(e.parentId===null||typeof e.parentId==`string`&&R.test(e.parentId))&&(e.type===`file`||e.type===`folder`)&&W(e.name)&&e.name.startsWith(n)&&e.lifecycleState===`active`&&G(e.revision)&&(e.type===`folder`?e.currentVersion===null:Kt(e.currentVersion))}function Jt(e){for(let t=1;t<e.length;t+=1){let n=e[t-1],r=e[t],i=Yt(n.name,r.name);if(i>0||i===0&&n.itemId>=r.itemId)return!1}return!0}function Yt(e,t){let n=Ot.encode(e),r=Ot.encode(t),i=Math.min(n.length,r.length);for(let e=0;e<i;e+=1)if(n[e]!==r[e])return n[e]-r[e];return n.length-r.length}function Xt(e,t){if(!K(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>t||!e.items.every(nn)||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&St.test(e.nextCursor))||e.nextCursor!==null&&e.items.length===0||!hn(e.items,e=>e.versionId))return!1;for(let t of e.items)Object.freeze(t);return Object.freeze(e.items),Object.freeze(e),!0}function Zt(e,t){return!K(e,[`itemRevision`,`currentVersionId`])||!G(e.itemRevision)||e.currentVersionId!==t?!1:(Object.freeze(e),!0)}function Qt(e,t,n,r=wt){if(!(K(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(cn)&&(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&St.test(e.nextCursor))&&G(e.collectionRevision)&&typeof e.collectionEtag==`string`&&p(e.collectionEtag)===e.collectionRevision))return!1;let i=t.get(`drive-permission-collection-etag`),a=t.get(`etag`),o=e.collectionRevision;return G(o)?i===e.collectionEtag&&a!==null&&r.test(a)&&e.items.every(e=>{let t=m(e.etag);return t===void 0||e.etag!==fn(t[0],e.revision)?!1:e.source===`direct`?e.sourceItemId===n&&t[0]===o:e.sourceItemId!==n})&&hn(e.items,e=>`${e.sourceItemId}\0${e.grantId}`):!1}function $t(e,t,n){if(!K(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])||!Array.isArray(e.items)||e.items.length>50)return!1;let r=[];for(let t of e.items){if(!K(t,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`,`etag`,`recipient`]))return!1;let{recipient:e,...n}=t;if(!cn(n)||e!==null&&(!K(e,[`userId`,`name`,`email`,`resolvedAt`,`expiresAt`])||n.grantee.type!==`user`||e.userId!==n.grantee.userId||typeof e.name!=`string`||e.name.length<1||Ot.encode(e.name).byteLength>1024||typeof e.email!=`string`||e.email.length<3||Ot.encode(e.email).byteLength>320||!e.email.includes(`@`)||!G(e.resolvedAt)||!G(e.expiresAt)||e.expiresAt!==e.resolvedAt+864e5))return!1;r.push(n)}return Qt({...e,items:r},t,n,/^"drive\.sharing-people\.v1\.[0-9a-f]{64}"$/)}function en(e,t,n){if(!K(e,[`outcome`,`grant`,`collectionRevision`])||e.outcome!==`committed`&&e.outcome!==`replayed`||!G(e.collectionRevision))return!1;let r=e.grant;return K(r,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`])&&r.source===`direct`&&typeof r.sourceItemId==`string`&&r.sourceItemId===t&&typeof r.grantId==`string`&&yt.test(r.grantId)&&(n===void 0||r.grantId===n)&&ln(r.grantee)&&un(r.actions)&&[`active`,`expired`,`revoked`].includes(String(r.availability))&&(r.expiresAtEpochMilliseconds===null||G(r.expiresAtEpochMilliseconds))&&G(r.revision)}function tn(e,t){if(!K(e,[`actions`])||!Array.isArray(e.actions)||e.actions.length!==7)return!1;for(let n=0;n<e.actions.length;n+=1){let r=e.actions[n];if(r===void 0||!K(r,[`action`,`allowed`,`basis`,`sourceItemId`,`grantId`])||r.action!==Et[n]||typeof r.allowed!=`boolean`||!(r.basis===null||[`workspace_visibility`,`restricted_administrator_bypass`,`item_owner`,`direct_grant`,`inherited_grant`].includes(String(r.basis)))||!(r.sourceItemId===null||typeof r.sourceItemId==`string`&&R.test(r.sourceItemId))||!(r.grantId===null||typeof r.grantId==`string`&&yt.test(r.grantId))||!dn(r,t))return!1}return!0}function nn(e){let t=K(e,an)&&on(e);return t&&Object.freeze(e),t}function rn(e,t,n,r){let i=K(e,[...an,`workspaceId`,`itemId`])&&e.workspaceId===t&&e.itemId===n&&e.versionId===r&&on(e);return i&&Object.freeze(e),i}const an=Object.freeze([`versionId`,`state`,`revision`,`byteLength`,`contentDigest`,`mediaType`,`displayFilename`,`protectionClassification`,`archiveState`]);function on(e){return typeof e.versionId==`string`&&bt.test(e.versionId)&&(e.state===`current`||e.state===`superseded`)&&G(e.revision)&&G(e.byteLength)&&typeof e.contentDigest==`string`&&Dt.test(e.contentDigest)&&pn(e.mediaType)&&W(e.displayFilename)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)&&[`available`,`cold`,`restoring`,`unavailable`,`corrupt`].includes(String(e.archiveState))}function sn(e){let t=e.get(`drive-permission-collection-etag`),n=e.get(`drive-permission-grant-etag`),r=t===null?void 0:p(t);if(r===void 0)return!1;if(n===null)return!0;let i=m(n);return i!==void 0&&i[0]===r}function cn(e){return K(e,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`,`etag`])&&(e.source===`direct`||e.source===`inherited`)&&typeof e.sourceItemId==`string`&&R.test(e.sourceItemId)&&typeof e.grantId==`string`&&yt.test(e.grantId)&&ln(e.grantee)&&un(e.actions)&&[`active`,`expired`,`revoked`].includes(String(e.availability))&&(e.expiresAtEpochMilliseconds===null||G(e.expiresAtEpochMilliseconds))&&G(e.revision)&&typeof e.etag==`string`&&Ct.test(e.etag)}function ln(e){return K(e,[`type`,`userId`])&&e.type===`user`&&typeof e.userId==`string`&&V.test(e.userId)||K(e,[`type`,`teamId`])&&e.type===`team`&&typeof e.teamId==`string`&&V.test(e.teamId)}function un(e){return Array.isArray(e)&&e.length>=1&&e.length<=6&&new Set(e).size===e.length&&e.every(e=>Tt.includes(e))&&e.every((t,n)=>n===0||Tt.indexOf(t)>Tt.indexOf(e[n-1]))}function dn(e,t){return e.allowed?e.basis===`workspace_visibility`||e.basis===`restricted_administrator_bypass`||e.basis===`item_owner`?e.sourceItemId===null&&e.grantId===null:e.basis===`direct_grant`?e.sourceItemId===t&&typeof e.grantId==`string`:e.basis===`inherited_grant`&&typeof e.sourceItemId==`string`&&e.sourceItemId!==t&&typeof e.grantId==`string`:e.basis===null&&e.sourceItemId===null&&e.grantId===null}function fn(e,t){return`"drive.permission-grant.v1.${e}.${t}"`}function W(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||mn(e))return!1;let t=0,n=0;for(let r of e){let e=r.codePointAt(0);if(e===void 0||e===47||e===92||e<=31||e>=127&&e<=159||e===8232||e===8233||e>=55296&&e<=57343||(t+=1,n+=e<=127?1:e<=2047?2:e<=65535?3:4,t>255||n>255))return!1}return!0}function pn(e){return typeof e==`string`&&e.length<=255&&/^[a-z0-9](?:[a-z0-9!#$&^_.+-]{0,125}[a-z0-9])?\/[a-z0-9](?:[a-z0-9!#$&^_.+-]{0,125}[a-z0-9])?$/.test(e)}function mn(e){let t=e.split(`.`,1)[0].toUpperCase();return e===`.`||e===`..`||[`CON`,`PRN`,`AUX`,`NUL`,`CLOCK$`,`CONIN$`,`CONOUT$`].includes(t)||/^COM[1-9]$/.test(t)||/^LPT[1-9]$/.test(t)}function hn(e,t){return e.every((n,r)=>r===0||t(e[r-1])<t(n))}function G(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function gn(e){return/^"[\x21\x23-\x7e]{1,1022}"$/.test(e)}function _n(e){try{let t=new URL(e),n=t.protocol===`http:`&&[`localhost`,`127.0.0.1`,`[::1]`].includes(t.hostname);return(t.protocol===`https:`||n)&&!t.username&&!t.password&&!t.hash}catch{return!1}}function K(e,t,n=[]){return typeof e!=`object`||!e||Array.isArray(e)?!1:Object.keys(e).every(e=>t.includes(e)||n.includes(e))&&t.every(t=>Object.hasOwn(e,t))}function vn(e,t,n){if(K(e,t))return!0;let r=[`x-amz-server-side-encryption-customer-algorithm`,`x-amz-server-side-encryption-customer-key`,`x-amz-server-side-encryption-customer-key-md5`];if(!K(e,[...t,...r])||typeof n!=`string`)return!1;try{let t=new URL(n),i=t.searchParams.get(`X-Amz-SignedHeaders`)?.split(`;`)??[];return t.protocol===`https:`&&r.every(e=>i.includes(e))&&e[r[0]]===`AES256`&&typeof e[r[1]]==`string`&&/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/.test(e[r[1]])&&typeof e[r[2]]==`string`&&/^[A-Za-z0-9+/]{21}[AQgw]==$/.test(e[r[2]])}catch{return!1}}function yn(e,t){let n=e[`x-amz-server-side-encryption-customer-algorithm`];return n===void 0||n===`AES256`&&t.headers.get(`x-amz-server-side-encryption-customer-algorithm`)===n&&t.headers.get(`x-amz-server-side-encryption-customer-key-md5`)===e[`x-amz-server-side-encryption-customer-key-md5`]}async function bn(e,t,n){if(t.expiresAtEpochMilliseconds<=Date.now())throw new a(`invalid_response`);let r=Qe(n,e.timeoutMilliseconds);try{let i=await nt(e.fetchImplementation(Sn(t,r.signal)),r.signal);if(!Cn(i,t))throw await i.body?.cancel().catch(()=>void 0),new a(`invalid_response`);let o=xn(t);if(t.method===`HEAD`)return await i.body?.cancel().catch(()=>void 0),r.dispose(),new Response(null,{status:i.status,headers:o});if(!i.body){if(r.dispose(),t.response.contentLength!==0)throw new a(`invalid_response`);return new Response(null,{status:i.status,headers:o})}return r.dispose(),new Response(wn(i.body,t.response.contentLength,n),{status:i.status,headers:o})}catch(e){throw r.dispose(),r.didTimeout()?new a(`timeout`):e instanceof a?e:r.signal.aborted?new a(r.didTimeout()?`timeout`:`aborted`):new a(`network_error`)}}function xn(e){let t=e.response,n=new Headers;return n.set(`cache-control`,`private, no-store, no-transform`),n.set(`accept-ranges`,t.acceptRanges),n.set(`content-disposition`,t.contentDisposition),n.set(`content-length`,String(t.contentLength)),n.set(`content-type`,t.contentType),n.set(`etag`,t.etag),t.contentRange===null?n.delete(`content-range`):n.set(`content-range`,t.contentRange),n}function Sn(e,t){let n={method:e.method,headers:e.headers,redirect:`manual`,signal:t};try{return new Request(e.url,{...n,cache:`no-store`,credentials:`omit`,referrerPolicy:`no-referrer`})}catch{try{return new Request(e.url,{...n,credentials:`omit`,referrerPolicy:`no-referrer`})}catch{return new Request(e.url,{...n,credentials:`omit`})}}}function Cn(e,t){let n=t.response,r=e.headers.get(`content-encoding`);return yn(t.headers,e)&&e.status===n.status&&e.headers.get(`etag`)===n.etag&&e.headers.get(`content-length`)===String(n.contentLength)&&(r===null||r===`identity`)&&(n.contentRange===null?e.headers.get(`content-range`)===null:e.headers.get(`content-range`)===n.contentRange)}function wn(e,t,n){let r=e.getReader(),i=0,o=!1,s=()=>{};return new ReadableStream({start(e){if(!n)return;let t=()=>{o||(o=!0,s(),r.cancel().catch(()=>void 0),e.error(new a(`aborted`)))};n.aborted?t():(n.addEventListener(`abort`,t,{once:!0}),s=()=>n.removeEventListener(`abort`,t))},async pull(e){if(!o)try{let n=await r.read();if(o)return;if(n.done)o=!0,s(),r.releaseLock(),i===t?e.close():e.error(new a(`invalid_response`));else{if(i+=n.value.byteLength,!Number.isSafeInteger(i)||i>t){o=!0,s(),await r.cancel().catch(()=>void 0),e.error(new a(`invalid_response`));return}e.enqueue(n.value)}}catch(t){if(o)return;o=!0,s(),await r.cancel().catch(()=>void 0),e.error(t instanceof a?t:n?.aborted?new a(`aborted`):new a(`network_error`))}},async cancel(e){o||(o=!0,s(),await r.cancel(e).catch(()=>void 0))}})}const Tn=/^[A-Za-z0-9_-]{43}$/,q=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,J=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,En=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Dn=/^[A-Za-z0-9._:-]{1,128}$/,On=/^drive_edit_[A-Za-z0-9_-]{43}$/,kn=`/api/v1/workspaces/{workspaceId}/items/{itemId}/visitor-grants`,An=e=>e===`viewer`||e===`editor`;function Y(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function X(e,t){return Object.keys(e).length===t.length&&t.every(t=>Object.hasOwn(e,t))}function Z(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function jn(e){return Y(e)&&X(e,[`grantId`,`mode`,`role`,`email`,`status`,`createdAt`,`expiresAt`])&&typeof e.grantId==`string`&&q.test(e.grantId)&&An(e.role)&&(e.mode===`anyone`&&e.email===null&&e.status!==`pending`||e.mode===`email`&&typeof e.email==`string`&&e.email.length>=3&&e.email.length<=320)&&[`pending`,`active`,`expired`,`revoked`].includes(String(e.status))&&Z(e.createdAt)&&Z(e.expiresAt)&&e.expiresAt>e.createdAt&&e.expiresAt<=e.createdAt+2592e6}function Mn(e){return Y(e)&&X(e,[`grant`,`token`,`tokenPurpose`])&&jn(e.grant)&&(e.token===null||typeof e.token==`string`&&Tn.test(e.token))&&e.tokenPurpose===(e.grant.mode===`anyone`?`view`:`verify-email`)}function Nn(e,t){if(!Y(e))return!1;let{source:n,sourceItemId:r,...i}=e;return jn(i)&&typeof r==`string`&&J.test(r)&&(n===`direct`&&r===t||n===`inherited`&&r!==t)}function Pn(e){return Y(e)&&typeof e.itemId==`string`&&J.test(e.itemId)&&(e.kind===`file`||e.kind===`folder`)&&(e.name===null||typeof e.name==`string`&&e.name.length<=1024)}function Fn(e){return{async createVisitorGrant(t){let n=j(t,[`workspaceId`,`itemId`,`command`,`idempotencyKey`],[`signal`]),r=D({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}}),i=j(n.command,[`mode`,`role`,`expiresAt`],[`email`]),o=i.role;if(!An(o)||!Z(i.expiresAt)||i.expiresAt>Date.now()+(o===`editor`?864e5:2592e6)||typeof n.idempotencyKey!=`string`||!/^[A-Za-z0-9_-]{16,128}$/.test(n.idempotencyKey)||!(i.mode===`anyone`&&!Object.hasOwn(i,`email`)||i.mode===`email`&&typeof i.email==`string`&&i.email.trim().length>=3&&new TextEncoder().encode(i.email).length<=320))throw new a(`invalid_input`);let s=i.mode===`anyone`?{mode:`anyone`,role:o,expiresAt:i.expiresAt}:{mode:`email`,role:o,email:String(i.email).trim().toLowerCase(),expiresAt:i.expiresAt};return P(e,r.signal,null,(e,t)=>e.POST(kn,{...t,params:{path:r,header:{"Idempotency-Key":n.idempotencyKey}},body:s}),[200],e=>Mn(e)&&e.grant.role===s.role&&e.grant.mode===s.mode&&e.grant.email===(s.mode===`email`?s.email:null)&&e.grant.expiresAt===s.expiresAt)},async getVisitorGrant(t){let n=j(t,[`workspaceId`,`itemId`,`grantId`],[`signal`]),r=D({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}});if(typeof n.grantId!=`string`||!q.test(n.grantId))throw new a(`invalid_input`);let i=n.grantId;return P(e,r.signal,null,(e,t)=>e.GET(`${kn}/{grantId}`,{...t,params:{path:{...r,grantId:i}}}),[200],e=>Mn(e)&&e.grant.grantId===i)},async listVisitorGrants(t){let n=D(t);return P(e,n.signal,null,(e,t)=>e.GET(kn,{...t,params:{path:n}}),[200],e=>Y(e)&&X(e,[`items`])&&Array.isArray(e.items)&&e.items.length<=64&&e.items.every(e=>Nn(e,n.itemId)))},async revokeVisitorGrant(t){let n=j(t,[`workspaceId`,`itemId`,`grantId`],[`signal`]),r=D({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}});if(typeof n.grantId!=`string`||!q.test(n.grantId))throw new a(`invalid_input`);return P(e,r.signal,null,(e,t)=>e.DELETE(`${kn}/{grantId}`,{...t,params:{path:{...r,grantId:n.grantId}}}),[200],e=>jn(e)&&e.grantId===n.grantId&&e.status===`revoked`)}}}function In(e){if(!e||typeof e.token!=`string`||!Tn.test(e.token))throw new a(`invalid_input`);let t=e.token,n={...Xe({...e,getCredential:async()=>t}),authorizationScheme:`DriveVisitor`},r={Authorization:`DriveVisitor ${t}`},i={async readItem(e={}){let t=Rn(e);return P(n,t.signal,null,(e,n)=>e.GET(`/api/v1/visitor/item`,{...n,params:{header:r,query:t.query}}),[200],e=>Pn(e)&&Y(e)&&X(e,[`itemId`,`kind`,`name`,`rootItemId`,`role`])&&An(e.role)&&typeof e.rootItemId==`string`&&J.test(e.rootItemId)&&(t.query.itemId===void 0||e.itemId===t.query.itemId))},async listChildren(e={}){let t=Rn(e,[`after`]);if(t.extra.after!==void 0&&(typeof t.extra.after!=`string`||!J.test(t.extra.after)))throw new a(`invalid_input`);let i=t.extra.after;return P(n,t.signal,null,(e,n)=>e.GET(`/api/v1/visitor/children`,{...n,params:{header:r,query:{...t.query,...i===void 0?{}:{after:i}}}}),[200],e=>Y(e)&&X(e,[`items`,`nextAfter`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(e=>Pn(e)&&Y(e)&&X(e,[`itemId`,`kind`,`name`]))&&(e.nextAfter===null||typeof e.nextAfter==`string`&&J.test(e.nextAfter)&&e.items.length===50&&Y(e.items[49])&&e.items[49].itemId===e.nextAfter))},async createDownload(e={}){let t=Rn(e,[`method`,`range`]),i=t.extra.method??`GET`,o=t.extra.range;if(i!==`GET`&&i!==`HEAD`||o!==void 0&&(typeof o!=`string`||!/^bytes=(?:\d+-\d*|-\d+)$/.test(o)||o.length>128))throw new a(`invalid_input`);return P(n,t.signal,null,(e,n)=>(n.headers.set(`Download-Method`,i),typeof o==`string`&&n.headers.set(`Range`,o),e.POST(`/api/v1/visitor/downloads`,{...n,params:{header:r,query:t.query}})),[200],e=>Rt(e)&&e.method===i&&e.expiresAtEpochMilliseconds>Date.now())},async redeemInvitation(e){let i=j(e,[`sessionToken`],[`signal`]),o=M(i.signal);if(typeof i.sessionToken!=`string`||!Tn.test(i.sessionToken)||i.sessionToken===t)throw new a(`invalid_input`);let s=i.sessionToken;return P(n,o,null,(e,t)=>e.POST(`/api/v1/visitor/verify-email`,{...t,params:{header:r},body:{sessionToken:s}}),[200],e=>Y(e)&&X(e,[`grantId`,`role`,`expiresAt`])&&typeof e.grantId==`string`&&q.test(e.grantId)&&An(e.role)&&Z(e.expiresAt)&&e.expiresAt>Date.now())},async downloadItem(e={}){let t=Rn(e,[`method`,`range`]),r=await i.createDownload(e);return bn(n,r.data,t.signal)},async createEditingSession(e){let t=Rn(e,[`audience`,`writable`,`sourceVersionId`]),{audience:i,writable:o,sourceVersionId:s}=t.extra;if(typeof i!=`string`||!Dn.test(i)||typeof o!=`boolean`||s!==void 0&&(typeof s!=`string`||!En.test(s)))throw new a(`invalid_input`);let c={audience:i,writable:o,...s===void 0?{}:{sourceVersionId:s}};return P(n,t.signal,null,(e,n)=>e.POST(`/api/v1/visitor/editing-sessions`,{...n,params:{header:r,query:t.query},body:c}),[201],e=>Ln(e,c))}};return Object.freeze(i)}function Ln(e,t){return Y(e)&&X(e,[`sessionId`,`workspaceId`,`itemId`,`sourceVersionId`,`expectedVersionId`,`contentGeneration`,`audience`,`grantId`,`writable`,`leaseUntil`,`expiresAt`,`revoked`,`token`])&&typeof e.sessionId==`string`&&q.test(e.sessionId)&&typeof e.workspaceId==`string`&&e.workspaceId.startsWith(`drive.workspace.`)&&q.test(e.workspaceId.slice(16))&&typeof e.itemId==`string`&&J.test(e.itemId)&&typeof e.sourceVersionId==`string`&&En.test(e.sourceVersionId)&&(t.sourceVersionId===void 0||e.sourceVersionId===t.sourceVersionId)&&typeof e.expectedVersionId==`string`&&En.test(e.expectedVersionId)&&typeof e.contentGeneration==`string`&&q.test(e.contentGeneration)&&e.audience===t.audience&&typeof e.grantId==`string`&&q.test(e.grantId)&&e.writable===t.writable&&e.revoked===!1&&Z(e.leaseUntil)&&Z(e.expiresAt)&&e.leaseUntil>Date.now()&&e.leaseUntil<=e.expiresAt&&typeof e.token==`string`&&On.test(e.token)}function Rn(e,t=[]){let n=j(e,[],[`itemId`,`signal`,...t]);if(n.itemId!==void 0&&(typeof n.itemId!=`string`||!J.test(n.itemId)))throw new a(`invalid_input`);return{signal:M(n.signal),query:n.itemId===void 0?{}:{itemId:n.itemId},extra:n}}function zn(){let e=crypto.getRandomValues(new Uint8Array(32));return btoa(String.fromCharCode(...e)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}const Bn=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;function Vn(e){return{async getFileAccessContext(t){let n=D(t);return P(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/access-context`,{...t,params:{path:n}}),[200],e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return Object.keys(t).sort().join()===`canRead,canWrite,contentGeneration,itemId,subject,validUntil,versionId,workspaceId`&&t.workspaceId===n.workspaceId&&t.itemId===n.itemId&&typeof t.subject==`string`&&t.subject.length>0&&t.subject.length<=128&&typeof t.versionId==`string`&&Bn.test(t.versionId)&&(t.contentGeneration===null||typeof t.contentGeneration==`string`&&/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(t.contentGeneration))&&typeof t.canRead==`boolean`&&typeof t.canWrite==`boolean`&&typeof t.validUntil==`number`&&Number.isSafeInteger(t.validUntil)&&t.validUntil>Date.now()&&t.validUntil<=Date.now()+6e4})}}}const Hn=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Un=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Wn=/^[A-Za-z0-9._:-]{1,128}$/;function Gn(e,t){if(!e||typeof e!=`object`||Array.isArray(e))return!1;let n=e;return Object.keys(n).sort().join()===`audience,contentGeneration,expectedVersionId,expiresAt,itemId,leaseUntil,revoked,sessionId,sourceVersionId,subject,workspaceId,writable`&&n.workspaceId===t&&typeof n.sessionId==`string`&&Hn.test(n.sessionId)&&typeof n.itemId==`string`&&n.itemId.startsWith(`drive.item.`)&&Hn.test(n.itemId.slice(11))&&typeof n.sourceVersionId==`string`&&Un.test(n.sourceVersionId)&&typeof n.expectedVersionId==`string`&&Un.test(n.expectedVersionId)&&typeof n.contentGeneration==`string`&&Hn.test(n.contentGeneration)&&typeof n.audience==`string`&&Wn.test(n.audience)&&typeof n.subject==`string`&&n.subject.length>0&&n.subject.length<=128&&typeof n.writable==`boolean`&&typeof n.revoked==`boolean`&&typeof n.leaseUntil==`number`&&Number.isSafeInteger(n.leaseUntil)&&typeof n.expiresAt==`number`&&Number.isSafeInteger(n.expiresAt)&&n.leaseUntil>0&&n.leaseUntil<=n.expiresAt}function Kn(e){let t=t=>async n=>{let r=j(n,[`workspaceId`,`sessionId`],[`signal`]);if(typeof r.workspaceId!=`string`||!r.workspaceId.startsWith(`drive.workspace.`)||!Hn.test(r.workspaceId.slice(16))||typeof r.sessionId!=`string`||!Hn.test(r.sessionId))throw new a(`invalid_input`);let i=r.workspaceId,o=r.sessionId;return P(e,M(r.signal),null,(e,n)=>e.POST(`/api/v1/workspaces/{workspaceId}/editing-sessions/{sessionId}`,{...n,params:{path:{workspaceId:i,sessionId:o}},body:{operation:t}}),[200],e=>Gn(e,i)&&e.sessionId===o)};return{async createEditingSession(t){let n=j(t,[`workspaceId`,`itemId`,`audience`,`writable`],[`sourceVersionId`,`signal`]),r=D({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}});if(typeof n.audience!=`string`||!Wn.test(n.audience)||typeof n.writable!=`boolean`||n.sourceVersionId!==void 0&&(typeof n.sourceVersionId!=`string`||!Un.test(n.sourceVersionId)))throw new a(`invalid_input`);let i={audience:n.audience,writable:n.writable,...n.sourceVersionId===void 0?{}:{sourceVersionId:n.sourceVersionId}};return P(e,r.signal,null,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/editing-sessions`,{...t,params:{path:r},body:i}),[201],e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let{token:t,...n}=e;return typeof t==`string`&&/^drive_edit_[A-Za-z0-9_-]{43}$/.test(t)&&Gn(n,r.workspaceId)&&n.itemId===r.itemId&&n.audience===i.audience&&n.writable===i.writable&&(i.sourceVersionId===void 0||n.sourceVersionId===i.sourceVersionId)})},renewEditingSession:t(`renew`),closeEditingSession:t(`close`),revokeEditingSession:t(`revoke`)}}function qn(e){if(!/^drive_edit_[A-Za-z0-9_-]{43}$/.test(e.token)||!Wn.test(e.audience))throw new a(`invalid_input`);let t=e.token;return Object.freeze({...Xe({...e,getCredential:async()=>t}),authorizationScheme:`DriveEditing`,editingAudience:e.audience})}function Jn(e){return Object.freeze({getFileAccessContext:e.getFileAccessContext,createDownload:e.createDownload,downloadItem:e.downloadItem})}const Yn=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,Xn=/^[A-Za-z0-9_-]{1,128}$/,Zn=/^[A-Za-z0-9_.-]+$/,Qn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_pagination_cursor`,`precondition_failed`,`service_unavailable`]),$n=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_idempotency_key`,`idempotency_conflict`,`precondition_failed`,`rate_limited`,`service_unavailable`]);function er(e){return{listOwnedItems:t=>rr(e,t),transferItemOwnership:t=>ar(e,t),archiveItem:t=>or(e,t)}}async function tr(e,t){let n=j(t,[`workspaceId`,`ownerUserId`],[`lifecycle`,`rootsOnly`,`signal`,`maxItems`]),r=n.maxItems??500;if(typeof r!=`number`||!Number.isInteger(r)||r<1||r>500)throw new a(`invalid_input`);let{maxItems:i,...o}=n,s=[],c=null;do{let t=r-s.length,n=Math.min(50,t),i=await e.listOwnedItems({...o,limit:n,...c===null?{}:{cursor:c}});s.push(...i.data.items),c=i.data.nextCursor}while(c!==null&&s.length<r);return Object.freeze({items:Object.freeze(s),complete:c===null,nextCursor:c})}function nr(e){let t=j(e,[`workspaceId`,`ownerUserId`],[`lifecycle`,`rootsOnly`,`limit`,`cursor`,`signal`]),n=M(t.signal);if(typeof t.workspaceId!=`string`||!Yn.test(t.workspaceId)||typeof t.ownerUserId!=`string`||!Xn.test(t.ownerUserId)||t.lifecycle!==void 0&&t.lifecycle!==`active`&&t.lifecycle!==`trashed`||t.rootsOnly!==void 0&&typeof t.rootsOnly!=`boolean`||t.limit!==void 0&&(typeof t.limit!=`number`||!Number.isInteger(t.limit)||t.limit<1||t.limit>50)||t.cursor!==void 0&&(typeof t.cursor!=`string`||t.cursor.length<1||t.cursor.length>2048||!Zn.test(t.cursor)))throw new a(`invalid_input`);return{workspaceId:t.workspaceId,ownerUserId:t.ownerUserId,lifecycle:t.lifecycle??`active`,signal:n,query:{...t.lifecycle===void 0?{}:{lifecycle:t.lifecycle},...t.rootsOnly===void 0?{}:{rootsOnly:t.rootsOnly?`true`:`false`},...t.limit===void 0?{}:{limit:t.limit},...t.cursor===void 0?{}:{cursor:t.cursor}},limit:t.limit??25}}async function rr(e,t){let n=nr(t);return P(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/owners/{ownerUserId}/items`,{...A(`listOwnedItems`,{params:{path:{workspaceId:n.workspaceId,ownerUserId:n.ownerUserId},query:n.query}}),...t}),[200],e=>Pt(e,n.ownerUserId,n.lifecycle)&&e.items.length<=n.limit&&e.items.every(e=>e.workspaceId===n.workspaceId),!1,Qn)}function ir(e){let t=j(e,[`workspaceId`,`itemId`,`ownerUserId`,`includeDescendants`,`revokeVisitorGrants`,`idempotencyKey`,`ifMatch`],[`signal`]),n=O({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.ownerUserId!=`string`||!Xn.test(t.ownerUserId)||typeof t.includeDescendants!=`boolean`||typeof t.revokeVisitorGrants!=`boolean`)throw new a(`invalid_input`);return{...n,body:{ownerUserId:t.ownerUserId,includeDescendants:t.includeDescendants,revokeVisitorGrants:t.revokeVisitorGrants}}}async function ar(e,t){let n=ir(t);return P(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/ownership`,{...A(`transferItemOwnership`,{params:{path:k(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:n.body}),...t}),[200],(e,t,r)=>Ft(e,n.workspaceId,n.itemId,n.body.ownerUserId)&&U(r,e.revision),!1,$n)}async function or(e,t){let n=O(t);return P(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/archive`,{...A(`archiveItem`,{params:{path:k(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>It(e,n.workspaceId,n.itemId)&&U(r,e.revision),!1,$n)}const sr=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,cr=/^"drive\.sharing-policy\.v1\.(0|[1-9][0-9]{0,15})"$/,lr=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`service_unavailable`]),ur=Object.freeze([...lr,`precondition_failed`]);function dr(e){return{getWorkspaceSharingPolicy:t=>mr(e,t),updateWorkspaceSharingPolicy:t=>hr(e,t)}}function fr(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function pr(e,t){if(typeof e!=`object`||!e||Array.isArray(e))return!1;let n=e;return Object.keys(n).sort().join()===`canManage,externalSharing,revision,updatedAt,workspaceId`&&typeof n.workspaceId==`string`&&sr.test(n.workspaceId)&&(n.externalSharing===`allowed`||n.externalSharing===`disabled`)&&fr(n.revision)&&(n.updatedAt===null||fr(n.updatedAt))&&n.revision===0==(n.updatedAt===null)&&typeof n.canManage==`boolean`&&t.get(`etag`)===`"drive.sharing-policy.v1.${n.revision}"`}async function mr(e,t){return P(e,M(j(t??{},[],[`signal`]).signal),null,(e,t)=>e.GET(`/api/v1/workspaces/current/sharing-policy`,{...A(`getWorkspaceSharingPolicy`,{params:{}}),...t}),[200],(e,t,n)=>pr(e,n),!1,lr)}async function hr(e,t){let n=j(t,[`externalSharing`,`ifMatch`],[`signal`]),r=M(n.signal);if(n.externalSharing!==`allowed`&&n.externalSharing!==`disabled`||typeof n.ifMatch!=`string`||!cr.test(n.ifMatch))throw new a(`invalid_input`);let i=n.externalSharing,o=n.ifMatch;return P(e,r,412,(e,t)=>e.PUT(`/api/v1/workspaces/current/sharing-policy`,{...A(`updateWorkspaceSharingPolicy`,{params:{header:{"If-Match":o}},body:{externalSharing:i}}),...t}),[200],(e,t,n)=>pr(e,n)&&e.externalSharing===i,!1,ur)}const gr=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`service_unavailable`]),_r=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),Q=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_pagination_cursor`,`precondition_failed`,`service_unavailable`]),vr=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_idempotency_key`,`idempotency_conflict`,`precondition_failed`,`service_unavailable`]),yr=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),br=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_idempotency_key`,`idempotency_conflict`,`precondition_failed`,`range_not_satisfiable`,`service_unavailable`]);function xr(e){let t=Xe(e);return{...Sr(t),...vt(t)}}function Sr(e){return Object.freeze({...Fn(e),...Vn(e),...Kn(e),...er(e),...dr(e),registerItemRecipient:t=>qr(e,t),listItemSharingPeople:t=>Jr(e,t),listIncomingShares:t=>Cr(e,t),getCurrentWorkspace:t=>Ar(e,t),ensurePersonalWorkspace:t=>Mr(e,t),ensureOrganizationWorkspaceAccess:t=>jr(e,t),listWorkspaceItems:t=>Dr(e,t),getCurrentUserWorkspaceUsage:t=>Or(e,t),getWorkspaceUsage:t=>kr(e,t),getCurrentWorkspaceSources:t=>Er(e,t),getItem:t=>Nr(e,t),searchWorkspaceItems:t=>Pr(e,t),listFolderChildren:t=>Fr(e,t),createFolder:t=>Ir(e,t),updateItem:t=>Lr(e,t),trashItem:t=>Rr(e,t),restoreItem:t=>zr(e,t),deleteItem:t=>Br(e,t),listItemVersions:t=>Vr(e,t),getItemVersion:t=>Hr(e,t),restoreItemVersion:t=>Ur(e,t),createDownload:t=>wr(e,t),downloadItem:t=>Tr(e,t),listItemPermissions:t=>Wr(e,t),readEffectiveItemPermissions:t=>Gr(e,t),createItemPermission:t=>Kr(e,t),createInternalItemPermission:t=>Kr(e,t,!0),updateItemPermission:t=>Yr(e,t),revokeItemPermission:t=>Xr(e,t),revokeInternalItemPermission:t=>Xr(e,t,!0)})}async function Cr(e,t){let n=E(t);return P(e,n.signal,409,(e,t)=>e.GET(`/api/v1/shares/incoming`,{...A(`listIncomingShares`,{params:{query:n.query}}),...t}),[200],kt,!1,Q)}async function wr(e,t){let n=de(t);return P(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/downloads`,{...A(`createDownload`,{params:{path:{workspaceId:n.workspaceId,itemId:n.itemId},query:n.versionId===void 0?{}:{versionId:n.versionId},header:{"Idempotency-Key":n.idempotencyKey,"Download-Method":n.method,...n.range===void 0?{}:{Range:n.range},...n.ifMatch===void 0?{}:{"If-Match":n.ifMatch},...n.ifNoneMatch===void 0?{}:{"If-None-Match":n.ifNoneMatch},...n.ifRange===void 0?{}:{"If-Range":n.ifRange}}}}),...t}),[200,202,304],(e,t)=>t===200?Rt(e):t===202?Bt(e):e===void 0,!1,br)}async function Tr(e,t){let n=de(t),r=await wr(e,t);return r.status===202||r.status===304?r:bn(e,r.data,n.signal)}async function Er(e,t){return P(e,T(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current/sources`,{...A(`getCurrentWorkspaceSources`,{params:{}}),...t}),[200],Lt,!1,gr)}async function Dr(e,t){let n=ce(t,!0);return P(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items`,{...A(`listWorkspaceItems`,{params:{path:{workspaceId:n.workspaceId},query:n.query}}),...t}),[200],e=>Mt(e)&&e.items.length<=(n.query.limit??25)&&e.items.every((e,t,r)=>e.workspaceId===n.workspaceId&&e.lifecycleState===(n.query.view===`trash`?`trashed`:`active`)&&((n.query.view??`recent`)!==`recent`||e.modifiedAtEpochMilliseconds!==null)&&(n.query.kind===void 0||e.type===n.query.kind)&&(n.query.mediaTypes===void 0||e.type===`file`&&!!e.currentVersion&&n.query.mediaTypes.split(`,`).includes(e.currentVersion.mediaType))&&(n.query.creatorUserId===void 0||e.creatorUserId===n.query.creatorUserId)&&(t===0||((n.query.view??`recent`)===`recent`?r[t-1].modifiedAtEpochMilliseconds>e.modifiedAtEpochMilliseconds||r[t-1].modifiedAtEpochMilliseconds===e.modifiedAtEpochMilliseconds&&r[t-1].itemId<e.itemId:r[t-1].itemId<e.itemId))),!1,Q)}async function Or(e,t){let n=ce(t,!1);return P(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/usage/current-user`,{...A(`getCurrentUserWorkspaceUsage`,{params:{path:{workspaceId:n.workspaceId}}}),...t}),[200],e=>At(e)&&e.workspaceId===n.workspaceId,!1,Q)}async function kr(e,t){let n=ce(t,!1);return P(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/usage`,{...A(`getWorkspaceUsage`,{params:{path:{workspaceId:n.workspaceId}}}),...t}),[200],e=>jt(e)&&e.workspaceId===n.workspaceId,!1,Q)}async function Ar(e,t){return P(e,T(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current`,{...A(`getCurrentWorkspace`,{params:{}}),...t}),[200],H,!1,gr)}async function jr(e,t){return P(e,T(t).signal,null,(e,t)=>e.POST(`/api/v1/workspaces/current/organization-access`,{...A(`ensureOrganizationWorkspaceAccess`,{params:{}}),...t}),[200],e=>H(e)&&e.workspaceReference.type===`organization`,!1,gr)}async function Mr(e,t){return P(e,T(t).signal,null,(e,t)=>e.POST(`/api/v1/workspaces/current/personal-access`,{...A(`ensurePersonalWorkspace`,{params:{},body:{}}),...t}),[200],e=>H(e)&&e.workspaceReference.type===`personal`,!1,gr)}async function Nr(e,t){let n=D(t);return P(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...A(`getItem`,{params:{path:k(n)}}),...t}),[200],(e,t,r)=>Wt(e,n.workspaceId,n.itemId)&&U(r,e.revision),!1,_r)}async function Pr(e,t){let n=fe(t);return P(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/search`,{...A(`searchWorkspaceItems`,{params:{path:{workspaceId:n.workspaceId},query:{query:n.query,...n.limit===void 0?{}:{limit:n.limit},...n.cursor===void 0?{}:{cursor:n.cursor}}}}),...t}),[200],e=>Gt(e,n.workspaceId,n.query,n.limit??50),!1,Q)}async function Fr(e,t){let n=pe(t);return P(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...A(`listFolderChildren`,{params:{path:k(n),query:xe(n)}}),...t}),[200],e=>Vt(e,n.workspaceId,n.itemId))}async function Ir(e,t){let n=me(t);return P(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...A(`createFolder`,{params:{path:k(n),header:{"Idempotency-Key":n.idempotencyKey}},body:{name:n.name}}),...t}),[200,201],e=>Ht(e)&&e.workspaceId===n.workspaceId&&e.parentItemId===n.itemId&&e.kind===`folder`&&e.name===n.name)}async function Lr(e,t){let n=he(t);return P(e,n.signal,409,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...A(`updateItem`,{params:{path:k(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:{name:n.name,parentItemId:n.parentItemId}}),...t}),[200],(e,t,r)=>Ut(e,n.workspaceId,n.itemId,`active`)&&e.name===n.name&&e.parentItemId===n.parentItemId&&U(r,e.revision),!1,vr)}async function Rr(e,t){let n=O(t);return P(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/trash`,{...A(`trashItem`,{params:{path:k(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>Ut(e,n.workspaceId,n.itemId,`trashed`)&&U(r,e.revision),!1,vr)}async function zr(e,t){let n=O(t);return P(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/restore`,{...A(`restoreItem`,{params:{path:k(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>Ut(e,n.workspaceId,n.itemId,`active`)&&U(r,e.revision),!1,vr)}async function Br(e,t){let n=O(t);return P(e,n.signal,409,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...A(`deleteItem`,{params:{path:k(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200,202],(e,t,r)=>Ut(e,n.workspaceId,n.itemId,`deleting`)&&U(r,e.revision),!1,vr)}async function Vr(e,t){let n=pe(t);return P(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions`,{...A(`listItemVersions`,{params:{path:k(n),query:xe(n)}}),...t}),[200],e=>Xt(e,n.limit??50),!1,yr)}async function Hr(e,t){let n=ue(t);return P(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}`,{...A(`getItemVersion`,{params:{path:{...k(n),versionId:n.versionId}}}),...t}),[200],e=>rn(e,n.workspaceId,n.itemId,n.versionId),!1,yr)}async function Ur(e,t){let n=ge(t);return P(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}/restore`,{...A(`restoreItemVersion`,{params:{path:{...k(n),versionId:n.versionId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>Zt(e,n.versionId)&&U(r,e.itemRevision),!1,vr)}async function Wr(e,t){let n=pe(t);return P(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...A(`listItemPermissions`,{params:{path:k(n),query:xe(n)}}),...t}),[200],(e,t,r)=>Qt(e,r,n.itemId))}async function Gr(e,t){let n=D(t);return P(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/effective`,{...A(`readEffectiveItemPermissions`,{params:{path:k(n)}}),...t}),[200],e=>tn(e,n.itemId))}async function Kr(e,t,n=!1){let r=_e(t);return P(e,r.signal,412,(e,t)=>e.POST(n?`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/internal`:`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...A(n?`createInternalItemPermission`:`createItemPermission`,{params:{path:k(r),header:{"Idempotency-Key":r.idempotencyKey,"If-Match":r.ifMatch}},body:{grantee:r.grantee,actions:r.actions,expiresAtEpochMilliseconds:r.expiresAtEpochMilliseconds}}),...t}),[200,201],(e,t,n)=>en(e,r.itemId)&&(t===201&&e.outcome===`committed`||t===200&&e.outcome===`replayed`)&&(t===200||e.grant.availability!==`revoked`)&&sn(n))}async function qr(e,t){let n=ve(t);return P(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing`,{...A(`registerItemRecipient`,{params:{path:k(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:{email:n.email,role:n.role,...n.expectedRecipientUserId===void 0?{}:{expectedRecipientUserId:n.expectedRecipientUserId}}}),...t}),[200,201],(e,t,r)=>en(e,n.itemId)&&(n.expectedRecipientUserId===void 0||e.grant.grantee.type===`user`&&e.grant.grantee.userId===n.expectedRecipientUserId)&&(t===201&&e.outcome===`committed`||t===200&&e.outcome===`replayed`)&&(t===200||e.grant.availability!==`revoked`)&&sn(r),!1,[...Q,`recipient_unavailable`,`registration_conflict`,`rate_limited`,`idempotency_conflict`,`invalid_idempotency_key`])}async function Jr(e,t){let n=pe(t);return P(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing/people`,{...A(`listItemSharingPeople`,{params:{path:k(n),query:xe(n)}}),...t}),[200],(e,t,r)=>$t(e,r,n.itemId))}async function Yr(e,t){let n=be(t),r={};return n.actions!==void 0&&(r.actions=n.actions),n.expiresAtEpochMilliseconds!==void 0&&(r.expiresAtEpochMilliseconds=n.expiresAtEpochMilliseconds),P(e,n.signal,412,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...A(`updateItemPermission`,{params:{path:{...k(n),grantId:n.grantId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:r}),...t}),[200],(e,t,r)=>en(e,n.itemId,n.grantId)&&e.grant.availability!==`revoked`&&sn(r))}async function Xr(e,t,n=!1){let r=ye(t);return P(e,r.signal,412,(e,t)=>e.DELETE(n?`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/internal/{grantId}`:`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...A(n?`revokeInternalItemPermission`:`revokeItemPermission`,{params:{path:{...k(r),grantId:r.grantId},header:{"Idempotency-Key":r.idempotencyKey,"If-Match":r.ifMatch}}}),...t}),[200],(e,t,n)=>en(e,r.itemId,r.grantId)&&e.grant.availability===`revoked`&&p(n.get(`drive-permission-collection-etag`)??``)!==void 0&&n.get(`drive-permission-grant-etag`)===null)}const Zr=[`local`,`development`,`staging`,`production`],Qr=/^[A-Za-z0-9_-]{1,128}$/;function $r(e){if(!e||!Zr.includes(e.environment))throw new a(`invalid_input`);let t=e.environment,n=Xe({baseUrl:e.baseUrl,getCredential:e.getProvisioningCredential,...e.fetch===void 0?{}:{fetch:e.fetch},...e.timeoutMilliseconds===void 0?{}:{timeoutMilliseconds:e.timeoutMilliseconds}});return Object.freeze({async provisionWorkspace(e,r){if(!$(e,[`version`,`environment`,`provisioningId`,`workspaceReference`,`entitlement`])||e.version!==1||e.environment!==t||typeof e.provisioningId!=`string`||!Qr.test(e.provisioningId)||!ei(e.workspaceReference)||!ti(e.entitlement))throw new a(`invalid_input`);let i={version:e.version,environment:e.environment,provisioningId:e.provisioningId,workspaceReference:{...e.workspaceReference},entitlement:{...e.entitlement}};return P(n,r?.signal,null,(e,t)=>e.POST(`/api/v1/platform/workspaces/provision`,{...t,redirect:`manual`,body:i}),[200,201],(e,t)=>ni(e,t,i),!1,[`authentication_required`,`permission_denied`,`idempotency_conflict`,`invalid_request`,`identity_authority_unavailable`,`service_unavailable`])}})}function $(e,t){return typeof e==`object`&&!!e&&!Array.isArray(e)&&Object.keys(e).length===t.length&&t.every(t=>Object.hasOwn(e,t))}function ei(e){return $(e,[`type`,`userId`])&&e.type===`personal`&&typeof e.userId==`string`&&Qr.test(e.userId)||$(e,[`type`,`organizationId`])&&e.type===`organization`&&typeof e.organizationId==`string`&&Qr.test(e.organizationId)}function ti(e){return $(e,[`version`,`managedStorageEnabled`,`managedStorageByteLimit`])&&typeof e.version==`number`&&Number.isSafeInteger(e.version)&&e.version>=0&&typeof e.managedStorageByteLimit==`number`&&Number.isSafeInteger(e.managedStorageByteLimit)&&(e.managedStorageEnabled===!0&&e.managedStorageByteLimit>0||e.managedStorageEnabled===!1&&e.managedStorageByteLimit===0)}function ni(e,t,n){if(!$(e,[`outcome`,`workspace`])||(t===201?e.outcome!==`committed`:e.outcome!==`replayed`&&e.outcome!==`superseded`)||!$(e.workspace,[`workspaceId`,`rootVolumeId`,`rootItemId`,`workspaceReference`,`entitlement`]))return!1;let{entitlement:r,...i}=e.workspace;if(!H(i)||!ti(r))return!1;let a=i.workspaceReference,o=n.workspaceReference;return(a.type!==`personal`||o.type!==`personal`||a.userId!==o.userId)&&(a.type!==`organization`||o.type!==`organization`||a.organizationId!==o.organizationId)?!1:e.outcome===`superseded`?r.version>n.entitlement.version:r.version===n.entitlement.version&&r.managedStorageEnabled===n.entitlement.managedStorageEnabled&&r.managedStorageByteLimit===n.entitlement.managedStorageByteLimit}function ri(e){let t=qn(e);return{...Jn(Sr(t)),...vt(t)}}function ii(e){let t=e.credential,n=typeof t==`string`?async()=>t:t;return xr({baseUrl:e.baseUrl,...e.fetch===void 0?{}:{fetch:e.fetch},getCredential:n,...e.timeoutMilliseconds===void 0?{}:{timeoutMilliseconds:e.timeoutMilliseconds}})}export{tr as collectOwnedItems,ri as createDriveEditingServerClient,$r as createDriveProvisioningClient,ii as createDriveServerClient,In as createDriveVisitorClient,zn as createVisitorSessionToken};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finueva/drive",
3
- "version": "0.24.0",
3
+ "version": "0.25.0",
4
4
  "description": "Public browser, Worker, and Node client for Finueva Drive",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",