diff --git a/README.md b/README.md index 1dfdbca..d3d8cb1 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ scopes todos per project. Run `wspc todo project ls` to discover ids. | `wspc drive bind --library [path]` | Bind an existing Drive library to a local folder. | | `wspc drive sync once [path]` | Run one manual whole-file Drive sync pass. | | `wspc drive watch [path]` | Keep a bound Drive folder in foreground watch mode. | +| `wspc drive search [id] --query [--path-prefix ]` | Search Drive text across the Workspace, or one library when `id` is given. | | `wspc config` | Inspect / clear local config. | Pass `--help` to any subcommand for flags, aliases, and examples. diff --git a/docs/superpowers/specs/2026-10-07-drive-search-workspace-scope-design.md b/docs/superpowers/specs/2026-10-07-drive-search-workspace-scope-design.md index eea706d..8bee31c 100644 --- a/docs/superpowers/specs/2026-10-07-drive-search-workspace-scope-design.md +++ b/docs/superpowers/specs/2026-10-07-drive-search-workspace-scope-design.md @@ -29,7 +29,7 @@ | `--query`、`--limit`、`--cursor` | 原樣送出;缺 `--query` 由 server 回 400,CLI 不做前置檢查。 | | 無命中 | 顯示 `no matches`,exit 0。 | | server 4xx | 沿用 `runSdkCommand` 的 `HTTP : {...}` 輸出,exit 1。 | -| `--help` | summary 與 description 取自沒有 positional 的 op(`drive_workspace_search`);argument 說明為 `library ID; omit to search every library in the Workspace`;flag 說明來自 spec 的 parameter description。 | +| `--help` | summary 與 description 取自沒有 positional 的 op(`drive_workspace_search`);argument 說明由 codegen 以 `; omit to ` 產生(本案為 `id; omit to search drive text across the Workspace`),避免在通用 codegen 寫死 drive 專屬文字;flag 說明來自 spec 的 parameter description。 | | `x-cb-drive` bookmark | 由既有 consistency fetch wrapper 依 response header 處理,不需新邏輯。 | ### codegen 成對 command 規則 diff --git a/spec/openapi.json b/spec/openapi.json index d95478f..281a7a3 100644 --- a/spec/openapi.json +++ b/spec/openapi.json @@ -3629,6 +3629,9 @@ "items": { "type": "object", "properties": { + "library_id": { + "type": "string" + }, "path": { "type": "string" }, @@ -3637,6 +3640,7 @@ } }, "required": [ + "library_id", "path", "snippet" ] @@ -36602,7 +36606,7 @@ "DriveFiles" ], "summary": "Search drive library text", - "description": "Search indexed text files by relevance, then file ID. Pass next_cursor as cursor with the same exact query and library; stop when next_cursor is absent. No TTL or snapshot. Index changes, including other libraries, can cause repeats or omissions. Invalid cursors return VALIDATION_ERROR; restart the search. Libraries that are missing, deleted or outside the Workspace return NOT_FOUND before cursor validation.", + "description": "Search indexed text files by substring, ordered by relevance, then file ID. Whitespace terms are ANDed. Each term needs at least 3 characters; a shorter term returns no results, so add context (日本旅遊, not 日本). path_prefix keeps only paths that start with that literal string; wildcards are not interpreted. Each result has library_id, path and snippet. Pass next_cursor as cursor with the same exact query, library scope and path_prefix; stop when next_cursor is absent. No TTL or snapshot. Index changes, including other libraries, can cause repeats or omissions. Invalid, mismatched or v1 cursors return VALIDATION_ERROR; restart the search. Libraries that are missing, deleted or outside the Workspace return NOT_FOUND before cursor validation.", "security": [ { "bearerAuth": [] @@ -36646,12 +36650,20 @@ { "schema": { "type": "string", - "description": "Opaque Search Cursor from next_cursor; reuse with the same query and library. No TTL." + "description": "Opaque Search Cursor from next_cursor; reuse with the same query, library and path_prefix. No TTL." }, "required": false, - "description": "Opaque Search Cursor from next_cursor; reuse with the same query and library. No TTL.", + "description": "Opaque Search Cursor from next_cursor; reuse with the same query, library and path_prefix. No TTL.", "name": "cursor", "in": "query" + }, + { + "schema": { + "type": "string" + }, + "required": false, + "name": "path_prefix", + "in": "query" } ], "x-cli": { @@ -36697,6 +36709,414 @@ "value": { "results": [ { + "library_id": "lib_01HW3K4N9V5G6Z8C2Q7B1Y0M3F", + "path": "notes/today.md", + "snippet": "the [quick] brown fox" + } + ], + "next_cursor": "" + } + }, + "last": { + "value": { + "results": [] + } + } + } + } + } + }, + "400": { + "description": "Request validation failed. The body, query, or path parameters did not match the operation's schema.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "examples": { + "validationError": { + "summary": "Body failed schema validation", + "value": { + "error": { + "code": "VALIDATION_ERROR", + "message": "title must not be empty" + } + } + } + } + } + } + }, + "401": { + "description": "Authentication is required but missing or invalid. The Bearer token (API key or OAuth access token) was absent, malformed, or rejected.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "examples": { + "authRequired": { + "summary": "Missing Authorization header", + "value": { + "error": { + "code": "AUTH_REQUIRED", + "message": "missing bearer token" + } + } + } + } + } + } + }, + "403": { + "description": "The caller is authenticated but not permitted to perform this operation on the target resource.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "examples": { + "forbidden": { + "summary": "Caller does not own the resource", + "value": { + "error": { + "code": "FORBIDDEN", + "message": "not allowed" + } + } + } + } + } + } + }, + "404": { + "description": "The target resource does not exist or is not visible to the caller. Soft-deleted resources are treated as not found unless an `include_deleted` flag is set.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "examples": { + "notFound": { + "summary": "Resource id is unknown to the service", + "value": { + "error": { + "code": "NOT_FOUND", + "message": "todo not found" + } + } + } + } + } + } + }, + "409": { + "description": "Optimistic-lock conflict. The supplied `expected_version` does not match the server's current version. Refetch the resource and retry.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "examples": { + "versionConflict": { + "summary": "expected_version does not match server version", + "value": { + "error": { + "code": "VERSION_CONFLICT", + "message": "expected_version 3 but current is 4" + } + } + } + } + } + } + }, + "429": { + "description": "Rate limit exceeded. Use the HTTP `Retry-After` header for machine-readable retry timing.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "examples": { + "rateLimited": { + "summary": "Per-key rate limit hit", + "value": { + "error": { + "code": "RATE_LIMITED", + "message": "Too many requests, please retry after 60 seconds." + } + } + } + } + } + } + }, + "500": { + "description": "Unhandled server error. The request was well-formed but the service failed unexpectedly. Safe to retry idempotent operations.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "error": { + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + } + }, + "required": [ + "code", + "message" + ] + } + }, + "required": [ + "error" + ] + }, + "examples": { + "internalError": { + "summary": "Unhandled exception", + "value": { + "error": { + "code": "INTERNAL_ERROR", + "message": "internal error" + } + } + } + } + } + } + } + } + } + }, + "/drive/search": { + "get": { + "operationId": "drive_workspace_search", + "tags": [ + "DriveFiles" + ], + "summary": "Search drive text across the Workspace", + "description": "Search indexed text files by substring, ordered by relevance, then file ID. Whitespace terms are ANDed. Each term needs at least 3 characters; a shorter term returns no results, so add context (日本旅遊, not 日本). path_prefix keeps only paths that start with that literal string; wildcards are not interpreted. Each result has library_id, path and snippet. Pass next_cursor as cursor with the same exact query, library scope and path_prefix; stop when next_cursor is absent. No TTL or snapshot. Index changes, including other libraries, can cause repeats or omissions. Invalid, mismatched or v1 cursors return VALIDATION_ERROR; restart the search. Searches every library in the Workspace except deleted libraries. A Workspace without libraries returns an empty page.", + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "name": "x-cb-drive", + "in": "header", + "required": false, + "description": "Optional opaque consistency bookmark returned by a previous drive response. Send it back unchanged to continue read-after-write consistency for drive D1 data.", + "schema": { + "type": "string" + }, + "example": "opaque-consistency-bookmark" + }, + { + "schema": { + "type": "string" + }, + "required": true, + "name": "query", + "in": "query" + }, + { + "schema": { + "type": "string" + }, + "required": false, + "name": "limit", + "in": "query" + }, + { + "schema": { + "type": "string", + "description": "Opaque Search Cursor from next_cursor; reuse with the same query, library and path_prefix. No TTL." + }, + "required": false, + "description": "Opaque Search Cursor from next_cursor; reuse with the same query, library and path_prefix. No TTL.", + "name": "cursor", + "in": "query" + }, + { + "schema": { + "type": "string" + }, + "required": false, + "name": "path_prefix", + "in": "query" + } + ], + "x-cli": { + "command": "drive search", + "display": { + "shape": "list", + "dataPath": "results", + "columns": [ + "library_id", + "path", + "snippet" + ], + "emptyMessage": "no matches" + } + }, + "x-codeSamples": [ + { + "lang": "shell", + "label": "curl", + "source": "curl \"https://api.wspc.ai/drive/search?query=quick&path_prefix=notes/\" -H \"Authorization: Bearer $WSPC_API_KEY\"" + } + ], + "responses": { + "200": { + "description": "Search results", + "headers": { + "x-cb-drive": { + "description": "Opaque consistency bookmark for the latest drive database position observed by this request. Store and send it on the next drive request to continue read-after-write consistency.", + "schema": { + "type": "string" + } + } + }, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/DriveSearchResponse" + }, + "examples": { + "hit": { + "value": { + "results": [ + { + "library_id": "lib_01HW3K4N9V5G6Z8C2Q7B1Y0M3F", "path": "notes/today.md", "snippet": "the [quick] brown fox" } diff --git a/src/generated/cli/drive/search.ts b/src/generated/cli/drive/search.ts index db40346..3b21a79 100644 --- a/src/generated/cli/drive/search.ts +++ b/src/generated/cli/drive/search.ts @@ -1,16 +1,32 @@ // AUTO-GENERATED — DO NOT EDIT (source: drive_search) import { Command } from "commander" -import { driveSearch } from "../../sdk/index.js" +import { driveSearch, driveWorkspaceSearch } from "../../sdk/index.js" import { runSdkCommand } from "../../../handwritten/commands/run-sdk-command.js" export const driveSearchCommand = new Command("search") - .description("Search drive library text") - .addHelpText("after", "\nSearch indexed text files by relevance, then file ID. Pass next_cursor as cursor with the same exact query and library; stop when next_cursor is absent. No TTL or snapshot. Index changes, including other libraries, can cause repeats or omissions. Invalid cursors return VALIDATION_ERROR; restart the search. Libraries that are missing, deleted or outside the Workspace return NOT_FOUND before cursor validation.\n") - .argument("", "id") + .description("Search drive text across the Workspace") + .addHelpText("after", "\nSearch indexed text files by substring, ordered by relevance, then file ID. Whitespace terms are ANDed. Each term needs at least 3 characters; a shorter term returns no results, so add context (日本旅遊, not 日本). path_prefix keeps only paths that start with that literal string; wildcards are not interpreted. Each result has library_id, path and snippet. Pass next_cursor as cursor with the same exact query, library scope and path_prefix; stop when next_cursor is absent. No TTL or snapshot. Index changes, including other libraries, can cause repeats or omissions. Invalid, mismatched or v1 cursors return VALIDATION_ERROR; restart the search. Searches every library in the Workspace except deleted libraries. A Workspace without libraries returns an empty page.\n") + .argument("[id]", "id; omit to search drive text across the Workspace") .option("--query ", "query") .option("--limit ", "limit") - .option("--cursor ", "Opaque Search Cursor from next_cursor; reuse with the same query and library. No TTL.") + .option("--cursor ", "Opaque Search Cursor from next_cursor; reuse with the same query, library and path_prefix. No TTL.") + .option("--path-prefix ", "path_prefix") .action(async (id, opts) => { + if (id === undefined) { + await runSdkCommand({ + operation: driveWorkspaceSearch, + input: { + query: { + query: opts.query, + limit: opts.limit, + cursor: opts.cursor, + path_prefix: opts.pathPrefix, + }, + }, + context: { kind: "drive_workspace_search", display: {"shape":"list","dataPath":"results","columns":["library_id","path","snippet"],"emptyMessage":"no matches"} }, + }) + return + } await runSdkCommand({ operation: driveSearch, input: { @@ -21,6 +37,7 @@ export const driveSearchCommand = new Command("search") query: opts.query, limit: opts.limit, cursor: opts.cursor, + path_prefix: opts.pathPrefix, }, }, context: { kind: "drive_search", display: {"shape":"list","dataPath":"results","columns":["path","snippet"],"emptyMessage":"no matches"} }, diff --git a/src/generated/sdk/index.ts b/src/generated/sdk/index.ts index 6e89da7..bb90acb 100644 --- a/src/generated/sdk/index.ts +++ b/src/generated/sdk/index.ts @@ -1,4 +1,4 @@ // This file is auto-generated by @hey-api/openapi-ts -export { accountDeletionCancel, accountDeletionGet, accountDeletionRequest, authMe, authRequestCode, authVerifyCode, billingCheckoutSessionsCreate, billingCustomDomainAddOnPreview, billingCustomDomainAddOnsChange, billingEmailUsageGet, billingEnforcementReadinessGet, billingEntitlementsGet, billingInboundProtectionGet, billingPaddleWebhookReceive, billingPortalSessionsCreate, billingPublicRolloutGet, billingStorageUsageGet, billingSubscriptionCancellationUpdate, billingSubscriptionDowngradePreview, billingSubscriptionDowngradesCreate, billingSubscriptionIntervalChangesCreate, billingSubscriptionIntervalPreviewsCreate, billingSubscriptionStateGet, billingSubscriptionUpgradePreviewsCreate, billingSubscriptionUpgradesCreate, calendarCreateSubscription, calendarDisableSubscription, calendarExport, calendarGetSubscription, calendarResetSubscription, driveExportCancel, driveExportCreate, driveExportDownload, driveExportGet, driveFileDelete, driveFileDownload, driveFileEdit, driveFileHistory, driveFileMove, driveFileRestore, driveFileRestoreDeleted, driveFileUpload, driveLibraryCreate, driveLibraryDelete, driveLibraryGet, driveLibraryList, driveLibraryUpdate, driveManifestGet, driveSearch, emailAliasCreate, emailAliasDelete, emailAliasList, emailAliasRestore, emailAliasTransfer, emailAttachmentGet, emailDelete, emailDomainCreate, emailDomainDelete, emailDomainGet, emailDomainList, emailDomainVerify, emailGet, emailList, emailMarkRead, emailMarkUnread, emailRestore, emailSend, emailSentDelete, emailSentGet, emailSentList, emailSentRestore, emailTrashEmpty, emailTrashSummary, eventAgenda, eventCreate, eventDelete, eventGet, eventIcsDownload, eventList, eventOccurrenceCancel, eventOccurrenceRestore, eventOccurrences, eventOccurrenceSet, eventRestore, eventUpdate, inviteAccept, inviteGet, inviteReject, invitesList, keyCreate, keyList, keyRevoke, keyUpdate, oauthAuthorizeGrant, oauthClientRegister, oauthDeviceAuthorize, oauthDeviceConfirm, oauthDeviceVerify, oauthMetadata, oauthMetadataOpenidAlias, oauthTokenExchange, oauthTokenRevoke, type Options, orgGet, orgInviteCreate, orgInviteRevoke, orgInvitesList, orgMemberRemove, orgMemberRoleUpdate, orgMembersList, orgUpdate, projectCreate, projectDelete, projectGet, projectList, projectRestore, projectUpdate, pushConfigDelete, pushConfigGet, pushConfigSet, pushTest, recurrenceRuleCreate, recurrenceRuleDelete, recurrenceRuleGet, recurrenceRuleList, recurrenceRuleUpdate, todoCommentCreate, todoCommentDelete, todoCommentList, todoCommentUpdate, todoCreate, todoDelete, todoExport, todoGet, todoList, todoRestore, todoTypeCreate, todoTypeDelete, todoTypeGet, todoTypeList, todoTypeRestore, todoTypeUpdate, todoUpdate } from './sdk.gen'; -export type { AccountDeletionCancelData, AccountDeletionCancelError, AccountDeletionCancelErrors, AccountDeletionCancelResponse, AccountDeletionCancelResponses, AccountDeletionGetData, AccountDeletionGetError, AccountDeletionGetErrors, AccountDeletionGetResponse, AccountDeletionGetResponses, AccountDeletionRequestData, AccountDeletionRequestError, AccountDeletionRequestErrors, AccountDeletionRequestResponse, AccountDeletionRequestResponses, Alias, ApplyDowngradeResult, ApplySubscriptionDowngradeInput, ApplySubscriptionIntervalInput, AuthMeData, AuthMeError, AuthMeErrors, AuthMeResponse, AuthMeResponses, AuthRequestCodeData, AuthRequestCodeError, AuthRequestCodeErrors, AuthRequestCodeResponse, AuthRequestCodeResponses, AuthVerifyCodeData, AuthVerifyCodeError, AuthVerifyCodeErrors, AuthVerifyCodeResponse, AuthVerifyCodeResponses, BatchIdsBody, BillingCheckoutSessionsCreateData, BillingCheckoutSessionsCreateError, BillingCheckoutSessionsCreateErrors, BillingCheckoutSessionsCreateResponse, BillingCheckoutSessionsCreateResponses, BillingCustomDomainAddOnPreviewData, BillingCustomDomainAddOnPreviewError, BillingCustomDomainAddOnPreviewErrors, BillingCustomDomainAddOnPreviewResponse, BillingCustomDomainAddOnPreviewResponses, BillingCustomDomainAddOnsChangeData, BillingCustomDomainAddOnsChangeError, BillingCustomDomainAddOnsChangeErrors, BillingCustomDomainAddOnsChangeResponse, BillingCustomDomainAddOnsChangeResponses, BillingEmailUsageGetData, BillingEmailUsageGetError, BillingEmailUsageGetErrors, BillingEmailUsageGetResponse, BillingEmailUsageGetResponses, BillingEnforcementReadinessGetData, BillingEnforcementReadinessGetError, BillingEnforcementReadinessGetErrors, BillingEnforcementReadinessGetResponse, BillingEnforcementReadinessGetResponses, BillingEntitlementsGetData, BillingEntitlementsGetError, BillingEntitlementsGetErrors, BillingEntitlementsGetResponse, BillingEntitlementsGetResponses, BillingInboundProtectionGetData, BillingInboundProtectionGetError, BillingInboundProtectionGetErrors, BillingInboundProtectionGetResponse, BillingInboundProtectionGetResponses, BillingPaddleWebhookReceiveData, BillingPaddleWebhookReceiveError, BillingPaddleWebhookReceiveErrors, BillingPaddleWebhookReceiveResponse, BillingPaddleWebhookReceiveResponses, BillingPortalSessionsCreateData, BillingPortalSessionsCreateError, BillingPortalSessionsCreateErrors, BillingPortalSessionsCreateResponse, BillingPortalSessionsCreateResponses, BillingPublicRolloutGetData, BillingPublicRolloutGetResponse, BillingPublicRolloutGetResponses, BillingStorageUsageGetData, BillingStorageUsageGetError, BillingStorageUsageGetErrors, BillingStorageUsageGetResponse, BillingStorageUsageGetResponses, BillingSubscriptionCancellationUpdateData, BillingSubscriptionCancellationUpdateError, BillingSubscriptionCancellationUpdateErrors, BillingSubscriptionCancellationUpdateResponse, BillingSubscriptionCancellationUpdateResponses, BillingSubscriptionDowngradePreviewData, BillingSubscriptionDowngradePreviewError, BillingSubscriptionDowngradePreviewErrors, BillingSubscriptionDowngradePreviewResponse, BillingSubscriptionDowngradePreviewResponses, BillingSubscriptionDowngradesCreateData, BillingSubscriptionDowngradesCreateError, BillingSubscriptionDowngradesCreateErrors, BillingSubscriptionDowngradesCreateResponse, BillingSubscriptionDowngradesCreateResponses, BillingSubscriptionIntervalChangesCreateData, BillingSubscriptionIntervalChangesCreateError, BillingSubscriptionIntervalChangesCreateErrors, BillingSubscriptionIntervalChangesCreateResponse, BillingSubscriptionIntervalChangesCreateResponses, BillingSubscriptionIntervalPreviewsCreateData, BillingSubscriptionIntervalPreviewsCreateError, BillingSubscriptionIntervalPreviewsCreateErrors, BillingSubscriptionIntervalPreviewsCreateResponse, BillingSubscriptionIntervalPreviewsCreateResponses, BillingSubscriptionStateGetData, BillingSubscriptionStateGetError, BillingSubscriptionStateGetErrors, BillingSubscriptionStateGetResponse, BillingSubscriptionStateGetResponses, BillingSubscriptionUpgradePreviewsCreateData, BillingSubscriptionUpgradePreviewsCreateError, BillingSubscriptionUpgradePreviewsCreateErrors, BillingSubscriptionUpgradePreviewsCreateResponse, BillingSubscriptionUpgradePreviewsCreateResponses, BillingSubscriptionUpgradesCreateData, BillingSubscriptionUpgradesCreateError, BillingSubscriptionUpgradesCreateErrors, BillingSubscriptionUpgradesCreateResponse, BillingSubscriptionUpgradesCreateResponses, CalendarCreateSubscriptionData, CalendarCreateSubscriptionError, CalendarCreateSubscriptionErrors, CalendarCreateSubscriptionResponse, CalendarCreateSubscriptionResponses, CalendarDisableSubscriptionData, CalendarDisableSubscriptionError, CalendarDisableSubscriptionErrors, CalendarDisableSubscriptionResponse, CalendarDisableSubscriptionResponses, CalendarExportData, CalendarExportError, CalendarExportErrors, CalendarExportResponse, CalendarExportResponses, CalendarGetSubscriptionData, CalendarGetSubscriptionError, CalendarGetSubscriptionErrors, CalendarGetSubscriptionResponse, CalendarGetSubscriptionResponses, CalendarResetSubscriptionData, CalendarResetSubscriptionError, CalendarResetSubscriptionErrors, CalendarResetSubscriptionResponse, CalendarResetSubscriptionResponses, CalendarSubscription, ChangeCustomDomainAddOnInput, CheckoutSessionResult, ClientOptions, Comment, CreateAliasBody, CreateApiKeyBody, CreateApiKeyResponse, CreateCommentBody, CreateDomainBody, CreateDriveLibraryBody, CreateEventBody, CreateOrgInviteInput, CreateProjectBody, CreateRecurrenceRuleBody, CreateRecurrenceRuleResponse, CreateTodoBody, CreateTodoTypeBody, CustomDomainAddOnPreviewResult, CustomDomainAddOnResult, CustomerPortalSessionInput, CustomerPortalSessionResult, DeleteBatchResponse, DeleteDriveFileBody, DeleteDriveFileResponse, DeleteDriveLibraryBody, DeleteEventResponse, DeleteRecurrenceRuleBody, DeleteRecurrenceRuleResponse, DeleteTodoBody, DeleteTodoResponse, DowngradePreviewResult, DriveExportCancelData, DriveExportCancelError, DriveExportCancelErrors, DriveExportCancelResponse, DriveExportCancelResponses, DriveExportCreateData, DriveExportCreateError, DriveExportCreateErrors, DriveExportCreateResponse, DriveExportCreateResponses, DriveExportDownloadData, DriveExportDownloadError, DriveExportDownloadErrors, DriveExportDownloadResponse, DriveExportDownloadResponses, DriveExportGetData, DriveExportGetError, DriveExportGetErrors, DriveExportGetResponse, DriveExportGetResponses, DriveFileDeleteData, DriveFileDeleteError, DriveFileDeleteErrors, DriveFileDeleteResponse, DriveFileDeleteResponses, DriveFileDownloadData, DriveFileDownloadError, DriveFileDownloadErrors, DriveFileDownloadResponse, DriveFileDownloadResponses, DriveFileEditData, DriveFileEditError, DriveFileEditErrors, DriveFileEditResponse, DriveFileEditResponses, DriveFileHistoryData, DriveFileHistoryError, DriveFileHistoryErrors, DriveFileHistoryResponse, DriveFileHistoryResponse2, DriveFileHistoryResponses, DriveFileMoveData, DriveFileMoveError, DriveFileMoveErrors, DriveFileMoveResponse, DriveFileMoveResponses, DriveFileRestoreData, DriveFileRestoreDeletedData, DriveFileRestoreDeletedError, DriveFileRestoreDeletedErrors, DriveFileRestoreDeletedResponse, DriveFileRestoreDeletedResponses, DriveFileRestoreError, DriveFileRestoreErrors, DriveFileRestoreResponse, DriveFileRestoreResponses, DriveFileUploadData, DriveFileUploadError, DriveFileUploadErrors, DriveFileUploadResponse, DriveFileUploadResponses, DriveLibrary, DriveLibraryCreateData, DriveLibraryCreateError, DriveLibraryCreateErrors, DriveLibraryCreateResponse, DriveLibraryCreateResponses, DriveLibraryDeleteData, DriveLibraryDeleteError, DriveLibraryDeleteErrors, DriveLibraryDeleteResponse, DriveLibraryDeleteResponses, DriveLibraryGetData, DriveLibraryGetError, DriveLibraryGetErrors, DriveLibraryGetResponse, DriveLibraryGetResponses, DriveLibraryListData, DriveLibraryListError, DriveLibraryListErrors, DriveLibraryListResponse, DriveLibraryListResponses, DriveLibraryUpdateData, DriveLibraryUpdateError, DriveLibraryUpdateErrors, DriveLibraryUpdateResponse, DriveLibraryUpdateResponses, DriveManifestGetData, DriveManifestGetError, DriveManifestGetErrors, DriveManifestGetResponse, DriveManifestGetResponses, DriveManifestResponse, DriveSearchData, DriveSearchError, DriveSearchErrors, DriveSearchResponse, DriveSearchResponse2, DriveSearchResponses, EditDriveFileBody, EffectiveEntitlements, EmailAliasCreateData, EmailAliasCreateError, EmailAliasCreateErrors, EmailAliasCreateResponse, EmailAliasCreateResponses, EmailAliasDeleteData, EmailAliasDeleteError, EmailAliasDeleteErrors, EmailAliasDeleteResponse, EmailAliasDeleteResponses, EmailAliasListData, EmailAliasListError, EmailAliasListErrors, EmailAliasListResponse, EmailAliasListResponses, EmailAliasRestoreData, EmailAliasRestoreError, EmailAliasRestoreErrors, EmailAliasRestoreResponse, EmailAliasRestoreResponses, EmailAliasTransferData, EmailAliasTransferError, EmailAliasTransferErrors, EmailAliasTransferResponse, EmailAliasTransferResponses, EmailAttachmentGetData, EmailAttachmentGetError, EmailAttachmentGetErrors, EmailAttachmentGetResponse, EmailAttachmentGetResponses, EmailDeleteData, EmailDeleteError, EmailDeleteErrors, EmailDeleteResponse, EmailDeleteResponses, EmailDomainCreateData, EmailDomainCreateError, EmailDomainCreateErrors, EmailDomainCreateResponse, EmailDomainCreateResponses, EmailDomainDeleteData, EmailDomainDeleteError, EmailDomainDeleteErrors, EmailDomainDeleteResponse, EmailDomainDeleteResponses, EmailDomainGetData, EmailDomainGetError, EmailDomainGetErrors, EmailDomainGetResponse, EmailDomainGetResponses, EmailDomainListData, EmailDomainListError, EmailDomainListErrors, EmailDomainListResponse, EmailDomainListResponse2, EmailDomainListResponses, EmailDomainObjectResponse, EmailDomainVerifyData, EmailDomainVerifyError, EmailDomainVerifyErrors, EmailDomainVerifyResponse, EmailDomainVerifyResponses, EmailGetData, EmailGetError, EmailGetErrors, EmailGetResponse, EmailGetResponses, EmailListData, EmailListError, EmailListErrors, EmailListResponse, EmailListResponses, EmailMarkReadData, EmailMarkReadError, EmailMarkReadErrors, EmailMarkReadResponse, EmailMarkReadResponses, EmailMarkUnreadData, EmailMarkUnreadError, EmailMarkUnreadErrors, EmailMarkUnreadResponse, EmailMarkUnreadResponses, EmailRestoreData, EmailRestoreError, EmailRestoreErrors, EmailRestoreResponse, EmailRestoreResponses, EmailSendData, EmailSendError, EmailSendErrors, EmailSendResponse, EmailSendResponses, EmailSentDeleteData, EmailSentDeleteError, EmailSentDeleteErrors, EmailSentDeleteResponse, EmailSentDeleteResponses, EmailSentGetData, EmailSentGetError, EmailSentGetErrors, EmailSentGetResponse, EmailSentGetResponses, EmailSentListData, EmailSentListError, EmailSentListErrors, EmailSentListResponse, EmailSentListResponses, EmailSentRestoreData, EmailSentRestoreError, EmailSentRestoreErrors, EmailSentRestoreResponse, EmailSentRestoreResponses, EmailTrashEmptyData, EmailTrashEmptyError, EmailTrashEmptyErrors, EmailTrashEmptyResponse, EmailTrashEmptyResponses, EmailTrashSummaryData, EmailTrashSummaryError, EmailTrashSummaryErrors, EmailTrashSummaryResponse, EmailTrashSummaryResponses, EmailUsage, EnforcementReadiness, Event, EventAgendaData, EventAgendaError, EventAgendaErrors, EventAgendaResponse, EventAgendaResponses, EventCreateData, EventCreateError, EventCreateErrors, EventCreateResponse, EventCreateResponses, EventDeleteData, EventDeleteError, EventDeleteErrors, EventDeleteResponse, EventDeleteResponses, EventGetData, EventGetError, EventGetErrors, EventGetResponse, EventGetResponses, EventIcsDownloadData, EventIcsDownloadError, EventIcsDownloadErrors, EventIcsDownloadResponse, EventIcsDownloadResponses, EventListData, EventListError, EventListErrors, EventListResponse, EventListResponses, EventOccurrence, EventOccurrenceCancelData, EventOccurrenceCancelError, EventOccurrenceCancelErrors, EventOccurrenceCancelResponse, EventOccurrenceCancelResponses, EventOccurrenceRestoreData, EventOccurrenceRestoreError, EventOccurrenceRestoreErrors, EventOccurrenceRestoreResponse, EventOccurrenceRestoreResponses, EventOccurrencesData, EventOccurrencesError, EventOccurrencesErrors, EventOccurrenceSetData, EventOccurrenceSetError, EventOccurrenceSetErrors, EventOccurrenceSetResponse, EventOccurrenceSetResponses, EventOccurrencesResponse, EventOccurrencesResponses, EventRestoreData, EventRestoreError, EventRestoreErrors, EventRestoreResponse, EventRestoreResponses, EventUpdateData, EventUpdateError, EventUpdateErrors, EventUpdateResponse, EventUpdateResponses, GetMeResponse, InboundProtection, InviteAcceptData, InviteAcceptError, InviteAcceptErrors, InviteAcceptResponse, InviteAcceptResponses, InviteGetData, InviteGetError, InviteGetErrors, InviteGetResponse, InviteGetResponses, InviteRejectData, InviteRejectError, InviteRejectErrors, InviteRejectResponse, InviteRejectResponses, InvitesListData, InvitesListError, InvitesListErrors, InvitesListResponse, InvitesListResponses, KeyCreateData, KeyCreateError, KeyCreateErrors, KeyCreateResponse, KeyCreateResponses, KeyListData, KeyListError, KeyListErrors, KeyListResponse, KeyListResponses, KeyRevokeData, KeyRevokeError, KeyRevokeErrors, KeyRevokeResponse, KeyRevokeResponses, KeyUpdateData, KeyUpdateError, KeyUpdateErrors, KeyUpdateResponse, KeyUpdateResponses, ListAgendaResponse, ListApiKeysResponse, ListDriveLibrariesResponse, ListEventOccurrencesResponse, ListEventsResponse, ListMyInvitesResponse, ListOrgInvitesResponse, ListOrgMembersResponse, ListRecurrenceRulesResponse, ListTodosResponse, MarkBatchResponse, MoveDriveFileBody, MoveDriveFileResponse, OauthAuthorizeGrantData, OauthAuthorizeGrantError, OauthAuthorizeGrantErrors, OauthAuthorizeGrantResponse, OauthAuthorizeGrantResponses, OAuthAuthServerMetadata, OauthClientRegisterData, OauthClientRegisterError, OauthClientRegisterErrors, OauthClientRegisterResponse, OauthClientRegisterResponses, OauthDeviceAuthorizeData, OauthDeviceAuthorizeError, OauthDeviceAuthorizeErrors, OauthDeviceAuthorizeResponse, OauthDeviceAuthorizeResponses, OAuthDeviceBody, OauthDeviceConfirmData, OauthDeviceConfirmError, OauthDeviceConfirmErrors, OauthDeviceConfirmResponse, OauthDeviceConfirmResponses, OAuthDeviceResponse, OauthDeviceVerifyData, OauthDeviceVerifyError, OauthDeviceVerifyErrors, OauthDeviceVerifyResponse, OauthDeviceVerifyResponses, OauthMetadataData, OauthMetadataError, OauthMetadataErrors, OauthMetadataOpenidAliasData, OauthMetadataOpenidAliasError, OauthMetadataOpenidAliasErrors, OauthMetadataOpenidAliasResponse, OauthMetadataOpenidAliasResponses, OauthMetadataResponse, OauthMetadataResponses, OAuthRegisterBody, OAuthRegisterResponse, OAuthRevokeBody, OAuthTokenBody, OauthTokenExchangeData, OauthTokenExchangeError, OauthTokenExchangeErrors, OauthTokenExchangeResponse, OauthTokenExchangeResponses, OAuthTokenResponse, OauthTokenRevokeData, OauthTokenRevokeError, OauthTokenRevokeErrors, OauthTokenRevokeResponse, OauthTokenRevokeResponses, OccurrenceVersionBody, Org, OrgGetData, OrgGetError, OrgGetErrors, OrgGetResponse, OrgGetResponses, OrgInviteCreateData, OrgInviteCreateError, OrgInviteCreateErrors, OrgInviteCreateResponse, OrgInviteCreateResponses, OrgInviteRevokeData, OrgInviteRevokeError, OrgInviteRevokeErrors, OrgInviteRevokeResponse, OrgInviteRevokeResponses, OrgInvitesListData, OrgInvitesListError, OrgInvitesListErrors, OrgInvitesListResponse, OrgInvitesListResponses, OrgInviteSummary, OrgInviteView, OrgMember, OrgMemberRemoveData, OrgMemberRemoveError, OrgMemberRemoveErrors, OrgMemberRemoveResponse, OrgMemberRemoveResponses, OrgMemberRoleUpdateData, OrgMemberRoleUpdateError, OrgMemberRoleUpdateErrors, OrgMemberRoleUpdateResponse, OrgMemberRoleUpdateResponses, OrgMembersListData, OrgMembersListError, OrgMembersListErrors, OrgMembersListResponse, OrgMembersListResponses, OrgUpdateData, OrgUpdateError, OrgUpdateErrors, OrgUpdateResponse, OrgUpdateResponses, PaddleWebhookResult, PreviewCustomDomainAddOnInput, PreviewSubscriptionDowngradeInput, PreviewSubscriptionIntervalInput, PreviewSubscriptionUpgradeInput, Project, ProjectCreateData, ProjectCreateError, ProjectCreateErrors, ProjectCreateResponse, ProjectCreateResponses, ProjectDeleteData, ProjectDeleteError, ProjectDeleteErrors, ProjectDeleteResponse, ProjectDeleteResponses, ProjectGetData, ProjectGetError, ProjectGetErrors, ProjectGetResponse, ProjectGetResponses, ProjectListData, ProjectListError, ProjectListErrors, ProjectListResponse, ProjectListResponses, ProjectRestoreData, ProjectRestoreError, ProjectRestoreErrors, ProjectRestoreResponse, ProjectRestoreResponses, ProjectUpdateData, ProjectUpdateError, ProjectUpdateErrors, ProjectUpdateResponse, ProjectUpdateResponses, PushConfigDeleteData, PushConfigDeleteError, PushConfigDeleteErrors, PushConfigDeleteResponse, PushConfigDeleteResponses, PushConfigGetData, PushConfigGetError, PushConfigGetErrors, PushConfigGetResponse, PushConfigGetResponses, PushConfigSetData, PushConfigSetError, PushConfigSetErrors, PushConfigSetResponse, PushConfigSetResponses, PushTestData, PushTestError, PushTestErrors, PushTestResponse, PushTestResponses, ReceivedEmailDetail, RecurrenceRule, RecurrenceRuleCreateData, RecurrenceRuleCreateError, RecurrenceRuleCreateErrors, RecurrenceRuleCreateResponse, RecurrenceRuleCreateResponses, RecurrenceRuleDeleteData, RecurrenceRuleDeleteError, RecurrenceRuleDeleteErrors, RecurrenceRuleDeleteResponse, RecurrenceRuleDeleteResponses, RecurrenceRuleDetail, RecurrenceRuleGetData, RecurrenceRuleGetError, RecurrenceRuleGetErrors, RecurrenceRuleGetResponse, RecurrenceRuleGetResponses, RecurrenceRuleListData, RecurrenceRuleListError, RecurrenceRuleListErrors, RecurrenceRuleListResponse, RecurrenceRuleListResponses, RecurrenceRuleUpdateData, RecurrenceRuleUpdateError, RecurrenceRuleUpdateErrors, RecurrenceRuleUpdateResponse, RecurrenceRuleUpdateResponses, RequestCodeBody, RequestCodeResponse, RestoreBatchResponse, RestoreDriveFileBody, RestoreDriveFileResponse, RestoreTodoBody, RestoreTodoResponse, RevokeApiKeyResponse, SendEmailBody, SendEmailResponse, SentEmailDetail, SetPushConfigBody, ShowPushConfigResponse, StartInitialCheckoutInput, StartSubscriptionUpgradeInput, StorageUsage, SubscriptionCancellationResult, SubscriptionState, TestPushBody, TestPushResponse, Todo, TodoCommentCreateData, TodoCommentCreateError, TodoCommentCreateErrors, TodoCommentCreateResponse, TodoCommentCreateResponses, TodoCommentDeleteData, TodoCommentDeleteError, TodoCommentDeleteErrors, TodoCommentDeleteResponse, TodoCommentDeleteResponses, TodoCommentListData, TodoCommentListError, TodoCommentListErrors, TodoCommentListResponse, TodoCommentListResponses, TodoCommentUpdateData, TodoCommentUpdateError, TodoCommentUpdateErrors, TodoCommentUpdateResponse, TodoCommentUpdateResponses, TodoCreateData, TodoCreateError, TodoCreateErrors, TodoCreateResponse, TodoCreateResponses, TodoDeleteData, TodoDeleteError, TodoDeleteErrors, TodoDeleteResponse, TodoDeleteResponses, TodoExportData, TodoExportDocument, TodoExportError, TodoExportErrors, TodoExportResponse, TodoExportResponses, TodoGetData, TodoGetError, TodoGetErrors, TodoGetResponse, TodoGetResponses, TodoListData, TodoListError, TodoListErrors, TodoListResponse, TodoListResponses, TodoRestoreData, TodoRestoreError, TodoRestoreErrors, TodoRestoreResponse, TodoRestoreResponses, TodoType, TodoTypeCreateData, TodoTypeCreateError, TodoTypeCreateErrors, TodoTypeCreateResponse, TodoTypeCreateResponses, TodoTypeDeleteData, TodoTypeDeleteError, TodoTypeDeleteErrors, TodoTypeDeleteResponse, TodoTypeDeleteResponses, TodoTypeGetData, TodoTypeGetError, TodoTypeGetErrors, TodoTypeGetResponse, TodoTypeGetResponses, TodoTypeListData, TodoTypeListError, TodoTypeListErrors, TodoTypeListResponse, TodoTypeListResponses, TodoTypeRestoreData, TodoTypeRestoreError, TodoTypeRestoreErrors, TodoTypeRestoreResponse, TodoTypeRestoreResponses, TodoTypeUpdateData, TodoTypeUpdateError, TodoTypeUpdateErrors, TodoTypeUpdateResponse, TodoTypeUpdateResponses, TodoUpdateData, TodoUpdateError, TodoUpdateErrors, TodoUpdateResponse, TodoUpdateResponses, TodoWithRelations, TransferAliasBody, UpdateApiKeyBody, UpdateApiKeyResponse, UpdateCommentBody, UpdateDriveLibraryBody, UpdateEventBody, UpdateOccurrenceBody, UpdateOrgInput, UpdateOrgMemberRole, UpdateProjectBody, UpdateRecurrenceRuleBody, UpdateTodoBody, UpdateTodoTypeBody, UpgradePreviewResult, UpgradeSubscriptionResult, UploadDriveFileResponse, VerifyCodeBody, VerifyCodeResponse, VersionBody } from './types.gen'; +export { accountDeletionCancel, accountDeletionGet, accountDeletionRequest, authMe, authRequestCode, authVerifyCode, billingCheckoutSessionsCreate, billingCustomDomainAddOnPreview, billingCustomDomainAddOnsChange, billingEmailUsageGet, billingEnforcementReadinessGet, billingEntitlementsGet, billingInboundProtectionGet, billingPaddleWebhookReceive, billingPortalSessionsCreate, billingPublicRolloutGet, billingStorageUsageGet, billingSubscriptionCancellationUpdate, billingSubscriptionDowngradePreview, billingSubscriptionDowngradesCreate, billingSubscriptionIntervalChangesCreate, billingSubscriptionIntervalPreviewsCreate, billingSubscriptionStateGet, billingSubscriptionUpgradePreviewsCreate, billingSubscriptionUpgradesCreate, calendarCreateSubscription, calendarDisableSubscription, calendarExport, calendarGetSubscription, calendarResetSubscription, driveExportCancel, driveExportCreate, driveExportDownload, driveExportGet, driveFileDelete, driveFileDownload, driveFileEdit, driveFileHistory, driveFileMove, driveFileRestore, driveFileRestoreDeleted, driveFileUpload, driveLibraryCreate, driveLibraryDelete, driveLibraryGet, driveLibraryList, driveLibraryUpdate, driveManifestGet, driveSearch, driveWorkspaceSearch, emailAliasCreate, emailAliasDelete, emailAliasList, emailAliasRestore, emailAliasTransfer, emailAttachmentGet, emailDelete, emailDomainCreate, emailDomainDelete, emailDomainGet, emailDomainList, emailDomainVerify, emailGet, emailList, emailMarkRead, emailMarkUnread, emailRestore, emailSend, emailSentDelete, emailSentGet, emailSentList, emailSentRestore, emailTrashEmpty, emailTrashSummary, eventAgenda, eventCreate, eventDelete, eventGet, eventIcsDownload, eventList, eventOccurrenceCancel, eventOccurrenceRestore, eventOccurrences, eventOccurrenceSet, eventRestore, eventUpdate, inviteAccept, inviteGet, inviteReject, invitesList, keyCreate, keyList, keyRevoke, keyUpdate, oauthAuthorizeGrant, oauthClientRegister, oauthDeviceAuthorize, oauthDeviceConfirm, oauthDeviceVerify, oauthMetadata, oauthMetadataOpenidAlias, oauthTokenExchange, oauthTokenRevoke, type Options, orgGet, orgInviteCreate, orgInviteRevoke, orgInvitesList, orgMemberRemove, orgMemberRoleUpdate, orgMembersList, orgUpdate, projectCreate, projectDelete, projectGet, projectList, projectRestore, projectUpdate, pushConfigDelete, pushConfigGet, pushConfigSet, pushTest, recurrenceRuleCreate, recurrenceRuleDelete, recurrenceRuleGet, recurrenceRuleList, recurrenceRuleUpdate, todoCommentCreate, todoCommentDelete, todoCommentList, todoCommentUpdate, todoCreate, todoDelete, todoExport, todoGet, todoList, todoRestore, todoTypeCreate, todoTypeDelete, todoTypeGet, todoTypeList, todoTypeRestore, todoTypeUpdate, todoUpdate } from './sdk.gen'; +export type { AccountDeletionCancelData, AccountDeletionCancelError, AccountDeletionCancelErrors, AccountDeletionCancelResponse, AccountDeletionCancelResponses, AccountDeletionGetData, AccountDeletionGetError, AccountDeletionGetErrors, AccountDeletionGetResponse, AccountDeletionGetResponses, AccountDeletionRequestData, AccountDeletionRequestError, AccountDeletionRequestErrors, AccountDeletionRequestResponse, AccountDeletionRequestResponses, Alias, ApplyDowngradeResult, ApplySubscriptionDowngradeInput, ApplySubscriptionIntervalInput, AuthMeData, AuthMeError, AuthMeErrors, AuthMeResponse, AuthMeResponses, AuthRequestCodeData, AuthRequestCodeError, AuthRequestCodeErrors, AuthRequestCodeResponse, AuthRequestCodeResponses, AuthVerifyCodeData, AuthVerifyCodeError, AuthVerifyCodeErrors, AuthVerifyCodeResponse, AuthVerifyCodeResponses, BatchIdsBody, BillingCheckoutSessionsCreateData, BillingCheckoutSessionsCreateError, BillingCheckoutSessionsCreateErrors, BillingCheckoutSessionsCreateResponse, BillingCheckoutSessionsCreateResponses, BillingCustomDomainAddOnPreviewData, BillingCustomDomainAddOnPreviewError, BillingCustomDomainAddOnPreviewErrors, BillingCustomDomainAddOnPreviewResponse, BillingCustomDomainAddOnPreviewResponses, BillingCustomDomainAddOnsChangeData, BillingCustomDomainAddOnsChangeError, BillingCustomDomainAddOnsChangeErrors, BillingCustomDomainAddOnsChangeResponse, BillingCustomDomainAddOnsChangeResponses, BillingEmailUsageGetData, BillingEmailUsageGetError, BillingEmailUsageGetErrors, BillingEmailUsageGetResponse, BillingEmailUsageGetResponses, BillingEnforcementReadinessGetData, BillingEnforcementReadinessGetError, BillingEnforcementReadinessGetErrors, BillingEnforcementReadinessGetResponse, BillingEnforcementReadinessGetResponses, BillingEntitlementsGetData, BillingEntitlementsGetError, BillingEntitlementsGetErrors, BillingEntitlementsGetResponse, BillingEntitlementsGetResponses, BillingInboundProtectionGetData, BillingInboundProtectionGetError, BillingInboundProtectionGetErrors, BillingInboundProtectionGetResponse, BillingInboundProtectionGetResponses, BillingPaddleWebhookReceiveData, BillingPaddleWebhookReceiveError, BillingPaddleWebhookReceiveErrors, BillingPaddleWebhookReceiveResponse, BillingPaddleWebhookReceiveResponses, BillingPortalSessionsCreateData, BillingPortalSessionsCreateError, BillingPortalSessionsCreateErrors, BillingPortalSessionsCreateResponse, BillingPortalSessionsCreateResponses, BillingPublicRolloutGetData, BillingPublicRolloutGetResponse, BillingPublicRolloutGetResponses, BillingStorageUsageGetData, BillingStorageUsageGetError, BillingStorageUsageGetErrors, BillingStorageUsageGetResponse, BillingStorageUsageGetResponses, BillingSubscriptionCancellationUpdateData, BillingSubscriptionCancellationUpdateError, BillingSubscriptionCancellationUpdateErrors, BillingSubscriptionCancellationUpdateResponse, BillingSubscriptionCancellationUpdateResponses, BillingSubscriptionDowngradePreviewData, BillingSubscriptionDowngradePreviewError, BillingSubscriptionDowngradePreviewErrors, BillingSubscriptionDowngradePreviewResponse, BillingSubscriptionDowngradePreviewResponses, BillingSubscriptionDowngradesCreateData, BillingSubscriptionDowngradesCreateError, BillingSubscriptionDowngradesCreateErrors, BillingSubscriptionDowngradesCreateResponse, BillingSubscriptionDowngradesCreateResponses, BillingSubscriptionIntervalChangesCreateData, BillingSubscriptionIntervalChangesCreateError, BillingSubscriptionIntervalChangesCreateErrors, BillingSubscriptionIntervalChangesCreateResponse, BillingSubscriptionIntervalChangesCreateResponses, BillingSubscriptionIntervalPreviewsCreateData, BillingSubscriptionIntervalPreviewsCreateError, BillingSubscriptionIntervalPreviewsCreateErrors, BillingSubscriptionIntervalPreviewsCreateResponse, BillingSubscriptionIntervalPreviewsCreateResponses, BillingSubscriptionStateGetData, BillingSubscriptionStateGetError, BillingSubscriptionStateGetErrors, BillingSubscriptionStateGetResponse, BillingSubscriptionStateGetResponses, BillingSubscriptionUpgradePreviewsCreateData, BillingSubscriptionUpgradePreviewsCreateError, BillingSubscriptionUpgradePreviewsCreateErrors, BillingSubscriptionUpgradePreviewsCreateResponse, BillingSubscriptionUpgradePreviewsCreateResponses, BillingSubscriptionUpgradesCreateData, BillingSubscriptionUpgradesCreateError, BillingSubscriptionUpgradesCreateErrors, BillingSubscriptionUpgradesCreateResponse, BillingSubscriptionUpgradesCreateResponses, CalendarCreateSubscriptionData, CalendarCreateSubscriptionError, CalendarCreateSubscriptionErrors, CalendarCreateSubscriptionResponse, CalendarCreateSubscriptionResponses, CalendarDisableSubscriptionData, CalendarDisableSubscriptionError, CalendarDisableSubscriptionErrors, CalendarDisableSubscriptionResponse, CalendarDisableSubscriptionResponses, CalendarExportData, CalendarExportError, CalendarExportErrors, CalendarExportResponse, CalendarExportResponses, CalendarGetSubscriptionData, CalendarGetSubscriptionError, CalendarGetSubscriptionErrors, CalendarGetSubscriptionResponse, CalendarGetSubscriptionResponses, CalendarResetSubscriptionData, CalendarResetSubscriptionError, CalendarResetSubscriptionErrors, CalendarResetSubscriptionResponse, CalendarResetSubscriptionResponses, CalendarSubscription, ChangeCustomDomainAddOnInput, CheckoutSessionResult, ClientOptions, Comment, CreateAliasBody, CreateApiKeyBody, CreateApiKeyResponse, CreateCommentBody, CreateDomainBody, CreateDriveLibraryBody, CreateEventBody, CreateOrgInviteInput, CreateProjectBody, CreateRecurrenceRuleBody, CreateRecurrenceRuleResponse, CreateTodoBody, CreateTodoTypeBody, CustomDomainAddOnPreviewResult, CustomDomainAddOnResult, CustomerPortalSessionInput, CustomerPortalSessionResult, DeleteBatchResponse, DeleteDriveFileBody, DeleteDriveFileResponse, DeleteDriveLibraryBody, DeleteEventResponse, DeleteRecurrenceRuleBody, DeleteRecurrenceRuleResponse, DeleteTodoBody, DeleteTodoResponse, DowngradePreviewResult, DriveExportCancelData, DriveExportCancelError, DriveExportCancelErrors, DriveExportCancelResponse, DriveExportCancelResponses, DriveExportCreateData, DriveExportCreateError, DriveExportCreateErrors, DriveExportCreateResponse, DriveExportCreateResponses, DriveExportDownloadData, DriveExportDownloadError, DriveExportDownloadErrors, DriveExportDownloadResponse, DriveExportDownloadResponses, DriveExportGetData, DriveExportGetError, DriveExportGetErrors, DriveExportGetResponse, DriveExportGetResponses, DriveFileDeleteData, DriveFileDeleteError, DriveFileDeleteErrors, DriveFileDeleteResponse, DriveFileDeleteResponses, DriveFileDownloadData, DriveFileDownloadError, DriveFileDownloadErrors, DriveFileDownloadResponse, DriveFileDownloadResponses, DriveFileEditData, DriveFileEditError, DriveFileEditErrors, DriveFileEditResponse, DriveFileEditResponses, DriveFileHistoryData, DriveFileHistoryError, DriveFileHistoryErrors, DriveFileHistoryResponse, DriveFileHistoryResponse2, DriveFileHistoryResponses, DriveFileMoveData, DriveFileMoveError, DriveFileMoveErrors, DriveFileMoveResponse, DriveFileMoveResponses, DriveFileRestoreData, DriveFileRestoreDeletedData, DriveFileRestoreDeletedError, DriveFileRestoreDeletedErrors, DriveFileRestoreDeletedResponse, DriveFileRestoreDeletedResponses, DriveFileRestoreError, DriveFileRestoreErrors, DriveFileRestoreResponse, DriveFileRestoreResponses, DriveFileUploadData, DriveFileUploadError, DriveFileUploadErrors, DriveFileUploadResponse, DriveFileUploadResponses, DriveLibrary, DriveLibraryCreateData, DriveLibraryCreateError, DriveLibraryCreateErrors, DriveLibraryCreateResponse, DriveLibraryCreateResponses, DriveLibraryDeleteData, DriveLibraryDeleteError, DriveLibraryDeleteErrors, DriveLibraryDeleteResponse, DriveLibraryDeleteResponses, DriveLibraryGetData, DriveLibraryGetError, DriveLibraryGetErrors, DriveLibraryGetResponse, DriveLibraryGetResponses, DriveLibraryListData, DriveLibraryListError, DriveLibraryListErrors, DriveLibraryListResponse, DriveLibraryListResponses, DriveLibraryUpdateData, DriveLibraryUpdateError, DriveLibraryUpdateErrors, DriveLibraryUpdateResponse, DriveLibraryUpdateResponses, DriveManifestGetData, DriveManifestGetError, DriveManifestGetErrors, DriveManifestGetResponse, DriveManifestGetResponses, DriveManifestResponse, DriveSearchData, DriveSearchError, DriveSearchErrors, DriveSearchResponse, DriveSearchResponse2, DriveSearchResponses, DriveWorkspaceSearchData, DriveWorkspaceSearchError, DriveWorkspaceSearchErrors, DriveWorkspaceSearchResponse, DriveWorkspaceSearchResponses, EditDriveFileBody, EffectiveEntitlements, EmailAliasCreateData, EmailAliasCreateError, EmailAliasCreateErrors, EmailAliasCreateResponse, EmailAliasCreateResponses, EmailAliasDeleteData, EmailAliasDeleteError, EmailAliasDeleteErrors, EmailAliasDeleteResponse, EmailAliasDeleteResponses, EmailAliasListData, EmailAliasListError, EmailAliasListErrors, EmailAliasListResponse, EmailAliasListResponses, EmailAliasRestoreData, EmailAliasRestoreError, EmailAliasRestoreErrors, EmailAliasRestoreResponse, EmailAliasRestoreResponses, EmailAliasTransferData, EmailAliasTransferError, EmailAliasTransferErrors, EmailAliasTransferResponse, EmailAliasTransferResponses, EmailAttachmentGetData, EmailAttachmentGetError, EmailAttachmentGetErrors, EmailAttachmentGetResponse, EmailAttachmentGetResponses, EmailDeleteData, EmailDeleteError, EmailDeleteErrors, EmailDeleteResponse, EmailDeleteResponses, EmailDomainCreateData, EmailDomainCreateError, EmailDomainCreateErrors, EmailDomainCreateResponse, EmailDomainCreateResponses, EmailDomainDeleteData, EmailDomainDeleteError, EmailDomainDeleteErrors, EmailDomainDeleteResponse, EmailDomainDeleteResponses, EmailDomainGetData, EmailDomainGetError, EmailDomainGetErrors, EmailDomainGetResponse, EmailDomainGetResponses, EmailDomainListData, EmailDomainListError, EmailDomainListErrors, EmailDomainListResponse, EmailDomainListResponse2, EmailDomainListResponses, EmailDomainObjectResponse, EmailDomainVerifyData, EmailDomainVerifyError, EmailDomainVerifyErrors, EmailDomainVerifyResponse, EmailDomainVerifyResponses, EmailGetData, EmailGetError, EmailGetErrors, EmailGetResponse, EmailGetResponses, EmailListData, EmailListError, EmailListErrors, EmailListResponse, EmailListResponses, EmailMarkReadData, EmailMarkReadError, EmailMarkReadErrors, EmailMarkReadResponse, EmailMarkReadResponses, EmailMarkUnreadData, EmailMarkUnreadError, EmailMarkUnreadErrors, EmailMarkUnreadResponse, EmailMarkUnreadResponses, EmailRestoreData, EmailRestoreError, EmailRestoreErrors, EmailRestoreResponse, EmailRestoreResponses, EmailSendData, EmailSendError, EmailSendErrors, EmailSendResponse, EmailSendResponses, EmailSentDeleteData, EmailSentDeleteError, EmailSentDeleteErrors, EmailSentDeleteResponse, EmailSentDeleteResponses, EmailSentGetData, EmailSentGetError, EmailSentGetErrors, EmailSentGetResponse, EmailSentGetResponses, EmailSentListData, EmailSentListError, EmailSentListErrors, EmailSentListResponse, EmailSentListResponses, EmailSentRestoreData, EmailSentRestoreError, EmailSentRestoreErrors, EmailSentRestoreResponse, EmailSentRestoreResponses, EmailTrashEmptyData, EmailTrashEmptyError, EmailTrashEmptyErrors, EmailTrashEmptyResponse, EmailTrashEmptyResponses, EmailTrashSummaryData, EmailTrashSummaryError, EmailTrashSummaryErrors, EmailTrashSummaryResponse, EmailTrashSummaryResponses, EmailUsage, EnforcementReadiness, Event, EventAgendaData, EventAgendaError, EventAgendaErrors, EventAgendaResponse, EventAgendaResponses, EventCreateData, EventCreateError, EventCreateErrors, EventCreateResponse, EventCreateResponses, EventDeleteData, EventDeleteError, EventDeleteErrors, EventDeleteResponse, EventDeleteResponses, EventGetData, EventGetError, EventGetErrors, EventGetResponse, EventGetResponses, EventIcsDownloadData, EventIcsDownloadError, EventIcsDownloadErrors, EventIcsDownloadResponse, EventIcsDownloadResponses, EventListData, EventListError, EventListErrors, EventListResponse, EventListResponses, EventOccurrence, EventOccurrenceCancelData, EventOccurrenceCancelError, EventOccurrenceCancelErrors, EventOccurrenceCancelResponse, EventOccurrenceCancelResponses, EventOccurrenceRestoreData, EventOccurrenceRestoreError, EventOccurrenceRestoreErrors, EventOccurrenceRestoreResponse, EventOccurrenceRestoreResponses, EventOccurrencesData, EventOccurrencesError, EventOccurrencesErrors, EventOccurrenceSetData, EventOccurrenceSetError, EventOccurrenceSetErrors, EventOccurrenceSetResponse, EventOccurrenceSetResponses, EventOccurrencesResponse, EventOccurrencesResponses, EventRestoreData, EventRestoreError, EventRestoreErrors, EventRestoreResponse, EventRestoreResponses, EventUpdateData, EventUpdateError, EventUpdateErrors, EventUpdateResponse, EventUpdateResponses, GetMeResponse, InboundProtection, InviteAcceptData, InviteAcceptError, InviteAcceptErrors, InviteAcceptResponse, InviteAcceptResponses, InviteGetData, InviteGetError, InviteGetErrors, InviteGetResponse, InviteGetResponses, InviteRejectData, InviteRejectError, InviteRejectErrors, InviteRejectResponse, InviteRejectResponses, InvitesListData, InvitesListError, InvitesListErrors, InvitesListResponse, InvitesListResponses, KeyCreateData, KeyCreateError, KeyCreateErrors, KeyCreateResponse, KeyCreateResponses, KeyListData, KeyListError, KeyListErrors, KeyListResponse, KeyListResponses, KeyRevokeData, KeyRevokeError, KeyRevokeErrors, KeyRevokeResponse, KeyRevokeResponses, KeyUpdateData, KeyUpdateError, KeyUpdateErrors, KeyUpdateResponse, KeyUpdateResponses, ListAgendaResponse, ListApiKeysResponse, ListDriveLibrariesResponse, ListEventOccurrencesResponse, ListEventsResponse, ListMyInvitesResponse, ListOrgInvitesResponse, ListOrgMembersResponse, ListRecurrenceRulesResponse, ListTodosResponse, MarkBatchResponse, MoveDriveFileBody, MoveDriveFileResponse, OauthAuthorizeGrantData, OauthAuthorizeGrantError, OauthAuthorizeGrantErrors, OauthAuthorizeGrantResponse, OauthAuthorizeGrantResponses, OAuthAuthServerMetadata, OauthClientRegisterData, OauthClientRegisterError, OauthClientRegisterErrors, OauthClientRegisterResponse, OauthClientRegisterResponses, OauthDeviceAuthorizeData, OauthDeviceAuthorizeError, OauthDeviceAuthorizeErrors, OauthDeviceAuthorizeResponse, OauthDeviceAuthorizeResponses, OAuthDeviceBody, OauthDeviceConfirmData, OauthDeviceConfirmError, OauthDeviceConfirmErrors, OauthDeviceConfirmResponse, OauthDeviceConfirmResponses, OAuthDeviceResponse, OauthDeviceVerifyData, OauthDeviceVerifyError, OauthDeviceVerifyErrors, OauthDeviceVerifyResponse, OauthDeviceVerifyResponses, OauthMetadataData, OauthMetadataError, OauthMetadataErrors, OauthMetadataOpenidAliasData, OauthMetadataOpenidAliasError, OauthMetadataOpenidAliasErrors, OauthMetadataOpenidAliasResponse, OauthMetadataOpenidAliasResponses, OauthMetadataResponse, OauthMetadataResponses, OAuthRegisterBody, OAuthRegisterResponse, OAuthRevokeBody, OAuthTokenBody, OauthTokenExchangeData, OauthTokenExchangeError, OauthTokenExchangeErrors, OauthTokenExchangeResponse, OauthTokenExchangeResponses, OAuthTokenResponse, OauthTokenRevokeData, OauthTokenRevokeError, OauthTokenRevokeErrors, OauthTokenRevokeResponse, OauthTokenRevokeResponses, OccurrenceVersionBody, Org, OrgGetData, OrgGetError, OrgGetErrors, OrgGetResponse, OrgGetResponses, OrgInviteCreateData, OrgInviteCreateError, OrgInviteCreateErrors, OrgInviteCreateResponse, OrgInviteCreateResponses, OrgInviteRevokeData, OrgInviteRevokeError, OrgInviteRevokeErrors, OrgInviteRevokeResponse, OrgInviteRevokeResponses, OrgInvitesListData, OrgInvitesListError, OrgInvitesListErrors, OrgInvitesListResponse, OrgInvitesListResponses, OrgInviteSummary, OrgInviteView, OrgMember, OrgMemberRemoveData, OrgMemberRemoveError, OrgMemberRemoveErrors, OrgMemberRemoveResponse, OrgMemberRemoveResponses, OrgMemberRoleUpdateData, OrgMemberRoleUpdateError, OrgMemberRoleUpdateErrors, OrgMemberRoleUpdateResponse, OrgMemberRoleUpdateResponses, OrgMembersListData, OrgMembersListError, OrgMembersListErrors, OrgMembersListResponse, OrgMembersListResponses, OrgUpdateData, OrgUpdateError, OrgUpdateErrors, OrgUpdateResponse, OrgUpdateResponses, PaddleWebhookResult, PreviewCustomDomainAddOnInput, PreviewSubscriptionDowngradeInput, PreviewSubscriptionIntervalInput, PreviewSubscriptionUpgradeInput, Project, ProjectCreateData, ProjectCreateError, ProjectCreateErrors, ProjectCreateResponse, ProjectCreateResponses, ProjectDeleteData, ProjectDeleteError, ProjectDeleteErrors, ProjectDeleteResponse, ProjectDeleteResponses, ProjectGetData, ProjectGetError, ProjectGetErrors, ProjectGetResponse, ProjectGetResponses, ProjectListData, ProjectListError, ProjectListErrors, ProjectListResponse, ProjectListResponses, ProjectRestoreData, ProjectRestoreError, ProjectRestoreErrors, ProjectRestoreResponse, ProjectRestoreResponses, ProjectUpdateData, ProjectUpdateError, ProjectUpdateErrors, ProjectUpdateResponse, ProjectUpdateResponses, PushConfigDeleteData, PushConfigDeleteError, PushConfigDeleteErrors, PushConfigDeleteResponse, PushConfigDeleteResponses, PushConfigGetData, PushConfigGetError, PushConfigGetErrors, PushConfigGetResponse, PushConfigGetResponses, PushConfigSetData, PushConfigSetError, PushConfigSetErrors, PushConfigSetResponse, PushConfigSetResponses, PushTestData, PushTestError, PushTestErrors, PushTestResponse, PushTestResponses, ReceivedEmailDetail, RecurrenceRule, RecurrenceRuleCreateData, RecurrenceRuleCreateError, RecurrenceRuleCreateErrors, RecurrenceRuleCreateResponse, RecurrenceRuleCreateResponses, RecurrenceRuleDeleteData, RecurrenceRuleDeleteError, RecurrenceRuleDeleteErrors, RecurrenceRuleDeleteResponse, RecurrenceRuleDeleteResponses, RecurrenceRuleDetail, RecurrenceRuleGetData, RecurrenceRuleGetError, RecurrenceRuleGetErrors, RecurrenceRuleGetResponse, RecurrenceRuleGetResponses, RecurrenceRuleListData, RecurrenceRuleListError, RecurrenceRuleListErrors, RecurrenceRuleListResponse, RecurrenceRuleListResponses, RecurrenceRuleUpdateData, RecurrenceRuleUpdateError, RecurrenceRuleUpdateErrors, RecurrenceRuleUpdateResponse, RecurrenceRuleUpdateResponses, RequestCodeBody, RequestCodeResponse, RestoreBatchResponse, RestoreDriveFileBody, RestoreDriveFileResponse, RestoreTodoBody, RestoreTodoResponse, RevokeApiKeyResponse, SendEmailBody, SendEmailResponse, SentEmailDetail, SetPushConfigBody, ShowPushConfigResponse, StartInitialCheckoutInput, StartSubscriptionUpgradeInput, StorageUsage, SubscriptionCancellationResult, SubscriptionState, TestPushBody, TestPushResponse, Todo, TodoCommentCreateData, TodoCommentCreateError, TodoCommentCreateErrors, TodoCommentCreateResponse, TodoCommentCreateResponses, TodoCommentDeleteData, TodoCommentDeleteError, TodoCommentDeleteErrors, TodoCommentDeleteResponse, TodoCommentDeleteResponses, TodoCommentListData, TodoCommentListError, TodoCommentListErrors, TodoCommentListResponse, TodoCommentListResponses, TodoCommentUpdateData, TodoCommentUpdateError, TodoCommentUpdateErrors, TodoCommentUpdateResponse, TodoCommentUpdateResponses, TodoCreateData, TodoCreateError, TodoCreateErrors, TodoCreateResponse, TodoCreateResponses, TodoDeleteData, TodoDeleteError, TodoDeleteErrors, TodoDeleteResponse, TodoDeleteResponses, TodoExportData, TodoExportDocument, TodoExportError, TodoExportErrors, TodoExportResponse, TodoExportResponses, TodoGetData, TodoGetError, TodoGetErrors, TodoGetResponse, TodoGetResponses, TodoListData, TodoListError, TodoListErrors, TodoListResponse, TodoListResponses, TodoRestoreData, TodoRestoreError, TodoRestoreErrors, TodoRestoreResponse, TodoRestoreResponses, TodoType, TodoTypeCreateData, TodoTypeCreateError, TodoTypeCreateErrors, TodoTypeCreateResponse, TodoTypeCreateResponses, TodoTypeDeleteData, TodoTypeDeleteError, TodoTypeDeleteErrors, TodoTypeDeleteResponse, TodoTypeDeleteResponses, TodoTypeGetData, TodoTypeGetError, TodoTypeGetErrors, TodoTypeGetResponse, TodoTypeGetResponses, TodoTypeListData, TodoTypeListError, TodoTypeListErrors, TodoTypeListResponse, TodoTypeListResponses, TodoTypeRestoreData, TodoTypeRestoreError, TodoTypeRestoreErrors, TodoTypeRestoreResponse, TodoTypeRestoreResponses, TodoTypeUpdateData, TodoTypeUpdateError, TodoTypeUpdateErrors, TodoTypeUpdateResponse, TodoTypeUpdateResponses, TodoUpdateData, TodoUpdateError, TodoUpdateErrors, TodoUpdateResponse, TodoUpdateResponses, TodoWithRelations, TransferAliasBody, UpdateApiKeyBody, UpdateApiKeyResponse, UpdateCommentBody, UpdateDriveLibraryBody, UpdateEventBody, UpdateOccurrenceBody, UpdateOrgInput, UpdateOrgMemberRole, UpdateProjectBody, UpdateRecurrenceRuleBody, UpdateTodoBody, UpdateTodoTypeBody, UpgradePreviewResult, UpgradeSubscriptionResult, UploadDriveFileResponse, VerifyCodeBody, VerifyCodeResponse, VersionBody } from './types.gen'; diff --git a/src/generated/sdk/sdk.gen.ts b/src/generated/sdk/sdk.gen.ts index 49055f8..2a84fd6 100644 --- a/src/generated/sdk/sdk.gen.ts +++ b/src/generated/sdk/sdk.gen.ts @@ -2,7 +2,7 @@ import type { Client, Options as Options2, TDataShape } from './client'; import { client } from './client.gen'; -import type { AccountDeletionCancelData, AccountDeletionCancelErrors, AccountDeletionCancelResponses, AccountDeletionGetData, AccountDeletionGetErrors, AccountDeletionGetResponses, AccountDeletionRequestData, AccountDeletionRequestErrors, AccountDeletionRequestResponses, AuthMeData, AuthMeErrors, AuthMeResponses, AuthRequestCodeData, AuthRequestCodeErrors, AuthRequestCodeResponses, AuthVerifyCodeData, AuthVerifyCodeErrors, AuthVerifyCodeResponses, BillingCheckoutSessionsCreateData, BillingCheckoutSessionsCreateErrors, BillingCheckoutSessionsCreateResponses, BillingCustomDomainAddOnPreviewData, BillingCustomDomainAddOnPreviewErrors, BillingCustomDomainAddOnPreviewResponses, BillingCustomDomainAddOnsChangeData, BillingCustomDomainAddOnsChangeErrors, BillingCustomDomainAddOnsChangeResponses, BillingEmailUsageGetData, BillingEmailUsageGetErrors, BillingEmailUsageGetResponses, BillingEnforcementReadinessGetData, BillingEnforcementReadinessGetErrors, BillingEnforcementReadinessGetResponses, BillingEntitlementsGetData, BillingEntitlementsGetErrors, BillingEntitlementsGetResponses, BillingInboundProtectionGetData, BillingInboundProtectionGetErrors, BillingInboundProtectionGetResponses, BillingPaddleWebhookReceiveData, BillingPaddleWebhookReceiveErrors, BillingPaddleWebhookReceiveResponses, BillingPortalSessionsCreateData, BillingPortalSessionsCreateErrors, BillingPortalSessionsCreateResponses, BillingPublicRolloutGetData, BillingPublicRolloutGetResponses, BillingStorageUsageGetData, BillingStorageUsageGetErrors, BillingStorageUsageGetResponses, BillingSubscriptionCancellationUpdateData, BillingSubscriptionCancellationUpdateErrors, BillingSubscriptionCancellationUpdateResponses, BillingSubscriptionDowngradePreviewData, BillingSubscriptionDowngradePreviewErrors, BillingSubscriptionDowngradePreviewResponses, BillingSubscriptionDowngradesCreateData, BillingSubscriptionDowngradesCreateErrors, BillingSubscriptionDowngradesCreateResponses, BillingSubscriptionIntervalChangesCreateData, BillingSubscriptionIntervalChangesCreateErrors, BillingSubscriptionIntervalChangesCreateResponses, BillingSubscriptionIntervalPreviewsCreateData, BillingSubscriptionIntervalPreviewsCreateErrors, BillingSubscriptionIntervalPreviewsCreateResponses, BillingSubscriptionStateGetData, BillingSubscriptionStateGetErrors, BillingSubscriptionStateGetResponses, BillingSubscriptionUpgradePreviewsCreateData, BillingSubscriptionUpgradePreviewsCreateErrors, BillingSubscriptionUpgradePreviewsCreateResponses, BillingSubscriptionUpgradesCreateData, BillingSubscriptionUpgradesCreateErrors, BillingSubscriptionUpgradesCreateResponses, CalendarCreateSubscriptionData, CalendarCreateSubscriptionErrors, CalendarCreateSubscriptionResponses, CalendarDisableSubscriptionData, CalendarDisableSubscriptionErrors, CalendarDisableSubscriptionResponses, CalendarExportData, CalendarExportErrors, CalendarExportResponses, CalendarGetSubscriptionData, CalendarGetSubscriptionErrors, CalendarGetSubscriptionResponses, CalendarResetSubscriptionData, CalendarResetSubscriptionErrors, CalendarResetSubscriptionResponses, DriveExportCancelData, DriveExportCancelErrors, DriveExportCancelResponses, DriveExportCreateData, DriveExportCreateErrors, DriveExportCreateResponses, DriveExportDownloadData, DriveExportDownloadErrors, DriveExportDownloadResponses, DriveExportGetData, DriveExportGetErrors, DriveExportGetResponses, DriveFileDeleteData, DriveFileDeleteErrors, DriveFileDeleteResponses, DriveFileDownloadData, DriveFileDownloadErrors, DriveFileDownloadResponses, DriveFileEditData, DriveFileEditErrors, DriveFileEditResponses, DriveFileHistoryData, DriveFileHistoryErrors, DriveFileHistoryResponses, DriveFileMoveData, DriveFileMoveErrors, DriveFileMoveResponses, DriveFileRestoreData, DriveFileRestoreDeletedData, DriveFileRestoreDeletedErrors, DriveFileRestoreDeletedResponses, DriveFileRestoreErrors, DriveFileRestoreResponses, DriveFileUploadData, DriveFileUploadErrors, DriveFileUploadResponses, DriveLibraryCreateData, DriveLibraryCreateErrors, DriveLibraryCreateResponses, DriveLibraryDeleteData, DriveLibraryDeleteErrors, DriveLibraryDeleteResponses, DriveLibraryGetData, DriveLibraryGetErrors, DriveLibraryGetResponses, DriveLibraryListData, DriveLibraryListErrors, DriveLibraryListResponses, DriveLibraryUpdateData, DriveLibraryUpdateErrors, DriveLibraryUpdateResponses, DriveManifestGetData, DriveManifestGetErrors, DriveManifestGetResponses, DriveSearchData, DriveSearchErrors, DriveSearchResponses, EmailAliasCreateData, EmailAliasCreateErrors, EmailAliasCreateResponses, EmailAliasDeleteData, EmailAliasDeleteErrors, EmailAliasDeleteResponses, EmailAliasListData, EmailAliasListErrors, EmailAliasListResponses, EmailAliasRestoreData, EmailAliasRestoreErrors, EmailAliasRestoreResponses, EmailAliasTransferData, EmailAliasTransferErrors, EmailAliasTransferResponses, EmailAttachmentGetData, EmailAttachmentGetErrors, EmailAttachmentGetResponses, EmailDeleteData, EmailDeleteErrors, EmailDeleteResponses, EmailDomainCreateData, EmailDomainCreateErrors, EmailDomainCreateResponses, EmailDomainDeleteData, EmailDomainDeleteErrors, EmailDomainDeleteResponses, EmailDomainGetData, EmailDomainGetErrors, EmailDomainGetResponses, EmailDomainListData, EmailDomainListErrors, EmailDomainListResponses, EmailDomainVerifyData, EmailDomainVerifyErrors, EmailDomainVerifyResponses, EmailGetData, EmailGetErrors, EmailGetResponses, EmailListData, EmailListErrors, EmailListResponses, EmailMarkReadData, EmailMarkReadErrors, EmailMarkReadResponses, EmailMarkUnreadData, EmailMarkUnreadErrors, EmailMarkUnreadResponses, EmailRestoreData, EmailRestoreErrors, EmailRestoreResponses, EmailSendData, EmailSendErrors, EmailSendResponses, EmailSentDeleteData, EmailSentDeleteErrors, EmailSentDeleteResponses, EmailSentGetData, EmailSentGetErrors, EmailSentGetResponses, EmailSentListData, EmailSentListErrors, EmailSentListResponses, EmailSentRestoreData, EmailSentRestoreErrors, EmailSentRestoreResponses, EmailTrashEmptyData, EmailTrashEmptyErrors, EmailTrashEmptyResponses, EmailTrashSummaryData, EmailTrashSummaryErrors, EmailTrashSummaryResponses, EventAgendaData, EventAgendaErrors, EventAgendaResponses, EventCreateData, EventCreateErrors, EventCreateResponses, EventDeleteData, EventDeleteErrors, EventDeleteResponses, EventGetData, EventGetErrors, EventGetResponses, EventIcsDownloadData, EventIcsDownloadErrors, EventIcsDownloadResponses, EventListData, EventListErrors, EventListResponses, EventOccurrenceCancelData, EventOccurrenceCancelErrors, EventOccurrenceCancelResponses, EventOccurrenceRestoreData, EventOccurrenceRestoreErrors, EventOccurrenceRestoreResponses, EventOccurrencesData, EventOccurrencesErrors, EventOccurrenceSetData, EventOccurrenceSetErrors, EventOccurrenceSetResponses, EventOccurrencesResponses, EventRestoreData, EventRestoreErrors, EventRestoreResponses, EventUpdateData, EventUpdateErrors, EventUpdateResponses, InviteAcceptData, InviteAcceptErrors, InviteAcceptResponses, InviteGetData, InviteGetErrors, InviteGetResponses, InviteRejectData, InviteRejectErrors, InviteRejectResponses, InvitesListData, InvitesListErrors, InvitesListResponses, KeyCreateData, KeyCreateErrors, KeyCreateResponses, KeyListData, KeyListErrors, KeyListResponses, KeyRevokeData, KeyRevokeErrors, KeyRevokeResponses, KeyUpdateData, KeyUpdateErrors, KeyUpdateResponses, OauthAuthorizeGrantData, OauthAuthorizeGrantErrors, OauthAuthorizeGrantResponses, OauthClientRegisterData, OauthClientRegisterErrors, OauthClientRegisterResponses, OauthDeviceAuthorizeData, OauthDeviceAuthorizeErrors, OauthDeviceAuthorizeResponses, OauthDeviceConfirmData, OauthDeviceConfirmErrors, OauthDeviceConfirmResponses, OauthDeviceVerifyData, OauthDeviceVerifyErrors, OauthDeviceVerifyResponses, OauthMetadataData, OauthMetadataErrors, OauthMetadataOpenidAliasData, OauthMetadataOpenidAliasErrors, OauthMetadataOpenidAliasResponses, OauthMetadataResponses, OauthTokenExchangeData, OauthTokenExchangeErrors, OauthTokenExchangeResponses, OauthTokenRevokeData, OauthTokenRevokeErrors, OauthTokenRevokeResponses, OrgGetData, OrgGetErrors, OrgGetResponses, OrgInviteCreateData, OrgInviteCreateErrors, OrgInviteCreateResponses, OrgInviteRevokeData, OrgInviteRevokeErrors, OrgInviteRevokeResponses, OrgInvitesListData, OrgInvitesListErrors, OrgInvitesListResponses, OrgMemberRemoveData, OrgMemberRemoveErrors, OrgMemberRemoveResponses, OrgMemberRoleUpdateData, OrgMemberRoleUpdateErrors, OrgMemberRoleUpdateResponses, OrgMembersListData, OrgMembersListErrors, OrgMembersListResponses, OrgUpdateData, OrgUpdateErrors, OrgUpdateResponses, ProjectCreateData, ProjectCreateErrors, ProjectCreateResponses, ProjectDeleteData, ProjectDeleteErrors, ProjectDeleteResponses, ProjectGetData, ProjectGetErrors, ProjectGetResponses, ProjectListData, ProjectListErrors, ProjectListResponses, ProjectRestoreData, ProjectRestoreErrors, ProjectRestoreResponses, ProjectUpdateData, ProjectUpdateErrors, ProjectUpdateResponses, PushConfigDeleteData, PushConfigDeleteErrors, PushConfigDeleteResponses, PushConfigGetData, PushConfigGetErrors, PushConfigGetResponses, PushConfigSetData, PushConfigSetErrors, PushConfigSetResponses, PushTestData, PushTestErrors, PushTestResponses, RecurrenceRuleCreateData, RecurrenceRuleCreateErrors, RecurrenceRuleCreateResponses, RecurrenceRuleDeleteData, RecurrenceRuleDeleteErrors, RecurrenceRuleDeleteResponses, RecurrenceRuleGetData, RecurrenceRuleGetErrors, RecurrenceRuleGetResponses, RecurrenceRuleListData, RecurrenceRuleListErrors, RecurrenceRuleListResponses, RecurrenceRuleUpdateData, RecurrenceRuleUpdateErrors, RecurrenceRuleUpdateResponses, TodoCommentCreateData, TodoCommentCreateErrors, TodoCommentCreateResponses, TodoCommentDeleteData, TodoCommentDeleteErrors, TodoCommentDeleteResponses, TodoCommentListData, TodoCommentListErrors, TodoCommentListResponses, TodoCommentUpdateData, TodoCommentUpdateErrors, TodoCommentUpdateResponses, TodoCreateData, TodoCreateErrors, TodoCreateResponses, TodoDeleteData, TodoDeleteErrors, TodoDeleteResponses, TodoExportData, TodoExportErrors, TodoExportResponses, TodoGetData, TodoGetErrors, TodoGetResponses, TodoListData, TodoListErrors, TodoListResponses, TodoRestoreData, TodoRestoreErrors, TodoRestoreResponses, TodoTypeCreateData, TodoTypeCreateErrors, TodoTypeCreateResponses, TodoTypeDeleteData, TodoTypeDeleteErrors, TodoTypeDeleteResponses, TodoTypeGetData, TodoTypeGetErrors, TodoTypeGetResponses, TodoTypeListData, TodoTypeListErrors, TodoTypeListResponses, TodoTypeRestoreData, TodoTypeRestoreErrors, TodoTypeRestoreResponses, TodoTypeUpdateData, TodoTypeUpdateErrors, TodoTypeUpdateResponses, TodoUpdateData, TodoUpdateErrors, TodoUpdateResponses } from './types.gen'; +import type { AccountDeletionCancelData, AccountDeletionCancelErrors, AccountDeletionCancelResponses, AccountDeletionGetData, AccountDeletionGetErrors, AccountDeletionGetResponses, AccountDeletionRequestData, AccountDeletionRequestErrors, AccountDeletionRequestResponses, AuthMeData, AuthMeErrors, AuthMeResponses, AuthRequestCodeData, AuthRequestCodeErrors, AuthRequestCodeResponses, AuthVerifyCodeData, AuthVerifyCodeErrors, AuthVerifyCodeResponses, BillingCheckoutSessionsCreateData, BillingCheckoutSessionsCreateErrors, BillingCheckoutSessionsCreateResponses, BillingCustomDomainAddOnPreviewData, BillingCustomDomainAddOnPreviewErrors, BillingCustomDomainAddOnPreviewResponses, BillingCustomDomainAddOnsChangeData, BillingCustomDomainAddOnsChangeErrors, BillingCustomDomainAddOnsChangeResponses, BillingEmailUsageGetData, BillingEmailUsageGetErrors, BillingEmailUsageGetResponses, BillingEnforcementReadinessGetData, BillingEnforcementReadinessGetErrors, BillingEnforcementReadinessGetResponses, BillingEntitlementsGetData, BillingEntitlementsGetErrors, BillingEntitlementsGetResponses, BillingInboundProtectionGetData, BillingInboundProtectionGetErrors, BillingInboundProtectionGetResponses, BillingPaddleWebhookReceiveData, BillingPaddleWebhookReceiveErrors, BillingPaddleWebhookReceiveResponses, BillingPortalSessionsCreateData, BillingPortalSessionsCreateErrors, BillingPortalSessionsCreateResponses, BillingPublicRolloutGetData, BillingPublicRolloutGetResponses, BillingStorageUsageGetData, BillingStorageUsageGetErrors, BillingStorageUsageGetResponses, BillingSubscriptionCancellationUpdateData, BillingSubscriptionCancellationUpdateErrors, BillingSubscriptionCancellationUpdateResponses, BillingSubscriptionDowngradePreviewData, BillingSubscriptionDowngradePreviewErrors, BillingSubscriptionDowngradePreviewResponses, BillingSubscriptionDowngradesCreateData, BillingSubscriptionDowngradesCreateErrors, BillingSubscriptionDowngradesCreateResponses, BillingSubscriptionIntervalChangesCreateData, BillingSubscriptionIntervalChangesCreateErrors, BillingSubscriptionIntervalChangesCreateResponses, BillingSubscriptionIntervalPreviewsCreateData, BillingSubscriptionIntervalPreviewsCreateErrors, BillingSubscriptionIntervalPreviewsCreateResponses, BillingSubscriptionStateGetData, BillingSubscriptionStateGetErrors, BillingSubscriptionStateGetResponses, BillingSubscriptionUpgradePreviewsCreateData, BillingSubscriptionUpgradePreviewsCreateErrors, BillingSubscriptionUpgradePreviewsCreateResponses, BillingSubscriptionUpgradesCreateData, BillingSubscriptionUpgradesCreateErrors, BillingSubscriptionUpgradesCreateResponses, CalendarCreateSubscriptionData, CalendarCreateSubscriptionErrors, CalendarCreateSubscriptionResponses, CalendarDisableSubscriptionData, CalendarDisableSubscriptionErrors, CalendarDisableSubscriptionResponses, CalendarExportData, CalendarExportErrors, CalendarExportResponses, CalendarGetSubscriptionData, CalendarGetSubscriptionErrors, CalendarGetSubscriptionResponses, CalendarResetSubscriptionData, CalendarResetSubscriptionErrors, CalendarResetSubscriptionResponses, DriveExportCancelData, DriveExportCancelErrors, DriveExportCancelResponses, DriveExportCreateData, DriveExportCreateErrors, DriveExportCreateResponses, DriveExportDownloadData, DriveExportDownloadErrors, DriveExportDownloadResponses, DriveExportGetData, DriveExportGetErrors, DriveExportGetResponses, DriveFileDeleteData, DriveFileDeleteErrors, DriveFileDeleteResponses, DriveFileDownloadData, DriveFileDownloadErrors, DriveFileDownloadResponses, DriveFileEditData, DriveFileEditErrors, DriveFileEditResponses, DriveFileHistoryData, DriveFileHistoryErrors, DriveFileHistoryResponses, DriveFileMoveData, DriveFileMoveErrors, DriveFileMoveResponses, DriveFileRestoreData, DriveFileRestoreDeletedData, DriveFileRestoreDeletedErrors, DriveFileRestoreDeletedResponses, DriveFileRestoreErrors, DriveFileRestoreResponses, DriveFileUploadData, DriveFileUploadErrors, DriveFileUploadResponses, DriveLibraryCreateData, DriveLibraryCreateErrors, DriveLibraryCreateResponses, DriveLibraryDeleteData, DriveLibraryDeleteErrors, DriveLibraryDeleteResponses, DriveLibraryGetData, DriveLibraryGetErrors, DriveLibraryGetResponses, DriveLibraryListData, DriveLibraryListErrors, DriveLibraryListResponses, DriveLibraryUpdateData, DriveLibraryUpdateErrors, DriveLibraryUpdateResponses, DriveManifestGetData, DriveManifestGetErrors, DriveManifestGetResponses, DriveSearchData, DriveSearchErrors, DriveSearchResponses, DriveWorkspaceSearchData, DriveWorkspaceSearchErrors, DriveWorkspaceSearchResponses, EmailAliasCreateData, EmailAliasCreateErrors, EmailAliasCreateResponses, EmailAliasDeleteData, EmailAliasDeleteErrors, EmailAliasDeleteResponses, EmailAliasListData, EmailAliasListErrors, EmailAliasListResponses, EmailAliasRestoreData, EmailAliasRestoreErrors, EmailAliasRestoreResponses, EmailAliasTransferData, EmailAliasTransferErrors, EmailAliasTransferResponses, EmailAttachmentGetData, EmailAttachmentGetErrors, EmailAttachmentGetResponses, EmailDeleteData, EmailDeleteErrors, EmailDeleteResponses, EmailDomainCreateData, EmailDomainCreateErrors, EmailDomainCreateResponses, EmailDomainDeleteData, EmailDomainDeleteErrors, EmailDomainDeleteResponses, EmailDomainGetData, EmailDomainGetErrors, EmailDomainGetResponses, EmailDomainListData, EmailDomainListErrors, EmailDomainListResponses, EmailDomainVerifyData, EmailDomainVerifyErrors, EmailDomainVerifyResponses, EmailGetData, EmailGetErrors, EmailGetResponses, EmailListData, EmailListErrors, EmailListResponses, EmailMarkReadData, EmailMarkReadErrors, EmailMarkReadResponses, EmailMarkUnreadData, EmailMarkUnreadErrors, EmailMarkUnreadResponses, EmailRestoreData, EmailRestoreErrors, EmailRestoreResponses, EmailSendData, EmailSendErrors, EmailSendResponses, EmailSentDeleteData, EmailSentDeleteErrors, EmailSentDeleteResponses, EmailSentGetData, EmailSentGetErrors, EmailSentGetResponses, EmailSentListData, EmailSentListErrors, EmailSentListResponses, EmailSentRestoreData, EmailSentRestoreErrors, EmailSentRestoreResponses, EmailTrashEmptyData, EmailTrashEmptyErrors, EmailTrashEmptyResponses, EmailTrashSummaryData, EmailTrashSummaryErrors, EmailTrashSummaryResponses, EventAgendaData, EventAgendaErrors, EventAgendaResponses, EventCreateData, EventCreateErrors, EventCreateResponses, EventDeleteData, EventDeleteErrors, EventDeleteResponses, EventGetData, EventGetErrors, EventGetResponses, EventIcsDownloadData, EventIcsDownloadErrors, EventIcsDownloadResponses, EventListData, EventListErrors, EventListResponses, EventOccurrenceCancelData, EventOccurrenceCancelErrors, EventOccurrenceCancelResponses, EventOccurrenceRestoreData, EventOccurrenceRestoreErrors, EventOccurrenceRestoreResponses, EventOccurrencesData, EventOccurrencesErrors, EventOccurrenceSetData, EventOccurrenceSetErrors, EventOccurrenceSetResponses, EventOccurrencesResponses, EventRestoreData, EventRestoreErrors, EventRestoreResponses, EventUpdateData, EventUpdateErrors, EventUpdateResponses, InviteAcceptData, InviteAcceptErrors, InviteAcceptResponses, InviteGetData, InviteGetErrors, InviteGetResponses, InviteRejectData, InviteRejectErrors, InviteRejectResponses, InvitesListData, InvitesListErrors, InvitesListResponses, KeyCreateData, KeyCreateErrors, KeyCreateResponses, KeyListData, KeyListErrors, KeyListResponses, KeyRevokeData, KeyRevokeErrors, KeyRevokeResponses, KeyUpdateData, KeyUpdateErrors, KeyUpdateResponses, OauthAuthorizeGrantData, OauthAuthorizeGrantErrors, OauthAuthorizeGrantResponses, OauthClientRegisterData, OauthClientRegisterErrors, OauthClientRegisterResponses, OauthDeviceAuthorizeData, OauthDeviceAuthorizeErrors, OauthDeviceAuthorizeResponses, OauthDeviceConfirmData, OauthDeviceConfirmErrors, OauthDeviceConfirmResponses, OauthDeviceVerifyData, OauthDeviceVerifyErrors, OauthDeviceVerifyResponses, OauthMetadataData, OauthMetadataErrors, OauthMetadataOpenidAliasData, OauthMetadataOpenidAliasErrors, OauthMetadataOpenidAliasResponses, OauthMetadataResponses, OauthTokenExchangeData, OauthTokenExchangeErrors, OauthTokenExchangeResponses, OauthTokenRevokeData, OauthTokenRevokeErrors, OauthTokenRevokeResponses, OrgGetData, OrgGetErrors, OrgGetResponses, OrgInviteCreateData, OrgInviteCreateErrors, OrgInviteCreateResponses, OrgInviteRevokeData, OrgInviteRevokeErrors, OrgInviteRevokeResponses, OrgInvitesListData, OrgInvitesListErrors, OrgInvitesListResponses, OrgMemberRemoveData, OrgMemberRemoveErrors, OrgMemberRemoveResponses, OrgMemberRoleUpdateData, OrgMemberRoleUpdateErrors, OrgMemberRoleUpdateResponses, OrgMembersListData, OrgMembersListErrors, OrgMembersListResponses, OrgUpdateData, OrgUpdateErrors, OrgUpdateResponses, ProjectCreateData, ProjectCreateErrors, ProjectCreateResponses, ProjectDeleteData, ProjectDeleteErrors, ProjectDeleteResponses, ProjectGetData, ProjectGetErrors, ProjectGetResponses, ProjectListData, ProjectListErrors, ProjectListResponses, ProjectRestoreData, ProjectRestoreErrors, ProjectRestoreResponses, ProjectUpdateData, ProjectUpdateErrors, ProjectUpdateResponses, PushConfigDeleteData, PushConfigDeleteErrors, PushConfigDeleteResponses, PushConfigGetData, PushConfigGetErrors, PushConfigGetResponses, PushConfigSetData, PushConfigSetErrors, PushConfigSetResponses, PushTestData, PushTestErrors, PushTestResponses, RecurrenceRuleCreateData, RecurrenceRuleCreateErrors, RecurrenceRuleCreateResponses, RecurrenceRuleDeleteData, RecurrenceRuleDeleteErrors, RecurrenceRuleDeleteResponses, RecurrenceRuleGetData, RecurrenceRuleGetErrors, RecurrenceRuleGetResponses, RecurrenceRuleListData, RecurrenceRuleListErrors, RecurrenceRuleListResponses, RecurrenceRuleUpdateData, RecurrenceRuleUpdateErrors, RecurrenceRuleUpdateResponses, TodoCommentCreateData, TodoCommentCreateErrors, TodoCommentCreateResponses, TodoCommentDeleteData, TodoCommentDeleteErrors, TodoCommentDeleteResponses, TodoCommentListData, TodoCommentListErrors, TodoCommentListResponses, TodoCommentUpdateData, TodoCommentUpdateErrors, TodoCommentUpdateResponses, TodoCreateData, TodoCreateErrors, TodoCreateResponses, TodoDeleteData, TodoDeleteErrors, TodoDeleteResponses, TodoExportData, TodoExportErrors, TodoExportResponses, TodoGetData, TodoGetErrors, TodoGetResponses, TodoListData, TodoListErrors, TodoListResponses, TodoRestoreData, TodoRestoreErrors, TodoRestoreResponses, TodoTypeCreateData, TodoTypeCreateErrors, TodoTypeCreateResponses, TodoTypeDeleteData, TodoTypeDeleteErrors, TodoTypeDeleteResponses, TodoTypeGetData, TodoTypeGetErrors, TodoTypeGetResponses, TodoTypeListData, TodoTypeListErrors, TodoTypeListResponses, TodoTypeRestoreData, TodoTypeRestoreErrors, TodoTypeRestoreResponses, TodoTypeUpdateData, TodoTypeUpdateErrors, TodoTypeUpdateResponses, TodoUpdateData, TodoUpdateErrors, TodoUpdateResponses } from './types.gen'; export type Options = Options2 & { /** @@ -1446,7 +1446,7 @@ export const driveFileRestore = (options: /** * Search drive library text * - * Search indexed text files by relevance, then file ID. Pass next_cursor as cursor with the same exact query and library; stop when next_cursor is absent. No TTL or snapshot. Index changes, including other libraries, can cause repeats or omissions. Invalid cursors return VALIDATION_ERROR; restart the search. Libraries that are missing, deleted or outside the Workspace return NOT_FOUND before cursor validation. + * Search indexed text files by substring, ordered by relevance, then file ID. Whitespace terms are ANDed. Each term needs at least 3 characters; a shorter term returns no results, so add context (日本旅遊, not 日本). path_prefix keeps only paths that start with that literal string; wildcards are not interpreted. Each result has library_id, path and snippet. Pass next_cursor as cursor with the same exact query, library scope and path_prefix; stop when next_cursor is absent. No TTL or snapshot. Index changes, including other libraries, can cause repeats or omissions. Invalid, mismatched or v1 cursors return VALIDATION_ERROR; restart the search. Libraries that are missing, deleted or outside the Workspace return NOT_FOUND before cursor validation. */ export const driveSearch = (options: Options) => (options.client ?? client).get({ security: [{ scheme: 'bearer', type: 'http' }], @@ -1454,6 +1454,17 @@ export const driveSearch = (options: Optio ...options }); +/** + * Search drive text across the Workspace + * + * Search indexed text files by substring, ordered by relevance, then file ID. Whitespace terms are ANDed. Each term needs at least 3 characters; a shorter term returns no results, so add context (日本旅遊, not 日本). path_prefix keeps only paths that start with that literal string; wildcards are not interpreted. Each result has library_id, path and snippet. Pass next_cursor as cursor with the same exact query, library scope and path_prefix; stop when next_cursor is absent. No TTL or snapshot. Index changes, including other libraries, can cause repeats or omissions. Invalid, mismatched or v1 cursors return VALIDATION_ERROR; restart the search. Searches every library in the Workspace except deleted libraries. A Workspace without libraries returns an empty page. + */ +export const driveWorkspaceSearch = (options: Options) => (options.client ?? client).get({ + security: [{ scheme: 'bearer', type: 'http' }], + url: '/drive/search', + ...options +}); + /** * List the caller's aliases * diff --git a/src/generated/sdk/types.gen.ts b/src/generated/sdk/types.gen.ts index f28fb9c..37a87da 100644 --- a/src/generated/sdk/types.gen.ts +++ b/src/generated/sdk/types.gen.ts @@ -1352,6 +1352,7 @@ export type RestoreDriveFileBody = { export type DriveSearchResponse = { results: Array<{ + library_id: string; path: string; snippet: string; }>; @@ -10047,9 +10048,10 @@ export type DriveSearchData = { query: string; limit?: string; /** - * Opaque Search Cursor from next_cursor; reuse with the same query and library. No TTL. + * Opaque Search Cursor from next_cursor; reuse with the same query, library and path_prefix. No TTL. */ cursor?: string; + path_prefix?: string; }; url: '/drive/libraries/{id}/search'; }; @@ -10131,6 +10133,104 @@ export type DriveSearchResponses = { export type DriveSearchResponse2 = DriveSearchResponses[keyof DriveSearchResponses]; +export type DriveWorkspaceSearchData = { + body?: never; + headers?: { + /** + * Optional opaque consistency bookmark returned by a previous drive response. Send it back unchanged to continue read-after-write consistency for drive D1 data. + */ + 'x-cb-drive'?: string; + }; + path?: never; + query: { + query: string; + limit?: string; + /** + * Opaque Search Cursor from next_cursor; reuse with the same query, library and path_prefix. No TTL. + */ + cursor?: string; + path_prefix?: string; + }; + url: '/drive/search'; +}; + +export type DriveWorkspaceSearchErrors = { + /** + * Request validation failed. The body, query, or path parameters did not match the operation's schema. + */ + 400: { + error: { + code: string; + message: string; + }; + }; + /** + * Authentication is required but missing or invalid. The Bearer token (API key or OAuth access token) was absent, malformed, or rejected. + */ + 401: { + error: { + code: string; + message: string; + }; + }; + /** + * The caller is authenticated but not permitted to perform this operation on the target resource. + */ + 403: { + error: { + code: string; + message: string; + }; + }; + /** + * The target resource does not exist or is not visible to the caller. Soft-deleted resources are treated as not found unless an `include_deleted` flag is set. + */ + 404: { + error: { + code: string; + message: string; + }; + }; + /** + * Optimistic-lock conflict. The supplied `expected_version` does not match the server's current version. Refetch the resource and retry. + */ + 409: { + error: { + code: string; + message: string; + }; + }; + /** + * Rate limit exceeded. Use the HTTP `Retry-After` header for machine-readable retry timing. + */ + 429: { + error: { + code: string; + message: string; + }; + }; + /** + * Unhandled server error. The request was well-formed but the service failed unexpectedly. Safe to retry idempotent operations. + */ + 500: { + error: { + code: string; + message: string; + }; + }; +}; + +export type DriveWorkspaceSearchError = DriveWorkspaceSearchErrors[keyof DriveWorkspaceSearchErrors]; + +export type DriveWorkspaceSearchResponses = { + /** + * Search results + */ + 200: DriveSearchResponse; +}; + +export type DriveWorkspaceSearchResponse = DriveWorkspaceSearchResponses[keyof DriveWorkspaceSearchResponses]; + export type EmailAliasListData = { body?: never; headers?: { diff --git a/test/generated/drive.test.ts b/test/generated/drive.test.ts index 786b888..bc5ecc3 100644 --- a/test/generated/drive.test.ts +++ b/test/generated/drive.test.ts @@ -13,6 +13,14 @@ vi.mock("../../src/generated/sdk/index.js", () => ({ data: {}, response: { ok: true, status: 200 }, })), + driveSearch: vi.fn(async () => ({ + data: { results: [] }, + response: { ok: true, status: 200 }, + })), + driveWorkspaceSearch: vi.fn(async () => ({ + data: { results: [] }, + response: { ok: true, status: 200 }, + })), })) vi.mock("../../src/handwritten/auth/load-sdk-client.js", () => ({ @@ -32,8 +40,14 @@ async function loadCommands() { "../../src/generated/cli/drive/library/update.js" ) const fileDelete = await import("../../src/generated/cli/drive/file/rm.js") + const search = await import("../../src/generated/cli/drive/search.js") const sdk = await import("../../src/generated/sdk/index.js") + const { render } = await import("../../src/handwritten/output/render.js") return { + driveSearchCommand: search.driveSearchCommand, + driveSearch: sdk.driveSearch as ReturnType, + driveWorkspaceSearch: sdk.driveWorkspaceSearch as ReturnType, + render: render as ReturnType, driveLibraryDeleteCommand: libraryDelete.driveLibraryDeleteCommand, driveLibraryUpdateCommand: libraryUpdate.driveLibraryUpdateCommand, driveFileDeleteCommand: fileDelete.driveFileDeleteCommand, @@ -103,3 +117,75 @@ describe("wspc drive generated numeric options", () => { }) }) }) + +describe("wspc drive search scope", () => { + it("searches the Workspace when the library id is omitted", async () => { + const { driveSearchCommand, driveSearch, driveWorkspaceSearch, render } = + await loadCommands() + + await driveSearchCommand.parseAsync(["node", "search", "--query", "日本旅遊"]) + + expect(driveSearch).toHaveBeenCalledTimes(0) + expect(driveWorkspaceSearch).toHaveBeenCalledTimes(1) + const input = driveWorkspaceSearch.mock.calls[0]?.[0] + expect(input.path).toBeUndefined() + expect(input.query.query).toBe("日本旅遊") + expect(input.query.path_prefix).toBeUndefined() + const context = render.mock.calls[0]?.[0] + expect(context.kind).toBe("drive_workspace_search") + expect(context.display.columns).toContain("library_id") + }) + + it("searches one library with --path-prefix when the id is given", async () => { + const { driveSearchCommand, driveSearch, driveWorkspaceSearch, render } = + await loadCommands() + + await driveSearchCommand.parseAsync([ + "node", + "search", + "lib_123", + "--query", + "日本旅遊", + "--path-prefix", + "travel/", + ]) + + expect(driveWorkspaceSearch).toHaveBeenCalledTimes(0) + expect(driveSearch).toHaveBeenCalledTimes(1) + const input = driveSearch.mock.calls[0]?.[0] + expect(input.path.id).toBe("lib_123") + expect(input.query.path_prefix).toBe("travel/") + const context = render.mock.calls[0]?.[0] + expect(context.kind).toBe("drive_search") + expect(context.display.columns).toEqual(["path", "snippet"]) + }) + + it("passes --path-prefix and --cursor through in Workspace scope", async () => { + const { driveSearchCommand, driveWorkspaceSearch } = await loadCommands() + + await driveSearchCommand.parseAsync([ + "node", + "search", + "--query", + "日本旅遊", + "--path-prefix", + "travel/", + "--cursor", + "c2", + ]) + + const query = driveWorkspaceSearch.mock.calls[0]?.[0]?.query + expect(query.path_prefix).toBe("travel/") + expect(query.cursor).toBe("c2") + }) + + it("documents the optional id and --path-prefix in --help", async () => { + const { driveSearchCommand } = await loadCommands() + + const help = driveSearchCommand.helpInformation() + + expect(help).toContain("[id]") + expect(help).toContain("--path-prefix ") + expect(help).toMatch(/--cursor [\s\S]*path_prefix/) + }) +}) diff --git a/tools/cli-codegen/emit.test.ts b/tools/cli-codegen/emit.test.ts index 3299779..10f0cfd 100644 --- a/tools/cli-codegen/emit.test.ts +++ b/tools/cli-codegen/emit.test.ts @@ -534,3 +534,45 @@ describe("emitCommand: x-cli.booleanFlags bare boolean flag", () => { expect(code).not.toContain("--include-deleted ") }) }) + +describe("emitCommand: paired command fallback", () => { + const queryFields = [ + { name: "query", type: "string" as const, required: true }, + { name: "cursor", type: "string" as const, required: false, description: "Opaque cursor from path_prefix search" }, + { name: "path_prefix", type: "string" as const, required: false }, + ] + const out = emitCommand({ + operationId: "drive_search", + method: "get", + path: "/drive/libraries/{id}/search", + summary: "Search one library", + xCli: { command: "drive search", positional: ["id"], display: { shape: "list", columns: ["path", "snippet"] } }, + bodyFields: [], + pathParams: ["id"], + queryFields, + fallback: { + operationId: "drive_workspace_search", + summary: "Search the Workspace", + description: "Workspace-wide search.", + xCli: { command: "drive search", display: { shape: "list", columns: ["library_id", "path", "snippet"] } }, + queryFields, + }, + })! + + it("declares the positional optional with fallback help text", () => { + expect(out).toContain('.argument("[id]", "id; omit to search the Workspace")') + expect(out).toContain('.description("Search the Workspace")') + expect(out).toContain("Workspace-wide search.") + expect(out).toContain('.option("--path-prefix ", "path_prefix")') + }) + + it("branches to the fallback operation when the positional is omitted", () => { + expect(out).toContain("import { driveSearch, driveWorkspaceSearch } from") + expect(out).toContain("if (id === undefined) {") + expect(out).toContain("operation: driveWorkspaceSearch,") + expect(out).toContain("operation: driveSearch,") + expect(out).toContain('kind: "drive_workspace_search", display: {"shape":"list","columns":["library_id","path","snippet"]}') + expect(out).toContain('kind: "drive_search", display: {"shape":"list","columns":["path","snippet"]}') + expect(out.indexOf("operation: driveWorkspaceSearch")).toBeLessThan(out.indexOf("operation: driveSearch,")) + }) +}) diff --git a/tools/cli-codegen/emit.ts b/tools/cli-codegen/emit.ts index 0bfda9d..7519601 100644 --- a/tools/cli-codegen/emit.ts +++ b/tools/cli-codegen/emit.ts @@ -56,6 +56,14 @@ export interface EmitInput { bodyFields: BodyField[] pathParams?: string[] queryFields?: BodyField[] + /** Paired Command: op with the same x-cli command but no path params, called when the positional is omitted */ + fallback?: { + operationId: string + summary?: string + description?: string + xCli: XCli + queryFields: BodyField[] + } /** Number of directory segments in the output file path (e.g. "todo/add.ts" → depth 2) */ depth?: number } @@ -230,6 +238,10 @@ export function emitCommand(input: EmitInput): string | null { // Check in pathParams first (always required), then bodyFields const isPathParam = pathParamSet.has(name) const field = isPathParam ? undefined : input.bodyFields.find((f) => f.name === name) + if (isPathParam && input.fallback) { + const omitHelp = (input.fallback.summary ?? input.fallback.xCli.command).replace(/^./, (c) => c.toLowerCase()) + return `.argument("[${name}]", ${JSON.stringify(`${name}; omit to ${omitHelp}`)})` + } const required = isPathParam || (field?.required ?? true) return `.argument("${required ? `<${name}>` : `[${name}]`}", "${name}")` }) @@ -278,9 +290,10 @@ export function emitCommand(input: EmitInput): string | null { const fixedQueryKeys = new Set(Object.keys(input.xCli.fixedQuery ?? {})) // Options from query fields (skip positional, path params, and fixedQuery-shadowed fields) - const queryOptionFields = queryFields.filter( - (f) => !positionalSet.has(f.name) && !pathParamSet.has(f.name) && !fixedQueryKeys.has(f.name), - ) + const queryOptionFields = [ + ...queryFields, + ...(input.fallback?.queryFields ?? []).filter((f) => !queryFields.some((q) => q.name === f.name)), + ].filter((f) => !positionalSet.has(f.name) && !pathParamSet.has(f.name) && !fixedQueryKeys.has(f.name)) const queryOptions = queryOptionFields.map(emitFieldOption) // Virtual x-cli options: option keys that map to no existing body/query field @@ -436,16 +449,18 @@ export function emitCommand(input: EmitInput): string | null { } // Build query block (dynamic query fields + constant fixedQuery). - const queryOptLines = queryFields - .filter((f) => !positionalSet.has(f.name) && !pathParamSet.has(f.name) && !fixedQueryKeys.has(f.name)) - .map((f) => { - const optKey = fieldToOptionKey[f.name] - if (optKey !== undefined) { - return ` ${f.name}: ${valueExprForOption(optKey)},` - } - const { longFlag } = resolveAlias(f.name) - return ` ${f.name}: opts.${kebabToCamel(longFlag)},` - }) + const queryLines = (fields: BodyField[]) => + fields + .filter((f) => !positionalSet.has(f.name) && !pathParamSet.has(f.name) && !fixedQueryKeys.has(f.name)) + .map((f) => { + const optKey = fieldToOptionKey[f.name] + if (optKey !== undefined) { + return ` ${f.name}: ${valueExprForOption(optKey)},` + } + const { longFlag } = resolveAlias(f.name) + return ` ${f.name}: opts.${kebabToCamel(longFlag)},` + }) + const queryOptLines = queryLines(queryFields) const fixedQueryLines = Object.entries(input.xCli.fixedQuery ?? {}).map( ([k, v]) => ` ${k}: ${JSON.stringify(v)},`, ) @@ -613,7 +628,7 @@ export function emitCommand(input: EmitInput): string | null { // Build import list — only include helpers actually used. const imports: string[] = [ `import { Command } from "commander"`, - `import { ${[fnName, ...((input.operationId === "event_update" && hasSeriesTimeZoneParser) || hasOccurrenceTimeParser ? ["eventGet"] : [])].join(", ")} } from "${sdkRelPrefix}sdk/index.js"`, + `import { ${[fnName, ...(input.fallback ? [snakeToCamel(input.fallback.operationId)] : []), ...((input.operationId === "event_update" && hasSeriesTimeZoneParser) || hasOccurrenceTimeParser ? ["eventGet"] : [])].join(", ")} } from "${sdkRelPrefix}sdk/index.js"`, `import { runSdkCommand } from "${handwrittenRelPrefix}handwritten/commands/run-sdk-command.js"`, ] if (hasDatetimeParser) { @@ -646,13 +661,32 @@ export function emitCommand(input: EmitInput): string | null { ) } + const fallbackLines: string[] = [] + if (input.fallback) { + const fallbackQuery = queryLines(input.fallback.queryFields) + const fallbackDisplay = input.fallback.xCli.display ? JSON.stringify(input.fallback.xCli.display) : "undefined" + fallbackLines.push( + ` if (${pathPositionals[0]} === undefined) {`, + ` await runSdkCommand({`, + ` operation: ${snakeToCamel(input.fallback.operationId)},`, + ` input: {`, + ...(fallbackQuery.length > 0 ? [` query: {`, ...fallbackQuery.map((line) => ` ${line}`), ` },`] : []), + ` },`, + ` context: { kind: ${JSON.stringify(input.fallback.operationId)}, display: ${fallbackDisplay} },`, + ` })`, + ` return`, + ` }`, + ) + } + let helpTextCall = "" const helpParts: string[] = [] - if (input.description) { - helpParts.push(input.description) + const doc = input.fallback ?? input + if (doc.description) { + helpParts.push(doc.description) } - if (input.xCli.examples && input.xCli.examples.length > 0) { - helpParts.push("Examples:\n" + input.xCli.examples.map((ex) => ` $ ${ex}`).join("\n")) + if (doc.xCli.examples && doc.xCli.examples.length > 0) { + helpParts.push("Examples:\n" + doc.xCli.examples.map((ex) => ` $ ${ex}`).join("\n")) } if (helpParts.length > 0) { helpTextCall = `\n .addHelpText("after", ${JSON.stringify("\n" + helpParts.join("\n\n") + "\n")})` @@ -663,11 +697,12 @@ export function emitCommand(input: EmitInput): string | null { ...imports, ``, `export const ${fnName}Command = new Command(${JSON.stringify(cmdLeaf)})`, - ` .description(${JSON.stringify(input.summary ?? input.xCli.command)})${helpTextCall}`, + ` .description(${JSON.stringify(doc.summary ?? doc.xCli.command)})${helpTextCall}`, ...args.map((a) => ` ${a}`), ...options.map((o) => ` ${o}`), ` .action(async (${[...argNames, "opts"].join(", ")}) => {`, ...conversionLines, + ...fallbackLines, ` ${exitOnField ? "const data = " : ""}await runSdkCommand({`, ` operation: ${fnName},`, ` input: {`, diff --git a/tools/cli-codegen/main.test.ts b/tools/cli-codegen/main.test.ts index 675cf4c..07f1e7f 100644 --- a/tools/cli-codegen/main.test.ts +++ b/tools/cli-codegen/main.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest" -import { shouldSkipRoute, extractQueryFields } from "./main.js" +import { shouldSkipRoute, extractQueryFields, groupCommands } from "./main.js" describe("cli-codegen route skip predicate", () => { it("keeps regular CLI commands", () => { @@ -56,3 +56,38 @@ describe("cli-codegen extractQueryFields: booleanFlags from x-cli", () => { expect(fields[0]?.boolFlag).toBe(false) }) }) + +describe("cli-codegen groupCommands: paired commands", () => { + const workspace = { + routePath: "/drive/search", + method: "get", + op: { operationId: "drive_workspace_search", "x-cli": { command: "drive search" } }, + } + const library = { + routePath: "/drive/libraries/{id}/search", + method: "get", + op: { + operationId: "drive_search", + parameters: [{ name: "id", in: "path" as const, required: true }], + "x-cli": { command: "drive search", positional: ["id"] }, + }, + } + + it("pairs a same-command op without path params as the fallback of the one with a path param", () => { + expect(groupCommands([workspace, library])).toEqual([{ ...library, fallback: workspace }]) + }) + + it("keeps distinct commands separate", () => { + const other = { ...workspace, op: { ...workspace.op, "x-cli": { command: "drive ls" } } } + expect(groupCommands([other, library])).toEqual([other, library]) + }) + + it("throws with both operationIds when duplicates are not a pair", () => { + const twin = { ...library, op: { ...library.op, operationId: "drive_search_v2" } } + expect(() => groupCommands([library, twin])).toThrow(/drive_search.*drive_search_v2/) + }) + + it("throws when three ops share a command", () => { + expect(() => groupCommands([workspace, library, workspace])).toThrow(/drive search/) + }) +}) diff --git a/tools/cli-codegen/main.ts b/tools/cli-codegen/main.ts index bc189d6..696c9b9 100644 --- a/tools/cli-codegen/main.ts +++ b/tools/cli-codegen/main.ts @@ -132,6 +132,32 @@ export function extractQueryFields(op: OperationLike): BodyField[] { })) } +export interface RouteOp { + routePath: string + method: string + op: OperationLike & { operationId: string; "x-cli": XCli } +} + +// Two ops sharing an x-cli command form a Paired Command when exactly one has +// path params: it becomes the primary, the other its no-positional fallback. +export function groupCommands(routes: RouteOp[]): (RouteOp & { fallback?: RouteOp })[] { + const byCommand = new Map() + for (const r of routes) { + const command = r.op["x-cli"].command + byCommand.set(command, [...(byCommand.get(command) ?? []), r]) + } + return [...byCommand.entries()].map(([command, group]) => { + if (group.length === 1) return group[0]! + const withPath = group.filter((r) => extractPathParams(r.op).length > 0) + const withoutPath = group.filter((r) => extractPathParams(r.op).length === 0) + if (group.length !== 2 || withPath.length !== 1) { + const ids = group.map((r) => r.op.operationId).join(", ") + throw new Error(`x-cli command "${command}" is shared by ${ids} but is not a Paired Command`) + } + return { ...withPath[0]!, fallback: withoutPath[0]! } + }) +} + interface EmittedCmd { commandPath: string[] filePath: string // relative to OUT_DIR @@ -208,37 +234,46 @@ async function main(): Promise { const emitted: EmittedCmd[] = [] + const routes: RouteOp[] = [] for (const [routePath, methods] of Object.entries(spec.paths)) { for (const [method, op] of Object.entries(methods)) { if (!op.operationId || !op["x-cli"] || shouldSkipRoute(op["x-cli"])) continue - const bodyFields = extractBodyFields(op, spec) - const pathParams = extractPathParams(op) - const queryFields = extractQueryFields(op) - const code = emitCommand({ - operationId: op.operationId, - method, - path: routePath, - summary: op.summary, - description: op.description, - xCli: op["x-cli"], - bodyFields, - pathParams, - queryFields, - }) - if (code === null) continue + routes.push({ routePath, method, op: op as RouteOp["op"] }) + } + } - const parts = op["x-cli"].command.split(/\s+/) - const relFile = `${parts.join("/")}.ts` - const filePath = join(OUT_DIR, relFile) - await fs.mkdir(join(OUT_DIR, ...parts.slice(0, -1)), { recursive: true }) - await fs.writeFile(filePath, code) + for (const { routePath, method, op, fallback } of groupCommands(routes)) { + const code = emitCommand({ + operationId: op.operationId, + method, + path: routePath, + summary: op.summary, + description: op.description, + xCli: op["x-cli"], + bodyFields: extractBodyFields(op, spec), + pathParams: extractPathParams(op), + queryFields: extractQueryFields(op), + fallback: fallback && { + operationId: fallback.op.operationId, + summary: fallback.op.summary, + description: fallback.op.description, + xCli: fallback.op["x-cli"], + queryFields: extractQueryFields(fallback.op), + }, + }) + if (code === null) continue - emitted.push({ - commandPath: parts, - filePath: relFile, - varName: `${snakeToCamel(op.operationId)}Command`, - }) - } + const parts = op["x-cli"].command.split(/\s+/) + const relFile = `${parts.join("/")}.ts` + const filePath = join(OUT_DIR, relFile) + await fs.mkdir(join(OUT_DIR, ...parts.slice(0, -1)), { recursive: true }) + await fs.writeFile(filePath, code) + + emitted.push({ + commandPath: parts, + filePath: relFile, + varName: `${snakeToCamel(op.operationId)}Command`, + }) } await fs.writeFile(join(OUT_DIR, "index.ts"), emitIndex(emitted))