@vibexp/api-client 0.90.0 → 0.92.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.
@@ -4465,25 +4465,29 @@ export type UpdateTeamSearchSettingsRequest = {
4465
4465
  rank_half_life_days: number;
4466
4466
  };
4467
4467
  /**
4468
- * The AI summary settings in effect for a team, with enough context for a client to render the whole settings surface from this one response: the effective values, where they came from, the instance defaults to preview a reset against, the instance-owned top_n and max_output_tokens caps, and whether the team can currently use AI summaries at all.
4468
+ * The AI summary settings in effect for a team, with enough context for a client to render the whole settings surface from this one response: the effective values, where they came from, the instance defaults to preview a reset against, and whether the team can currently use AI summaries at all. `max_top_n` and `max_output_tokens_ceiling` are deprecated and report the hard code limits.
4469
4469
  *
4470
4470
  */
4471
4471
  export type TeamAiSummarySettings = {
4472
4472
  /**
4473
- * Where the effective values come from. `instance` means the team has no override and inherits the deployment defaults; `team` means the team has stored its own profile.
4473
+ * Where the effective values come from. `instance` means the team has no override and inherits the instance defaults; `team` means the team has stored its own profile.
4474
4474
  *
4475
4475
  */
4476
4476
  source: 'instance' | 'team';
4477
4477
  values: TeamAiSummarySettingsValues;
4478
4478
  instance_defaults: TeamAiSummarySettingsValues;
4479
4479
  /**
4480
- * Instance-owned ceiling on `top_n`, from `ai_summary.max_top_n`. Not team-configurable — exposed so clients can bound their own input control instead of guessing.
4480
+ * The hard code limit on `top_n` (always 10); kept for client compatibility, to be removed in a later minor. No instance setting narrows it any more.
4481
+ *
4481
4482
  *
4483
+ * @deprecated
4482
4484
  */
4483
4485
  max_top_n: number;
4484
4486
  /**
4485
- * Instance-owned ceiling on `max_output_tokens`, from `ai_summary.max_output_tokens_ceiling`. Not team-configurable — exposed so clients can bound their own input control instead of guessing.
4487
+ * The hard code limit on `max_output_tokens` (always 32768); kept for client compatibility, to be removed in a later minor. No instance setting narrows it any more.
4488
+ *
4486
4489
  *
4490
+ * @deprecated
4487
4491
  */
4488
4492
  max_output_tokens_ceiling: number;
4489
4493
  /**
@@ -4506,7 +4510,7 @@ export type TeamAiSummarySettingsValues = {
4506
4510
  */
4507
4511
  model_provider_id: string | null;
4508
4512
  /**
4509
- * How many top-ranked documents are fed to the summarizer. Bounded above by the instance's max_top_n.
4513
+ * How many top-ranked documents are fed to the summarizer. At most 10 (the hard limit).
4510
4514
  */
4511
4515
  top_n: number;
4512
4516
  /**
@@ -4514,12 +4518,12 @@ export type TeamAiSummarySettingsValues = {
4514
4518
  */
4515
4519
  style: 'concise' | 'balanced' | 'detailed';
4516
4520
  /**
4517
- * Upper bound on tokens the summarizer may generate, within the instance cap.
4521
+ * Upper bound on tokens the summarizer may generate. At most 32768 (the hard limit).
4518
4522
  */
4519
4523
  max_output_tokens: number;
4520
4524
  };
4521
4525
  /**
4522
- * A complete replacement AI summary profile for the team. There is no partial update: every field is required, and the whole profile is stored or replaced atomically. `max_top_n`, `max_output_tokens_ceiling` and `available` are deliberately absent — all are computed, not settable.
4526
+ * A complete replacement AI summary profile for the team. There is no partial update: every field is required, and the whole profile is stored or replaced atomically. `top_n` is at most 10 and `max_output_tokens` at most 32768 (the hard limits; a larger value is rejected with 400). `max_top_n`, `max_output_tokens_ceiling` and `available` are deliberately absent — all are computed, not settable.
4523
4527
  *
4524
4528
  */
4525
4529
  export type UpdateTeamAiSummarySettingsRequest = {
@@ -5530,11 +5534,17 @@ export type AdminTeamAiSummaryConfig = {
5530
5534
  */
5531
5535
  model_provider_name: string | null;
5532
5536
  /**
5533
- * Instance-owned upper bound on `top_n`.
5537
+ * The hard code limit on `top_n` (always 10); kept for client compatibility, to be removed in a later minor.
5538
+ *
5539
+ *
5540
+ * @deprecated
5534
5541
  */
5535
5542
  max_top_n: number;
5536
5543
  /**
5537
- * Instance-owned upper bound on `max_output_tokens`.
5544
+ * The hard code limit on `max_output_tokens` (always 32768); kept for client compatibility, to be removed in a later minor.
5545
+ *
5546
+ *
5547
+ * @deprecated
5538
5548
  */
5539
5549
  max_output_tokens_ceiling: number;
5540
5550
  /**
@@ -6054,6 +6064,236 @@ export type AdminSavedFiltersReplaceRequest = {
6054
6064
  */
6055
6065
  version: number;
6056
6066
  };
6067
+ /**
6068
+ * Which provider the instance sends through. Matched case-insensitively.
6069
+ */
6070
+ export type AdminInstanceEmailProviderType = 'smtp' | 'mailgun' | 'postmark' | 'sendgrid';
6071
+ /**
6072
+ * The instance's email provider configuration. This is an upsert, so the same
6073
+ * body creates or replaces. The per-type `settings` and the write-only
6074
+ * `secret` follow the team email provider request exactly. A body carrying an
6075
+ * unknown field is rejected with 400.
6076
+ *
6077
+ */
6078
+ export type AdminInstanceEmailSettingsRequest = {
6079
+ provider_type: AdminInstanceEmailProviderType;
6080
+ settings?: TeamEmailProviderSettings;
6081
+ /**
6082
+ * The provider's single credential (SMTP password, Mailgun sending key,
6083
+ * Postmark server token, or SendGrid API key). It is write-only: never
6084
+ * returned by any endpoint.
6085
+ *
6086
+ * OMIT it to keep the stored credential, which is allowed only when the
6087
+ * provider type is unchanged; a new configuration or a change of provider
6088
+ * type must carry its own. An explicitly empty string is rejected.
6089
+ *
6090
+ */
6091
+ secret?: string;
6092
+ /**
6093
+ * The address instance mail is sent from.
6094
+ */
6095
+ from_address: string;
6096
+ /**
6097
+ * Optional display name shown beside the from address.
6098
+ */
6099
+ from_name?: string | null;
6100
+ /**
6101
+ * Optional Reply-To address.
6102
+ */
6103
+ reply_to?: string | null;
6104
+ /**
6105
+ * Where the contact form delivers. Omitted or null falls back to the from
6106
+ * address.
6107
+ *
6108
+ */
6109
+ contact_recipient_address?: string | null;
6110
+ /**
6111
+ * Absolute http(s) URL of the privacy policy linked from outbound mail.
6112
+ * Omitted or null links none.
6113
+ *
6114
+ */
6115
+ privacy_policy_url?: string | null;
6116
+ };
6117
+ /**
6118
+ * An optional candidate configuration for a test send. An empty body (or an
6119
+ * empty object) tests the STORED configuration. A body with any field set is
6120
+ * tested as a full configuration, validated like an upsert; if it omits
6121
+ * `secret`, the stored credential is used only when the candidate targets
6122
+ * the same destination (same provider type and, for SMTP, the same
6123
+ * host/port/username; for Mailgun, the same domain/base URL).
6124
+ *
6125
+ * There is no recipient field: the test message always goes to the calling
6126
+ * admin's own account email. A body carrying an unknown field is rejected
6127
+ * with 400.
6128
+ *
6129
+ */
6130
+ export type AdminInstanceEmailTestRequest = {
6131
+ provider_type?: AdminInstanceEmailProviderType;
6132
+ settings?: TeamEmailProviderSettings;
6133
+ /**
6134
+ * The candidate credential. Omit it to test with the stored credential
6135
+ * (same destination only, see above). Never returned.
6136
+ *
6137
+ */
6138
+ secret?: string;
6139
+ /**
6140
+ * The from address to test with.
6141
+ */
6142
+ from_address?: string;
6143
+ /**
6144
+ * Optional display name to test with.
6145
+ */
6146
+ from_name?: string | null;
6147
+ /**
6148
+ * Optional Reply-To address to test with.
6149
+ */
6150
+ reply_to?: string | null;
6151
+ /**
6152
+ * Accepted for parity with the upsert body; a test send does not use it.
6153
+ */
6154
+ contact_recipient_address?: string | null;
6155
+ /**
6156
+ * Accepted for parity with the upsert body; a test send does not use it.
6157
+ */
6158
+ privacy_policy_url?: string | null;
6159
+ };
6160
+ /**
6161
+ * The instance's stored email configuration. This is never a 404: an
6162
+ * instance with nothing stored reports `configured: false`, with every other
6163
+ * field null or absent, and discards its mail.
6164
+ *
6165
+ * No field here can carry the credential; `has_credential` reports only that
6166
+ * one is stored.
6167
+ *
6168
+ */
6169
+ export type AdminInstanceEmailSettings = {
6170
+ /**
6171
+ * Whether an instance email provider is stored.
6172
+ */
6173
+ configured: boolean;
6174
+ /**
6175
+ * The stored provider type, or null when nothing is configured.
6176
+ */
6177
+ provider_type: 'smtp' | 'mailgun' | 'postmark' | 'sendgrid' | null;
6178
+ settings?: TeamEmailProviderSettings;
6179
+ /**
6180
+ * Whether a credential is stored. The credential itself is never
6181
+ * returned. An SMTP relay without authentication legitimately has none.
6182
+ *
6183
+ */
6184
+ has_credential: boolean;
6185
+ /**
6186
+ * The configured from address; null when nothing is configured.
6187
+ */
6188
+ from_address?: string | null;
6189
+ /**
6190
+ * The configured display name.
6191
+ */
6192
+ from_name?: string | null;
6193
+ /**
6194
+ * The configured Reply-To address.
6195
+ */
6196
+ reply_to?: string | null;
6197
+ /**
6198
+ * Where the contact form delivers; null falls back to the from address.
6199
+ */
6200
+ contact_recipient_address?: string | null;
6201
+ /**
6202
+ * The privacy policy URL linked from outbound mail; null links none.
6203
+ */
6204
+ privacy_policy_url?: string | null;
6205
+ /**
6206
+ * Whether the last observed send succeeded, derived by comparing
6207
+ * `last_success_at` with `last_error_at` (a provider that has never sent
6208
+ * is healthy). Null when nothing is configured.
6209
+ *
6210
+ */
6211
+ is_healthy: boolean | null;
6212
+ /**
6213
+ * When a send through the instance provider last succeeded.
6214
+ */
6215
+ last_success_at?: string | null;
6216
+ /**
6217
+ * The last delivery error, retained after recovery for diagnosis; use
6218
+ * `is_healthy` to tell whether the provider is currently failing.
6219
+ *
6220
+ */
6221
+ last_error?: string | null;
6222
+ /**
6223
+ * When the last delivery error occurred.
6224
+ */
6225
+ last_error_at?: string | null;
6226
+ /**
6227
+ * When the configuration was last saved; null when nothing is configured.
6228
+ */
6229
+ updated_at?: string | null;
6230
+ /**
6231
+ * The admin who last saved the configuration. Null for the boot-time
6232
+ * import from config.yaml, or once that user has been deleted.
6233
+ *
6234
+ */
6235
+ updated_by?: string | null;
6236
+ };
6237
+ /**
6238
+ * One append-only change to an instance setting. `before` and `after` are
6239
+ * REDACTED snapshots: they never contain a credential, only
6240
+ * `has_credential` and, on an upsert's `after`, a `secret` marker saying
6241
+ * whether the credential was `changed` or `unchanged`.
6242
+ *
6243
+ */
6244
+ export type AdminInstanceSettingsAuditEntry = {
6245
+ /**
6246
+ * Audit entry id.
6247
+ */
6248
+ id: string;
6249
+ /**
6250
+ * The instance setting the entry describes.
6251
+ */
6252
+ setting: string;
6253
+ /**
6254
+ * `upsert` (created or replaced by an admin), `delete` (removed by an
6255
+ * admin) or `import` (the boot-time import from config.yaml, which has no
6256
+ * actor).
6257
+ *
6258
+ */
6259
+ action: 'upsert' | 'delete' | 'import';
6260
+ /**
6261
+ * The admin who made the change. Null for an import, or once that user
6262
+ * has been deleted.
6263
+ *
6264
+ */
6265
+ actor_user_id: string | null;
6266
+ /**
6267
+ * The actor's display name (or email), when it could be resolved.
6268
+ */
6269
+ actor_name: string | null;
6270
+ /**
6271
+ * The redacted setting before the change; null when the change created it.
6272
+ */
6273
+ before: {
6274
+ [key: string]: unknown;
6275
+ } | null;
6276
+ /**
6277
+ * The redacted setting after the change; null when the change deleted it.
6278
+ */
6279
+ after: {
6280
+ [key: string]: unknown;
6281
+ } | null;
6282
+ /**
6283
+ * When the change was made.
6284
+ */
6285
+ created_at: string;
6286
+ };
6287
+ /**
6288
+ * One page of an instance setting's audit log, newest first.
6289
+ */
6290
+ export type AdminInstanceSettingsAuditPage = {
6291
+ entries: Array<AdminInstanceSettingsAuditEntry>;
6292
+ /**
6293
+ * Opaque cursor for the next page; null on the last page.
6294
+ */
6295
+ next_cursor: string | null;
6296
+ };
6057
6297
  export type ProjectResponse = Project & {
6058
6298
  /**
6059
6299
  * Whether the project's git URL matches a repository accessible via the team's GitHub App installation
@@ -14601,6 +14841,156 @@ export type ExportAdminProjectsResponses = {
14601
14841
  200: string;
14602
14842
  };
14603
14843
  export type ExportAdminProjectsResponse = ExportAdminProjectsResponses[keyof ExportAdminProjectsResponses];
14844
+ export type DeleteAdminInstanceEmailSettingsData = {
14845
+ body?: never;
14846
+ path?: never;
14847
+ query?: never;
14848
+ url: '/api/v1/admin/settings/email';
14849
+ };
14850
+ export type DeleteAdminInstanceEmailSettingsErrors = {
14851
+ /**
14852
+ * Not found — the caller is not an instance admin
14853
+ */
14854
+ 404: ErrorResponse;
14855
+ /**
14856
+ * Conflict — no instance email provider is configured (`INSTANCE_EMAIL_PROVIDER_NOT_CONFIGURED`)
14857
+ */
14858
+ 409: ErrorResponse;
14859
+ /**
14860
+ * Internal server error
14861
+ */
14862
+ 500: ErrorResponse;
14863
+ };
14864
+ export type DeleteAdminInstanceEmailSettingsError = DeleteAdminInstanceEmailSettingsErrors[keyof DeleteAdminInstanceEmailSettingsErrors];
14865
+ export type DeleteAdminInstanceEmailSettingsResponses = {
14866
+ /**
14867
+ * The settings were removed
14868
+ */
14869
+ 204: void;
14870
+ };
14871
+ export type DeleteAdminInstanceEmailSettingsResponse = DeleteAdminInstanceEmailSettingsResponses[keyof DeleteAdminInstanceEmailSettingsResponses];
14872
+ export type GetAdminInstanceEmailSettingsData = {
14873
+ body?: never;
14874
+ path?: never;
14875
+ query?: never;
14876
+ url: '/api/v1/admin/settings/email';
14877
+ };
14878
+ export type GetAdminInstanceEmailSettingsErrors = {
14879
+ /**
14880
+ * Not found — the caller is not an instance admin
14881
+ */
14882
+ 404: ErrorResponse;
14883
+ /**
14884
+ * Internal server error
14885
+ */
14886
+ 500: ErrorResponse;
14887
+ };
14888
+ export type GetAdminInstanceEmailSettingsError = GetAdminInstanceEmailSettingsErrors[keyof GetAdminInstanceEmailSettingsErrors];
14889
+ export type GetAdminInstanceEmailSettingsResponses = {
14890
+ /**
14891
+ * The instance email provider settings
14892
+ */
14893
+ 200: AdminInstanceEmailSettings;
14894
+ };
14895
+ export type GetAdminInstanceEmailSettingsResponse = GetAdminInstanceEmailSettingsResponses[keyof GetAdminInstanceEmailSettingsResponses];
14896
+ export type UpsertAdminInstanceEmailSettingsData = {
14897
+ body: AdminInstanceEmailSettingsRequest;
14898
+ path?: never;
14899
+ query?: never;
14900
+ url: '/api/v1/admin/settings/email';
14901
+ };
14902
+ export type UpsertAdminInstanceEmailSettingsErrors = {
14903
+ /**
14904
+ * Bad request — the configuration is invalid (`INSTANCE_EMAIL_PROVIDER_VALIDATION_FAILED`,
14905
+ * with `validation_errors`), or the body carries an unknown field
14906
+ *
14907
+ */
14908
+ 400: ErrorResponse;
14909
+ /**
14910
+ * Not found — the caller is not an instance admin
14911
+ */
14912
+ 404: ErrorResponse;
14913
+ /**
14914
+ * Internal server error
14915
+ */
14916
+ 500: ErrorResponse;
14917
+ };
14918
+ export type UpsertAdminInstanceEmailSettingsError = UpsertAdminInstanceEmailSettingsErrors[keyof UpsertAdminInstanceEmailSettingsErrors];
14919
+ export type UpsertAdminInstanceEmailSettingsResponses = {
14920
+ /**
14921
+ * The stored settings
14922
+ */
14923
+ 200: AdminInstanceEmailSettings;
14924
+ };
14925
+ export type UpsertAdminInstanceEmailSettingsResponse = UpsertAdminInstanceEmailSettingsResponses[keyof UpsertAdminInstanceEmailSettingsResponses];
14926
+ export type TestAdminInstanceEmailSettingsData = {
14927
+ body?: AdminInstanceEmailTestRequest;
14928
+ path?: never;
14929
+ query?: never;
14930
+ url: '/api/v1/admin/settings/email/test';
14931
+ };
14932
+ export type TestAdminInstanceEmailSettingsErrors = {
14933
+ /**
14934
+ * Bad request — the candidate configuration is invalid, nothing is stored to
14935
+ * test (`INSTANCE_EMAIL_PROVIDER_VALIDATION_FAILED`), or the body carries an
14936
+ * unknown field
14937
+ *
14938
+ */
14939
+ 400: ErrorResponse;
14940
+ /**
14941
+ * Not found — the caller is not an instance admin
14942
+ */
14943
+ 404: ErrorResponse;
14944
+ /**
14945
+ * Internal server error
14946
+ */
14947
+ 500: ErrorResponse;
14948
+ };
14949
+ export type TestAdminInstanceEmailSettingsError = TestAdminInstanceEmailSettingsErrors[keyof TestAdminInstanceEmailSettingsErrors];
14950
+ export type TestAdminInstanceEmailSettingsResponses = {
14951
+ /**
14952
+ * The outcome of the test send
14953
+ */
14954
+ 200: TeamEmailProviderTestResponse;
14955
+ };
14956
+ export type TestAdminInstanceEmailSettingsResponse = TestAdminInstanceEmailSettingsResponses[keyof TestAdminInstanceEmailSettingsResponses];
14957
+ export type ListAdminInstanceEmailSettingsAuditData = {
14958
+ body?: never;
14959
+ path?: never;
14960
+ query?: {
14961
+ /**
14962
+ * Opaque cursor from a previous page's `next_cursor`.
14963
+ */
14964
+ cursor?: string;
14965
+ /**
14966
+ * Page size.
14967
+ */
14968
+ limit?: number;
14969
+ };
14970
+ url: '/api/v1/admin/settings/email/audit';
14971
+ };
14972
+ export type ListAdminInstanceEmailSettingsAuditErrors = {
14973
+ /**
14974
+ * Bad request — malformed cursor, or `limit` out of range
14975
+ */
14976
+ 400: ErrorResponse;
14977
+ /**
14978
+ * Not found — the caller is not an instance admin
14979
+ */
14980
+ 404: ErrorResponse;
14981
+ /**
14982
+ * Internal server error
14983
+ */
14984
+ 500: ErrorResponse;
14985
+ };
14986
+ export type ListAdminInstanceEmailSettingsAuditError = ListAdminInstanceEmailSettingsAuditErrors[keyof ListAdminInstanceEmailSettingsAuditErrors];
14987
+ export type ListAdminInstanceEmailSettingsAuditResponses = {
14988
+ /**
14989
+ * One page of audit entries, newest first
14990
+ */
14991
+ 200: AdminInstanceSettingsAuditPage;
14992
+ };
14993
+ export type ListAdminInstanceEmailSettingsAuditResponse = ListAdminInstanceEmailSettingsAuditResponses[keyof ListAdminInstanceEmailSettingsAuditResponses];
14604
14994
  export type ListCommentsData = {
14605
14995
  body?: never;
14606
14996
  path: {