@finueva/drive 0.13.0 → 0.14.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 +9 -0
- package/README.md +13 -0
- package/dist/client.d.ts +2 -2
- package/dist/client.js +1 -1
- package/dist/contract.d.ts +444 -1
- package/dist/contract2.d.ts +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.js +1 -1
- package/dist/types.d.ts +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @finueva/drive
|
|
2
2
|
|
|
3
|
+
## 0.14.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 7755cdd: Add generic existing-file version uploads and commits with independent archive verification, exact-version CAS, idempotent recovery, current file ACL checks, accounting and safe loser cleanup. Replace the unreleased document admission/signing and native-codec experiment with application-owned collaboration policy. The SDK exposes createFileVersionUpload, commitFileVersion and uploadFileVersion without document keys, models or peer proofs.
|
|
8
|
+
- 95eb7e1: Add explicit self onboarding for an already provisioned organization workspace with `ensureOrganizationWorkspaceAccess`. The operation uses only the caller's Auth-signed organization credential. It does not create membership, storage or entitlements. Membership removal retains the existing maximum fifteen-minute offline credential revocation bound.
|
|
9
|
+
- 29ae7ea: Add exact current-version media-type filters to authorized workspace discovery, with filter-bound pagination cursors and SDK response validation.
|
|
10
|
+
- 0cfac9f: Add visitor downloadItem with the same validated, byte-bounded streaming response as private downloads. Document descriptor-based before/after preview evidence without whole-file buffering or user credentials.
|
|
11
|
+
|
|
3
12
|
## 0.13.0
|
|
4
13
|
|
|
5
14
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -6,6 +6,8 @@ The package is ESM-only. Node.js 22 is the exact minimum; package CI qualifies N
|
|
|
6
6
|
|
|
7
7
|
## Exports
|
|
8
8
|
|
|
9
|
+
The organization-access candidate adds `ensureOrganizationWorkspaceAccess()` to user clients. First provision storage through the existing ecosystem service. Then call this bodyless operation with the member's own organization credential. It admits only that signed User and returns the current workspace/root. It creates no membership or quota. Auth removal stops new credentials; already-issued credentials retain the existing maximum fifteen-minute revocation bound. See [Organization workspace access](../../apps/developer/docs/architecture/organization-access.md). Consumer integration requires the approved SDK release.
|
|
10
|
+
|
|
9
11
|
| Import | Runtime |
|
|
10
12
|
| ----------------------- | ------------------------------------ |
|
|
11
13
|
| `@finueva/drive` | Browser client, errors, types |
|
|
@@ -163,6 +165,17 @@ Successful calls return `{ data, status, requestId, validators }`. A successful
|
|
|
163
165
|
|
|
164
166
|
`createDownload` returns a short-lived archive descriptor for the current or an explicit immutable version, one visible `restore-pending` result for cold content, or a no-body `304` operation result whose validators retain the source ETag. Full, closed, open, and suffix ranges use the selected archive object's strong ETag; malformed or multiple ranges are served as full representations, while valid non-overlapping ranges fail with `range_not_satisfiable`. `downloadItem` follows a descriptor with no Drive credential, ambient browser credentials, or referrer and returns the provider body as a backpressured `Response`; it preserves the same `304` and cold-restore results without a provider request. It validates exact status, ETag, identity encoding, length, and `Content-Range`, cancels malformed upstream bodies, and keeps caller cancellation/deadline authority active until the stream closes or is cancelled. It never returns Blob, ArrayBuffer, text, or base64 whole-file convenience values.
|
|
165
167
|
|
|
168
|
+
The visitor client also exposes `downloadItem(input?: VisitorDownloadInput): Promise<Response>`
|
|
169
|
+
with optional `itemId`, `method`, `range` and `signal`. It uses the same descriptor
|
|
170
|
+
validator and streaming transport, including redirect rejection and exact streamed
|
|
171
|
+
byte counts. It does not hash or clone the complete response. For preview freshness,
|
|
172
|
+
capture `createDownload({ itemId, method: "HEAD" })` before and after a bounded read;
|
|
173
|
+
compare descriptor `response.versionId`, `byteLength`, `contentType` and strong `etag`,
|
|
174
|
+
and compare the downloaded response ETag to that baseline. Reauthorization failure or
|
|
175
|
+
changed evidence discards the preview. These are content validators, not item lifecycle
|
|
176
|
+
ETags. Visitors remain viewer-only and cannot query private permissions or restore
|
|
177
|
+
cold content.
|
|
178
|
+
|
|
166
179
|
The six low-level upload methods map directly to the Native API. `createUpload` accepts a caller-declared whole-file `sha256:{64 lowercase hex}` digest. Portable S3 is the only supported upload transport, with no profile selector. Descriptor requests require `contentMd5` (canonical base64 MD5), and return a required `content-md5` header. Part SHA-256 declarations and opaque provider ETags remain separate callback fields; MD5 is transport error detection, not content identity.
|
|
167
180
|
|
|
168
181
|
Publication independently verifies archive bytes against both whole-file and part SHA-256 declarations. `getUploadStatus` exposes bounded confirmed-part pages and read-only verification progress once verification is admitted. `completeUpload` and `uploadFile` return `DriveOperationResult<UploadCompletion, 200 | 202>`: inspect `data.state` for `ready` versus `verifying`. A `202` is not publication. Retain its `uploadId` and the original completion idempotency key, inspect status, then call `completeUpload` again with that key when appropriate. The SDK does not start an unbounded polling loop. To cancel after a pending result, call `abortUpload({ workspaceId, uploadId })`, which returns bodyless `204`.
|
package/dist/client.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as ManagedLifecycleItem, A as FolderPage, At as UploadStatus, B as ListFolderChildrenInput, Bt as WorkspaceDiscoveryItem, Ct as UploadFilePhase, Dt as UploadPartDescriptor, Et as UploadFileVersionInput, F as GetVisitorGrantInput, Ft as VisitorGrantCreation, G as ListWorkspaceItemsInput, Ht as WorkspaceItemSearchItem, I as GetWorkspaceUsageInput, It as VisitorGrantPage, J as ManagedItemMetadata, K as ManagedDownloadDescriptor, L as IncomingShareContext, Lt as VisitorItem, M as GetItemInput, N as GetItemVersionInput, O as FileAccessContext, Ot as UploadPartResult, P as GetUploadStatusInput, Pt as VisitorGrant, Q as ManagedItemVersionRestoreResult, R as IncomingSharePage, St as UploadFileInput, T as DriveVisitorClientConfig, Tt as UploadFileProgressCallback, U as ListItemSharingPeopleInput, Ut as WorkspaceItemSearchPage, V as ListIncomingSharesInput, Vt as WorkspaceDiscoveryPage, W as ListItemVersionsInput, Wt as WorkspaceUsage, X as ManagedItemVersionPage, Y as ManagedItemVersion, Z as ManagedItemVersionResource, _t as TrashItemInput, a as CreateFileVersionUploadInput, bt as UploadCompletion, c as CreateUploadInput, ct as ReadyUpload, d as CurrentWorkspace, dt as RegisteredRecipientDisplay, et as PendingUpload, f as CurrentWorkspaceSources, ft as RestoreItemInput, g as DriveClientConfig, gt as SearchWorkspaceItemsInput, h as DriveClient, ht as RevokeVisitorGrantInput, i as CreateDownloadInput, j as GetCurrentWorkspaceInput, jt as VisitorChildren, k as FolderItem, kt as UploadSession, l as CreateUploadPartDescriptorInput, lt as RecordUploadPartInput, m as DownloadItemResult, n as CommitFileVersionInput, ot as ProtectionClassification, p as DeleteItemInput, pt as RestoreItemVersionInput, q as ManagedDownloadRestorePending, r as CompleteUploadInput, t as AbortUploadInput, u as CreateVisitorGrantInput, ut as RegisterItemRecipientInput, v as DriveCredentialProvider, vt as UpdateItemInput, w as DriveVisitorClient, wt as UploadFileProgress, xt as UploadConfirmedPart, z as ItemSharingPeoplePage, zt as VisitorSession } from "./contract.js";
|
|
2
2
|
import { n as createVisitorSessionToken, t as createDriveVisitorClient } from "./contract2.js";
|
|
3
3
|
//#region src/client.d.ts
|
|
4
4
|
declare function createDriveClient(config: DriveClientConfig): DriveClient;
|
|
5
5
|
//#endregion
|
|
6
|
-
export { type AbortUploadInput, type CompleteUploadInput, type CreateDownloadInput, type CreateUploadInput, type CreateUploadPartDescriptorInput, type CreateVisitorGrantInput, type CurrentWorkspace, type CurrentWorkspaceSources, type DeleteItemInput, type DownloadItemResult, type DriveClient, type DriveClientConfig, type DriveCredentialProvider, type DriveVisitorClient, type DriveVisitorClientConfig, type FolderItem, type FolderPage, type GetCurrentWorkspaceInput, type GetItemInput, type GetItemVersionInput, type GetUploadStatusInput, type GetVisitorGrantInput, type GetWorkspaceUsageInput, type IncomingShareContext, type IncomingSharePage, type ItemSharingPeoplePage, type ListFolderChildrenInput, type ListIncomingSharesInput, type ListItemSharingPeopleInput, type ListItemVersionsInput, type ListWorkspaceItemsInput, type ManagedDownloadDescriptor, type ManagedDownloadRestorePending, type ManagedItemMetadata, type ManagedItemVersion, type ManagedItemVersionPage, type ManagedItemVersionResource, type ManagedItemVersionRestoreResult, type ManagedLifecycleItem, type PendingUpload, type ProtectionClassification, type ReadyUpload, type RecordUploadPartInput, type RegisterItemRecipientInput, type RegisteredRecipientDisplay, type RestoreItemInput, type RestoreItemVersionInput, type RevokeVisitorGrantInput, type SearchWorkspaceItemsInput, type TrashItemInput, type UpdateItemInput, type UploadCompletion, type UploadConfirmedPart, type UploadFileInput, type UploadFilePhase, type UploadFileProgress, type UploadFileProgressCallback, type UploadPartDescriptor, type UploadPartResult, type UploadSession, type UploadStatus, type VisitorChildren, type VisitorGrant, type VisitorGrantCreation, type VisitorGrantPage, type VisitorItem, type VisitorSession, type WorkspaceDiscoveryItem, type WorkspaceDiscoveryPage, type WorkspaceItemSearchItem, type WorkspaceItemSearchPage, type WorkspaceUsage, createDriveClient, createDriveVisitorClient, createVisitorSessionToken };
|
|
6
|
+
export { type AbortUploadInput, type CommitFileVersionInput, type CompleteUploadInput, type CreateDownloadInput, type CreateFileVersionUploadInput, type CreateUploadInput, type CreateUploadPartDescriptorInput, type CreateVisitorGrantInput, type CurrentWorkspace, type CurrentWorkspaceSources, type DeleteItemInput, type DownloadItemResult, type DriveClient, type DriveClientConfig, type DriveCredentialProvider, type DriveVisitorClient, type DriveVisitorClientConfig, type FileAccessContext, type FolderItem, type FolderPage, type GetCurrentWorkspaceInput, type GetItemInput, type GetItemVersionInput, type GetUploadStatusInput, type GetVisitorGrantInput, type GetWorkspaceUsageInput, type IncomingShareContext, type IncomingSharePage, type ItemSharingPeoplePage, type ListFolderChildrenInput, type ListIncomingSharesInput, type ListItemSharingPeopleInput, type ListItemVersionsInput, type ListWorkspaceItemsInput, type ManagedDownloadDescriptor, type ManagedDownloadRestorePending, type ManagedItemMetadata, type ManagedItemVersion, type ManagedItemVersionPage, type ManagedItemVersionResource, type ManagedItemVersionRestoreResult, type ManagedLifecycleItem, type PendingUpload, type ProtectionClassification, type ReadyUpload, type RecordUploadPartInput, type RegisterItemRecipientInput, type RegisteredRecipientDisplay, type RestoreItemInput, type RestoreItemVersionInput, type RevokeVisitorGrantInput, type SearchWorkspaceItemsInput, type TrashItemInput, type UpdateItemInput, type UploadCompletion, type UploadConfirmedPart, type UploadFileInput, type UploadFilePhase, type UploadFileProgress, type UploadFileProgressCallback, type UploadFileVersionInput, type UploadPartDescriptor, type UploadPartResult, type UploadSession, type UploadStatus, type VisitorChildren, type VisitorGrant, type VisitorGrantCreation, type VisitorGrantPage, type VisitorItem, type VisitorSession, type WorkspaceDiscoveryItem, type WorkspaceDiscoveryPage, type WorkspaceItemSearchItem, type WorkspaceItemSearchPage, type WorkspaceUsage, createDriveClient, createDriveVisitorClient, createVisitorSessionToken };
|
package/dist/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`recipient_unavailable`,`registration_conflict`,`rate_limited`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_pagination_cursor`,`invalid_idempotency_key`,`precondition_failed`,`range_not_satisfiable`,`idempotency_conflict`,`quota_exceeded`,`upload_recovery_required`,`service_unavailable`,`internal_error`]),t=Object.freeze({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(!ne(d,[`error`])||!ne(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||!ne(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 ne(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 y=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,b=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,x=/^drive\.volume\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,S=/^drive\.grant\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,re=/^drive\.upload\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,C=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,ie=/^drive\.retrieval\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,w=/^drive\.cursor\.v1\.[A-Za-z0-9_-]+$/,T=/^[A-Za-z0-9_-]{1,128}$/,E=/^"drive\.permission-grant\.v1\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)"$/,D=/^"drive\.permission-list\.v1\.[0-9a-f]{64}"$/,O=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),k=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:manage`,`items:permissions:read`,`items:update`]),ae=33554432e4,A=32*1024*1024,oe=/^sha256:[0-9a-f]{64}$/,se=new TextEncoder;function ce(e){if(!P(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(!P(n,[`workspaceId`,`itemId`])||typeof n.workspaceId!=`string`||!b.test(n.workspaceId)||typeof n.itemId!=`string`||!y.test(n.itemId))return!1;let e=`${n.workspaceId}/${n.itemId}`;if(t&&t>=e)return!1;t=e}return!0}function le(e){if(!P(e,[`workspaceId`,`provider`,`usedBytes`,`reservedBytes`,`limitBytes`,`availableBytes`,`accounting`,`reservedBytesIncludeUnresolvedUploads`,`unresolvedReservedBytes`,`warnings`])||typeof e.workspaceId!=`string`||!b.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 ue(e){if(!P(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(!P(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`||!x.test(e.volumeId)||e.provider!==`managed`||e.creatorUserId!==null&&(typeof e.creatorUserId!=`string`||!T.test(e.creatorUserId))||![e.createdAtEpochMilliseconds,e.modifiedAtEpochMilliseconds,e.trashedAtEpochMilliseconds,e.purgeAfterEpochMilliseconds].every(e=>e===null||N(e)))return!1;let n={workspaceId:e.workspaceId,itemId:e.itemId,parentId:e.parentId,type:e.type,name:e.name,lifecycleState:`active`,revision:e.revision,currentVersion:e.currentVersion};return typeof n.workspaceId!=`string`||!b.test(n.workspaceId)||typeof n.itemId!=`string`||!y.test(n.itemId)||n.parentId===null||n.parentId===n.itemId||!ye(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:!N(e.trashedAtEpochMilliseconds)||!N(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 de(e){if(!P(e,[`workspace`,`volumes`,`knownProviders`,`externalConnectionsSupported`])||!fe(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 P(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 fe(e){if(!P(e,[`workspaceId`,`rootVolumeId`,`rootItemId`,`workspaceReference`])||typeof e.workspaceId!=`string`||!b.test(e.workspaceId)||typeof e.rootVolumeId!=`string`||!x.test(e.rootVolumeId)||typeof e.rootItemId!=`string`||!y.test(e.rootItemId))return!1;let t=e.workspaceReference;return P(t,[`type`,`userId`])&&t.type===`personal`&&typeof t.userId==`string`&&T.test(t.userId)||P(t,[`type`,`organizationId`])&&t.type===`organization`&&typeof t.organizationId==`string`&&T.test(t.organizationId)}function pe(e){return!P(e,[`mode`,`method`,`url`,`headers`,`expiresAtEpochMilliseconds`,`response`])||e.mode!==`presigned-single`||e.method!==`GET`&&e.method!==`HEAD`||typeof e.url!=`string`||!$e(e.url)||!N(e.expiresAtEpochMilliseconds)||!P(e.headers,[`if-match`])&&!P(e.headers,[`if-match`,`range`])||typeof e.headers[`if-match`]!=`string`||!Qe(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))||!P(e.response,[`status`,`versionId`,`byteLength`,`contentLength`,`contentType`,`contentDisposition`,`etag`,`acceptRanges`,`contentRange`])||e.response.status!==200&&e.response.status!==206||typeof e.response.versionId!=`string`||!C.test(e.response.versionId)||!N(e.response.byteLength)||!N(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`||!me(e)?!1:(Object.freeze(e.headers),Object.freeze(e.response),Object.freeze(e),!0)}function me(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(N)&&i===o&&a===s&&c===t.byteLength&&i<=a&&a<c&&t.contentLength===a-i+1}function he(e){return P(e,[`mode`,`operationId`,`versionId`,`state`,`pollAfterSeconds`])&&e.mode===`restore-pending`&&typeof e.operationId==`string`&&ie.test(e.operationId)&&typeof e.versionId==`string`&&C.test(e.versionId)&&(e.state===`pending`||e.state===`restoring`)&&N(e.pollAfterSeconds)&&e.pollAfterSeconds>=1&&e.pollAfterSeconds<=60}function ge(e,t,n){return P(e,[`items`,`nextCursor`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(_e)&&(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&w.test(e.nextCursor))?e.items.every(e=>e.workspaceId===t&&e.parentItemId===n)&&Ze(e.items,e=>e.itemId):!1}function _e(e){return P(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`visibility`,`revision`])&&typeof e.workspaceId==`string`&&b.test(e.workspaceId)&&typeof e.volumeId==`string`&&x.test(e.volumeId)&&typeof e.itemId==`string`&&y.test(e.itemId)&&typeof e.parentItemId==`string`&&y.test(e.parentItemId)&&(e.kind===`file`||e.kind===`folder`)&&M(e.name)&&(e.visibility===`workspace`||e.visibility===`restricted`)&&N(e.revision)}function ve(e,t,n,r){return!P(e,[`workspaceId`,`volumeId`,`itemId`,`parentItemId`,`kind`,`name`,`state`,`revision`,`purgeAfterEpochMilliseconds`])||e.workspaceId!==t||e.itemId!==n||typeof e.volumeId!=`string`||!x.test(e.volumeId)||typeof e.parentItemId!=`string`||!y.test(e.parentItemId)||e.kind!==`file`&&e.kind!==`folder`||!M(e.name)||e.state!==r||!N(e.revision)||(e.state===`active`?e.purgeAfterEpochMilliseconds!==null:!N(e.purgeAfterEpochMilliseconds))?!1:(Object.freeze(e),!0)}function ye(e,t,n){return!P(e,[`workspaceId`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`])||e.workspaceId!==t||e.itemId!==n||!(e.parentId===null||typeof e.parentId==`string`&&y.test(e.parentId))||e.type!==`file`&&e.type!==`folder`||!M(e.name)||e.lifecycleState!==`active`||!N(e.revision)||(e.type===`folder`?e.currentVersion!==null:!xe(e.currentVersion))?!1:(e.currentVersion!==null&&Object.freeze(e.currentVersion),Object.freeze(e),!0)}function be(e,t,n,r){if(!P(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>r||!e.items.every(e=>Se(e,t,n))||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&w.test(e.nextCursor))||e.items.length===0&&e.nextCursor!==null||new Set(e.items.map(e=>e.itemId)).size!==e.items.length||!Ce(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 j(e,t){let n=e.get(`etag`);return n!==null&&p(n)===t}function xe(e){return P(e,[`versionId`,`state`,`byteLength`,`mediaType`,`protectionClassification`])&&typeof e.versionId==`string`&&C.test(e.versionId)&&e.state===`current`&&N(e.byteLength)&&Je(e.mediaType)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)}function Se(e,t,n){return P(e,[`workspaceId`,`volumeId`,`provider`,`itemId`,`parentId`,`type`,`name`,`lifecycleState`,`revision`,`currentVersion`])&&e.workspaceId===t&&typeof e.volumeId==`string`&&x.test(e.volumeId)&&e.provider===`managed`&&typeof e.itemId==`string`&&y.test(e.itemId)&&(e.parentId===null||typeof e.parentId==`string`&&y.test(e.parentId))&&(e.type===`file`||e.type===`folder`)&&M(e.name)&&e.name.startsWith(n)&&e.lifecycleState===`active`&&N(e.revision)&&(e.type===`folder`?e.currentVersion===null:xe(e.currentVersion))}function Ce(e){for(let t=1;t<e.length;t+=1){let n=e[t-1],r=e[t],i=we(n.name,r.name);if(i>0||i===0&&n.itemId>=r.itemId)return!1}return!0}function we(e,t){let n=se.encode(e),r=se.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 Te(e,t){if(!P(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>t||!e.items.every(Re)||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&w.test(e.nextCursor))||e.nextCursor!==null&&e.items.length===0||!Ze(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 Ee(e,t){return!P(e,[`itemRevision`,`currentVersionId`])||!N(e.itemRevision)||e.currentVersionId!==t?!1:(Object.freeze(e),!0)}function De(e,t,n,r=D){if(!(P(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(Ue)&&(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&w.test(e.nextCursor))&&N(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 N(o)?i===e.collectionEtag&&a!==null&&r.test(a)&&e.items.every(e=>{let t=f(e.etag);return t===void 0||e.etag!==qe(t[0],e.revision)?!1:e.source===`direct`?e.sourceItemId===n&&t[0]===o:e.sourceItemId!==n})&&Ze(e.items,e=>`${e.sourceItemId}\0${e.grantId}`):!1}function Oe(e,t,n){if(!P(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])||!Array.isArray(e.items)||e.items.length>50)return!1;let r=[];for(let t of e.items){if(!P(t,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`,`etag`,`recipient`]))return!1;let{recipient:e,...n}=t;if(!Ue(n)||e!==null&&(!P(e,[`userId`,`name`,`email`,`resolvedAt`,`expiresAt`])||n.grantee.type!==`user`||e.userId!==n.grantee.userId||typeof e.name!=`string`||e.name.length<1||se.encode(e.name).byteLength>1024||typeof e.email!=`string`||e.email.length<3||se.encode(e.email).byteLength>320||!e.email.includes(`@`)||!N(e.resolvedAt)||!N(e.expiresAt)||e.expiresAt!==e.resolvedAt+864e5))return!1;r.push(n)}return De({...e,items:r},t,n,/^"drive\.sharing-people\.v1\.[0-9a-f]{64}"$/)}function ke(e,t,n){if(!P(e,[`outcome`,`grant`,`collectionRevision`])||e.outcome!==`committed`&&e.outcome!==`replayed`||!N(e.collectionRevision))return!1;let r=e.grant;return P(r,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`])&&r.source===`direct`&&typeof r.sourceItemId==`string`&&r.sourceItemId===t&&typeof r.grantId==`string`&&S.test(r.grantId)&&(n===void 0||r.grantId===n)&&We(r.grantee)&&Ge(r.actions)&&[`active`,`expired`,`revoked`].includes(String(r.availability))&&(r.expiresAtEpochMilliseconds===null||N(r.expiresAtEpochMilliseconds))&&N(r.revision)}function Ae(e,t){if(!P(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||!P(r,[`action`,`allowed`,`basis`,`sourceItemId`,`grantId`])||r.action!==k[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`&&y.test(r.sourceItemId))||!(r.grantId===null||typeof r.grantId==`string`&&S.test(r.grantId))||!Ke(r,t))return!1}return!0}function je(e,t){return!P(e,[`itemId`,`versionId`,`uploadId`,`mode`,`partByteLength`,`partCount`,`revision`,`expiresAtEpochMilliseconds`])||typeof e.itemId!=`string`||!y.test(e.itemId)||typeof e.versionId!=`string`||!C.test(e.versionId)||typeof e.uploadId!=`string`||!re.test(e.uploadId)||e.mode!==`presigned-multipart`&&e.mode!==`server-mediated-zero-byte`||e.partByteLength!==A||!N(e.partCount)||e.partCount>1e4||e.partCount!==Math.ceil(t/A)||(t===0?e.mode!==`server-mediated-zero-byte`:e.mode!==`presigned-multipart`)||!N(e.revision)||!N(e.expiresAtEpochMilliseconds)||e.expiresAtEpochMilliseconds<=Date.now()?!1:(Object.freeze(e),!0)}function Me(e,t,n){if(!P(e,[`itemId`,`versionId`,`uploadId`,`mode`,`lifecycle`,`revision`,`partPolicy`,`confirmedParts`,`nextAfterPartNumber`,`expiresAtEpochMilliseconds`,`ready`],[`verification`])||typeof e.itemId!=`string`||!y.test(e.itemId)||typeof e.versionId!=`string`||!C.test(e.versionId)||typeof e.uploadId!=`string`||!re.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))||!N(e.revision)||!P(e.partPolicy,[`partByteLength`,`partCount`,`maxParts`])||e.partPolicy.partByteLength!==A||!N(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||!N(e.expiresAtEpochMilliseconds))return!1;let r=t;if(e.verification!==void 0){let t=e.verification;if(!P(t,[`state`,`verifiedByteLength`,`totalByteLength`,`revision`])||![`pending`,`verified`,`failed`].includes(String(t.state))||!N(t.verifiedByteLength)||!N(t.totalByteLength)||t.totalByteLength>ae||t.verifiedByteLength>t.totalByteLength||!N(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(!P(t,[`partNumber`,`checksumSha256`])||!N(t.partNumber)||t.partNumber<=r||t.partNumber>e.partPolicy.partCount||!Le(t.checksumSha256))return!1;r=t.partNumber}if(!(e.nextAfterPartNumber===null||N(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&&(!Fe(e.ready,{uploadId:e.uploadId})||e.ready.itemId!==e.itemId||e.ready.versionId!==e.versionId||!P(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 Ne(e,t,n,r){return!P(e,[`url`,`method`,`headers`,`partNumber`,`expectedByteLength`,`expiresAtEpochMilliseconds`])||!Ye(e.url,n)||e.method!==`PUT`||!r||!P(e.headers,[`content-md5`])||e.headers[`content-md5`]!==r||e.partNumber!==t||!N(e.expectedByteLength)||e.expectedByteLength<1||e.expectedByteLength>A||!N(e.expiresAtEpochMilliseconds)||e.expiresAtEpochMilliseconds<=Date.now()?!1:(Object.freeze(e.headers),Object.freeze(e),!0)}function Pe(e,t,n){return!P(e,[`partNumber`,`revision`])||e.partNumber!==t||e.revision!==n+1||!N(e.revision)?!1:(Object.freeze(e),!0)}function Fe(e,t){return!P(e,[`itemId`,`versionId`,`uploadId`,`byteLength`,`callerDeclaredContentDigest`,`displayFilename`,`mediaType`,`state`])||typeof e.itemId!=`string`||!y.test(e.itemId)||typeof e.versionId!=`string`||!C.test(e.versionId)||e.uploadId!==t.uploadId||!N(e.byteLength)||e.byteLength<0||e.byteLength>ae||typeof e.callerDeclaredContentDigest!=`string`||!oe.test(e.callerDeclaredContentDigest)||!M(e.displayFilename)||!Je(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 Ie(e,t){return!P(e,[`itemId`,`versionId`,`uploadId`,`state`,`verifiedByteLength`,`totalByteLength`,`verificationRevision`])||typeof e.itemId!=`string`||!y.test(e.itemId)||typeof e.versionId!=`string`||!C.test(e.versionId)||e.uploadId!==t||e.state!==`verifying`||!N(e.verifiedByteLength)||!N(e.totalByteLength)||e.totalByteLength>ae||e.verifiedByteLength>e.totalByteLength||!N(e.verificationRevision)?!1:(Object.freeze(e),!0)}function Le(e){return typeof e==`string`&&/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/.test(e)}function Re(e){let t=P(e,Be)&&Ve(e);return t&&Object.freeze(e),t}function ze(e,t,n,r){let i=P(e,[...Be,`workspaceId`,`itemId`])&&e.workspaceId===t&&e.itemId===n&&e.versionId===r&&Ve(e);return i&&Object.freeze(e),i}const Be=Object.freeze([`versionId`,`state`,`revision`,`byteLength`,`contentDigest`,`mediaType`,`displayFilename`,`protectionClassification`,`archiveState`]);function Ve(e){return typeof e.versionId==`string`&&C.test(e.versionId)&&(e.state===`current`||e.state===`superseded`)&&N(e.revision)&&N(e.byteLength)&&typeof e.contentDigest==`string`&&oe.test(e.contentDigest)&&Je(e.mediaType)&&M(e.displayFilename)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)&&[`available`,`cold`,`restoring`,`unavailable`,`corrupt`].includes(String(e.archiveState))}function He(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 Ue(e){return P(e,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`,`etag`])&&(e.source===`direct`||e.source===`inherited`)&&typeof e.sourceItemId==`string`&&y.test(e.sourceItemId)&&typeof e.grantId==`string`&&S.test(e.grantId)&&We(e.grantee)&&Ge(e.actions)&&[`active`,`expired`,`revoked`].includes(String(e.availability))&&(e.expiresAtEpochMilliseconds===null||N(e.expiresAtEpochMilliseconds))&&N(e.revision)&&typeof e.etag==`string`&&E.test(e.etag)}function We(e){return P(e,[`type`,`userId`])&&e.type===`user`&&typeof e.userId==`string`&&T.test(e.userId)||P(e,[`type`,`teamId`])&&e.type===`team`&&typeof e.teamId==`string`&&T.test(e.teamId)}function Ge(e){return Array.isArray(e)&&e.length>=1&&e.length<=6&&new Set(e).size===e.length&&e.every(e=>O.includes(e))&&e.every((t,n)=>n===0||O.indexOf(t)>O.indexOf(e[n-1]))}function Ke(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 qe(e,t){return`"drive.permission-grant.v1.${e}.${t}"`}function M(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||Xe(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 Je(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 Ye(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 Xe(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 Ze(e,t){return e.every((n,r)=>r===0||t(e[r-1])<t(n))}function N(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function Qe(e){return/^"[\x21\x23-\x7e]{1,1022}"$/.test(e)}function $e(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 P(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 et=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,F=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,tt=/^drive\.grant\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,nt=/^drive\.upload\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,rt=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,it=/^drive\.cursor\.v1\.[A-Za-z0-9_-]+$/,at=/^[A-Za-z0-9_-]{1,128}$/,ot=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),st=/^[A-Za-z0-9_-]{16,128}$/,ct=/^sha256:[0-9a-f]{64}$/,lt=/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/,ut=33554432e4;function dt(e){let t=B(z(e===void 0?{}:e,[],[`signal`]).signal);return t===void 0?{}:{signal:t}}function ft(e){let t=z(e===void 0?{}:e,[],[`signal`,`limit`,`cursor`]),n=B(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 pt(e,t){let n=z(e,[`workspaceId`],t?[`signal`,`view`,`kind`,`creatorUserId`,`limit`,`cursor`]:[`signal`]),i=B(n.signal);if(typeof n.workspaceId!=`string`||!F.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`||!at.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 I(e){let t=z(e,[`workspaceId`,`itemId`],[`signal`]),n=t.workspaceId,i=t.itemId,a=B(t.signal);if(typeof n!=`string`||!F.test(n)||typeof i!=`string`||!et.test(i))throw new r(`invalid_input`);return{workspaceId:n,itemId:i,...a===void 0?{}:{signal:a}}}function mt(e){let t=z(e,[`workspaceId`,`itemId`,`versionId`],[`signal`]),n=I({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!rt.test(t.versionId))throw new r(`invalid_input`);return{...n,versionId:t.versionId}}function ht(e){let t=z(e,[`workspaceId`,`itemId`,`idempotencyKey`],[`versionId`,`method`,`range`,`ifMatch`,`ifNoneMatch`,`ifRange`,`signal`]),n=I({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),i=t.method??`GET`;if(!V(t.idempotencyKey)||t.versionId!==void 0&&(typeof t.versionId!=`string`||!rt.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))||!Gt(t.ifMatch)||!Gt(t.ifNoneMatch)||!Gt(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 gt(e){let t=z(e,[`workspaceId`,`query`],[`limit`,`cursor`,`signal`]),n=B(t.signal);if(typeof t.workspaceId!=`string`||!F.test(t.workspaceId)||!Vt(t.query)||t.limit!==void 0&&(!U(t.limit)||t.limit<1||t.limit>50)||t.cursor!==void 0&&(typeof t.cursor!=`string`||t.cursor.length>699||!it.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 _t(e){let t=z(e,[`workspaceId`,`itemId`],[`signal`,`limit`,`cursor`]),n=I({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||!it.test(a)))throw new r(`invalid_input`);return{...n,...i===void 0?{}:{limit:i},...a===void 0?{}:{cursor:a}}}function vt(e){let t=z(e,[`workspaceId`,`itemId`,`name`,`idempotencyKey`],[`signal`]),n=I({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!Ut(t.name)||!V(t.idempotencyKey))throw new r(`invalid_input`);return{...n,name:t.name,idempotencyKey:t.idempotencyKey}}function yt(e){let t=z(e,[`workspaceId`,`itemId`,`name`,`parentItemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=bt({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(!Ut(t.name)||typeof t.parentItemId!=`string`||!et.test(t.parentItemId))throw new r(`invalid_input`);return{...n,name:t.name,parentItemId:t.parentItemId}}function bt(e){let t=z(e,[`workspaceId`,`itemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=I({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!V(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 xt(e){let t=z(e,[`workspaceId`,`itemId`,`versionId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=bt({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!rt.test(t.versionId))throw new r(`invalid_input`);return{...n,versionId:t.versionId}}function St(e){let t=z(e,[`workspaceId`,`itemId`,`grantee`,`actions`,`expiresAtEpochMilliseconds`,`ifMatch`,`idempotencyKey`],[`signal`]),n=I({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),i=Pt(t.grantee),a=Ft(t.actions),o=t.expiresAtEpochMilliseconds;if(!Ht(o)||typeof t.ifMatch!=`string`||d(t.ifMatch)===void 0||!V(t.idempotencyKey))throw new r(`invalid_input`);return{...n,grantee:i,actions:a,expiresAtEpochMilliseconds:o,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function Ct(e){let t=z(e,[`workspaceId`,`itemId`,`email`,`role`,`ifMatch`,`idempotencyKey`],[`signal`,`expectedRecipientUserId`]),n=I({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||!V(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 wt(e){let t=z(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`]),n=I({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.grantId!=`string`||!tt.test(t.grantId)||typeof t.ifMatch!=`string`||f(t.ifMatch)===void 0||!V(t.idempotencyKey))throw new r(`invalid_input`);return{...n,grantId:t.grantId,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function Tt(e){let t=z(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`,`actions`,`expiresAtEpochMilliseconds`]),n=wt({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:Ft(t.actions),a=t.expiresAtEpochMilliseconds;if(i===void 0&&a===void 0||a!==void 0&&!Ht(a))throw new r(`invalid_input`);return{...n,...i===void 0?{}:{actions:i},...a===void 0?{}:{expiresAtEpochMilliseconds:a}}}function Et(e){let t=z(e,[`workspaceId`,`parentItemId`,`expectedByteLength`,`displayFilename`,`mediaType`,`callerDeclaredContentDigest`,`protectionClassification`,`idempotencyKey`],[`signal`]),n=B(t.signal);if(typeof t.workspaceId!=`string`||!F.test(t.workspaceId)||typeof t.parentItemId!=`string`||!et.test(t.parentItemId)||typeof t.expectedByteLength!=`number`||!Number.isSafeInteger(t.expectedByteLength)||t.expectedByteLength<0||t.expectedByteLength>ut||!Ut(t.displayFilename)||!Bt(t.mediaType)||typeof t.callerDeclaredContentDigest!=`string`||!ct.test(t.callerDeclaredContentDigest)||t.protectionClassification!==`ordinary`&&t.protectionClassification!==`opaque-encrypted`||!V(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 Dt(e){let t=z(e,[`workspaceId`,`uploadId`],[`afterPartNumber`,`limit`,`signal`]),n=H(t.workspaceId,t.uploadId,t.signal);if(t.afterPartNumber!==void 0&&(!U(t.afterPartNumber)||t.afterPartNumber>1e4)||t.limit!==void 0&&(!U(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 Ot(e){let t=z(e,[`workspaceId`,`uploadId`,`partNumber`,`checksumSha256`,`contentMd5`],[`signal`]),n=H(t.workspaceId,t.uploadId,t.signal);if(!Lt(t.partNumber)||!Rt(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 kt(e){let t=z(e,[`workspaceId`,`uploadId`,`partNumber`,`expectedUploadRevision`,`byteLength`,`etag`,`checksumSha256`],[`signal`]),n=H(t.workspaceId,t.uploadId,t.signal);if(!Lt(t.partNumber)||!U(t.expectedUploadRevision)||t.expectedUploadRevision>=2**53-1||!U(t.byteLength)||t.byteLength<1||t.byteLength>33554432||!zt(t.etag)||!Rt(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 At(e){let t=z(e,[`workspaceId`,`uploadId`,`idempotencyKey`],[`signal`]),n=H(t.workspaceId,t.uploadId,t.signal);if(!V(t.idempotencyKey))throw new r(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey}}function jt(e){let t=z(e,[`workspaceId`,`uploadId`],[`signal`]);return H(t.workspaceId,t.uploadId,t.signal)}function Mt(e){let t=z(e,[`workspaceId`,`parentItemId`,`source`,`displayFilename`,`idempotencyKey`,`completionIdempotencyKey`],[`mediaType`,`protectionClassification`,`signal`,`onProgress`]),n=B(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`||!F.test(t.workspaceId)||typeof t.parentItemId!=`string`||!et.test(t.parentItemId)||!Number.isSafeInteger(s)||s<0||s>ut||!Ut(t.displayFilename)||!Bt(i)||a!==`ordinary`&&a!==`opaque-encrypted`||!V(t.idempotencyKey)||!V(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 L(e){return{workspaceId:e.workspaceId,itemId:e.itemId}}function Nt(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor===void 0?{}:{cursor:e.cursor}}}function R(e,t){return t}function z(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 B(e){if(e!==void 0){if(!(e instanceof AbortSignal))throw new r(`invalid_input`);return e}}function Pt(e){let t=z(e,[`type`],[`userId`,`teamId`]);if(t.type===`user`){let t=z(e,[`type`,`userId`],[]);if(typeof t.userId==`string`&&at.test(t.userId))return{type:`user`,userId:t.userId}}if(t.type===`team`){let t=z(e,[`type`,`teamId`],[]);if(typeof t.teamId==`string`&&at.test(t.teamId))return{type:`team`,teamId:t.teamId}}throw new r(`invalid_input`)}function Ft(e){let t=It(e);if(t.length<1||t.length>ot.length||new Set(t).size!==t.length||!t.every(e=>ot.includes(e)))throw new r(`invalid_input`);return t}function It(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 V(e){return typeof e==`string`&&st.test(e)}function H(e,t,n){let i=B(n);if(typeof e!=`string`||!F.test(e)||typeof t!=`string`||!nt.test(t))throw new r(`invalid_input`);return{workspaceId:e,uploadId:t,...i===void 0?{}:{signal:i}}}function Lt(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=1&&e<=1e4}function Rt(e){return typeof e==`string`&<.test(e)}function zt(e){return typeof e==`string`&&e.length>=1&&e.length<=1024&&/^[\x20-\x7e]+$/.test(e)}function Bt(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 Vt(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 Ht(e){return e===null||U(e)}function Ut(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||Wt(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 Wt(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 U(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function Gt(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 Kt=/\{[^{}]+\}/g,qt=()=>typeof process==`object`&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function Jt(){return Math.random().toString(36).slice(2,11)}function Yt(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=qt()?c:void 0,t=an(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??tn,pathSerializer:te,body:ne,middleware:y=[],...b}=d||{},x=t;f&&(x=an(f)??t);let S=typeof i==`function`?i:$t(i);v&&(S=typeof v==`function`?v:$t({...typeof i==`object`?i:{},...v}));let re=te||o||en,C=ne===void 0?void 0:ee(ne,rn(s,h,g.header)),ie=rn(C===void 0||C instanceof FormData?{}:{"Content-Type":`application/json`},s,h,g.header),w=[...u,...y],T={redirect:`follow`,...l,...b,body:C,headers:ie},E,D,O=new m(nn(e,{baseUrl:x,params:g,querySerializer:S,pathSerializer:re}),T),k;for(let e in b)e in O||(O[e]=b[e]);if(w.length){E=Jt(),D=Object.freeze({baseUrl:x,fetch:p,parseAs:_,querySerializer:S,bodySerializer:ee,pathSerializer:re});for(let t of w)if(t&&typeof t==`object`&&typeof t.onRequest==`function`){let n=await t.onRequest({request:O,schemaPath:e,params:g,options:D,id:E});if(n)if(n instanceof m)O=n;else if(n instanceof Response){k=n;break}else throw Error(`onRequest: must return new Request() or Response() when modifying the request`)}}if(!k){try{k=await p(O,c)}catch(t){let n=t;if(w.length)for(let t=w.length-1;t>=0;t--){let r=w[t];if(r&&typeof r==`object`&&typeof r.onError==`function`){let t=await r.onError({request:O,error:n,schemaPath:e,params:g,options:D,id:E});if(t){if(t instanceof Response){n=void 0,k=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(w.length)for(let t=w.length-1;t>=0;t--){let n=w[t];if(n&&typeof n==`object`&&typeof n.onResponse==`function`){let t=await n.onResponse({request:O,response:k,schemaPath:e,params:g,options:D,id:E});if(t){if(!(t instanceof Response))throw Error(`onResponse: must return new Response() when modifying the response`);k=t}}}}let ae=k.headers.get(`Content-Length`);if(k.status===204||O.method===`HEAD`||ae===`0`&&!k.headers.get(`Transfer-Encoding`)?.includes(`chunked`))return k.ok?{data:void 0,response:k}:{error:void 0,response:k};if(k.ok)return{data:await(async()=>{if(_===`stream`)return k.body;if(_===`json`&&!ae){let e=await k.text();return e?JSON.parse(e):void 0}return await k[_]()})(),response:k};let A=await k.text();try{A=JSON.parse(A)}catch{}return{error:A,response:k}}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 Xt(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 Zt(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(Xt(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function Qt(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(Xt(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function $t(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(Qt(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(Zt(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(Xt(r,i,e))}}return n.join(`&`)}}function en(e,t){let n=e;for(let r of e.match(Kt)??[]){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,Qt(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,Zt(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${Xt(e,o)}`);continue}n=n.replace(r,a===`label`?`.${encodeURIComponent(o)}`:encodeURIComponent(o))}return n}function tn(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 nn(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 rn(...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 an(e){return e.endsWith(`/`)?e.substring(0,e.length-1):e}String.fromCharCode;const on=/\/$|\/\?|\/#/,sn=/^\.?\//;function cn(e=``,t){return t?on.test(e):e.endsWith(`/`)}function ln(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(cn(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 un(e){return e&&e!==`/`}function dn(e,...t){let n=e||``;for(let e of t.filter(e=>un(e)))if(n){let t=e.replace(sn,``);n=ln(n)+t}else n=e;return n}function fn(e){let t;try{t=Object.freeze({baseUrl:hn(e.baseUrl),fetchImplementation:e.fetch??globalThis.fetch.bind(globalThis),getCredential:e.getCredential,timeoutMilliseconds:pn(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 W(e,t,n,i,a,o,s=!1,c){let d=mn(t,e.timeoutMilliseconds);try{let t=d.signal;_n(t);let f=await gn(e.getCredential,t),p;if(await i(Yt({baseUrl:e.baseUrl,fetch:async n=>{try{let i=await G(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})}}),{referrerPolicy:`no-referrer`,redirect:`manual`,cache:`no-store`,credentials:`omit`,headers:new Headers({authorization:`${e.authorizationScheme??`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 pn(e){if(e===void 0)return 3e4;if(!Number.isSafeInteger(e)||e<1||e>12e4)throw new r(`invalid_input`);return e}function mn(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 hn(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 dn(t.origin,t.pathname)}async function gn(e,t){_n(t);let n;try{n=await G(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 _n(e){if(e.aborted)throw new r(`aborted`)}async function G(e,t){_n(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 vn=/^[A-Za-z0-9_-]{43}$/,yn=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,K=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,bn=`/api/v1/workspaces/{workspaceId}/items/{itemId}/visitor-grants`;function q(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function J(e,t){return Object.keys(e).length===t.length&&t.every(t=>Object.hasOwn(e,t))}function xn(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function Sn(e){return q(e)&&J(e,[`grantId`,`mode`,`role`,`email`,`status`,`createdAt`,`expiresAt`])&&typeof e.grantId==`string`&&yn.test(e.grantId)&&e.role===`viewer`&&(e.mode===`anyone`&&e.email===null&&e.status!==`pending`||e.mode===`email`&&typeof e.email==`string`&&e.email.length>=3&&e.email.length<=320)&&[`pending`,`active`,`expired`,`revoked`].includes(String(e.status))&&xn(e.createdAt)&&xn(e.expiresAt)&&e.expiresAt>e.createdAt&&e.expiresAt<=e.createdAt+2592e6}function Cn(e){return q(e)&&J(e,[`grant`,`token`,`tokenPurpose`])&&Sn(e.grant)&&(e.token===null||typeof e.token==`string`&&vn.test(e.token))&&e.tokenPurpose===(e.grant.mode===`anyone`?`view`:`verify-email`)}function wn(e,t){if(!q(e))return!1;let{source:n,sourceItemId:r,...i}=e;return Sn(i)&&typeof r==`string`&&K.test(r)&&(n===`direct`&&r===t||n===`inherited`&&r!==t)}function Tn(e){return q(e)&&typeof e.itemId==`string`&&K.test(e.itemId)&&(e.kind===`file`||e.kind===`folder`)&&(e.name===null||typeof e.name==`string`&&e.name.length<=1024)}function En(e){return{async createVisitorGrant(t){let n=z(t,[`workspaceId`,`itemId`,`command`,`idempotencyKey`],[`signal`]),i=I({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}}),a=z(n.command,[`mode`,`role`,`expiresAt`],[`email`]);if(a.role!==`viewer`||!xn(a.expiresAt)||a.expiresAt>Date.now()+2592e6||typeof n.idempotencyKey!=`string`||!/^[A-Za-z0-9_-]{16,128}$/.test(n.idempotencyKey)||!(a.mode===`anyone`&&!Object.hasOwn(a,`email`)||a.mode===`email`&&typeof a.email==`string`&&a.email.trim().length>=3&&new TextEncoder().encode(a.email).length<=320))throw new r(`invalid_input`);let o=a.mode===`anyone`?{mode:`anyone`,role:`viewer`,expiresAt:a.expiresAt}:{mode:`email`,role:`viewer`,email:String(a.email).trim().toLowerCase(),expiresAt:a.expiresAt};return W(e,i.signal,null,(e,t)=>e.POST(bn,{...t,params:{path:i,header:{"Idempotency-Key":n.idempotencyKey}},body:o}),[200],e=>Cn(e)&&e.grant.mode===o.mode&&e.grant.email===(o.mode===`email`?o.email:null)&&e.grant.expiresAt===o.expiresAt)},async getVisitorGrant(t){let n=z(t,[`workspaceId`,`itemId`,`grantId`],[`signal`]),i=I({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}});if(typeof n.grantId!=`string`||!yn.test(n.grantId))throw new r(`invalid_input`);let a=n.grantId;return W(e,i.signal,null,(e,t)=>e.GET(`${bn}/{grantId}`,{...t,params:{path:{...i,grantId:a}}}),[200],e=>Cn(e)&&e.grant.grantId===a)},async listVisitorGrants(t){let n=I(t);return W(e,n.signal,null,(e,t)=>e.GET(bn,{...t,params:{path:n}}),[200],e=>q(e)&&J(e,[`items`])&&Array.isArray(e.items)&&e.items.length<=64&&e.items.every(e=>wn(e,n.itemId)))},async revokeVisitorGrant(t){let n=z(t,[`workspaceId`,`itemId`,`grantId`],[`signal`]),i=I({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}});if(typeof n.grantId!=`string`||!yn.test(n.grantId))throw new r(`invalid_input`);return W(e,i.signal,null,(e,t)=>e.DELETE(`${bn}/{grantId}`,{...t,params:{path:{...i,grantId:n.grantId}}}),[200],e=>Sn(e)&&e.grantId===n.grantId&&e.status===`revoked`)}}}function Dn(e){if(!e||typeof e.token!=`string`||!vn.test(e.token))throw new r(`invalid_input`);let t=e.token,n={...fn({...e,getCredential:async()=>t}),authorizationScheme:`DriveVisitor`},i={Authorization:`DriveVisitor ${t}`};return Object.freeze({async readItem(e={}){let t=On(e);return W(n,t.signal,null,(e,n)=>e.GET(`/api/v1/visitor/item`,{...n,params:{header:i,query:t.query}}),[200],e=>Tn(e)&&q(e)&&J(e,[`itemId`,`kind`,`name`,`rootItemId`,`role`])&&e.role===`viewer`&&typeof e.rootItemId==`string`&&K.test(e.rootItemId)&&(t.query.itemId===void 0||e.itemId===t.query.itemId))},async listChildren(e={}){let t=On(e,[`after`]);if(t.extra.after!==void 0&&(typeof t.extra.after!=`string`||!K.test(t.extra.after)))throw new r(`invalid_input`);let a=t.extra.after;return W(n,t.signal,null,(e,n)=>e.GET(`/api/v1/visitor/children`,{...n,params:{header:i,query:{...t.query,...a===void 0?{}:{after:a}}}}),[200],e=>q(e)&&J(e,[`items`,`nextAfter`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(e=>Tn(e)&&q(e)&&J(e,[`itemId`,`kind`,`name`]))&&(e.nextAfter===null||typeof e.nextAfter==`string`&&K.test(e.nextAfter)&&e.items.length===50&&q(e.items[49])&&e.items[49].itemId===e.nextAfter))},async createDownload(e={}){let t=On(e,[`method`,`range`]),a=t.extra.method??`GET`,o=t.extra.range;if(a!==`GET`&&a!==`HEAD`||o!==void 0&&(typeof o!=`string`||!/^bytes=(?:\d+-\d*|-\d+)$/.test(o)||o.length>128))throw new r(`invalid_input`);return W(n,t.signal,null,(e,n)=>(n.headers.set(`Download-Method`,a),typeof o==`string`&&n.headers.set(`Range`,o),e.POST(`/api/v1/visitor/downloads`,{...n,params:{header:i,query:t.query}})),[200],e=>pe(e)&&e.method===a&&e.expiresAtEpochMilliseconds>Date.now())},async redeemInvitation(e){let a=z(e,[`sessionToken`],[`signal`]),o=B(a.signal);if(typeof a.sessionToken!=`string`||!vn.test(a.sessionToken)||a.sessionToken===t)throw new r(`invalid_input`);let s=a.sessionToken;return W(n,o,null,(e,t)=>e.POST(`/api/v1/visitor/verify-email`,{...t,params:{header:i},body:{sessionToken:s}}),[200],e=>q(e)&&J(e,[`grantId`,`role`,`expiresAt`])&&typeof e.grantId==`string`&&yn.test(e.grantId)&&e.role===`viewer`&&xn(e.expiresAt)&&e.expiresAt>Date.now())}})}function On(e,t=[]){let n=z(e,[],[`itemId`,`signal`,...t]);if(n.itemId!==void 0&&(typeof n.itemId!=`string`||!K.test(n.itemId)))throw new r(`invalid_input`);return{signal:B(n.signal),query:n.itemId===void 0?{}:{itemId:n.itemId},extra:n}}function kn(){let e=crypto.getRandomValues(new Uint8Array(32));return btoa(String.fromCharCode(...e)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}const An=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`service_unavailable`]),jn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),Mn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_pagination_cursor`,`precondition_failed`,`service_unavailable`]),Y=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`upload_recovery_required`,`service_unavailable`]),Nn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`service_unavailable`]),Pn=Object.freeze([...Y,`invalid_idempotency_key`,`idempotency_conflict`,`quota_exceeded`]),Fn=Object.freeze([...Y,`invalid_idempotency_key`]),In=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_idempotency_key`,`idempotency_conflict`,`precondition_failed`,`service_unavailable`]),Ln=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),Rn=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 zn(e){return Object.freeze({...En(e),registerItemRecipient:t=>dr(e,t),listItemSharingPeople:t=>fr(e,t),listIncomingShares:t=>Bn(e,t),getCurrentWorkspace:t=>Xn(e,t),listWorkspaceItems:t=>Jn(e,t),getWorkspaceUsage:t=>Yn(e,t),getCurrentWorkspaceSources:t=>qn(e,t),getItem:t=>Zn(e,t),searchWorkspaceItems:t=>Qn(e,t),listFolderChildren:t=>$n(e,t),createFolder:t=>er(e,t),updateItem:t=>tr(e,t),trashItem:t=>nr(e,t),restoreItem:t=>rr(e,t),deleteItem:t=>ir(e,t),listItemVersions:t=>ar(e,t),getItemVersion:t=>or(e,t),restoreItemVersion:t=>sr(e,t),createDownload:t=>Vn(e,t),downloadItem:t=>Hn(e,t),listItemPermissions:t=>cr(e,t),readEffectiveItemPermissions:t=>lr(e,t),createItemPermission:t=>ur(e,t),updateItemPermission:t=>pr(e,t),revokeItemPermission:t=>mr(e,t),createUpload:t=>hr(e,t),getUploadStatus:t=>gr(e,t),createUploadPartDescriptor:t=>_r(e,t),recordUploadPart:t=>vr(e,t),completeUpload:t=>yr(e,t),abortUpload:t=>br(e,t)})}async function Bn(e,t){let n=ft(t);return W(e,n.signal,409,(e,t)=>e.GET(`/api/v1/shares/incoming`,{...R(`listIncomingShares`,{params:{query:n.query}}),...t}),[200],ce,!1,Mn)}async function Vn(e,t){let n=ht(t);return W(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/downloads`,{...R(`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?pe(e):t===202?he(e):e===void 0,!1,Rn)}async function Hn(e,t){let n=ht(t),i=await Vn(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=mn(n.signal,e.timeoutMilliseconds);try{let t=await G(e.fetchImplementation(Wn(a,o.signal)),o.signal);if(!Gn(t,a))throw await t.body?.cancel().catch(()=>void 0),new r(`invalid_response`);let i=Un(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(Kn(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 Un(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 Wn(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 Gn(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 Kn(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 qn(e,t){return W(e,dt(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current/sources`,{...R(`getCurrentWorkspaceSources`,{params:{}}),...t}),[200],de,!1,An)}async function Jn(e,t){let n=pt(t,!0);return W(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items`,{...R(`listWorkspaceItems`,{params:{path:{workspaceId:n.workspaceId},query:n.query}}),...t}),[200],e=>ue(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,Mn)}async function Yn(e,t){let n=pt(t,!1);return W(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/usage`,{...R(`getWorkspaceUsage`,{params:{path:{workspaceId:n.workspaceId}}}),...t}),[200],e=>le(e)&&e.workspaceId===n.workspaceId,!1,Mn)}async function Xn(e,t){return W(e,dt(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current`,{...R(`getCurrentWorkspace`,{params:{}}),...t}),[200],fe,!1,An)}async function Zn(e,t){let n=I(t);return W(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...R(`getItem`,{params:{path:L(n)}}),...t}),[200],(e,t,r)=>ye(e,n.workspaceId,n.itemId)&&j(r,e.revision),!1,jn)}async function Qn(e,t){let n=gt(t);return W(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/search`,{...R(`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=>be(e,n.workspaceId,n.query,n.limit??50),!1,Mn)}async function $n(e,t){let n=_t(t);return W(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...R(`listFolderChildren`,{params:{path:L(n),query:Nt(n)}}),...t}),[200],e=>ge(e,n.workspaceId,n.itemId))}async function er(e,t){let n=vt(t);return W(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...R(`createFolder`,{params:{path:L(n),header:{"Idempotency-Key":n.idempotencyKey}},body:{name:n.name}}),...t}),[200,201],e=>_e(e)&&e.workspaceId===n.workspaceId&&e.parentItemId===n.itemId&&e.kind===`folder`&&e.name===n.name)}async function tr(e,t){let n=yt(t);return W(e,n.signal,409,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...R(`updateItem`,{params:{path:L(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:{name:n.name,parentItemId:n.parentItemId}}),...t}),[200],(e,t,r)=>ve(e,n.workspaceId,n.itemId,`active`)&&e.name===n.name&&e.parentItemId===n.parentItemId&&j(r,e.revision),!1,In)}async function nr(e,t){let n=bt(t);return W(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/trash`,{...R(`trashItem`,{params:{path:L(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>ve(e,n.workspaceId,n.itemId,`trashed`)&&j(r,e.revision),!1,In)}async function rr(e,t){let n=bt(t);return W(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/restore`,{...R(`restoreItem`,{params:{path:L(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>ve(e,n.workspaceId,n.itemId,`active`)&&j(r,e.revision),!1,In)}async function ir(e,t){let n=bt(t);return W(e,n.signal,409,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...R(`deleteItem`,{params:{path:L(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200,202],(e,t,r)=>ve(e,n.workspaceId,n.itemId,`deleting`)&&j(r,e.revision),!1,In)}async function ar(e,t){let n=_t(t);return W(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions`,{...R(`listItemVersions`,{params:{path:L(n),query:Nt(n)}}),...t}),[200],e=>Te(e,n.limit??50),!1,Ln)}async function or(e,t){let n=mt(t);return W(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}`,{...R(`getItemVersion`,{params:{path:{...L(n),versionId:n.versionId}}}),...t}),[200],e=>ze(e,n.workspaceId,n.itemId,n.versionId),!1,Ln)}async function sr(e,t){let n=xt(t);return W(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}/restore`,{...R(`restoreItemVersion`,{params:{path:{...L(n),versionId:n.versionId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>Ee(e,n.versionId)&&j(r,e.itemRevision),!1,In)}async function cr(e,t){let n=_t(t);return W(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...R(`listItemPermissions`,{params:{path:L(n),query:Nt(n)}}),...t}),[200],(e,t,r)=>De(e,r,n.itemId))}async function lr(e,t){let n=I(t);return W(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/effective`,{...R(`readEffectiveItemPermissions`,{params:{path:L(n)}}),...t}),[200],e=>Ae(e,n.itemId))}async function ur(e,t){let n=St(t);return W(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...R(`createItemPermission`,{params:{path:L(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)=>ke(e,n.itemId)&&(t===201&&e.outcome===`committed`||t===200&&e.outcome===`replayed`)&&(t===200||e.grant.availability!==`revoked`)&&He(r))}async function dr(e,t){let n=Ct(t);return W(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing`,{...R(`registerItemRecipient`,{params:{path:L(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)=>ke(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`)&&He(r),!1,[...Mn,`recipient_unavailable`,`registration_conflict`,`rate_limited`,`idempotency_conflict`,`invalid_idempotency_key`])}async function fr(e,t){let n=_t(t);return W(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing/people`,{...R(`listItemSharingPeople`,{params:{path:L(n),query:Nt(n)}}),...t}),[200],(e,t,r)=>Oe(e,r,n.itemId))}async function pr(e,t){let n=Tt(t),r={};return n.actions!==void 0&&(r.actions=n.actions),n.expiresAtEpochMilliseconds!==void 0&&(r.expiresAtEpochMilliseconds=n.expiresAtEpochMilliseconds),W(e,n.signal,412,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...R(`updateItemPermission`,{params:{path:{...L(n),grantId:n.grantId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:r}),...t}),[200],(e,t,r)=>ke(e,n.itemId,n.grantId)&&e.grant.availability!==`revoked`&&He(r))}async function mr(e,t){let n=wt(t);return W(e,n.signal,412,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...R(`revokeItemPermission`,{params:{path:{...L(n),grantId:n.grantId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>ke(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 hr(e,t){let n=Et(t);return W(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads`,{...R(`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=>je(e,n.expectedByteLength),!0,Pn)}async function gr(e,t){let n=Dt(t),r=n.afterPartNumber??0,i=n.limit??100;return W(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}`,{...R(`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=>Me(e,r,i)&&e.uploadId===n.uploadId,!1,Nn)}async function _r(e,t){let n=Ot(t);return W(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/parts`,{...R(`createUploadPartDescriptor`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId}},body:{partNumber:n.partNumber,checksumSha256:n.checksumSha256,contentMd5:n.contentMd5}}),...t}),[200],t=>Ne(t,n.partNumber,new URL(e.baseUrl).protocol===`http:`,n.contentMd5),!1,Y)}async function vr(e,t){let n=kt(t);return W(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/parts/{partNumber}`,{...R(`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=>Pe(e,n.partNumber,n.expectedUploadRevision),!1,Y)}async function yr(e,t){let n=At(t);return W(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/complete`,{...R(`completeUpload`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId},header:{"Idempotency-Key":n.idempotencyKey}}}),...t}),[200,202],(e,t)=>t===202?Ie(e,n.uploadId):Fe(e,{uploadId:n.uploadId}),!1,Fn)}async function br(e,t){let n=jt(t);return W(e,n.signal,409,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}`,{...R(`abortUpload`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId}}}),...t}),[204],null,!1,Y)}const xr=e=>e/2**32|0,Sr=e=>e>>>0;function Cr(e,t,n,r){let i=xr(n),a=Sr(n);e.setUint32(t,r?a:i,r),e.setUint32(t+4,r?i:a,r)}function wr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}const Tr=e=>e?`"${e}" `:``;function Er(e,t=``){if(typeof e!=`number`)throw TypeError(Tr(t)+`expected number, got `+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError(Tr(t)+`expected integer >= 0, got `+e);return e}function Dr(e,t,n=``){if(wr(e)&&(t===void 0||e.length===t))return e;t!==void 0&&Er(t,`length`);let r=wr(e),i=t===void 0?``:` of length ${t}`,a=r?`length=${e.length}`:`type=${typeof e}`,o=Tr(n)+`expected Uint8Array`+i+`, got `+a;throw r?RangeError(o):TypeError(o)}const Or=(e,t)=>{if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError((t===`object`?``:`"${t}" `)+`expected object, got type=`+typeof e)};function kr(e,t=!0){if(e.destroyed)throw Error(`hash was destroyed`);if(t&&e.finished)throw Error(`digest() was already called`)}function Ar(e,t){Dr(e,void 0,`output`);let n=t.outputLen;if(!(e.length>=n))throw RangeError(`"output" expected length >= `+n)}function jr(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Mr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function X(e,t){return e<<32-t|e>>>t}function Nr(e,t){return e<<t|e>>>32-t>>>0}const Pr=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Fr=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Ir(e){if(Dr(e),Pr)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Fr[e[n]];return t}function Lr(e,t,n=`opts`){return Or(e,`defaults`),t!==void 0&&Or(t,n),Object.assign(e,t)}function Rr(e,t={}){if(typeof e!=`function`)throw TypeError(`"hashCons" expected function, got type=`+typeof e);t=Lr({},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 zr=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])});function Br(e,t,n){return e&t^~e&n}function Vr(e,t,n){return e&t^e&n^t&n}var Hr=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=Mr(this.buffer)}update(e){kr(this),Dr(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=Mr(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){kr(this),Ar(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:Mr(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 Ur=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Wr=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 Gr=class extends Hr{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+Br(o,s,c)+Wr[e]+Z[e]|0,d=(X(n,2)^X(n,13)^X(n,22))+Vr(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(){jr(Z)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),jr(this.buffer)}},Kr=class extends Gr{constructor(){super(32,Ur)}};const qr=Rr(()=>new Kr,zr(1)),Jr=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),Yr=2**32,Xr=Array.from({length:64},(e,t)=>Math.floor(Yr*Math.abs(Math.sin(t+1)))),Zr=Jr.slice(0,4),Qr=new Uint32Array(16),$r=(()=>{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 ei=class extends Hr{A=Zr[0]|0;B=Zr[1]|0;C=Zr[2]|0;D=Zr[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)Qr[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=Br(r,i,a),o=e):e<32?(t=Br(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+Xr[e]+Qr[o],n=a,a=i,i=r,r+=Nr(t,$r[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(){jr(Qr)}destroy(){this.destroyed=!0,this.set(0,0,0,0),jr(this.buffer)}};const ti=Rr(()=>new ei),Q=32*1024*1024;async function ni(e,t,n){let i=Mt(t),a=Math.ceil(i.byteLength/Q);$(i.onProgress,`preparing`,0,i.byteLength,0,a);let o;try{let t=await si(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,li(o,i.byteLength,a,s.status,s.requestId);let c=await ii(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 ri(o.partCount,c.confirmedParts)){let c=s-1;yi(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 ci(e,_,gi(i.source,f,p,m),i.signal);l=await ai(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 oi(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 _i(n,i.workspaceId,o.uploadId),e instanceof r?e:i.signal?.aborted?new r(`aborted`):new r(`invalid_input`)}}function*ri(e,t){for(let n=1;n<=e;n+=1)t.has(n)||(yield n)}async function ii(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;ui(p,n),c?di(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+=hi(t.byteLength,e.partNumber)}if(p.lifecycle===`ready`&&p.ready&&(fi(p.ready,n,t,i,f.requestId),u=mi(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 pi(c.lifecycle,l),Object.freeze({revision:c.revision,confirmedParts:a,confirmedByteLength:o,lifecycle:c.lifecycle,...u===void 0?{}:{readyResult:u}})}async function ai(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(!vi(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;ui(s,n),pi(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 oi(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`)fi(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(!vi(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(ui(o,n),o.lifecycle!==`ready`||!o.ready)throw r;return fi(o.ready,n,t,i,a.requestId),mi(a,o.ready)}}async function si(e,t,n,i){let a=qr.create(),o=[],s=[];for(let c=0;c<n;c+=1){yi(i);let n=c*Q,l=Math.min(n+Q,t),u=gi(e,n,l,l-n),d;try{d=i?await G(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(bi(qr(f))),s.push(bi(ti(f)))}return Object.freeze({callerDeclaredContentDigest:`sha256:${Ir(a.digest())}`,partChecksums:Object.freeze(o),partMd5s:Object.freeze(s)})}async function ci(e,t,n,i){let a=t.expiresAtEpochMilliseconds-Date.now();if(a<1)throw new r(`invalid_response`);let o=mn(i,Math.min(e.timeoutMilliseconds,a)),s;try{if(s=await G(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||!xi(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 li(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 ui(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 di(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 fi(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 pi(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 mi(e,t){return Object.freeze({data:t,status:e.status,requestId:e.requestId,validators:e.validators})}function hi(e,t){return Math.min(Q,e-(t-1)*Q)}function gi(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 _i(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 vi(e){return e instanceof r&&(e.code===`network_error`||e.code===`timeout`||e.code===`invalid_response`)}function yi(e){if(e?.aborted)throw new r(`aborted`)}function bi(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t)}function xi(e){return e!==null&&e.length>=1&&e.length<=1024&&/^[\x20-\x7e]+$/.test(e)}function Si(e){let t=fn(e),n=zn(t);return Object.freeze({...n,uploadFile:e=>ni(t,e,n)})}export{Si as createDriveClient,Dn as createDriveVisitorClient,kn as createVisitorSessionToken};
|
|
1
|
+
const e=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`recipient_unavailable`,`registration_conflict`,`rate_limited`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_pagination_cursor`,`invalid_idempotency_key`,`precondition_failed`,`range_not_satisfiable`,`idempotency_conflict`,`quota_exceeded`,`upload_recovery_required`,`service_unavailable`,`internal_error`]),t=Object.freeze({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]*)"$/,ie=/^"drive\.permission-list\.v1\.[0-9a-f]{64}"$/,O=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),k=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:manage`,`items:permissions:read`,`items:update`]),A=33554432e4,j=32*1024*1024,ae=/^sha256:[0-9a-f]{64}$/,oe=new TextEncoder;function se(e){if(!F(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(!F(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 ce(e){if(!F(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 le(e){if(!F(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(!F(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||P(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||!ve(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:!P(e.trashedAtEpochMilliseconds)||!P(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 ue(e){if(!F(e,[`workspace`,`volumes`,`knownProviders`,`externalConnectionsSupported`])||!de(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 F(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 de(e){if(!F(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 F(t,[`type`,`userId`])&&t.type===`personal`&&typeof t.userId==`string`&&E.test(t.userId)||F(t,[`type`,`organizationId`])&&t.type===`organization`&&typeof t.organizationId==`string`&&E.test(t.organizationId)}function fe(e){return!F(e,[`mode`,`method`,`url`,`headers`,`expiresAtEpochMilliseconds`,`response`])||e.mode!==`presigned-single`||e.method!==`GET`&&e.method!==`HEAD`||typeof e.url!=`string`||!Qe(e.url)||!P(e.expiresAtEpochMilliseconds)||!F(e.headers,[`if-match`])&&!F(e.headers,[`if-match`,`range`])||typeof e.headers[`if-match`]!=`string`||!Ze(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))||!F(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)||!P(e.response.byteLength)||!P(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`||!pe(e)?!1:(Object.freeze(e.headers),Object.freeze(e.response),Object.freeze(e),!0)}function pe(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(P)&&i===o&&a===s&&c===t.byteLength&&i<=a&&a<c&&t.contentLength===a-i+1}function me(e){return F(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`)&&P(e.pollAfterSeconds)&&e.pollAfterSeconds>=1&&e.pollAfterSeconds<=60}function he(e,t,n){return F(e,[`items`,`nextCursor`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(ge)&&(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)&&Xe(e.items,e=>e.itemId):!1}function ge(e){return F(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`)&&N(e.name)&&(e.visibility===`workspace`||e.visibility===`restricted`)&&P(e.revision)}function _e(e,t,n,r){return!F(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`||!N(e.name)||e.state!==r||!P(e.revision)||(e.state===`active`?e.purgeAfterEpochMilliseconds!==null:!P(e.purgeAfterEpochMilliseconds))?!1:(Object.freeze(e),!0)}function ve(e,t,n){return!F(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`||!N(e.name)||e.lifecycleState!==`active`||!P(e.revision)||(e.type===`folder`?e.currentVersion!==null:!be(e.currentVersion))?!1:(e.currentVersion!==null&&Object.freeze(e.currentVersion),Object.freeze(e),!0)}function ye(e,t,n,r){if(!F(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>r||!e.items.every(e=>xe(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||!Se(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 M(e,t){let n=e.get(`etag`);return n!==null&&p(n)===t}function be(e){return F(e,[`versionId`,`state`,`byteLength`,`mediaType`,`protectionClassification`])&&typeof e.versionId==`string`&&w.test(e.versionId)&&e.state===`current`&&P(e.byteLength)&&qe(e.mediaType)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)}function xe(e,t,n){return F(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`)&&N(e.name)&&e.name.startsWith(n)&&e.lifecycleState===`active`&&P(e.revision)&&(e.type===`folder`?e.currentVersion===null:be(e.currentVersion))}function Se(e){for(let t=1;t<e.length;t+=1){let n=e[t-1],r=e[t],i=Ce(n.name,r.name);if(i>0||i===0&&n.itemId>=r.itemId)return!1}return!0}function Ce(e,t){let n=oe.encode(e),r=oe.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 we(e,t){if(!F(e,[`items`,`nextCursor`])||!Array.isArray(e.items)||e.items.length>t||!e.items.every(Le)||!(e.nextCursor===null||typeof e.nextCursor==`string`&&e.nextCursor.length<=699&&T.test(e.nextCursor))||e.nextCursor!==null&&e.items.length===0||!Xe(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 Te(e,t){return!F(e,[`itemRevision`,`currentVersionId`])||!P(e.itemRevision)||e.currentVersionId!==t?!1:(Object.freeze(e),!0)}function Ee(e,t,n,r=ie){if(!(F(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])&&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))&&P(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 P(o)?i===e.collectionEtag&&a!==null&&r.test(a)&&e.items.every(e=>{let t=f(e.etag);return t===void 0||e.etag!==Ke(t[0],e.revision)?!1:e.source===`direct`?e.sourceItemId===n&&t[0]===o:e.sourceItemId!==n})&&Xe(e.items,e=>`${e.sourceItemId}\0${e.grantId}`):!1}function De(e,t,n){if(!F(e,[`items`,`nextCursor`,`collectionRevision`,`collectionEtag`])||!Array.isArray(e.items)||e.items.length>50)return!1;let r=[];for(let t of e.items){if(!F(t,[`source`,`sourceItemId`,`grantId`,`grantee`,`actions`,`availability`,`expiresAtEpochMilliseconds`,`revision`,`etag`,`recipient`]))return!1;let{recipient:e,...n}=t;if(!He(n)||e!==null&&(!F(e,[`userId`,`name`,`email`,`resolvedAt`,`expiresAt`])||n.grantee.type!==`user`||e.userId!==n.grantee.userId||typeof e.name!=`string`||e.name.length<1||oe.encode(e.name).byteLength>1024||typeof e.email!=`string`||e.email.length<3||oe.encode(e.email).byteLength>320||!e.email.includes(`@`)||!P(e.resolvedAt)||!P(e.expiresAt)||e.expiresAt!==e.resolvedAt+864e5))return!1;r.push(n)}return Ee({...e,items:r},t,n,/^"drive\.sharing-people\.v1\.[0-9a-f]{64}"$/)}function Oe(e,t,n){if(!F(e,[`outcome`,`grant`,`collectionRevision`])||e.outcome!==`committed`&&e.outcome!==`replayed`||!P(e.collectionRevision))return!1;let r=e.grant;return F(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)&&Ue(r.grantee)&&We(r.actions)&&[`active`,`expired`,`revoked`].includes(String(r.availability))&&(r.expiresAtEpochMilliseconds===null||P(r.expiresAtEpochMilliseconds))&&P(r.revision)}function ke(e,t){if(!F(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||!F(r,[`action`,`allowed`,`basis`,`sourceItemId`,`grantId`])||r.action!==k[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))||!Ge(r,t))return!1}return!0}function Ae(e,t){return!F(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!==j||!P(e.partCount)||e.partCount>1e4||e.partCount!==Math.ceil(t/j)||(t===0?e.mode!==`server-mediated-zero-byte`:e.mode!==`presigned-multipart`)||!P(e.revision)||!P(e.expiresAtEpochMilliseconds)||e.expiresAtEpochMilliseconds<=Date.now()?!1:(Object.freeze(e),!0)}function je(e,t,n){if(!F(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))||!P(e.revision)||!F(e.partPolicy,[`partByteLength`,`partCount`,`maxParts`])||e.partPolicy.partByteLength!==j||!P(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||!P(e.expiresAtEpochMilliseconds))return!1;let r=t;if(e.verification!==void 0){let t=e.verification;if(!F(t,[`state`,`verifiedByteLength`,`totalByteLength`,`revision`])||![`pending`,`verified`,`failed`].includes(String(t.state))||!P(t.verifiedByteLength)||!P(t.totalByteLength)||t.totalByteLength>A||t.verifiedByteLength>t.totalByteLength||!P(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(!F(t,[`partNumber`,`checksumSha256`])||!P(t.partNumber)||t.partNumber<=r||t.partNumber>e.partPolicy.partCount||!Ie(t.checksumSha256))return!1;r=t.partNumber}if(!(e.nextAfterPartNumber===null||P(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&&(!Pe(e.ready,{uploadId:e.uploadId})||e.ready.itemId!==e.itemId||e.ready.versionId!==e.versionId||!F(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 Me(e,t,n,r){return!F(e,[`url`,`method`,`headers`,`partNumber`,`expectedByteLength`,`expiresAtEpochMilliseconds`])||!Je(e.url,n)||e.method!==`PUT`||!r||!F(e.headers,[`content-md5`])||e.headers[`content-md5`]!==r||e.partNumber!==t||!P(e.expectedByteLength)||e.expectedByteLength<1||e.expectedByteLength>j||!P(e.expiresAtEpochMilliseconds)||e.expiresAtEpochMilliseconds<=Date.now()?!1:(Object.freeze(e.headers),Object.freeze(e),!0)}function Ne(e,t,n){return!F(e,[`partNumber`,`revision`])||e.partNumber!==t||e.revision!==n+1||!P(e.revision)?!1:(Object.freeze(e),!0)}function Pe(e,t){return!F(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||!P(e.byteLength)||e.byteLength<0||e.byteLength>A||typeof e.callerDeclaredContentDigest!=`string`||!ae.test(e.callerDeclaredContentDigest)||!N(e.displayFilename)||!qe(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 Fe(e,t){return!F(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`||!P(e.verifiedByteLength)||!P(e.totalByteLength)||e.totalByteLength>A||e.verifiedByteLength>e.totalByteLength||!P(e.verificationRevision)?!1:(Object.freeze(e),!0)}function Ie(e){return typeof e==`string`&&/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/.test(e)}function Le(e){let t=F(e,ze)&&Be(e);return t&&Object.freeze(e),t}function Re(e,t,n,r){let i=F(e,[...ze,`workspaceId`,`itemId`])&&e.workspaceId===t&&e.itemId===n&&e.versionId===r&&Be(e);return i&&Object.freeze(e),i}const ze=Object.freeze([`versionId`,`state`,`revision`,`byteLength`,`contentDigest`,`mediaType`,`displayFilename`,`protectionClassification`,`archiveState`]);function Be(e){return typeof e.versionId==`string`&&w.test(e.versionId)&&(e.state===`current`||e.state===`superseded`)&&P(e.revision)&&P(e.byteLength)&&typeof e.contentDigest==`string`&&ae.test(e.contentDigest)&&qe(e.mediaType)&&N(e.displayFilename)&&(e.protectionClassification===`ordinary`||e.protectionClassification===`opaque-encrypted`)&&[`available`,`cold`,`restoring`,`unavailable`,`corrupt`].includes(String(e.archiveState))}function Ve(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 He(e){return F(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)&&Ue(e.grantee)&&We(e.actions)&&[`active`,`expired`,`revoked`].includes(String(e.availability))&&(e.expiresAtEpochMilliseconds===null||P(e.expiresAtEpochMilliseconds))&&P(e.revision)&&typeof e.etag==`string`&&D.test(e.etag)}function Ue(e){return F(e,[`type`,`userId`])&&e.type===`user`&&typeof e.userId==`string`&&E.test(e.userId)||F(e,[`type`,`teamId`])&&e.type===`team`&&typeof e.teamId==`string`&&E.test(e.teamId)}function We(e){return Array.isArray(e)&&e.length>=1&&e.length<=6&&new Set(e).size===e.length&&e.every(e=>O.includes(e))&&e.every((t,n)=>n===0||O.indexOf(t)>O.indexOf(e[n-1]))}function Ge(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 Ke(e,t){return`"drive.permission-grant.v1.${e}.${t}"`}function N(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||Ye(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 qe(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 Je(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 Ye(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 Xe(e,t){return e.every((n,r)=>r===0||t(e[r-1])<t(n))}function P(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function Ze(e){return/^"[\x21\x23-\x7e]{1,1022}"$/.test(e)}function Qe(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 F(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 $e=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,I=/^drive\.workspace\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,et=/^drive\.grant\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,tt=/^drive\.upload\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,nt=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,rt=/^drive\.cursor\.v1\.[A-Za-z0-9_-]+$/,it=/^[A-Za-z0-9_-]{1,128}$/,at=Object.freeze([`items:content:read`,`items:create`,`items:delete`,`items:metadata:read`,`items:permissions:read`,`items:update`]),ot=/^[A-Za-z0-9_-]{16,128}$/,st=/^sha256:[0-9a-f]{64}$/,ct=/^[A-Za-z0-9+/]{42}[AEIMQUYcgkosw048]=$/,lt=33554432e4;function ut(e){let t=V(B(e===void 0?{}:e,[],[`signal`]).signal);return t===void 0?{}:{signal:t}}function dt(e){let t=B(e===void 0?{}:e,[],[`signal`,`limit`,`cursor`]),n=V(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 ft(e,t){let n=B(e,[`workspaceId`],t?[`signal`,`view`,`kind`,`creatorUserId`,`mediaTypes`,`limit`,`cursor`]:[`signal`]),i=V(n.signal),a=n.mediaTypes;if(a!==void 0&&(!Array.isArray(a)||a.length<1||a.length>16||n.kind===`folder`||new Set(a).size!==a.length||a.some(e=>typeof e!=`string`||!/^[a-z0-9][a-z0-9!#$&^_.+-]{0,63}\/[a-z0-9][a-z0-9!#$&^_.+-]{0,127}$/.test(e))||a.join(`,`).length>2048)||typeof n.workspaceId!=`string`||!I.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`||!it.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},...a===void 0?{}:{mediaTypes:[...a].sort().join(`,`)},...n.limit===void 0?{}:{limit:n.limit},...n.cursor===void 0?{}:{cursor:n.cursor}}}}function L(e){let t=B(e,[`workspaceId`,`itemId`],[`signal`]),n=t.workspaceId,i=t.itemId,a=V(t.signal);if(typeof n!=`string`||!I.test(n)||typeof i!=`string`||!$e.test(i))throw new r(`invalid_input`);return{workspaceId:n,itemId:i,...a===void 0?{}:{signal:a}}}function pt(e){let t=B(e,[`workspaceId`,`itemId`,`versionId`],[`signal`]),n=L({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!nt.test(t.versionId))throw new r(`invalid_input`);return{...n,versionId:t.versionId}}function mt(e){let t=B(e,[`workspaceId`,`itemId`,`idempotencyKey`],[`versionId`,`method`,`range`,`ifMatch`,`ifNoneMatch`,`ifRange`,`signal`]),n=L({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),i=t.method??`GET`;if(!H(t.idempotencyKey)||t.versionId!==void 0&&(typeof t.versionId!=`string`||!nt.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))||!Wt(t.ifMatch)||!Wt(t.ifNoneMatch)||!Wt(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 ht(e){let t=B(e,[`workspaceId`,`query`],[`limit`,`cursor`,`signal`]),n=V(t.signal);if(typeof t.workspaceId!=`string`||!I.test(t.workspaceId)||!Bt(t.query)||t.limit!==void 0&&(!W(t.limit)||t.limit<1||t.limit>50)||t.cursor!==void 0&&(typeof t.cursor!=`string`||t.cursor.length>699||!rt.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 gt(e){let t=B(e,[`workspaceId`,`itemId`],[`signal`,`limit`,`cursor`]),n=L({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||!rt.test(a)))throw new r(`invalid_input`);return{...n,...i===void 0?{}:{limit:i},...a===void 0?{}:{cursor:a}}}function _t(e){let t=B(e,[`workspaceId`,`itemId`,`name`,`idempotencyKey`],[`signal`]),n=L({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!Ht(t.name)||!H(t.idempotencyKey))throw new r(`invalid_input`);return{...n,name:t.name,idempotencyKey:t.idempotencyKey}}function vt(e){let t=B(e,[`workspaceId`,`itemId`,`name`,`parentItemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=yt({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(!Ht(t.name)||typeof t.parentItemId!=`string`||!$e.test(t.parentItemId))throw new r(`invalid_input`);return{...n,name:t.name,parentItemId:t.parentItemId}}function yt(e){let t=B(e,[`workspaceId`,`itemId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=L({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(!H(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 bt(e){let t=B(e,[`workspaceId`,`itemId`,`versionId`,`idempotencyKey`,`ifMatch`],[`signal`]),n=yt({workspaceId:t.workspaceId,itemId:t.itemId,idempotencyKey:t.idempotencyKey,ifMatch:t.ifMatch,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.versionId!=`string`||!nt.test(t.versionId))throw new r(`invalid_input`);return{...n,versionId:t.versionId}}function xt(e){let t=B(e,[`workspaceId`,`itemId`,`grantee`,`actions`,`expiresAtEpochMilliseconds`,`ifMatch`,`idempotencyKey`],[`signal`]),n=L({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}}),i=Nt(t.grantee),a=Pt(t.actions),o=t.expiresAtEpochMilliseconds;if(!Vt(o)||typeof t.ifMatch!=`string`||d(t.ifMatch)===void 0||!H(t.idempotencyKey))throw new r(`invalid_input`);return{...n,grantee:i,actions:a,expiresAtEpochMilliseconds:o,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function St(e){let t=B(e,[`workspaceId`,`itemId`,`email`,`role`,`ifMatch`,`idempotencyKey`],[`signal`,`expectedRecipientUserId`]),n=L({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||!H(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 Ct(e){let t=B(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`]),n=L({workspaceId:t.workspaceId,itemId:t.itemId,...t.signal===void 0?{}:{signal:t.signal}});if(typeof t.grantId!=`string`||!et.test(t.grantId)||typeof t.ifMatch!=`string`||f(t.ifMatch)===void 0||!H(t.idempotencyKey))throw new r(`invalid_input`);return{...n,grantId:t.grantId,ifMatch:t.ifMatch,idempotencyKey:t.idempotencyKey}}function wt(e){let t=B(e,[`workspaceId`,`itemId`,`grantId`,`ifMatch`,`idempotencyKey`],[`signal`,`actions`,`expiresAtEpochMilliseconds`]),n=Ct({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:Pt(t.actions),a=t.expiresAtEpochMilliseconds;if(i===void 0&&a===void 0||a!==void 0&&!Vt(a))throw new r(`invalid_input`);return{...n,...i===void 0?{}:{actions:i},...a===void 0?{}:{expiresAtEpochMilliseconds:a}}}function Tt(e){let t=B(e,[`workspaceId`,`parentItemId`,`expectedByteLength`,`displayFilename`,`mediaType`,`callerDeclaredContentDigest`,`protectionClassification`,`idempotencyKey`],[`signal`]),n=V(t.signal);if(typeof t.workspaceId!=`string`||!I.test(t.workspaceId)||typeof t.parentItemId!=`string`||!$e.test(t.parentItemId)||typeof t.expectedByteLength!=`number`||!Number.isSafeInteger(t.expectedByteLength)||t.expectedByteLength<0||t.expectedByteLength>lt||!Ht(t.displayFilename)||!zt(t.mediaType)||typeof t.callerDeclaredContentDigest!=`string`||!st.test(t.callerDeclaredContentDigest)||t.protectionClassification!==`ordinary`&&t.protectionClassification!==`opaque-encrypted`||!H(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 Et(e){let t=B(e,[`workspaceId`,`uploadId`],[`afterPartNumber`,`limit`,`signal`]),n=U(t.workspaceId,t.uploadId,t.signal);if(t.afterPartNumber!==void 0&&(!W(t.afterPartNumber)||t.afterPartNumber>1e4)||t.limit!==void 0&&(!W(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 Dt(e){let t=B(e,[`workspaceId`,`uploadId`,`partNumber`,`checksumSha256`,`contentMd5`],[`signal`]),n=U(t.workspaceId,t.uploadId,t.signal);if(!It(t.partNumber)||!Lt(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 Ot(e){let t=B(e,[`workspaceId`,`uploadId`,`partNumber`,`expectedUploadRevision`,`byteLength`,`etag`,`checksumSha256`],[`signal`]),n=U(t.workspaceId,t.uploadId,t.signal);if(!It(t.partNumber)||!W(t.expectedUploadRevision)||t.expectedUploadRevision>=2**53-1||!W(t.byteLength)||t.byteLength<1||t.byteLength>33554432||!Rt(t.etag)||!Lt(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 kt(e){let t=B(e,[`workspaceId`,`uploadId`,`idempotencyKey`],[`signal`]),n=U(t.workspaceId,t.uploadId,t.signal);if(!H(t.idempotencyKey))throw new r(`invalid_input`);return{...n,idempotencyKey:t.idempotencyKey}}function At(e){let t=B(e,[`workspaceId`,`uploadId`],[`signal`]);return U(t.workspaceId,t.uploadId,t.signal)}function jt(e){let t=B(e,[`workspaceId`,`parentItemId`,`source`,`displayFilename`,`idempotencyKey`,`completionIdempotencyKey`],[`mediaType`,`protectionClassification`,`signal`,`onProgress`]),n=V(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`||!I.test(t.workspaceId)||typeof t.parentItemId!=`string`||!$e.test(t.parentItemId)||!Number.isSafeInteger(s)||s<0||s>lt||!Ht(t.displayFilename)||!zt(i)||a!==`ordinary`&&a!==`opaque-encrypted`||!H(t.idempotencyKey)||!H(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 R(e){return{workspaceId:e.workspaceId,itemId:e.itemId}}function Mt(e){return{...e.limit===void 0?{}:{limit:e.limit},...e.cursor===void 0?{}:{cursor:e.cursor}}}function z(e,t){return t}function B(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 V(e){if(e!==void 0){if(!(e instanceof AbortSignal))throw new r(`invalid_input`);return e}}function Nt(e){let t=B(e,[`type`],[`userId`,`teamId`]);if(t.type===`user`){let t=B(e,[`type`,`userId`],[]);if(typeof t.userId==`string`&&it.test(t.userId))return{type:`user`,userId:t.userId}}if(t.type===`team`){let t=B(e,[`type`,`teamId`],[]);if(typeof t.teamId==`string`&&it.test(t.teamId))return{type:`team`,teamId:t.teamId}}throw new r(`invalid_input`)}function Pt(e){let t=Ft(e);if(t.length<1||t.length>at.length||new Set(t).size!==t.length||!t.every(e=>at.includes(e)))throw new r(`invalid_input`);return t}function Ft(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 H(e){return typeof e==`string`&&ot.test(e)}function U(e,t,n){let i=V(n);if(typeof e!=`string`||!I.test(e)||typeof t!=`string`||!tt.test(t))throw new r(`invalid_input`);return{workspaceId:e,uploadId:t,...i===void 0?{}:{signal:i}}}function It(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=1&&e<=1e4}function Lt(e){return typeof e==`string`&&ct.test(e)}function Rt(e){return typeof e==`string`&&e.length>=1&&e.length<=1024&&/^[\x20-\x7e]+$/.test(e)}function zt(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 Bt(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 Vt(e){return e===null||W(e)}function Ht(e){if(typeof e!=`string`||e.length===0||e.length>510||e.normalize(`NFC`)!==e||e.endsWith(`.`)||e.endsWith(` `)||Ut(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 Ut(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 W(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function Wt(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 Gt=/\{[^{}]+\}/g,Kt=()=>typeof process==`object`&&Number.parseInt(process?.versions?.node?.substring(0,2))>=18&&process.versions.undici;function qt(){return Math.random().toString(36).slice(2,11)}function Jt(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=Kt()?c:void 0,t=rn(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??en,pathSerializer:te,body:y,middleware:b=[],...x}=d||{},S=t;f&&(S=rn(f)??t);let C=typeof i==`function`?i:Qt(i);v&&(C=typeof v==`function`?v:Qt({...typeof i==`object`?i:{},...v}));let ne=te||o||$t,w=y===void 0?void 0:ee(y,nn(s,h,g.header)),re=nn(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,ie,O=new m(tn(e,{baseUrl:S,params:g,querySerializer:C,pathSerializer:ne}),E),k;for(let e in x)e in O||(O[e]=x[e]);if(T.length){D=qt(),ie=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:O,schemaPath:e,params:g,options:ie,id:D});if(n)if(n instanceof m)O=n;else if(n instanceof Response){k=n;break}else throw Error(`onRequest: must return new Request() or Response() when modifying the request`)}}if(!k){try{k=await p(O,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:O,error:n,schemaPath:e,params:g,options:ie,id:D});if(t){if(t instanceof Response){n=void 0,k=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:O,response:k,schemaPath:e,params:g,options:ie,id:D});if(t){if(!(t instanceof Response))throw Error(`onResponse: must return new Response() when modifying the response`);k=t}}}}let A=k.headers.get(`Content-Length`);if(k.status===204||O.method===`HEAD`||A===`0`&&!k.headers.get(`Transfer-Encoding`)?.includes(`chunked`))return k.ok?{data:void 0,response:k}:{error:void 0,response:k};if(k.ok)return{data:await(async()=>{if(_===`stream`)return k.body;if(_===`json`&&!A){let e=await k.text();return e?JSON.parse(e):void 0}return await k[_]()})(),response:k};let j=await k.text();try{j=JSON.parse(j)}catch{}return{error:j,response:k}}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 Yt(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 Xt(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(Yt(a,t[i],n))}let a=r.join(i);return n.style===`label`||n.style===`matrix`?`${i}${a}`:a}function Zt(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(Yt(e,r,n));return n.style===`label`||n.style===`matrix`?`${r}${i.join(r)}`:i.join(r)}function Qt(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(Zt(r,i,{style:`form`,explode:!0,...e?.array,allowReserved:e?.allowReserved||!1}));continue}if(typeof i==`object`){n.push(Xt(r,i,{style:`deepObject`,explode:!0,...e?.object,allowReserved:e?.allowReserved||!1}));continue}n.push(Yt(r,i,e))}}return n.join(`&`)}}function $t(e,t){let n=e;for(let r of e.match(Gt)??[]){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,Zt(e,o,{style:a,explode:i}));continue}if(typeof o==`object`){n=n.replace(r,Xt(e,o,{style:a,explode:i}));continue}if(a===`matrix`){n=n.replace(r,`;${Yt(e,o)}`);continue}n=n.replace(r,a===`label`?`.${encodeURIComponent(o)}`:encodeURIComponent(o))}return n}function en(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 tn(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 nn(...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 rn(e){return e.endsWith(`/`)?e.substring(0,e.length-1):e}String.fromCharCode;const an=/\/$|\/\?|\/#/,on=/^\.?\//;function sn(e=``,t){return t?an.test(e):e.endsWith(`/`)}function cn(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(sn(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 ln(e){return e&&e!==`/`}function un(e,...t){let n=e||``;for(let e of t.filter(e=>ln(e)))if(n){let t=e.replace(on,``);n=cn(n)+t}else n=e;return n}function dn(e){let t;try{t=Object.freeze({baseUrl:mn(e.baseUrl),fetchImplementation:e.fetch??globalThis.fetch.bind(globalThis),getCredential:e.getCredential,timeoutMilliseconds:fn(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 G(e,t,n,i,a,o,s=!1,c){let d=pn(t,e.timeoutMilliseconds);try{let t=d.signal;gn(t);let f=await hn(e.getCredential,t),p;if(await i(Jt({baseUrl:e.baseUrl,fetch:async n=>{try{let i=await K(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})}}),{referrerPolicy:`no-referrer`,redirect:`manual`,cache:`no-store`,credentials:`omit`,headers:new Headers({authorization:`${e.authorizationScheme??`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 fn(e){if(e===void 0)return 3e4;if(!Number.isSafeInteger(e)||e<1||e>12e4)throw new r(`invalid_input`);return e}function pn(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 mn(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 un(t.origin,t.pathname)}async function hn(e,t){gn(t);let n;try{n=await K(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 gn(e){if(e.aborted)throw new r(`aborted`)}async function K(e,t){gn(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()}}async function _n(e,t,n){if(t.expiresAtEpochMilliseconds<=Date.now())throw new r(`invalid_response`);let i=pn(n,e.timeoutMilliseconds);try{let a=await K(e.fetchImplementation(yn(t,i.signal)),i.signal);if(!bn(a,t))throw await a.body?.cancel().catch(()=>void 0),new r(`invalid_response`);let o=vn(t);if(t.method===`HEAD`)return await a.body?.cancel().catch(()=>void 0),i.dispose(),new Response(null,{status:a.status,headers:o});if(!a.body){if(i.dispose(),t.response.contentLength!==0)throw new r(`invalid_response`);return new Response(null,{status:a.status,headers:o})}return i.dispose(),new Response(xn(a.body,t.response.contentLength,n),{status:a.status,headers:o})}catch(e){throw i.dispose(),i.didTimeout()?new r(`timeout`):e instanceof r?e:i.signal.aborted?new r(i.didTimeout()?`timeout`:`aborted`):new r(`network_error`)}}function vn(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 yn(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 bn(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 xn(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))}})}const Sn=/^[A-Za-z0-9_-]{43}$/,Cn=/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,q=/^drive\.item\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,wn=`/api/v1/workspaces/{workspaceId}/items/{itemId}/visitor-grants`;function J(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Y(e,t){return Object.keys(e).length===t.length&&t.every(t=>Object.hasOwn(e,t))}function Tn(e){return typeof e==`number`&&Number.isSafeInteger(e)&&e>=0}function En(e){return J(e)&&Y(e,[`grantId`,`mode`,`role`,`email`,`status`,`createdAt`,`expiresAt`])&&typeof e.grantId==`string`&&Cn.test(e.grantId)&&e.role===`viewer`&&(e.mode===`anyone`&&e.email===null&&e.status!==`pending`||e.mode===`email`&&typeof e.email==`string`&&e.email.length>=3&&e.email.length<=320)&&[`pending`,`active`,`expired`,`revoked`].includes(String(e.status))&&Tn(e.createdAt)&&Tn(e.expiresAt)&&e.expiresAt>e.createdAt&&e.expiresAt<=e.createdAt+2592e6}function Dn(e){return J(e)&&Y(e,[`grant`,`token`,`tokenPurpose`])&&En(e.grant)&&(e.token===null||typeof e.token==`string`&&Sn.test(e.token))&&e.tokenPurpose===(e.grant.mode===`anyone`?`view`:`verify-email`)}function On(e,t){if(!J(e))return!1;let{source:n,sourceItemId:r,...i}=e;return En(i)&&typeof r==`string`&&q.test(r)&&(n===`direct`&&r===t||n===`inherited`&&r!==t)}function kn(e){return J(e)&&typeof e.itemId==`string`&&q.test(e.itemId)&&(e.kind===`file`||e.kind===`folder`)&&(e.name===null||typeof e.name==`string`&&e.name.length<=1024)}function An(e){return{async createVisitorGrant(t){let n=B(t,[`workspaceId`,`itemId`,`command`,`idempotencyKey`],[`signal`]),i=L({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}}),a=B(n.command,[`mode`,`role`,`expiresAt`],[`email`]);if(a.role!==`viewer`||!Tn(a.expiresAt)||a.expiresAt>Date.now()+2592e6||typeof n.idempotencyKey!=`string`||!/^[A-Za-z0-9_-]{16,128}$/.test(n.idempotencyKey)||!(a.mode===`anyone`&&!Object.hasOwn(a,`email`)||a.mode===`email`&&typeof a.email==`string`&&a.email.trim().length>=3&&new TextEncoder().encode(a.email).length<=320))throw new r(`invalid_input`);let o=a.mode===`anyone`?{mode:`anyone`,role:`viewer`,expiresAt:a.expiresAt}:{mode:`email`,role:`viewer`,email:String(a.email).trim().toLowerCase(),expiresAt:a.expiresAt};return G(e,i.signal,null,(e,t)=>e.POST(wn,{...t,params:{path:i,header:{"Idempotency-Key":n.idempotencyKey}},body:o}),[200],e=>Dn(e)&&e.grant.mode===o.mode&&e.grant.email===(o.mode===`email`?o.email:null)&&e.grant.expiresAt===o.expiresAt)},async getVisitorGrant(t){let n=B(t,[`workspaceId`,`itemId`,`grantId`],[`signal`]),i=L({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}});if(typeof n.grantId!=`string`||!Cn.test(n.grantId))throw new r(`invalid_input`);let a=n.grantId;return G(e,i.signal,null,(e,t)=>e.GET(`${wn}/{grantId}`,{...t,params:{path:{...i,grantId:a}}}),[200],e=>Dn(e)&&e.grant.grantId===a)},async listVisitorGrants(t){let n=L(t);return G(e,n.signal,null,(e,t)=>e.GET(wn,{...t,params:{path:n}}),[200],e=>J(e)&&Y(e,[`items`])&&Array.isArray(e.items)&&e.items.length<=64&&e.items.every(e=>On(e,n.itemId)))},async revokeVisitorGrant(t){let n=B(t,[`workspaceId`,`itemId`,`grantId`],[`signal`]),i=L({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}});if(typeof n.grantId!=`string`||!Cn.test(n.grantId))throw new r(`invalid_input`);return G(e,i.signal,null,(e,t)=>e.DELETE(`${wn}/{grantId}`,{...t,params:{path:{...i,grantId:n.grantId}}}),[200],e=>En(e)&&e.grantId===n.grantId&&e.status===`revoked`)}}}function jn(e){if(!e||typeof e.token!=`string`||!Sn.test(e.token))throw new r(`invalid_input`);let t=e.token,n={...dn({...e,getCredential:async()=>t}),authorizationScheme:`DriveVisitor`},i={Authorization:`DriveVisitor ${t}`},a={async readItem(e={}){let t=Mn(e);return G(n,t.signal,null,(e,n)=>e.GET(`/api/v1/visitor/item`,{...n,params:{header:i,query:t.query}}),[200],e=>kn(e)&&J(e)&&Y(e,[`itemId`,`kind`,`name`,`rootItemId`,`role`])&&e.role===`viewer`&&typeof e.rootItemId==`string`&&q.test(e.rootItemId)&&(t.query.itemId===void 0||e.itemId===t.query.itemId))},async listChildren(e={}){let t=Mn(e,[`after`]);if(t.extra.after!==void 0&&(typeof t.extra.after!=`string`||!q.test(t.extra.after)))throw new r(`invalid_input`);let a=t.extra.after;return G(n,t.signal,null,(e,n)=>e.GET(`/api/v1/visitor/children`,{...n,params:{header:i,query:{...t.query,...a===void 0?{}:{after:a}}}}),[200],e=>J(e)&&Y(e,[`items`,`nextAfter`])&&Array.isArray(e.items)&&e.items.length<=50&&e.items.every(e=>kn(e)&&J(e)&&Y(e,[`itemId`,`kind`,`name`]))&&(e.nextAfter===null||typeof e.nextAfter==`string`&&q.test(e.nextAfter)&&e.items.length===50&&J(e.items[49])&&e.items[49].itemId===e.nextAfter))},async createDownload(e={}){let t=Mn(e,[`method`,`range`]),a=t.extra.method??`GET`,o=t.extra.range;if(a!==`GET`&&a!==`HEAD`||o!==void 0&&(typeof o!=`string`||!/^bytes=(?:\d+-\d*|-\d+)$/.test(o)||o.length>128))throw new r(`invalid_input`);return G(n,t.signal,null,(e,n)=>(n.headers.set(`Download-Method`,a),typeof o==`string`&&n.headers.set(`Range`,o),e.POST(`/api/v1/visitor/downloads`,{...n,params:{header:i,query:t.query}})),[200],e=>fe(e)&&e.method===a&&e.expiresAtEpochMilliseconds>Date.now())},async redeemInvitation(e){let a=B(e,[`sessionToken`],[`signal`]),o=V(a.signal);if(typeof a.sessionToken!=`string`||!Sn.test(a.sessionToken)||a.sessionToken===t)throw new r(`invalid_input`);let s=a.sessionToken;return G(n,o,null,(e,t)=>e.POST(`/api/v1/visitor/verify-email`,{...t,params:{header:i},body:{sessionToken:s}}),[200],e=>J(e)&&Y(e,[`grantId`,`role`,`expiresAt`])&&typeof e.grantId==`string`&&Cn.test(e.grantId)&&e.role===`viewer`&&Tn(e.expiresAt)&&e.expiresAt>Date.now())},async downloadItem(e={}){let t=Mn(e,[`method`,`range`]),r=await a.createDownload(e);return _n(n,r.data,t.signal)}};return Object.freeze(a)}function Mn(e,t=[]){let n=B(e,[],[`itemId`,`signal`,...t]);if(n.itemId!==void 0&&(typeof n.itemId!=`string`||!q.test(n.itemId)))throw new r(`invalid_input`);return{signal:V(n.signal),query:n.itemId===void 0?{}:{itemId:n.itemId},extra:n}}function Nn(){let e=crypto.getRandomValues(new Uint8Array(32));return btoa(String.fromCharCode(...e)).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}const Pn=/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;function Fn(e){if(typeof e.expectedVersionId!=`string`||!Pn.test(e.expectedVersionId)||typeof e.idempotencyKey!=`string`||!/^[A-Za-z0-9_-]{16,128}$/.test(e.idempotencyKey))throw new r(`invalid_input`);return{body:{expectedVersionId:e.expectedVersionId},headers:{"Idempotency-Key":e.idempotencyKey,"If-Match":`"${e.expectedVersionId}"`}}}function In(e){return{async getFileAccessContext(t){let n=L(t);return G(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/access-context`,{...t,params:{path:n}}),[200],e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return Object.keys(t).sort().join()===`canRead,canWrite,contentGeneration,itemId,subject,validUntil,versionId,workspaceId`&&t.workspaceId===n.workspaceId&&t.itemId===n.itemId&&typeof t.subject==`string`&&t.subject.length>0&&t.subject.length<=128&&typeof t.versionId==`string`&&Pn.test(t.versionId)&&(t.contentGeneration===null||typeof t.contentGeneration==`string`&&/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(t.contentGeneration))&&typeof t.canRead==`boolean`&&typeof t.canWrite==`boolean`&&typeof t.validUntil==`number`&&Number.isSafeInteger(t.validUntil)&&t.validUntil>Date.now()&&t.validUntil<=Date.now()+6e4})},async createFileVersionUpload(t){let n=B(t,[`workspaceId`,`itemId`,`expectedVersionId`,`byteLength`,`digest`,`idempotencyKey`],[`signal`]),i=L({workspaceId:n.workspaceId,itemId:n.itemId,...n.signal===void 0?{}:{signal:n.signal}}),a=Fn(n);if(typeof n.byteLength!=`number`||!Number.isSafeInteger(n.byteLength)||n.byteLength<0||typeof n.digest!=`string`||!/^sha256:[0-9a-f]{64}$/.test(n.digest))throw new r(`invalid_input`);let o={...a.body,byteLength:n.byteLength,digest:n.digest};return G(e,i.signal,null,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/version-uploads`,{...t,params:{path:i,header:a.headers},body:o}),[200,201],e=>Ae(e,o.byteLength)&&e.itemId===i.itemId&&e.versionId!==o.expectedVersionId,!0)},async commitFileVersion(t){let n=B(t,[`workspaceId`,`itemId`,`uploadId`,`expectedVersionId`,`idempotencyKey`],[`signal`]),r=L({workspaceId:n.workspaceId,itemId:n.itemId}),i=Et({workspaceId:n.workspaceId,uploadId:n.uploadId,...n.signal===void 0?{}:{signal:n.signal}}),a=Fn(n);return G(e,i.signal,null,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/version`,{...t,params:{path:{workspaceId:i.workspaceId,uploadId:i.uploadId},header:a.headers},body:a.body}),[200,202],(e,t)=>t===200?Pe(e,{uploadId:i.uploadId})&&e.itemId===r.itemId&&e.versionId!==a.body.expectedVersionId:Fe(e,i.uploadId)&&e.itemId===r.itemId&&e.versionId!==a.body.expectedVersionId)}}}const Ln=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`service_unavailable`]),Rn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),zn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_pagination_cursor`,`precondition_failed`,`service_unavailable`]),Bn=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`]),Hn=Object.freeze([...Bn,`invalid_idempotency_key`,`idempotency_conflict`,`quota_exceeded`]),Un=Object.freeze([...Bn,`invalid_idempotency_key`]),Wn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`invalid_idempotency_key`,`idempotency_conflict`,`precondition_failed`,`service_unavailable`]),Gn=Object.freeze([`authentication_required`,`identity_authority_unavailable`,`permission_denied`,`resource_not_found`,`invalid_request`,`precondition_failed`,`service_unavailable`]),Kn=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 qn(e){return Object.freeze({...An(e),...In(e),registerItemRecipient:t=>gr(e,t),listItemSharingPeople:t=>_r(e,t),listIncomingShares:t=>Jn(e,t),getCurrentWorkspace:t=>er(e,t),ensureOrganizationWorkspaceAccess:t=>tr(e,t),listWorkspaceItems:t=>Qn(e,t),getWorkspaceUsage:t=>$n(e,t),getCurrentWorkspaceSources:t=>Zn(e,t),getItem:t=>nr(e,t),searchWorkspaceItems:t=>rr(e,t),listFolderChildren:t=>ir(e,t),createFolder:t=>ar(e,t),updateItem:t=>or(e,t),trashItem:t=>sr(e,t),restoreItem:t=>cr(e,t),deleteItem:t=>lr(e,t),listItemVersions:t=>ur(e,t),getItemVersion:t=>dr(e,t),restoreItemVersion:t=>fr(e,t),createDownload:t=>Yn(e,t),downloadItem:t=>Xn(e,t),listItemPermissions:t=>pr(e,t),readEffectiveItemPermissions:t=>mr(e,t),createItemPermission:t=>hr(e,t),updateItemPermission:t=>vr(e,t),revokeItemPermission:t=>yr(e,t),createUpload:t=>br(e,t),getUploadStatus:t=>xr(e,t),createUploadPartDescriptor:t=>Sr(e,t),recordUploadPart:t=>Cr(e,t),completeUpload:t=>wr(e,t),abortUpload:t=>Tr(e,t)})}async function Jn(e,t){let n=dt(t);return G(e,n.signal,409,(e,t)=>e.GET(`/api/v1/shares/incoming`,{...z(`listIncomingShares`,{params:{query:n.query}}),...t}),[200],se,!1,zn)}async function Yn(e,t){let n=mt(t);return G(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/downloads`,{...z(`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?fe(e):t===202?me(e):e===void 0,!1,Kn)}async function Xn(e,t){let n=mt(t),r=await Yn(e,t);return r.status===202||r.status===304?r:_n(e,r.data,n.signal)}async function Zn(e,t){return G(e,ut(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current/sources`,{...z(`getCurrentWorkspaceSources`,{params:{}}),...t}),[200],ue,!1,Ln)}async function Qn(e,t){let n=ft(t,!0);return G(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items`,{...z(`listWorkspaceItems`,{params:{path:{workspaceId:n.workspaceId},query:n.query}}),...t}),[200],e=>le(e)&&e.items.length<=(n.query.limit??25)&&e.items.every((e,t,r)=>e.workspaceId===n.workspaceId&&e.lifecycleState===(n.query.view===`trash`?`trashed`:`active`)&&((n.query.view??`recent`)!==`recent`||e.modifiedAtEpochMilliseconds!==null)&&(n.query.kind===void 0||e.type===n.query.kind)&&(n.query.mediaTypes===void 0||e.type===`file`&&!!e.currentVersion&&n.query.mediaTypes.split(`,`).includes(e.currentVersion.mediaType))&&(n.query.creatorUserId===void 0||e.creatorUserId===n.query.creatorUserId)&&(t===0||((n.query.view??`recent`)===`recent`?r[t-1].modifiedAtEpochMilliseconds>e.modifiedAtEpochMilliseconds||r[t-1].modifiedAtEpochMilliseconds===e.modifiedAtEpochMilliseconds&&r[t-1].itemId<e.itemId:r[t-1].itemId<e.itemId))),!1,zn)}async function $n(e,t){let n=ft(t,!1);return G(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/usage`,{...z(`getWorkspaceUsage`,{params:{path:{workspaceId:n.workspaceId}}}),...t}),[200],e=>ce(e)&&e.workspaceId===n.workspaceId,!1,zn)}async function er(e,t){return G(e,ut(t).signal,null,(e,t)=>e.GET(`/api/v1/workspaces/current`,{...z(`getCurrentWorkspace`,{params:{}}),...t}),[200],de,!1,Ln)}async function tr(e,t){return G(e,ut(t).signal,null,(e,t)=>e.POST(`/api/v1/workspaces/current/organization-access`,{...z(`ensureOrganizationWorkspaceAccess`,{params:{}}),...t}),[200],e=>de(e)&&e.workspaceReference.type===`organization`,!1,Ln)}async function nr(e,t){let n=L(t);return G(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...z(`getItem`,{params:{path:R(n)}}),...t}),[200],(e,t,r)=>ve(e,n.workspaceId,n.itemId)&&M(r,e.revision),!1,Rn)}async function rr(e,t){let n=ht(t);return G(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/search`,{...z(`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=>ye(e,n.workspaceId,n.query,n.limit??50),!1,zn)}async function ir(e,t){let n=gt(t);return G(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...z(`listFolderChildren`,{params:{path:R(n),query:Mt(n)}}),...t}),[200],e=>he(e,n.workspaceId,n.itemId))}async function ar(e,t){let n=_t(t);return G(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/children`,{...z(`createFolder`,{params:{path:R(n),header:{"Idempotency-Key":n.idempotencyKey}},body:{name:n.name}}),...t}),[200,201],e=>ge(e)&&e.workspaceId===n.workspaceId&&e.parentItemId===n.itemId&&e.kind===`folder`&&e.name===n.name)}async function or(e,t){let n=vt(t);return G(e,n.signal,409,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...z(`updateItem`,{params:{path:R(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:{name:n.name,parentItemId:n.parentItemId}}),...t}),[200],(e,t,r)=>_e(e,n.workspaceId,n.itemId,`active`)&&e.name===n.name&&e.parentItemId===n.parentItemId&&M(r,e.revision),!1,Wn)}async function sr(e,t){let n=yt(t);return G(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/trash`,{...z(`trashItem`,{params:{path:R(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>_e(e,n.workspaceId,n.itemId,`trashed`)&&M(r,e.revision),!1,Wn)}async function cr(e,t){let n=yt(t);return G(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/restore`,{...z(`restoreItem`,{params:{path:R(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>_e(e,n.workspaceId,n.itemId,`active`)&&M(r,e.revision),!1,Wn)}async function lr(e,t){let n=yt(t);return G(e,n.signal,409,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/items/{itemId}`,{...z(`deleteItem`,{params:{path:R(n),header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200,202],(e,t,r)=>_e(e,n.workspaceId,n.itemId,`deleting`)&&M(r,e.revision),!1,Wn)}async function ur(e,t){let n=gt(t);return G(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions`,{...z(`listItemVersions`,{params:{path:R(n),query:Mt(n)}}),...t}),[200],e=>we(e,n.limit??50),!1,Gn)}async function dr(e,t){let n=pt(t);return G(e,n.signal,409,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}`,{...z(`getItemVersion`,{params:{path:{...R(n),versionId:n.versionId}}}),...t}),[200],e=>Re(e,n.workspaceId,n.itemId,n.versionId),!1,Gn)}async function fr(e,t){let n=bt(t);return G(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/versions/{versionId}/restore`,{...z(`restoreItemVersion`,{params:{path:{...R(n),versionId:n.versionId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>Te(e,n.versionId)&&M(r,e.itemRevision),!1,Wn)}async function pr(e,t){let n=gt(t);return G(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...z(`listItemPermissions`,{params:{path:R(n),query:Mt(n)}}),...t}),[200],(e,t,r)=>Ee(e,r,n.itemId))}async function mr(e,t){let n=L(t);return G(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/effective`,{...z(`readEffectiveItemPermissions`,{params:{path:R(n)}}),...t}),[200],e=>ke(e,n.itemId))}async function hr(e,t){let n=xt(t);return G(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions`,{...z(`createItemPermission`,{params:{path:R(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)=>Oe(e,n.itemId)&&(t===201&&e.outcome===`committed`||t===200&&e.outcome===`replayed`)&&(t===200||e.grant.availability!==`revoked`)&&Ve(r))}async function gr(e,t){let n=St(t);return G(e,n.signal,412,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing`,{...z(`registerItemRecipient`,{params:{path:R(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)=>Oe(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`)&&Ve(r),!1,[...zn,`recipient_unavailable`,`registration_conflict`,`rate_limited`,`idempotency_conflict`,`invalid_idempotency_key`])}async function _r(e,t){let n=gt(t);return G(e,n.signal,412,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/items/{itemId}/sharing/people`,{...z(`listItemSharingPeople`,{params:{path:R(n),query:Mt(n)}}),...t}),[200],(e,t,r)=>De(e,r,n.itemId))}async function vr(e,t){let n=wt(t),r={};return n.actions!==void 0&&(r.actions=n.actions),n.expiresAtEpochMilliseconds!==void 0&&(r.expiresAtEpochMilliseconds=n.expiresAtEpochMilliseconds),G(e,n.signal,412,(e,t)=>e.PATCH(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...z(`updateItemPermission`,{params:{path:{...R(n),grantId:n.grantId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}},body:r}),...t}),[200],(e,t,r)=>Oe(e,n.itemId,n.grantId)&&e.grant.availability!==`revoked`&&Ve(r))}async function yr(e,t){let n=Ct(t);return G(e,n.signal,412,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/items/{itemId}/permissions/{grantId}`,{...z(`revokeItemPermission`,{params:{path:{...R(n),grantId:n.grantId},header:{"Idempotency-Key":n.idempotencyKey,"If-Match":n.ifMatch}}}),...t}),[200],(e,t,r)=>Oe(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 br(e,t){let n=Tt(t);return G(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads`,{...z(`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=>Ae(e,n.expectedByteLength),!0,Hn)}async function xr(e,t){let n=Et(t),r=n.afterPartNumber??0,i=n.limit??100;return G(e,n.signal,null,(e,t)=>e.GET(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}`,{...z(`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=>je(e,r,i)&&e.uploadId===n.uploadId,!1,Vn)}async function Sr(e,t){let n=Dt(t);return G(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/parts`,{...z(`createUploadPartDescriptor`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId}},body:{partNumber:n.partNumber,checksumSha256:n.checksumSha256,contentMd5:n.contentMd5}}),...t}),[200],t=>Me(t,n.partNumber,new URL(e.baseUrl).protocol===`http:`,n.contentMd5),!1,Bn)}async function Cr(e,t){let n=Ot(t);return G(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/parts/{partNumber}`,{...z(`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=>Ne(e,n.partNumber,n.expectedUploadRevision),!1,Bn)}async function wr(e,t){let n=kt(t);return G(e,n.signal,409,(e,t)=>e.POST(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}/complete`,{...z(`completeUpload`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId},header:{"Idempotency-Key":n.idempotencyKey}}}),...t}),[200,202],(e,t)=>t===202?Fe(e,n.uploadId):Pe(e,{uploadId:n.uploadId}),!1,Un)}async function Tr(e,t){let n=At(t);return G(e,n.signal,409,(e,t)=>e.DELETE(`/api/v1/workspaces/{workspaceId}/uploads/{uploadId}`,{...z(`abortUpload`,{params:{path:{workspaceId:n.workspaceId,uploadId:n.uploadId}}}),...t}),[204],null,!1,Bn)}const Er=e=>e/2**32|0,Dr=e=>e>>>0;function Or(e,t,n,r){let i=Er(n),a=Dr(n);e.setUint32(t,r?a:i,r),e.setUint32(t+4,r?i:a,r)}function kr(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}const Ar=e=>e?`"${e}" `:``;function jr(e,t=``){if(typeof e!=`number`)throw TypeError(Ar(t)+`expected number, got `+typeof e);if(!Number.isSafeInteger(e)||e<0)throw RangeError(Ar(t)+`expected integer >= 0, got `+e);return e}function Mr(e,t,n=``){if(kr(e)&&(t===void 0||e.length===t))return e;t!==void 0&&jr(t,`length`);let r=kr(e),i=t===void 0?``:` of length ${t}`,a=r?`length=${e.length}`:`type=${typeof e}`,o=Ar(n)+`expected Uint8Array`+i+`, got `+a;throw r?RangeError(o):TypeError(o)}const Nr=(e,t)=>{if(typeof e!=`object`||!e||Array.isArray(e))throw TypeError((t===`object`?``:`"${t}" `)+`expected object, got type=`+typeof e)};function Pr(e,t=!0){if(e.destroyed)throw Error(`hash was destroyed`);if(t&&e.finished)throw Error(`digest() was already called`)}function Fr(e,t){Mr(e,void 0,`output`);let n=t.outputLen;if(!(e.length>=n))throw RangeError(`"output" expected length >= `+n)}function Ir(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}function Lr(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function X(e,t){return e<<32-t|e>>>t}function Rr(e,t){return e<<t|e>>>32-t>>>0}const zr=typeof Uint8Array.from([]).toHex==`function`&&typeof Uint8Array.fromHex==`function`,Br=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`));function Vr(e){if(Mr(e),zr)return e.toHex();let t=``;for(let n=0;n<e.length;n++)t+=Br[e[n]];return t}function Hr(e,t,n=`opts`){return Nr(e,`defaults`),t!==void 0&&Nr(t,n),Object.assign(e,t)}function Ur(e,t={}){if(typeof e!=`function`)throw TypeError(`"hashCons" expected function, got type=`+typeof e);t=Hr({},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 Gr(e,t,n){return e&t^~e&n}function Kr(e,t,n){return e&t^e&n^t&n}var qr=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=Lr(this.buffer)}update(e){Pr(this),Mr(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=Lr(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){Pr(this),Fr(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)),Or(n,r-8,this.length*8,i),this.process(n,0),this.roundClean();let o=e===t?n:Lr(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 Jr=Uint32Array.from([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Yr=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 Xr=class extends qr{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+Gr(o,s,c)+Yr[e]+Z[e]|0,d=(X(n,2)^X(n,13)^X(n,22))+Kr(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(){Ir(Z)}destroy(){this.destroyed=!0,this.set(0,0,0,0,0,0,0,0),Ir(this.buffer)}},Zr=class extends Xr{constructor(){super(32,Jr)}};const Qr=Ur(()=>new Zr,Wr(1)),$r=Uint32Array.from([1732584193,4023233417,2562383102,271733878,3285377520]),ei=2**32,ti=Array.from({length:64},(e,t)=>Math.floor(ei*Math.abs(Math.sin(t+1)))),ni=$r.slice(0,4),ri=new Uint32Array(16),ii=(()=>{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 ai=class extends qr{A=ni[0]|0;B=ni[1]|0;C=ni[2]|0;D=ni[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)ri[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=Gr(r,i,a),o=e):e<32?(t=Gr(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+ti[e]+ri[o],n=a,a=i,i=r,r+=Rr(t,ii[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(){Ir(ri)}destroy(){this.destroyed=!0,this.set(0,0,0,0),Ir(this.buffer)}};const oi=Ur(()=>new ai),Q=32*1024*1024;async function si(e,t,n){let i=jt(t),a=Math.ceil(i.byteLength/Q);$(i.onProgress,`preparing`,0,i.byteLength,0,a);let o;try{let t=await fi(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,mi(o,i.byteLength,a,s.status,s.requestId);let c=await li(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 ci(o.partCount,c.confirmedParts)){let c=s-1;wi(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 pi(e,_,xi(i.source,f,p,m),i.signal);l=await ui(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 di(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 Si(n,i.workspaceId,o.uploadId),e instanceof r?e:i.signal?.aborted?new r(`aborted`):new r(`invalid_input`)}}function*ci(e,t){for(let n=1;n<=e;n+=1)t.has(n)||(yield n)}async function li(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;hi(p,n),c?gi(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+=bi(t.byteLength,e.partNumber)}if(p.lifecycle===`ready`&&p.ready&&(_i(p.ready,n,t,i,f.requestId),u=yi(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 vi(c.lifecycle,l),Object.freeze({revision:c.revision,confirmedParts:a,confirmedByteLength:o,lifecycle:c.lifecycle,...u===void 0?{}:{readyResult:u}})}async function ui(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(!Ci(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;hi(s,n),vi(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 di(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`)_i(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(!Ci(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(hi(o,n),o.lifecycle!==`ready`||!o.ready)throw r;return _i(o.ready,n,t,i,a.requestId),yi(a,o.ready)}}async function fi(e,t,n,i){let a=Qr.create(),o=[],s=[];for(let c=0;c<n;c+=1){wi(i);let n=c*Q,l=Math.min(n+Q,t),u=xi(e,n,l,l-n),d;try{d=i?await K(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(Ti(Qr(f))),s.push(Ti(oi(f)))}return Object.freeze({callerDeclaredContentDigest:`sha256:${Vr(a.digest())}`,partChecksums:Object.freeze(o),partMd5s:Object.freeze(s)})}async function pi(e,t,n,i){let a=t.expiresAtEpochMilliseconds-Date.now();if(a<1)throw new r(`invalid_response`);let o=pn(i,Math.min(e.timeoutMilliseconds,a)),s;try{if(s=await K(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||!Ei(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 mi(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 hi(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 gi(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 _i(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 vi(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 yi(e,t){return Object.freeze({data:t,status:e.status,requestId:e.requestId,validators:e.validators})}function bi(e,t){return Math.min(Q,e-(t-1)*Q)}function xi(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 Si(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 Ci(e){return e instanceof r&&(e.code===`network_error`||e.code===`timeout`||e.code===`invalid_response`)}function wi(e){if(e?.aborted)throw new r(`aborted`)}function Ti(e){let t=``;for(let n of e)t+=String.fromCharCode(n);return btoa(t)}function Ei(e){return e!==null&&e.length>=1&&e.length<=1024&&/^[\x20-\x7e]+$/.test(e)}async function Di(e,t,n){let i=B(t,[`workspaceId`,`itemId`,`expectedVersionId`,`source`,`idempotencyKey`,`completionIdempotencyKey`],[`signal`,`onProgress`]),a=L({workspaceId:i.workspaceId,itemId:i.itemId,...i.signal===void 0?{}:{signal:i.signal}});if(!(i.source instanceof Blob)||typeof i.expectedVersionId!=`string`||!/^drive\.version\.[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/.test(i.expectedVersionId)||typeof i.idempotencyKey!=`string`||!/^[A-Za-z0-9_-]{16,128}$/.test(i.idempotencyKey)||typeof i.completionIdempotencyKey!=`string`||!/^[A-Za-z0-9_-]{16,128}$/.test(i.completionIdempotencyKey)||i.onProgress!==void 0&&typeof i.onProgress!=`function`)throw new r(`invalid_input`);let o=i.expectedVersionId,[s,c]=await Promise.all([n.getItem(a),n.getItemVersion({...a,versionId:o})]);if(s.data.type!==`file`||!s.data.parentId)throw new r(`invalid_input`);let l=i.source.slice(0,i.source.size,c.data.mediaType),u;try{return await si(e,{workspaceId:a.workspaceId,parentItemId:s.data.parentId,source:l,displayFilename:c.data.displayFilename,mediaType:c.data.mediaType,protectionClassification:c.data.protectionClassification,idempotencyKey:i.idempotencyKey,completionIdempotencyKey:i.completionIdempotencyKey,...a.signal===void 0?{}:{signal:a.signal},...i.onProgress===void 0?{}:{onProgress:i.onProgress}},{...n,async createUpload(e){let t=await n.createFileVersionUpload({...a,expectedVersionId:o,digest:e.callerDeclaredContentDigest,byteLength:l.size,idempotencyKey:e.idempotencyKey});return u=t.data.uploadId,t},async completeUpload(e){return n.commitFileVersion({...a,expectedVersionId:o,uploadId:e.uploadId,idempotencyKey:e.idempotencyKey})}})}catch(e){if(e instanceof r&&e.code===`precondition_failed`&&u)try{await n.abortUpload({workspaceId:a.workspaceId,uploadId:u,signal:AbortSignal.timeout(5e3)})}catch{}throw e}}function Oi(e){let t=dn(e),n=qn(t);return Object.freeze({...n,uploadFile:e=>si(t,e,n),uploadFileVersion:e=>Di(t,e,n)})}export{Oi as createDriveClient,jn as createDriveVisitorClient,Nn as createVisitorSessionToken};
|