@finueva/drive 0.29.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1886,6 +1886,156 @@ interface operations {
1886
1886
  };
1887
1887
  };
1888
1888
  };
1889
+ getWorkspaceCounts: {
1890
+ parameters: {
1891
+ query?: never;
1892
+ header?: never;
1893
+ path: {
1894
+ workspaceId: string;
1895
+ };
1896
+ cookie?: never;
1897
+ };
1898
+ requestBody?: never;
1899
+ responses: {
1900
+ /** @description Bounded counts; never a count of items the caller cannot list. */
1901
+ 200: {
1902
+ headers: {
1903
+ [name: string]: unknown;
1904
+ };
1905
+ content: {
1906
+ "application/json": {
1907
+ /** @enum {number} */
1908
+ ceiling: 999;
1909
+ counts: {
1910
+ allItems?: {
1911
+ capped: boolean;
1912
+ value: number;
1913
+ };
1914
+ favorites?: {
1915
+ capped: boolean;
1916
+ value: number;
1917
+ };
1918
+ media?: {
1919
+ capped: boolean;
1920
+ value: number;
1921
+ };
1922
+ sharedWithMe?: {
1923
+ capped: boolean;
1924
+ value: number;
1925
+ };
1926
+ trash?: {
1927
+ capped: boolean;
1928
+ value: number;
1929
+ };
1930
+ };
1931
+ workspaceId: string;
1932
+ };
1933
+ };
1934
+ };
1935
+ /** @description Authentication required. */
1936
+ 401: {
1937
+ headers: {
1938
+ [name: string]: unknown;
1939
+ };
1940
+ content: {
1941
+ "application/json": {
1942
+ error: {
1943
+ /** @enum {string} */
1944
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
1945
+ details: Record<string, never>;
1946
+ message: string;
1947
+ requestId: string;
1948
+ };
1949
+ };
1950
+ };
1951
+ };
1952
+ /** @description The action is not permitted. */
1953
+ 403: {
1954
+ headers: {
1955
+ [name: string]: unknown;
1956
+ };
1957
+ content: {
1958
+ "application/json": {
1959
+ error: {
1960
+ /** @enum {string} */
1961
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
1962
+ details: Record<string, never>;
1963
+ message: string;
1964
+ requestId: string;
1965
+ };
1966
+ };
1967
+ };
1968
+ };
1969
+ /** @description Workspace not found. */
1970
+ 404: {
1971
+ headers: {
1972
+ [name: string]: unknown;
1973
+ };
1974
+ content: {
1975
+ "application/json": {
1976
+ error: {
1977
+ /** @enum {string} */
1978
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
1979
+ details: Record<string, never>;
1980
+ message: string;
1981
+ requestId: string;
1982
+ };
1983
+ };
1984
+ };
1985
+ };
1986
+ /** @description The selected authority or page changed; restart the query. */
1987
+ 409: {
1988
+ headers: {
1989
+ [name: string]: unknown;
1990
+ };
1991
+ content: {
1992
+ "application/json": {
1993
+ error: {
1994
+ /** @enum {string} */
1995
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
1996
+ details: Record<string, never>;
1997
+ message: string;
1998
+ requestId: string;
1999
+ };
2000
+ };
2001
+ };
2002
+ };
2003
+ /** @description Invalid request or cursor. */
2004
+ 422: {
2005
+ headers: {
2006
+ [name: string]: unknown;
2007
+ };
2008
+ content: {
2009
+ "application/json": {
2010
+ error: {
2011
+ /** @enum {string} */
2012
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
2013
+ details: Record<string, never>;
2014
+ message: string;
2015
+ requestId: string;
2016
+ };
2017
+ };
2018
+ };
2019
+ };
2020
+ /** @description Authoritative state is unavailable. */
2021
+ 503: {
2022
+ headers: {
2023
+ [name: string]: unknown;
2024
+ };
2025
+ content: {
2026
+ "application/json": {
2027
+ error: {
2028
+ /** @enum {string} */
2029
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
2030
+ details: Record<string, never>;
2031
+ message: string;
2032
+ requestId: string;
2033
+ };
2034
+ };
2035
+ };
2036
+ };
2037
+ };
2038
+ };
1889
2039
  changeEditingSession: {
1890
2040
  parameters: {
1891
2041
  query?: never;
@@ -1973,14 +2123,9 @@ interface operations {
1973
2123
  };
1974
2124
  };
1975
2125
  };
1976
- listWorkspaceItems: {
2126
+ listFavoriteItems: {
1977
2127
  parameters: {
1978
2128
  query?: {
1979
- view?: "recent" | "shared" | "trash";
1980
- kind?: "file" | "folder";
1981
- creatorUserId?: string;
1982
- /** @description Comma-separated exact lowercase media types (1–32 unique values). Matches published current file versions, not filename extensions. */
1983
- mediaTypes?: string;
1984
2129
  limit?: number;
1985
2130
  cursor?: string;
1986
2131
  };
@@ -1992,7 +2137,7 @@ interface operations {
1992
2137
  };
1993
2138
  requestBody?: never;
1994
2139
  responses: {
1995
- /** @description Authorized items and an authenticated continuation; no total count. */
2140
+ /** @description Starred items in item order with an authenticated continuation; every item carries `favorite: true`. */
1996
2141
  200: {
1997
2142
  headers: {
1998
2143
  [name: string]: unknown;
@@ -2012,6 +2157,8 @@ interface operations {
2012
2157
  versionId: string;
2013
2158
  } | null;
2014
2159
  etag: string;
2160
+ /** @description Whether the caller starred the item. Present only when requested with `include=favorite` and always on favorite pages. */
2161
+ favorite?: boolean;
2015
2162
  itemId: string;
2016
2163
  /** @enum {string} */
2017
2164
  lifecycleState: "active" | "trashed";
@@ -2136,49 +2283,70 @@ interface operations {
2136
2283
  };
2137
2284
  };
2138
2285
  };
2139
- getItem: {
2286
+ listWorkspaceItems: {
2140
2287
  parameters: {
2141
- query?: never;
2288
+ query?: {
2289
+ view?: "recent" | "shared" | "trash";
2290
+ kind?: "file" | "folder";
2291
+ creatorUserId?: string;
2292
+ /** @description Comma-separated exact lowercase media types (1–32 unique values). Matches published current file versions, not filename extensions. */
2293
+ mediaTypes?: string;
2294
+ /** @description Project the caller's private star on each item. */
2295
+ include?: "favorite";
2296
+ limit?: number;
2297
+ cursor?: string;
2298
+ };
2142
2299
  header?: never;
2143
2300
  path: {
2144
2301
  workspaceId: string;
2145
- itemId: string;
2146
2302
  };
2147
2303
  cookie?: never;
2148
2304
  };
2149
2305
  requestBody?: never;
2150
2306
  responses: {
2151
- /** @description The active managed item and current published version metadata. */
2307
+ /** @description Authorized items and an authenticated continuation; no total count. */
2152
2308
  200: {
2153
2309
  headers: {
2154
- /** @description Strong precondition for the next item mutation. */
2155
- ETag?: string;
2156
2310
  [name: string]: unknown;
2157
2311
  };
2158
2312
  content: {
2159
2313
  "application/json": {
2160
- currentVersion: {
2161
- byteLength: number;
2162
- mediaType: string;
2314
+ items: {
2315
+ createdAtEpochMilliseconds: number | null;
2316
+ creatorUserId: string | null;
2317
+ currentVersion: {
2318
+ byteLength: number;
2319
+ mediaType: string;
2320
+ /** @enum {string} */
2321
+ protectionClassification: "ordinary" | "opaque-encrypted";
2322
+ /** @enum {string} */
2323
+ state: "current";
2324
+ versionId: string;
2325
+ } | null;
2326
+ etag: string;
2327
+ /** @description Whether the caller starred the item. Present only when requested with `include=favorite` and always on favorite pages. */
2328
+ favorite?: boolean;
2329
+ itemId: string;
2163
2330
  /** @enum {string} */
2164
- protectionClassification: "ordinary" | "opaque-encrypted";
2331
+ lifecycleState: "active" | "trashed";
2332
+ modifiedAtEpochMilliseconds: number | null;
2333
+ name: string;
2334
+ parentId: string | null;
2165
2335
  /** @enum {string} */
2166
- state: "current";
2167
- versionId: string;
2168
- } | null;
2169
- itemId: string;
2170
- /** @enum {string} */
2171
- lifecycleState: "active";
2172
- name: string;
2173
- parentId: string | null;
2174
- revision: number;
2175
- /** @enum {string} */
2176
- type: "file" | "folder";
2177
- workspaceId: string;
2336
+ provider: "managed";
2337
+ purgeAfterEpochMilliseconds: number | null;
2338
+ revision: number;
2339
+ trashedAtEpochMilliseconds: number | null;
2340
+ /** @enum {string} */
2341
+ type: "file" | "folder";
2342
+ volumeId: string;
2343
+ workspaceId: string;
2344
+ }[];
2345
+ nextCursor: string | null;
2178
2346
  };
2179
2347
  };
2180
2348
  };
2181
- /** @description A valid Drive user bearer credential is required. */
2349
+ /** @description Authentication required. */
2182
2350
  401: {
2183
2351
  headers: {
2184
2352
  [name: string]: unknown;
@@ -2187,16 +2355,15 @@ interface operations {
2187
2355
  "application/json": {
2188
2356
  error: {
2189
2357
  /** @enum {string} */
2190
- code: "authentication_required";
2358
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
2191
2359
  details: Record<string, never>;
2192
- /** @enum {string} */
2193
- message: "Authentication is required.";
2360
+ message: string;
2194
2361
  requestId: string;
2195
2362
  };
2196
2363
  };
2197
2364
  };
2198
2365
  };
2199
- /** @description Managed storage is disabled for the discoverable item. */
2366
+ /** @description The action is not permitted. */
2200
2367
  403: {
2201
2368
  headers: {
2202
2369
  [name: string]: unknown;
@@ -2205,16 +2372,15 @@ interface operations {
2205
2372
  "application/json": {
2206
2373
  error: {
2207
2374
  /** @enum {string} */
2208
- code: "permission_denied";
2375
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
2209
2376
  details: Record<string, never>;
2210
- /** @enum {string} */
2211
- message: "The requested action is not permitted.";
2377
+ message: string;
2212
2378
  requestId: string;
2213
2379
  };
2214
2380
  };
2215
2381
  };
2216
2382
  };
2217
- /** @description The item is absent, undiscoverable, tombstoned, or unpublished. */
2383
+ /** @description Workspace not found. */
2218
2384
  404: {
2219
2385
  headers: {
2220
2386
  [name: string]: unknown;
@@ -2223,16 +2389,15 @@ interface operations {
2223
2389
  "application/json": {
2224
2390
  error: {
2225
2391
  /** @enum {string} */
2226
- code: "resource_not_found";
2392
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
2227
2393
  details: Record<string, never>;
2228
- /** @enum {string} */
2229
- message: "The requested resource was not found.";
2394
+ message: string;
2230
2395
  requestId: string;
2231
2396
  };
2232
2397
  };
2233
2398
  };
2234
2399
  };
2235
- /** @description Authorization or metadata changed after preflight. */
2400
+ /** @description The selected authority or page changed; restart the query. */
2236
2401
  409: {
2237
2402
  headers: {
2238
2403
  [name: string]: unknown;
@@ -2241,16 +2406,15 @@ interface operations {
2241
2406
  "application/json": {
2242
2407
  error: {
2243
2408
  /** @enum {string} */
2244
- code: "precondition_failed";
2409
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
2245
2410
  details: Record<string, never>;
2246
- /** @enum {string} */
2247
- message: "The request precondition failed.";
2411
+ message: string;
2248
2412
  requestId: string;
2249
2413
  };
2250
2414
  };
2251
2415
  };
2252
2416
  };
2253
- /** @description The path, query, or unexpected body is invalid. */
2417
+ /** @description Invalid request or cursor. */
2254
2418
  422: {
2255
2419
  headers: {
2256
2420
  [name: string]: unknown;
@@ -2259,16 +2423,15 @@ interface operations {
2259
2423
  "application/json": {
2260
2424
  error: {
2261
2425
  /** @enum {string} */
2262
- code: "invalid_request";
2426
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
2263
2427
  details: Record<string, never>;
2264
- /** @enum {string} */
2265
- message: "The request is invalid.";
2428
+ message: string;
2266
2429
  requestId: string;
2267
2430
  };
2268
2431
  };
2269
2432
  };
2270
2433
  };
2271
- /** @description Identity, D1, authorization, capacity, or managed authority is unavailable. */
2434
+ /** @description Authoritative state is unavailable. */
2272
2435
  503: {
2273
2436
  headers: {
2274
2437
  [name: string]: unknown;
@@ -2277,19 +2440,9 @@ interface operations {
2277
2440
  "application/json": {
2278
2441
  error: {
2279
2442
  /** @enum {string} */
2280
- code: "identity_authority_unavailable";
2281
- details: Record<string, never>;
2282
- /** @enum {string} */
2283
- message: "Authentication is temporarily unavailable.";
2284
- requestId: string;
2285
- };
2286
- } | {
2287
- error: {
2288
- /** @enum {string} */
2289
- code: "service_unavailable";
2443
+ code: "authentication_required" | "identity_authority_unavailable" | "permission_denied" | "resource_not_found" | "invalid_request" | "invalid_pagination_cursor" | "precondition_failed" | "service_unavailable";
2290
2444
  details: Record<string, never>;
2291
- /** @enum {string} */
2292
- message: "The service is temporarily unavailable.";
2445
+ message: string;
2293
2446
  requestId: string;
2294
2447
  };
2295
2448
  };
@@ -2297,13 +2450,174 @@ interface operations {
2297
2450
  };
2298
2451
  };
2299
2452
  };
2300
- deleteItem: {
2453
+ getItem: {
2301
2454
  parameters: {
2302
2455
  query?: never;
2303
- header: {
2304
- "Idempotency-Key": string;
2305
- "If-Match": string;
2306
- };
2456
+ header?: never;
2457
+ path: {
2458
+ workspaceId: string;
2459
+ itemId: string;
2460
+ };
2461
+ cookie?: never;
2462
+ };
2463
+ requestBody?: never;
2464
+ responses: {
2465
+ /** @description The active managed item and current published version metadata. */
2466
+ 200: {
2467
+ headers: {
2468
+ /** @description Strong precondition for the next item mutation. */
2469
+ ETag?: string;
2470
+ [name: string]: unknown;
2471
+ };
2472
+ content: {
2473
+ "application/json": {
2474
+ currentVersion: {
2475
+ byteLength: number;
2476
+ mediaType: string;
2477
+ /** @enum {string} */
2478
+ protectionClassification: "ordinary" | "opaque-encrypted";
2479
+ /** @enum {string} */
2480
+ state: "current";
2481
+ versionId: string;
2482
+ } | null;
2483
+ itemId: string;
2484
+ /** @enum {string} */
2485
+ lifecycleState: "active";
2486
+ name: string;
2487
+ parentId: string | null;
2488
+ revision: number;
2489
+ /** @enum {string} */
2490
+ type: "file" | "folder";
2491
+ workspaceId: string;
2492
+ };
2493
+ };
2494
+ };
2495
+ /** @description A valid Drive user bearer credential is required. */
2496
+ 401: {
2497
+ headers: {
2498
+ [name: string]: unknown;
2499
+ };
2500
+ content: {
2501
+ "application/json": {
2502
+ error: {
2503
+ /** @enum {string} */
2504
+ code: "authentication_required";
2505
+ details: Record<string, never>;
2506
+ /** @enum {string} */
2507
+ message: "Authentication is required.";
2508
+ requestId: string;
2509
+ };
2510
+ };
2511
+ };
2512
+ };
2513
+ /** @description Managed storage is disabled for the discoverable item. */
2514
+ 403: {
2515
+ headers: {
2516
+ [name: string]: unknown;
2517
+ };
2518
+ content: {
2519
+ "application/json": {
2520
+ error: {
2521
+ /** @enum {string} */
2522
+ code: "permission_denied";
2523
+ details: Record<string, never>;
2524
+ /** @enum {string} */
2525
+ message: "The requested action is not permitted.";
2526
+ requestId: string;
2527
+ };
2528
+ };
2529
+ };
2530
+ };
2531
+ /** @description The item is absent, undiscoverable, tombstoned, or unpublished. */
2532
+ 404: {
2533
+ headers: {
2534
+ [name: string]: unknown;
2535
+ };
2536
+ content: {
2537
+ "application/json": {
2538
+ error: {
2539
+ /** @enum {string} */
2540
+ code: "resource_not_found";
2541
+ details: Record<string, never>;
2542
+ /** @enum {string} */
2543
+ message: "The requested resource was not found.";
2544
+ requestId: string;
2545
+ };
2546
+ };
2547
+ };
2548
+ };
2549
+ /** @description Authorization or metadata changed after preflight. */
2550
+ 409: {
2551
+ headers: {
2552
+ [name: string]: unknown;
2553
+ };
2554
+ content: {
2555
+ "application/json": {
2556
+ error: {
2557
+ /** @enum {string} */
2558
+ code: "precondition_failed";
2559
+ details: Record<string, never>;
2560
+ /** @enum {string} */
2561
+ message: "The request precondition failed.";
2562
+ requestId: string;
2563
+ };
2564
+ };
2565
+ };
2566
+ };
2567
+ /** @description The path, query, or unexpected body is invalid. */
2568
+ 422: {
2569
+ headers: {
2570
+ [name: string]: unknown;
2571
+ };
2572
+ content: {
2573
+ "application/json": {
2574
+ error: {
2575
+ /** @enum {string} */
2576
+ code: "invalid_request";
2577
+ details: Record<string, never>;
2578
+ /** @enum {string} */
2579
+ message: "The request is invalid.";
2580
+ requestId: string;
2581
+ };
2582
+ };
2583
+ };
2584
+ };
2585
+ /** @description Identity, D1, authorization, capacity, or managed authority is unavailable. */
2586
+ 503: {
2587
+ headers: {
2588
+ [name: string]: unknown;
2589
+ };
2590
+ content: {
2591
+ "application/json": {
2592
+ error: {
2593
+ /** @enum {string} */
2594
+ code: "identity_authority_unavailable";
2595
+ details: Record<string, never>;
2596
+ /** @enum {string} */
2597
+ message: "Authentication is temporarily unavailable.";
2598
+ requestId: string;
2599
+ };
2600
+ } | {
2601
+ error: {
2602
+ /** @enum {string} */
2603
+ code: "service_unavailable";
2604
+ details: Record<string, never>;
2605
+ /** @enum {string} */
2606
+ message: "The service is temporarily unavailable.";
2607
+ requestId: string;
2608
+ };
2609
+ };
2610
+ };
2611
+ };
2612
+ };
2613
+ };
2614
+ deleteItem: {
2615
+ parameters: {
2616
+ query?: never;
2617
+ header: {
2618
+ "Idempotency-Key": string;
2619
+ "If-Match": string;
2620
+ };
2307
2621
  path: {
2308
2622
  workspaceId: string;
2309
2623
  itemId: string;
@@ -2915,8 +3229,8 @@ interface operations {
2915
3229
  query?: {
2916
3230
  limit?: number;
2917
3231
  cursor?: string;
2918
- /** @description Opt in to current version size and type, creation and modification time, creator, and effective owner on every item. Absent keeps the minimal item shape. */
2919
- include?: "metadata";
3232
+ /** @description Opt in to current version size and type, creation and modification time, creator, and effective owner (`metadata`) and to the caller's private star (`favorite`) on every item. Absent keeps the minimal item shape. */
3233
+ include?: "metadata" | "favorite" | "favorite,metadata" | "metadata,favorite";
2920
3234
  };
2921
3235
  header?: never;
2922
3236
  path: {
@@ -2946,6 +3260,8 @@ interface operations {
2946
3260
  state: "current";
2947
3261
  versionId: string;
2948
3262
  } | null;
3263
+ /** @description The caller's private star; present with `include=favorite`. */
3264
+ favorite?: boolean;
2949
3265
  itemId: string;
2950
3266
  /** @enum {string} */
2951
3267
  kind: "file" | "folder";
@@ -3624,52 +3940,32 @@ interface operations {
3624
3940
  };
3625
3941
  };
3626
3942
  };
3627
- transferItemOwnership: {
3943
+ starItem: {
3628
3944
  parameters: {
3629
3945
  query?: never;
3630
- header: {
3631
- "Idempotency-Key": string;
3632
- "If-Match": string;
3633
- };
3946
+ header?: never;
3634
3947
  path: {
3635
3948
  workspaceId: string;
3636
3949
  itemId: string;
3637
3950
  };
3638
3951
  cookie?: never;
3639
3952
  };
3640
- requestBody: {
3641
- content: {
3642
- "application/json": {
3643
- includeDescendants: boolean;
3644
- ownerUserId: string;
3645
- revokeVisitorGrants: boolean;
3646
- };
3647
- };
3648
- };
3953
+ requestBody?: never;
3649
3954
  responses: {
3650
- /** @description Ownership was transferred or the exact result was replayed. */
3955
+ /** @description The item is starred. */
3651
3956
  200: {
3652
3957
  headers: {
3653
- /** @description Strong precondition for the next item mutation. */
3654
- ETag?: string;
3655
3958
  [name: string]: unknown;
3656
3959
  };
3657
3960
  content: {
3658
3961
  "application/json": {
3962
+ favorite: boolean;
3659
3963
  itemId: string;
3660
- /** @enum {string} */
3661
- kind: "file" | "folder";
3662
- ownerUserId: string;
3663
- previousOwnerUserId: string | null;
3664
- revision: number;
3665
- revokedVisitorGrantCount: number;
3666
- transferredItemCount: number;
3667
- volumeId: string;
3668
3964
  workspaceId: string;
3669
3965
  };
3670
3966
  };
3671
3967
  };
3672
- /** @description A valid Drive user bearer credential is required. */
3968
+ /** @description Authentication required. */
3673
3969
  401: {
3674
3970
  headers: {
3675
3971
  [name: string]: unknown;
@@ -3678,16 +3974,19 @@ interface operations {
3678
3974
  "application/json": {
3679
3975
  error: {
3680
3976
  /** @enum {string} */
3681
- code: "authentication_required";
3682
- details: Record<string, never>;
3977
+ code: "authentication_required" | "identity_authority_unavailable" | "resource_not_found" | "invalid_request" | "precondition_failed" | "service_unavailable";
3978
+ details: {
3979
+ /** @enum {string} */
3980
+ reason?: "favorite_limit_reached";
3981
+ };
3683
3982
  message: string;
3684
3983
  requestId: string;
3685
3984
  };
3686
3985
  };
3687
3986
  };
3688
3987
  };
3689
- /** @description The caller is not an owner or administrator of this organization workspace, or managed storage is disabled. */
3690
- 403: {
3988
+ /** @description Workspace not found, or the item is not one the caller can list. */
3989
+ 404: {
3691
3990
  headers: {
3692
3991
  [name: string]: unknown;
3693
3992
  };
@@ -3695,16 +3994,19 @@ interface operations {
3695
3994
  "application/json": {
3696
3995
  error: {
3697
3996
  /** @enum {string} */
3698
- code: "permission_denied";
3699
- details: Record<string, never>;
3997
+ code: "authentication_required" | "identity_authority_unavailable" | "resource_not_found" | "invalid_request" | "precondition_failed" | "service_unavailable";
3998
+ details: {
3999
+ /** @enum {string} */
4000
+ reason?: "favorite_limit_reached";
4001
+ };
3700
4002
  message: string;
3701
4003
  requestId: string;
3702
4004
  };
3703
4005
  };
3704
4006
  };
3705
4007
  };
3706
- /** @description The workspace or item is absent or undiscoverable. */
3707
- 404: {
4008
+ /** @description The captured authority changed; retry. `favorite_limit_reached` means the caller keeps the maximum number of stars. */
4009
+ 409: {
3708
4010
  headers: {
3709
4011
  [name: string]: unknown;
3710
4012
  };
@@ -3712,16 +4014,19 @@ interface operations {
3712
4014
  "application/json": {
3713
4015
  error: {
3714
4016
  /** @enum {string} */
3715
- code: "resource_not_found";
3716
- details: Record<string, never>;
4017
+ code: "authentication_required" | "identity_authority_unavailable" | "resource_not_found" | "invalid_request" | "precondition_failed" | "service_unavailable";
4018
+ details: {
4019
+ /** @enum {string} */
4020
+ reason?: "favorite_limit_reached";
4021
+ };
3717
4022
  message: string;
3718
4023
  requestId: string;
3719
4024
  };
3720
4025
  };
3721
4026
  };
3722
4027
  };
3723
- /** @description The key conflicts, the precondition is stale, or the transfer was refused with a reason. */
3724
- 409: {
4028
+ /** @description Invalid request. */
4029
+ 422: {
3725
4030
  headers: {
3726
4031
  [name: string]: unknown;
3727
4032
  };
@@ -3729,10 +4034,30 @@ interface operations {
3729
4034
  "application/json": {
3730
4035
  error: {
3731
4036
  /** @enum {string} */
3732
- code: "idempotency_conflict" | "precondition_failed";
4037
+ code: "authentication_required" | "identity_authority_unavailable" | "resource_not_found" | "invalid_request" | "precondition_failed" | "service_unavailable";
3733
4038
  details: {
3734
4039
  /** @enum {string} */
3735
- reason?: "ownership_unchanged" | "ownership_successor_not_member" | "ownership_restricted_items" | "ownership_subtree_too_large";
4040
+ reason?: "favorite_limit_reached";
4041
+ };
4042
+ message: string;
4043
+ requestId: string;
4044
+ };
4045
+ };
4046
+ };
4047
+ };
4048
+ /** @description Authoritative state is unavailable. */
4049
+ 503: {
4050
+ headers: {
4051
+ [name: string]: unknown;
4052
+ };
4053
+ content: {
4054
+ "application/json": {
4055
+ error: {
4056
+ /** @enum {string} */
4057
+ code: "authentication_required" | "identity_authority_unavailable" | "resource_not_found" | "invalid_request" | "precondition_failed" | "service_unavailable";
4058
+ details: {
4059
+ /** @enum {string} */
4060
+ reason?: "favorite_limit_reached";
3736
4061
  };
3737
4062
  message: string;
3738
4063
  requestId: string;
@@ -3740,8 +4065,676 @@ interface operations {
3740
4065
  };
3741
4066
  };
3742
4067
  };
3743
- /** @description The path, query, headers, key or strict body is invalid. */
3744
- 422: {
4068
+ };
4069
+ };
4070
+ unstarItem: {
4071
+ parameters: {
4072
+ query?: never;
4073
+ header?: never;
4074
+ path: {
4075
+ workspaceId: string;
4076
+ itemId: string;
4077
+ };
4078
+ cookie?: never;
4079
+ };
4080
+ requestBody?: never;
4081
+ responses: {
4082
+ /** @description The item is not starred. */
4083
+ 200: {
4084
+ headers: {
4085
+ [name: string]: unknown;
4086
+ };
4087
+ content: {
4088
+ "application/json": {
4089
+ favorite: boolean;
4090
+ itemId: string;
4091
+ workspaceId: string;
4092
+ };
4093
+ };
4094
+ };
4095
+ /** @description Authentication required. */
4096
+ 401: {
4097
+ headers: {
4098
+ [name: string]: unknown;
4099
+ };
4100
+ content: {
4101
+ "application/json": {
4102
+ error: {
4103
+ /** @enum {string} */
4104
+ code: "authentication_required" | "identity_authority_unavailable" | "resource_not_found" | "invalid_request" | "precondition_failed" | "service_unavailable";
4105
+ details: {
4106
+ /** @enum {string} */
4107
+ reason?: "favorite_limit_reached";
4108
+ };
4109
+ message: string;
4110
+ requestId: string;
4111
+ };
4112
+ };
4113
+ };
4114
+ };
4115
+ /** @description Workspace not found, or the item is not one the caller can list. */
4116
+ 404: {
4117
+ headers: {
4118
+ [name: string]: unknown;
4119
+ };
4120
+ content: {
4121
+ "application/json": {
4122
+ error: {
4123
+ /** @enum {string} */
4124
+ code: "authentication_required" | "identity_authority_unavailable" | "resource_not_found" | "invalid_request" | "precondition_failed" | "service_unavailable";
4125
+ details: {
4126
+ /** @enum {string} */
4127
+ reason?: "favorite_limit_reached";
4128
+ };
4129
+ message: string;
4130
+ requestId: string;
4131
+ };
4132
+ };
4133
+ };
4134
+ };
4135
+ /** @description The captured authority changed; retry. `favorite_limit_reached` means the caller keeps the maximum number of stars. */
4136
+ 409: {
4137
+ headers: {
4138
+ [name: string]: unknown;
4139
+ };
4140
+ content: {
4141
+ "application/json": {
4142
+ error: {
4143
+ /** @enum {string} */
4144
+ code: "authentication_required" | "identity_authority_unavailable" | "resource_not_found" | "invalid_request" | "precondition_failed" | "service_unavailable";
4145
+ details: {
4146
+ /** @enum {string} */
4147
+ reason?: "favorite_limit_reached";
4148
+ };
4149
+ message: string;
4150
+ requestId: string;
4151
+ };
4152
+ };
4153
+ };
4154
+ };
4155
+ /** @description Invalid request. */
4156
+ 422: {
4157
+ headers: {
4158
+ [name: string]: unknown;
4159
+ };
4160
+ content: {
4161
+ "application/json": {
4162
+ error: {
4163
+ /** @enum {string} */
4164
+ code: "authentication_required" | "identity_authority_unavailable" | "resource_not_found" | "invalid_request" | "precondition_failed" | "service_unavailable";
4165
+ details: {
4166
+ /** @enum {string} */
4167
+ reason?: "favorite_limit_reached";
4168
+ };
4169
+ message: string;
4170
+ requestId: string;
4171
+ };
4172
+ };
4173
+ };
4174
+ };
4175
+ /** @description Authoritative state is unavailable. */
4176
+ 503: {
4177
+ headers: {
4178
+ [name: string]: unknown;
4179
+ };
4180
+ content: {
4181
+ "application/json": {
4182
+ error: {
4183
+ /** @enum {string} */
4184
+ code: "authentication_required" | "identity_authority_unavailable" | "resource_not_found" | "invalid_request" | "precondition_failed" | "service_unavailable";
4185
+ details: {
4186
+ /** @enum {string} */
4187
+ reason?: "favorite_limit_reached";
4188
+ };
4189
+ message: string;
4190
+ requestId: string;
4191
+ };
4192
+ };
4193
+ };
4194
+ };
4195
+ };
4196
+ };
4197
+ transferItemOwnership: {
4198
+ parameters: {
4199
+ query?: never;
4200
+ header: {
4201
+ "Idempotency-Key": string;
4202
+ "If-Match": string;
4203
+ };
4204
+ path: {
4205
+ workspaceId: string;
4206
+ itemId: string;
4207
+ };
4208
+ cookie?: never;
4209
+ };
4210
+ requestBody: {
4211
+ content: {
4212
+ "application/json": {
4213
+ includeDescendants: boolean;
4214
+ ownerUserId: string;
4215
+ revokeVisitorGrants: boolean;
4216
+ };
4217
+ };
4218
+ };
4219
+ responses: {
4220
+ /** @description Ownership was transferred or the exact result was replayed. */
4221
+ 200: {
4222
+ headers: {
4223
+ /** @description Strong precondition for the next item mutation. */
4224
+ ETag?: string;
4225
+ [name: string]: unknown;
4226
+ };
4227
+ content: {
4228
+ "application/json": {
4229
+ itemId: string;
4230
+ /** @enum {string} */
4231
+ kind: "file" | "folder";
4232
+ ownerUserId: string;
4233
+ previousOwnerUserId: string | null;
4234
+ revision: number;
4235
+ revokedVisitorGrantCount: number;
4236
+ transferredItemCount: number;
4237
+ volumeId: string;
4238
+ workspaceId: string;
4239
+ };
4240
+ };
4241
+ };
4242
+ /** @description A valid Drive user bearer credential is required. */
4243
+ 401: {
4244
+ headers: {
4245
+ [name: string]: unknown;
4246
+ };
4247
+ content: {
4248
+ "application/json": {
4249
+ error: {
4250
+ /** @enum {string} */
4251
+ code: "authentication_required";
4252
+ details: Record<string, never>;
4253
+ message: string;
4254
+ requestId: string;
4255
+ };
4256
+ };
4257
+ };
4258
+ };
4259
+ /** @description The caller is not an owner or administrator of this organization workspace, or managed storage is disabled. */
4260
+ 403: {
4261
+ headers: {
4262
+ [name: string]: unknown;
4263
+ };
4264
+ content: {
4265
+ "application/json": {
4266
+ error: {
4267
+ /** @enum {string} */
4268
+ code: "permission_denied";
4269
+ details: Record<string, never>;
4270
+ message: string;
4271
+ requestId: string;
4272
+ };
4273
+ };
4274
+ };
4275
+ };
4276
+ /** @description The workspace or item is absent or undiscoverable. */
4277
+ 404: {
4278
+ headers: {
4279
+ [name: string]: unknown;
4280
+ };
4281
+ content: {
4282
+ "application/json": {
4283
+ error: {
4284
+ /** @enum {string} */
4285
+ code: "resource_not_found";
4286
+ details: Record<string, never>;
4287
+ message: string;
4288
+ requestId: string;
4289
+ };
4290
+ };
4291
+ };
4292
+ };
4293
+ /** @description The key conflicts, the precondition is stale, or the transfer was refused with a reason. */
4294
+ 409: {
4295
+ headers: {
4296
+ [name: string]: unknown;
4297
+ };
4298
+ content: {
4299
+ "application/json": {
4300
+ error: {
4301
+ /** @enum {string} */
4302
+ code: "idempotency_conflict" | "precondition_failed";
4303
+ details: {
4304
+ /** @enum {string} */
4305
+ reason?: "ownership_unchanged" | "ownership_successor_not_member" | "ownership_restricted_items" | "ownership_subtree_too_large";
4306
+ };
4307
+ message: string;
4308
+ requestId: string;
4309
+ };
4310
+ };
4311
+ };
4312
+ };
4313
+ /** @description The path, query, headers, key or strict body is invalid. */
4314
+ 422: {
4315
+ headers: {
4316
+ [name: string]: unknown;
4317
+ };
4318
+ content: {
4319
+ "application/json": {
4320
+ error: {
4321
+ /** @enum {string} */
4322
+ code: "invalid_request" | "invalid_idempotency_key";
4323
+ details: Record<string, never>;
4324
+ message: string;
4325
+ requestId: string;
4326
+ };
4327
+ };
4328
+ };
4329
+ };
4330
+ /** @description Auth membership resolution is temporarily limited; retry after the indicated delay. */
4331
+ 429: {
4332
+ headers: {
4333
+ [name: string]: unknown;
4334
+ };
4335
+ content: {
4336
+ "application/json": {
4337
+ error: {
4338
+ /** @enum {string} */
4339
+ code: "rate_limited";
4340
+ details: Record<string, never>;
4341
+ message: string;
4342
+ requestId: string;
4343
+ };
4344
+ };
4345
+ };
4346
+ };
4347
+ /** @description Identity, Auth membership, D1, authorization or capacity authority is unavailable. */
4348
+ 503: {
4349
+ headers: {
4350
+ [name: string]: unknown;
4351
+ };
4352
+ content: {
4353
+ "application/json": {
4354
+ error: {
4355
+ /** @enum {string} */
4356
+ code: "identity_authority_unavailable" | "service_unavailable";
4357
+ details: Record<string, never>;
4358
+ message: string;
4359
+ requestId: string;
4360
+ };
4361
+ };
4362
+ };
4363
+ };
4364
+ };
4365
+ };
4366
+ listItemPermissions: {
4367
+ parameters: {
4368
+ query?: {
4369
+ limit?: number;
4370
+ cursor?: string;
4371
+ };
4372
+ header?: never;
4373
+ path: {
4374
+ workspaceId: string;
4375
+ itemId: string;
4376
+ };
4377
+ cookie?: never;
4378
+ };
4379
+ requestBody?: never;
4380
+ responses: {
4381
+ /** @description A stable permission page. */
4382
+ 200: {
4383
+ headers: {
4384
+ /** @description Current direct collection precondition for POST on this item. */
4385
+ "Drive-Permission-Collection-ETag"?: string;
4386
+ /** @description Strong validator for the exact returned permission-list representation. */
4387
+ ETag?: string;
4388
+ [name: string]: unknown;
4389
+ };
4390
+ content: {
4391
+ "application/json": {
4392
+ collectionEtag: string;
4393
+ collectionRevision: number;
4394
+ items: {
4395
+ actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
4396
+ /** @enum {string} */
4397
+ availability: "active" | "expired" | "revoked";
4398
+ etag: string;
4399
+ expiresAtEpochMilliseconds: number | null;
4400
+ grantId: string;
4401
+ grantee: {
4402
+ /** @enum {string} */
4403
+ type: "user";
4404
+ userId: string;
4405
+ } | {
4406
+ teamId: string;
4407
+ /** @enum {string} */
4408
+ type: "team";
4409
+ };
4410
+ revision: number;
4411
+ /** @enum {string} */
4412
+ source: "direct" | "inherited";
4413
+ sourceItemId: string;
4414
+ }[];
4415
+ nextCursor: string | null;
4416
+ };
4417
+ };
4418
+ };
4419
+ /** @description A valid Drive user bearer credential is required. */
4420
+ 401: {
4421
+ headers: {
4422
+ [name: string]: unknown;
4423
+ };
4424
+ content: {
4425
+ "application/json": {
4426
+ error: {
4427
+ /** @enum {string} */
4428
+ code: "authentication_required";
4429
+ details: Record<string, never>;
4430
+ /** @enum {string} */
4431
+ message: "Authentication is required.";
4432
+ requestId: string;
4433
+ };
4434
+ };
4435
+ };
4436
+ };
4437
+ /** @description The discoverable item does not permit this permission operation. */
4438
+ 403: {
4439
+ headers: {
4440
+ [name: string]: unknown;
4441
+ };
4442
+ content: {
4443
+ "application/json": {
4444
+ error: {
4445
+ /** @enum {string} */
4446
+ code: "permission_denied";
4447
+ details: Record<string, never>;
4448
+ /** @enum {string} */
4449
+ message: "The requested action is not permitted.";
4450
+ requestId: string;
4451
+ };
4452
+ };
4453
+ };
4454
+ };
4455
+ /** @description The item, principal, or direct grant is absent or undiscoverable. */
4456
+ 404: {
4457
+ headers: {
4458
+ [name: string]: unknown;
4459
+ };
4460
+ content: {
4461
+ "application/json": {
4462
+ error: {
4463
+ /** @enum {string} */
4464
+ code: "resource_not_found";
4465
+ details: Record<string, never>;
4466
+ /** @enum {string} */
4467
+ message: "The requested resource was not found.";
4468
+ requestId: string;
4469
+ };
4470
+ };
4471
+ };
4472
+ };
4473
+ /** @description The supplied revision or post-preflight authority is stale. */
4474
+ 412: {
4475
+ headers: {
4476
+ [name: string]: unknown;
4477
+ };
4478
+ content: {
4479
+ "application/json": {
4480
+ error: {
4481
+ /** @enum {string} */
4482
+ code: "precondition_failed";
4483
+ details: Record<string, never>;
4484
+ /** @enum {string} */
4485
+ message: "The request precondition failed.";
4486
+ requestId: string;
4487
+ };
4488
+ };
4489
+ };
4490
+ };
4491
+ /** @description The path, query, headers, or pagination cursor are invalid. */
4492
+ 422: {
4493
+ headers: {
4494
+ [name: string]: unknown;
4495
+ };
4496
+ content: {
4497
+ "application/json": {
4498
+ error: {
4499
+ /** @enum {string} */
4500
+ code: "invalid_request";
4501
+ details: Record<string, never>;
4502
+ /** @enum {string} */
4503
+ message: "The request is invalid.";
4504
+ requestId: string;
4505
+ };
4506
+ } | {
4507
+ error: {
4508
+ /** @enum {string} */
4509
+ code: "invalid_pagination_cursor";
4510
+ details: Record<string, never>;
4511
+ /** @enum {string} */
4512
+ message: "The pagination cursor is invalid.";
4513
+ requestId: string;
4514
+ };
4515
+ };
4516
+ };
4517
+ };
4518
+ /** @description Identity, D1, authorization, audit, cursor, or capacity authority is unavailable. */
4519
+ 503: {
4520
+ headers: {
4521
+ [name: string]: unknown;
4522
+ };
4523
+ content: {
4524
+ "application/json": {
4525
+ error: {
4526
+ /** @enum {string} */
4527
+ code: "identity_authority_unavailable";
4528
+ details: Record<string, never>;
4529
+ /** @enum {string} */
4530
+ message: "Authentication is temporarily unavailable.";
4531
+ requestId: string;
4532
+ };
4533
+ } | {
4534
+ error: {
4535
+ /** @enum {string} */
4536
+ code: "service_unavailable";
4537
+ details: Record<string, never>;
4538
+ /** @enum {string} */
4539
+ message: "The service is temporarily unavailable.";
4540
+ requestId: string;
4541
+ };
4542
+ };
4543
+ };
4544
+ };
4545
+ };
4546
+ };
4547
+ createItemPermission: {
4548
+ parameters: {
4549
+ query?: never;
4550
+ header: {
4551
+ "Idempotency-Key": string;
4552
+ "If-Match": string;
4553
+ };
4554
+ path: {
4555
+ workspaceId: string;
4556
+ itemId: string;
4557
+ };
4558
+ cookie?: never;
4559
+ };
4560
+ requestBody: {
4561
+ content: {
4562
+ "application/json": {
4563
+ actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
4564
+ expiresAtEpochMilliseconds: number | null;
4565
+ grantee: {
4566
+ /** @enum {string} */
4567
+ type: "user";
4568
+ userId: string;
4569
+ } | {
4570
+ teamId: string;
4571
+ /** @enum {string} */
4572
+ type: "team";
4573
+ };
4574
+ };
4575
+ };
4576
+ };
4577
+ responses: {
4578
+ /** @description The exact committed result was replayed. */
4579
+ 200: {
4580
+ headers: {
4581
+ /** @description Current direct collection precondition for the next POST. */
4582
+ "Drive-Permission-Collection-ETag"?: string;
4583
+ /** @description Current direct-grant precondition for PATCH or DELETE; omitted when the current row is not mutable. */
4584
+ "Drive-Permission-Grant-ETag"?: string;
4585
+ [name: string]: unknown;
4586
+ };
4587
+ content: {
4588
+ "application/json": {
4589
+ collectionRevision: number;
4590
+ grant: {
4591
+ actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
4592
+ /** @enum {string} */
4593
+ availability: "active" | "expired" | "revoked";
4594
+ expiresAtEpochMilliseconds: number | null;
4595
+ grantId: string;
4596
+ grantee: {
4597
+ /** @enum {string} */
4598
+ type: "user";
4599
+ userId: string;
4600
+ } | {
4601
+ teamId: string;
4602
+ /** @enum {string} */
4603
+ type: "team";
4604
+ };
4605
+ revision: number;
4606
+ /** @enum {string} */
4607
+ source: "direct";
4608
+ sourceItemId: string;
4609
+ };
4610
+ /** @enum {string} */
4611
+ outcome: "committed" | "replayed";
4612
+ };
4613
+ };
4614
+ };
4615
+ /** @description The direct grant was committed. */
4616
+ 201: {
4617
+ headers: {
4618
+ /** @description Current direct collection precondition for the next POST. */
4619
+ "Drive-Permission-Collection-ETag"?: string;
4620
+ /** @description Current direct-grant precondition for PATCH or DELETE; omitted when the current row is not mutable. */
4621
+ "Drive-Permission-Grant-ETag"?: string;
4622
+ [name: string]: unknown;
4623
+ };
4624
+ content: {
4625
+ "application/json": {
4626
+ collectionRevision: number;
4627
+ grant: {
4628
+ actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
4629
+ /** @enum {string} */
4630
+ availability: "active" | "expired" | "revoked";
4631
+ expiresAtEpochMilliseconds: number | null;
4632
+ grantId: string;
4633
+ grantee: {
4634
+ /** @enum {string} */
4635
+ type: "user";
4636
+ userId: string;
4637
+ } | {
4638
+ teamId: string;
4639
+ /** @enum {string} */
4640
+ type: "team";
4641
+ };
4642
+ revision: number;
4643
+ /** @enum {string} */
4644
+ source: "direct";
4645
+ sourceItemId: string;
4646
+ };
4647
+ /** @enum {string} */
4648
+ outcome: "committed" | "replayed";
4649
+ };
4650
+ };
4651
+ };
4652
+ /** @description A valid Drive user bearer credential is required. */
4653
+ 401: {
4654
+ headers: {
4655
+ [name: string]: unknown;
4656
+ };
4657
+ content: {
4658
+ "application/json": {
4659
+ error: {
4660
+ /** @enum {string} */
4661
+ code: "authentication_required";
4662
+ details: Record<string, never>;
4663
+ /** @enum {string} */
4664
+ message: "Authentication is required.";
4665
+ requestId: string;
4666
+ };
4667
+ };
4668
+ };
4669
+ };
4670
+ /** @description The discoverable item does not permit this permission operation. */
4671
+ 403: {
4672
+ headers: {
4673
+ [name: string]: unknown;
4674
+ };
4675
+ content: {
4676
+ "application/json": {
4677
+ error: {
4678
+ /** @enum {string} */
4679
+ code: "permission_denied";
4680
+ details: Record<string, never>;
4681
+ /** @enum {string} */
4682
+ message: "The requested action is not permitted.";
4683
+ requestId: string;
4684
+ };
4685
+ };
4686
+ };
4687
+ };
4688
+ /** @description The item, principal, or direct grant is absent or undiscoverable. */
4689
+ 404: {
4690
+ headers: {
4691
+ [name: string]: unknown;
4692
+ };
4693
+ content: {
4694
+ "application/json": {
4695
+ error: {
4696
+ /** @enum {string} */
4697
+ code: "resource_not_found";
4698
+ details: Record<string, never>;
4699
+ /** @enum {string} */
4700
+ message: "The requested resource was not found.";
4701
+ requestId: string;
4702
+ };
4703
+ };
4704
+ };
4705
+ };
4706
+ /** @description The idempotency key conflicts, or a permanent workspace sharing limit was reached. Sharing limit reasons are nonretryable. */
4707
+ 409: {
4708
+ headers: {
4709
+ [name: string]: unknown;
4710
+ };
4711
+ content: {
4712
+ "application/json": {
4713
+ error: {
4714
+ /** @enum {string} */
4715
+ code: "idempotency_conflict";
4716
+ details: Record<string, never>;
4717
+ /** @enum {string} */
4718
+ message: "The idempotency key conflicts with an earlier request.";
4719
+ requestId: string;
4720
+ };
4721
+ } | {
4722
+ error: {
4723
+ /** @enum {string} */
4724
+ code: "precondition_failed";
4725
+ details: {
4726
+ /** @enum {string} */
4727
+ reason: "sharing_grant_limit_reached" | "sharing_history_limit_reached";
4728
+ };
4729
+ /** @enum {string} */
4730
+ message: "The request precondition failed.";
4731
+ requestId: string;
4732
+ };
4733
+ };
4734
+ };
4735
+ };
4736
+ /** @description The supplied revision or post-preflight authority is stale. */
4737
+ 412: {
3745
4738
  headers: {
3746
4739
  [name: string]: unknown;
3747
4740
  };
@@ -3749,16 +4742,17 @@ interface operations {
3749
4742
  "application/json": {
3750
4743
  error: {
3751
4744
  /** @enum {string} */
3752
- code: "invalid_request" | "invalid_idempotency_key";
4745
+ code: "precondition_failed";
3753
4746
  details: Record<string, never>;
3754
- message: string;
4747
+ /** @enum {string} */
4748
+ message: "The request precondition failed.";
3755
4749
  requestId: string;
3756
4750
  };
3757
4751
  };
3758
4752
  };
3759
4753
  };
3760
- /** @description Auth membership resolution is temporarily limited; retry after the indicated delay. */
3761
- 429: {
4754
+ /** @description The path, query, headers, idempotency key, or body are invalid. */
4755
+ 422: {
3762
4756
  headers: {
3763
4757
  [name: string]: unknown;
3764
4758
  };
@@ -3766,15 +4760,25 @@ interface operations {
3766
4760
  "application/json": {
3767
4761
  error: {
3768
4762
  /** @enum {string} */
3769
- code: "rate_limited";
4763
+ code: "invalid_request";
3770
4764
  details: Record<string, never>;
3771
- message: string;
4765
+ /** @enum {string} */
4766
+ message: "The request is invalid.";
4767
+ requestId: string;
4768
+ };
4769
+ } | {
4770
+ error: {
4771
+ /** @enum {string} */
4772
+ code: "invalid_idempotency_key";
4773
+ details: Record<string, never>;
4774
+ /** @enum {string} */
4775
+ message: "The idempotency key is invalid.";
3772
4776
  requestId: string;
3773
4777
  };
3774
4778
  };
3775
4779
  };
3776
4780
  };
3777
- /** @description Identity, Auth membership, D1, authorization or capacity authority is unavailable. */
4781
+ /** @description Identity, D1, authorization, audit, cursor, or capacity authority is unavailable. */
3778
4782
  503: {
3779
4783
  headers: {
3780
4784
  [name: string]: unknown;
@@ -3783,9 +4787,19 @@ interface operations {
3783
4787
  "application/json": {
3784
4788
  error: {
3785
4789
  /** @enum {string} */
3786
- code: "identity_authority_unavailable" | "service_unavailable";
4790
+ code: "identity_authority_unavailable";
3787
4791
  details: Record<string, never>;
3788
- message: string;
4792
+ /** @enum {string} */
4793
+ message: "Authentication is temporarily unavailable.";
4794
+ requestId: string;
4795
+ };
4796
+ } | {
4797
+ error: {
4798
+ /** @enum {string} */
4799
+ code: "service_unavailable";
4800
+ details: Record<string, never>;
4801
+ /** @enum {string} */
4802
+ message: "The service is temporarily unavailable.";
3789
4803
  requestId: string;
3790
4804
  };
3791
4805
  };
@@ -3793,12 +4807,9 @@ interface operations {
3793
4807
  };
3794
4808
  };
3795
4809
  };
3796
- listItemPermissions: {
4810
+ readEffectiveItemPermissions: {
3797
4811
  parameters: {
3798
- query?: {
3799
- limit?: number;
3800
- cursor?: string;
3801
- };
4812
+ query?: never;
3802
4813
  header?: never;
3803
4814
  path: {
3804
4815
  workspaceId: string;
@@ -3808,41 +4819,22 @@ interface operations {
3808
4819
  };
3809
4820
  requestBody?: never;
3810
4821
  responses: {
3811
- /** @description A stable permission page. */
4822
+ /** @description All seven caller-specific item actions. */
3812
4823
  200: {
3813
4824
  headers: {
3814
- /** @description Current direct collection precondition for POST on this item. */
3815
- "Drive-Permission-Collection-ETag"?: string;
3816
- /** @description Strong validator for the exact returned permission-list representation. */
3817
- ETag?: string;
3818
4825
  [name: string]: unknown;
3819
4826
  };
3820
4827
  content: {
3821
4828
  "application/json": {
3822
- collectionEtag: string;
3823
- collectionRevision: number;
3824
- items: {
3825
- actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
3826
- /** @enum {string} */
3827
- availability: "active" | "expired" | "revoked";
3828
- etag: string;
3829
- expiresAtEpochMilliseconds: number | null;
3830
- grantId: string;
3831
- grantee: {
3832
- /** @enum {string} */
3833
- type: "user";
3834
- userId: string;
3835
- } | {
3836
- teamId: string;
3837
- /** @enum {string} */
3838
- type: "team";
3839
- };
3840
- revision: number;
4829
+ actions: {
3841
4830
  /** @enum {string} */
3842
- source: "direct" | "inherited";
3843
- sourceItemId: string;
3844
- }[];
3845
- nextCursor: string | null;
4831
+ action: "items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:manage" | "items:permissions:read" | "items:update";
4832
+ allowed: boolean;
4833
+ /** @enum {string|null} */
4834
+ basis: "workspace_visibility" | "restricted_administrator_bypass" | "item_owner" | "direct_grant" | "inherited_grant" | null;
4835
+ grantId: string | null;
4836
+ sourceItemId: string | null;
4837
+ }[] & (unknown & unknown & unknown & unknown & unknown & unknown & unknown);
3846
4838
  };
3847
4839
  };
3848
4840
  };
@@ -3918,7 +4910,7 @@ interface operations {
3918
4910
  };
3919
4911
  };
3920
4912
  };
3921
- /** @description The path, query, headers, or pagination cursor are invalid. */
4913
+ /** @description The path, query, headers, or body are invalid. */
3922
4914
  422: {
3923
4915
  headers: {
3924
4916
  [name: string]: unknown;
@@ -3933,15 +4925,6 @@ interface operations {
3933
4925
  message: "The request is invalid.";
3934
4926
  requestId: string;
3935
4927
  };
3936
- } | {
3937
- error: {
3938
- /** @enum {string} */
3939
- code: "invalid_pagination_cursor";
3940
- details: Record<string, never>;
3941
- /** @enum {string} */
3942
- message: "The pagination cursor is invalid.";
3943
- requestId: string;
3944
- };
3945
4928
  };
3946
4929
  };
3947
4930
  };
@@ -3974,7 +4957,7 @@ interface operations {
3974
4957
  };
3975
4958
  };
3976
4959
  };
3977
- createItemPermission: {
4960
+ createInternalItemPermission: {
3978
4961
  parameters: {
3979
4962
  query?: never;
3980
4963
  header: {
@@ -4133,7 +5116,7 @@ interface operations {
4133
5116
  };
4134
5117
  };
4135
5118
  };
4136
- /** @description The idempotency key was reused for a different semantic request. */
5119
+ /** @description The idempotency key conflicts, or a permanent workspace sharing limit was reached. Sharing limit reasons are nonretryable. */
4137
5120
  409: {
4138
5121
  headers: {
4139
5122
  [name: string]: unknown;
@@ -4148,6 +5131,18 @@ interface operations {
4148
5131
  message: "The idempotency key conflicts with an earlier request.";
4149
5132
  requestId: string;
4150
5133
  };
5134
+ } | {
5135
+ error: {
5136
+ /** @enum {string} */
5137
+ code: "precondition_failed";
5138
+ details: {
5139
+ /** @enum {string} */
5140
+ reason: "sharing_grant_limit_reached" | "sharing_history_limit_reached";
5141
+ };
5142
+ /** @enum {string} */
5143
+ message: "The request precondition failed.";
5144
+ requestId: string;
5145
+ };
4151
5146
  };
4152
5147
  };
4153
5148
  };
@@ -4225,34 +5220,54 @@ interface operations {
4225
5220
  };
4226
5221
  };
4227
5222
  };
4228
- readEffectiveItemPermissions: {
5223
+ revokeInternalItemPermission: {
4229
5224
  parameters: {
4230
5225
  query?: never;
4231
- header?: never;
5226
+ header: {
5227
+ "Idempotency-Key": string;
5228
+ "If-Match": string;
5229
+ };
4232
5230
  path: {
4233
5231
  workspaceId: string;
4234
5232
  itemId: string;
5233
+ grantId: string;
4235
5234
  };
4236
5235
  cookie?: never;
4237
5236
  };
4238
5237
  requestBody?: never;
4239
5238
  responses: {
4240
- /** @description All seven caller-specific item actions. */
5239
+ /** @description The retained revoked grant was committed, replayed, or unchanged. */
4241
5240
  200: {
4242
5241
  headers: {
5242
+ /** @description Current direct collection precondition for POST. */
5243
+ "Drive-Permission-Collection-ETag"?: string;
4243
5244
  [name: string]: unknown;
4244
5245
  };
4245
5246
  content: {
4246
5247
  "application/json": {
4247
- actions: {
5248
+ collectionRevision: number;
5249
+ grant: {
5250
+ actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
4248
5251
  /** @enum {string} */
4249
- action: "items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:manage" | "items:permissions:read" | "items:update";
4250
- allowed: boolean;
4251
- /** @enum {string|null} */
4252
- basis: "workspace_visibility" | "restricted_administrator_bypass" | "item_owner" | "direct_grant" | "inherited_grant" | null;
4253
- grantId: string | null;
4254
- sourceItemId: string | null;
4255
- }[] & (unknown & unknown & unknown & unknown & unknown & unknown & unknown);
5252
+ availability: "active" | "expired" | "revoked";
5253
+ expiresAtEpochMilliseconds: number | null;
5254
+ grantId: string;
5255
+ grantee: {
5256
+ /** @enum {string} */
5257
+ type: "user";
5258
+ userId: string;
5259
+ } | {
5260
+ teamId: string;
5261
+ /** @enum {string} */
5262
+ type: "team";
5263
+ };
5264
+ revision: number;
5265
+ /** @enum {string} */
5266
+ source: "direct";
5267
+ sourceItemId: string;
5268
+ };
5269
+ /** @enum {string} */
5270
+ outcome: "committed" | "replayed";
4256
5271
  };
4257
5272
  };
4258
5273
  };
@@ -4310,6 +5325,36 @@ interface operations {
4310
5325
  };
4311
5326
  };
4312
5327
  };
5328
+ /** @description The idempotency key conflicts, or a permanent workspace sharing limit was reached. Sharing limit reasons are nonretryable. */
5329
+ 409: {
5330
+ headers: {
5331
+ [name: string]: unknown;
5332
+ };
5333
+ content: {
5334
+ "application/json": {
5335
+ error: {
5336
+ /** @enum {string} */
5337
+ code: "idempotency_conflict";
5338
+ details: Record<string, never>;
5339
+ /** @enum {string} */
5340
+ message: "The idempotency key conflicts with an earlier request.";
5341
+ requestId: string;
5342
+ };
5343
+ } | {
5344
+ error: {
5345
+ /** @enum {string} */
5346
+ code: "precondition_failed";
5347
+ details: {
5348
+ /** @enum {string} */
5349
+ reason: "sharing_grant_limit_reached" | "sharing_history_limit_reached";
5350
+ };
5351
+ /** @enum {string} */
5352
+ message: "The request precondition failed.";
5353
+ requestId: string;
5354
+ };
5355
+ };
5356
+ };
5357
+ };
4313
5358
  /** @description The supplied revision or post-preflight authority is stale. */
4314
5359
  412: {
4315
5360
  headers: {
@@ -4328,7 +5373,7 @@ interface operations {
4328
5373
  };
4329
5374
  };
4330
5375
  };
4331
- /** @description The path, query, headers, or body are invalid. */
5376
+ /** @description The path, query, headers, idempotency key, or body are invalid. */
4332
5377
  422: {
4333
5378
  headers: {
4334
5379
  [name: string]: unknown;
@@ -4343,6 +5388,15 @@ interface operations {
4343
5388
  message: "The request is invalid.";
4344
5389
  requestId: string;
4345
5390
  };
5391
+ } | {
5392
+ error: {
5393
+ /** @enum {string} */
5394
+ code: "invalid_idempotency_key";
5395
+ details: Record<string, never>;
5396
+ /** @enum {string} */
5397
+ message: "The idempotency key is invalid.";
5398
+ requestId: string;
5399
+ };
4346
5400
  };
4347
5401
  };
4348
5402
  };
@@ -4375,81 +5429,27 @@ interface operations {
4375
5429
  };
4376
5430
  };
4377
5431
  };
4378
- createInternalItemPermission: {
5432
+ revokeItemPermission: {
4379
5433
  parameters: {
4380
5434
  query?: never;
4381
5435
  header: {
4382
5436
  "Idempotency-Key": string;
4383
- "If-Match": string;
4384
- };
4385
- path: {
4386
- workspaceId: string;
4387
- itemId: string;
4388
- };
4389
- cookie?: never;
4390
- };
4391
- requestBody: {
4392
- content: {
4393
- "application/json": {
4394
- actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
4395
- expiresAtEpochMilliseconds: number | null;
4396
- grantee: {
4397
- /** @enum {string} */
4398
- type: "user";
4399
- userId: string;
4400
- } | {
4401
- teamId: string;
4402
- /** @enum {string} */
4403
- type: "team";
4404
- };
4405
- };
4406
- };
4407
- };
4408
- responses: {
4409
- /** @description The exact committed result was replayed. */
4410
- 200: {
4411
- headers: {
4412
- /** @description Current direct collection precondition for the next POST. */
4413
- "Drive-Permission-Collection-ETag"?: string;
4414
- /** @description Current direct-grant precondition for PATCH or DELETE; omitted when the current row is not mutable. */
4415
- "Drive-Permission-Grant-ETag"?: string;
4416
- [name: string]: unknown;
4417
- };
4418
- content: {
4419
- "application/json": {
4420
- collectionRevision: number;
4421
- grant: {
4422
- actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
4423
- /** @enum {string} */
4424
- availability: "active" | "expired" | "revoked";
4425
- expiresAtEpochMilliseconds: number | null;
4426
- grantId: string;
4427
- grantee: {
4428
- /** @enum {string} */
4429
- type: "user";
4430
- userId: string;
4431
- } | {
4432
- teamId: string;
4433
- /** @enum {string} */
4434
- type: "team";
4435
- };
4436
- revision: number;
4437
- /** @enum {string} */
4438
- source: "direct";
4439
- sourceItemId: string;
4440
- };
4441
- /** @enum {string} */
4442
- outcome: "committed" | "replayed";
4443
- };
4444
- };
5437
+ "If-Match": string;
4445
5438
  };
4446
- /** @description The direct grant was committed. */
4447
- 201: {
5439
+ path: {
5440
+ workspaceId: string;
5441
+ itemId: string;
5442
+ grantId: string;
5443
+ };
5444
+ cookie?: never;
5445
+ };
5446
+ requestBody?: never;
5447
+ responses: {
5448
+ /** @description The retained revoked grant was committed, replayed, or unchanged. */
5449
+ 200: {
4448
5450
  headers: {
4449
- /** @description Current direct collection precondition for the next POST. */
5451
+ /** @description Current direct collection precondition for POST. */
4450
5452
  "Drive-Permission-Collection-ETag"?: string;
4451
- /** @description Current direct-grant precondition for PATCH or DELETE; omitted when the current row is not mutable. */
4452
- "Drive-Permission-Grant-ETag"?: string;
4453
5453
  [name: string]: unknown;
4454
5454
  };
4455
5455
  content: {
@@ -4534,7 +5534,7 @@ interface operations {
4534
5534
  };
4535
5535
  };
4536
5536
  };
4537
- /** @description The idempotency key was reused for a different semantic request. */
5537
+ /** @description The idempotency key conflicts, or a permanent workspace sharing limit was reached. Sharing limit reasons are nonretryable. */
4538
5538
  409: {
4539
5539
  headers: {
4540
5540
  [name: string]: unknown;
@@ -4549,6 +5549,18 @@ interface operations {
4549
5549
  message: "The idempotency key conflicts with an earlier request.";
4550
5550
  requestId: string;
4551
5551
  };
5552
+ } | {
5553
+ error: {
5554
+ /** @enum {string} */
5555
+ code: "precondition_failed";
5556
+ details: {
5557
+ /** @enum {string} */
5558
+ reason: "sharing_grant_limit_reached" | "sharing_history_limit_reached";
5559
+ };
5560
+ /** @enum {string} */
5561
+ message: "The request precondition failed.";
5562
+ requestId: string;
5563
+ };
4552
5564
  };
4553
5565
  };
4554
5566
  };
@@ -4626,7 +5638,7 @@ interface operations {
4626
5638
  };
4627
5639
  };
4628
5640
  };
4629
- revokeInternalItemPermission: {
5641
+ updateItemPermission: {
4630
5642
  parameters: {
4631
5643
  query?: never;
4632
5644
  header: {
@@ -4640,13 +5652,22 @@ interface operations {
4640
5652
  };
4641
5653
  cookie?: never;
4642
5654
  };
4643
- requestBody?: never;
5655
+ requestBody: {
5656
+ content: {
5657
+ "application/json": {
5658
+ actions?: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
5659
+ expiresAtEpochMilliseconds?: number | null;
5660
+ };
5661
+ };
5662
+ };
4644
5663
  responses: {
4645
- /** @description The retained revoked grant was committed, replayed, or unchanged. */
5664
+ /** @description The direct grant was committed or replayed. */
4646
5665
  200: {
4647
5666
  headers: {
4648
5667
  /** @description Current direct collection precondition for POST. */
4649
5668
  "Drive-Permission-Collection-ETag"?: string;
5669
+ /** @description Current direct-grant precondition for the next PATCH or DELETE; omitted when the current row is not mutable. */
5670
+ "Drive-Permission-Grant-ETag"?: string;
4650
5671
  [name: string]: unknown;
4651
5672
  };
4652
5673
  content: {
@@ -4695,7 +5716,7 @@ interface operations {
4695
5716
  };
4696
5717
  };
4697
5718
  };
4698
- /** @description The discoverable item does not permit this permission operation. */
5719
+ /** @description The item does not permit this permission operation, or the organization turned external sharing off (reason external_sharing_disabled). */
4699
5720
  403: {
4700
5721
  headers: {
4701
5722
  [name: string]: unknown;
@@ -4710,6 +5731,18 @@ interface operations {
4710
5731
  message: "The requested action is not permitted.";
4711
5732
  requestId: string;
4712
5733
  };
5734
+ } | {
5735
+ error: {
5736
+ /** @enum {string} */
5737
+ code: "permission_denied";
5738
+ details: {
5739
+ /** @enum {string} */
5740
+ reason: "external_sharing_disabled";
5741
+ };
5742
+ /** @enum {string} */
5743
+ message: "The requested action is not permitted.";
5744
+ requestId: string;
5745
+ };
4713
5746
  };
4714
5747
  };
4715
5748
  };
@@ -4731,7 +5764,7 @@ interface operations {
4731
5764
  };
4732
5765
  };
4733
5766
  };
4734
- /** @description The idempotency key was reused for a different semantic request. */
5767
+ /** @description The idempotency key conflicts, or a permanent workspace sharing limit was reached. Sharing limit reasons are nonretryable. */
4735
5768
  409: {
4736
5769
  headers: {
4737
5770
  [name: string]: unknown;
@@ -4746,6 +5779,18 @@ interface operations {
4746
5779
  message: "The idempotency key conflicts with an earlier request.";
4747
5780
  requestId: string;
4748
5781
  };
5782
+ } | {
5783
+ error: {
5784
+ /** @enum {string} */
5785
+ code: "precondition_failed";
5786
+ details: {
5787
+ /** @enum {string} */
5788
+ reason: "sharing_grant_limit_reached" | "sharing_history_limit_reached";
5789
+ };
5790
+ /** @enum {string} */
5791
+ message: "The request precondition failed.";
5792
+ requestId: string;
5793
+ };
4749
5794
  };
4750
5795
  };
4751
5796
  };
@@ -4823,7 +5868,7 @@ interface operations {
4823
5868
  };
4824
5869
  };
4825
5870
  };
4826
- revokeItemPermission: {
5871
+ restoreItem: {
4827
5872
  parameters: {
4828
5873
  query?: never;
4829
5874
  header: {
@@ -4833,44 +5878,31 @@ interface operations {
4833
5878
  path: {
4834
5879
  workspaceId: string;
4835
5880
  itemId: string;
4836
- grantId: string;
4837
5881
  };
4838
5882
  cookie?: never;
4839
5883
  };
4840
5884
  requestBody?: never;
4841
5885
  responses: {
4842
- /** @description The retained revoked grant was committed, replayed, or unchanged. */
5886
+ /** @description The managed item was restored or exactly replayed. */
4843
5887
  200: {
4844
5888
  headers: {
4845
- /** @description Current direct collection precondition for POST. */
4846
- "Drive-Permission-Collection-ETag"?: string;
5889
+ /** @description Strong precondition for the next item mutation. */
5890
+ ETag?: string;
4847
5891
  [name: string]: unknown;
4848
5892
  };
4849
5893
  content: {
4850
5894
  "application/json": {
4851
- collectionRevision: number;
4852
- grant: {
4853
- actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
4854
- /** @enum {string} */
4855
- availability: "active" | "expired" | "revoked";
4856
- expiresAtEpochMilliseconds: number | null;
4857
- grantId: string;
4858
- grantee: {
4859
- /** @enum {string} */
4860
- type: "user";
4861
- userId: string;
4862
- } | {
4863
- teamId: string;
4864
- /** @enum {string} */
4865
- type: "team";
4866
- };
4867
- revision: number;
4868
- /** @enum {string} */
4869
- source: "direct";
4870
- sourceItemId: string;
4871
- };
5895
+ itemId: string;
4872
5896
  /** @enum {string} */
4873
- outcome: "committed" | "replayed";
5897
+ kind: "file" | "folder";
5898
+ name: string;
5899
+ parentItemId: string;
5900
+ purgeAfterEpochMilliseconds: number | null;
5901
+ revision: number;
5902
+ /** @enum {string} */
5903
+ state: "active" | "trashed" | "deleting";
5904
+ volumeId: string;
5905
+ workspaceId: string;
4874
5906
  };
4875
5907
  };
4876
5908
  };
@@ -4892,7 +5924,7 @@ interface operations {
4892
5924
  };
4893
5925
  };
4894
5926
  };
4895
- /** @description The discoverable item does not permit this permission operation. */
5927
+ /** @description The discoverable item does not permit this lifecycle action. */
4896
5928
  403: {
4897
5929
  headers: {
4898
5930
  [name: string]: unknown;
@@ -4910,7 +5942,7 @@ interface operations {
4910
5942
  };
4911
5943
  };
4912
5944
  };
4913
- /** @description The item, principal, or direct grant is absent or undiscoverable. */
5945
+ /** @description The item or destination is absent or undiscoverable. */
4914
5946
  404: {
4915
5947
  headers: {
4916
5948
  [name: string]: unknown;
@@ -4928,7 +5960,7 @@ interface operations {
4928
5960
  };
4929
5961
  };
4930
5962
  };
4931
- /** @description The idempotency key was reused for a different semantic request. */
5963
+ /** @description The key conflicts, the precondition is stale, or lifecycle authority changed. */
4932
5964
  409: {
4933
5965
  headers: {
4934
5966
  [name: string]: unknown;
@@ -4943,16 +5975,7 @@ interface operations {
4943
5975
  message: "The idempotency key conflicts with an earlier request.";
4944
5976
  requestId: string;
4945
5977
  };
4946
- };
4947
- };
4948
- };
4949
- /** @description The supplied revision or post-preflight authority is stale. */
4950
- 412: {
4951
- headers: {
4952
- [name: string]: unknown;
4953
- };
4954
- content: {
4955
- "application/json": {
5978
+ } | {
4956
5979
  error: {
4957
5980
  /** @enum {string} */
4958
5981
  code: "precondition_failed";
@@ -4964,7 +5987,7 @@ interface operations {
4964
5987
  };
4965
5988
  };
4966
5989
  };
4967
- /** @description The path, query, headers, idempotency key, or body are invalid. */
5990
+ /** @description The path, query, headers, key, or strict body is invalid. */
4968
5991
  422: {
4969
5992
  headers: {
4970
5993
  [name: string]: unknown;
@@ -4991,7 +6014,7 @@ interface operations {
4991
6014
  };
4992
6015
  };
4993
6016
  };
4994
- /** @description Identity, D1, authorization, audit, cursor, or capacity authority is unavailable. */
6017
+ /** @description Identity, D1, authorization, capacity, or archive authority is unavailable. */
4995
6018
  503: {
4996
6019
  headers: {
4997
6020
  [name: string]: unknown;
@@ -5020,7 +6043,7 @@ interface operations {
5020
6043
  };
5021
6044
  };
5022
6045
  };
5023
- updateItemPermission: {
6046
+ registerItemRecipient: {
5024
6047
  parameters: {
5025
6048
  query?: never;
5026
6049
  header: {
@@ -5030,26 +6053,27 @@ interface operations {
5030
6053
  path: {
5031
6054
  workspaceId: string;
5032
6055
  itemId: string;
5033
- grantId: string;
5034
6056
  };
5035
6057
  cookie?: never;
5036
6058
  };
5037
6059
  requestBody: {
5038
6060
  content: {
5039
6061
  "application/json": {
5040
- actions?: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
5041
- expiresAtEpochMilliseconds?: number | null;
5042
- };
6062
+ /** @description Normalized email, at most 320 UTF-8 bytes. */
6063
+ email?: string;
6064
+ /** @description Require the freshly resolved Auth user ID to match before creating a grant. A mismatch returns registration_conflict without mutation. */
6065
+ expectedRecipientUserId?: string;
6066
+ /** @enum {string} */
6067
+ role: "viewer" | "editor";
6068
+ /** @description Exact canonical Auth User ID; Auth verifies current recipient eligibility. */
6069
+ userId?: string;
6070
+ } & (unknown | unknown);
5043
6071
  };
5044
6072
  };
5045
6073
  responses: {
5046
- /** @description The direct grant was committed or replayed. */
6074
+ /** @description Exact grant replay. */
5047
6075
  200: {
5048
6076
  headers: {
5049
- /** @description Current direct collection precondition for POST. */
5050
- "Drive-Permission-Collection-ETag"?: string;
5051
- /** @description Current direct-grant precondition for the next PATCH or DELETE; omitted when the current row is not mutable. */
5052
- "Drive-Permission-Grant-ETag"?: string;
5053
6077
  [name: string]: unknown;
5054
6078
  };
5055
6079
  content: {
@@ -5080,110 +6104,41 @@ interface operations {
5080
6104
  };
5081
6105
  };
5082
6106
  };
5083
- /** @description A valid Drive user bearer credential is required. */
5084
- 401: {
5085
- headers: {
5086
- [name: string]: unknown;
5087
- };
5088
- content: {
5089
- "application/json": {
5090
- error: {
5091
- /** @enum {string} */
5092
- code: "authentication_required";
5093
- details: Record<string, never>;
5094
- /** @enum {string} */
5095
- message: "Authentication is required.";
5096
- requestId: string;
5097
- };
5098
- };
5099
- };
5100
- };
5101
- /** @description The item does not permit this permission operation, or the organization turned external sharing off (reason external_sharing_disabled). */
5102
- 403: {
6107
+ /** @description Registered recipient grant created. */
6108
+ 201: {
5103
6109
  headers: {
5104
6110
  [name: string]: unknown;
5105
6111
  };
5106
6112
  content: {
5107
6113
  "application/json": {
5108
- error: {
5109
- /** @enum {string} */
5110
- code: "permission_denied";
5111
- details: Record<string, never>;
5112
- /** @enum {string} */
5113
- message: "The requested action is not permitted.";
5114
- requestId: string;
5115
- };
5116
- } | {
5117
- error: {
6114
+ collectionRevision: number;
6115
+ grant: {
6116
+ actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
5118
6117
  /** @enum {string} */
5119
- code: "permission_denied";
5120
- details: {
6118
+ availability: "active" | "expired" | "revoked";
6119
+ expiresAtEpochMilliseconds: number | null;
6120
+ grantId: string;
6121
+ grantee: {
5121
6122
  /** @enum {string} */
5122
- reason: "external_sharing_disabled";
6123
+ type: "user";
6124
+ userId: string;
6125
+ } | {
6126
+ teamId: string;
6127
+ /** @enum {string} */
6128
+ type: "team";
5123
6129
  };
5124
- /** @enum {string} */
5125
- message: "The requested action is not permitted.";
5126
- requestId: string;
5127
- };
5128
- };
5129
- };
5130
- };
5131
- /** @description The item, principal, or direct grant is absent or undiscoverable. */
5132
- 404: {
5133
- headers: {
5134
- [name: string]: unknown;
5135
- };
5136
- content: {
5137
- "application/json": {
5138
- error: {
5139
- /** @enum {string} */
5140
- code: "resource_not_found";
5141
- details: Record<string, never>;
5142
- /** @enum {string} */
5143
- message: "The requested resource was not found.";
5144
- requestId: string;
5145
- };
5146
- };
5147
- };
5148
- };
5149
- /** @description The idempotency key was reused for a different semantic request. */
5150
- 409: {
5151
- headers: {
5152
- [name: string]: unknown;
5153
- };
5154
- content: {
5155
- "application/json": {
5156
- error: {
5157
- /** @enum {string} */
5158
- code: "idempotency_conflict";
5159
- details: Record<string, never>;
5160
- /** @enum {string} */
5161
- message: "The idempotency key conflicts with an earlier request.";
5162
- requestId: string;
5163
- };
5164
- };
5165
- };
5166
- };
5167
- /** @description The supplied revision or post-preflight authority is stale. */
5168
- 412: {
5169
- headers: {
5170
- [name: string]: unknown;
5171
- };
5172
- content: {
5173
- "application/json": {
5174
- error: {
5175
- /** @enum {string} */
5176
- code: "precondition_failed";
5177
- details: Record<string, never>;
5178
- /** @enum {string} */
5179
- message: "The request precondition failed.";
5180
- requestId: string;
6130
+ revision: number;
6131
+ /** @enum {string} */
6132
+ source: "direct";
6133
+ sourceItemId: string;
5181
6134
  };
6135
+ /** @enum {string} */
6136
+ outcome: "committed" | "replayed";
5182
6137
  };
5183
6138
  };
5184
6139
  };
5185
- /** @description The path, query, headers, idempotency key, or body are invalid. */
5186
- 422: {
6140
+ /** @description A valid Drive user bearer credential is required. */
6141
+ 401: {
5187
6142
  headers: {
5188
6143
  [name: string]: unknown;
5189
6144
  };
@@ -5191,26 +6146,17 @@ interface operations {
5191
6146
  "application/json": {
5192
6147
  error: {
5193
6148
  /** @enum {string} */
5194
- code: "invalid_request";
5195
- details: Record<string, never>;
5196
- /** @enum {string} */
5197
- message: "The request is invalid.";
5198
- requestId: string;
5199
- };
5200
- } | {
5201
- error: {
5202
- /** @enum {string} */
5203
- code: "invalid_idempotency_key";
6149
+ code: "authentication_required";
5204
6150
  details: Record<string, never>;
5205
6151
  /** @enum {string} */
5206
- message: "The idempotency key is invalid.";
6152
+ message: "Authentication is required.";
5207
6153
  requestId: string;
5208
6154
  };
5209
6155
  };
5210
6156
  };
5211
6157
  };
5212
- /** @description Identity, D1, authorization, audit, cursor, or capacity authority is unavailable. */
5213
- 503: {
6158
+ /** @description The item does not permit this permission operation, or the organization turned external sharing off (reason external_sharing_disabled). */
6159
+ 403: {
5214
6160
  headers: {
5215
6161
  [name: string]: unknown;
5216
6162
  };
@@ -5218,66 +6164,36 @@ interface operations {
5218
6164
  "application/json": {
5219
6165
  error: {
5220
6166
  /** @enum {string} */
5221
- code: "identity_authority_unavailable";
6167
+ code: "permission_denied";
5222
6168
  details: Record<string, never>;
5223
6169
  /** @enum {string} */
5224
- message: "Authentication is temporarily unavailable.";
6170
+ message: "The requested action is not permitted.";
5225
6171
  requestId: string;
5226
6172
  };
5227
6173
  } | {
5228
6174
  error: {
5229
6175
  /** @enum {string} */
5230
- code: "service_unavailable";
5231
- details: Record<string, never>;
6176
+ code: "permission_denied";
6177
+ details: {
6178
+ /** @enum {string} */
6179
+ reason: "external_sharing_disabled";
6180
+ };
5232
6181
  /** @enum {string} */
5233
- message: "The service is temporarily unavailable.";
6182
+ message: "The requested action is not permitted.";
5234
6183
  requestId: string;
5235
6184
  };
5236
6185
  };
5237
6186
  };
5238
6187
  };
5239
- };
5240
- };
5241
- restoreItem: {
5242
- parameters: {
5243
- query?: never;
5244
- header: {
5245
- "Idempotency-Key": string;
5246
- "If-Match": string;
5247
- };
5248
- path: {
5249
- workspaceId: string;
5250
- itemId: string;
5251
- };
5252
- cookie?: never;
5253
- };
5254
- requestBody?: never;
5255
- responses: {
5256
- /** @description The managed item was restored or exactly replayed. */
5257
- 200: {
6188
+ /** @description The item or registered recipient is unavailable. */
6189
+ 404: {
5258
6190
  headers: {
5259
- /** @description Strong precondition for the next item mutation. */
5260
- ETag?: string;
5261
6191
  [name: string]: unknown;
5262
6192
  };
5263
- content: {
5264
- "application/json": {
5265
- itemId: string;
5266
- /** @enum {string} */
5267
- kind: "file" | "folder";
5268
- name: string;
5269
- parentItemId: string;
5270
- purgeAfterEpochMilliseconds: number | null;
5271
- revision: number;
5272
- /** @enum {string} */
5273
- state: "active" | "trashed" | "deleting";
5274
- volumeId: string;
5275
- workspaceId: string;
5276
- };
5277
- };
6193
+ content?: never;
5278
6194
  };
5279
- /** @description A valid Drive user bearer credential is required. */
5280
- 401: {
6195
+ /** @description Idempotency conflict, a nonretryable sharing limit, or registration_conflict: the resolved recipient does not match the expected user. */
6196
+ 409: {
5281
6197
  headers: {
5282
6198
  [name: string]: unknown;
5283
6199
  };
@@ -5285,67 +6201,43 @@ interface operations {
5285
6201
  "application/json": {
5286
6202
  error: {
5287
6203
  /** @enum {string} */
5288
- code: "authentication_required";
6204
+ code: "idempotency_conflict";
5289
6205
  details: Record<string, never>;
5290
6206
  /** @enum {string} */
5291
- message: "Authentication is required.";
6207
+ message: "The idempotency key conflicts with an earlier request.";
5292
6208
  requestId: string;
5293
6209
  };
5294
- };
5295
- };
5296
- };
5297
- /** @description The discoverable item does not permit this lifecycle action. */
5298
- 403: {
5299
- headers: {
5300
- [name: string]: unknown;
5301
- };
5302
- content: {
5303
- "application/json": {
6210
+ } | {
5304
6211
  error: {
5305
6212
  /** @enum {string} */
5306
- code: "permission_denied";
5307
- details: Record<string, never>;
6213
+ code: "precondition_failed";
6214
+ details: {
6215
+ /** @enum {string} */
6216
+ reason: "sharing_grant_limit_reached" | "sharing_history_limit_reached";
6217
+ };
5308
6218
  /** @enum {string} */
5309
- message: "The requested action is not permitted.";
6219
+ message: "The request precondition failed.";
5310
6220
  requestId: string;
5311
6221
  };
5312
- };
5313
- };
5314
- };
5315
- /** @description The item or destination is absent or undiscoverable. */
5316
- 404: {
5317
- headers: {
5318
- [name: string]: unknown;
5319
- };
5320
- content: {
5321
- "application/json": {
6222
+ } | {
5322
6223
  error: {
5323
6224
  /** @enum {string} */
5324
- code: "resource_not_found";
6225
+ code: "registration_conflict";
5325
6226
  details: Record<string, never>;
5326
6227
  /** @enum {string} */
5327
- message: "The requested resource was not found.";
6228
+ message: "The recipient could not be confirmed.";
5328
6229
  requestId: string;
5329
6230
  };
5330
6231
  };
5331
6232
  };
5332
6233
  };
5333
- /** @description The key conflicts, the precondition is stale, or lifecycle authority changed. */
5334
- 409: {
6234
+ /** @description The supplied revision or post-preflight authority is stale. */
6235
+ 412: {
5335
6236
  headers: {
5336
6237
  [name: string]: unknown;
5337
6238
  };
5338
6239
  content: {
5339
6240
  "application/json": {
5340
- error: {
5341
- /** @enum {string} */
5342
- code: "idempotency_conflict";
5343
- details: Record<string, never>;
5344
- /** @enum {string} */
5345
- message: "The idempotency key conflicts with an earlier request.";
5346
- requestId: string;
5347
- };
5348
- } | {
5349
6241
  error: {
5350
6242
  /** @enum {string} */
5351
6243
  code: "precondition_failed";
@@ -5357,7 +6249,7 @@ interface operations {
5357
6249
  };
5358
6250
  };
5359
6251
  };
5360
- /** @description The path, query, headers, key, or strict body is invalid. */
6252
+ /** @description The path, query, headers, idempotency key, or body are invalid. */
5361
6253
  422: {
5362
6254
  headers: {
5363
6255
  [name: string]: unknown;
@@ -5384,7 +6276,14 @@ interface operations {
5384
6276
  };
5385
6277
  };
5386
6278
  };
5387
- /** @description Identity, D1, authorization, capacity, or archive authority is unavailable. */
6279
+ /** @description Recipient resolution rate limit exceeded. */
6280
+ 429: {
6281
+ headers: {
6282
+ [name: string]: unknown;
6283
+ };
6284
+ content?: never;
6285
+ };
6286
+ /** @description Identity, D1, authorization, audit, cursor, or capacity authority is unavailable. */
5388
6287
  503: {
5389
6288
  headers: {
5390
6289
  [name: string]: unknown;
@@ -5413,7 +6312,7 @@ interface operations {
5413
6312
  };
5414
6313
  };
5415
6314
  };
5416
- registerItemRecipient: {
6315
+ registerItemRecipients: {
5417
6316
  parameters: {
5418
6317
  query?: never;
5419
6318
  header: {
@@ -5429,81 +6328,154 @@ interface operations {
5429
6328
  requestBody: {
5430
6329
  content: {
5431
6330
  "application/json": {
5432
- /** @description Normalized email, at most 320 UTF-8 bytes. */
5433
- email?: string;
5434
- /** @description Require the freshly resolved Auth user ID to match before creating a grant. A mismatch returns registration_conflict without mutation. */
5435
- expectedRecipientUserId?: string;
5436
- /** @enum {string} */
5437
- role: "viewer" | "editor";
5438
- /** @description Exact canonical Auth User ID; Auth verifies current recipient eligibility. */
5439
- userId?: string;
5440
- } & (unknown | unknown);
6331
+ /** @description Distinct recipients in result order. Each entry has the registerItemRecipient body shape; a repeated selector is invalid. */
6332
+ recipients: ({
6333
+ /** @description Normalized email, at most 320 UTF-8 bytes. */
6334
+ email?: string;
6335
+ /** @description Require the freshly resolved Auth user ID to match before creating a grant. A mismatch returns registration_conflict without mutation. */
6336
+ expectedRecipientUserId?: string;
6337
+ /** @enum {string} */
6338
+ role: "viewer" | "editor";
6339
+ /** @description Exact canonical Auth User ID; Auth verifies current recipient eligibility. */
6340
+ userId?: string;
6341
+ } & (unknown | unknown))[];
6342
+ };
5441
6343
  };
5442
6344
  };
5443
6345
  responses: {
5444
- /** @description Exact grant replay. */
6346
+ /** @description No new grant was committed: every recipient was replayed, already present or refused individually. */
5445
6347
  200: {
5446
6348
  headers: {
5447
6349
  [name: string]: unknown;
5448
6350
  };
5449
6351
  content: {
5450
6352
  "application/json": {
6353
+ collectionEtag: string;
5451
6354
  collectionRevision: number;
5452
- grant: {
5453
- actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
5454
- /** @enum {string} */
5455
- availability: "active" | "expired" | "revoked";
5456
- expiresAtEpochMilliseconds: number | null;
5457
- grantId: string;
5458
- grantee: {
6355
+ results: ({
6356
+ grant: {
6357
+ actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
5459
6358
  /** @enum {string} */
5460
- type: "user";
5461
- userId: string;
5462
- } | {
5463
- teamId: string;
6359
+ availability: "active" | "expired" | "revoked";
6360
+ expiresAtEpochMilliseconds: number | null;
6361
+ grantId: string;
6362
+ grantee: {
6363
+ /** @enum {string} */
6364
+ type: "user";
6365
+ userId: string;
6366
+ } | {
6367
+ teamId: string;
6368
+ /** @enum {string} */
6369
+ type: "team";
6370
+ };
6371
+ revision: number;
5464
6372
  /** @enum {string} */
5465
- type: "team";
6373
+ source: "direct";
6374
+ sourceItemId: string;
5466
6375
  };
5467
- revision: number;
6376
+ grantEtag: string | null;
5468
6377
  /** @enum {string} */
5469
- source: "direct";
5470
- sourceItemId: string;
5471
- };
5472
- /** @enum {string} */
5473
- outcome: "committed" | "replayed";
6378
+ outcome: "added";
6379
+ /** @description True when an exact retry returns the grant this batch created earlier. */
6380
+ replayed: boolean;
6381
+ } | {
6382
+ grant: {
6383
+ actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
6384
+ /** @enum {string} */
6385
+ availability: "active" | "expired" | "revoked";
6386
+ expiresAtEpochMilliseconds: number | null;
6387
+ grantId: string;
6388
+ grantee: {
6389
+ /** @enum {string} */
6390
+ type: "user";
6391
+ userId: string;
6392
+ } | {
6393
+ teamId: string;
6394
+ /** @enum {string} */
6395
+ type: "team";
6396
+ };
6397
+ revision: number;
6398
+ /** @enum {string} */
6399
+ source: "direct";
6400
+ sourceItemId: string;
6401
+ } & unknown;
6402
+ grantEtag: string | null;
6403
+ /** @enum {string} */
6404
+ outcome: "already_present";
6405
+ } | {
6406
+ /** @enum {string} */
6407
+ outcome: "refused";
6408
+ /** @enum {string} */
6409
+ reason: "recipient_unavailable" | "registration_conflict" | "duplicate_recipient";
6410
+ })[];
5474
6411
  };
5475
6412
  };
5476
6413
  };
5477
- /** @description Registered recipient grant created. */
6414
+ /** @description Every new grant committed together under the collection precondition. */
5478
6415
  201: {
5479
6416
  headers: {
5480
6417
  [name: string]: unknown;
5481
6418
  };
5482
6419
  content: {
5483
6420
  "application/json": {
6421
+ collectionEtag: string;
5484
6422
  collectionRevision: number;
5485
- grant: {
5486
- actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
5487
- /** @enum {string} */
5488
- availability: "active" | "expired" | "revoked";
5489
- expiresAtEpochMilliseconds: number | null;
5490
- grantId: string;
5491
- grantee: {
6423
+ results: ({
6424
+ grant: {
6425
+ actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
5492
6426
  /** @enum {string} */
5493
- type: "user";
5494
- userId: string;
5495
- } | {
5496
- teamId: string;
6427
+ availability: "active" | "expired" | "revoked";
6428
+ expiresAtEpochMilliseconds: number | null;
6429
+ grantId: string;
6430
+ grantee: {
6431
+ /** @enum {string} */
6432
+ type: "user";
6433
+ userId: string;
6434
+ } | {
6435
+ teamId: string;
6436
+ /** @enum {string} */
6437
+ type: "team";
6438
+ };
6439
+ revision: number;
5497
6440
  /** @enum {string} */
5498
- type: "team";
6441
+ source: "direct";
6442
+ sourceItemId: string;
5499
6443
  };
5500
- revision: number;
6444
+ grantEtag: string | null;
5501
6445
  /** @enum {string} */
5502
- source: "direct";
5503
- sourceItemId: string;
5504
- };
5505
- /** @enum {string} */
5506
- outcome: "committed" | "replayed";
6446
+ outcome: "added";
6447
+ /** @description True when an exact retry returns the grant this batch created earlier. */
6448
+ replayed: boolean;
6449
+ } | {
6450
+ grant: {
6451
+ actions: ("items:content:read" | "items:create" | "items:delete" | "items:metadata:read" | "items:permissions:read" | "items:update")[];
6452
+ /** @enum {string} */
6453
+ availability: "active" | "expired" | "revoked";
6454
+ expiresAtEpochMilliseconds: number | null;
6455
+ grantId: string;
6456
+ grantee: {
6457
+ /** @enum {string} */
6458
+ type: "user";
6459
+ userId: string;
6460
+ } | {
6461
+ teamId: string;
6462
+ /** @enum {string} */
6463
+ type: "team";
6464
+ };
6465
+ revision: number;
6466
+ /** @enum {string} */
6467
+ source: "direct";
6468
+ sourceItemId: string;
6469
+ } & unknown;
6470
+ grantEtag: string | null;
6471
+ /** @enum {string} */
6472
+ outcome: "already_present";
6473
+ } | {
6474
+ /** @enum {string} */
6475
+ outcome: "refused";
6476
+ /** @enum {string} */
6477
+ reason: "recipient_unavailable" | "registration_conflict" | "duplicate_recipient";
6478
+ })[];
5507
6479
  };
5508
6480
  };
5509
6481
  };
@@ -5555,14 +6527,14 @@ interface operations {
5555
6527
  };
5556
6528
  };
5557
6529
  };
5558
- /** @description The item or registered recipient is unavailable. */
6530
+ /** @description The item is unavailable. */
5559
6531
  404: {
5560
6532
  headers: {
5561
6533
  [name: string]: unknown;
5562
6534
  };
5563
6535
  content?: never;
5564
6536
  };
5565
- /** @description Idempotency conflict or registration_conflict: the resolved recipient does not match the expected user. */
6537
+ /** @description The idempotency key conflicts, or the whole batch exceeds a permanent workspace sharing limit and nothing was written. A sharing limit reason is nonretryable for this request; a smaller batch may still fit. */
5566
6538
  409: {
5567
6539
  headers: {
5568
6540
  [name: string]: unknown;
@@ -5580,10 +6552,13 @@ interface operations {
5580
6552
  } | {
5581
6553
  error: {
5582
6554
  /** @enum {string} */
5583
- code: "registration_conflict";
5584
- details: Record<string, never>;
6555
+ code: "precondition_failed";
6556
+ details: {
6557
+ /** @enum {string} */
6558
+ reason: "sharing_grant_limit_reached" | "sharing_history_limit_reached";
6559
+ };
5585
6560
  /** @enum {string} */
5586
- message: "The recipient could not be confirmed.";
6561
+ message: "The request precondition failed.";
5587
6562
  requestId: string;
5588
6563
  };
5589
6564
  };
@@ -5634,7 +6609,7 @@ interface operations {
5634
6609
  };
5635
6610
  };
5636
6611
  };
5637
- /** @description Recipient resolution rate limit exceeded. */
6612
+ /** @description Recipient resolution rate limit exceeded; nothing was written. */
5638
6613
  429: {
5639
6614
  headers: {
5640
6615
  [name: string]: unknown;
@@ -5772,7 +6747,7 @@ interface operations {
5772
6747
  };
5773
6748
  content?: never;
5774
6749
  };
5775
- /** @description The idempotency key was reused for a different semantic request. */
6750
+ /** @description The idempotency key conflicts, or a permanent workspace sharing limit was reached. Sharing limit reasons are nonretryable. */
5776
6751
  409: {
5777
6752
  headers: {
5778
6753
  [name: string]: unknown;
@@ -5787,6 +6762,18 @@ interface operations {
5787
6762
  message: "The idempotency key conflicts with an earlier request.";
5788
6763
  requestId: string;
5789
6764
  };
6765
+ } | {
6766
+ error: {
6767
+ /** @enum {string} */
6768
+ code: "precondition_failed";
6769
+ details: {
6770
+ /** @enum {string} */
6771
+ reason: "sharing_grant_limit_reached" | "sharing_history_limit_reached";
6772
+ };
6773
+ /** @enum {string} */
6774
+ message: "The request precondition failed.";
6775
+ requestId: string;
6776
+ };
5790
6777
  };
5791
6778
  };
5792
6779
  };
@@ -7788,6 +8775,45 @@ type RegisterItemRecipientInput = {
7788
8775
  readonly userId: string;
7789
8776
  readonly email?: never;
7790
8777
  });
8778
+ type ItemRecipientBatchEntry = {
8779
+ /** Assert the freshly resolved Auth identity before this recipient's grant is created. */
8780
+ readonly expectedRecipientUserId?: string;
8781
+ readonly role: "viewer" | "editor";
8782
+ } & ({
8783
+ readonly email: string;
8784
+ readonly userId?: never;
8785
+ } | {
8786
+ readonly userId: string;
8787
+ readonly email?: never;
8788
+ });
8789
+ type RegisterItemRecipientsInput = {
8790
+ readonly workspaceId: string;
8791
+ readonly itemId: string;
8792
+ /** One to 15 distinct recipients; results keep this order. */
8793
+ readonly recipients: readonly ItemRecipientBatchEntry[];
8794
+ readonly ifMatch: string;
8795
+ readonly idempotencyKey: string;
8796
+ readonly signal?: AbortSignal;
8797
+ };
8798
+ type ItemSharingBatchResult = Readonly<{
8799
+ outcome: "added";
8800
+ /** True when an exact retry returns the grant this batch created earlier. */
8801
+ replayed: boolean;
8802
+ grant: PermissionMutation["grant"];
8803
+ grantEtag: string | null;
8804
+ }> | Readonly<{
8805
+ outcome: "already_present";
8806
+ grant: PermissionMutation["grant"];
8807
+ grantEtag: string | null;
8808
+ }> | Readonly<{
8809
+ outcome: "refused";
8810
+ reason: "recipient_unavailable" | "registration_conflict" | "duplicate_recipient";
8811
+ }>;
8812
+ type ItemSharingBatch = Readonly<{
8813
+ collectionRevision: number;
8814
+ collectionEtag: string;
8815
+ results: readonly ItemSharingBatchResult[];
8816
+ }>;
7791
8817
  type ListItemSharingPeopleInput = ListItemPermissionsInput;
7792
8818
  type GeneratedIncomingItemPage = JsonResponse<"listIncomingItems", 200>;
7793
8819
  type IncomingItemMetadata = Readonly<GeneratedIncomingItemPage["items"][number]>;
@@ -7838,9 +8864,27 @@ interface ListWorkspaceItemsInput extends GetWorkspaceUsageInput {
7838
8864
  readonly view?: "recent" | "shared" | "trash";
7839
8865
  readonly kind?: "file" | "folder";
7840
8866
  readonly creatorUserId?: string;
8867
+ /** Present from SDK 0.31. Adds the caller's private `favorite` star to every returned item. */
8868
+ readonly includeFavorite?: boolean;
8869
+ readonly limit?: number;
8870
+ readonly cursor?: string;
8871
+ }
8872
+ /** The caller's private star on one item after a star or unstar request. */
8873
+ type ItemFavorite = Readonly<JsonResponse<"starItem", 200>>;
8874
+ type StarItemInput = ResourceInput;
8875
+ type UnstarItemInput = ResourceInput;
8876
+ interface ListFavoriteItemsInput extends GetWorkspaceUsageInput {
7841
8877
  readonly limit?: number;
7842
8878
  readonly cursor?: string;
7843
8879
  }
8880
+ type GeneratedWorkspaceCounts = JsonResponse<"getWorkspaceCounts", 200>;
8881
+ /** One sidebar count; a value above the server ceiling arrives as the ceiling with `capped: true`. */
8882
+ type WorkspaceCount = Readonly<NonNullable<GeneratedWorkspaceCounts["counts"]["allItems"]>>;
8883
+ /** Sidebar counts for the caller; a count Drive cannot compute exactly and cheaply is omitted. */
8884
+ type WorkspaceCounts = Readonly<Omit<GeneratedWorkspaceCounts, "counts"> & {
8885
+ readonly counts: Readonly<{ [Name in keyof GeneratedWorkspaceCounts["counts"]]?: WorkspaceCount; }>;
8886
+ }>;
8887
+ type WorkspaceCountsInput = GetWorkspaceUsageInput;
7844
8888
  type GeneratedOwnedItemPage = JsonResponse<"listOwnedItems", 200>;
7845
8889
  /** One item a member effectively owns: an assigned owner, otherwise its recorded creator. */
7846
8890
  type OwnedItem = Readonly<Omit<GeneratedOwnedItemPage["items"][number], "currentVersion"> & {
@@ -7909,9 +8953,12 @@ type CurrentWorkspace = Readonly<Omit<GeneratedCurrentWorkspace, "workspaceRefer
7909
8953
  }>;
7910
8954
  type FolderItem = Readonly<JsonResponse<"createFolder", 201>>;
7911
8955
  type GeneratedFolderPage = JsonResponse<"listFolderChildren", 200>;
7912
- /** `metadata` adds current version size and type, timestamps, creator and effective owner to every listed item. */
8956
+ /**
8957
+ * `metadata` adds current version size and type, timestamps, creator and effective owner to every listed item;
8958
+ * `favorite` adds the caller's private star. `favorite,metadata` or `metadata,favorite` requests both.
8959
+ */
7913
8960
  type FolderListInclude = NonNullable<FolderChildrenQuery["include"]>;
7914
- /** A listed child. Detail fields are present exactly when the listing requested `include: "metadata"`. */
8961
+ /** A listed child. Detail fields are present exactly when the listing requested them through `include`. */
7915
8962
  type FolderListedItem = Readonly<GeneratedFolderPage["items"][number]>;
7916
8963
  type ManagedLifecycleItem = Readonly<JsonResponse<"updateItem", 200>>;
7917
8964
  type GeneratedManagedItemMetadata = JsonResponse<"getItem", 200>;
@@ -8130,10 +9177,20 @@ interface DriveOperations {
8130
9177
  listVisitorGrants(input: GetItemInput): Promise<DriveOperationResult<VisitorGrantPage, 200>>;
8131
9178
  revokeVisitorGrant(input: RevokeVisitorGrantInput): Promise<DriveOperationResult<VisitorGrant, 200>>;
8132
9179
  registerItemRecipient(input: RegisterItemRecipientInput): Promise<DriveOperationResult<PermissionMutation, 200 | 201>>;
9180
+ /** Shares one item with up to 15 registered recipients under one collection precondition and atomic commit. */
9181
+ registerItemRecipients(input: RegisterItemRecipientsInput): Promise<DriveOperationResult<ItemSharingBatch, 200 | 201>>;
8133
9182
  listItemSharingPeople(input: ListItemSharingPeopleInput): Promise<DriveOperationResult<ItemSharingPeoplePage, 200>>;
8134
9183
  listIncomingShares(input?: ListIncomingSharesInput): Promise<DriveOperationResult<IncomingSharePage, 200>>;
8135
9184
  listIncomingItems(input?: ListIncomingItemsInput): Promise<DriveOperationResult<IncomingItemPage, 200>>;
8136
9185
  listWorkspaceItems(input: ListWorkspaceItemsInput): Promise<DriveOperationResult<WorkspaceDiscoveryPage, 200>>;
9186
+ /** Present from SDK 0.31. Stars an item the caller can list; private and idempotent. */
9187
+ starItem(input: StarItemInput): Promise<DriveOperationResult<ItemFavorite, 200>>;
9188
+ /** Present from SDK 0.31. Removes the caller's own star; idempotent. */
9189
+ unstarItem(input: UnstarItemInput): Promise<DriveOperationResult<ItemFavorite, 200>>;
9190
+ /** Present from SDK 0.31. The caller's starred items they can still list, in item order. */
9191
+ listFavoriteItems(input: ListFavoriteItemsInput): Promise<DriveOperationResult<WorkspaceDiscoveryPage, 200>>;
9192
+ /** Present from SDK 0.31. Bounded sidebar counts, each authorized exactly like its listing. */
9193
+ getWorkspaceCounts(input: WorkspaceCountsInput): Promise<DriveOperationResult<WorkspaceCounts, 200>>;
8137
9194
  getCurrentUserWorkspaceUsage(input: GetWorkspaceUsageInput): Promise<DriveOperationResult<CurrentUserWorkspaceUsage, 200>>;
8138
9195
  getWorkspaceUsage(input: GetWorkspaceUsageInput): Promise<DriveOperationResult<WorkspaceUsage, 200>>;
8139
9196
  listOwnedItems(input: ListOwnedItemsInput): Promise<DriveOperationResult<OwnedItemPage, 200>>;
@@ -8220,4 +9277,4 @@ interface DriveClient extends DriveOperations, VerifiedTransferOperations {
8220
9277
  uploadVerifiedFile(input: UploadVerifiedFileInput): Promise<DriveOperationResult<PublishedVerifiedTransfer, 200>>;
8221
9278
  }
8222
9279
  //#endregion
8223
- export { ListFolderChildrenInput as $, VisitorEditingSession as $t, DriveUploadConfig as A, RecoverVerifiedTransferInput as At, FolderListedItem as B, UpdateItemInput as Bt, DriveEditingClientConfig as C, PermissionPage as Ct, DriveResponseValidators as D, PublishVerifiedTransferInput as Dt, DriveOperations as E, ProtectionClassification as Et, EffectivePermissionAction as F, RevokeItemPermissionInput as Ft, GetVisitorGrantInput as G, UploadFileProgressCallback as Gt, GetCurrentWorkspaceInput as H, UpdateWorkspaceSharingPolicyInput as Ht, EffectivePermissionResponse as I, RevokeVisitorGrantInput as It, IncomingItemPage as J, UploadVerifiedFileInput as Jt, GetWorkspaceUsageInput as K, UploadFileStage as Kt, FileAccessContext as L, SearchWorkspaceItemsInput as Lt, DriveVisitorClientConfig as M, RegisteredRecipientDisplay as Mt, EditingSession as N, RestoreItemInput as Nt, DriveServerClient as O, PublishedVerifiedTransfer as Ot, EditingSessionCreation as P, RestoreItemVersionInput as Pt, ItemSharingPeoplePage as Q, VisitorDownloadInput as Qt, FolderItem as R, TransferItemOwnershipInput as Rt, DriveEditingClient as S, PermissionMutation as St, DriveOperationResult as T, PreparedVerifiedTransfer as Tt, GetItemInput as U, UploadFilePhase as Ut, FolderPage as V, UpdateItemPermissionInput as Vt, GetItemVersionInput as W, UploadFileProgress as Wt, IncomingSharePage as X, VisitorChildren as Xt, IncomingShareContext as Y, VerifiedTransferOperations as Yt, ItemOwnershipTransfer as Z, VisitorChildrenInput as Zt, DownloadItemResult as _, OwnedItem as _t, CollectOwnedItemsInput as a, VisitorSession as an, ListOwnedItemsInput as at, DriveCredentialContext as b, PermissionGrant as bt, CreateEditingSessionInput as c, WorkspaceItemSearchItem as cn, ManagedDownloadRestorePending as ct, CreateVisitorEditingSessionInput as d, WorkspaceUsage as dn, ManagedItemVersionPage as dt, VisitorGrant as en, ListIncomingItemsInput as et, CreateVisitorGrantInput as f, operations as fn, ManagedItemVersionResource as ft, DeleteItemInput as g, OrganizationMemberStorageUsageInput as gt, CurrentWorkspaceSources as h, OrganizationMemberStorageUsage as ht, ChangeEditingSessionInput as i, VisitorReadInput as in, ListItemVersionsInput as it, DriveVisitorClient as j, RegisterItemRecipientInput as jt, DriveServerClientConfig as k, ReadEffectiveItemPermissionsInput as kt, CreateFolderInput as l, WorkspaceItemSearchPage as ln, ManagedItemMetadata as lt, CurrentWorkspace as m, ManagedLifecycleItem as mt, ArchiveItemInput as n, VisitorGrantPage as nn, ListItemPermissionsInput as nt, CollectedOwnedItems as o, WorkspaceDiscoveryItem as on, ListWorkspaceItemsInput as ot, CurrentUserWorkspaceUsage as p, ManagedItemVersionRestoreResult as pt, IncomingItemMetadata as q, UploadSmallVerifiedFileInput as qt, ArchivedItem as r, VisitorItem as rn, ListItemSharingPeopleInput as rt, CreateDownloadInput as s, WorkspaceDiscoveryPage as sn, ManagedDownloadDescriptor as st, AdmittedVerifiedTransfer as t, VisitorGrantCreation as tn, ListIncomingSharesInput as tt, CreateItemPermissionInput as u, WorkspaceSharingPolicy as un, ManagedItemVersion as ut, DriveClient as v, OwnedItemPage as vt, DriveEditingServerClient as w, PrepareVerifiedTransferInput as wt, DriveCredentialProvider as x, PermissionGrantee as xt, DriveClientConfig as y, PermissionAction as yt, FolderListInclude as z, TrashItemInput as zt };
9280
+ export { ItemRecipientBatchEntry as $, UploadFileProgressCallback as $t, DriveUploadConfig as A, PreparedVerifiedTransfer as At, FolderListedItem as B, RestoreItemVersionInput as Bt, DriveEditingClientConfig as C, operations as Cn, OwnedItemPage as Ct, DriveResponseValidators as D, PermissionMutation as Dt, DriveOperations as E, PermissionGrantee as Et, EffectivePermissionAction as F, RecoverVerifiedTransferInput as Ft, GetVisitorGrantInput as G, TransferItemOwnershipInput as Gt, GetCurrentWorkspaceInput as H, RevokeVisitorGrantInput as Ht, EffectivePermissionResponse as I, RegisterItemRecipientInput as It, IncomingItemPage as J, UpdateItemInput as Jt, GetWorkspaceUsageInput as K, TrashItemInput as Kt, FileAccessContext as L, RegisterItemRecipientsInput as Lt, DriveVisitorClientConfig as M, PublishVerifiedTransferInput as Mt, EditingSession as N, PublishedVerifiedTransfer as Nt, DriveServerClient as O, PermissionPage as Ot, EditingSessionCreation as P, ReadEffectiveItemPermissionsInput as Pt, ItemOwnershipTransfer as Q, UploadFileProgress as Qt, FolderItem as R, RegisteredRecipientDisplay as Rt, DriveEditingClient as S, WorkspaceUsage as Sn, OwnedItem as St, DriveOperationResult as T, PermissionGrant as Tt, GetItemInput as U, SearchWorkspaceItemsInput as Ut, FolderPage as V, RevokeItemPermissionInput as Vt, GetItemVersionInput as W, StarItemInput as Wt, IncomingSharePage as X, UpdateWorkspaceSharingPolicyInput as Xt, IncomingShareContext as Y, UpdateItemPermissionInput as Yt, ItemFavorite as Z, UploadFilePhase as Zt, DownloadItemResult as _, WorkspaceDiscoveryItem as _n, ManagedItemVersionResource as _t, CollectOwnedItemsInput as a, VisitorChildrenInput as an, ListIncomingItemsInput as at, DriveCredentialContext as b, WorkspaceItemSearchPage as bn, OrganizationMemberStorageUsage as bt, CreateEditingSessionInput as c, VisitorGrant as cn, ListItemSharingPeopleInput as ct, CreateVisitorEditingSessionInput as d, VisitorItem as dn, ListWorkspaceItemsInput as dt, UploadFileStage as en, ItemSharingBatch as et, CreateVisitorGrantInput as f, VisitorReadInput as fn, ManagedDownloadDescriptor as ft, DeleteItemInput as g, WorkspaceCountsInput as gn, ManagedItemVersionPage as gt, CurrentWorkspaceSources as h, WorkspaceCounts as hn, ManagedItemVersion as ht, ChangeEditingSessionInput as i, VisitorChildren as in, ListFolderChildrenInput as it, DriveVisitorClient as j, ProtectionClassification as jt, DriveServerClientConfig as k, PrepareVerifiedTransferInput as kt, CreateFolderInput as l, VisitorGrantCreation as ln, ListItemVersionsInput as lt, CurrentWorkspace as m, WorkspaceCount as mn, ManagedItemMetadata as mt, ArchiveItemInput as n, UploadVerifiedFileInput as nn, ItemSharingPeoplePage as nt, CollectedOwnedItems as o, VisitorDownloadInput as on, ListIncomingSharesInput as ot, CurrentUserWorkspaceUsage as p, VisitorSession as pn, ManagedDownloadRestorePending as pt, IncomingItemMetadata as q, UnstarItemInput as qt, ArchivedItem as r, VerifiedTransferOperations as rn, ListFavoriteItemsInput as rt, CreateDownloadInput as s, VisitorEditingSession as sn, ListItemPermissionsInput as st, AdmittedVerifiedTransfer as t, UploadSmallVerifiedFileInput as tn, ItemSharingBatchResult as tt, CreateItemPermissionInput as u, VisitorGrantPage as un, ListOwnedItemsInput as ut, DriveClient as v, WorkspaceDiscoveryPage as vn, ManagedItemVersionRestoreResult as vt, DriveEditingServerClient as w, PermissionAction as wt, DriveCredentialProvider as x, WorkspaceSharingPolicy as xn, OrganizationMemberStorageUsageInput as xt, DriveClientConfig as y, WorkspaceItemSearchItem as yn, ManagedLifecycleItem as yt, FolderListInclude as z, RestoreItemInput as zt };