@vibexp/api-client 0.92.0 → 0.93.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/schema.d.ts CHANGED
@@ -3616,6 +3616,140 @@ export interface paths {
3616
3616
  patch?: never;
3617
3617
  trace?: never;
3618
3618
  };
3619
+ "/api/v1/admin/settings/search": {
3620
+ parameters: {
3621
+ query?: never;
3622
+ header?: never;
3623
+ path?: never;
3624
+ cookie?: never;
3625
+ };
3626
+ /**
3627
+ * Get the instance search ranking settings
3628
+ * @description Returns the instance search ranking defaults in effect, where they come from
3629
+ * (`instance` or `default`), the built-in defaults, the hard bounds for
3630
+ * form validation, how many teams store settings of their own and the
3631
+ * stored row's `version`. Always 200: with nothing stored, `source` is
3632
+ * `default` and `values` equal `built_in_defaults`.
3633
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3634
+ */
3635
+ get: operations["getAdminSearchSettings"];
3636
+ /**
3637
+ * Replace the instance search ranking settings
3638
+ * @description Validates and stores a whole replacement of the instance search ranking
3639
+ * defaults, taking effect on the next request with no restart, and appends
3640
+ * one entry (`action: upsert`) to the `search` audit log in the same
3641
+ * transaction. Pass `expected_version` to reject the save with 409 when
3642
+ * someone else changed the settings since they were read. A body that
3643
+ * omits a value field, sends one as null, or carries an unknown field is
3644
+ * rejected with 400.
3645
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3646
+ */
3647
+ put: operations["updateAdminSearchSettings"];
3648
+ post?: never;
3649
+ /**
3650
+ * Reset the instance search ranking settings to the built-in defaults
3651
+ * @description Removes the stored instance search ranking defaults, so the built-in defaults
3652
+ * apply from the next request, and appends one entry (`action: delete`) to
3653
+ * the `search` audit log. Idempotent: with nothing stored it is still a
3654
+ * 204 and writes no audit entry.
3655
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3656
+ */
3657
+ delete: operations["resetAdminSearchSettings"];
3658
+ options?: never;
3659
+ head?: never;
3660
+ patch?: never;
3661
+ trace?: never;
3662
+ };
3663
+ "/api/v1/admin/settings/search/audit": {
3664
+ parameters: {
3665
+ query?: never;
3666
+ header?: never;
3667
+ path?: never;
3668
+ cookie?: never;
3669
+ };
3670
+ /**
3671
+ * List the instance search ranking settings audit log
3672
+ * @description Returns one page of the instance search ranking settings' audit log (setting
3673
+ * `search`), newest first, with each actor's display name resolved.
3674
+ * Pass the previous page's `next_cursor` to continue.
3675
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3676
+ */
3677
+ get: operations["listAdminSearchSettingsAudit"];
3678
+ put?: never;
3679
+ post?: never;
3680
+ delete?: never;
3681
+ options?: never;
3682
+ head?: never;
3683
+ patch?: never;
3684
+ trace?: never;
3685
+ };
3686
+ "/api/v1/admin/settings/ai-summary": {
3687
+ parameters: {
3688
+ query?: never;
3689
+ header?: never;
3690
+ path?: never;
3691
+ cookie?: never;
3692
+ };
3693
+ /**
3694
+ * Get the instance AI summary settings
3695
+ * @description Returns the instance AI summary defaults and budgets in effect, where they come from
3696
+ * (`instance` or `default`), the built-in defaults, the hard bounds for
3697
+ * form validation, how many teams store settings of their own and the
3698
+ * stored row's `version`. Always 200: with nothing stored, `source` is
3699
+ * `default` and `values` equal `built_in_defaults`.
3700
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3701
+ */
3702
+ get: operations["getAdminAISummarySettings"];
3703
+ /**
3704
+ * Replace the instance AI summary settings
3705
+ * @description Validates and stores a whole replacement of the instance AI summary
3706
+ * defaults and budgets, taking effect on the next request with no restart, and appends
3707
+ * one entry (`action: upsert`) to the `ai_summary` audit log in the same
3708
+ * transaction. Pass `expected_version` to reject the save with 409 when
3709
+ * someone else changed the settings since they were read. A body that
3710
+ * omits a value field, sends one as null, or carries an unknown field is
3711
+ * rejected with 400.
3712
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3713
+ */
3714
+ put: operations["updateAdminAISummarySettings"];
3715
+ post?: never;
3716
+ /**
3717
+ * Reset the instance AI summary settings to the built-in defaults
3718
+ * @description Removes the stored instance AI summary defaults and budgets, so the built-in defaults
3719
+ * apply from the next request, and appends one entry (`action: delete`) to
3720
+ * the `ai_summary` audit log. Idempotent: with nothing stored it is still a
3721
+ * 204 and writes no audit entry.
3722
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3723
+ */
3724
+ delete: operations["resetAdminAISummarySettings"];
3725
+ options?: never;
3726
+ head?: never;
3727
+ patch?: never;
3728
+ trace?: never;
3729
+ };
3730
+ "/api/v1/admin/settings/ai-summary/audit": {
3731
+ parameters: {
3732
+ query?: never;
3733
+ header?: never;
3734
+ path?: never;
3735
+ cookie?: never;
3736
+ };
3737
+ /**
3738
+ * List the instance AI summary settings audit log
3739
+ * @description Returns one page of the instance AI summary settings' audit log (setting
3740
+ * `ai_summary`), newest first, with each actor's display name resolved.
3741
+ * Pass the previous page's `next_cursor` to continue.
3742
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3743
+ */
3744
+ get: operations["listAdminAISummarySettingsAudit"];
3745
+ put?: never;
3746
+ post?: never;
3747
+ delete?: never;
3748
+ options?: never;
3749
+ head?: never;
3750
+ patch?: never;
3751
+ trace?: never;
3752
+ };
3619
3753
  "/api/v1/{team_id}/comments": {
3620
3754
  parameters: {
3621
3755
  query?: never;
@@ -12781,9 +12915,12 @@ export interface components {
12781
12915
  };
12782
12916
  /**
12783
12917
  * @description One append-only change to an instance setting. `before` and `after` are
12784
- * REDACTED snapshots: they never contain a credential, only
12785
- * `has_credential` and, on an upsert's `after`, a `secret` marker saying
12786
- * whether the credential was `changed` or `unchanged`.
12918
+ * snapshots of the setting's values, filtered to that setting's allowlisted
12919
+ * keys, and never contain a credential. For `email_provider` they report
12920
+ * only `has_credential` and, on an upsert's `after`, a `secret` marker
12921
+ * saying whether the credential was `changed` or `unchanged`; the `search`
12922
+ * and `ai_summary` snapshots are the settings' values, which hold no
12923
+ * credential.
12787
12924
  */
12788
12925
  AdminInstanceSettingsAuditEntry: {
12789
12926
  /**
@@ -12794,8 +12931,9 @@ export interface components {
12794
12931
  /**
12795
12932
  * @description The instance setting the entry describes.
12796
12933
  * @example email_provider
12934
+ * @enum {string}
12797
12935
  */
12798
- setting: string;
12936
+ setting: "email_provider" | "search" | "ai_summary";
12799
12937
  /**
12800
12938
  * @description `upsert` (created or replaced by an admin), `delete` (removed by an
12801
12939
  * admin) or `import` (the boot-time import from config.yaml, which has no
@@ -12835,6 +12973,253 @@ export interface components {
12835
12973
  /** @description Opaque cursor for the next page; null on the last page. */
12836
12974
  next_cursor: string | null;
12837
12975
  };
12976
+ /**
12977
+ * @description Where the instance values come from: `instance` when an instance admin (or
12978
+ * the boot-time config import) stored them, `default` when nothing is stored
12979
+ * and the built-in defaults apply.
12980
+ * @example instance
12981
+ * @enum {string}
12982
+ */
12983
+ AdminInstanceSettingsSource: "instance" | "default";
12984
+ /**
12985
+ * @description The instance search ranking defaults. Every team without its own search
12986
+ * settings ranks with these; `rank_candidate_cap` is instance-only and applies
12987
+ * to every team.
12988
+ */
12989
+ AdminInstanceSearchValues: {
12990
+ /**
12991
+ * @description Whether search results are re-ranked by recency.
12992
+ * @example false
12993
+ */
12994
+ recency_ranking_enabled: boolean;
12995
+ /**
12996
+ * Format: double
12997
+ * @description Weight of semantic relevance. The three weights must not all be zero.
12998
+ * @example 0.5
12999
+ */
13000
+ rank_weight_relevance: number;
13001
+ /**
13002
+ * Format: double
13003
+ * @description Weight of creation recency.
13004
+ * @example 0.3
13005
+ */
13006
+ rank_weight_created: number;
13007
+ /**
13008
+ * Format: double
13009
+ * @description Weight of update recency.
13010
+ * @example 0.2
13011
+ */
13012
+ rank_weight_updated: number;
13013
+ /**
13014
+ * Format: double
13015
+ * @description Recency half-life in days.
13016
+ * @example 90
13017
+ */
13018
+ rank_half_life_days: number;
13019
+ /**
13020
+ * @description How many rows are pulled and re-ranked per search.
13021
+ * @example 200
13022
+ */
13023
+ rank_candidate_cap: number;
13024
+ };
13025
+ /** @description The hard bounds the search values are validated against, for form validation. */
13026
+ AdminInstanceSearchLimits: {
13027
+ /**
13028
+ * Format: double
13029
+ * @description The smallest allowed weight. The three weights must also not all be zero.
13030
+ * @example 0
13031
+ */
13032
+ rank_weight_min: number;
13033
+ /**
13034
+ * Format: double
13035
+ * @description The largest allowed half-life, in days. The half-life must also be positive.
13036
+ * @example 36500
13037
+ */
13038
+ rank_half_life_days_max: number;
13039
+ /** @example 1 */
13040
+ rank_candidate_cap_min: number;
13041
+ /** @example 5000 */
13042
+ rank_candidate_cap_max: number;
13043
+ };
13044
+ /**
13045
+ * @description The instance search ranking defaults in effect, where they come from and
13046
+ * how many teams ignore them because they store search settings of their own.
13047
+ */
13048
+ AdminInstanceSearchSettings: {
13049
+ values: components["schemas"]["AdminInstanceSearchValues"];
13050
+ source: components["schemas"]["AdminInstanceSettingsSource"];
13051
+ built_in_defaults: components["schemas"]["AdminInstanceSearchValues"];
13052
+ limits: components["schemas"]["AdminInstanceSearchLimits"];
13053
+ /**
13054
+ * @description How many teams store search settings of their own, so a change here does not reach them.
13055
+ * @example 3
13056
+ */
13057
+ teams_with_override: number;
13058
+ /**
13059
+ * Format: date-time
13060
+ * @description When the values were last stored; null when `source` is `default`.
13061
+ */
13062
+ updated_at: string | null;
13063
+ /**
13064
+ * Format: uuid
13065
+ * @description The admin who last stored the values. Null when `source` is `default`,
13066
+ * for the boot-time import, or once that user has been deleted.
13067
+ */
13068
+ updated_by_user_id: string | null;
13069
+ /** @description That admin's display name (or email), when it could be resolved. */
13070
+ updated_by_name: string | null;
13071
+ /**
13072
+ * Format: int64
13073
+ * @description The stored row's optimistic-lock version; null when nothing is stored.
13074
+ * Send it back as `expected_version` to reject a save that would
13075
+ * overwrite someone else's change.
13076
+ * @example 4
13077
+ */
13078
+ version: number | null;
13079
+ };
13080
+ /**
13081
+ * @description A whole replacement of the instance search ranking defaults. Every value is
13082
+ * required. `expected_version` is optional: when present, the save is
13083
+ * rejected with 409 unless it equals the stored version (and when nothing is
13084
+ * stored, any `expected_version` other than null is a conflict). Omit it for
13085
+ * last-write-wins.
13086
+ */
13087
+ AdminInstanceSearchSettingsUpdate: {
13088
+ recency_ranking_enabled: boolean;
13089
+ /** Format: double */
13090
+ rank_weight_relevance: number;
13091
+ /** Format: double */
13092
+ rank_weight_created: number;
13093
+ /** Format: double */
13094
+ rank_weight_updated: number;
13095
+ /** Format: double */
13096
+ rank_half_life_days: number;
13097
+ rank_candidate_cap: number;
13098
+ /**
13099
+ * Format: int64
13100
+ * @description The `version` the caller last read; omit or null for last-write-wins.
13101
+ */
13102
+ expected_version?: number | null;
13103
+ };
13104
+ /**
13105
+ * @description How detailed a summary is.
13106
+ * @example balanced
13107
+ * @enum {string}
13108
+ */
13109
+ AdminInstanceAISummaryStyle: "concise" | "balanced" | "detailed";
13110
+ /**
13111
+ * @description The instance AI summary defaults and budgets. `enabled`, `top_n`, `style`
13112
+ * and `max_output_tokens` are the defaults every team without its own AI
13113
+ * summary settings uses; the character budgets and the request timeout are
13114
+ * instance-only and apply to every team.
13115
+ */
13116
+ AdminInstanceAISummaryValues: {
13117
+ /** @example true */
13118
+ enabled: boolean;
13119
+ /**
13120
+ * @description How many search results a summary reads.
13121
+ * @example 5
13122
+ */
13123
+ top_n: number;
13124
+ style: components["schemas"]["AdminInstanceAISummaryStyle"];
13125
+ /** @example 800 */
13126
+ max_output_tokens: number;
13127
+ /**
13128
+ * @description How many characters of each document a summary reads.
13129
+ * @example 8000
13130
+ */
13131
+ per_document_chars: number;
13132
+ /**
13133
+ * @description The total character budget of one summary's context; at least `per_document_chars`.
13134
+ * @example 32000
13135
+ */
13136
+ total_context_chars: number;
13137
+ /**
13138
+ * @description The summary request timeout, in milliseconds.
13139
+ * @example 60000
13140
+ */
13141
+ request_timeout_ms: number;
13142
+ };
13143
+ /** @description The hard bounds the AI summary values are validated against, for form validation. */
13144
+ AdminInstanceAISummaryLimits: {
13145
+ /** @example 1 */
13146
+ top_n_min: number;
13147
+ /** @example 10 */
13148
+ top_n_max: number;
13149
+ /** @example 1 */
13150
+ max_output_tokens_min: number;
13151
+ /** @example 32768 */
13152
+ max_output_tokens_max: number;
13153
+ /**
13154
+ * @description The smallest allowed character budget. `total_context_chars` must also be at least `per_document_chars`.
13155
+ * @example 1
13156
+ */
13157
+ chars_min: number;
13158
+ /** @example 2147483647 */
13159
+ chars_max: number;
13160
+ /** @example 1 */
13161
+ request_timeout_ms_min: number;
13162
+ /** @example 2147483647 */
13163
+ request_timeout_ms_max: number;
13164
+ };
13165
+ /**
13166
+ * @description The instance AI summary defaults in effect, where they come from and how
13167
+ * many teams ignore the defaults because they store AI summary settings of
13168
+ * their own. The instance-only budgets reach every team regardless.
13169
+ */
13170
+ AdminInstanceAISummarySettings: {
13171
+ values: components["schemas"]["AdminInstanceAISummaryValues"];
13172
+ source: components["schemas"]["AdminInstanceSettingsSource"];
13173
+ built_in_defaults: components["schemas"]["AdminInstanceAISummaryValues"];
13174
+ limits: components["schemas"]["AdminInstanceAISummaryLimits"];
13175
+ /**
13176
+ * @description How many teams store AI summary settings of their own, so a change to the team defaults does not reach them.
13177
+ * @example 2
13178
+ */
13179
+ teams_with_override: number;
13180
+ /**
13181
+ * Format: date-time
13182
+ * @description When the values were last stored; null when `source` is `default`.
13183
+ */
13184
+ updated_at: string | null;
13185
+ /**
13186
+ * Format: uuid
13187
+ * @description The admin who last stored the values. Null when `source` is `default`,
13188
+ * for the boot-time import, or once that user has been deleted.
13189
+ */
13190
+ updated_by_user_id: string | null;
13191
+ /** @description That admin's display name (or email), when it could be resolved. */
13192
+ updated_by_name: string | null;
13193
+ /**
13194
+ * Format: int64
13195
+ * @description The stored row's optimistic-lock version; null when nothing is stored.
13196
+ * Send it back as `expected_version` to reject a save that would
13197
+ * overwrite someone else's change.
13198
+ * @example 4
13199
+ */
13200
+ version: number | null;
13201
+ };
13202
+ /**
13203
+ * @description A whole replacement of the instance AI summary settings. Every value is
13204
+ * required. `expected_version` is optional: when present, the save is
13205
+ * rejected with 409 unless it equals the stored version (and when nothing is
13206
+ * stored, any `expected_version` other than null is a conflict). Omit it for
13207
+ * last-write-wins.
13208
+ */
13209
+ AdminInstanceAISummarySettingsUpdate: {
13210
+ enabled: boolean;
13211
+ top_n: number;
13212
+ style: components["schemas"]["AdminInstanceAISummaryStyle"];
13213
+ max_output_tokens: number;
13214
+ per_document_chars: number;
13215
+ total_context_chars: number;
13216
+ request_timeout_ms: number;
13217
+ /**
13218
+ * Format: int64
13219
+ * @description The `version` the caller last read; omit or null for last-write-wins.
13220
+ */
13221
+ expected_version?: number | null;
13222
+ };
12838
13223
  ProjectResponse: components["schemas"]["Project"] & {
12839
13224
  /**
12840
13225
  * @description Whether the project's git URL matches a repository accessible via the team's GitHub App installation
@@ -24668,6 +25053,388 @@ export interface operations {
24668
25053
  };
24669
25054
  };
24670
25055
  };
25056
+ getAdminSearchSettings: {
25057
+ parameters: {
25058
+ query?: never;
25059
+ header?: never;
25060
+ path?: never;
25061
+ cookie?: never;
25062
+ };
25063
+ requestBody?: never;
25064
+ responses: {
25065
+ /** @description The instance search ranking settings */
25066
+ 200: {
25067
+ headers: {
25068
+ [name: string]: unknown;
25069
+ };
25070
+ content: {
25071
+ "application/json": components["schemas"]["AdminInstanceSearchSettings"];
25072
+ };
25073
+ };
25074
+ /** @description Not found — the caller is not an instance admin */
25075
+ 404: {
25076
+ headers: {
25077
+ [name: string]: unknown;
25078
+ };
25079
+ content: {
25080
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25081
+ };
25082
+ };
25083
+ /** @description Internal server error */
25084
+ 500: {
25085
+ headers: {
25086
+ [name: string]: unknown;
25087
+ };
25088
+ content: {
25089
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25090
+ };
25091
+ };
25092
+ };
25093
+ };
25094
+ updateAdminSearchSettings: {
25095
+ parameters: {
25096
+ query?: never;
25097
+ header?: never;
25098
+ path?: never;
25099
+ cookie?: never;
25100
+ };
25101
+ requestBody: {
25102
+ content: {
25103
+ "application/json": components["schemas"]["AdminInstanceSearchSettingsUpdate"];
25104
+ };
25105
+ };
25106
+ responses: {
25107
+ /** @description The stored settings (`source` is `instance`) */
25108
+ 200: {
25109
+ headers: {
25110
+ [name: string]: unknown;
25111
+ };
25112
+ content: {
25113
+ "application/json": components["schemas"]["AdminInstanceSearchSettings"];
25114
+ };
25115
+ };
25116
+ /**
25117
+ * @description Bad request — a value is out of bounds (`INSTANCE_SETTINGS_VALIDATION_FAILED`,
25118
+ * with `validation_errors` naming each offending field), or the body is
25119
+ * malformed, omits or nulls a value field (every value is required), or
25120
+ * carries an unknown field
25121
+ */
25122
+ 400: {
25123
+ headers: {
25124
+ [name: string]: unknown;
25125
+ };
25126
+ content: {
25127
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25128
+ };
25129
+ };
25130
+ /** @description Not found — the caller is not an instance admin */
25131
+ 404: {
25132
+ headers: {
25133
+ [name: string]: unknown;
25134
+ };
25135
+ content: {
25136
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25137
+ };
25138
+ };
25139
+ /** @description Conflict — `expected_version` does not match the stored version (`INSTANCE_SETTINGS_VERSION_CONFLICT`); nothing was changed */
25140
+ 409: {
25141
+ headers: {
25142
+ [name: string]: unknown;
25143
+ };
25144
+ content: {
25145
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25146
+ };
25147
+ };
25148
+ /** @description Internal server error */
25149
+ 500: {
25150
+ headers: {
25151
+ [name: string]: unknown;
25152
+ };
25153
+ content: {
25154
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25155
+ };
25156
+ };
25157
+ };
25158
+ };
25159
+ resetAdminSearchSettings: {
25160
+ parameters: {
25161
+ query?: never;
25162
+ header?: never;
25163
+ path?: never;
25164
+ cookie?: never;
25165
+ };
25166
+ requestBody?: never;
25167
+ responses: {
25168
+ /** @description The built-in defaults now apply */
25169
+ 204: {
25170
+ headers: {
25171
+ [name: string]: unknown;
25172
+ };
25173
+ content?: never;
25174
+ };
25175
+ /** @description Not found — the caller is not an instance admin */
25176
+ 404: {
25177
+ headers: {
25178
+ [name: string]: unknown;
25179
+ };
25180
+ content: {
25181
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25182
+ };
25183
+ };
25184
+ /** @description Internal server error */
25185
+ 500: {
25186
+ headers: {
25187
+ [name: string]: unknown;
25188
+ };
25189
+ content: {
25190
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25191
+ };
25192
+ };
25193
+ };
25194
+ };
25195
+ listAdminSearchSettingsAudit: {
25196
+ parameters: {
25197
+ query?: {
25198
+ /** @description Opaque cursor from a previous page's `next_cursor`. */
25199
+ cursor?: string;
25200
+ /** @description Page size. */
25201
+ limit?: number;
25202
+ };
25203
+ header?: never;
25204
+ path?: never;
25205
+ cookie?: never;
25206
+ };
25207
+ requestBody?: never;
25208
+ responses: {
25209
+ /** @description One page of audit entries, newest first */
25210
+ 200: {
25211
+ headers: {
25212
+ [name: string]: unknown;
25213
+ };
25214
+ content: {
25215
+ "application/json": components["schemas"]["AdminInstanceSettingsAuditPage"];
25216
+ };
25217
+ };
25218
+ /** @description Bad request — malformed cursor, or `limit` out of range */
25219
+ 400: {
25220
+ headers: {
25221
+ [name: string]: unknown;
25222
+ };
25223
+ content: {
25224
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25225
+ };
25226
+ };
25227
+ /** @description Not found — the caller is not an instance admin */
25228
+ 404: {
25229
+ headers: {
25230
+ [name: string]: unknown;
25231
+ };
25232
+ content: {
25233
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25234
+ };
25235
+ };
25236
+ /** @description Internal server error */
25237
+ 500: {
25238
+ headers: {
25239
+ [name: string]: unknown;
25240
+ };
25241
+ content: {
25242
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25243
+ };
25244
+ };
25245
+ };
25246
+ };
25247
+ getAdminAISummarySettings: {
25248
+ parameters: {
25249
+ query?: never;
25250
+ header?: never;
25251
+ path?: never;
25252
+ cookie?: never;
25253
+ };
25254
+ requestBody?: never;
25255
+ responses: {
25256
+ /** @description The instance AI summary settings */
25257
+ 200: {
25258
+ headers: {
25259
+ [name: string]: unknown;
25260
+ };
25261
+ content: {
25262
+ "application/json": components["schemas"]["AdminInstanceAISummarySettings"];
25263
+ };
25264
+ };
25265
+ /** @description Not found — the caller is not an instance admin */
25266
+ 404: {
25267
+ headers: {
25268
+ [name: string]: unknown;
25269
+ };
25270
+ content: {
25271
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25272
+ };
25273
+ };
25274
+ /** @description Internal server error */
25275
+ 500: {
25276
+ headers: {
25277
+ [name: string]: unknown;
25278
+ };
25279
+ content: {
25280
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25281
+ };
25282
+ };
25283
+ };
25284
+ };
25285
+ updateAdminAISummarySettings: {
25286
+ parameters: {
25287
+ query?: never;
25288
+ header?: never;
25289
+ path?: never;
25290
+ cookie?: never;
25291
+ };
25292
+ requestBody: {
25293
+ content: {
25294
+ "application/json": components["schemas"]["AdminInstanceAISummarySettingsUpdate"];
25295
+ };
25296
+ };
25297
+ responses: {
25298
+ /** @description The stored settings (`source` is `instance`) */
25299
+ 200: {
25300
+ headers: {
25301
+ [name: string]: unknown;
25302
+ };
25303
+ content: {
25304
+ "application/json": components["schemas"]["AdminInstanceAISummarySettings"];
25305
+ };
25306
+ };
25307
+ /**
25308
+ * @description Bad request — a value is out of bounds (`INSTANCE_SETTINGS_VALIDATION_FAILED`,
25309
+ * with `validation_errors` naming each offending field), or the body is
25310
+ * malformed, omits or nulls a value field (every value is required), or
25311
+ * carries an unknown field
25312
+ */
25313
+ 400: {
25314
+ headers: {
25315
+ [name: string]: unknown;
25316
+ };
25317
+ content: {
25318
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25319
+ };
25320
+ };
25321
+ /** @description Not found — the caller is not an instance admin */
25322
+ 404: {
25323
+ headers: {
25324
+ [name: string]: unknown;
25325
+ };
25326
+ content: {
25327
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25328
+ };
25329
+ };
25330
+ /** @description Conflict — `expected_version` does not match the stored version (`INSTANCE_SETTINGS_VERSION_CONFLICT`); nothing was changed */
25331
+ 409: {
25332
+ headers: {
25333
+ [name: string]: unknown;
25334
+ };
25335
+ content: {
25336
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25337
+ };
25338
+ };
25339
+ /** @description Internal server error */
25340
+ 500: {
25341
+ headers: {
25342
+ [name: string]: unknown;
25343
+ };
25344
+ content: {
25345
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25346
+ };
25347
+ };
25348
+ };
25349
+ };
25350
+ resetAdminAISummarySettings: {
25351
+ parameters: {
25352
+ query?: never;
25353
+ header?: never;
25354
+ path?: never;
25355
+ cookie?: never;
25356
+ };
25357
+ requestBody?: never;
25358
+ responses: {
25359
+ /** @description The built-in defaults now apply */
25360
+ 204: {
25361
+ headers: {
25362
+ [name: string]: unknown;
25363
+ };
25364
+ content?: never;
25365
+ };
25366
+ /** @description Not found — the caller is not an instance admin */
25367
+ 404: {
25368
+ headers: {
25369
+ [name: string]: unknown;
25370
+ };
25371
+ content: {
25372
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25373
+ };
25374
+ };
25375
+ /** @description Internal server error */
25376
+ 500: {
25377
+ headers: {
25378
+ [name: string]: unknown;
25379
+ };
25380
+ content: {
25381
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25382
+ };
25383
+ };
25384
+ };
25385
+ };
25386
+ listAdminAISummarySettingsAudit: {
25387
+ parameters: {
25388
+ query?: {
25389
+ /** @description Opaque cursor from a previous page's `next_cursor`. */
25390
+ cursor?: string;
25391
+ /** @description Page size. */
25392
+ limit?: number;
25393
+ };
25394
+ header?: never;
25395
+ path?: never;
25396
+ cookie?: never;
25397
+ };
25398
+ requestBody?: never;
25399
+ responses: {
25400
+ /** @description One page of audit entries, newest first */
25401
+ 200: {
25402
+ headers: {
25403
+ [name: string]: unknown;
25404
+ };
25405
+ content: {
25406
+ "application/json": components["schemas"]["AdminInstanceSettingsAuditPage"];
25407
+ };
25408
+ };
25409
+ /** @description Bad request — malformed cursor, or `limit` out of range */
25410
+ 400: {
25411
+ headers: {
25412
+ [name: string]: unknown;
25413
+ };
25414
+ content: {
25415
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25416
+ };
25417
+ };
25418
+ /** @description Not found — the caller is not an instance admin */
25419
+ 404: {
25420
+ headers: {
25421
+ [name: string]: unknown;
25422
+ };
25423
+ content: {
25424
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25425
+ };
25426
+ };
25427
+ /** @description Internal server error */
25428
+ 500: {
25429
+ headers: {
25430
+ [name: string]: unknown;
25431
+ };
25432
+ content: {
25433
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25434
+ };
25435
+ };
25436
+ };
25437
+ };
24671
25438
  listComments: {
24672
25439
  parameters: {
24673
25440
  query: {