@naturali/sdk 0.209.3 → 0.209.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -537,7 +537,7 @@ type ChannelAction = {
537
537
  */
538
538
  repeat: 'every' | 'once' | {
539
539
  after_seconds: number;
540
- };
540
+ } | null;
541
541
  /**
542
542
  * Preferred reply language; null lets the agent decide.
543
543
  */
@@ -804,6 +804,10 @@ type Price = {
804
804
  * Null on a global default row; set on a per-provider override.
805
805
  */
806
806
  ai_provider_id?: string | null;
807
+ /**
808
+ * Null on a global default row.
809
+ */
810
+ project_id?: string | null;
807
811
  meter_type?: string;
808
812
  /**
809
813
  * The SKU's vendor slug. Relayed exactly as stored — this is the operator surface, and the value the runtime recorded is the point.
@@ -820,6 +824,16 @@ type Price = {
820
824
  * USD per unit.
821
825
  */
822
826
  unit_price?: number;
827
+ /**
828
+ * The tool or agent a resource row prices; null on a SKU row.
829
+ */
830
+ resource?: string | null;
831
+ /**
832
+ * A resource row's quantity expression; null prices one per call.
833
+ */
834
+ quantity?: {
835
+ [key: string]: unknown;
836
+ } | null;
823
837
  /**
824
838
  * The row with the latest effective_from at or before now prices a call.
825
839
  */
@@ -1030,12 +1044,12 @@ type Agent = {
1030
1044
  */
1031
1045
  min_score?: number;
1032
1046
  /**
1033
- * The `k` in the fusion term `1 / (k + rank)`, the same knob knowledge search takes. Smaller weights the top of each ranking more heavily. Omitted, the deployment's `KNOWLEDGE_RRF_K` applies.
1047
+ * The `k` in the fusion term `1 / (k + rank)`, the same knob knowledge search takes. Smaller weights the top of each ranking more heavily. Omitted, the default of 60 applies.
1034
1048
  *
1035
1049
  */
1036
1050
  rrf_k?: number;
1037
1051
  /**
1038
- * Half-life in days of the decay applied to **memory** results after fusion, the same knob knowledge search takes. `0` disables it. Omitted, the deployment's `KNOWLEDGE_RECENCY_HALF_LIFE_DAYS` applies.
1052
+ * Half-life in days of the decay applied to **memory** results after fusion, the same knob knowledge search takes. `0` disables it. Omitted, the default of `0` applies.
1039
1053
  *
1040
1054
  */
1041
1055
  recency_half_life_days?: number;
@@ -1293,12 +1307,12 @@ type CreateAgentRequest = {
1293
1307
  */
1294
1308
  min_score?: number;
1295
1309
  /**
1296
- * The `k` in the fusion term `1 / (k + rank)`, the same knob knowledge search takes. Smaller weights the top of each ranking more heavily. Omitted, the deployment's `KNOWLEDGE_RRF_K` applies.
1310
+ * The `k` in the fusion term `1 / (k + rank)`, the same knob knowledge search takes. Smaller weights the top of each ranking more heavily. Omitted, the default of 60 applies.
1297
1311
  *
1298
1312
  */
1299
1313
  rrf_k?: number;
1300
1314
  /**
1301
- * Half-life in days of the decay applied to **memory** results after fusion, the same knob knowledge search takes. `0` disables it. Omitted, the deployment's `KNOWLEDGE_RECENCY_HALF_LIFE_DAYS` applies.
1315
+ * Half-life in days of the decay applied to **memory** results after fusion, the same knob knowledge search takes. `0` disables it. Omitted, the default of `0` applies.
1302
1316
  *
1303
1317
  */
1304
1318
  recency_half_life_days?: number;
@@ -1438,12 +1452,12 @@ type UpdateAgentRequest = {
1438
1452
  */
1439
1453
  min_score?: number;
1440
1454
  /**
1441
- * The `k` in the fusion term `1 / (k + rank)`, the same knob knowledge search takes. Smaller weights the top of each ranking more heavily. Omitted, the deployment's `KNOWLEDGE_RRF_K` applies.
1455
+ * The `k` in the fusion term `1 / (k + rank)`, the same knob knowledge search takes. Smaller weights the top of each ranking more heavily. Omitted, the default of 60 applies.
1442
1456
  *
1443
1457
  */
1444
1458
  rrf_k?: number;
1445
1459
  /**
1446
- * Half-life in days of the decay applied to **memory** results after fusion, the same knob knowledge search takes. `0` disables it. Omitted, the deployment's `KNOWLEDGE_RECENCY_HALF_LIFE_DAYS` applies.
1460
+ * Half-life in days of the decay applied to **memory** results after fusion, the same knob knowledge search takes. `0` disables it. Omitted, the default of `0` applies.
1447
1461
  *
1448
1462
  */
1449
1463
  recency_half_life_days?: number;
@@ -1578,12 +1592,12 @@ type CreateAgentGenerationRequest = {
1578
1592
  */
1579
1593
  min_score?: number;
1580
1594
  /**
1581
- * The `k` in the fusion term `1 / (k + rank)`, the same knob knowledge search takes. Smaller weights the top of each ranking more heavily. Omitted, the deployment's `KNOWLEDGE_RRF_K` applies.
1595
+ * The `k` in the fusion term `1 / (k + rank)`, the same knob knowledge search takes. Smaller weights the top of each ranking more heavily. Omitted, the default of 60 applies.
1582
1596
  *
1583
1597
  */
1584
1598
  rrf_k?: number;
1585
1599
  /**
1586
- * Half-life in days of the decay applied to **memory** results after fusion, the same knob knowledge search takes. `0` disables it. Omitted, the deployment's `KNOWLEDGE_RECENCY_HALF_LIFE_DAYS` applies.
1600
+ * Half-life in days of the decay applied to **memory** results after fusion, the same knob knowledge search takes. `0` disables it. Omitted, the default of `0` applies.
1587
1601
  *
1588
1602
  */
1589
1603
  recency_half_life_days?: number;
@@ -2541,6 +2555,11 @@ type ChannelRoute = ChannelAction & {
2541
2555
  status: 'active' | 'disabled';
2542
2556
  created_at: Date;
2543
2557
  updated_at: Date;
2558
+ /**
2559
+ * On a create or update response only, and only when non-empty. `unreachable_surface`: the channel's transport mode does not deliver this surface yet.
2560
+ *
2561
+ */
2562
+ warnings?: Array<'unreachable_surface'>;
2544
2563
  };
2545
2564
  type ChannelRouteWrite = {
2546
2565
  surface?: string | null;
@@ -2655,10 +2674,10 @@ type Channel = {
2655
2674
  * the optional `modes` opting into the gateway flows. Discord runs over
2656
2675
  * the Gateway, so the bot token is kept in naturali's encrypted store
2657
2676
  * (the worker must present it to authenticate its WebSocket) rather than
2658
- * as a secret on the runtime; deployments without `CHANNEL_TOKEN_KEY` configured
2659
- * return `501`.
2677
+ * as a secret on the runtime; a deployment that does not enable Discord
2678
+ * channels returns `501`.
2660
2679
  *
2661
- * No credential value is ever returned. `default` is required (CHANNELS-ROUTING.md §3.3.1) — connecting a channel without saying what it does when nothing else matches is the misconfiguration, so it is caught here rather than discovered as silence in production.
2680
+ * No credential value is ever returned. `default` is required — connecting a channel without saying what it does when nothing else matches is the misconfiguration, so it is caught here rather than discovered as silence in production.
2662
2681
  *
2663
2682
  */
2664
2683
  type ChannelCreate = {
@@ -2686,7 +2705,7 @@ type ChannelCreate = {
2686
2705
  */
2687
2706
  access_token?: string;
2688
2707
  /**
2689
- * Required for `embedded_signup`. The short-lived authorization code from the Meta popup; naturali exchanges it for the access token server-side. Never stored or returned.
2708
+ * Required for `embedded_signup`. The short-lived authorization code from the Meta popup; naturali exchanges it for the access token server-side. Never stored or returned. A code Meta rejects (malformed, expired or already used) is `400 invalid_signup_code`.
2690
2709
  *
2691
2710
  */
2692
2711
  code?: string;
@@ -2817,7 +2836,7 @@ type Conversation = {
2817
2836
  */
2818
2837
  address_id: string;
2819
2838
  /**
2820
- * The route this conversation's action came from — a real route id, or one of the two sentinels for "the address's own action" / "the channel default" (CHANNELS-ROUTING.md §3.8). A message resolving to a different action opens a new conversation rather than re-pointing this one.
2839
+ * The route this conversation's action came from — a real route id, or one of the two sentinels for "the address's own action" / "the channel default". A message resolving to a different action opens a new conversation rather than re-pointing this one.
2821
2840
  *
2822
2841
  */
2823
2842
  route_id: string;
@@ -3239,7 +3258,7 @@ type Decision = {
3239
3258
  updated_at?: Date;
3240
3259
  };
3241
3260
  /**
3242
- * Why a resource's work failed, in the shape of an error response's `error` without `hint` and `docs_url`. Every `error` field a resource records carries it, so `code` can be read without first checking the type of `error`.
3261
+ * Why a resource's work failed, in the shape of an error response's `error`. Every `error` field a resource records carries it, so `code` can be read without first checking the type of `error`.
3243
3262
  */
3244
3263
  type StoredError = {
3245
3264
  /**
@@ -8069,6 +8088,31 @@ type ProjectUsageEvent = {
8069
8088
  * The caller-supplied action label, when one was given.
8070
8089
  */
8071
8090
  action_id?: string | null;
8091
+ /**
8092
+ * The tool a tool_execution event metered. Null on every other meter and for an inline tool definition.
8093
+ *
8094
+ */
8095
+ tool_id?: string | null;
8096
+ /**
8097
+ * The project owning the resource metered, when the call reached it through an install. Null for the project's own resources.
8098
+ *
8099
+ */
8100
+ publisher_project_id?: string | null;
8101
+ /**
8102
+ * The document an embedding event embedded a chunk of. Null on a query embedding and on every other meter.
8103
+ *
8104
+ */
8105
+ document_id?: string | null;
8106
+ /**
8107
+ * The memory store an embedding event embedded written content for. Null on a query embedding and on every other meter.
8108
+ *
8109
+ */
8110
+ memory_store_id?: string | null;
8111
+ /**
8112
+ * How a tool_execution call ended: ok, error (including a non-2xx answer) or timeout. Null on every other meter.
8113
+ *
8114
+ */
8115
+ outcome?: string | null;
8072
8116
  /**
8073
8117
  * llm_tokens, compute_execution, api_request, storage or tool_execution.
8074
8118
  */
@@ -8253,7 +8297,7 @@ type ProjectUsage = {
8253
8297
  from: Date | null;
8254
8298
  to: Date | null;
8255
8299
  };
8256
- group_by: 'model' | 'ai_provider' | 'agent' | 'run' | 'day' | 'meter_type';
8300
+ group_by: 'model' | 'ai_provider' | 'agent' | 'run' | 'day' | 'meter_type' | 'actor' | 'session' | 'source';
8257
8301
  /**
8258
8302
  * The meter-type filter applied, echoed back; null when unfiltered.
8259
8303
  */
@@ -10087,6 +10131,10 @@ type ListActivityErrors = {
10087
10131
  * Forbidden
10088
10132
  */
10089
10133
  403: ErrorResponse;
10134
+ /**
10135
+ * The project does not exist or the caller is not a member of it (`not_found`).
10136
+ */
10137
+ 404: ErrorResponse;
10090
10138
  /**
10091
10139
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
10092
10140
  */
@@ -10151,6 +10199,10 @@ type ExportActivityErrors = {
10151
10199
  * Forbidden
10152
10200
  */
10153
10201
  403: ErrorResponse;
10202
+ /**
10203
+ * The project does not exist or the caller is not a member of it (`not_found`).
10204
+ */
10205
+ 404: ErrorResponse;
10154
10206
  /**
10155
10207
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
10156
10208
  */
@@ -10227,6 +10279,10 @@ type ListActorsErrors = {
10227
10279
  * Forbidden
10228
10280
  */
10229
10281
  403: ErrorResponse;
10282
+ /**
10283
+ * The project does not exist or the caller is not a member of it (`not_found`).
10284
+ */
10285
+ 404: ErrorResponse;
10230
10286
  /**
10231
10287
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
10232
10288
  */
@@ -10288,6 +10344,10 @@ type CreateActorErrors = {
10288
10344
  * Forbidden
10289
10345
  */
10290
10346
  403: ErrorResponse;
10347
+ /**
10348
+ * The project does not exist or the caller is not a member of it (`not_found`).
10349
+ */
10350
+ 404: ErrorResponse;
10291
10351
  /**
10292
10352
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
10293
10353
  */
@@ -11335,6 +11395,10 @@ type ListAgentsErrors = {
11335
11395
  * Forbidden
11336
11396
  */
11337
11397
  403: ErrorResponse;
11398
+ /**
11399
+ * The project does not exist or the caller is not a member of it (`not_found`).
11400
+ */
11401
+ 404: ErrorResponse;
11338
11402
  /**
11339
11403
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
11340
11404
  */
@@ -12148,6 +12212,10 @@ type ListAiProvidersErrors = {
12148
12212
  * Forbidden
12149
12213
  */
12150
12214
  403: ErrorResponse;
12215
+ /**
12216
+ * The project does not exist or the caller is not a member of it (`not_found`).
12217
+ */
12218
+ 404: ErrorResponse;
12151
12219
  /**
12152
12220
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
12153
12221
  */
@@ -12240,6 +12308,10 @@ type CreateAiProviderErrors = {
12240
12308
  * Forbidden
12241
12309
  */
12242
12310
  403: ErrorResponse;
12311
+ /**
12312
+ * The project does not exist or the caller is not a member of it (`not_found`).
12313
+ */
12314
+ 404: ErrorResponse;
12243
12315
  /**
12244
12316
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
12245
12317
  */
@@ -12283,7 +12355,7 @@ type DeleteAiProviderData = {
12283
12355
  };
12284
12356
  query?: {
12285
12357
  /**
12286
- * When `true`, delete the provider's price overrides and unlink its usage history so a provider with only soft dependents can be removed. Has no effect on live references (chats, agents, model routes), which always block deletion.
12358
+ * When `true`, delete the provider's price overrides and unlink its usage history so a provider with only soft dependents can be removed. Has no effect on live references (agents, model routes), which always block deletion.
12287
12359
  *
12288
12360
  */
12289
12361
  force?: boolean;
@@ -12869,6 +12941,10 @@ type ListApprovalsErrors = {
12869
12941
  * Forbidden
12870
12942
  */
12871
12943
  403: ErrorResponse;
12944
+ /**
12945
+ * The project does not exist or the caller is not a member of it (`not_found`).
12946
+ */
12947
+ 404: ErrorResponse;
12872
12948
  /**
12873
12949
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
12874
12950
  */
@@ -12929,6 +13005,10 @@ type ListApprovalRecurrencesErrors = {
12929
13005
  * Forbidden
12930
13006
  */
12931
13007
  403: ErrorResponse;
13008
+ /**
13009
+ * The project does not exist or the caller is not a member of it (`not_found`).
13010
+ */
13011
+ 404: ErrorResponse;
12932
13012
  /**
12933
13013
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
12934
13014
  */
@@ -13000,7 +13080,7 @@ type GetApprovalResponse = GetApprovalResponses[keyof GetApprovalResponses];
13000
13080
  type ApproveApprovalData = {
13001
13081
  body?: {
13002
13082
  /**
13003
- * Edited arguments to execute instead of the proposed ones. Editing composes a new call, so it additionally requires permission to make that call: `tools:CallTool` on the tool, and for a `builtin` proposal the action's own IAM action. Refused on an item with no `proposed_action`.
13083
+ * Edited arguments to execute instead of the proposed ones. Editing composes a new call to the tool. Refused on an item with no `proposed_action`.
13004
13084
  */
13005
13085
  arguments?: {
13006
13086
  [key: string]: unknown;
@@ -13149,6 +13229,10 @@ type ListAssistantGrantsErrors = {
13149
13229
  * Missing or invalid credentials.
13150
13230
  */
13151
13231
  401: ErrorResponse;
13232
+ /**
13233
+ * `access_denied`: the credential is confined to one project. Account routes need an account-wide credential.
13234
+ */
13235
+ 403: ErrorResponse;
13152
13236
  };
13153
13237
  type ListAssistantGrantsError = ListAssistantGrantsErrors[keyof ListAssistantGrantsErrors];
13154
13238
  type ListAssistantGrantsResponses = {
@@ -13176,6 +13260,10 @@ type RevokeAssistantGrantErrors = {
13176
13260
  * Missing or invalid credentials.
13177
13261
  */
13178
13262
  401: ErrorResponse;
13263
+ /**
13264
+ * `access_denied`: the credential is confined to one project. Account routes need an account-wide credential.
13265
+ */
13266
+ 403: ErrorResponse;
13179
13267
  /**
13180
13268
  * The resource does not exist (existence is not leaked).
13181
13269
  */
@@ -13210,6 +13298,10 @@ type PreviewAssistantLinkErrors = {
13210
13298
  * Missing or invalid credentials.
13211
13299
  */
13212
13300
  401: ErrorResponse;
13301
+ /**
13302
+ * `access_denied`: the credential is confined to one project. Account routes need an account-wide credential.
13303
+ */
13304
+ 403: ErrorResponse;
13213
13305
  };
13214
13306
  type PreviewAssistantLinkError = PreviewAssistantLinkErrors[keyof PreviewAssistantLinkErrors];
13215
13307
  type PreviewAssistantLinkResponses = {
@@ -13235,6 +13327,10 @@ type RedeemAssistantLinkErrors = {
13235
13327
  * Missing or invalid credentials.
13236
13328
  */
13237
13329
  401: ErrorResponse;
13330
+ /**
13331
+ * `access_denied`: the credential is confined to one project. Account routes need an account-wide credential.
13332
+ */
13333
+ 403: ErrorResponse;
13238
13334
  /**
13239
13335
  * The identity is already linked to an account (`identity_already_linked`). One channel identity operates one naturali account: re-pointing it means revoking the existing grant first, which is explicit and auditable rather than silent.
13240
13336
  *
@@ -13599,6 +13695,10 @@ type ListAuditEntriesErrors = {
13599
13695
  * Forbidden
13600
13696
  */
13601
13697
  403: ErrorResponse;
13698
+ /**
13699
+ * The project does not exist or the caller is not a member of it (`not_found`).
13700
+ */
13701
+ 404: ErrorResponse;
13602
13702
  /**
13603
13703
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
13604
13704
  */
@@ -13667,6 +13767,10 @@ type ExportAuditEntriesErrors = {
13667
13767
  * Forbidden
13668
13768
  */
13669
13769
  403: ErrorResponse;
13770
+ /**
13771
+ * The project does not exist or the caller is not a member of it (`not_found`).
13772
+ */
13773
+ 404: ErrorResponse;
13670
13774
  /**
13671
13775
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
13672
13776
  */
@@ -13824,6 +13928,11 @@ type RefreshSessionData = {
13824
13928
  url: '/v1/auth/refresh';
13825
13929
  };
13826
13930
  type RefreshSessionErrors = {
13931
+ /**
13932
+ * Neither the body nor the cookie carries a refresh token (`bad_request`).
13933
+ *
13934
+ */
13935
+ 400: ErrorResponse;
13827
13936
  /**
13828
13937
  * The refresh token is invalid, expired or was reused.
13829
13938
  */
@@ -13898,6 +14007,10 @@ type ListChainsErrors = {
13898
14007
  * Forbidden
13899
14008
  */
13900
14009
  403: ErrorResponse;
14010
+ /**
14011
+ * The project does not exist or the caller is not a member of it (`not_found`).
14012
+ */
14013
+ 404: ErrorResponse;
13901
14014
  /**
13902
14015
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
13903
14016
  */
@@ -14322,7 +14435,7 @@ type CreateChannelErrors = {
14322
14435
  */
14323
14436
  409: ErrorResponse;
14324
14437
  /**
14325
- * The requested path is not enabled on this deployment (e.g. embedded signup before Meta App credentials are configured, or a Discord channel before `CHANNEL_TOKEN_KEY` is set).
14438
+ * The requested path is not enabled on this deployment (e.g. embedded signup or a Discord channel where neither is enabled).
14326
14439
  *
14327
14440
  */
14328
14441
  501: ErrorResponse;
@@ -14369,7 +14482,7 @@ type CreateWhatsappSignupLinkErrors = {
14369
14482
  */
14370
14483
  404: ErrorResponse;
14371
14484
  /**
14372
- * The requested path is not enabled on this deployment (e.g. embedded signup before Meta App credentials are configured, or a Discord channel before `CHANNEL_TOKEN_KEY` is set).
14485
+ * The requested path is not enabled on this deployment (e.g. embedded signup or a Discord channel where neither is enabled).
14373
14486
  *
14374
14487
  */
14375
14488
  501: ErrorResponse;
@@ -14406,7 +14519,7 @@ type CompleteWhatsappSignupErrors = {
14406
14519
  */
14407
14520
  409: ErrorResponse;
14408
14521
  /**
14409
- * The requested path is not enabled on this deployment (e.g. embedded signup before Meta App credentials are configured, or a Discord channel before `CHANNEL_TOKEN_KEY` is set).
14522
+ * The requested path is not enabled on this deployment (e.g. embedded signup or a Discord channel where neither is enabled).
14410
14523
  *
14411
14524
  */
14412
14525
  501: ErrorResponse;
@@ -14846,6 +14959,10 @@ type ListConversationsErrors = {
14846
14959
  * Forbidden
14847
14960
  */
14848
14961
  403: ErrorResponse;
14962
+ /**
14963
+ * The project does not exist or the caller is not a member of it (`not_found`).
14964
+ */
14965
+ 404: ErrorResponse;
14849
14966
  /**
14850
14967
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
14851
14968
  */
@@ -14906,6 +15023,10 @@ type CreateConversationErrors = {
14906
15023
  * Forbidden
14907
15024
  */
14908
15025
  403: ErrorResponse;
15026
+ /**
15027
+ * The project does not exist or the caller is not a member of it (`not_found`).
15028
+ */
15029
+ 404: ErrorResponse;
14909
15030
  /**
14910
15031
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
14911
15032
  */
@@ -15563,6 +15684,10 @@ type ListDecidersErrors = {
15563
15684
  * Forbidden
15564
15685
  */
15565
15686
  403: ErrorResponse;
15687
+ /**
15688
+ * The project does not exist or the caller is not a member of it (`not_found`).
15689
+ */
15690
+ 404: ErrorResponse;
15566
15691
  /**
15567
15692
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
15568
15693
  */
@@ -15606,6 +15731,10 @@ type CreateDeciderErrors = {
15606
15731
  * Forbidden
15607
15732
  */
15608
15733
  403: ErrorResponse;
15734
+ /**
15735
+ * The project does not exist or the caller is not a member of it (`not_found`).
15736
+ */
15737
+ 404: ErrorResponse;
15609
15738
  /**
15610
15739
  * A decider with this name already exists in the project
15611
15740
  */
@@ -16056,6 +16185,10 @@ type ListDecisionsErrors = {
16056
16185
  * Forbidden
16057
16186
  */
16058
16187
  403: ErrorResponse;
16188
+ /**
16189
+ * The project does not exist or the caller is not a member of it (`not_found`).
16190
+ */
16191
+ 404: ErrorResponse;
16059
16192
  /**
16060
16193
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
16061
16194
  */
@@ -16099,6 +16232,10 @@ type CreateInlineDecisionErrors = {
16099
16232
  * Forbidden
16100
16233
  */
16101
16234
  403: ErrorResponse;
16235
+ /**
16236
+ * The project does not exist or the caller is not a member of it (`not_found`).
16237
+ */
16238
+ 404: ErrorResponse;
16102
16239
  /**
16103
16240
  * The project is paused
16104
16241
  */
@@ -16227,6 +16364,10 @@ type ListDocumentsErrors = {
16227
16364
  * Forbidden
16228
16365
  */
16229
16366
  403: ErrorResponse;
16367
+ /**
16368
+ * The project does not exist or the caller is not a member of it (`not_found`).
16369
+ */
16370
+ 404: ErrorResponse;
16230
16371
  /**
16231
16372
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
16232
16373
  */
@@ -16301,6 +16442,10 @@ type CreateDocumentErrors = {
16301
16442
  * Forbidden
16302
16443
  */
16303
16444
  403: ErrorResponse;
16445
+ /**
16446
+ * The project does not exist or the caller is not a member of it (`not_found`).
16447
+ */
16448
+ 404: ErrorResponse;
16304
16449
  /**
16305
16450
  * `path` is held by another file in the project (`NAME_CONFLICT`), or the project's `storage_bytes` quota is exceeded (`QUOTA_STORAGE_EXCEEDED`). Delete stored content, or raise the quota — no window reset clears a stored total, so no `Retry-After` is sent.
16306
16451
  */
@@ -16385,6 +16530,10 @@ type IngestDocumentErrors = {
16385
16530
  * Forbidden
16386
16531
  */
16387
16532
  403: ErrorResponse;
16533
+ /**
16534
+ * The project does not exist or the caller is not a member of it (`not_found`).
16535
+ */
16536
+ 404: ErrorResponse;
16388
16537
  /**
16389
16538
  * The file already backs a Document (a file can only be ingested once — use `POST /documents/{document_id}/ingest` to re-process the existing document, or upload a new copy of the file to ingest it separately), the path it would be filed at is held by another file in the project (`NAME_CONFLICT`), or the project's `storage_bytes` quota is exceeded (`QUOTA_STORAGE_EXCEEDED`; delete stored content or raise the quota — no `Retry-After` is sent, since no window reset clears a stored total).
16390
16539
  */
@@ -16443,6 +16592,10 @@ type ExportDocumentsErrors = {
16443
16592
  * Forbidden
16444
16593
  */
16445
16594
  403: ErrorResponse;
16595
+ /**
16596
+ * The project does not exist or the caller is not a member of it (`not_found`).
16597
+ */
16598
+ 404: ErrorResponse;
16446
16599
  /**
16447
16600
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
16448
16601
  */
@@ -17367,6 +17520,10 @@ type CreateEmbeddingsErrors = {
17367
17520
  * The caller cannot write to the project
17368
17521
  */
17369
17522
  403: ErrorResponse;
17523
+ /**
17524
+ * The project does not exist or the caller is not a member of it (`not_found`).
17525
+ */
17526
+ 404: ErrorResponse;
17370
17527
  /**
17371
17528
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
17372
17529
  */
@@ -17425,6 +17582,10 @@ type ListDatasetsErrors = {
17425
17582
  * Forbidden
17426
17583
  */
17427
17584
  403: ErrorResponse;
17585
+ /**
17586
+ * The project does not exist or the caller is not a member of it (`not_found`).
17587
+ */
17588
+ 404: ErrorResponse;
17428
17589
  /**
17429
17590
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
17430
17591
  */
@@ -17477,6 +17638,10 @@ type CreateDatasetErrors = {
17477
17638
  * Forbidden
17478
17639
  */
17479
17640
  403: ErrorResponse;
17641
+ /**
17642
+ * The project does not exist or the caller is not a member of it (`not_found`).
17643
+ */
17644
+ 404: ErrorResponse;
17480
17645
  /**
17481
17646
  * A dataset with that name already exists in the project
17482
17647
  */
@@ -18004,6 +18169,10 @@ type ListEvalsErrors = {
18004
18169
  * Forbidden
18005
18170
  */
18006
18171
  403: ErrorResponse;
18172
+ /**
18173
+ * The project does not exist or the caller is not a member of it (`not_found`).
18174
+ */
18175
+ 404: ErrorResponse;
18007
18176
  /**
18008
18177
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
18009
18178
  */
@@ -18069,6 +18238,10 @@ type CreateEvalErrors = {
18069
18238
  * Forbidden
18070
18239
  */
18071
18240
  403: ErrorResponse;
18241
+ /**
18242
+ * The project does not exist or the caller is not a member of it (`not_found`).
18243
+ */
18244
+ 404: ErrorResponse;
18072
18245
  /**
18073
18246
  * An eval with that name already exists in the project
18074
18247
  */
@@ -18620,6 +18793,10 @@ type ListExceptionsErrors = {
18620
18793
  * Forbidden
18621
18794
  */
18622
18795
  403: ErrorResponse;
18796
+ /**
18797
+ * The project does not exist or the caller is not a member of it (`not_found`).
18798
+ */
18799
+ 404: ErrorResponse;
18623
18800
  /**
18624
18801
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
18625
18802
  */
@@ -18845,6 +19022,10 @@ type ListFilesErrors = {
18845
19022
  * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
18846
19023
  */
18847
19024
  403: ErrorResponse;
19025
+ /**
19026
+ * The project does not exist or the caller is not a member of it (`not_found`).
19027
+ */
19028
+ 404: ErrorResponse;
18848
19029
  /**
18849
19030
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
18850
19031
  */
@@ -18906,6 +19087,10 @@ type CreateFileErrors = {
18906
19087
  * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
18907
19088
  */
18908
19089
  403: ErrorResponse;
19090
+ /**
19091
+ * The project does not exist or the caller is not a member of it (`not_found`).
19092
+ */
19093
+ 404: ErrorResponse;
18909
19094
  /**
18910
19095
  * The project's `storage_bytes` quota is exceeded (`QUOTA_STORAGE_EXCEEDED`). Delete stored content, or raise the quota — no window reset clears a stored total, so no `Retry-After` is sent.
18911
19096
  */
@@ -18937,10 +19122,6 @@ type UploadFileData = {
18937
19122
  * File content
18938
19123
  */
18939
19124
  file: Blob | File;
18940
- /**
18941
- * Project ID to associate the file with. Optional when authenticating with a project-scoped API key, which defaults to the key's project; required otherwise.
18942
- */
18943
- project_id?: string;
18944
19125
  /**
18945
19126
  * Directory within the project (e.g. /images). Optional; defaults to / (root).
18946
19127
  */
@@ -18973,6 +19154,10 @@ type UploadFileErrors = {
18973
19154
  * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
18974
19155
  */
18975
19156
  403: ErrorResponse;
19157
+ /**
19158
+ * The project does not exist or the caller is not a member of it (`not_found`).
19159
+ */
19160
+ 404: ErrorResponse;
18976
19161
  /**
18977
19162
  * The project's `storage_bytes` quota is exceeded (`QUOTA_STORAGE_EXCEEDED`). Delete stored content, or raise the quota — no window reset clears a stored total, so no `Retry-After` is sent.
18978
19163
  */
@@ -19022,6 +19207,10 @@ type UploadFileBase64Errors = {
19022
19207
  * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
19023
19208
  */
19024
19209
  403: ErrorResponse;
19210
+ /**
19211
+ * The project does not exist or the caller is not a member of it (`not_found`).
19212
+ */
19213
+ 404: ErrorResponse;
19025
19214
  /**
19026
19215
  * The project's `storage_bytes` quota is exceeded (`QUOTA_STORAGE_EXCEEDED`). Delete stored content, or raise the quota — no window reset clears a stored total, so no `Retry-After` is sent.
19027
19216
  */
@@ -19528,6 +19717,10 @@ type ValidateFormationErrors = {
19528
19717
  * Unauthorized
19529
19718
  */
19530
19719
  401: ErrorResponse;
19720
+ /**
19721
+ * The project does not exist or the caller is not a member of it (`not_found`).
19722
+ */
19723
+ 404: ErrorResponse;
19531
19724
  /**
19532
19725
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
19533
19726
  */
@@ -19586,6 +19779,10 @@ type PlanFormationErrors = {
19586
19779
  * Forbidden
19587
19780
  */
19588
19781
  403: ErrorResponse;
19782
+ /**
19783
+ * The project does not exist or the caller is not a member of it (`not_found`).
19784
+ */
19785
+ 404: ErrorResponse;
19589
19786
  /**
19590
19787
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
19591
19788
  */
@@ -19640,6 +19837,10 @@ type ListFormationsErrors = {
19640
19837
  * Forbidden
19641
19838
  */
19642
19839
  403: ErrorResponse;
19840
+ /**
19841
+ * The project does not exist or the caller is not a member of it (`not_found`).
19842
+ */
19843
+ 404: ErrorResponse;
19643
19844
  /**
19644
19845
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
19645
19846
  */
@@ -19701,6 +19902,10 @@ type CreateFormationErrors = {
19701
19902
  * Forbidden — either the caller may not operate on formations in the project, or it lacks an action a resource this template declares requires. `error.meta.denied_actions` names every missing action; nothing is applied.
19702
19903
  */
19703
19904
  403: ErrorResponse;
19905
+ /**
19906
+ * The project does not exist or the caller is not a member of it (`not_found`).
19907
+ */
19908
+ 404: ErrorResponse;
19704
19909
  /**
19705
19910
  * Formation with this name already exists
19706
19911
  */
@@ -20021,6 +20226,10 @@ type ListGenerationsErrors = {
20021
20226
  * Forbidden
20022
20227
  */
20023
20228
  403: ErrorResponse;
20229
+ /**
20230
+ * The project does not exist or the caller is not a member of it (`not_found`).
20231
+ */
20232
+ 404: ErrorResponse;
20024
20233
  /**
20025
20234
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
20026
20235
  */
@@ -20329,6 +20538,10 @@ type ListGuardrailsErrors = {
20329
20538
  * Forbidden
20330
20539
  */
20331
20540
  403: ErrorResponse;
20541
+ /**
20542
+ * The project does not exist or the caller is not a member of it (`not_found`).
20543
+ */
20544
+ 404: ErrorResponse;
20332
20545
  /**
20333
20546
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
20334
20547
  */
@@ -20372,6 +20585,10 @@ type CreateGuardrailErrors = {
20372
20585
  * Forbidden
20373
20586
  */
20374
20587
  403: ErrorResponse;
20588
+ /**
20589
+ * The project does not exist or the caller is not a member of it (`not_found`).
20590
+ */
20591
+ 404: ErrorResponse;
20375
20592
  /**
20376
20593
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
20377
20594
  */
@@ -20809,6 +21026,10 @@ type ListIngestionRulesErrors = {
20809
21026
  * Forbidden
20810
21027
  */
20811
21028
  403: ErrorResponse;
21029
+ /**
21030
+ * The project does not exist or the caller is not a member of it (`not_found`).
21031
+ */
21032
+ 404: ErrorResponse;
20812
21033
  /**
20813
21034
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
20814
21035
  */
@@ -20899,6 +21120,10 @@ type CreateIngestionRuleErrors = {
20899
21120
  * Forbidden
20900
21121
  */
20901
21122
  403: ErrorResponse;
21123
+ /**
21124
+ * The project does not exist or the caller is not a member of it (`not_found`).
21125
+ */
21126
+ 404: ErrorResponse;
20902
21127
  /**
20903
21128
  * A rule for this content_type_glob already exists in the project
20904
21129
  */
@@ -21288,11 +21513,11 @@ type SearchKnowledgeData = {
21288
21513
  */
21289
21514
  min_similarity?: number;
21290
21515
  /**
21291
- * The `k` in the reciprocal rank fusion term `1 / (k + rank)`, which sets how steeply a result's contribution decays with its position in each ranked list. A smaller value weights the very top of each list more heavily. Defaults to the deployment's `KNOWLEDGE_RRF_K`, itself 60 by default. Only applies when `query` is provided.
21516
+ * The `k` in the reciprocal rank fusion term `1 / (k + rank)`, which sets how steeply a result's contribution decays with its position in each ranked list. A smaller value weights the very top of each list more heavily. Defaults to 60. Only applies when `query` is provided.
21292
21517
  */
21293
21518
  rrf_k?: number;
21294
21519
  /**
21295
- * Half-life, in days, of a recency decay applied to **memory store** results after fusion: a result's `score` is multiplied by `2 ^ (-age_in_days / recency_half_life_days)`, where age is measured from its `updated_at`. Document results are never decayed. `0` — the default, and the default of the deployment's `KNOWLEDGE_RECENCY_HALF_LIFE_DAYS` — disables the blend entirely; it is a switch, not a lower bound, and sending `0` turns off a deployment-wide decay for this one request. Accepts fractions (`0.5` is twelve hours). How many ranks a given half-life costs depends on `rrf_k`. Only applies when `query` is provided. **No value is known to be safe in general**: every half-life measured against the reference corpus that lifted recency-sensitive queries also cost relevance-sensitive ones, which is why this ships disabled. Measure against your own corpus before setting it — see the Retrieval Quality guide.
21520
+ * Half-life, in days, of a recency decay applied to **memory store** results after fusion: a result's `score` is multiplied by `2 ^ (-age_in_days / recency_half_life_days)`, where age is measured from its `updated_at`. Document results are never decayed. `0`, the default, disables the blend entirely. Accepts fractions (`0.5` is twelve hours). How many ranks a given half-life costs depends on `rrf_k`. Only applies when `query` is provided. **No value is known to be safe in general**: every half-life measured against the reference corpus that lifted recency-sensitive queries also cost relevance-sensitive ones, which is why this ships disabled. Measure against your own corpus before setting it.
21296
21521
  */
21297
21522
  recency_half_life_days?: number;
21298
21523
  /**
@@ -21350,6 +21575,10 @@ type SearchKnowledgeErrors = {
21350
21575
  * Forbidden, or a `query` and no project in scope the caller holds `embeddings:CreateEmbeddings` on to bill its embedding to
21351
21576
  */
21352
21577
  403: ErrorResponse;
21578
+ /**
21579
+ * The project does not exist or the caller is not a member of it (`not_found`).
21580
+ */
21581
+ 404: ErrorResponse;
21353
21582
  /**
21354
21583
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
21355
21584
  */
@@ -22773,6 +23002,10 @@ type ListMemoryStoresErrors = {
22773
23002
  * Forbidden
22774
23003
  */
22775
23004
  403: ErrorResponse;
23005
+ /**
23006
+ * The project does not exist or the caller is not a member of it (`not_found`).
23007
+ */
23008
+ 404: ErrorResponse;
22776
23009
  /**
22777
23010
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
22778
23011
  */
@@ -22837,6 +23070,10 @@ type CreateMemoryStoreErrors = {
22837
23070
  * Forbidden
22838
23071
  */
22839
23072
  403: ErrorResponse;
23073
+ /**
23074
+ * The project does not exist or the caller is not a member of it (`not_found`).
23075
+ */
23076
+ 404: ErrorResponse;
22840
23077
  /**
22841
23078
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
22842
23079
  */
@@ -23349,6 +23586,10 @@ type ListMetadataSchemasErrors = {
23349
23586
  * Forbidden
23350
23587
  */
23351
23588
  403: ErrorResponse;
23589
+ /**
23590
+ * The project does not exist or the caller is not a member of it (`not_found`).
23591
+ */
23592
+ 404: ErrorResponse;
23352
23593
  /**
23353
23594
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
23354
23595
  */
@@ -23407,6 +23648,10 @@ type CreateMetadataSchemaErrors = {
23407
23648
  * Forbidden
23408
23649
  */
23409
23650
  403: ErrorResponse;
23651
+ /**
23652
+ * The project does not exist or the caller is not a member of it (`not_found`).
23653
+ */
23654
+ 404: ErrorResponse;
23410
23655
  /**
23411
23656
  * Conflict — this selector is already declared for this type
23412
23657
  */
@@ -23465,6 +23710,10 @@ type ValidateMetadataErrors = {
23465
23710
  * Forbidden
23466
23711
  */
23467
23712
  403: ErrorResponse;
23713
+ /**
23714
+ * The project does not exist or the caller is not a member of it (`not_found`).
23715
+ */
23716
+ 404: ErrorResponse;
23468
23717
  /**
23469
23718
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
23470
23719
  */
@@ -23694,6 +23943,10 @@ type ListModelRoutesErrors = {
23694
23943
  * Forbidden
23695
23944
  */
23696
23945
  403: ErrorResponse;
23946
+ /**
23947
+ * The project does not exist or the caller is not a member of it (`not_found`).
23948
+ */
23949
+ 404: ErrorResponse;
23697
23950
  /**
23698
23951
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
23699
23952
  */
@@ -23758,6 +24011,10 @@ type CreateModelRouteErrors = {
23758
24011
  * Forbidden
23759
24012
  */
23760
24013
  403: ErrorResponse;
24014
+ /**
24015
+ * The project does not exist or the caller is not a member of it (`not_found`).
24016
+ */
24017
+ 404: ErrorResponse;
23761
24018
  /**
23762
24019
  * A model route with this name already exists in the project
23763
24020
  */
@@ -24064,6 +24321,10 @@ type ListOrchestrationsErrors = {
24064
24321
  * Forbidden
24065
24322
  */
24066
24323
  403: ErrorResponse;
24324
+ /**
24325
+ * The project does not exist or the caller is not a member of it (`not_found`).
24326
+ */
24327
+ 404: ErrorResponse;
24067
24328
  /**
24068
24329
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
24069
24330
  */
@@ -24107,6 +24368,10 @@ type CreateOrchestrationErrors = {
24107
24368
  * Forbidden
24108
24369
  */
24109
24370
  403: ErrorResponse;
24371
+ /**
24372
+ * The project does not exist or the caller is not a member of it (`not_found`).
24373
+ */
24374
+ 404: ErrorResponse;
24110
24375
  /**
24111
24376
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
24112
24377
  */
@@ -24148,6 +24413,10 @@ type ValidateOrchestrationErrors = {
24148
24413
  * Unauthorized
24149
24414
  */
24150
24415
  401: ErrorResponse;
24416
+ /**
24417
+ * The project does not exist or the caller is not a member of it (`not_found`).
24418
+ */
24419
+ 404: ErrorResponse;
24151
24420
  /**
24152
24421
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
24153
24422
  */
@@ -24193,6 +24462,10 @@ type GetQueueStatsErrors = {
24193
24462
  * Forbidden
24194
24463
  */
24195
24464
  403: ErrorResponse;
24465
+ /**
24466
+ * The project does not exist or the caller is not a member of it (`not_found`).
24467
+ */
24468
+ 404: ErrorResponse;
24196
24469
  /**
24197
24470
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
24198
24471
  */
@@ -24243,6 +24516,10 @@ type ListQueueStatsProjectsErrors = {
24243
24516
  * Forbidden
24244
24517
  */
24245
24518
  403: ErrorResponse;
24519
+ /**
24520
+ * The project does not exist or the caller is not a member of it (`not_found`).
24521
+ */
24522
+ 404: ErrorResponse;
24246
24523
  /**
24247
24524
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
24248
24525
  */
@@ -24650,6 +24927,10 @@ type ListOrchestrationRunsErrors = {
24650
24927
  * Forbidden
24651
24928
  */
24652
24929
  403: ErrorResponse;
24930
+ /**
24931
+ * The project does not exist or the caller is not a member of it (`not_found`).
24932
+ */
24933
+ 404: ErrorResponse;
24653
24934
  /**
24654
24935
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
24655
24936
  */
@@ -25094,6 +25375,10 @@ type ListPlaybooksErrors = {
25094
25375
  * Forbidden
25095
25376
  */
25096
25377
  403: ErrorResponse;
25378
+ /**
25379
+ * The project does not exist or the caller is not a member of it (`not_found`).
25380
+ */
25381
+ 404: ErrorResponse;
25097
25382
  /**
25098
25383
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
25099
25384
  */
@@ -25137,6 +25422,10 @@ type CreatePlaybookErrors = {
25137
25422
  * Forbidden
25138
25423
  */
25139
25424
  403: ErrorResponse;
25425
+ /**
25426
+ * The project does not exist or the caller is not a member of it (`not_found`).
25427
+ */
25428
+ 404: ErrorResponse;
25140
25429
  /**
25141
25430
  * A playbook with this name already exists in the project
25142
25431
  */
@@ -25644,6 +25933,10 @@ type ListPlaybookCasesErrors = {
25644
25933
  * Forbidden
25645
25934
  */
25646
25935
  403: ErrorResponse;
25936
+ /**
25937
+ * The project does not exist or the caller is not a member of it (`not_found`).
25938
+ */
25939
+ 404: ErrorResponse;
25647
25940
  /**
25648
25941
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
25649
25942
  */
@@ -27598,6 +27891,10 @@ type ListQuotasErrors = {
27598
27891
  * Forbidden
27599
27892
  */
27600
27893
  403: ErrorResponse;
27894
+ /**
27895
+ * The project does not exist or the caller is not a member of it (`not_found`).
27896
+ */
27897
+ 404: ErrorResponse;
27601
27898
  /**
27602
27899
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
27603
27900
  */
@@ -27674,6 +27971,10 @@ type CreateQuotaErrors = {
27674
27971
  * Forbidden
27675
27972
  */
27676
27973
  403: ErrorResponse;
27974
+ /**
27975
+ * The project does not exist or the caller is not a member of it (`not_found`).
27976
+ */
27977
+ 404: ErrorResponse;
27677
27978
  /**
27678
27979
  * A matching quota already exists
27679
27980
  */
@@ -27896,6 +28197,10 @@ type ListSecretsErrors = {
27896
28197
  * Forbidden
27897
28198
  */
27898
28199
  403: ErrorResponse;
28200
+ /**
28201
+ * The project does not exist or the caller is not a member of it (`not_found`).
28202
+ */
28203
+ 404: ErrorResponse;
27899
28204
  /**
27900
28205
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
27901
28206
  */
@@ -27958,6 +28263,10 @@ type CreateSecretErrors = {
27958
28263
  * Forbidden
27959
28264
  */
27960
28265
  403: ErrorResponse;
28266
+ /**
28267
+ * The project does not exist or the caller is not a member of it (`not_found`).
28268
+ */
28269
+ 404: ErrorResponse;
27961
28270
  /**
27962
28271
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
27963
28272
  */
@@ -28969,6 +29278,10 @@ type ListTasksErrors = {
28969
29278
  * Forbidden
28970
29279
  */
28971
29280
  403: ErrorResponse;
29281
+ /**
29282
+ * The project does not exist or the caller is not a member of it (`not_found`).
29283
+ */
29284
+ 404: ErrorResponse;
28972
29285
  /**
28973
29286
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
28974
29287
  */
@@ -29564,6 +29877,10 @@ type ListToolsErrors = {
29564
29877
  * Forbidden
29565
29878
  */
29566
29879
  403: ErrorResponse;
29880
+ /**
29881
+ * The project does not exist or the caller is not a member of it (`not_found`).
29882
+ */
29883
+ 404: ErrorResponse;
29567
29884
  /**
29568
29885
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
29569
29886
  */
@@ -29607,6 +29924,10 @@ type CreateToolErrors = {
29607
29924
  * Forbidden
29608
29925
  */
29609
29926
  403: ErrorResponse;
29927
+ /**
29928
+ * The project does not exist or the caller is not a member of it (`not_found`).
29929
+ */
29930
+ 404: ErrorResponse;
29610
29931
  /**
29611
29932
  * `REQUEST_REJECTED` — the request body is over the size the body parser accepts
29612
29933
  */
@@ -29879,6 +30200,10 @@ type ListTracesErrors = {
29879
30200
  * Forbidden
29880
30201
  */
29881
30202
  403: ErrorResponse;
30203
+ /**
30204
+ * The project does not exist or the caller is not a member of it (`not_found`).
30205
+ */
30206
+ 404: ErrorResponse;
29882
30207
  /**
29883
30208
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
29884
30209
  */
@@ -30080,6 +30405,10 @@ type ListTriggersErrors = {
30080
30405
  * Forbidden
30081
30406
  */
30082
30407
  403: ErrorResponse;
30408
+ /**
30409
+ * The project does not exist or the caller is not a member of it (`not_found`).
30410
+ */
30411
+ 404: ErrorResponse;
30083
30412
  /**
30084
30413
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
30085
30414
  */
@@ -30123,6 +30452,10 @@ type CreateTriggerErrors = {
30123
30452
  * Forbidden
30124
30453
  */
30125
30454
  403: ErrorResponse;
30455
+ /**
30456
+ * The project does not exist or the caller is not a member of it (`not_found`).
30457
+ */
30458
+ 404: ErrorResponse;
30126
30459
  /**
30127
30460
  * NAME_CONFLICT — a trigger with this name already exists in the project.
30128
30461
  */
@@ -30181,6 +30514,10 @@ type CountTriggersErrors = {
30181
30514
  * Forbidden
30182
30515
  */
30183
30516
  403: ErrorResponse;
30517
+ /**
30518
+ * The project does not exist or the caller is not a member of it (`not_found`).
30519
+ */
30520
+ 404: ErrorResponse;
30184
30521
  /**
30185
30522
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
30186
30523
  */
@@ -31230,6 +31567,10 @@ type ListWebhooksErrors = {
31230
31567
  * Missing or invalid credentials.
31231
31568
  */
31232
31569
  401: ErrorResponse;
31570
+ /**
31571
+ * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
31572
+ */
31573
+ 403: ErrorResponse;
31233
31574
  /**
31234
31575
  * The resource does not exist (existence is not leaked).
31235
31576
  */
@@ -31265,6 +31606,10 @@ type CreateWebhookErrors = {
31265
31606
  * Missing or invalid credentials.
31266
31607
  */
31267
31608
  401: ErrorResponse;
31609
+ /**
31610
+ * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
31611
+ */
31612
+ 403: ErrorResponse;
31268
31613
  /**
31269
31614
  * The resource does not exist (existence is not leaked).
31270
31615
  */
@@ -31308,6 +31653,10 @@ type DeleteWebhookErrors = {
31308
31653
  * Missing or invalid credentials.
31309
31654
  */
31310
31655
  401: ErrorResponse;
31656
+ /**
31657
+ * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
31658
+ */
31659
+ 403: ErrorResponse;
31311
31660
  /**
31312
31661
  * The resource does not exist (existence is not leaked).
31313
31662
  */
@@ -31341,6 +31690,10 @@ type GetWebhookErrors = {
31341
31690
  * Missing or invalid credentials.
31342
31691
  */
31343
31692
  401: ErrorResponse;
31693
+ /**
31694
+ * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
31695
+ */
31696
+ 403: ErrorResponse;
31344
31697
  /**
31345
31698
  * The resource does not exist (existence is not leaked).
31346
31699
  */
@@ -31378,6 +31731,10 @@ type UpdateWebhookErrors = {
31378
31731
  * Missing or invalid credentials.
31379
31732
  */
31380
31733
  401: ErrorResponse;
31734
+ /**
31735
+ * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
31736
+ */
31737
+ 403: ErrorResponse;
31381
31738
  /**
31382
31739
  * The resource does not exist (existence is not leaked).
31383
31740
  */
@@ -31411,6 +31768,10 @@ type RotateWebhookSecretErrors = {
31411
31768
  * Missing or invalid credentials.
31412
31769
  */
31413
31770
  401: ErrorResponse;
31771
+ /**
31772
+ * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
31773
+ */
31774
+ 403: ErrorResponse;
31414
31775
  /**
31415
31776
  * The resource does not exist (existence is not leaked).
31416
31777
  */
@@ -31470,6 +31831,10 @@ type ListWebhookDeliveriesErrors = {
31470
31831
  * Missing or invalid credentials.
31471
31832
  */
31472
31833
  401: ErrorResponse;
31834
+ /**
31835
+ * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
31836
+ */
31837
+ 403: ErrorResponse;
31473
31838
  /**
31474
31839
  * The resource does not exist (existence is not leaked).
31475
31840
  */
@@ -31505,6 +31870,10 @@ type GetWebhookDeliveryErrors = {
31505
31870
  * Missing or invalid credentials.
31506
31871
  */
31507
31872
  401: ErrorResponse;
31873
+ /**
31874
+ * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
31875
+ */
31876
+ 403: ErrorResponse;
31508
31877
  /**
31509
31878
  * The resource does not exist (existence is not leaked).
31510
31879
  */
@@ -31538,6 +31907,10 @@ type RedeliverWebhookDeliveryErrors = {
31538
31907
  * Missing or invalid credentials.
31539
31908
  */
31540
31909
  401: ErrorResponse;
31910
+ /**
31911
+ * The credential is scoped to a different project, or the caller's role in the project does not carry this action.
31912
+ */
31913
+ 403: ErrorResponse;
31541
31914
  /**
31542
31915
  * The resource does not exist (existence is not leaked).
31543
31916
  */
@@ -31589,6 +31962,10 @@ type ListWorkflowsErrors = {
31589
31962
  * Forbidden
31590
31963
  */
31591
31964
  403: ErrorResponse;
31965
+ /**
31966
+ * The project does not exist or the caller is not a member of it (`not_found`).
31967
+ */
31968
+ 404: ErrorResponse;
31592
31969
  /**
31593
31970
  * `QUOTA_EXCEEDED` — a `requests` quota on the calling API key or its project is spent for the window; `Retry-After` says when it reopens
31594
31971
  */
@@ -31632,6 +32009,10 @@ type CreateWorkflowErrors = {
31632
32009
  * Forbidden
31633
32010
  */
31634
32011
  403: ErrorResponse;
32012
+ /**
32013
+ * The project does not exist or the caller is not a member of it (`not_found`).
32014
+ */
32015
+ 404: ErrorResponse;
31635
32016
  /**
31636
32017
  * A workflow with this name already exists
31637
32018
  */
@@ -32192,6 +32573,8 @@ export declare class Channels {
32192
32573
  *
32193
32574
  * `actor_id` binds an actor of this project, so the address speaks as the same actor your own sessions use. A changed actor deletes the address's conversations and their sessions — a session's actor is fixed — and the next message opens a fresh one; the actor naturali created for the address is deleted with them. An actor you bind is never deleted here.
32194
32575
  *
32576
+ * An identifier no channel kind produces is `400`.
32577
+ *
32195
32578
  */
32196
32579
  static setAddress<ThrowOnError extends boolean = false>(options: Options<SetAddressData, ThrowOnError>): RequestResult<SetAddressResponses, SetAddressErrors, ThrowOnError>;
32197
32580
  /**
@@ -32246,7 +32629,7 @@ export declare class Channels {
32246
32629
  /**
32247
32630
  * Read the whole route table
32248
32631
  *
32249
- * Every route across every channel in the project, one read — the table is small by construction (CHANNELS-ROUTING.md §3.6), so this is unpaginated.
32632
+ * Every route across every channel in the project, one read — the table is small by construction, so this is unpaginated.
32250
32633
  *
32251
32634
  */
32252
32635
  static listProjectChannelRoutes<ThrowOnError extends boolean = false>(options: Options<ListProjectChannelRoutesData, ThrowOnError>): RequestResult<ListProjectChannelRoutesResponses, ListProjectChannelRoutesErrors, ThrowOnError>;
@@ -32260,7 +32643,7 @@ export declare class Channels {
32260
32643
  * Connect a channel
32261
32644
  *
32262
32645
  * Connect a channel. The required fields depend on `channel`; no credential is ever returned.
32263
- * **Discord** (`channel: discord`) — supply `application_id` and `bot_token`, plus the `modes` selecting which Gateway flows to serve (direct messages, and/or @mention-opens-a-thread). The token is checked with Discord first: `400 invalid_bot_token` when Discord rejects it, `400 application_mismatch` when it belongs to another application. Returns `501` when the deployment has no `CHANNEL_TOKEN_KEY` configured.
32646
+ * **Discord** (`channel: discord`) — supply `application_id` and `bot_token`, plus the `modes` selecting which Gateway flows to serve (direct messages, and/or @mention-opens-a-thread). The token is checked with Discord first: `400 invalid_bot_token` when Discord rejects it, `400 application_mismatch` when it belongs to another application. Returns `501` when this deployment does not enable Discord channels.
32264
32647
  * **WhatsApp** (default) — one of two credential paths, both filling the same write-only secret:
32265
32648
  * * **BYOT** (`credential_source: byot`, default) — supply
32266
32649
  * `phone_number_id` and `access_token` from your own Meta app.
@@ -32577,7 +32960,7 @@ export declare class AiProviders {
32577
32960
  *
32578
32961
  * Deletes an AI provider configuration.
32579
32962
  *
32580
- * Live references — chats, agents, and model routes whose targets name this provider — always block deletion with `409 AI_PROVIDER_HAS_DEPENDENTS`; `force` does not override them, so delete or repoint those resources first. Soft dependents — price overrides and usage/generation records — also block with `409` unless `force=true`, which deletes the provider's price overrides and unlinks its usage history, preserving those rows: each usage event keeps the provider's id as its `ai_provider_id`. The `409` body's `error.meta` reports the counts, a sample of offending IDs, and a `forcible` flag that is `true` when a `force=true` retry would succeed.
32963
+ * Live references — agents and model routes whose targets name this provider — always block deletion with `409 AI_PROVIDER_HAS_DEPENDENTS`; `force` does not override them, so delete or repoint those resources first. Soft dependents — price overrides and usage/generation records — also block with `409` unless `force=true`, which deletes the provider's price overrides and unlinks its usage history, preserving those rows: each usage event keeps the provider's id as its `ai_provider_id`. The `409` body's `error.meta` reports the counts, a sample of offending IDs, and a `forcible` flag that is `true` when a `force=true` retry would succeed.
32581
32964
  *
32582
32965
  */
32583
32966
  static deleteAiProvider<ThrowOnError extends boolean = false>(options: Options<DeleteAiProviderData, ThrowOnError>): RequestResult<DeleteAiProviderResponses, DeleteAiProviderErrors, ThrowOnError>;
@@ -32816,7 +33199,7 @@ export declare class Auth {
32816
33199
  /**
32817
33200
  * Refresh a session
32818
33201
  *
32819
- * Exchanges a valid refresh token for a new access JWT and a rotated refresh token, taken from the body or from the `refresh_token` cookie set at sign-in — a browser sends an empty body and the cookie carries the credential. Refresh tokens are single-use; presenting a previously-rotated token is treated as reuse and revokes the whole session family (createRefreshRotation reuse detection), except within a few seconds of the rotation, where it is treated as two tabs racing on one cookie and rotated again.
33202
+ * Exchanges a valid refresh token for a new access JWT and a rotated refresh token, taken from the body or from the `refresh_token` cookie set at sign-in — a browser sends an empty body and the cookie carries the credential. Refresh tokens are single-use; presenting a previously-rotated token is treated as reuse and revokes the whole session family, except within a few seconds of the rotation, where it is treated as two tabs racing on one cookie and rotated again.
32820
33203
  *
32821
33204
  */
32822
33205
  static refreshSession<ThrowOnError extends boolean = false>(options: Options<RefreshSessionData, ThrowOnError>): RequestResult<RefreshSessionResponses, RefreshSessionErrors, ThrowOnError>;
@@ -34021,15 +34404,15 @@ export declare class Orchestrations {
34021
34404
  /**
34022
34405
  * Get orchestration queue stats
34023
34406
  *
34024
- * Returns a point-in-time snapshot of the orchestration run queue: how many tasks are waiting to be claimed (`queue_depth`), how many are currently claimed with a valid lease (`claimed_tasks`), the age of the oldest waiting task, recent claim-latency percentiles over a rolling in-process window. The per-project breakdown is listed by `GET /v1/projects/{project_id}/orchestrations/queue/stats/projects`. Intended for admin/operator policies; guarded by `orchestrations:GetQueueStats`.
34025
- * Every figure is scoped to what the caller may see. A project-scoped caller gets `queue_depth` and `claimed_tasks` summed over their own projects, and `null` for `oldest_queued_age_seconds` and the `claim_latency_ms` percentiles — both describe the whole deployment and cannot be narrowed, so they are withheld rather than approximated. An unrestricted caller (the action granted on every project) gets the deployment-wide figures.
34407
+ * Returns a point-in-time snapshot of the orchestration run queue: how many tasks are waiting to be claimed (`queue_depth`), how many are currently claimed with a valid lease (`claimed_tasks`), the age of the oldest waiting task, recent claim-latency percentiles over a rolling in-process window. The per-project breakdown is listed by `GET /v1/projects/{project_id}/orchestrations/queue/stats/projects`.
34408
+ * Every figure is scoped to what the caller may see. A project-scoped caller gets `queue_depth` and `claimed_tasks` summed over their own projects, and `null` for `oldest_queued_age_seconds` and the `claim_latency_ms` percentiles — both describe the whole deployment and cannot be narrowed, so they are withheld rather than approximated.
34026
34409
  *
34027
34410
  */
34028
34411
  static getQueueStats<ThrowOnError extends boolean = false>(options: Options<GetQueueStatsData, ThrowOnError>): RequestResult<GetQueueStatsResponses, GetQueueStatsErrors, ThrowOnError>;
34029
34412
  /**
34030
34413
  * List the projects with queued orchestration work
34031
34414
  *
34032
- * One row per project with any queued or claimed task, ordered by project ID: the per-project breakdown of `GET /v1/projects/{project_id}/orchestrations/queue/stats`. A project-scoped caller sees its own projects only. Guarded by `orchestrations:GetQueueStats`.
34415
+ * One row per project with any queued or claimed task, ordered by project ID: the per-project breakdown of `GET /v1/projects/{project_id}/orchestrations/queue/stats`. A project-scoped caller sees its own projects only.
34033
34416
  *
34034
34417
  */
34035
34418
  static listQueueStatsProjects<ThrowOnError extends boolean = false>(options: Options<ListQueueStatsProjectsData, ThrowOnError>): RequestResult<ListQueueStatsProjectsResponses, ListQueueStatsProjectsErrors, ThrowOnError>;
@@ -34847,7 +35230,7 @@ export declare class Triggers {
34847
35230
  /**
34848
35231
  * Update a trigger
34849
35232
  *
34850
- * Updates an existing trigger's configuration. The type is immutable. Changing `target_type` or `target_id` re-checks the target-start action (`orchestrations:StartRun`, `agents:CreateAgentGeneration` or `tools:CallTool`) against the resulting target, because a firing runs with the trigger creator's authority rather than the updater's. A caller who could not start the new target is answered `403` and the trigger keeps the target it had.
35233
+ * Updates an existing trigger's configuration. The type is immutable. Changing `target_type` or `target_id` re-checks that the caller may start the resulting target, because a firing runs with the trigger creator's authority rather than the updater's. A caller who could not start the new target is answered `403` and the trigger keeps the target it had.
34851
35234
  *
34852
35235
  */
34853
35236
  static updateTrigger<ThrowOnError extends boolean = false>(options: Options<UpdateTriggerData, ThrowOnError>): RequestResult<UpdateTriggerResponses, UpdateTriggerErrors, ThrowOnError>;