@finueva/drive 0.10.0 → 0.12.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/CHANGELOG.md CHANGED
@@ -1,5 +1,42 @@
1
1
  # @finueva/drive
2
2
 
3
+ ## 0.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - bba21d3: Add optional expectedRecipientUserId to registered sharing. Drive compares the fresh Auth identity before creating a grant or storing recipient display; mismatches return a value-free registration_conflict. The SDK validates the assertion and matching successful responses.
8
+ - 6919f8f: Add registered-recipient sharing and manager-only readable people pages through `registerItemRecipient` and `listItemSharingPeople`, with normalized email, canonical UTF-8 bounds, strong grant/collection preconditions, exact replay and display-only expiring snapshots. Add incoming external-share discovery and grant-bound metadata writes using the recipient's own personal credential, without issuer membership or permission-management authority.
9
+
10
+ Use additive issued-authority table families that preserve legacy grants, collections, foreign keys and canonical history while sharing the global physical capacity budget. Local populated migration, rollback/retry and legacy/issued coexistence qualification pass.
11
+
12
+ Support external Editor new-file uploads through the existing upload API, including verified zero/nonempty transfers, status, abort and exact replay. Keep upload records in additive families while sharing workspace byte usage and global capacity, route verification jobs across both checkpoint stores, and recheck current grants before atomic publication.
13
+
14
+ Support same-workspace moves with current source/destination grant proofs, stable replay and late-revocation rollback, plus the native historical-version restore operation. Resolve legacy/external ready transfer evidence for descriptors and recheck content authority and transfer identity before URL disclosure.
15
+
16
+ Wire production recipient resolution through the published `@finueva/auth@0.15.0` server SDK with mandatory private signing keys, fresh environment/audience-bound service assertions, bounded key caching and value-free failures. Do not forward incoming User authority or perform recipient lookups on ordinary file reads.
17
+
18
+ The native API has no replacement-upload field; no replacement API is introduced. Older Workers must not serve admission traffic while external reservations are active. Local backend and packed SDK qualification do not establish deployment or hosted acceptance.
19
+
20
+ ### Patch Changes
21
+
22
+ - e7f2b98: Accept valid inherited grants in permission and sharing-people pages when their source collection revision differs from the queried item's collection revision. Preserve strong canonical ETags, safe revision bounds, grant revision and source identity checks, direct-grant collection matching, and direct-only mutation responses.
23
+
24
+ ## 0.11.0
25
+
26
+ ### Minor Changes
27
+
28
+ - 6919f8f: Add registered-recipient sharing and manager-only readable people pages through `registerItemRecipient` and `listItemSharingPeople`, with normalized email, canonical UTF-8 bounds, strong grant/collection preconditions, exact replay and display-only expiring snapshots. Add incoming external-share discovery and grant-bound metadata writes using the recipient's own personal credential, without issuer membership or permission-management authority.
29
+
30
+ Use additive issued-authority table families that preserve legacy grants, collections, foreign keys and canonical history while sharing the global physical capacity budget. Local populated migration, rollback/retry and legacy/issued coexistence qualification pass.
31
+
32
+ Support external Editor new-file uploads through the existing upload API, including verified zero/nonempty transfers, status, abort and exact replay. Keep upload records in additive families while sharing workspace byte usage and global capacity, route verification jobs across both checkpoint stores, and recheck current grants before atomic publication.
33
+
34
+ Support same-workspace moves with current source/destination grant proofs, stable replay and late-revocation rollback, plus the native historical-version restore operation. Resolve legacy/external ready transfer evidence for descriptors and recheck content authority and transfer identity before URL disclosure.
35
+
36
+ Wire production recipient resolution through the published `@finueva/auth@0.15.0` server SDK with mandatory private signing keys, fresh environment/audience-bound service assertions, bounded key caching and value-free failures. Do not forward incoming User authority or perform recipient lookups on ordinary file reads.
37
+
38
+ The native API has no replacement-upload field; no replacement API is introduced. Older Workers must not serve admission traffic while external reservations are active. Local backend and packed SDK qualification do not establish deployment or hosted acceptance.
39
+
3
40
  ## 0.10.0
4
41
 
5
42
  ### Minor Changes
package/dist/client.js CHANGED
@@ -1 +1 @@
1
- const e=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`recipient_unavailable`,`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({authentication_required:`Authentication is required.`,identity_authority_unavailable:`Authentication is temporarily unavailable.`,recipient_unavailable:`The recipient is unavailable.`,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.`}),n=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 r=class extends Error{code;status;requestId;details;constructor(e,r={}){super(e in t?t[e]:n[e]),this.name=`DriveError`,this.code=e,this.status=r.status??null,this.requestId=r.requestId??null,this.details=Object.freeze({})}};const i=/^[A-Za-z0-9_-]{16,128}$/,a=/^"drive\.permission-collection\.v1\.(0|[1-9][0-9]*)"$/,o=/^"drive\.permission-grant\.v1\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)"$/,s=/^"drive\.permission-list\.v1\.[0-9a-f]{64}"$/,c=/^"drive\.item\.v1\.(0|[1-9][0-9]*)"$/;async function l(e,t,n,i,a,o,s){let c=ee(e.headers.get(`x-request-id`));if(c===null)throw v(e),new r(`invalid_response`,{status:e.status});if(!i.includes(e.status))throw await m(e,c,t,n,o,s);if(e.status===304){let t=e.headers.get(`content-length`),n=e.headers.get(`etag`),i=e.status;if(e.body!==null||t!==null&&t!==`0`||e.headers.has(`content-type`)||n===null||!/^"[\x21\x23-\x7e]{1,1022}"$/.test(n)||!a(void 0,i,e.headers))throw v(e),new r(`invalid_response`,{status:i,requestId:c});return Object.freeze({data:void 0,status:i,requestId:c,validators:Object.freeze({etag:n})})}let{value:l}=await g(e,262144,e.status,c,t),u=e.status;if(!a(l,u,e.headers))throw new r(`invalid_response`,{status:u,requestId:c});return Object.freeze({data:l,status:u,requestId:c,validators:te(e.headers)})}async function u(e,t,n,i,a){let o=ee(e.headers.get(`x-request-id`));if(o===null)throw v(e),new r(`invalid_response`,{status:e.status});if(!i.includes(e.status))throw await m(e,o,t,n,!1,a);let s=e.headers.get(`content-length`);if(e.body!==null||s!==null&&s!==`0`||e.headers.has(`content-type`))throw v(e),new r(`invalid_response`,{status:e.status,requestId:o});return Object.freeze({data:void 0,status:e.status,requestId:o,validators:Object.freeze({})})}function d(e){let t=a.exec(e);if(!t)return;let n=Number(t[1]);return Number.isSafeInteger(n)?n:void 0}function f(e){let t=o.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 p(e){let t=c.exec(e);if(!t)return;let n=Number(t[1]);return Number.isSafeInteger(n)?n:void 0}async function m(n,a,o,s,c,l){let u;try{u=await g(n,16384,n.status,a,o)}catch(e){return e instanceof r&&e.code===`aborted`?e:new r(`invalid_response`,{status:n.status,requestId:a})}let d=u.value;if(!y(d,[`error`])||!y(d.error,[`code`,`message`,`requestId`,`details`]))return new r(`invalid_response`,{status:n.status,requestId:a});let f=d.error;return typeof f.code!=`string`||!e.includes(f.code)||f.message!==t[f.code]||!i.test(String(f.requestId))||f.requestId!==a||!y(f.details,[])||!h(f.code,n.status,s,c,l)||u.text!==JSON.stringify(d)?new r(`invalid_response`,{status:n.status,requestId:a}):new r(f.code,{status:n.status,requestId:f.requestId})}function h(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],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 g(e,t,n,i,a){if(!e.body)throw new r(`invalid_response`,{status:n,requestId:i});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 r(`invalid_response`,{status:n,requestId:i});let f=new AbortController,p=setTimeout(()=>f.abort(),5e3);try{for(;;){if(a?.aborted)throw new r(`aborted`);let{done:e,value:d}=await _(o,a,f.signal);if(e)break;if(l+=1,c+=d.byteLength,l>256||c>t)throw new r(`invalid_response`,{status:n,requestId:i});u+=s.decode(d,{stream:!0})}return u+=s.decode(),{value:JSON.parse(u),text:u}}catch(e){throw e instanceof r?e.code===`aborted`||a?.aborted?new r(`aborted`):e:new r(`invalid_response`,{status:n,requestId:i})}finally{clearTimeout(p),o.cancel().catch(()=>{})}}async function _(e,t,n){if(t?.aborted)throw new r(`aborted`);if(n.aborted)throw new r(`invalid_response`);let i=()=>{},a=()=>{},o=new Promise((e,n)=>{if(!t)return;let a=()=>n(new r(`aborted`));t.addEventListener(`abort`,a,{once:!0}),i=()=>t.removeEventListener(`abort`,a)}),s=new Promise((e,t)=>{let i=()=>t(new r(`invalid_response`));n.addEventListener(`abort`,i,{once:!0}),a=()=>n.removeEventListener(`abort`,i)});try{return await Promise.race([e.read(),o,s])}finally{i(),a()}}function v(e){e.body?.cancel().catch(()=>{})}function ee(e){return e!==null&&i.test(e)?e:null}function te(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&&(s.test(t)||p(t)!==void 0)?{etag:t}:{},...n!==null&&d(n)!==void 0?{permissionCollectionEtag:n}:{},...r!==null&&f(r)!==void 0?{permissionGrantEtag:r}:{}})}function y(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 b=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,x=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,S=/^drive\.volume\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,C=/^drive\.grant\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,ne=/^drive\.upload\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,w=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,re=/^drive\.retrieval\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,T=/^drive\.cursor\.v1\.[A-Za-z0-9_-]+$/,E=/^[A-Za-z0-9_-]{1,128}$/,D=/^"drive\.permission-grant\.v1\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)"$/,O=/^"drive\.permission-list\.v1\.[0-9a-f]{64}"$/,k=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),A=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:manage`,`items:permissions:read`,`items:update`]),j=33554432e4,M=32*1024*1024,ie=/^sha256:[0-9a-f]{64}$/,ae=new TextEncoder;function oe(e){if(!I(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(!I(n,[`workspaceId`,`itemId`])||typeof n.workspaceId!=`string`||!x.test(n.workspaceId)||typeof n.itemId!=`string`||!b.test(n.itemId))return!1;let e=`${n.workspaceId}/${n.itemId}`;if(t&&t>=e)return!1;t=e}return!0}function se(e){if(!I(e,[`workspaceId`,`provider`,`usedBytes`,`reservedBytes`,`limitBytes`,`availableBytes`,`accounting`,`reservedBytesIncludeUnresolvedUploads`,`unresolvedReservedBytes`,`warnings`])||typeof e.workspaceId!=`string`||!x.test(e.workspaceId)||e.provider!==`managed`||e.accounting!==`current-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 ce(e){if(!I(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(!I(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`||!S.test(e.volumeId)||e.provider!==`managed`||e.creatorUserId!==null&&(typeof e.creatorUserId!=`string`||!E.test(e.creatorUserId))||![e.createdAtEpochMilliseconds,e.modifiedAtEpochMilliseconds,e.trashedAtEpochMilliseconds,e.purgeAfterEpochMilliseconds].every(e=>e===null||F(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`||!x.test(n.workspaceId)||typeof n.itemId!=`string`||!b.test(n.itemId)||n.parentId===null||n.parentId===n.itemId||!_e(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:!F(e.trashedAtEpochMilliseconds)||!F(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}function le(e){if(!I(e,[`workspace`,`volumes`,`knownProviders`,`externalConnectionsSupported`])||!ue(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 I(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 ue(e){if(!I(e,[`workspaceId`,`rootVolumeId`,`rootItemId`,`workspaceReference`])||typeof e.workspaceId!=`string`||!x.test(e.workspaceId)||typeof e.rootVolumeId!=`string`||!S.test(e.rootVolumeId)||typeof e.rootItemId!=`string`||!b.test(e.rootItemId))return!1;let t=e.workspaceReference;return I(t,[`type`,`userId`])&&t.type===`personal`&&typeof t.userId==`string`&&E.test(t.userId)||I(t,[`type`,`organizationId`])&&t.type===`organization`&&typeof t.organizationId==`string`&&E.test(t.organizationId)}function de(e){return!I(e,[`mode`,`method`,`url`,`headers`,`expiresAtEpochMilliseconds`,`response`])||e.mode!==`presigned-single`||e.method!==`GET`&&e.method!==`HEAD`||typeof e.url!=`string`||!Ze(e.url)||!F(e.expiresAtEpochMilliseconds)||!I(e.headers,[`if-match`])&&!I(e.headers,[`if-match`,`range`])||typeof e.headers[`if-match`]!=`string`||!Xe(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))||!I(e.response,[`status`,`versionId`,`byteLength`,`contentLength`,`contentType`,`contentDisposition`,`etag`,`acceptRanges`,`contentRange`])||e.response.status!==200&&e.response.status!==206||typeof e.response.versionId!=`string`||!w.test(e.response.versionId)||!F(e.response.byteLength)||!F(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`||!fe(e)?!1:(Object.freeze(e.headers),Object.freeze(e.response),Object.freeze(e),!0)}function fe(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(F)&&i===o&&a===s&&c===t.byteLength&&i<=a&&a<c&&t.contentLength===a-i+1}function pe(e){return I(e,[`mode`,`operationId`,`versionId`,`state`,`pollAfterSeconds`])&&e.mode===`restore-pending`&&typeof e.operationId==`string`&&re.test(e.operationId)&&typeof e.versionId==`string`&&w.test(e.versionId)&&(e.state===`pending`||e.state===`restoring`)&&F(e.pollAfterSeconds)&&e.pollAfterSeconds>=1&&e.pollAfterSeconds<=60}function me(e,t,n){return I(e,[`items`,`nextCursor`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(he)&&(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&T.test(e.nextCursor))?e.items.every(e=>e.workspaceId===t&&e.parentItemId===n)&&Ye(e.items,e=>e.itemId):!1}function he(e){return I(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`visibility`,`revision`])&&typeof e.workspaceId==`string`&&x.test(e.workspaceId)&&typeof e.volumeId==`string`&&S.test(e.volumeId)&&typeof e.itemId==`string`&&b.test(e.itemId)&&typeof e.parentItemId==`string`&&b.test(e.parentItemId)&&(e.kind===`file`||e.kind===`folder`)&&P(e.name)&&(e.visibility===`workspace`||e.visibility===`restricted`)&&F(e.revision)}function ge(e,t,n,r){return!I(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`state`,`revision`,`purgeAfterEpochMilliseconds`])||e.workspaceId!==t||e.itemId!==n||typeof e.volumeId!=`string`||!S.test(e.volumeId)||typeof e.parentItemId!=`string`||!b.test(e.parentItemId)||e.kind!==`file`&&e.kind!==`folder`||!P(e.name)||e.state!==r||!F(e.revision)||(e.state===`active`?e.purgeAfterEpochMilliseconds!==null:!F(e.purgeAfterEpochMilliseconds))?!1:(Object.freeze(e),!0)}function _e(e,t,n){return!I(e,[`workspaceId`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`])||e.workspaceId!==t||e.itemId!==n||!(e.parentId===null||typeof e.parentId==`string`&&b.test(e.parentId))||e.type!==`file`&&e.type!==`folder`||!P(e.name)||e.lifecycleState!==`active`||!F(e.revision)||(e.type===`folder`?e.currentVersion!==null:!ye(e.currentVersion))?!1:(e.currentVersion!==null&&Object.freeze(e.currentVersion),Object.freeze(e),!0)}function ve(e,t,n,r){if(!I(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>r||!e.items.every(e=>be(e,t,n))||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&T.test(e.nextCursor))||e.items.length===0&&e.nextCursor!==null||new Set(e.items.map(e=>e.itemId)).size!==e.items.length||!xe(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 N(e,t){let n=e.get(`etag`);return n!==null&&p(n)===t}function ye(e){return I(e,[`versionId`,`state`,`byteLength`,`mediaType`,`protectionClassification`])&&typeof e.versionId==`string`&&w.test(e.versionId)&&e.state===`current`&&F(e.byteLength)&&Ke(e.mediaType)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)}function be(e,t,n){return I(e,[`workspaceId`,`volumeId`,`provider`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`])&&e.workspaceId===t&&typeof e.volumeId==`string`&&S.test(e.volumeId)&&e.provider===`managed`&&typeof e.itemId==`string`&&b.test(e.itemId)&&(e.parentId===null||typeof e.parentId==`string`&&b.test(e.parentId))&&(e.type===`file`||e.type===`folder`)&&P(e.name)&&e.name.startsWith(n)&&e.lifecycleState===`active`&&F(e.revision)&&(e.type===`folder`?e.currentVersion===null:ye(e.currentVersion))}function xe(e){for(let t=1;t<e.length;t+=1){let n=e[t-1],r=e[t],i=Se(n.name,r.name);if(i>0||i===0&&n.itemId>=r.itemId)return!1}return!0}function Se(e,t){let n=ae.encode(e),r=ae.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 Ce(e,t){if(!I(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>t||!e.items.every(Ie)||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&T.test(e.nextCursor))||e.nextCursor!==null&&e.items.length===0||!Ye(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 we(e,t){return!I(e,[`itemRevision`,`currentVersionId`])||!F(e.itemRevision)||e.currentVersionId!==t?!1:(Object.freeze(e),!0)}function Te(e,t,n,r=O){if(!(I(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(Ve)&&(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&T.test(e.nextCursor))&&F(e.collectionRevision)&&typeof e.collectionEtag==`string`&&d(e.collectionEtag)===e.collectionRevision))return!1;let i=t.get(`drive-permission-collection-etag`),a=t.get(`etag`),o=e.collectionRevision;return F(o)?i===e.collectionEtag&&a!==null&&r.test(a)&&e.items.every(e=>(e.source===`direct`?e.sourceItemId===n:e.sourceItemId!==n)&&e.etag===Ge(o,e.revision))&&Ye(e.items,e=>`${e.sourceItemId}\0${e.grantId}`):!1}function Ee(e,t,n){if(!I(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])||!Array.isArray(e.items)||e.items.length>50)return!1;let r=[];for(let t of e.items){if(!I(t,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`,`etag`,`recipient`]))return!1;let{recipient:e,...n}=t;if(!Ve(n)||e!==null&&(!I(e,[`userId`,`name`,`email`,`resolvedAt`,`expiresAt`])||n.grantee.type!==`user`||e.userId!==n.grantee.userId||typeof e.name!=`string`||e.name.length<1||ae.encode(e.name).byteLength>1024||typeof e.email!=`string`||e.email.length<3||ae.encode(e.email).byteLength>320||!e.email.includes(`@`)||!F(e.resolvedAt)||!F(e.expiresAt)||e.expiresAt!==e.resolvedAt+864e5))return!1;r.push(n)}return Te({...e,items:r},t,n,/^"drive\.sharing-people\.v1\.[0-9a-f]{64}"$/)}function De(e,t,n){if(!I(e,[`outcome`,`grant`,`collectionRevision`])||e.outcome!==`committed`&&e.outcome!==`replayed`||!F(e.collectionRevision))return!1;let r=e.grant;return I(r,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`])&&r.source===`direct`&&typeof r.sourceItemId==`string`&&r.sourceItemId===t&&typeof r.grantId==`string`&&C.test(r.grantId)&&(n===void 0||r.grantId===n)&&He(r.grantee)&&Ue(r.actions)&&[`active`,`expired`,`revoked`].includes(String(r.availability))&&(r.expiresAtEpochMilliseconds===null||F(r.expiresAtEpochMilliseconds))&&F(r.revision)}function Oe(e,t){if(!I(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||!I(r,[`action`,`allowed`,`basis`,`sourceItemId`,`grantId`])||r.action!==A[n]||typeof r.allowed!=`boolean`||!(r.basis===null||[`workspace_visibility`,`restricted_administrator_bypass`,`direct_grant`,`inherited_grant`].includes(String(r.basis)))||!(r.sourceItemId===null||typeof r.sourceItemId==`string`&&b.test(r.sourceItemId))||!(r.grantId===null||typeof r.grantId==`string`&&C.test(r.grantId))||!We(r,t))return!1}return!0}function ke(e,t){return!I(e,[`itemId`,`versionId`,`uploadId`,`mode`,`partByteLength`,`partCount`,`revision`,`expiresAtEpochMilliseconds`])||typeof e.itemId!=`string`||!b.test(e.itemId)||typeof e.versionId!=`string`||!w.test(e.versionId)||typeof e.uploadId!=`string`||!ne.test(e.uploadId)||e.mode!==`presigned-multipart`&&e.mode!==`server-mediated-zero-byte`||e.partByteLength!==M||!F(e.partCount)||e.partCount>1e4||e.partCount!==Math.ceil(t/M)||(t===0?e.mode!==`server-mediated-zero-byte`:e.mode!==`presigned-multipart`)||!F(e.revision)||!F(e.expiresAtEpochMilliseconds)||e.expiresAtEpochMilliseconds<=Date.now()?!1:(Object.freeze(e),!0)}function Ae(e,t,n){if(!I(e,[`itemId`,`versionId`,`uploadId`,`mode`,`lifecycle`,`revision`,`partPolicy`,`confirmedParts`,`nextAfterPartNumber`,`expiresAtEpochMilliseconds`,`ready`],[`verification`])||typeof e.itemId!=`string`||!b.test(e.itemId)||typeof e.versionId!=`string`||!w.test(e.versionId)||typeof e.uploadId!=`string`||!ne.test(e.uploadId)||e.mode!==`presigned-multipart`&&e.mode!==`server-mediated-zero-byte`||![`initiating`,`recovery-required`,`uploading`,`completing`,`provider-completed`,`verifying`,`failed`,`ready`,`aborting`,`aborted`].includes(String(e.lifecycle))||!F(e.revision)||!I(e.partPolicy,[`partByteLength`,`partCount`,`maxParts`])||e.partPolicy.partByteLength!==M||!F(e.partPolicy.partCount)||e.partPolicy.partCount>1e4||e.partPolicy.maxParts!==1e4||(e.mode===`server-mediated-zero-byte`?e.partPolicy.partCount!==0:e.partPolicy.partCount<1)||!Array.isArray(e.confirmedParts)||e.confirmedParts.length>n||!F(e.expiresAtEpochMilliseconds))return!1;let r=t;if(e.verification!==void 0){let t=e.verification;if(!I(t,[`state`,`verifiedByteLength`,`totalByteLength`,`revision`])||![`pending`,`verified`,`failed`].includes(String(t.state))||!F(t.verifiedByteLength)||!F(t.totalByteLength)||t.totalByteLength>j||t.verifiedByteLength>t.totalByteLength||!F(t.revision)||t.state===`verified`&&t.verifiedByteLength!==t.totalByteLength)return!1;Object.freeze(t)}if([`verifying`,`failed`].includes(String(e.lifecycle))&&e.verification===void 0)return!1;for(let t of e.confirmedParts){if(!I(t,[`partNumber`,`checksumSha256`])||!F(t.partNumber)||t.partNumber<=r||t.partNumber>e.partPolicy.partCount||!Fe(t.checksumSha256))return!1;r=t.partNumber}if(!(e.nextAfterPartNumber===null||F(e.nextAfterPartNumber)&&e.confirmedParts.length===n&&e.nextAfterPartNumber===r)||e.mode===`server-mediated-zero-byte`&&(e.confirmedParts.length!==0||e.nextAfterPartNumber!==null)||e.lifecycle===`ready`!=(e.ready!==null)||e.ready!==null&&(!Ne(e.ready,{uploadId:e.uploadId})||e.ready.itemId!==e.itemId||e.ready.versionId!==e.versionId||!I(e.verification,[`state`,`verifiedByteLength`,`totalByteLength`,`revision`])||e.verification.state!==`verified`||e.verification.totalByteLength!==e.ready.byteLength))return!1;Object.freeze(e.partPolicy);for(let t of e.confirmedParts)Object.freeze(t);return Object.freeze(e.confirmedParts),Object.freeze(e),!0}function je(e,t,n,r){return!I(e,[`url`,`method`,`headers`,`partNumber`,`expectedByteLength`,`expiresAtEpochMilliseconds`])||!qe(e.url,n)||e.method!==`PUT`||!r||!I(e.headers,[`content-md5`])||e.headers[`content-md5`]!==r||e.partNumber!==t||!F(e.expectedByteLength)||e.expectedByteLength<1||e.expectedByteLength>M||!F(e.expiresAtEpochMilliseconds)||e.expiresAtEpochMilliseconds<=Date.now()?!1:(Object.freeze(e.headers),Object.freeze(e),!0)}function Me(e,t,n){return!I(e,[`partNumber`,`revision`])||e.partNumber!==t||e.revision!==n+1||!F(e.revision)?!1:(Object.freeze(e),!0)}function Ne(e,t){return!I(e,[`itemId`,`versionId`,`uploadId`,`byteLength`,`callerDeclaredContentDigest`,`displayFilename`,`mediaType`,`state`])||typeof e.itemId!=`string`||!b.test(e.itemId)||typeof e.versionId!=`string`||!w.test(e.versionId)||e.uploadId!==t.uploadId||!F(e.byteLength)||e.byteLength<0||e.byteLength>j||typeof e.callerDeclaredContentDigest!=`string`||!ie.test(e.callerDeclaredContentDigest)||!P(e.displayFilename)||!Ke(e.mediaType)||e.state!==`ready`||t.byteLength!==void 0&&e.byteLength!==t.byteLength||t.callerDeclaredContentDigest!==void 0&&e.callerDeclaredContentDigest!==t.callerDeclaredContentDigest||t.displayFilename!==void 0&&e.displayFilename!==t.displayFilename||t.mediaType!==void 0&&e.mediaType!==t.mediaType?!1:(Object.freeze(e),!0)}function Pe(e,t){return!I(e,[`itemId`,`versionId`,`uploadId`,`state`,`verifiedByteLength`,`totalByteLength`,`verificationRevision`])||typeof e.itemId!=`string`||!b.test(e.itemId)||typeof e.versionId!=`string`||!w.test(e.versionId)||e.uploadId!==t||e.state!==`verifying`||!F(e.verifiedByteLength)||!F(e.totalByteLength)||e.totalByteLength>j||e.verifiedByteLength>e.totalByteLength||!F(e.verificationRevision)?!1:(Object.freeze(e),!0)}function Fe(e){return typeof e==`string`&&/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/.test(e)}function Ie(e){let t=I(e,Re)&&ze(e);return t&&Object.freeze(e),t}function Le(e,t,n,r){let i=I(e,[...Re,`workspaceId`,`itemId`])&&e.workspaceId===t&&e.itemId===n&&e.versionId===r&&ze(e);return i&&Object.freeze(e),i}const Re=Object.freeze([`versionId`,`state`,`revision`,`byteLength`,`contentDigest`,`mediaType`,`displayFilename`,`protectionClassification`,`archiveState`]);function ze(e){return typeof e.versionId==`string`&&w.test(e.versionId)&&(e.state===`current`||e.state===`superseded`)&&F(e.revision)&&F(e.byteLength)&&typeof e.contentDigest==`string`&&ie.test(e.contentDigest)&&Ke(e.mediaType)&&P(e.displayFilename)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)&&[`available`,`cold`,`restoring`,`unavailable`,`corrupt`].includes(String(e.archiveState))}function Be(e){let t=e.get(`drive-permission-collection-etag`),n=e.get(`drive-permission-grant-etag`),r=t===null?void 0:d(t);if(r===void 0)return!1;if(n===null)return!0;let i=f(n);return i!==void 0&&i[0]===r}function Ve(e){return I(e,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`,`etag`])&&(e.source===`direct`||e.source===`inherited`)&&typeof e.sourceItemId==`string`&&b.test(e.sourceItemId)&&typeof e.grantId==`string`&&C.test(e.grantId)&&He(e.grantee)&&Ue(e.actions)&&[`active`,`expired`,`revoked`].includes(String(e.availability))&&(e.expiresAtEpochMilliseconds===null||F(e.expiresAtEpochMilliseconds))&&F(e.revision)&&typeof e.etag==`string`&&D.test(e.etag)}function He(e){return I(e,[`type`,`userId`])&&e.type===`user`&&typeof e.userId==`string`&&E.test(e.userId)||I(e,[`type`,`teamId`])&&e.type===`team`&&typeof e.teamId==`string`&&E.test(e.teamId)}function Ue(e){return Array.isArray(e)&&e.length>=1&&e.length<=6&&new Set(e).size===e.length&&e.every(e=>k.includes(e))&&e.every((t,n)=>n===0||k.indexOf(t)>k.indexOf(e[n-1]))}function We(e,t){return e.allowed?e.basis===`workspace_visibility`||e.basis===`restricted_administrator_bypass`?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 Ge(e,t){return`"drive.permission-grant.v1.${e}.${t}"`}function P(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||Je(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 Ke(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 qe(e,t){if(typeof e!=`string`||e.length<1||e.length>8192||e!==e.trim())return!1;try{let n=new URL(e),r=n.hostname===`localhost`||n.hostname===`127.0.0.1`||n.hostname===`[::1]`;return(n.protocol===`https:`||n.protocol===`http:`&&t&&r)&&n.username===``&&n.password===``&&n.hash===``&&n.host!==``}catch{return!1}}function Je(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 Ye(e,t){return e.every((n,r)=>r===0||t(e[r-1])<t(n))}function F(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function Xe(e){return/^"[\x21\x23-\x7e]{1,1022}"$/.test(e)}function Ze(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 I(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))}const Qe=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,L=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,$e=/^drive\.grant\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,et=/^drive\.upload\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,tt=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,nt=/^drive\.cursor\.v1\.[A-Za-z0-9_-]+$/,rt=/^[A-Za-z0-9_-]{1,128}$/,it=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),at=/^[A-Za-z0-9_-]{16,128}$/,ot=/^sha256:[0-9a-f]{64}$/,st=/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/,ct=33554432e4;function lt(e){let t=U(H(e===void 0?{}:e,[],[`signal`]).signal);return t===void 0?{}:{signal:t}}function ut(e){let t=H(e===void 0?{}:e,[],[`signal`,`limit`,`cursor`]),n=U(t.signal);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 r(`invalid_input`);return{signal:n,query:{...t.limit===void 0?{}:{limit:t.limit},...t.cursor===void 0?{}:{cursor:t.cursor}}}}function dt(e,t){let n=H(e,[`workspaceId`],t?[`signal`,`view`,`kind`,`creatorUserId`,`limit`,`cursor`]:[`signal`]),i=U(n.signal);if(typeof n.workspaceId!=`string`||!L.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`||!rt.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 r(`invalid_input`);return{workspaceId:n.workspaceId,signal:i,query:{...n.view===void 0?{}:{view:n.view},...n.kind===void 0?{}:{kind:n.kind},...n.creatorUserId===void 0?{}:{creatorUserId:n.creatorUserId},...n.limit===void 0?{}:{limit:n.limit},...n.cursor===void 0?{}:{cursor:n.cursor}}}}function R(e){let t=H(e,[`workspaceId`,`itemId`],[`signal`]),n=t.workspaceId,i=t.itemId,a=U(t.signal);if(typeof n!=`string`||!L.test(n)||typeof i!=`string`||!Qe.test(i))throw new r(`invalid_input`);return{workspaceId:n,itemId:i,...a===void 0?{}:{signal:a}}}function ft(e){let t=H(e,[`workspaceId`,`itemId`,`versionId`],[`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!tt.test(t.versionId))throw new r(`invalid_input`);return{...n,versionId:t.versionId}}function pt(e){let t=H(e,[`workspaceId`,`itemId`,`idempotencyKey`],[`versionId`,`method`,`range`,`ifMatch`,`ifNoneMatch`,`ifRange`,`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),i=t.method??`GET`;if(!W(t.idempotencyKey)||t.versionId!==void 0&&(typeof t.versionId!=`string`||!tt.test(t.versionId))||i!==`GET`&&i!==`HEAD`||t.range!==void 0&&(typeof t.range!=`string`||t.range.length>128||!/^bytes=(?:[0-9]+-[0-9]*|-[0-9]+)$/.test(t.range))||!Ht(t.ifMatch)||!Ht(t.ifNoneMatch)||!Ht(t.ifRange))throw new r(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey,method:i,...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 mt(e){let t=H(e,[`workspaceId`,`query`],[`limit`,`cursor`,`signal`]),n=U(t.signal);if(typeof t.workspaceId!=`string`||!L.test(t.workspaceId)||!Rt(t.query)||t.limit!==void 0&&(!K(t.limit)||t.limit<1||t.limit>50)||t.cursor!==void 0&&(typeof t.cursor!=`string`||t.cursor.length>699||!nt.test(t.cursor)))throw new r(`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 ht(e){let t=H(e,[`workspaceId`,`itemId`],[`signal`,`limit`,`cursor`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),i=t.limit,a=t.cursor;if(i!==void 0&&(!Number.isSafeInteger(i)||typeof i!=`number`||i<1||i>50)||a!==void 0&&(typeof a!=`string`||a.length>699||!nt.test(a)))throw new r(`invalid_input`);return{...n,...i===void 0?{}:{limit:i},...a===void 0?{}:{cursor:a}}}function gt(e){let t=H(e,[`workspaceId`,`itemId`,`name`,`idempotencyKey`],[`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!Bt(t.name)||!W(t.idempotencyKey))throw new r(`invalid_input`);return{...n,name:t.name,idempotencyKey:t.idempotencyKey}}function _t(e){let t=H(e,[`workspaceId`,`itemId`,`name`,`parentItemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=z({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(!Bt(t.name)||typeof t.parentItemId!=`string`||!Qe.test(t.parentItemId))throw new r(`invalid_input`);return{...n,name:t.name,parentItemId:t.parentItemId}}function z(e){let t=H(e,[`workspaceId`,`itemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!W(t.idempotencyKey)||typeof t.ifMatch!=`string`||p(t.ifMatch)===void 0)throw new r(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch}}function vt(e){let t=H(e,[`workspaceId`,`itemId`,`versionId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=z({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!tt.test(t.versionId))throw new r(`invalid_input`);return{...n,versionId:t.versionId}}function yt(e){let t=H(e,[`workspaceId`,`itemId`,`grantee`,`actions`,`expiresAtEpochMilliseconds`,`ifMatch`,`idempotencyKey`],[`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),i=jt(t.grantee),a=Mt(t.actions),o=t.expiresAtEpochMilliseconds;if(!zt(o)||typeof t.ifMatch!=`string`||d(t.ifMatch)===void 0||!W(t.idempotencyKey))throw new r(`invalid_input`);return{...n,grantee:i,actions:a,expiresAtEpochMilliseconds:o,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function bt(e){let t=H(e,[`workspaceId`,`itemId`,`email`,`role`,`ifMatch`,`idempotencyKey`],[`signal`]),n=R({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`||d(t.ifMatch)===void 0||!W(t.idempotencyKey))throw new r(`invalid_input`);let i=t.email.trim().toLowerCase();if(!i.includes(`@`)||/\s/.test(i)||new TextEncoder().encode(i).byteLength>320)throw new r(`invalid_input`);return{...n,email:i,role:t.role,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function xt(e){let t=H(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.grantId!=`string`||!$e.test(t.grantId)||typeof t.ifMatch!=`string`||f(t.ifMatch)===void 0||!W(t.idempotencyKey))throw new r(`invalid_input`);return{...n,grantId:t.grantId,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function St(e){let t=H(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`,`actions`,`expiresAtEpochMilliseconds`]),n=xt({workspaceId:t.workspaceId,itemId:t.itemId,grantId:t.grantId,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey,...t.signal===void 0?{}:{signal:t.signal}}),i=t.actions===void 0?void 0:Mt(t.actions),a=t.expiresAtEpochMilliseconds;if(i===void 0&&a===void 0||a!==void 0&&!zt(a))throw new r(`invalid_input`);return{...n,...i===void 0?{}:{actions:i},...a===void 0?{}:{expiresAtEpochMilliseconds:a}}}function Ct(e){let t=H(e,[`workspaceId`,`parentItemId`,`expectedByteLength`,`displayFilename`,`mediaType`,`callerDeclaredContentDigest`,`protectionClassification`,`idempotencyKey`],[`signal`]),n=U(t.signal);if(typeof t.workspaceId!=`string`||!L.test(t.workspaceId)||typeof t.parentItemId!=`string`||!Qe.test(t.parentItemId)||typeof t.expectedByteLength!=`number`||!Number.isSafeInteger(t.expectedByteLength)||t.expectedByteLength<0||t.expectedByteLength>ct||!Bt(t.displayFilename)||!Lt(t.mediaType)||typeof t.callerDeclaredContentDigest!=`string`||!ot.test(t.callerDeclaredContentDigest)||t.protectionClassification!==`ordinary`&&t.protectionClassification!==`opaque-encrypted`||!W(t.idempotencyKey))throw new r(`invalid_input`);return{workspaceId:t.workspaceId,parentItemId:t.parentItemId,expectedByteLength:t.expectedByteLength,displayFilename:t.displayFilename,mediaType:t.mediaType,callerDeclaredContentDigest:t.callerDeclaredContentDigest,protectionClassification:t.protectionClassification,idempotencyKey:t.idempotencyKey,...n===void 0?{}:{signal:n}}}function wt(e){let t=H(e,[`workspaceId`,`uploadId`],[`afterPartNumber`,`limit`,`signal`]),n=G(t.workspaceId,t.uploadId,t.signal);if(t.afterPartNumber!==void 0&&(!K(t.afterPartNumber)||t.afterPartNumber>1e4)||t.limit!==void 0&&(!K(t.limit)||t.limit<1||t.limit>100))throw new r(`invalid_input`);return{...n,...t.afterPartNumber===void 0?{}:{afterPartNumber:t.afterPartNumber},...t.limit===void 0?{}:{limit:t.limit}}}function Tt(e){let t=H(e,[`workspaceId`,`uploadId`,`partNumber`,`checksumSha256`,`contentMd5`],[`signal`]),n=G(t.workspaceId,t.uploadId,t.signal);if(!Pt(t.partNumber)||!Ft(t.checksumSha256)||typeof t.contentMd5!=`string`||!/^[A-Za-z0-9+/]{21}[AQgw]==$/.test(t.contentMd5))throw new r(`invalid_input`);return{...n,partNumber:t.partNumber,checksumSha256:t.checksumSha256,contentMd5:t.contentMd5}}function Et(e){let t=H(e,[`workspaceId`,`uploadId`,`partNumber`,`expectedUploadRevision`,`byteLength`,`etag`,`checksumSha256`],[`signal`]),n=G(t.workspaceId,t.uploadId,t.signal);if(!Pt(t.partNumber)||!K(t.expectedUploadRevision)||t.expectedUploadRevision>=2**53-1||!K(t.byteLength)||t.byteLength<1||t.byteLength>33554432||!It(t.etag)||!Ft(t.checksumSha256))throw new r(`invalid_input`);return{...n,partNumber:t.partNumber,expectedUploadRevision:t.expectedUploadRevision,byteLength:t.byteLength,etag:t.etag,checksumSha256:t.checksumSha256}}function Dt(e){let t=H(e,[`workspaceId`,`uploadId`,`idempotencyKey`],[`signal`]),n=G(t.workspaceId,t.uploadId,t.signal);if(!W(t.idempotencyKey))throw new r(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey}}function Ot(e){let t=H(e,[`workspaceId`,`uploadId`],[`signal`]);return G(t.workspaceId,t.uploadId,t.signal)}function kt(e){let t=H(e,[`workspaceId`,`parentItemId`,`source`,`displayFilename`,`idempotencyKey`,`completionIdempotencyKey`],[`mediaType`,`protectionClassification`,`signal`,`onProgress`]),n=U(t.signal),i=t.mediaType??`application/octet-stream`,a=t.protectionClassification??`ordinary`,o,s;try{if(!(t.source instanceof Blob))throw new r(`invalid_input`);o=t.source,s=o.size}catch(e){throw e instanceof r?e:new r(`invalid_input`)}if(typeof t.workspaceId!=`string`||!L.test(t.workspaceId)||typeof t.parentItemId!=`string`||!Qe.test(t.parentItemId)||!Number.isSafeInteger(s)||s<0||s>ct||!Bt(t.displayFilename)||!Lt(i)||a!==`ordinary`&&a!==`opaque-encrypted`||!W(t.idempotencyKey)||!W(t.completionIdempotencyKey)||t.onProgress!==void 0&&typeof t.onProgress!=`function`)throw new r(`invalid_input`);return{workspaceId:t.workspaceId,parentItemId:t.parentItemId,source:o,byteLength:s,displayFilename:t.displayFilename,mediaType:i,protectionClassification:a,idempotencyKey:t.idempotencyKey,completionIdempotencyKey:t.completionIdempotencyKey,...n===void 0?{}:{signal:n},...t.onProgress===void 0?{}:{onProgress:t.onProgress}}}function B(e){return{workspaceId:e.workspaceId,itemId:e.itemId}}function At(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor===void 0?{}:{cursor:e.cursor}}}function V(e,t){return t}function H(e,t,n){try{if(typeof e!=`object`&&typeof e!=`function`||e===null||Array.isArray(e))throw new r(`invalid_input`);let i=Object.getOwnPropertyDescriptors(e),a=Reflect.ownKeys(i),o=new Set([...t,...n]);if(a.some(e=>typeof e!=`string`||!o.has(e))||t.some(e=>!Object.hasOwn(i,e)))throw new r(`invalid_input`);let s={};for(let e of a){if(typeof e!=`string`)throw new r(`invalid_input`);let t=i[e];if(!t||!(`value`in t)||!t.enumerable)throw new r(`invalid_input`);s[e]=t.value}return s}catch(e){throw e instanceof r?e:new r(`invalid_input`)}}function U(e){if(e!==void 0){if(!(e instanceof AbortSignal))throw new r(`invalid_input`);return e}}function jt(e){let t=H(e,[`type`],[`userId`,`teamId`]);if(t.type===`user`){let t=H(e,[`type`,`userId`],[]);if(typeof t.userId==`string`&&rt.test(t.userId))return{type:`user`,userId:t.userId}}if(t.type===`team`){let t=H(e,[`type`,`teamId`],[]);if(typeof t.teamId==`string`&&rt.test(t.teamId))return{type:`team`,teamId:t.teamId}}throw new r(`invalid_input`)}function Mt(e){let t=Nt(e);if(t.length<1||t.length>it.length||new Set(t).size!==t.length||!t.every(e=>it.includes(e)))throw new r(`invalid_input`);return t}function Nt(e){try{if(!Array.isArray(e))throw new r(`invalid_input`);let t=Object.getOwnPropertyDescriptors(e);if(Reflect.ownKeys(t).some(e=>typeof e!=`string`))throw new r(`invalid_input`);let n=[];for(let i=0;i<e.length;i+=1){let e=t[String(i)];if(!e||!(`value`in e)||!e.enumerable)throw new r(`invalid_input`);n.push(e.value)}if(Reflect.ownKeys(t).length!==e.length+1)throw new r(`invalid_input`);return n}catch(e){throw e instanceof r?e:new r(`invalid_input`)}}function W(e){return typeof e==`string`&&at.test(e)}function G(e,t,n){let i=U(n);if(typeof e!=`string`||!L.test(e)||typeof t!=`string`||!et.test(t))throw new r(`invalid_input`);return{workspaceId:e,uploadId:t,...i===void 0?{}:{signal:i}}}function Pt(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=1&&e<=1e4}function Ft(e){return typeof e==`string`&&st.test(e)}function It(e){return typeof e==`string`&&e.length>=1&&e.length<=1024&&/^[\x20-\x7e]+$/.test(e)}function Lt(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 Rt(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 zt(e){return e===null||K(e)}function Bt(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||Vt(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 Vt(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 K(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function Ht(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 Ut=/\{[^{}]+\}/g,Wt=()=>typeof process==`object`&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function Gt(){return Math.random().toString(36).slice(2,11)}function Kt(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=Wt()?c:void 0,t=tn(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??Qt,pathSerializer:te,body:y,middleware:b=[],...x}=d||{},S=t;f&&(S=tn(f)??t);let C=typeof i==`function`?i:Xt(i);v&&(C=typeof v==`function`?v:Xt({...typeof i==`object`?i:{},...v}));let ne=te||o||Zt,w=y===void 0?void 0:ee(y,en(s,h,g.header)),re=en(w===void 0||w instanceof FormData?{}:{"Content-Type":`application/json`},s,h,g.header),T=[...u,...b],E={redirect:`follow`,...l,...x,body:w,headers:re},D,O,k=new m($t(e,{baseUrl:S,params:g,querySerializer:C,pathSerializer:ne}),E),A;for(let e in x)e in k||(k[e]=x[e]);if(T.length){D=Gt(),O=Object.freeze({baseUrl:S,fetch:p,parseAs:_,querySerializer:C,bodySerializer:ee,pathSerializer:ne});for(let t of T)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){let n=await t.onRequest({request:k,schemaPath:e,params:g,options:O,id:D});if(n)if(n instanceof m)k=n;else if(n instanceof Response){A=n;break}else throw Error(`onRequest: must return new Request() or Response() when modifying the request`)}}if(!A){try{A=await p(k,c)}catch(t){let n=t;if(T.length)for(let t=T.length-1;t>=0;t--){let r=T[t];if(r&&typeof r==`object`&&typeof r.onError==`function`){let t=await r.onError({request:k,error:n,schemaPath:e,params:g,options:O,id:D});if(t){if(t instanceof Response){n=void 0,A=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(T.length)for(let t=T.length-1;t>=0;t--){let n=T[t];if(n&&typeof n==`object`&&typeof n.onResponse==`function`){let t=await n.onResponse({request:k,response:A,schemaPath:e,params:g,options:O,id:D});if(t){if(!(t instanceof Response))throw Error(`onResponse: must return new Response() when modifying the response`);A=t}}}}let j=A.headers.get(`Content-Length`);if(A.status===204||k.method===`HEAD`||j===`0`&&!A.headers.get(`Transfer-Encoding`)?.includes(`chunked`))return A.ok?{data:void 0,response:A}:{error:void 0,response:A};if(A.ok)return{data:await(async()=>{if(_===`stream`)return A.body;if(_===`json`&&!j){let e=await A.text();return e?JSON.parse(e):void 0}return await A[_]()})(),response:A};let M=await A.text();try{M=JSON.parse(M)}catch{}return{error:M,response:A}}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 qt(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 Jt(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(qt(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function Yt(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(qt(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function Xt(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(Yt(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(Jt(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(qt(r,i,e))}}return n.join(`&`)}}function Zt(e,t){let n=e;for(let r of e.match(Ut)??[]){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,Yt(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,Jt(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${qt(e,o)}`);continue}n=n.replace(r,a===`label`?`.${encodeURIComponent(o)}`:encodeURIComponent(o))}return n}function Qt(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 $t(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 en(...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 tn(e){return e.endsWith(`/`)?e.substring(0,e.length-1):e}String.fromCharCode;const nn=/\/$|\/\?|\/#/,rn=/^\.?\//;function an(e=``,t){return t?nn.test(e):e.endsWith(`/`)}function on(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(an(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 sn(e){return e&&e!==`/`}function cn(e,...t){let n=e||``;for(let e of t.filter(e=>sn(e)))if(n){let t=e.replace(rn,``);n=on(n)+t}else n=e;return n}function ln(e){let t;try{t=Object.freeze({baseUrl:fn(e.baseUrl),fetchImplementation:e.fetch??globalThis.fetch.bind(globalThis),getCredential:e.getCredential,timeoutMilliseconds:un(e.timeoutMilliseconds)})}catch{throw new r(`invalid_input`)}if(typeof t.fetchImplementation!=`function`||typeof t.getCredential!=`function`)throw new r(`invalid_input`);return t}async function q(e,t,n,i,a,o,s=!1,c){let d=dn(t,e.timeoutMilliseconds);try{let t=d.signal;mn(t);let f=await pn(e.getCredential,t),p;if(await i(Kt({baseUrl:e.baseUrl,fetch:async n=>{try{let i=await J(e.fetchImplementation(n),t);if(!(i instanceof Response))throw new r(`invalid_response`);p=i}catch(e){throw e instanceof r?e:t.aborted?new r(`aborted`):new r(`network_error`)}return new Response(null,{status:204})}}),{cache:`no-store`,credentials:`omit`,headers:new Headers({authorization:`Bearer ${f}`}),signal:t}),!p)throw new r(`network_error`);return o===null?await u(p,t,n,a,c):await l(p,t,n,a,o,s,c)}catch(e){throw d.didTimeout()?new r(`timeout`):e instanceof r?e:d.signal.aborted?new r(`aborted`):new r(`network_error`)}finally{d.dispose()}}function un(e){if(e===void 0)return 3e4;if(!Number.isSafeInteger(e)||e<1||e>12e4)throw new r(`invalid_input`);return e}function dn(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 fn(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 cn(t.origin,t.pathname)}async function pn(e,t){mn(t);let n;try{n=await J(e({signal:t}),t)}catch(e){throw e instanceof r&&e.code===`aborted`?e:t.aborted?new r(`aborted`):new r(`credential_unavailable`)}if(typeof n!=`string`||n.length<1||n.length>16384||!/^[\x21-\x7e]+$/.test(n))throw new r(`credential_unavailable`);return n}function mn(e){if(e.aborted)throw new r(`aborted`)}async function J(e,t){mn(t);let n=()=>{},i=new Promise((e,i)=>{let a=()=>i(new r(`aborted`));t.addEventListener(`abort`,a,{once:!0}),n=()=>t.removeEventListener(`abort`,a)});try{return await Promise.race([e,i])}finally{n()}}const hn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`service_unavailable`]),gn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),Y=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`,`precondition_failed`,`upload_recovery_required`,`service_unavailable`]),vn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`service_unavailable`]),yn=Object.freeze([..._n,`invalid_idempotency_key`,`idempotency_conflict`,`quota_exceeded`]),bn=Object.freeze([..._n,`invalid_idempotency_key`]),xn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_idempotency_key`,`idempotency_conflict`,`precondition_failed`,`service_unavailable`]),Sn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),Cn=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 wn(e){return Object.freeze({registerItemRecipient:t=>Xn(e,t),listItemSharingPeople:t=>Zn(e,t),listIncomingShares:t=>Tn(e,t),getCurrentWorkspace:t=>Fn(e,t),listWorkspaceItems:t=>Nn(e,t),getWorkspaceUsage:t=>Pn(e,t),getCurrentWorkspaceSources:t=>Mn(e,t),getItem:t=>In(e,t),searchWorkspaceItems:t=>Ln(e,t),listFolderChildren:t=>Rn(e,t),createFolder:t=>zn(e,t),updateItem:t=>Bn(e,t),trashItem:t=>Vn(e,t),restoreItem:t=>Hn(e,t),deleteItem:t=>Un(e,t),listItemVersions:t=>Wn(e,t),getItemVersion:t=>Gn(e,t),restoreItemVersion:t=>Kn(e,t),createDownload:t=>En(e,t),downloadItem:t=>Dn(e,t),listItemPermissions:t=>qn(e,t),readEffectiveItemPermissions:t=>Jn(e,t),createItemPermission:t=>Yn(e,t),updateItemPermission:t=>Qn(e,t),revokeItemPermission:t=>$n(e,t),createUpload:t=>er(e,t),getUploadStatus:t=>tr(e,t),createUploadPartDescriptor:t=>nr(e,t),recordUploadPart:t=>rr(e,t),completeUpload:t=>ir(e,t),abortUpload:t=>ar(e,t)})}async function Tn(e,t){let n=ut(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/shares/incoming`,{...V(`listIncomingShares`,{params:{query:n.query}}),...t}),[200],oe,!1,Y)}async function En(e,t){let n=pt(t);return q(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/downloads`,{...V(`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?de(e):t===202?pe(e):e===void 0,!1,Cn)}async function Dn(e,t){let n=pt(t),i=await En(e,t);if(i.status===202||i.status===304)return i;let a=i.data;if(a.expiresAtEpochMilliseconds<=Date.now())throw new r(`invalid_response`);let o=dn(n.signal,e.timeoutMilliseconds);try{let t=await J(e.fetchImplementation(kn(a,o.signal)),o.signal);if(!An(t,a))throw await t.body?.cancel().catch(()=>void 0),new r(`invalid_response`);let i=On(a);if(a.method===`HEAD`)return await t.body?.cancel().catch(()=>void 0),o.dispose(),new Response(null,{status:t.status,headers:i});if(!t.body){if(o.dispose(),a.response.contentLength!==0)throw new r(`invalid_response`);return new Response(null,{status:t.status,headers:i})}return o.dispose(),new Response(jn(t.body,a.response.contentLength,n.signal),{status:t.status,headers:i})}catch(e){throw o.dispose(),o.didTimeout()?new r(`timeout`):e instanceof r?e:o.signal.aborted?new r(o.didTimeout()?`timeout`:`aborted`):new r(`network_error`)}}function On(e){let t=e.response,n=new Headers;return 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 kn(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 An(e,t){let n=t.response,r=e.headers.get(`content-encoding`);return 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 jn(e,t,n){let i=e.getReader(),a=0,o=!1,s=()=>{};return new ReadableStream({start(e){if(!n)return;let t=()=>{o||(o=!0,s(),i.cancel().catch(()=>void 0),e.error(new r(`aborted`)))};n.aborted?t():(n.addEventListener(`abort`,t,{once:!0}),s=()=>n.removeEventListener(`abort`,t))},async pull(e){if(!o)try{let n=await i.read();if(o)return;if(n.done)o=!0,s(),i.releaseLock(),a===t?e.close():e.error(new r(`invalid_response`));else{if(a+=n.value.byteLength,!Number.isSafeInteger(a)||a>t){o=!0,s(),await i.cancel().catch(()=>void 0),e.error(new r(`invalid_response`));return}e.enqueue(n.value)}}catch(t){if(o)return;o=!0,s(),await i.cancel().catch(()=>void 0),e.error(t instanceof r?t:n?.aborted?new r(`aborted`):new r(`network_error`))}},async cancel(e){o||(o=!0,s(),await i.cancel(e).catch(()=>void 0))}})}async function Mn(e,t){return q(e,lt(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current/sources`,{...V(`getCurrentWorkspaceSources`,{params:{}}),...t}),[200],le,!1,hn)}async function Nn(e,t){let n=dt(t,!0);return q(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items`,{...V(`listWorkspaceItems`,{params:{path:{workspaceId:n.workspaceId},query:n.query}}),...t}),[200],e=>ce(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.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,Y)}async function Pn(e,t){let n=dt(t,!1);return q(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/usage`,{...V(`getWorkspaceUsage`,{params:{path:{workspaceId:n.workspaceId}}}),...t}),[200],e=>se(e)&&e.workspaceId===n.workspaceId,!1,Y)}async function Fn(e,t){return q(e,lt(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current`,{...V(`getCurrentWorkspace`,{params:{}}),...t}),[200],ue,!1,hn)}async function In(e,t){let n=R(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...V(`getItem`,{params:{path:B(n)}}),...t}),[200],(e,t,r)=>_e(e,n.workspaceId,n.itemId)&&N(r,e.revision),!1,gn)}async function Ln(e,t){let n=mt(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/search`,{...V(`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=>ve(e,n.workspaceId,n.query,n.limit??50),!1,Y)}async function Rn(e,t){let n=ht(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...V(`listFolderChildren`,{params:{path:B(n),query:At(n)}}),...t}),[200],e=>me(e,n.workspaceId,n.itemId))}async function zn(e,t){let n=gt(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...V(`createFolder`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey}},body:{name:n.name}}),...t}),[200,201],e=>he(e)&&e.workspaceId===n.workspaceId&&e.parentItemId===n.itemId&&e.kind===`folder`&&e.name===n.name)}async function Bn(e,t){let n=_t(t);return q(e,n.signal,409,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...V(`updateItem`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:{name:n.name,parentItemId:n.parentItemId}}),...t}),[200],(e,t,r)=>ge(e,n.workspaceId,n.itemId,`active`)&&e.name===n.name&&e.parentItemId===n.parentItemId&&N(r,e.revision),!1,xn)}async function Vn(e,t){let n=z(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/trash`,{...V(`trashItem`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>ge(e,n.workspaceId,n.itemId,`trashed`)&&N(r,e.revision),!1,xn)}async function Hn(e,t){let n=z(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/restore`,{...V(`restoreItem`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>ge(e,n.workspaceId,n.itemId,`active`)&&N(r,e.revision),!1,xn)}async function Un(e,t){let n=z(t);return q(e,n.signal,409,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...V(`deleteItem`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200,202],(e,t,r)=>ge(e,n.workspaceId,n.itemId,`deleting`)&&N(r,e.revision),!1,xn)}async function Wn(e,t){let n=ht(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions`,{...V(`listItemVersions`,{params:{path:B(n),query:At(n)}}),...t}),[200],e=>Ce(e,n.limit??50),!1,Sn)}async function Gn(e,t){let n=ft(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}`,{...V(`getItemVersion`,{params:{path:{...B(n),versionId:n.versionId}}}),...t}),[200],e=>Le(e,n.workspaceId,n.itemId,n.versionId),!1,Sn)}async function Kn(e,t){let n=vt(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}/restore`,{...V(`restoreItemVersion`,{params:{path:{...B(n),versionId:n.versionId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>we(e,n.versionId)&&N(r,e.itemRevision),!1,xn)}async function qn(e,t){let n=ht(t);return q(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...V(`listItemPermissions`,{params:{path:B(n),query:At(n)}}),...t}),[200],(e,t,r)=>Te(e,r,n.itemId))}async function Jn(e,t){let n=R(t);return q(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/effective`,{...V(`readEffectiveItemPermissions`,{params:{path:B(n)}}),...t}),[200],e=>Oe(e,n.itemId))}async function Yn(e,t){let n=yt(t);return q(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...V(`createItemPermission`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:{grantee:n.grantee,actions:n.actions,expiresAtEpochMilliseconds:n.expiresAtEpochMilliseconds}}),...t}),[200,201],(e,t,r)=>De(e,n.itemId)&&(t===201&&e.outcome===`committed`||t===200&&e.outcome===`replayed`)&&(t===200||e.grant.availability!==`revoked`)&&Be(r))}async function Xn(e,t){let n=bt(t);return q(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing`,{...V(`registerItemRecipient`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:{email:n.email,role:n.role}}),...t}),[200,201],(e,t,r)=>De(e,n.itemId)&&(t===201&&e.outcome===`committed`||t===200&&e.outcome===`replayed`)&&(t===200||e.grant.availability!==`revoked`)&&Be(r),!1,[...Y,`recipient_unavailable`,`rate_limited`,`idempotency_conflict`,`invalid_idempotency_key`])}async function Zn(e,t){let n=ht(t);return q(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing/people`,{...V(`listItemSharingPeople`,{params:{path:B(n),query:At(n)}}),...t}),[200],(e,t,r)=>Ee(e,r,n.itemId))}async function Qn(e,t){let n=St(t),r={};return n.actions!==void 0&&(r.actions=n.actions),n.expiresAtEpochMilliseconds!==void 0&&(r.expiresAtEpochMilliseconds=n.expiresAtEpochMilliseconds),q(e,n.signal,412,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...V(`updateItemPermission`,{params:{path:{...B(n),grantId:n.grantId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:r}),...t}),[200],(e,t,r)=>De(e,n.itemId,n.grantId)&&e.grant.availability!==`revoked`&&Be(r))}async function $n(e,t){let n=xt(t);return q(e,n.signal,412,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...V(`revokeItemPermission`,{params:{path:{...B(n),grantId:n.grantId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>De(e,n.itemId,n.grantId)&&e.grant.availability===`revoked`&&d(r.get(`drive-permission-collection-etag`)??``)!==void 0&&r.get(`drive-permission-grant-etag`)===null)}async function er(e,t){let n=Ct(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads`,{...V(`createUpload`,{params:{path:{workspaceId:n.workspaceId},header:{"Idempotency-Key":n.idempotencyKey}},body:{parentItemId:n.parentItemId,expectedByteLength:n.expectedByteLength,displayFilename:n.displayFilename,mediaType:n.mediaType,callerDeclaredContentDigest:n.callerDeclaredContentDigest,protectionClassification:n.protectionClassification}}),...t}),[200,201],e=>ke(e,n.expectedByteLength),!0,yn)}async function tr(e,t){let n=wt(t),r=n.afterPartNumber??0,i=n.limit??100;return q(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}`,{...V(`getUploadStatus`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId},query:{...n.afterPartNumber===void 0?{}:{afterPartNumber:String(n.afterPartNumber)},...n.limit===void 0?{}:{limit:String(n.limit)}}}}),...t}),[200],e=>Ae(e,r,i)&&e.uploadId===n.uploadId,!1,vn)}async function nr(e,t){let n=Tt(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/parts`,{...V(`createUploadPartDescriptor`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId}},body:{partNumber:n.partNumber,checksumSha256:n.checksumSha256,contentMd5:n.contentMd5}}),...t}),[200],t=>je(t,n.partNumber,new URL(e.baseUrl).protocol===`http:`,n.contentMd5),!1,_n)}async function rr(e,t){let n=Et(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/parts/{partNumber}`,{...V(`recordUploadPart`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId,partNumber:String(n.partNumber)}},body:{expectedUploadRevision:n.expectedUploadRevision,byteLength:n.byteLength,etag:n.etag,checksumSha256:n.checksumSha256}}),...t}),[200],e=>Me(e,n.partNumber,n.expectedUploadRevision),!1,_n)}async function ir(e,t){let n=Dt(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/complete`,{...V(`completeUpload`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId},header:{"Idempotency-Key":n.idempotencyKey}}}),...t}),[200,202],(e,t)=>t===202?Pe(e,n.uploadId):Ne(e,{uploadId:n.uploadId}),!1,bn)}async function ar(e,t){let n=Ot(t);return q(e,n.signal,409,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}`,{...V(`abortUpload`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId}}}),...t}),[204],null,!1,_n)}const or=e=>e/2**32|0,sr=e=>e>>>0;function cr(e,t,n,r){let i=or(n),a=sr(n);e.setUint32(t,r?a:i,r),e.setUint32(t+4,r?i:a,r)}function lr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}const ur=e=>e?`"${e}" `:``;function dr(e,t=``){if(typeof e!=`number`)throw TypeError(ur(t)+`expected number, got `+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError(ur(t)+`expected integer >= 0, got `+e);return e}function fr(e,t,n=``){if(lr(e)&&(t===void 0||e.length===t))return e;t!==void 0&&dr(t,`length`);let r=lr(e),i=t===void 0?``:` of length ${t}`,a=r?`length=${e.length}`:`type=${typeof e}`,o=ur(n)+`expected Uint8Array`+i+`, got `+a;throw r?RangeError(o):TypeError(o)}const pr=(e,t)=>{if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError((t===`object`?``:`"${t}" `)+`expected object, got type=`+typeof e)};function mr(e,t=!0){if(e.destroyed)throw Error(`hash was destroyed`);if(t&&e.finished)throw Error(`digest() was already called`)}function hr(e,t){fr(e,void 0,`output`);let n=t.outputLen;if(!(e.length>=n))throw RangeError(`"output" expected length >= `+n)}function gr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function _r(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function X(e,t){return e<<32-t|e>>>t}function vr(e,t){return e<<t|e>>>32-t>>>0}const yr=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,br=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function xr(e){if(fr(e),yr)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=br[e[n]];return t}function Sr(e,t,n=`opts`){return pr(e,`defaults`),t!==void 0&&pr(t,n),Object.assign(e,t)}function Cr(e,t={}){if(typeof e!=`function`)throw TypeError(`"hashCons" expected function, got type=`+typeof e);t=Sr({},t,`info`);let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}const wr=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Tr(e,t,n){return e&t^~e&n}function Er(e,t,n){return e&t^e&n^t&n}var Dr=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,r){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=_r(this.buffer)}update(e){mr(this),fr(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length,a=!1;for(let o=0;o<i;){let s=Math.min(r-this.pos,i-o);if(s===r){let t=_r(e);for(;r<=i-o;o+=r)this.process(t,o);a=!0;continue}n.set(o===0&&s===i?e:e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===r&&(this.process(t,0),this.pos=0,a=!0)}return this.length+=e.length,a&&this.roundClean(),this}digestInto(e){mr(this),hr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,t.fill(0,a),this.padOffset>r-a&&(this.process(n,0),t.fill(0)),cr(n,r-8,this.length*8,i),this.process(n,0),this.roundClean();let o=e===t?n:_r(e),s=this.outputLen,c=s/4,l=this.get();if(s%4||c>l.length)throw Error(`invalid outputLen`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneIntoMeta(e){let{buffer:t,length:n,finished:r,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=r,e.length=n,e.pos=a,a&&e.buffer.set(t),e}clone(){return this._cloneInto()}};const Or=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),kr=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Z=new Uint32Array(64);var Ar=class extends Dr{A=0;B=0;C=0;D=0;E=0;F=0;G=0;H=0;constructor(e,t){super(64,e,8,!1),this.A=t[0]|0,this.B=t[1]|0,this.C=t[2]|0,this.D=t[3]|0,this.E=t[4]|0,this.F=t[5]|0,this.G=t[6]|0,this.H=t[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let n=0;n<16;n++,t+=4)Z[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Z[e-15],n=Z[e-2],r=X(t,7)^X(t,18)^t>>>3,i=X(n,17)^X(n,19)^n>>>10;Z[e]=i+Z[e-7]+r+Z[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=X(o,6)^X(o,11)^X(o,25),u=l+t+Tr(o,s,c)+kr[e]+Z[e]|0,d=(X(n,2)^X(n,13)^X(n,22))+Er(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){gr(Z)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),gr(this.buffer)}},jr=class extends Ar{constructor(){super(32,Or)}};const Mr=Cr(()=>new jr,wr(1)),Nr=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),Pr=2**32,Fr=Array.from({length:64},(e,t)=>Math.floor(Pr*Math.abs(Math.sin(t+1)))),Ir=Nr.slice(0,4),Lr=new Uint32Array(16),Rr=(()=>{let e=[[7,12,17,22],[5,9,14,20],[4,11,16,23],[6,10,15,21]];return Uint8Array.from({length:64},(t,n)=>e[Math.floor(n/16)][n%4])})();var zr=class extends Dr{A=Ir[0]|0;B=Ir[1]|0;C=Ir[2]|0;D=Ir[3]|0;constructor(){super(64,16,8,!0)}get(){let{A:e,B:t,C:n,D:r}=this;return[e,t,n,r]}set(e,t,n,r){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let n=0;n<16;n++,t+=4)Lr[n]=e.getUint32(t,!0);let{A:n,B:r,C:i,D:a}=this;for(let e=0;e<64;e++){let t,o;e<16?(t=Tr(r,i,a),o=e):e<32?(t=Tr(a,r,i),o=(5*e+1)%16):e<48?(t=r^i^a,o=(3*e+5)%16):(t=i^(r|~a),o=7*e%16),t=t+n+Fr[e]+Lr[o],n=a,a=i,i=r,r+=vr(t,Rr[e])}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,this.set(n,r,i,a)}roundClean(){gr(Lr)}destroy(){this.destroyed=!0,this.set(0,0,0,0),gr(this.buffer)}};const Br=Cr(()=>new zr),Q=32*1024*1024;async function Vr(e,t,n){let i=kt(t),a=Math.ceil(i.byteLength/Q);$(i.onProgress,`preparing`,0,i.byteLength,0,a);let o;try{let t=await Kr(i.source,i.byteLength,a,i.signal),s=await n.createUpload({workspaceId:i.workspaceId,parentItemId:i.parentItemId,expectedByteLength:i.byteLength,displayFilename:i.displayFilename,mediaType:i.mediaType,callerDeclaredContentDigest:t.callerDeclaredContentDigest,protectionClassification:i.protectionClassification,idempotencyKey:i.idempotencyKey,...i.signal===void 0?{}:{signal:i.signal}});o=s.data,Jr(o,i.byteLength,a,s.status,s.requestId);let c=await Ur(n,i,o,t);if($(i.onProgress,`uploading`,c.confirmedByteLength,i.byteLength,c.confirmedParts.size,a),c.readyResult)return $(i.onProgress,`completing`,c.confirmedByteLength,i.byteLength,c.confirmedParts.size,a),c.readyResult;let l=c.revision,u=c.confirmedByteLength,d=c.confirmedParts.size;if(c.lifecycle===`uploading`)for(let s of Hr(o.partCount,c.confirmedParts)){let c=s-1;ii(i.signal);let f=c*o.partByteLength,p=Math.min(f+o.partByteLength,i.byteLength),m=p-f,h=t.partChecksums[c];if(!h)throw new r(`invalid_response`);let g=await n.createUploadPartDescriptor({workspaceId:i.workspaceId,uploadId:o.uploadId,partNumber:s,checksumSha256:h,contentMd5:t.partMd5s[c],...i.signal===void 0?{}:{signal:i.signal}}),_=g.data;if(_.expectedByteLength!==m||_.expiresAtEpochMilliseconds>o.expiresAtEpochMilliseconds)throw new r(`invalid_response`,{status:g.status,requestId:g.requestId});let v=await qr(e,_,ti(i.source,f,p,m),i.signal);l=await Wr(n,i,o,s,l,m,v,h),u+=m,d+=1,$(i.onProgress,`uploading`,u,i.byteLength,d,a)}$(i.onProgress,`completing`,u,i.byteLength,d,a);let f=await Gr(n,i,o,t);return f.data.state===`verifying`&&$(i.onProgress,`verifying`,u,i.byteLength,d,a),f}catch(e){throw i.signal?.aborted&&o&&await ni(n,i.workspaceId,o.uploadId),e instanceof r?e:i.signal?.aborted?new r(`aborted`):new r(`invalid_input`)}}function*Hr(e,t){for(let n=1;n<=e;n+=1)t.has(n)||(yield n)}async function Ur(e,t,n,i){let a=new Set,o=0,s=0,c,l,u;for(let d=0;d<100;d+=1){let f=await e.getUploadStatus({workspaceId:t.workspaceId,uploadId:n.uploadId,afterPartNumber:s,limit:100,...t.signal===void 0?{}:{signal:t.signal}}),p=f.data;Yr(p,n),c?Xr(p,c):(c=p,l=f.requestId);for(let e of p.confirmedParts){let n=i.partChecksums[e.partNumber-1];if(!n||e.checksumSha256!==n||a.has(e.partNumber))throw new r(`invalid_response`,{status:f.status,requestId:f.requestId});a.add(e.partNumber),o+=ei(t.byteLength,e.partNumber)}if(p.lifecycle===`ready`&&p.ready&&(Zr(p.ready,n,t,i,f.requestId),u=$r(f,p.ready)),p.nextAfterPartNumber===null)break;if(d===99)throw new r(`invalid_response`,{status:f.status,requestId:f.requestId});s=p.nextAfterPartNumber}if(!c||n.mode===`presigned-multipart`&&[`completing`,`provider-completed`,`verifying`,`ready`].includes(c.lifecycle)&&a.size!==n.partCount)throw new r(`invalid_response`);return Qr(c.lifecycle,l),Object.freeze({revision:c.revision,confirmedParts:a,confirmedByteLength:o,lifecycle:c.lifecycle,...u===void 0?{}:{readyResult:u}})}async function Wr(e,t,n,i,a,o,s,c){let l=r=>e.recordUploadPart({workspaceId:t.workspaceId,uploadId:n.uploadId,partNumber:i,expectedUploadRevision:r,byteLength:o,etag:s,checksumSha256:c,...t.signal===void 0?{}:{signal:t.signal}});try{return(await l(a)).data.revision}catch(a){if(!ri(a)||t.signal?.aborted)throw a;let o=await e.getUploadStatus({workspaceId:t.workspaceId,uploadId:n.uploadId,afterPartNumber:i-1,limit:1,...t.signal===void 0?{}:{signal:t.signal}}),s=o.data;Yr(s,n),Qr(s.lifecycle,o.requestId);let u=s.confirmedParts.find(e=>e.partNumber===i);if(u){if(u.checksumSha256!==c)throw new r(`invalid_response`,{status:o.status,requestId:o.requestId});return s.revision}if(s.lifecycle!==`uploading`)throw new r(`precondition_failed`);return(await l(s.revision)).data.revision}}async function Gr(e,t,n,i){try{let a=await e.completeUpload({workspaceId:t.workspaceId,uploadId:n.uploadId,idempotencyKey:t.completionIdempotencyKey,...t.signal===void 0?{}:{signal:t.signal}});if(a.data.state===`ready`)Zr(a.data,n,t,i,a.requestId);else if(a.data.itemId!==n.itemId||a.data.versionId!==n.versionId||a.data.uploadId!==n.uploadId||a.data.totalByteLength!==t.byteLength)throw new r(`invalid_response`);return a}catch(r){if(!ri(r)||t.signal?.aborted)throw r;let a=await e.getUploadStatus({workspaceId:t.workspaceId,uploadId:n.uploadId,afterPartNumber:0,limit:1,...t.signal===void 0?{}:{signal:t.signal}}),o=a.data;if(Yr(o,n),o.lifecycle!==`ready`||!o.ready)throw r;return Zr(o.ready,n,t,i,a.requestId),$r(a,o.ready)}}async function Kr(e,t,n,i){let a=Mr.create(),o=[],s=[];for(let c=0;c<n;c+=1){ii(i);let n=c*Q,l=Math.min(n+Q,t),u=ti(e,n,l,l-n),d;try{d=i?await J(u.arrayBuffer(),i):await u.arrayBuffer()}catch(e){throw e instanceof r?e:i?.aborted?new r(`aborted`):new r(`invalid_input`)}if(d.byteLength!==l-n)throw new r(`invalid_input`);let f=new Uint8Array(d);a.update(f),o.push(ai(Mr(f))),s.push(ai(Br(f)))}return Object.freeze({callerDeclaredContentDigest:`sha256:${xr(a.digest())}`,partChecksums:Object.freeze(o),partMd5s:Object.freeze(s)})}async function qr(e,t,n,i){let a=t.expiresAtEpochMilliseconds-Date.now();if(a<1)throw new r(`invalid_response`);let o=dn(i,Math.min(e.timeoutMilliseconds,a)),s;try{if(s=await J(e.fetchImplementation(t.url,{method:t.method,body:n,headers:t.headers,credentials:`omit`,cache:`no-store`,redirect:`error`,referrerPolicy:`no-referrer`,signal:o.signal}),o.signal),!(s instanceof Response))throw new r(`invalid_response`);let i=s.headers.get(`etag`),a=s.headers.get(`content-md5`),c=a===null||a===t.headers[`content-md5`];if(s.status<200||s.status>299||!oi(i)||!c)throw new r(`invalid_response`,{status:s.status});return i}catch(e){throw o.didTimeout()?new r(`timeout`):i?.aborted?new r(`aborted`):e instanceof r?e:new r(`network_error`)}finally{o.dispose(),s?.body?.cancel().catch(()=>{})}}function Jr(e,t,n,i,a){let o=t===0?`server-mediated-zero-byte`:`presigned-multipart`;if(e.mode!==o||e.partByteLength!==Q||e.partCount!==n||e.expiresAtEpochMilliseconds<=Date.now())throw new r(`invalid_response`,{status:i,requestId:a})}function Yr(e,t){if(e.itemId!==t.itemId||e.versionId!==t.versionId||e.uploadId!==t.uploadId||e.mode!==t.mode||e.revision<t.revision||e.partPolicy.partByteLength!==t.partByteLength||e.partPolicy.partCount!==t.partCount||e.partPolicy.maxParts!==1e4||e.expiresAtEpochMilliseconds!==t.expiresAtEpochMilliseconds)throw new r(`invalid_response`)}function Xr(e,t){if(e.itemId!==t.itemId||e.versionId!==t.versionId||e.uploadId!==t.uploadId||e.mode!==t.mode||e.lifecycle!==t.lifecycle||e.revision!==t.revision||e.partPolicy.partByteLength!==t.partPolicy.partByteLength||e.partPolicy.partCount!==t.partPolicy.partCount||e.partPolicy.maxParts!==t.partPolicy.maxParts||e.expiresAtEpochMilliseconds!==t.expiresAtEpochMilliseconds||JSON.stringify(e.ready)!==JSON.stringify(t.ready))throw new r(`invalid_response`)}function Zr(e,t,n,i,a){if(e.itemId!==t.itemId||e.versionId!==t.versionId||e.uploadId!==t.uploadId||e.byteLength!==n.byteLength||e.callerDeclaredContentDigest!==i.callerDeclaredContentDigest||e.displayFilename!==n.displayFilename||e.mediaType!==n.mediaType)throw new r(`invalid_response`,{status:200,requestId:a})}function Qr(e,t){if(e===`initiating`||e===`recovery-required`)throw new r(`upload_recovery_required`,{status:409,...t===void 0?{}:{requestId:t}});if(e===`aborting`||e===`aborted`||e===`failed`)throw new r(`precondition_failed`,{status:409,...t===void 0?{}:{requestId:t}})}function $r(e,t){return Object.freeze({data:t,status:e.status,requestId:e.requestId,validators:e.validators})}function ei(e,t){return Math.min(Q,e-(t-1)*Q)}function ti(e,t,n,i){try{let a=e.slice(t,n);if(!(a instanceof Blob)||a.size!==i)throw new r(`invalid_input`);return a}catch(e){throw e instanceof r?e:new r(`invalid_input`)}}function $(e,t,n,r,i,a){if(!e)return;let o=Object.freeze({phase:t,confirmedByteLength:n,totalByteLength:r,confirmedPartCount:i,totalPartCount:a});try{e(o)}catch{}}async function ni(e,t,n){let r=new AbortController,i=setTimeout(()=>r.abort(),5e3);try{await e.abortUpload({workspaceId:t,uploadId:n,signal:r.signal})}catch{}finally{clearTimeout(i)}}function ri(e){return e instanceof r&&(e.code===`network_error`||e.code===`timeout`||e.code===`invalid_response`)}function ii(e){if(e?.aborted)throw new r(`aborted`)}function ai(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t)}function oi(e){return e!==null&&e.length>=1&&e.length<=1024&&/^[\x20-\x7e]+$/.test(e)}function si(e){let t=ln(e),n=wn(t);return Object.freeze({...n,uploadFile:e=>Vr(t,e,n)})}export{si as createDriveClient};
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({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.`}),n=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 r=class extends Error{code;status;requestId;details;constructor(e,r={}){super(e in t?t[e]:n[e]),this.name=`DriveError`,this.code=e,this.status=r.status??null,this.requestId=r.requestId??null,this.details=Object.freeze({})}};const i=/^[A-Za-z0-9_-]{16,128}$/,a=/^"drive\.permission-collection\.v1\.(0|[1-9][0-9]*)"$/,o=/^"drive\.permission-grant\.v1\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)"$/,s=/^"drive\.permission-list\.v1\.[0-9a-f]{64}"$/,c=/^"drive\.item\.v1\.(0|[1-9][0-9]*)"$/;async function l(e,t,n,i,a,o,s){let c=ee(e.headers.get(`x-request-id`));if(c===null)throw v(e),new r(`invalid_response`,{status:e.status});if(!i.includes(e.status))throw await m(e,c,t,n,o,s);if(e.status===304){let t=e.headers.get(`content-length`),n=e.headers.get(`etag`),i=e.status;if(e.body!==null||t!==null&&t!==`0`||e.headers.has(`content-type`)||n===null||!/^"[\x21\x23-\x7e]{1,1022}"$/.test(n)||!a(void 0,i,e.headers))throw v(e),new r(`invalid_response`,{status:i,requestId:c});return Object.freeze({data:void 0,status:i,requestId:c,validators:Object.freeze({etag:n})})}let{value:l}=await g(e,262144,e.status,c,t),u=e.status;if(!a(l,u,e.headers))throw new r(`invalid_response`,{status:u,requestId:c});return Object.freeze({data:l,status:u,requestId:c,validators:te(e.headers)})}async function u(e,t,n,i,a){let o=ee(e.headers.get(`x-request-id`));if(o===null)throw v(e),new r(`invalid_response`,{status:e.status});if(!i.includes(e.status))throw await m(e,o,t,n,!1,a);let s=e.headers.get(`content-length`);if(e.body!==null||s!==null&&s!==`0`||e.headers.has(`content-type`))throw v(e),new r(`invalid_response`,{status:e.status,requestId:o});return Object.freeze({data:void 0,status:e.status,requestId:o,validators:Object.freeze({})})}function d(e){let t=a.exec(e);if(!t)return;let n=Number(t[1]);return Number.isSafeInteger(n)?n:void 0}function f(e){let t=o.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 p(e){let t=c.exec(e);if(!t)return;let n=Number(t[1]);return Number.isSafeInteger(n)?n:void 0}async function m(n,a,o,s,c,l){let u;try{u=await g(n,16384,n.status,a,o)}catch(e){return e instanceof r&&e.code===`aborted`?e:new r(`invalid_response`,{status:n.status,requestId:a})}let d=u.value;if(!y(d,[`error`])||!y(d.error,[`code`,`message`,`requestId`,`details`]))return new r(`invalid_response`,{status:n.status,requestId:a});let f=d.error;return typeof f.code!=`string`||!e.includes(f.code)||f.message!==t[f.code]||!i.test(String(f.requestId))||f.requestId!==a||!y(f.details,[])||!h(f.code,n.status,s,c,l)||u.text!==JSON.stringify(d)?new r(`invalid_response`,{status:n.status,requestId:a}):new r(f.code,{status:n.status,requestId:f.requestId})}function h(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 g(e,t,n,i,a){if(!e.body)throw new r(`invalid_response`,{status:n,requestId:i});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 r(`invalid_response`,{status:n,requestId:i});let f=new AbortController,p=setTimeout(()=>f.abort(),5e3);try{for(;;){if(a?.aborted)throw new r(`aborted`);let{done:e,value:d}=await _(o,a,f.signal);if(e)break;if(l+=1,c+=d.byteLength,l>256||c>t)throw new r(`invalid_response`,{status:n,requestId:i});u+=s.decode(d,{stream:!0})}return u+=s.decode(),{value:JSON.parse(u),text:u}}catch(e){throw e instanceof r?e.code===`aborted`||a?.aborted?new r(`aborted`):e:new r(`invalid_response`,{status:n,requestId:i})}finally{clearTimeout(p),o.cancel().catch(()=>{})}}async function _(e,t,n){if(t?.aborted)throw new r(`aborted`);if(n.aborted)throw new r(`invalid_response`);let i=()=>{},a=()=>{},o=new Promise((e,n)=>{if(!t)return;let a=()=>n(new r(`aborted`));t.addEventListener(`abort`,a,{once:!0}),i=()=>t.removeEventListener(`abort`,a)}),s=new Promise((e,t)=>{let i=()=>t(new r(`invalid_response`));n.addEventListener(`abort`,i,{once:!0}),a=()=>n.removeEventListener(`abort`,i)});try{return await Promise.race([e.read(),o,s])}finally{i(),a()}}function v(e){e.body?.cancel().catch(()=>{})}function ee(e){return e!==null&&i.test(e)?e:null}function te(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&&(s.test(t)||p(t)!==void 0)?{etag:t}:{},...n!==null&&d(n)!==void 0?{permissionCollectionEtag:n}:{},...r!==null&&f(r)!==void 0?{permissionGrantEtag:r}:{}})}function y(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 b=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,x=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,S=/^drive\.volume\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,C=/^drive\.grant\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,ne=/^drive\.upload\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,w=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,re=/^drive\.retrieval\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,T=/^drive\.cursor\.v1\.[A-Za-z0-9_-]+$/,E=/^[A-Za-z0-9_-]{1,128}$/,D=/^"drive\.permission-grant\.v1\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)"$/,O=/^"drive\.permission-list\.v1\.[0-9a-f]{64}"$/,k=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),A=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:manage`,`items:permissions:read`,`items:update`]),j=33554432e4,M=32*1024*1024,ie=/^sha256:[0-9a-f]{64}$/,ae=new TextEncoder;function oe(e){if(!I(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(!I(n,[`workspaceId`,`itemId`])||typeof n.workspaceId!=`string`||!x.test(n.workspaceId)||typeof n.itemId!=`string`||!b.test(n.itemId))return!1;let e=`${n.workspaceId}/${n.itemId}`;if(t&&t>=e)return!1;t=e}return!0}function se(e){if(!I(e,[`workspaceId`,`provider`,`usedBytes`,`reservedBytes`,`limitBytes`,`availableBytes`,`accounting`,`reservedBytesIncludeUnresolvedUploads`,`unresolvedReservedBytes`,`warnings`])||typeof e.workspaceId!=`string`||!x.test(e.workspaceId)||e.provider!==`managed`||e.accounting!==`current-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 ce(e){if(!I(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(!I(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`||!S.test(e.volumeId)||e.provider!==`managed`||e.creatorUserId!==null&&(typeof e.creatorUserId!=`string`||!E.test(e.creatorUserId))||![e.createdAtEpochMilliseconds,e.modifiedAtEpochMilliseconds,e.trashedAtEpochMilliseconds,e.purgeAfterEpochMilliseconds].every(e=>e===null||F(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`||!x.test(n.workspaceId)||typeof n.itemId!=`string`||!b.test(n.itemId)||n.parentId===null||n.parentId===n.itemId||!_e(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:!F(e.trashedAtEpochMilliseconds)||!F(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}function le(e){if(!I(e,[`workspace`,`volumes`,`knownProviders`,`externalConnectionsSupported`])||!ue(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 I(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 ue(e){if(!I(e,[`workspaceId`,`rootVolumeId`,`rootItemId`,`workspaceReference`])||typeof e.workspaceId!=`string`||!x.test(e.workspaceId)||typeof e.rootVolumeId!=`string`||!S.test(e.rootVolumeId)||typeof e.rootItemId!=`string`||!b.test(e.rootItemId))return!1;let t=e.workspaceReference;return I(t,[`type`,`userId`])&&t.type===`personal`&&typeof t.userId==`string`&&E.test(t.userId)||I(t,[`type`,`organizationId`])&&t.type===`organization`&&typeof t.organizationId==`string`&&E.test(t.organizationId)}function de(e){return!I(e,[`mode`,`method`,`url`,`headers`,`expiresAtEpochMilliseconds`,`response`])||e.mode!==`presigned-single`||e.method!==`GET`&&e.method!==`HEAD`||typeof e.url!=`string`||!Ze(e.url)||!F(e.expiresAtEpochMilliseconds)||!I(e.headers,[`if-match`])&&!I(e.headers,[`if-match`,`range`])||typeof e.headers[`if-match`]!=`string`||!Xe(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))||!I(e.response,[`status`,`versionId`,`byteLength`,`contentLength`,`contentType`,`contentDisposition`,`etag`,`acceptRanges`,`contentRange`])||e.response.status!==200&&e.response.status!==206||typeof e.response.versionId!=`string`||!w.test(e.response.versionId)||!F(e.response.byteLength)||!F(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`||!fe(e)?!1:(Object.freeze(e.headers),Object.freeze(e.response),Object.freeze(e),!0)}function fe(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(F)&&i===o&&a===s&&c===t.byteLength&&i<=a&&a<c&&t.contentLength===a-i+1}function pe(e){return I(e,[`mode`,`operationId`,`versionId`,`state`,`pollAfterSeconds`])&&e.mode===`restore-pending`&&typeof e.operationId==`string`&&re.test(e.operationId)&&typeof e.versionId==`string`&&w.test(e.versionId)&&(e.state===`pending`||e.state===`restoring`)&&F(e.pollAfterSeconds)&&e.pollAfterSeconds>=1&&e.pollAfterSeconds<=60}function me(e,t,n){return I(e,[`items`,`nextCursor`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(he)&&(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&T.test(e.nextCursor))?e.items.every(e=>e.workspaceId===t&&e.parentItemId===n)&&Ye(e.items,e=>e.itemId):!1}function he(e){return I(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`visibility`,`revision`])&&typeof e.workspaceId==`string`&&x.test(e.workspaceId)&&typeof e.volumeId==`string`&&S.test(e.volumeId)&&typeof e.itemId==`string`&&b.test(e.itemId)&&typeof e.parentItemId==`string`&&b.test(e.parentItemId)&&(e.kind===`file`||e.kind===`folder`)&&P(e.name)&&(e.visibility===`workspace`||e.visibility===`restricted`)&&F(e.revision)}function ge(e,t,n,r){return!I(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`state`,`revision`,`purgeAfterEpochMilliseconds`])||e.workspaceId!==t||e.itemId!==n||typeof e.volumeId!=`string`||!S.test(e.volumeId)||typeof e.parentItemId!=`string`||!b.test(e.parentItemId)||e.kind!==`file`&&e.kind!==`folder`||!P(e.name)||e.state!==r||!F(e.revision)||(e.state===`active`?e.purgeAfterEpochMilliseconds!==null:!F(e.purgeAfterEpochMilliseconds))?!1:(Object.freeze(e),!0)}function _e(e,t,n){return!I(e,[`workspaceId`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`])||e.workspaceId!==t||e.itemId!==n||!(e.parentId===null||typeof e.parentId==`string`&&b.test(e.parentId))||e.type!==`file`&&e.type!==`folder`||!P(e.name)||e.lifecycleState!==`active`||!F(e.revision)||(e.type===`folder`?e.currentVersion!==null:!ye(e.currentVersion))?!1:(e.currentVersion!==null&&Object.freeze(e.currentVersion),Object.freeze(e),!0)}function ve(e,t,n,r){if(!I(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>r||!e.items.every(e=>be(e,t,n))||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&T.test(e.nextCursor))||e.items.length===0&&e.nextCursor!==null||new Set(e.items.map(e=>e.itemId)).size!==e.items.length||!xe(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 N(e,t){let n=e.get(`etag`);return n!==null&&p(n)===t}function ye(e){return I(e,[`versionId`,`state`,`byteLength`,`mediaType`,`protectionClassification`])&&typeof e.versionId==`string`&&w.test(e.versionId)&&e.state===`current`&&F(e.byteLength)&&Ke(e.mediaType)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)}function be(e,t,n){return I(e,[`workspaceId`,`volumeId`,`provider`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`])&&e.workspaceId===t&&typeof e.volumeId==`string`&&S.test(e.volumeId)&&e.provider===`managed`&&typeof e.itemId==`string`&&b.test(e.itemId)&&(e.parentId===null||typeof e.parentId==`string`&&b.test(e.parentId))&&(e.type===`file`||e.type===`folder`)&&P(e.name)&&e.name.startsWith(n)&&e.lifecycleState===`active`&&F(e.revision)&&(e.type===`folder`?e.currentVersion===null:ye(e.currentVersion))}function xe(e){for(let t=1;t<e.length;t+=1){let n=e[t-1],r=e[t],i=Se(n.name,r.name);if(i>0||i===0&&n.itemId>=r.itemId)return!1}return!0}function Se(e,t){let n=ae.encode(e),r=ae.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 Ce(e,t){if(!I(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>t||!e.items.every(Ie)||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&T.test(e.nextCursor))||e.nextCursor!==null&&e.items.length===0||!Ye(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 we(e,t){return!I(e,[`itemRevision`,`currentVersionId`])||!F(e.itemRevision)||e.currentVersionId!==t?!1:(Object.freeze(e),!0)}function Te(e,t,n,r=O){if(!(I(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(Ve)&&(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&T.test(e.nextCursor))&&F(e.collectionRevision)&&typeof e.collectionEtag==`string`&&d(e.collectionEtag)===e.collectionRevision))return!1;let i=t.get(`drive-permission-collection-etag`),a=t.get(`etag`),o=e.collectionRevision;return F(o)?i===e.collectionEtag&&a!==null&&r.test(a)&&e.items.every(e=>{let t=f(e.etag);return t===void 0||e.etag!==Ge(t[0],e.revision)?!1:e.source===`direct`?e.sourceItemId===n&&t[0]===o:e.sourceItemId!==n})&&Ye(e.items,e=>`${e.sourceItemId}\0${e.grantId}`):!1}function Ee(e,t,n){if(!I(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])||!Array.isArray(e.items)||e.items.length>50)return!1;let r=[];for(let t of e.items){if(!I(t,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`,`etag`,`recipient`]))return!1;let{recipient:e,...n}=t;if(!Ve(n)||e!==null&&(!I(e,[`userId`,`name`,`email`,`resolvedAt`,`expiresAt`])||n.grantee.type!==`user`||e.userId!==n.grantee.userId||typeof e.name!=`string`||e.name.length<1||ae.encode(e.name).byteLength>1024||typeof e.email!=`string`||e.email.length<3||ae.encode(e.email).byteLength>320||!e.email.includes(`@`)||!F(e.resolvedAt)||!F(e.expiresAt)||e.expiresAt!==e.resolvedAt+864e5))return!1;r.push(n)}return Te({...e,items:r},t,n,/^"drive\.sharing-people\.v1\.[0-9a-f]{64}"$/)}function De(e,t,n){if(!I(e,[`outcome`,`grant`,`collectionRevision`])||e.outcome!==`committed`&&e.outcome!==`replayed`||!F(e.collectionRevision))return!1;let r=e.grant;return I(r,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`])&&r.source===`direct`&&typeof r.sourceItemId==`string`&&r.sourceItemId===t&&typeof r.grantId==`string`&&C.test(r.grantId)&&(n===void 0||r.grantId===n)&&He(r.grantee)&&Ue(r.actions)&&[`active`,`expired`,`revoked`].includes(String(r.availability))&&(r.expiresAtEpochMilliseconds===null||F(r.expiresAtEpochMilliseconds))&&F(r.revision)}function Oe(e,t){if(!I(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||!I(r,[`action`,`allowed`,`basis`,`sourceItemId`,`grantId`])||r.action!==A[n]||typeof r.allowed!=`boolean`||!(r.basis===null||[`workspace_visibility`,`restricted_administrator_bypass`,`direct_grant`,`inherited_grant`].includes(String(r.basis)))||!(r.sourceItemId===null||typeof r.sourceItemId==`string`&&b.test(r.sourceItemId))||!(r.grantId===null||typeof r.grantId==`string`&&C.test(r.grantId))||!We(r,t))return!1}return!0}function ke(e,t){return!I(e,[`itemId`,`versionId`,`uploadId`,`mode`,`partByteLength`,`partCount`,`revision`,`expiresAtEpochMilliseconds`])||typeof e.itemId!=`string`||!b.test(e.itemId)||typeof e.versionId!=`string`||!w.test(e.versionId)||typeof e.uploadId!=`string`||!ne.test(e.uploadId)||e.mode!==`presigned-multipart`&&e.mode!==`server-mediated-zero-byte`||e.partByteLength!==M||!F(e.partCount)||e.partCount>1e4||e.partCount!==Math.ceil(t/M)||(t===0?e.mode!==`server-mediated-zero-byte`:e.mode!==`presigned-multipart`)||!F(e.revision)||!F(e.expiresAtEpochMilliseconds)||e.expiresAtEpochMilliseconds<=Date.now()?!1:(Object.freeze(e),!0)}function Ae(e,t,n){if(!I(e,[`itemId`,`versionId`,`uploadId`,`mode`,`lifecycle`,`revision`,`partPolicy`,`confirmedParts`,`nextAfterPartNumber`,`expiresAtEpochMilliseconds`,`ready`],[`verification`])||typeof e.itemId!=`string`||!b.test(e.itemId)||typeof e.versionId!=`string`||!w.test(e.versionId)||typeof e.uploadId!=`string`||!ne.test(e.uploadId)||e.mode!==`presigned-multipart`&&e.mode!==`server-mediated-zero-byte`||![`initiating`,`recovery-required`,`uploading`,`completing`,`provider-completed`,`verifying`,`failed`,`ready`,`aborting`,`aborted`].includes(String(e.lifecycle))||!F(e.revision)||!I(e.partPolicy,[`partByteLength`,`partCount`,`maxParts`])||e.partPolicy.partByteLength!==M||!F(e.partPolicy.partCount)||e.partPolicy.partCount>1e4||e.partPolicy.maxParts!==1e4||(e.mode===`server-mediated-zero-byte`?e.partPolicy.partCount!==0:e.partPolicy.partCount<1)||!Array.isArray(e.confirmedParts)||e.confirmedParts.length>n||!F(e.expiresAtEpochMilliseconds))return!1;let r=t;if(e.verification!==void 0){let t=e.verification;if(!I(t,[`state`,`verifiedByteLength`,`totalByteLength`,`revision`])||![`pending`,`verified`,`failed`].includes(String(t.state))||!F(t.verifiedByteLength)||!F(t.totalByteLength)||t.totalByteLength>j||t.verifiedByteLength>t.totalByteLength||!F(t.revision)||t.state===`verified`&&t.verifiedByteLength!==t.totalByteLength)return!1;Object.freeze(t)}if([`verifying`,`failed`].includes(String(e.lifecycle))&&e.verification===void 0)return!1;for(let t of e.confirmedParts){if(!I(t,[`partNumber`,`checksumSha256`])||!F(t.partNumber)||t.partNumber<=r||t.partNumber>e.partPolicy.partCount||!Fe(t.checksumSha256))return!1;r=t.partNumber}if(!(e.nextAfterPartNumber===null||F(e.nextAfterPartNumber)&&e.confirmedParts.length===n&&e.nextAfterPartNumber===r)||e.mode===`server-mediated-zero-byte`&&(e.confirmedParts.length!==0||e.nextAfterPartNumber!==null)||e.lifecycle===`ready`!=(e.ready!==null)||e.ready!==null&&(!Ne(e.ready,{uploadId:e.uploadId})||e.ready.itemId!==e.itemId||e.ready.versionId!==e.versionId||!I(e.verification,[`state`,`verifiedByteLength`,`totalByteLength`,`revision`])||e.verification.state!==`verified`||e.verification.totalByteLength!==e.ready.byteLength))return!1;Object.freeze(e.partPolicy);for(let t of e.confirmedParts)Object.freeze(t);return Object.freeze(e.confirmedParts),Object.freeze(e),!0}function je(e,t,n,r){return!I(e,[`url`,`method`,`headers`,`partNumber`,`expectedByteLength`,`expiresAtEpochMilliseconds`])||!qe(e.url,n)||e.method!==`PUT`||!r||!I(e.headers,[`content-md5`])||e.headers[`content-md5`]!==r||e.partNumber!==t||!F(e.expectedByteLength)||e.expectedByteLength<1||e.expectedByteLength>M||!F(e.expiresAtEpochMilliseconds)||e.expiresAtEpochMilliseconds<=Date.now()?!1:(Object.freeze(e.headers),Object.freeze(e),!0)}function Me(e,t,n){return!I(e,[`partNumber`,`revision`])||e.partNumber!==t||e.revision!==n+1||!F(e.revision)?!1:(Object.freeze(e),!0)}function Ne(e,t){return!I(e,[`itemId`,`versionId`,`uploadId`,`byteLength`,`callerDeclaredContentDigest`,`displayFilename`,`mediaType`,`state`])||typeof e.itemId!=`string`||!b.test(e.itemId)||typeof e.versionId!=`string`||!w.test(e.versionId)||e.uploadId!==t.uploadId||!F(e.byteLength)||e.byteLength<0||e.byteLength>j||typeof e.callerDeclaredContentDigest!=`string`||!ie.test(e.callerDeclaredContentDigest)||!P(e.displayFilename)||!Ke(e.mediaType)||e.state!==`ready`||t.byteLength!==void 0&&e.byteLength!==t.byteLength||t.callerDeclaredContentDigest!==void 0&&e.callerDeclaredContentDigest!==t.callerDeclaredContentDigest||t.displayFilename!==void 0&&e.displayFilename!==t.displayFilename||t.mediaType!==void 0&&e.mediaType!==t.mediaType?!1:(Object.freeze(e),!0)}function Pe(e,t){return!I(e,[`itemId`,`versionId`,`uploadId`,`state`,`verifiedByteLength`,`totalByteLength`,`verificationRevision`])||typeof e.itemId!=`string`||!b.test(e.itemId)||typeof e.versionId!=`string`||!w.test(e.versionId)||e.uploadId!==t||e.state!==`verifying`||!F(e.verifiedByteLength)||!F(e.totalByteLength)||e.totalByteLength>j||e.verifiedByteLength>e.totalByteLength||!F(e.verificationRevision)?!1:(Object.freeze(e),!0)}function Fe(e){return typeof e==`string`&&/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/.test(e)}function Ie(e){let t=I(e,Re)&&ze(e);return t&&Object.freeze(e),t}function Le(e,t,n,r){let i=I(e,[...Re,`workspaceId`,`itemId`])&&e.workspaceId===t&&e.itemId===n&&e.versionId===r&&ze(e);return i&&Object.freeze(e),i}const Re=Object.freeze([`versionId`,`state`,`revision`,`byteLength`,`contentDigest`,`mediaType`,`displayFilename`,`protectionClassification`,`archiveState`]);function ze(e){return typeof e.versionId==`string`&&w.test(e.versionId)&&(e.state===`current`||e.state===`superseded`)&&F(e.revision)&&F(e.byteLength)&&typeof e.contentDigest==`string`&&ie.test(e.contentDigest)&&Ke(e.mediaType)&&P(e.displayFilename)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)&&[`available`,`cold`,`restoring`,`unavailable`,`corrupt`].includes(String(e.archiveState))}function Be(e){let t=e.get(`drive-permission-collection-etag`),n=e.get(`drive-permission-grant-etag`),r=t===null?void 0:d(t);if(r===void 0)return!1;if(n===null)return!0;let i=f(n);return i!==void 0&&i[0]===r}function Ve(e){return I(e,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`,`etag`])&&(e.source===`direct`||e.source===`inherited`)&&typeof e.sourceItemId==`string`&&b.test(e.sourceItemId)&&typeof e.grantId==`string`&&C.test(e.grantId)&&He(e.grantee)&&Ue(e.actions)&&[`active`,`expired`,`revoked`].includes(String(e.availability))&&(e.expiresAtEpochMilliseconds===null||F(e.expiresAtEpochMilliseconds))&&F(e.revision)&&typeof e.etag==`string`&&D.test(e.etag)}function He(e){return I(e,[`type`,`userId`])&&e.type===`user`&&typeof e.userId==`string`&&E.test(e.userId)||I(e,[`type`,`teamId`])&&e.type===`team`&&typeof e.teamId==`string`&&E.test(e.teamId)}function Ue(e){return Array.isArray(e)&&e.length>=1&&e.length<=6&&new Set(e).size===e.length&&e.every(e=>k.includes(e))&&e.every((t,n)=>n===0||k.indexOf(t)>k.indexOf(e[n-1]))}function We(e,t){return e.allowed?e.basis===`workspace_visibility`||e.basis===`restricted_administrator_bypass`?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 Ge(e,t){return`"drive.permission-grant.v1.${e}.${t}"`}function P(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||Je(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 Ke(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 qe(e,t){if(typeof e!=`string`||e.length<1||e.length>8192||e!==e.trim())return!1;try{let n=new URL(e),r=n.hostname===`localhost`||n.hostname===`127.0.0.1`||n.hostname===`[::1]`;return(n.protocol===`https:`||n.protocol===`http:`&&t&&r)&&n.username===``&&n.password===``&&n.hash===``&&n.host!==``}catch{return!1}}function Je(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 Ye(e,t){return e.every((n,r)=>r===0||t(e[r-1])<t(n))}function F(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function Xe(e){return/^"[\x21\x23-\x7e]{1,1022}"$/.test(e)}function Ze(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 I(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))}const Qe=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,L=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,$e=/^drive\.grant\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,et=/^drive\.upload\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,tt=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,nt=/^drive\.cursor\.v1\.[A-Za-z0-9_-]+$/,rt=/^[A-Za-z0-9_-]{1,128}$/,it=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),at=/^[A-Za-z0-9_-]{16,128}$/,ot=/^sha256:[0-9a-f]{64}$/,st=/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/,ct=33554432e4;function lt(e){let t=U(H(e===void 0?{}:e,[],[`signal`]).signal);return t===void 0?{}:{signal:t}}function ut(e){let t=H(e===void 0?{}:e,[],[`signal`,`limit`,`cursor`]),n=U(t.signal);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 r(`invalid_input`);return{signal:n,query:{...t.limit===void 0?{}:{limit:t.limit},...t.cursor===void 0?{}:{cursor:t.cursor}}}}function dt(e,t){let n=H(e,[`workspaceId`],t?[`signal`,`view`,`kind`,`creatorUserId`,`limit`,`cursor`]:[`signal`]),i=U(n.signal);if(typeof n.workspaceId!=`string`||!L.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`||!rt.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 r(`invalid_input`);return{workspaceId:n.workspaceId,signal:i,query:{...n.view===void 0?{}:{view:n.view},...n.kind===void 0?{}:{kind:n.kind},...n.creatorUserId===void 0?{}:{creatorUserId:n.creatorUserId},...n.limit===void 0?{}:{limit:n.limit},...n.cursor===void 0?{}:{cursor:n.cursor}}}}function R(e){let t=H(e,[`workspaceId`,`itemId`],[`signal`]),n=t.workspaceId,i=t.itemId,a=U(t.signal);if(typeof n!=`string`||!L.test(n)||typeof i!=`string`||!Qe.test(i))throw new r(`invalid_input`);return{workspaceId:n,itemId:i,...a===void 0?{}:{signal:a}}}function ft(e){let t=H(e,[`workspaceId`,`itemId`,`versionId`],[`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!tt.test(t.versionId))throw new r(`invalid_input`);return{...n,versionId:t.versionId}}function pt(e){let t=H(e,[`workspaceId`,`itemId`,`idempotencyKey`],[`versionId`,`method`,`range`,`ifMatch`,`ifNoneMatch`,`ifRange`,`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),i=t.method??`GET`;if(!W(t.idempotencyKey)||t.versionId!==void 0&&(typeof t.versionId!=`string`||!tt.test(t.versionId))||i!==`GET`&&i!==`HEAD`||t.range!==void 0&&(typeof t.range!=`string`||t.range.length>128||!/^bytes=(?:[0-9]+-[0-9]*|-[0-9]+)$/.test(t.range))||!Ht(t.ifMatch)||!Ht(t.ifNoneMatch)||!Ht(t.ifRange))throw new r(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey,method:i,...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 mt(e){let t=H(e,[`workspaceId`,`query`],[`limit`,`cursor`,`signal`]),n=U(t.signal);if(typeof t.workspaceId!=`string`||!L.test(t.workspaceId)||!Rt(t.query)||t.limit!==void 0&&(!K(t.limit)||t.limit<1||t.limit>50)||t.cursor!==void 0&&(typeof t.cursor!=`string`||t.cursor.length>699||!nt.test(t.cursor)))throw new r(`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 ht(e){let t=H(e,[`workspaceId`,`itemId`],[`signal`,`limit`,`cursor`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),i=t.limit,a=t.cursor;if(i!==void 0&&(!Number.isSafeInteger(i)||typeof i!=`number`||i<1||i>50)||a!==void 0&&(typeof a!=`string`||a.length>699||!nt.test(a)))throw new r(`invalid_input`);return{...n,...i===void 0?{}:{limit:i},...a===void 0?{}:{cursor:a}}}function gt(e){let t=H(e,[`workspaceId`,`itemId`,`name`,`idempotencyKey`],[`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!Bt(t.name)||!W(t.idempotencyKey))throw new r(`invalid_input`);return{...n,name:t.name,idempotencyKey:t.idempotencyKey}}function _t(e){let t=H(e,[`workspaceId`,`itemId`,`name`,`parentItemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=z({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(!Bt(t.name)||typeof t.parentItemId!=`string`||!Qe.test(t.parentItemId))throw new r(`invalid_input`);return{...n,name:t.name,parentItemId:t.parentItemId}}function z(e){let t=H(e,[`workspaceId`,`itemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!W(t.idempotencyKey)||typeof t.ifMatch!=`string`||p(t.ifMatch)===void 0)throw new r(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch}}function vt(e){let t=H(e,[`workspaceId`,`itemId`,`versionId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=z({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!tt.test(t.versionId))throw new r(`invalid_input`);return{...n,versionId:t.versionId}}function yt(e){let t=H(e,[`workspaceId`,`itemId`,`grantee`,`actions`,`expiresAtEpochMilliseconds`,`ifMatch`,`idempotencyKey`],[`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),i=jt(t.grantee),a=Mt(t.actions),o=t.expiresAtEpochMilliseconds;if(!zt(o)||typeof t.ifMatch!=`string`||d(t.ifMatch)===void 0||!W(t.idempotencyKey))throw new r(`invalid_input`);return{...n,grantee:i,actions:a,expiresAtEpochMilliseconds:o,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function bt(e){let t=H(e,[`workspaceId`,`itemId`,`email`,`role`,`ifMatch`,`idempotencyKey`],[`signal`,`expectedRecipientUserId`]),n=R({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`||d(t.ifMatch)===void 0||!W(t.idempotencyKey))throw new r(`invalid_input`);let i=t.email.trim().toLowerCase(),a=t.expectedRecipientUserId;if(a!==void 0&&(typeof a!=`string`||a.length<1||a.length>128||/[^A-Za-z0-9_-]/.test(a))||!i.includes(`@`)||/\s/.test(i)||new TextEncoder().encode(i).byteLength>320)throw new r(`invalid_input`);return{...n,email:i,expectedRecipientUserId:a,role:t.role,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function xt(e){let t=H(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`]),n=R({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.grantId!=`string`||!$e.test(t.grantId)||typeof t.ifMatch!=`string`||f(t.ifMatch)===void 0||!W(t.idempotencyKey))throw new r(`invalid_input`);return{...n,grantId:t.grantId,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function St(e){let t=H(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`,`actions`,`expiresAtEpochMilliseconds`]),n=xt({workspaceId:t.workspaceId,itemId:t.itemId,grantId:t.grantId,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey,...t.signal===void 0?{}:{signal:t.signal}}),i=t.actions===void 0?void 0:Mt(t.actions),a=t.expiresAtEpochMilliseconds;if(i===void 0&&a===void 0||a!==void 0&&!zt(a))throw new r(`invalid_input`);return{...n,...i===void 0?{}:{actions:i},...a===void 0?{}:{expiresAtEpochMilliseconds:a}}}function Ct(e){let t=H(e,[`workspaceId`,`parentItemId`,`expectedByteLength`,`displayFilename`,`mediaType`,`callerDeclaredContentDigest`,`protectionClassification`,`idempotencyKey`],[`signal`]),n=U(t.signal);if(typeof t.workspaceId!=`string`||!L.test(t.workspaceId)||typeof t.parentItemId!=`string`||!Qe.test(t.parentItemId)||typeof t.expectedByteLength!=`number`||!Number.isSafeInteger(t.expectedByteLength)||t.expectedByteLength<0||t.expectedByteLength>ct||!Bt(t.displayFilename)||!Lt(t.mediaType)||typeof t.callerDeclaredContentDigest!=`string`||!ot.test(t.callerDeclaredContentDigest)||t.protectionClassification!==`ordinary`&&t.protectionClassification!==`opaque-encrypted`||!W(t.idempotencyKey))throw new r(`invalid_input`);return{workspaceId:t.workspaceId,parentItemId:t.parentItemId,expectedByteLength:t.expectedByteLength,displayFilename:t.displayFilename,mediaType:t.mediaType,callerDeclaredContentDigest:t.callerDeclaredContentDigest,protectionClassification:t.protectionClassification,idempotencyKey:t.idempotencyKey,...n===void 0?{}:{signal:n}}}function wt(e){let t=H(e,[`workspaceId`,`uploadId`],[`afterPartNumber`,`limit`,`signal`]),n=G(t.workspaceId,t.uploadId,t.signal);if(t.afterPartNumber!==void 0&&(!K(t.afterPartNumber)||t.afterPartNumber>1e4)||t.limit!==void 0&&(!K(t.limit)||t.limit<1||t.limit>100))throw new r(`invalid_input`);return{...n,...t.afterPartNumber===void 0?{}:{afterPartNumber:t.afterPartNumber},...t.limit===void 0?{}:{limit:t.limit}}}function Tt(e){let t=H(e,[`workspaceId`,`uploadId`,`partNumber`,`checksumSha256`,`contentMd5`],[`signal`]),n=G(t.workspaceId,t.uploadId,t.signal);if(!Pt(t.partNumber)||!Ft(t.checksumSha256)||typeof t.contentMd5!=`string`||!/^[A-Za-z0-9+/]{21}[AQgw]==$/.test(t.contentMd5))throw new r(`invalid_input`);return{...n,partNumber:t.partNumber,checksumSha256:t.checksumSha256,contentMd5:t.contentMd5}}function Et(e){let t=H(e,[`workspaceId`,`uploadId`,`partNumber`,`expectedUploadRevision`,`byteLength`,`etag`,`checksumSha256`],[`signal`]),n=G(t.workspaceId,t.uploadId,t.signal);if(!Pt(t.partNumber)||!K(t.expectedUploadRevision)||t.expectedUploadRevision>=2**53-1||!K(t.byteLength)||t.byteLength<1||t.byteLength>33554432||!It(t.etag)||!Ft(t.checksumSha256))throw new r(`invalid_input`);return{...n,partNumber:t.partNumber,expectedUploadRevision:t.expectedUploadRevision,byteLength:t.byteLength,etag:t.etag,checksumSha256:t.checksumSha256}}function Dt(e){let t=H(e,[`workspaceId`,`uploadId`,`idempotencyKey`],[`signal`]),n=G(t.workspaceId,t.uploadId,t.signal);if(!W(t.idempotencyKey))throw new r(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey}}function Ot(e){let t=H(e,[`workspaceId`,`uploadId`],[`signal`]);return G(t.workspaceId,t.uploadId,t.signal)}function kt(e){let t=H(e,[`workspaceId`,`parentItemId`,`source`,`displayFilename`,`idempotencyKey`,`completionIdempotencyKey`],[`mediaType`,`protectionClassification`,`signal`,`onProgress`]),n=U(t.signal),i=t.mediaType??`application/octet-stream`,a=t.protectionClassification??`ordinary`,o,s;try{if(!(t.source instanceof Blob))throw new r(`invalid_input`);o=t.source,s=o.size}catch(e){throw e instanceof r?e:new r(`invalid_input`)}if(typeof t.workspaceId!=`string`||!L.test(t.workspaceId)||typeof t.parentItemId!=`string`||!Qe.test(t.parentItemId)||!Number.isSafeInteger(s)||s<0||s>ct||!Bt(t.displayFilename)||!Lt(i)||a!==`ordinary`&&a!==`opaque-encrypted`||!W(t.idempotencyKey)||!W(t.completionIdempotencyKey)||t.onProgress!==void 0&&typeof t.onProgress!=`function`)throw new r(`invalid_input`);return{workspaceId:t.workspaceId,parentItemId:t.parentItemId,source:o,byteLength:s,displayFilename:t.displayFilename,mediaType:i,protectionClassification:a,idempotencyKey:t.idempotencyKey,completionIdempotencyKey:t.completionIdempotencyKey,...n===void 0?{}:{signal:n},...t.onProgress===void 0?{}:{onProgress:t.onProgress}}}function B(e){return{workspaceId:e.workspaceId,itemId:e.itemId}}function At(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor===void 0?{}:{cursor:e.cursor}}}function V(e,t){return t}function H(e,t,n){try{if(typeof e!=`object`&&typeof e!=`function`||e===null||Array.isArray(e))throw new r(`invalid_input`);let i=Object.getOwnPropertyDescriptors(e),a=Reflect.ownKeys(i),o=new Set([...t,...n]);if(a.some(e=>typeof e!=`string`||!o.has(e))||t.some(e=>!Object.hasOwn(i,e)))throw new r(`invalid_input`);let s={};for(let e of a){if(typeof e!=`string`)throw new r(`invalid_input`);let t=i[e];if(!t||!(`value`in t)||!t.enumerable)throw new r(`invalid_input`);s[e]=t.value}return s}catch(e){throw e instanceof r?e:new r(`invalid_input`)}}function U(e){if(e!==void 0){if(!(e instanceof AbortSignal))throw new r(`invalid_input`);return e}}function jt(e){let t=H(e,[`type`],[`userId`,`teamId`]);if(t.type===`user`){let t=H(e,[`type`,`userId`],[]);if(typeof t.userId==`string`&&rt.test(t.userId))return{type:`user`,userId:t.userId}}if(t.type===`team`){let t=H(e,[`type`,`teamId`],[]);if(typeof t.teamId==`string`&&rt.test(t.teamId))return{type:`team`,teamId:t.teamId}}throw new r(`invalid_input`)}function Mt(e){let t=Nt(e);if(t.length<1||t.length>it.length||new Set(t).size!==t.length||!t.every(e=>it.includes(e)))throw new r(`invalid_input`);return t}function Nt(e){try{if(!Array.isArray(e))throw new r(`invalid_input`);let t=Object.getOwnPropertyDescriptors(e);if(Reflect.ownKeys(t).some(e=>typeof e!=`string`))throw new r(`invalid_input`);let n=[];for(let i=0;i<e.length;i+=1){let e=t[String(i)];if(!e||!(`value`in e)||!e.enumerable)throw new r(`invalid_input`);n.push(e.value)}if(Reflect.ownKeys(t).length!==e.length+1)throw new r(`invalid_input`);return n}catch(e){throw e instanceof r?e:new r(`invalid_input`)}}function W(e){return typeof e==`string`&&at.test(e)}function G(e,t,n){let i=U(n);if(typeof e!=`string`||!L.test(e)||typeof t!=`string`||!et.test(t))throw new r(`invalid_input`);return{workspaceId:e,uploadId:t,...i===void 0?{}:{signal:i}}}function Pt(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=1&&e<=1e4}function Ft(e){return typeof e==`string`&&st.test(e)}function It(e){return typeof e==`string`&&e.length>=1&&e.length<=1024&&/^[\x20-\x7e]+$/.test(e)}function Lt(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 Rt(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 zt(e){return e===null||K(e)}function Bt(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||Vt(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 Vt(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 K(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function Ht(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 Ut=/\{[^{}]+\}/g,Wt=()=>typeof process==`object`&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function Gt(){return Math.random().toString(36).slice(2,11)}function Kt(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=Wt()?c:void 0,t=tn(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??Qt,pathSerializer:te,body:y,middleware:b=[],...x}=d||{},S=t;f&&(S=tn(f)??t);let C=typeof i==`function`?i:Xt(i);v&&(C=typeof v==`function`?v:Xt({...typeof i==`object`?i:{},...v}));let ne=te||o||Zt,w=y===void 0?void 0:ee(y,en(s,h,g.header)),re=en(w===void 0||w instanceof FormData?{}:{"Content-Type":`application/json`},s,h,g.header),T=[...u,...b],E={redirect:`follow`,...l,...x,body:w,headers:re},D,O,k=new m($t(e,{baseUrl:S,params:g,querySerializer:C,pathSerializer:ne}),E),A;for(let e in x)e in k||(k[e]=x[e]);if(T.length){D=Gt(),O=Object.freeze({baseUrl:S,fetch:p,parseAs:_,querySerializer:C,bodySerializer:ee,pathSerializer:ne});for(let t of T)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){let n=await t.onRequest({request:k,schemaPath:e,params:g,options:O,id:D});if(n)if(n instanceof m)k=n;else if(n instanceof Response){A=n;break}else throw Error(`onRequest: must return new Request() or Response() when modifying the request`)}}if(!A){try{A=await p(k,c)}catch(t){let n=t;if(T.length)for(let t=T.length-1;t>=0;t--){let r=T[t];if(r&&typeof r==`object`&&typeof r.onError==`function`){let t=await r.onError({request:k,error:n,schemaPath:e,params:g,options:O,id:D});if(t){if(t instanceof Response){n=void 0,A=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(T.length)for(let t=T.length-1;t>=0;t--){let n=T[t];if(n&&typeof n==`object`&&typeof n.onResponse==`function`){let t=await n.onResponse({request:k,response:A,schemaPath:e,params:g,options:O,id:D});if(t){if(!(t instanceof Response))throw Error(`onResponse: must return new Response() when modifying the response`);A=t}}}}let j=A.headers.get(`Content-Length`);if(A.status===204||k.method===`HEAD`||j===`0`&&!A.headers.get(`Transfer-Encoding`)?.includes(`chunked`))return A.ok?{data:void 0,response:A}:{error:void 0,response:A};if(A.ok)return{data:await(async()=>{if(_===`stream`)return A.body;if(_===`json`&&!j){let e=await A.text();return e?JSON.parse(e):void 0}return await A[_]()})(),response:A};let M=await A.text();try{M=JSON.parse(M)}catch{}return{error:M,response:A}}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 qt(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 Jt(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(qt(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function Yt(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(qt(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function Xt(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(Yt(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(Jt(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(qt(r,i,e))}}return n.join(`&`)}}function Zt(e,t){let n=e;for(let r of e.match(Ut)??[]){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,Yt(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,Jt(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${qt(e,o)}`);continue}n=n.replace(r,a===`label`?`.${encodeURIComponent(o)}`:encodeURIComponent(o))}return n}function Qt(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 $t(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 en(...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 tn(e){return e.endsWith(`/`)?e.substring(0,e.length-1):e}String.fromCharCode;const nn=/\/$|\/\?|\/#/,rn=/^\.?\//;function an(e=``,t){return t?nn.test(e):e.endsWith(`/`)}function on(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(an(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 sn(e){return e&&e!==`/`}function cn(e,...t){let n=e||``;for(let e of t.filter(e=>sn(e)))if(n){let t=e.replace(rn,``);n=on(n)+t}else n=e;return n}function ln(e){let t;try{t=Object.freeze({baseUrl:fn(e.baseUrl),fetchImplementation:e.fetch??globalThis.fetch.bind(globalThis),getCredential:e.getCredential,timeoutMilliseconds:un(e.timeoutMilliseconds)})}catch{throw new r(`invalid_input`)}if(typeof t.fetchImplementation!=`function`||typeof t.getCredential!=`function`)throw new r(`invalid_input`);return t}async function q(e,t,n,i,a,o,s=!1,c){let d=dn(t,e.timeoutMilliseconds);try{let t=d.signal;mn(t);let f=await pn(e.getCredential,t),p;if(await i(Kt({baseUrl:e.baseUrl,fetch:async n=>{try{let i=await J(e.fetchImplementation(n),t);if(!(i instanceof Response))throw new r(`invalid_response`);p=i}catch(e){throw e instanceof r?e:t.aborted?new r(`aborted`):new r(`network_error`)}return new Response(null,{status:204})}}),{cache:`no-store`,credentials:`omit`,headers:new Headers({authorization:`Bearer ${f}`}),signal:t}),!p)throw new r(`network_error`);return o===null?await u(p,t,n,a,c):await l(p,t,n,a,o,s,c)}catch(e){throw d.didTimeout()?new r(`timeout`):e instanceof r?e:d.signal.aborted?new r(`aborted`):new r(`network_error`)}finally{d.dispose()}}function un(e){if(e===void 0)return 3e4;if(!Number.isSafeInteger(e)||e<1||e>12e4)throw new r(`invalid_input`);return e}function dn(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 fn(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 cn(t.origin,t.pathname)}async function pn(e,t){mn(t);let n;try{n=await J(e({signal:t}),t)}catch(e){throw e instanceof r&&e.code===`aborted`?e:t.aborted?new r(`aborted`):new r(`credential_unavailable`)}if(typeof n!=`string`||n.length<1||n.length>16384||!/^[\x21-\x7e]+$/.test(n))throw new r(`credential_unavailable`);return n}function mn(e){if(e.aborted)throw new r(`aborted`)}async function J(e,t){mn(t);let n=()=>{},i=new Promise((e,i)=>{let a=()=>i(new r(`aborted`));t.addEventListener(`abort`,a,{once:!0}),n=()=>t.removeEventListener(`abort`,a)});try{return await Promise.race([e,i])}finally{n()}}const hn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`service_unavailable`]),gn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),Y=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`,`precondition_failed`,`upload_recovery_required`,`service_unavailable`]),vn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`service_unavailable`]),yn=Object.freeze([..._n,`invalid_idempotency_key`,`idempotency_conflict`,`quota_exceeded`]),bn=Object.freeze([..._n,`invalid_idempotency_key`]),xn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_idempotency_key`,`idempotency_conflict`,`precondition_failed`,`service_unavailable`]),Sn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),Cn=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 wn(e){return Object.freeze({registerItemRecipient:t=>Xn(e,t),listItemSharingPeople:t=>Zn(e,t),listIncomingShares:t=>Tn(e,t),getCurrentWorkspace:t=>Fn(e,t),listWorkspaceItems:t=>Nn(e,t),getWorkspaceUsage:t=>Pn(e,t),getCurrentWorkspaceSources:t=>Mn(e,t),getItem:t=>In(e,t),searchWorkspaceItems:t=>Ln(e,t),listFolderChildren:t=>Rn(e,t),createFolder:t=>zn(e,t),updateItem:t=>Bn(e,t),trashItem:t=>Vn(e,t),restoreItem:t=>Hn(e,t),deleteItem:t=>Un(e,t),listItemVersions:t=>Wn(e,t),getItemVersion:t=>Gn(e,t),restoreItemVersion:t=>Kn(e,t),createDownload:t=>En(e,t),downloadItem:t=>Dn(e,t),listItemPermissions:t=>qn(e,t),readEffectiveItemPermissions:t=>Jn(e,t),createItemPermission:t=>Yn(e,t),updateItemPermission:t=>Qn(e,t),revokeItemPermission:t=>$n(e,t),createUpload:t=>er(e,t),getUploadStatus:t=>tr(e,t),createUploadPartDescriptor:t=>nr(e,t),recordUploadPart:t=>rr(e,t),completeUpload:t=>ir(e,t),abortUpload:t=>ar(e,t)})}async function Tn(e,t){let n=ut(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/shares/incoming`,{...V(`listIncomingShares`,{params:{query:n.query}}),...t}),[200],oe,!1,Y)}async function En(e,t){let n=pt(t);return q(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/downloads`,{...V(`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?de(e):t===202?pe(e):e===void 0,!1,Cn)}async function Dn(e,t){let n=pt(t),i=await En(e,t);if(i.status===202||i.status===304)return i;let a=i.data;if(a.expiresAtEpochMilliseconds<=Date.now())throw new r(`invalid_response`);let o=dn(n.signal,e.timeoutMilliseconds);try{let t=await J(e.fetchImplementation(kn(a,o.signal)),o.signal);if(!An(t,a))throw await t.body?.cancel().catch(()=>void 0),new r(`invalid_response`);let i=On(a);if(a.method===`HEAD`)return await t.body?.cancel().catch(()=>void 0),o.dispose(),new Response(null,{status:t.status,headers:i});if(!t.body){if(o.dispose(),a.response.contentLength!==0)throw new r(`invalid_response`);return new Response(null,{status:t.status,headers:i})}return o.dispose(),new Response(jn(t.body,a.response.contentLength,n.signal),{status:t.status,headers:i})}catch(e){throw o.dispose(),o.didTimeout()?new r(`timeout`):e instanceof r?e:o.signal.aborted?new r(o.didTimeout()?`timeout`:`aborted`):new r(`network_error`)}}function On(e){let t=e.response,n=new Headers;return 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 kn(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 An(e,t){let n=t.response,r=e.headers.get(`content-encoding`);return 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 jn(e,t,n){let i=e.getReader(),a=0,o=!1,s=()=>{};return new ReadableStream({start(e){if(!n)return;let t=()=>{o||(o=!0,s(),i.cancel().catch(()=>void 0),e.error(new r(`aborted`)))};n.aborted?t():(n.addEventListener(`abort`,t,{once:!0}),s=()=>n.removeEventListener(`abort`,t))},async pull(e){if(!o)try{let n=await i.read();if(o)return;if(n.done)o=!0,s(),i.releaseLock(),a===t?e.close():e.error(new r(`invalid_response`));else{if(a+=n.value.byteLength,!Number.isSafeInteger(a)||a>t){o=!0,s(),await i.cancel().catch(()=>void 0),e.error(new r(`invalid_response`));return}e.enqueue(n.value)}}catch(t){if(o)return;o=!0,s(),await i.cancel().catch(()=>void 0),e.error(t instanceof r?t:n?.aborted?new r(`aborted`):new r(`network_error`))}},async cancel(e){o||(o=!0,s(),await i.cancel(e).catch(()=>void 0))}})}async function Mn(e,t){return q(e,lt(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current/sources`,{...V(`getCurrentWorkspaceSources`,{params:{}}),...t}),[200],le,!1,hn)}async function Nn(e,t){let n=dt(t,!0);return q(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items`,{...V(`listWorkspaceItems`,{params:{path:{workspaceId:n.workspaceId},query:n.query}}),...t}),[200],e=>ce(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.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,Y)}async function Pn(e,t){let n=dt(t,!1);return q(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/usage`,{...V(`getWorkspaceUsage`,{params:{path:{workspaceId:n.workspaceId}}}),...t}),[200],e=>se(e)&&e.workspaceId===n.workspaceId,!1,Y)}async function Fn(e,t){return q(e,lt(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current`,{...V(`getCurrentWorkspace`,{params:{}}),...t}),[200],ue,!1,hn)}async function In(e,t){let n=R(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...V(`getItem`,{params:{path:B(n)}}),...t}),[200],(e,t,r)=>_e(e,n.workspaceId,n.itemId)&&N(r,e.revision),!1,gn)}async function Ln(e,t){let n=mt(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/search`,{...V(`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=>ve(e,n.workspaceId,n.query,n.limit??50),!1,Y)}async function Rn(e,t){let n=ht(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...V(`listFolderChildren`,{params:{path:B(n),query:At(n)}}),...t}),[200],e=>me(e,n.workspaceId,n.itemId))}async function zn(e,t){let n=gt(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...V(`createFolder`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey}},body:{name:n.name}}),...t}),[200,201],e=>he(e)&&e.workspaceId===n.workspaceId&&e.parentItemId===n.itemId&&e.kind===`folder`&&e.name===n.name)}async function Bn(e,t){let n=_t(t);return q(e,n.signal,409,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...V(`updateItem`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:{name:n.name,parentItemId:n.parentItemId}}),...t}),[200],(e,t,r)=>ge(e,n.workspaceId,n.itemId,`active`)&&e.name===n.name&&e.parentItemId===n.parentItemId&&N(r,e.revision),!1,xn)}async function Vn(e,t){let n=z(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/trash`,{...V(`trashItem`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>ge(e,n.workspaceId,n.itemId,`trashed`)&&N(r,e.revision),!1,xn)}async function Hn(e,t){let n=z(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/restore`,{...V(`restoreItem`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>ge(e,n.workspaceId,n.itemId,`active`)&&N(r,e.revision),!1,xn)}async function Un(e,t){let n=z(t);return q(e,n.signal,409,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...V(`deleteItem`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200,202],(e,t,r)=>ge(e,n.workspaceId,n.itemId,`deleting`)&&N(r,e.revision),!1,xn)}async function Wn(e,t){let n=ht(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions`,{...V(`listItemVersions`,{params:{path:B(n),query:At(n)}}),...t}),[200],e=>Ce(e,n.limit??50),!1,Sn)}async function Gn(e,t){let n=ft(t);return q(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}`,{...V(`getItemVersion`,{params:{path:{...B(n),versionId:n.versionId}}}),...t}),[200],e=>Le(e,n.workspaceId,n.itemId,n.versionId),!1,Sn)}async function Kn(e,t){let n=vt(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}/restore`,{...V(`restoreItemVersion`,{params:{path:{...B(n),versionId:n.versionId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>we(e,n.versionId)&&N(r,e.itemRevision),!1,xn)}async function qn(e,t){let n=ht(t);return q(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...V(`listItemPermissions`,{params:{path:B(n),query:At(n)}}),...t}),[200],(e,t,r)=>Te(e,r,n.itemId))}async function Jn(e,t){let n=R(t);return q(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/effective`,{...V(`readEffectiveItemPermissions`,{params:{path:B(n)}}),...t}),[200],e=>Oe(e,n.itemId))}async function Yn(e,t){let n=yt(t);return q(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...V(`createItemPermission`,{params:{path:B(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:{grantee:n.grantee,actions:n.actions,expiresAtEpochMilliseconds:n.expiresAtEpochMilliseconds}}),...t}),[200,201],(e,t,r)=>De(e,n.itemId)&&(t===201&&e.outcome===`committed`||t===200&&e.outcome===`replayed`)&&(t===200||e.grant.availability!==`revoked`)&&Be(r))}async function Xn(e,t){let n=bt(t);return q(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing`,{...V(`registerItemRecipient`,{params:{path:B(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)=>De(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`)&&Be(r),!1,[...Y,`recipient_unavailable`,`registration_conflict`,`rate_limited`,`idempotency_conflict`,`invalid_idempotency_key`])}async function Zn(e,t){let n=ht(t);return q(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing/people`,{...V(`listItemSharingPeople`,{params:{path:B(n),query:At(n)}}),...t}),[200],(e,t,r)=>Ee(e,r,n.itemId))}async function Qn(e,t){let n=St(t),r={};return n.actions!==void 0&&(r.actions=n.actions),n.expiresAtEpochMilliseconds!==void 0&&(r.expiresAtEpochMilliseconds=n.expiresAtEpochMilliseconds),q(e,n.signal,412,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...V(`updateItemPermission`,{params:{path:{...B(n),grantId:n.grantId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:r}),...t}),[200],(e,t,r)=>De(e,n.itemId,n.grantId)&&e.grant.availability!==`revoked`&&Be(r))}async function $n(e,t){let n=xt(t);return q(e,n.signal,412,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...V(`revokeItemPermission`,{params:{path:{...B(n),grantId:n.grantId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>De(e,n.itemId,n.grantId)&&e.grant.availability===`revoked`&&d(r.get(`drive-permission-collection-etag`)??``)!==void 0&&r.get(`drive-permission-grant-etag`)===null)}async function er(e,t){let n=Ct(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads`,{...V(`createUpload`,{params:{path:{workspaceId:n.workspaceId},header:{"Idempotency-Key":n.idempotencyKey}},body:{parentItemId:n.parentItemId,expectedByteLength:n.expectedByteLength,displayFilename:n.displayFilename,mediaType:n.mediaType,callerDeclaredContentDigest:n.callerDeclaredContentDigest,protectionClassification:n.protectionClassification}}),...t}),[200,201],e=>ke(e,n.expectedByteLength),!0,yn)}async function tr(e,t){let n=wt(t),r=n.afterPartNumber??0,i=n.limit??100;return q(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}`,{...V(`getUploadStatus`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId},query:{...n.afterPartNumber===void 0?{}:{afterPartNumber:String(n.afterPartNumber)},...n.limit===void 0?{}:{limit:String(n.limit)}}}}),...t}),[200],e=>Ae(e,r,i)&&e.uploadId===n.uploadId,!1,vn)}async function nr(e,t){let n=Tt(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/parts`,{...V(`createUploadPartDescriptor`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId}},body:{partNumber:n.partNumber,checksumSha256:n.checksumSha256,contentMd5:n.contentMd5}}),...t}),[200],t=>je(t,n.partNumber,new URL(e.baseUrl).protocol===`http:`,n.contentMd5),!1,_n)}async function rr(e,t){let n=Et(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/parts/{partNumber}`,{...V(`recordUploadPart`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId,partNumber:String(n.partNumber)}},body:{expectedUploadRevision:n.expectedUploadRevision,byteLength:n.byteLength,etag:n.etag,checksumSha256:n.checksumSha256}}),...t}),[200],e=>Me(e,n.partNumber,n.expectedUploadRevision),!1,_n)}async function ir(e,t){let n=Dt(t);return q(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/complete`,{...V(`completeUpload`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId},header:{"Idempotency-Key":n.idempotencyKey}}}),...t}),[200,202],(e,t)=>t===202?Pe(e,n.uploadId):Ne(e,{uploadId:n.uploadId}),!1,bn)}async function ar(e,t){let n=Ot(t);return q(e,n.signal,409,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}`,{...V(`abortUpload`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId}}}),...t}),[204],null,!1,_n)}const or=e=>e/2**32|0,sr=e=>e>>>0;function cr(e,t,n,r){let i=or(n),a=sr(n);e.setUint32(t,r?a:i,r),e.setUint32(t+4,r?i:a,r)}function lr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}const ur=e=>e?`"${e}" `:``;function dr(e,t=``){if(typeof e!=`number`)throw TypeError(ur(t)+`expected number, got `+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError(ur(t)+`expected integer >= 0, got `+e);return e}function fr(e,t,n=``){if(lr(e)&&(t===void 0||e.length===t))return e;t!==void 0&&dr(t,`length`);let r=lr(e),i=t===void 0?``:` of length ${t}`,a=r?`length=${e.length}`:`type=${typeof e}`,o=ur(n)+`expected Uint8Array`+i+`, got `+a;throw r?RangeError(o):TypeError(o)}const pr=(e,t)=>{if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError((t===`object`?``:`"${t}" `)+`expected object, got type=`+typeof e)};function mr(e,t=!0){if(e.destroyed)throw Error(`hash was destroyed`);if(t&&e.finished)throw Error(`digest() was already called`)}function hr(e,t){fr(e,void 0,`output`);let n=t.outputLen;if(!(e.length>=n))throw RangeError(`"output" expected length >= `+n)}function gr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function _r(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function X(e,t){return e<<32-t|e>>>t}function vr(e,t){return e<<t|e>>>32-t>>>0}const yr=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,br=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function xr(e){if(fr(e),yr)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=br[e[n]];return t}function Sr(e,t,n=`opts`){return pr(e,`defaults`),t!==void 0&&pr(t,n),Object.assign(e,t)}function Cr(e,t={}){if(typeof e!=`function`)throw TypeError(`"hashCons" expected function, got type=`+typeof e);t=Sr({},t,`info`);let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}const wr=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Tr(e,t,n){return e&t^~e&n}function Er(e,t,n){return e&t^e&n^t&n}var Dr=class{blockLen;outputLen;canXOF=!1;padOffset;isLE;buffer;view;finished=!1;length=0;pos=0;destroyed=!1;constructor(e,t,n,r){this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.buffer=new Uint8Array(e),this.view=_r(this.buffer)}update(e){mr(this),fr(e);let{view:t,buffer:n,blockLen:r}=this,i=e.length,a=!1;for(let o=0;o<i;){let s=Math.min(r-this.pos,i-o);if(s===r){let t=_r(e);for(;r<=i-o;o+=r)this.process(t,o);a=!0;continue}n.set(o===0&&s===i?e:e.subarray(o,o+s),this.pos),this.pos+=s,o+=s,this.pos===r&&(this.process(t,0),this.pos=0,a=!0)}return this.length+=e.length,a&&this.roundClean(),this}digestInto(e){mr(this),hr(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:r,isLE:i}=this,{pos:a}=this;t[a++]=128,t.fill(0,a),this.padOffset>r-a&&(this.process(n,0),t.fill(0)),cr(n,r-8,this.length*8,i),this.process(n,0),this.roundClean();let o=e===t?n:_r(e),s=this.outputLen,c=s/4,l=this.get();if(s%4||c>l.length)throw Error(`invalid outputLen`);for(let e=0;e<c;e++)o.setUint32(4*e,l[e],i)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneIntoMeta(e){let{buffer:t,length:n,finished:r,destroyed:i,pos:a}=this;return e.destroyed=i,e.finished=r,e.length=n,e.pos=a,a&&e.buffer.set(t),e}clone(){return this._cloneInto()}};const Or=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),kr=Uint32Array.from([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Z=new Uint32Array(64);var Ar=class extends Dr{A=0;B=0;C=0;D=0;E=0;F=0;G=0;H=0;constructor(e,t){super(64,e,8,!1),this.A=t[0]|0,this.B=t[1]|0,this.C=t[2]|0,this.D=t[3]|0,this.E=t[4]|0,this.F=t[5]|0,this.G=t[6]|0,this.H=t[7]|0}get(){let{A:e,B:t,C:n,D:r,E:i,F:a,G:o,H:s}=this;return[e,t,n,r,i,a,o,s]}set(e,t,n,r,i,a,o,s){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0,this.E=i|0,this.F=a|0,this.G=o|0,this.H=s|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let n=0;n<16;n++,t+=4)Z[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){let t=Z[e-15],n=Z[e-2],r=X(t,7)^X(t,18)^t>>>3,i=X(n,17)^X(n,19)^n>>>10;Z[e]=i+Z[e-7]+r+Z[e-16]|0}let{A:n,B:r,C:i,D:a,E:o,F:s,G:c,H:l}=this;for(let e=0;e<64;e++){let t=X(o,6)^X(o,11)^X(o,25),u=l+t+Tr(o,s,c)+kr[e]+Z[e]|0,d=(X(n,2)^X(n,13)^X(n,22))+Er(n,r,i)|0;l=c,c=s,s=o,o=a+u|0,a=i,i=r,r=n,n=u+d|0}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,o=o+this.E|0,s=s+this.F|0,c=c+this.G|0,l=l+this.H|0,this.set(n,r,i,a,o,s,c,l)}roundClean(){gr(Z)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),gr(this.buffer)}},jr=class extends Ar{constructor(){super(32,Or)}};const Mr=Cr(()=>new jr,wr(1)),Nr=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),Pr=2**32,Fr=Array.from({length:64},(e,t)=>Math.floor(Pr*Math.abs(Math.sin(t+1)))),Ir=Nr.slice(0,4),Lr=new Uint32Array(16),Rr=(()=>{let e=[[7,12,17,22],[5,9,14,20],[4,11,16,23],[6,10,15,21]];return Uint8Array.from({length:64},(t,n)=>e[Math.floor(n/16)][n%4])})();var zr=class extends Dr{A=Ir[0]|0;B=Ir[1]|0;C=Ir[2]|0;D=Ir[3]|0;constructor(){super(64,16,8,!0)}get(){let{A:e,B:t,C:n,D:r}=this;return[e,t,n,r]}set(e,t,n,r){this.A=e|0,this.B=t|0,this.C=n|0,this.D=r|0}_cloneInto(e){return(e||=new this.constructor).set(...this.get()),this._cloneIntoMeta(e)}process(e,t){for(let n=0;n<16;n++,t+=4)Lr[n]=e.getUint32(t,!0);let{A:n,B:r,C:i,D:a}=this;for(let e=0;e<64;e++){let t,o;e<16?(t=Tr(r,i,a),o=e):e<32?(t=Tr(a,r,i),o=(5*e+1)%16):e<48?(t=r^i^a,o=(3*e+5)%16):(t=i^(r|~a),o=7*e%16),t=t+n+Fr[e]+Lr[o],n=a,a=i,i=r,r+=vr(t,Rr[e])}n=n+this.A|0,r=r+this.B|0,i=i+this.C|0,a=a+this.D|0,this.set(n,r,i,a)}roundClean(){gr(Lr)}destroy(){this.destroyed=!0,this.set(0,0,0,0),gr(this.buffer)}};const Br=Cr(()=>new zr),Q=32*1024*1024;async function Vr(e,t,n){let i=kt(t),a=Math.ceil(i.byteLength/Q);$(i.onProgress,`preparing`,0,i.byteLength,0,a);let o;try{let t=await Kr(i.source,i.byteLength,a,i.signal),s=await n.createUpload({workspaceId:i.workspaceId,parentItemId:i.parentItemId,expectedByteLength:i.byteLength,displayFilename:i.displayFilename,mediaType:i.mediaType,callerDeclaredContentDigest:t.callerDeclaredContentDigest,protectionClassification:i.protectionClassification,idempotencyKey:i.idempotencyKey,...i.signal===void 0?{}:{signal:i.signal}});o=s.data,Jr(o,i.byteLength,a,s.status,s.requestId);let c=await Ur(n,i,o,t);if($(i.onProgress,`uploading`,c.confirmedByteLength,i.byteLength,c.confirmedParts.size,a),c.readyResult)return $(i.onProgress,`completing`,c.confirmedByteLength,i.byteLength,c.confirmedParts.size,a),c.readyResult;let l=c.revision,u=c.confirmedByteLength,d=c.confirmedParts.size;if(c.lifecycle===`uploading`)for(let s of Hr(o.partCount,c.confirmedParts)){let c=s-1;ii(i.signal);let f=c*o.partByteLength,p=Math.min(f+o.partByteLength,i.byteLength),m=p-f,h=t.partChecksums[c];if(!h)throw new r(`invalid_response`);let g=await n.createUploadPartDescriptor({workspaceId:i.workspaceId,uploadId:o.uploadId,partNumber:s,checksumSha256:h,contentMd5:t.partMd5s[c],...i.signal===void 0?{}:{signal:i.signal}}),_=g.data;if(_.expectedByteLength!==m||_.expiresAtEpochMilliseconds>o.expiresAtEpochMilliseconds)throw new r(`invalid_response`,{status:g.status,requestId:g.requestId});let v=await qr(e,_,ti(i.source,f,p,m),i.signal);l=await Wr(n,i,o,s,l,m,v,h),u+=m,d+=1,$(i.onProgress,`uploading`,u,i.byteLength,d,a)}$(i.onProgress,`completing`,u,i.byteLength,d,a);let f=await Gr(n,i,o,t);return f.data.state===`verifying`&&$(i.onProgress,`verifying`,u,i.byteLength,d,a),f}catch(e){throw i.signal?.aborted&&o&&await ni(n,i.workspaceId,o.uploadId),e instanceof r?e:i.signal?.aborted?new r(`aborted`):new r(`invalid_input`)}}function*Hr(e,t){for(let n=1;n<=e;n+=1)t.has(n)||(yield n)}async function Ur(e,t,n,i){let a=new Set,o=0,s=0,c,l,u;for(let d=0;d<100;d+=1){let f=await e.getUploadStatus({workspaceId:t.workspaceId,uploadId:n.uploadId,afterPartNumber:s,limit:100,...t.signal===void 0?{}:{signal:t.signal}}),p=f.data;Yr(p,n),c?Xr(p,c):(c=p,l=f.requestId);for(let e of p.confirmedParts){let n=i.partChecksums[e.partNumber-1];if(!n||e.checksumSha256!==n||a.has(e.partNumber))throw new r(`invalid_response`,{status:f.status,requestId:f.requestId});a.add(e.partNumber),o+=ei(t.byteLength,e.partNumber)}if(p.lifecycle===`ready`&&p.ready&&(Zr(p.ready,n,t,i,f.requestId),u=$r(f,p.ready)),p.nextAfterPartNumber===null)break;if(d===99)throw new r(`invalid_response`,{status:f.status,requestId:f.requestId});s=p.nextAfterPartNumber}if(!c||n.mode===`presigned-multipart`&&[`completing`,`provider-completed`,`verifying`,`ready`].includes(c.lifecycle)&&a.size!==n.partCount)throw new r(`invalid_response`);return Qr(c.lifecycle,l),Object.freeze({revision:c.revision,confirmedParts:a,confirmedByteLength:o,lifecycle:c.lifecycle,...u===void 0?{}:{readyResult:u}})}async function Wr(e,t,n,i,a,o,s,c){let l=r=>e.recordUploadPart({workspaceId:t.workspaceId,uploadId:n.uploadId,partNumber:i,expectedUploadRevision:r,byteLength:o,etag:s,checksumSha256:c,...t.signal===void 0?{}:{signal:t.signal}});try{return(await l(a)).data.revision}catch(a){if(!ri(a)||t.signal?.aborted)throw a;let o=await e.getUploadStatus({workspaceId:t.workspaceId,uploadId:n.uploadId,afterPartNumber:i-1,limit:1,...t.signal===void 0?{}:{signal:t.signal}}),s=o.data;Yr(s,n),Qr(s.lifecycle,o.requestId);let u=s.confirmedParts.find(e=>e.partNumber===i);if(u){if(u.checksumSha256!==c)throw new r(`invalid_response`,{status:o.status,requestId:o.requestId});return s.revision}if(s.lifecycle!==`uploading`)throw new r(`precondition_failed`);return(await l(s.revision)).data.revision}}async function Gr(e,t,n,i){try{let a=await e.completeUpload({workspaceId:t.workspaceId,uploadId:n.uploadId,idempotencyKey:t.completionIdempotencyKey,...t.signal===void 0?{}:{signal:t.signal}});if(a.data.state===`ready`)Zr(a.data,n,t,i,a.requestId);else if(a.data.itemId!==n.itemId||a.data.versionId!==n.versionId||a.data.uploadId!==n.uploadId||a.data.totalByteLength!==t.byteLength)throw new r(`invalid_response`);return a}catch(r){if(!ri(r)||t.signal?.aborted)throw r;let a=await e.getUploadStatus({workspaceId:t.workspaceId,uploadId:n.uploadId,afterPartNumber:0,limit:1,...t.signal===void 0?{}:{signal:t.signal}}),o=a.data;if(Yr(o,n),o.lifecycle!==`ready`||!o.ready)throw r;return Zr(o.ready,n,t,i,a.requestId),$r(a,o.ready)}}async function Kr(e,t,n,i){let a=Mr.create(),o=[],s=[];for(let c=0;c<n;c+=1){ii(i);let n=c*Q,l=Math.min(n+Q,t),u=ti(e,n,l,l-n),d;try{d=i?await J(u.arrayBuffer(),i):await u.arrayBuffer()}catch(e){throw e instanceof r?e:i?.aborted?new r(`aborted`):new r(`invalid_input`)}if(d.byteLength!==l-n)throw new r(`invalid_input`);let f=new Uint8Array(d);a.update(f),o.push(ai(Mr(f))),s.push(ai(Br(f)))}return Object.freeze({callerDeclaredContentDigest:`sha256:${xr(a.digest())}`,partChecksums:Object.freeze(o),partMd5s:Object.freeze(s)})}async function qr(e,t,n,i){let a=t.expiresAtEpochMilliseconds-Date.now();if(a<1)throw new r(`invalid_response`);let o=dn(i,Math.min(e.timeoutMilliseconds,a)),s;try{if(s=await J(e.fetchImplementation(t.url,{method:t.method,body:n,headers:t.headers,credentials:`omit`,cache:`no-store`,redirect:`error`,referrerPolicy:`no-referrer`,signal:o.signal}),o.signal),!(s instanceof Response))throw new r(`invalid_response`);let i=s.headers.get(`etag`),a=s.headers.get(`content-md5`),c=a===null||a===t.headers[`content-md5`];if(s.status<200||s.status>299||!oi(i)||!c)throw new r(`invalid_response`,{status:s.status});return i}catch(e){throw o.didTimeout()?new r(`timeout`):i?.aborted?new r(`aborted`):e instanceof r?e:new r(`network_error`)}finally{o.dispose(),s?.body?.cancel().catch(()=>{})}}function Jr(e,t,n,i,a){let o=t===0?`server-mediated-zero-byte`:`presigned-multipart`;if(e.mode!==o||e.partByteLength!==Q||e.partCount!==n||e.expiresAtEpochMilliseconds<=Date.now())throw new r(`invalid_response`,{status:i,requestId:a})}function Yr(e,t){if(e.itemId!==t.itemId||e.versionId!==t.versionId||e.uploadId!==t.uploadId||e.mode!==t.mode||e.revision<t.revision||e.partPolicy.partByteLength!==t.partByteLength||e.partPolicy.partCount!==t.partCount||e.partPolicy.maxParts!==1e4||e.expiresAtEpochMilliseconds!==t.expiresAtEpochMilliseconds)throw new r(`invalid_response`)}function Xr(e,t){if(e.itemId!==t.itemId||e.versionId!==t.versionId||e.uploadId!==t.uploadId||e.mode!==t.mode||e.lifecycle!==t.lifecycle||e.revision!==t.revision||e.partPolicy.partByteLength!==t.partPolicy.partByteLength||e.partPolicy.partCount!==t.partPolicy.partCount||e.partPolicy.maxParts!==t.partPolicy.maxParts||e.expiresAtEpochMilliseconds!==t.expiresAtEpochMilliseconds||JSON.stringify(e.ready)!==JSON.stringify(t.ready))throw new r(`invalid_response`)}function Zr(e,t,n,i,a){if(e.itemId!==t.itemId||e.versionId!==t.versionId||e.uploadId!==t.uploadId||e.byteLength!==n.byteLength||e.callerDeclaredContentDigest!==i.callerDeclaredContentDigest||e.displayFilename!==n.displayFilename||e.mediaType!==n.mediaType)throw new r(`invalid_response`,{status:200,requestId:a})}function Qr(e,t){if(e===`initiating`||e===`recovery-required`)throw new r(`upload_recovery_required`,{status:409,...t===void 0?{}:{requestId:t}});if(e===`aborting`||e===`aborted`||e===`failed`)throw new r(`precondition_failed`,{status:409,...t===void 0?{}:{requestId:t}})}function $r(e,t){return Object.freeze({data:t,status:e.status,requestId:e.requestId,validators:e.validators})}function ei(e,t){return Math.min(Q,e-(t-1)*Q)}function ti(e,t,n,i){try{let a=e.slice(t,n);if(!(a instanceof Blob)||a.size!==i)throw new r(`invalid_input`);return a}catch(e){throw e instanceof r?e:new r(`invalid_input`)}}function $(e,t,n,r,i,a){if(!e)return;let o=Object.freeze({phase:t,confirmedByteLength:n,totalByteLength:r,confirmedPartCount:i,totalPartCount:a});try{e(o)}catch{}}async function ni(e,t,n){let r=new AbortController,i=setTimeout(()=>r.abort(),5e3);try{await e.abortUpload({workspaceId:t,uploadId:n,signal:r.signal})}catch{}finally{clearTimeout(i)}}function ri(e){return e instanceof r&&(e.code===`network_error`||e.code===`timeout`||e.code===`invalid_response`)}function ii(e){if(e?.aborted)throw new r(`aborted`)}function ai(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t)}function oi(e){return e!==null&&e.length>=1&&e.length<=1024&&/^[\x20-\x7e]+$/.test(e)}function si(e){let t=ln(e),n=wn(t);return Object.freeze({...n,uploadFile:e=>Vr(t,e,n)})}export{si as createDriveClient};
@@ -3054,6 +3054,8 @@ interface operations {
3054
3054
  "application/json": {
3055
3055
  /** @description Normalized email, at most 320 UTF-8 bytes. */
3056
3056
  email: string;
3057
+ /** @description Require the freshly resolved Auth user ID to match before creating a grant. A mismatch returns registration_conflict without mutation. */
3058
+ expectedRecipientUserId?: string;
3057
3059
  /** @enum {string} */
3058
3060
  role: "viewer" | "editor";
3059
3061
  };
@@ -3169,7 +3171,7 @@ interface operations {
3169
3171
  };
3170
3172
  content?: never;
3171
3173
  };
3172
- /** @description The idempotency key was reused for a different semantic request. */
3174
+ /** @description Idempotency conflict or registration_conflict: the resolved recipient does not match the expected user. */
3173
3175
  409: {
3174
3176
  headers: {
3175
3177
  [name: string]: unknown;
@@ -3184,6 +3186,15 @@ interface operations {
3184
3186
  message: "The idempotency key conflicts with an earlier request.";
3185
3187
  requestId: string;
3186
3188
  };
3189
+ } | {
3190
+ error: {
3191
+ /** @enum {string} */
3192
+ code: "registration_conflict";
3193
+ details: Record<string, never>;
3194
+ /** @enum {string} */
3195
+ message: "The recipient could not be confirmed.";
3196
+ requestId: string;
3197
+ };
3187
3198
  };
3188
3199
  };
3189
3200
  };
@@ -5561,6 +5572,8 @@ interface RegisterItemRecipientInput {
5561
5572
  readonly workspaceId: string;
5562
5573
  readonly itemId: string;
5563
5574
  readonly email: string;
5575
+ /** Assert the freshly resolved Auth identity before any grant is created. */
5576
+ readonly expectedRecipientUserId?: string;
5564
5577
  readonly role: "viewer" | "editor";
5565
5578
  readonly ifMatch: string;
5566
5579
  readonly idempotencyKey: string;
package/dist/core.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  //#region src/core.d.ts
2
- declare const DRIVE_API_ERROR_CODES: readonly ["authentication_required", "identity_authority_unavailable", "recipient_unavailable", "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"];
2
+ declare const DRIVE_API_ERROR_CODES: readonly ["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"];
3
3
  type DriveApiErrorCode = (typeof DRIVE_API_ERROR_CODES)[number];
4
4
  type DriveSdkErrorCode = "invalid_input" | "credential_unavailable" | "network_error" | "timeout" | "aborted" | "invalid_response";
5
5
  type DriveErrorCode = DriveApiErrorCode | DriveSdkErrorCode;
@@ -7,6 +7,7 @@ declare const DRIVE_API_ERROR_MESSAGES: Readonly<{
7
7
  readonly authentication_required: "Authentication is required.";
8
8
  readonly identity_authority_unavailable: "Authentication is temporarily unavailable.";
9
9
  readonly recipient_unavailable: "The recipient is unavailable.";
10
+ readonly registration_conflict: "The recipient could not be confirmed.";
10
11
  readonly rate_limited: "Too many requests.";
11
12
  readonly permission_denied: "The requested action is not permitted.";
12
13
  readonly resource_not_found: "The requested resource was not found.";
package/dist/core.js CHANGED
@@ -1 +1 @@
1
- const e=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`recipient_unavailable`,`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({authentication_required:`Authentication is required.`,identity_authority_unavailable:`Authentication is temporarily unavailable.`,recipient_unavailable:`The recipient is unavailable.`,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.`}),n=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 r=class extends Error{code;status;requestId;details;constructor(e,r={}){super(e in t?t[e]:n[e]),this.name=`DriveError`,this.code=e,this.status=r.status??null,this.requestId=r.requestId??null,this.details=Object.freeze({})}};export{e as DRIVE_API_ERROR_CODES,t as DRIVE_API_ERROR_MESSAGES,r as DriveError};
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({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.`}),n=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 r=class extends Error{code;status;requestId;details;constructor(e,r={}){super(e in t?t[e]:n[e]),this.name=`DriveError`,this.code=e,this.status=r.status??null,this.requestId=r.requestId??null,this.details=Object.freeze({})}};export{e as DRIVE_API_ERROR_CODES,t as DRIVE_API_ERROR_MESSAGES,r as DriveError};