@vibexp/api-client 0.92.0 → 0.94.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;
@@ -12607,7 +12741,9 @@ export interface components {
12607
12741
  *
12608
12742
  * OMIT it to keep the stored credential, which is allowed only when the
12609
12743
  * provider type is unchanged; a new configuration or a change of provider
12610
- * type must carry its own. An explicitly empty string is rejected.
12744
+ * type must carry its own, except SMTP, where omitting it configures an
12745
+ * unauthenticated relay (no credential is stored and no AUTH is
12746
+ * attempted). An explicitly empty string is rejected.
12611
12747
  * @example key-abc123
12612
12748
  */
12613
12749
  secret?: string;
@@ -12659,7 +12795,9 @@ export interface components {
12659
12795
  settings?: components["schemas"]["TeamEmailProviderSettings"];
12660
12796
  /**
12661
12797
  * @description The candidate credential. Omit it to test with the stored credential
12662
- * (same destination only, see above). Never returned.
12798
+ * (same destination only, see above); an SMTP candidate with no
12799
+ * credential to reuse is tested as an unauthenticated relay. Never
12800
+ * returned.
12663
12801
  * @example key-abc123
12664
12802
  */
12665
12803
  secret?: string;
@@ -12781,9 +12919,12 @@ export interface components {
12781
12919
  };
12782
12920
  /**
12783
12921
  * @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`.
12922
+ * snapshots of the setting's values, filtered to that setting's allowlisted
12923
+ * keys, and never contain a credential. For `email_provider` they report
12924
+ * only `has_credential` and, on an upsert's `after`, a `secret` marker
12925
+ * saying whether the credential was `changed` or `unchanged`; the `search`
12926
+ * and `ai_summary` snapshots are the settings' values, which hold no
12927
+ * credential.
12787
12928
  */
12788
12929
  AdminInstanceSettingsAuditEntry: {
12789
12930
  /**
@@ -12794,8 +12935,9 @@ export interface components {
12794
12935
  /**
12795
12936
  * @description The instance setting the entry describes.
12796
12937
  * @example email_provider
12938
+ * @enum {string}
12797
12939
  */
12798
- setting: string;
12940
+ setting: "email_provider" | "search" | "ai_summary";
12799
12941
  /**
12800
12942
  * @description `upsert` (created or replaced by an admin), `delete` (removed by an
12801
12943
  * admin) or `import` (the boot-time import from config.yaml, which has no
@@ -12835,6 +12977,253 @@ export interface components {
12835
12977
  /** @description Opaque cursor for the next page; null on the last page. */
12836
12978
  next_cursor: string | null;
12837
12979
  };
12980
+ /**
12981
+ * @description Where the instance values come from: `instance` when an instance admin (or
12982
+ * the boot-time config import) stored them, `default` when nothing is stored
12983
+ * and the built-in defaults apply.
12984
+ * @example instance
12985
+ * @enum {string}
12986
+ */
12987
+ AdminInstanceSettingsSource: "instance" | "default";
12988
+ /**
12989
+ * @description The instance search ranking defaults. Every team without its own search
12990
+ * settings ranks with these; `rank_candidate_cap` is instance-only and applies
12991
+ * to every team.
12992
+ */
12993
+ AdminInstanceSearchValues: {
12994
+ /**
12995
+ * @description Whether search results are re-ranked by recency.
12996
+ * @example false
12997
+ */
12998
+ recency_ranking_enabled: boolean;
12999
+ /**
13000
+ * Format: double
13001
+ * @description Weight of semantic relevance. The three weights must not all be zero.
13002
+ * @example 0.5
13003
+ */
13004
+ rank_weight_relevance: number;
13005
+ /**
13006
+ * Format: double
13007
+ * @description Weight of creation recency.
13008
+ * @example 0.3
13009
+ */
13010
+ rank_weight_created: number;
13011
+ /**
13012
+ * Format: double
13013
+ * @description Weight of update recency.
13014
+ * @example 0.2
13015
+ */
13016
+ rank_weight_updated: number;
13017
+ /**
13018
+ * Format: double
13019
+ * @description Recency half-life in days.
13020
+ * @example 90
13021
+ */
13022
+ rank_half_life_days: number;
13023
+ /**
13024
+ * @description How many rows are pulled and re-ranked per search.
13025
+ * @example 200
13026
+ */
13027
+ rank_candidate_cap: number;
13028
+ };
13029
+ /** @description The hard bounds the search values are validated against, for form validation. */
13030
+ AdminInstanceSearchLimits: {
13031
+ /**
13032
+ * Format: double
13033
+ * @description The smallest allowed weight. The three weights must also not all be zero.
13034
+ * @example 0
13035
+ */
13036
+ rank_weight_min: number;
13037
+ /**
13038
+ * Format: double
13039
+ * @description The largest allowed half-life, in days. The half-life must also be positive.
13040
+ * @example 36500
13041
+ */
13042
+ rank_half_life_days_max: number;
13043
+ /** @example 1 */
13044
+ rank_candidate_cap_min: number;
13045
+ /** @example 5000 */
13046
+ rank_candidate_cap_max: number;
13047
+ };
13048
+ /**
13049
+ * @description The instance search ranking defaults in effect, where they come from and
13050
+ * how many teams ignore them because they store search settings of their own.
13051
+ */
13052
+ AdminInstanceSearchSettings: {
13053
+ values: components["schemas"]["AdminInstanceSearchValues"];
13054
+ source: components["schemas"]["AdminInstanceSettingsSource"];
13055
+ built_in_defaults: components["schemas"]["AdminInstanceSearchValues"];
13056
+ limits: components["schemas"]["AdminInstanceSearchLimits"];
13057
+ /**
13058
+ * @description How many teams store search settings of their own, so a change here does not reach them.
13059
+ * @example 3
13060
+ */
13061
+ teams_with_override: number;
13062
+ /**
13063
+ * Format: date-time
13064
+ * @description When the values were last stored; null when `source` is `default`.
13065
+ */
13066
+ updated_at: string | null;
13067
+ /**
13068
+ * Format: uuid
13069
+ * @description The admin who last stored the values. Null when `source` is `default`,
13070
+ * for the boot-time import, or once that user has been deleted.
13071
+ */
13072
+ updated_by_user_id: string | null;
13073
+ /** @description That admin's display name (or email), when it could be resolved. */
13074
+ updated_by_name: string | null;
13075
+ /**
13076
+ * Format: int64
13077
+ * @description The stored row's optimistic-lock version; null when nothing is stored.
13078
+ * Send it back as `expected_version` to reject a save that would
13079
+ * overwrite someone else's change.
13080
+ * @example 4
13081
+ */
13082
+ version: number | null;
13083
+ };
13084
+ /**
13085
+ * @description A whole replacement of the instance search ranking defaults. Every value is
13086
+ * required. `expected_version` is optional: when present, the save is
13087
+ * rejected with 409 unless it equals the stored version (and when nothing is
13088
+ * stored, any `expected_version` other than null is a conflict). Omit it for
13089
+ * last-write-wins.
13090
+ */
13091
+ AdminInstanceSearchSettingsUpdate: {
13092
+ recency_ranking_enabled: boolean;
13093
+ /** Format: double */
13094
+ rank_weight_relevance: number;
13095
+ /** Format: double */
13096
+ rank_weight_created: number;
13097
+ /** Format: double */
13098
+ rank_weight_updated: number;
13099
+ /** Format: double */
13100
+ rank_half_life_days: number;
13101
+ rank_candidate_cap: number;
13102
+ /**
13103
+ * Format: int64
13104
+ * @description The `version` the caller last read; omit or null for last-write-wins.
13105
+ */
13106
+ expected_version?: number | null;
13107
+ };
13108
+ /**
13109
+ * @description How detailed a summary is.
13110
+ * @example balanced
13111
+ * @enum {string}
13112
+ */
13113
+ AdminInstanceAISummaryStyle: "concise" | "balanced" | "detailed";
13114
+ /**
13115
+ * @description The instance AI summary defaults and budgets. `enabled`, `top_n`, `style`
13116
+ * and `max_output_tokens` are the defaults every team without its own AI
13117
+ * summary settings uses; the character budgets and the request timeout are
13118
+ * instance-only and apply to every team.
13119
+ */
13120
+ AdminInstanceAISummaryValues: {
13121
+ /** @example true */
13122
+ enabled: boolean;
13123
+ /**
13124
+ * @description How many search results a summary reads.
13125
+ * @example 5
13126
+ */
13127
+ top_n: number;
13128
+ style: components["schemas"]["AdminInstanceAISummaryStyle"];
13129
+ /** @example 800 */
13130
+ max_output_tokens: number;
13131
+ /**
13132
+ * @description How many characters of each document a summary reads.
13133
+ * @example 8000
13134
+ */
13135
+ per_document_chars: number;
13136
+ /**
13137
+ * @description The total character budget of one summary's context; at least `per_document_chars`.
13138
+ * @example 32000
13139
+ */
13140
+ total_context_chars: number;
13141
+ /**
13142
+ * @description The summary request timeout, in milliseconds.
13143
+ * @example 60000
13144
+ */
13145
+ request_timeout_ms: number;
13146
+ };
13147
+ /** @description The hard bounds the AI summary values are validated against, for form validation. */
13148
+ AdminInstanceAISummaryLimits: {
13149
+ /** @example 1 */
13150
+ top_n_min: number;
13151
+ /** @example 10 */
13152
+ top_n_max: number;
13153
+ /** @example 1 */
13154
+ max_output_tokens_min: number;
13155
+ /** @example 32768 */
13156
+ max_output_tokens_max: number;
13157
+ /**
13158
+ * @description The smallest allowed character budget. `total_context_chars` must also be at least `per_document_chars`.
13159
+ * @example 1
13160
+ */
13161
+ chars_min: number;
13162
+ /** @example 2147483647 */
13163
+ chars_max: number;
13164
+ /** @example 1 */
13165
+ request_timeout_ms_min: number;
13166
+ /** @example 2147483647 */
13167
+ request_timeout_ms_max: number;
13168
+ };
13169
+ /**
13170
+ * @description The instance AI summary defaults in effect, where they come from and how
13171
+ * many teams ignore the defaults because they store AI summary settings of
13172
+ * their own. The instance-only budgets reach every team regardless.
13173
+ */
13174
+ AdminInstanceAISummarySettings: {
13175
+ values: components["schemas"]["AdminInstanceAISummaryValues"];
13176
+ source: components["schemas"]["AdminInstanceSettingsSource"];
13177
+ built_in_defaults: components["schemas"]["AdminInstanceAISummaryValues"];
13178
+ limits: components["schemas"]["AdminInstanceAISummaryLimits"];
13179
+ /**
13180
+ * @description How many teams store AI summary settings of their own, so a change to the team defaults does not reach them.
13181
+ * @example 2
13182
+ */
13183
+ teams_with_override: number;
13184
+ /**
13185
+ * Format: date-time
13186
+ * @description When the values were last stored; null when `source` is `default`.
13187
+ */
13188
+ updated_at: string | null;
13189
+ /**
13190
+ * Format: uuid
13191
+ * @description The admin who last stored the values. Null when `source` is `default`,
13192
+ * for the boot-time import, or once that user has been deleted.
13193
+ */
13194
+ updated_by_user_id: string | null;
13195
+ /** @description That admin's display name (or email), when it could be resolved. */
13196
+ updated_by_name: string | null;
13197
+ /**
13198
+ * Format: int64
13199
+ * @description The stored row's optimistic-lock version; null when nothing is stored.
13200
+ * Send it back as `expected_version` to reject a save that would
13201
+ * overwrite someone else's change.
13202
+ * @example 4
13203
+ */
13204
+ version: number | null;
13205
+ };
13206
+ /**
13207
+ * @description A whole replacement of the instance AI summary settings. Every value is
13208
+ * required. `expected_version` is optional: when present, the save is
13209
+ * rejected with 409 unless it equals the stored version (and when nothing is
13210
+ * stored, any `expected_version` other than null is a conflict). Omit it for
13211
+ * last-write-wins.
13212
+ */
13213
+ AdminInstanceAISummarySettingsUpdate: {
13214
+ enabled: boolean;
13215
+ top_n: number;
13216
+ style: components["schemas"]["AdminInstanceAISummaryStyle"];
13217
+ max_output_tokens: number;
13218
+ per_document_chars: number;
13219
+ total_context_chars: number;
13220
+ request_timeout_ms: number;
13221
+ /**
13222
+ * Format: int64
13223
+ * @description The `version` the caller last read; omit or null for last-write-wins.
13224
+ */
13225
+ expected_version?: number | null;
13226
+ };
12838
13227
  ProjectResponse: components["schemas"]["Project"] & {
12839
13228
  /**
12840
13229
  * @description Whether the project's git URL matches a repository accessible via the team's GitHub App installation
@@ -24668,6 +25057,388 @@ export interface operations {
24668
25057
  };
24669
25058
  };
24670
25059
  };
25060
+ getAdminSearchSettings: {
25061
+ parameters: {
25062
+ query?: never;
25063
+ header?: never;
25064
+ path?: never;
25065
+ cookie?: never;
25066
+ };
25067
+ requestBody?: never;
25068
+ responses: {
25069
+ /** @description The instance search ranking settings */
25070
+ 200: {
25071
+ headers: {
25072
+ [name: string]: unknown;
25073
+ };
25074
+ content: {
25075
+ "application/json": components["schemas"]["AdminInstanceSearchSettings"];
25076
+ };
25077
+ };
25078
+ /** @description Not found — the caller is not an instance admin */
25079
+ 404: {
25080
+ headers: {
25081
+ [name: string]: unknown;
25082
+ };
25083
+ content: {
25084
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25085
+ };
25086
+ };
25087
+ /** @description Internal server error */
25088
+ 500: {
25089
+ headers: {
25090
+ [name: string]: unknown;
25091
+ };
25092
+ content: {
25093
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25094
+ };
25095
+ };
25096
+ };
25097
+ };
25098
+ updateAdminSearchSettings: {
25099
+ parameters: {
25100
+ query?: never;
25101
+ header?: never;
25102
+ path?: never;
25103
+ cookie?: never;
25104
+ };
25105
+ requestBody: {
25106
+ content: {
25107
+ "application/json": components["schemas"]["AdminInstanceSearchSettingsUpdate"];
25108
+ };
25109
+ };
25110
+ responses: {
25111
+ /** @description The stored settings (`source` is `instance`) */
25112
+ 200: {
25113
+ headers: {
25114
+ [name: string]: unknown;
25115
+ };
25116
+ content: {
25117
+ "application/json": components["schemas"]["AdminInstanceSearchSettings"];
25118
+ };
25119
+ };
25120
+ /**
25121
+ * @description Bad request — a value is out of bounds (`INSTANCE_SETTINGS_VALIDATION_FAILED`,
25122
+ * with `validation_errors` naming each offending field), or the body is
25123
+ * malformed, omits or nulls a value field (every value is required), or
25124
+ * carries an unknown field
25125
+ */
25126
+ 400: {
25127
+ headers: {
25128
+ [name: string]: unknown;
25129
+ };
25130
+ content: {
25131
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25132
+ };
25133
+ };
25134
+ /** @description Not found — the caller is not an instance admin */
25135
+ 404: {
25136
+ headers: {
25137
+ [name: string]: unknown;
25138
+ };
25139
+ content: {
25140
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25141
+ };
25142
+ };
25143
+ /** @description Conflict — `expected_version` does not match the stored version (`INSTANCE_SETTINGS_VERSION_CONFLICT`); nothing was changed */
25144
+ 409: {
25145
+ headers: {
25146
+ [name: string]: unknown;
25147
+ };
25148
+ content: {
25149
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25150
+ };
25151
+ };
25152
+ /** @description Internal server error */
25153
+ 500: {
25154
+ headers: {
25155
+ [name: string]: unknown;
25156
+ };
25157
+ content: {
25158
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25159
+ };
25160
+ };
25161
+ };
25162
+ };
25163
+ resetAdminSearchSettings: {
25164
+ parameters: {
25165
+ query?: never;
25166
+ header?: never;
25167
+ path?: never;
25168
+ cookie?: never;
25169
+ };
25170
+ requestBody?: never;
25171
+ responses: {
25172
+ /** @description The built-in defaults now apply */
25173
+ 204: {
25174
+ headers: {
25175
+ [name: string]: unknown;
25176
+ };
25177
+ content?: never;
25178
+ };
25179
+ /** @description Not found — the caller is not an instance admin */
25180
+ 404: {
25181
+ headers: {
25182
+ [name: string]: unknown;
25183
+ };
25184
+ content: {
25185
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25186
+ };
25187
+ };
25188
+ /** @description Internal server error */
25189
+ 500: {
25190
+ headers: {
25191
+ [name: string]: unknown;
25192
+ };
25193
+ content: {
25194
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25195
+ };
25196
+ };
25197
+ };
25198
+ };
25199
+ listAdminSearchSettingsAudit: {
25200
+ parameters: {
25201
+ query?: {
25202
+ /** @description Opaque cursor from a previous page's `next_cursor`. */
25203
+ cursor?: string;
25204
+ /** @description Page size. */
25205
+ limit?: number;
25206
+ };
25207
+ header?: never;
25208
+ path?: never;
25209
+ cookie?: never;
25210
+ };
25211
+ requestBody?: never;
25212
+ responses: {
25213
+ /** @description One page of audit entries, newest first */
25214
+ 200: {
25215
+ headers: {
25216
+ [name: string]: unknown;
25217
+ };
25218
+ content: {
25219
+ "application/json": components["schemas"]["AdminInstanceSettingsAuditPage"];
25220
+ };
25221
+ };
25222
+ /** @description Bad request — malformed cursor, or `limit` out of range */
25223
+ 400: {
25224
+ headers: {
25225
+ [name: string]: unknown;
25226
+ };
25227
+ content: {
25228
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25229
+ };
25230
+ };
25231
+ /** @description Not found — the caller is not an instance admin */
25232
+ 404: {
25233
+ headers: {
25234
+ [name: string]: unknown;
25235
+ };
25236
+ content: {
25237
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25238
+ };
25239
+ };
25240
+ /** @description Internal server error */
25241
+ 500: {
25242
+ headers: {
25243
+ [name: string]: unknown;
25244
+ };
25245
+ content: {
25246
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25247
+ };
25248
+ };
25249
+ };
25250
+ };
25251
+ getAdminAISummarySettings: {
25252
+ parameters: {
25253
+ query?: never;
25254
+ header?: never;
25255
+ path?: never;
25256
+ cookie?: never;
25257
+ };
25258
+ requestBody?: never;
25259
+ responses: {
25260
+ /** @description The instance AI summary settings */
25261
+ 200: {
25262
+ headers: {
25263
+ [name: string]: unknown;
25264
+ };
25265
+ content: {
25266
+ "application/json": components["schemas"]["AdminInstanceAISummarySettings"];
25267
+ };
25268
+ };
25269
+ /** @description Not found — the caller is not an instance admin */
25270
+ 404: {
25271
+ headers: {
25272
+ [name: string]: unknown;
25273
+ };
25274
+ content: {
25275
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25276
+ };
25277
+ };
25278
+ /** @description Internal server error */
25279
+ 500: {
25280
+ headers: {
25281
+ [name: string]: unknown;
25282
+ };
25283
+ content: {
25284
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25285
+ };
25286
+ };
25287
+ };
25288
+ };
25289
+ updateAdminAISummarySettings: {
25290
+ parameters: {
25291
+ query?: never;
25292
+ header?: never;
25293
+ path?: never;
25294
+ cookie?: never;
25295
+ };
25296
+ requestBody: {
25297
+ content: {
25298
+ "application/json": components["schemas"]["AdminInstanceAISummarySettingsUpdate"];
25299
+ };
25300
+ };
25301
+ responses: {
25302
+ /** @description The stored settings (`source` is `instance`) */
25303
+ 200: {
25304
+ headers: {
25305
+ [name: string]: unknown;
25306
+ };
25307
+ content: {
25308
+ "application/json": components["schemas"]["AdminInstanceAISummarySettings"];
25309
+ };
25310
+ };
25311
+ /**
25312
+ * @description Bad request — a value is out of bounds (`INSTANCE_SETTINGS_VALIDATION_FAILED`,
25313
+ * with `validation_errors` naming each offending field), or the body is
25314
+ * malformed, omits or nulls a value field (every value is required), or
25315
+ * carries an unknown field
25316
+ */
25317
+ 400: {
25318
+ headers: {
25319
+ [name: string]: unknown;
25320
+ };
25321
+ content: {
25322
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25323
+ };
25324
+ };
25325
+ /** @description Not found — the caller is not an instance admin */
25326
+ 404: {
25327
+ headers: {
25328
+ [name: string]: unknown;
25329
+ };
25330
+ content: {
25331
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25332
+ };
25333
+ };
25334
+ /** @description Conflict — `expected_version` does not match the stored version (`INSTANCE_SETTINGS_VERSION_CONFLICT`); nothing was changed */
25335
+ 409: {
25336
+ headers: {
25337
+ [name: string]: unknown;
25338
+ };
25339
+ content: {
25340
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25341
+ };
25342
+ };
25343
+ /** @description Internal server error */
25344
+ 500: {
25345
+ headers: {
25346
+ [name: string]: unknown;
25347
+ };
25348
+ content: {
25349
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25350
+ };
25351
+ };
25352
+ };
25353
+ };
25354
+ resetAdminAISummarySettings: {
25355
+ parameters: {
25356
+ query?: never;
25357
+ header?: never;
25358
+ path?: never;
25359
+ cookie?: never;
25360
+ };
25361
+ requestBody?: never;
25362
+ responses: {
25363
+ /** @description The built-in defaults now apply */
25364
+ 204: {
25365
+ headers: {
25366
+ [name: string]: unknown;
25367
+ };
25368
+ content?: never;
25369
+ };
25370
+ /** @description Not found — the caller is not an instance admin */
25371
+ 404: {
25372
+ headers: {
25373
+ [name: string]: unknown;
25374
+ };
25375
+ content: {
25376
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25377
+ };
25378
+ };
25379
+ /** @description Internal server error */
25380
+ 500: {
25381
+ headers: {
25382
+ [name: string]: unknown;
25383
+ };
25384
+ content: {
25385
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25386
+ };
25387
+ };
25388
+ };
25389
+ };
25390
+ listAdminAISummarySettingsAudit: {
25391
+ parameters: {
25392
+ query?: {
25393
+ /** @description Opaque cursor from a previous page's `next_cursor`. */
25394
+ cursor?: string;
25395
+ /** @description Page size. */
25396
+ limit?: number;
25397
+ };
25398
+ header?: never;
25399
+ path?: never;
25400
+ cookie?: never;
25401
+ };
25402
+ requestBody?: never;
25403
+ responses: {
25404
+ /** @description One page of audit entries, newest first */
25405
+ 200: {
25406
+ headers: {
25407
+ [name: string]: unknown;
25408
+ };
25409
+ content: {
25410
+ "application/json": components["schemas"]["AdminInstanceSettingsAuditPage"];
25411
+ };
25412
+ };
25413
+ /** @description Bad request — malformed cursor, or `limit` out of range */
25414
+ 400: {
25415
+ headers: {
25416
+ [name: string]: unknown;
25417
+ };
25418
+ content: {
25419
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25420
+ };
25421
+ };
25422
+ /** @description Not found — the caller is not an instance admin */
25423
+ 404: {
25424
+ headers: {
25425
+ [name: string]: unknown;
25426
+ };
25427
+ content: {
25428
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25429
+ };
25430
+ };
25431
+ /** @description Internal server error */
25432
+ 500: {
25433
+ headers: {
25434
+ [name: string]: unknown;
25435
+ };
25436
+ content: {
25437
+ "application/problem+json": components["schemas"]["ErrorResponse"];
25438
+ };
25439
+ };
25440
+ };
25441
+ };
24671
25442
  listComments: {
24672
25443
  parameters: {
24673
25444
  query: {