@vibexp/api-client 0.87.0 → 0.89.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.
@@ -5966,6 +5966,90 @@ export type AdminProjectConfig = {
5966
5966
  */
5967
5967
  team_wide_rules: Array<AdminFreshnessRule>;
5968
5968
  };
5969
+ /**
5970
+ * The admin list a set of saved filter presets belongs to.
5971
+ */
5972
+ export type AdminSavedFilterListName = 'users' | 'teams' | 'projects';
5973
+ /**
5974
+ * The list's filter state as URL query parameters (parameter name → value).
5975
+ * Stored as given and never executed server-side; the client owns its meaning.
5976
+ * At most 40 keys, each matching `^[a-z0-9_]{1,64}$`, each value at most 512
5977
+ * characters.
5978
+ *
5979
+ */
5980
+ export type AdminSavedFilterQuery = {
5981
+ [key: string]: string;
5982
+ };
5983
+ /**
5984
+ * One named filter preset saved by an instance admin.
5985
+ */
5986
+ export type AdminSavedFilterPreset = {
5987
+ /**
5988
+ * Stable preset id. Kept across renames.
5989
+ */
5990
+ id: string;
5991
+ /**
5992
+ * Display name, unique (case-insensitively) within the list.
5993
+ */
5994
+ name: string;
5995
+ query: AdminSavedFilterQuery;
5996
+ };
5997
+ /**
5998
+ * A preset as sent in a replace request. Omit `id` for a new preset and the
5999
+ * server assigns one; send the existing `id` to keep it (e.g. on rename).
6000
+ *
6001
+ */
6002
+ export type AdminSavedFilterPresetInput = {
6003
+ /**
6004
+ * Existing preset id to keep; omitted for a new preset.
6005
+ */
6006
+ id?: string;
6007
+ /**
6008
+ * Display name. Surrounding whitespace is trimmed; must be unique
6009
+ * (case-insensitively) within the list.
6010
+ *
6011
+ */
6012
+ name: string;
6013
+ query: AdminSavedFilterQuery;
6014
+ };
6015
+ /**
6016
+ * The calling instance admin's saved filter presets for one admin list
6017
+ * (GET/PUT /api/v1/admin/saved-filters/{list}). Presets are private to the
6018
+ * admin who saved them.
6019
+ *
6020
+ */
6021
+ export type AdminSavedFilters = {
6022
+ list: AdminSavedFilterListName;
6023
+ /**
6024
+ * The presets in their saved order. `[]` when there are none.
6025
+ */
6026
+ presets: Array<AdminSavedFilterPreset>;
6027
+ /**
6028
+ * Optimistic-lock version of the admin's preferences record. `0` when
6029
+ * nothing has been saved yet. Send it back unchanged in the next replace
6030
+ * request; it is shared with the user's other preferences, so a change
6031
+ * made elsewhere also advances it.
6032
+ *
6033
+ */
6034
+ version: number;
6035
+ };
6036
+ /**
6037
+ * Replaces the whole preset list for one admin list. Renaming and deleting are
6038
+ * done by sending the edited list.
6039
+ *
6040
+ */
6041
+ export type AdminSavedFiltersReplaceRequest = {
6042
+ /**
6043
+ * The complete new preset list, in order (at most 20).
6044
+ */
6045
+ presets: Array<AdminSavedFilterPresetInput>;
6046
+ /**
6047
+ * The `version` last read. A stale value is rejected with 409 and nothing
6048
+ * is saved.
6049
+ *
6050
+ */
6051
+ version: number;
6052
+ };
5969
6053
  export type ProjectResponse = Project & {
5970
6054
  /**
5971
6055
  * Whether the project's git URL matches a repository accessible via the team's GitHub App installation
@@ -13949,6 +14033,566 @@ export type GetAdminProjectConfigResponses = {
13949
14033
  200: AdminProjectConfig;
13950
14034
  };
13951
14035
  export type GetAdminProjectConfigResponse = GetAdminProjectConfigResponses[keyof GetAdminProjectConfigResponses];
14036
+ export type GetAdminSavedFiltersData = {
14037
+ body?: never;
14038
+ path: {
14039
+ /**
14040
+ * Which admin list the presets belong to.
14041
+ */
14042
+ list: AdminSavedFilterListName;
14043
+ };
14044
+ query?: never;
14045
+ url: '/api/v1/admin/saved-filters/{list}';
14046
+ };
14047
+ export type GetAdminSavedFiltersErrors = {
14048
+ /**
14049
+ * Bad request — unknown list name
14050
+ */
14051
+ 400: ErrorResponse;
14052
+ /**
14053
+ * Not found — the caller is not an instance admin
14054
+ */
14055
+ 404: ErrorResponse;
14056
+ /**
14057
+ * Internal server error
14058
+ */
14059
+ 500: ErrorResponse;
14060
+ };
14061
+ export type GetAdminSavedFiltersError = GetAdminSavedFiltersErrors[keyof GetAdminSavedFiltersErrors];
14062
+ export type GetAdminSavedFiltersResponses = {
14063
+ /**
14064
+ * The caller's presets for this list
14065
+ */
14066
+ 200: AdminSavedFilters;
14067
+ };
14068
+ export type GetAdminSavedFiltersResponse = GetAdminSavedFiltersResponses[keyof GetAdminSavedFiltersResponses];
14069
+ export type ReplaceAdminSavedFiltersData = {
14070
+ body: AdminSavedFiltersReplaceRequest;
14071
+ path: {
14072
+ /**
14073
+ * Which admin list the presets belong to.
14074
+ */
14075
+ list: AdminSavedFilterListName;
14076
+ };
14077
+ query?: never;
14078
+ url: '/api/v1/admin/saved-filters/{list}';
14079
+ };
14080
+ export type ReplaceAdminSavedFiltersErrors = {
14081
+ /**
14082
+ * Bad request — unknown list name, an invalid preset (over the cap,
14083
+ * duplicate or out-of-range name, duplicate id, invalid query key or
14084
+ * value), or a body carrying an unknown field
14085
+ *
14086
+ */
14087
+ 400: ErrorResponse;
14088
+ /**
14089
+ * Not found — the caller is not an instance admin
14090
+ */
14091
+ 404: ErrorResponse;
14092
+ /**
14093
+ * Conflict — the presets were changed elsewhere (stale `version`); nothing was saved
14094
+ */
14095
+ 409: ErrorResponse;
14096
+ /**
14097
+ * Internal server error
14098
+ */
14099
+ 500: ErrorResponse;
14100
+ };
14101
+ export type ReplaceAdminSavedFiltersError = ReplaceAdminSavedFiltersErrors[keyof ReplaceAdminSavedFiltersErrors];
14102
+ export type ReplaceAdminSavedFiltersResponses = {
14103
+ /**
14104
+ * The saved presets and the new version
14105
+ */
14106
+ 200: AdminSavedFilters;
14107
+ };
14108
+ export type ReplaceAdminSavedFiltersResponse = ReplaceAdminSavedFiltersResponses[keyof ReplaceAdminSavedFiltersResponses];
14109
+ export type ExportAdminUsersData = {
14110
+ body?: never;
14111
+ path?: never;
14112
+ query?: {
14113
+ /**
14114
+ * Case-insensitive substring match over the user's email and name.
14115
+ */
14116
+ search?: string;
14117
+ /**
14118
+ * Exact match on the user's identity-provider name (e.g. "google", "oidc").
14119
+ */
14120
+ idp_provider?: string;
14121
+ /**
14122
+ * Only users created at or after this instant (inclusive).
14123
+ */
14124
+ created_from?: string;
14125
+ /**
14126
+ * Only users created at or before this instant (inclusive).
14127
+ */
14128
+ created_to?: string;
14129
+ /**
14130
+ * Narrow to accounts in this lifecycle state.
14131
+ */
14132
+ status?: 'active' | 'suspended';
14133
+ /**
14134
+ * Only users with at least this many teams the user belongs to (inclusive).
14135
+ */
14136
+ team_count_min?: number;
14137
+ /**
14138
+ * Only users with at most this many teams the user belongs to (inclusive).
14139
+ */
14140
+ team_count_max?: number;
14141
+ /**
14142
+ * Only users with at least this many projects the user created (inclusive).
14143
+ */
14144
+ project_count_min?: number;
14145
+ /**
14146
+ * Only users with at most this many projects the user created (inclusive).
14147
+ */
14148
+ project_count_max?: number;
14149
+ /**
14150
+ * Only users with at least this many prompts the user authored (inclusive).
14151
+ */
14152
+ prompt_count_min?: number;
14153
+ /**
14154
+ * Only users with at most this many prompts the user authored (inclusive).
14155
+ */
14156
+ prompt_count_max?: number;
14157
+ /**
14158
+ * Only users with at least this many memories the user authored (inclusive).
14159
+ */
14160
+ memory_count_min?: number;
14161
+ /**
14162
+ * Only users with at most this many memories the user authored (inclusive).
14163
+ */
14164
+ memory_count_max?: number;
14165
+ /**
14166
+ * Only users with at least this many artifacts the user authored (inclusive).
14167
+ */
14168
+ artifact_count_min?: number;
14169
+ /**
14170
+ * Only users with at most this many artifacts the user authored (inclusive).
14171
+ */
14172
+ artifact_count_max?: number;
14173
+ /**
14174
+ * Only users with at least this many blueprints the user authored (inclusive).
14175
+ */
14176
+ blueprint_count_min?: number;
14177
+ /**
14178
+ * Only users with at most this many blueprints the user authored (inclusive).
14179
+ */
14180
+ blueprint_count_max?: number;
14181
+ /**
14182
+ * Only users with at least this many agents the user created (inclusive).
14183
+ */
14184
+ agent_count_min?: number;
14185
+ /**
14186
+ * Only users with at most this many agents the user created (inclusive).
14187
+ */
14188
+ agent_count_max?: number;
14189
+ /**
14190
+ * Only users with at least this many feeds the user created (inclusive).
14191
+ */
14192
+ feed_count_min?: number;
14193
+ /**
14194
+ * Only users with at most this many feeds the user created (inclusive).
14195
+ */
14196
+ feed_count_max?: number;
14197
+ /**
14198
+ * Only users with at least this many feed items the user posted (inclusive).
14199
+ */
14200
+ feed_item_count_min?: number;
14201
+ /**
14202
+ * Only users with at most this many feed items the user posted (inclusive).
14203
+ */
14204
+ feed_item_count_max?: number;
14205
+ /**
14206
+ * Only users with at least this many comments the user wrote (inclusive).
14207
+ */
14208
+ comment_count_min?: number;
14209
+ /**
14210
+ * Only users with at most this many comments the user wrote (inclusive).
14211
+ */
14212
+ comment_count_max?: number;
14213
+ /**
14214
+ * Only users with at least this many attachments the user uploaded (inclusive).
14215
+ */
14216
+ attachment_count_min?: number;
14217
+ /**
14218
+ * Only users with at most this many attachments the user uploaded (inclusive).
14219
+ */
14220
+ attachment_count_max?: number;
14221
+ /**
14222
+ * Only users with at least this many resources the user authored across all nine types (the sum of resource_counts) (inclusive).
14223
+ */
14224
+ total_resource_count_min?: number;
14225
+ /**
14226
+ * Only users with at most this many resources the user authored across all nine types (the sum of resource_counts) (inclusive).
14227
+ */
14228
+ total_resource_count_max?: number;
14229
+ /**
14230
+ * Only users whose most recent resource (any of the nine types) was created
14231
+ * at or after this instant (inclusive). Users with no resources never match.
14232
+ *
14233
+ */
14234
+ last_resource_created_from?: string;
14235
+ /**
14236
+ * Only users whose most recent resource (any of the nine types) was created
14237
+ * at or before this instant (inclusive). Users with no resources never match.
14238
+ *
14239
+ */
14240
+ last_resource_created_to?: string;
14241
+ /**
14242
+ * Column to sort by. Ties are always broken by user id so paging is stable.
14243
+ * Sorting by last_resource_created_at places users with no resources last
14244
+ * in both directions.
14245
+ *
14246
+ */
14247
+ sort_by?: 'created_at' | 'email' | 'name' | 'team_count' | 'project_count' | 'prompt_count' | 'memory_count' | 'artifact_count' | 'blueprint_count' | 'agent_count' | 'feed_count' | 'feed_item_count' | 'comment_count' | 'attachment_count' | 'total_resource_count' | 'last_resource_created_at';
14248
+ /**
14249
+ * Sort direction.
14250
+ */
14251
+ sort_order?: 'asc' | 'desc';
14252
+ };
14253
+ url: '/api/v1/admin/users/export';
14254
+ };
14255
+ export type ExportAdminUsersErrors = {
14256
+ /**
14257
+ * Bad request — a query parameter is malformed or outside its enum, a count bound is negative, or a min/max or from/to pair is inverted. Nothing is streamed.
14258
+ */
14259
+ 400: ErrorResponse;
14260
+ /**
14261
+ * Not found — the caller is not an instance admin (surface not advertised)
14262
+ */
14263
+ 404: ErrorResponse;
14264
+ /**
14265
+ * Internal server error (before streaming started)
14266
+ */
14267
+ 500: ErrorResponse;
14268
+ };
14269
+ export type ExportAdminUsersError = ExportAdminUsersErrors[keyof ExportAdminUsersErrors];
14270
+ export type ExportAdminUsersResponses = {
14271
+ /**
14272
+ * CSV of every matching row (capped at 50,000)
14273
+ */
14274
+ 200: string;
14275
+ };
14276
+ export type ExportAdminUsersResponse = ExportAdminUsersResponses[keyof ExportAdminUsersResponses];
14277
+ export type ExportAdminTeamsData = {
14278
+ body?: never;
14279
+ path?: never;
14280
+ query?: {
14281
+ /**
14282
+ * Case-insensitive substring match over the team name, team slug, and the owner's email.
14283
+ */
14284
+ search?: string;
14285
+ /**
14286
+ * Narrow to personal workspaces (true) or shared team workspaces (false).
14287
+ */
14288
+ is_personal?: boolean;
14289
+ /**
14290
+ * Only teams created at or after this instant (inclusive).
14291
+ */
14292
+ created_from?: string;
14293
+ /**
14294
+ * Only teams created at or before this instant (inclusive).
14295
+ */
14296
+ created_to?: string;
14297
+ /**
14298
+ * Only teams with at least this many members (inclusive).
14299
+ */
14300
+ member_count_min?: number;
14301
+ /**
14302
+ * Only teams with at most this many members (inclusive).
14303
+ */
14304
+ member_count_max?: number;
14305
+ /**
14306
+ * Only teams with at least this many members holding the owner role (always 1 by application invariant; any other value is integrity drift) (inclusive).
14307
+ */
14308
+ owner_count_min?: number;
14309
+ /**
14310
+ * Only teams with at most this many members holding the owner role (always 1 by application invariant; any other value is integrity drift) (inclusive).
14311
+ */
14312
+ owner_count_max?: number;
14313
+ /**
14314
+ * Only teams with at least this many members holding the admin role (inclusive).
14315
+ */
14316
+ admin_count_min?: number;
14317
+ /**
14318
+ * Only teams with at most this many members holding the admin role (inclusive).
14319
+ */
14320
+ admin_count_max?: number;
14321
+ /**
14322
+ * Only teams with at least this many projects in the team (inclusive).
14323
+ */
14324
+ project_count_min?: number;
14325
+ /**
14326
+ * Only teams with at most this many projects in the team (inclusive).
14327
+ */
14328
+ project_count_max?: number;
14329
+ /**
14330
+ * Only teams with at least this many prompts in the team (inclusive).
14331
+ */
14332
+ prompt_count_min?: number;
14333
+ /**
14334
+ * Only teams with at most this many prompts in the team (inclusive).
14335
+ */
14336
+ prompt_count_max?: number;
14337
+ /**
14338
+ * Only teams with at least this many memories in the team (inclusive).
14339
+ */
14340
+ memory_count_min?: number;
14341
+ /**
14342
+ * Only teams with at most this many memories in the team (inclusive).
14343
+ */
14344
+ memory_count_max?: number;
14345
+ /**
14346
+ * Only teams with at least this many artifacts in the team (inclusive).
14347
+ */
14348
+ artifact_count_min?: number;
14349
+ /**
14350
+ * Only teams with at most this many artifacts in the team (inclusive).
14351
+ */
14352
+ artifact_count_max?: number;
14353
+ /**
14354
+ * Only teams with at least this many blueprints in the team (inclusive).
14355
+ */
14356
+ blueprint_count_min?: number;
14357
+ /**
14358
+ * Only teams with at most this many blueprints in the team (inclusive).
14359
+ */
14360
+ blueprint_count_max?: number;
14361
+ /**
14362
+ * Only teams with at least this many agents in the team (inclusive).
14363
+ */
14364
+ agent_count_min?: number;
14365
+ /**
14366
+ * Only teams with at most this many agents in the team (inclusive).
14367
+ */
14368
+ agent_count_max?: number;
14369
+ /**
14370
+ * Only teams with at least this many feeds in the team (inclusive).
14371
+ */
14372
+ feed_count_min?: number;
14373
+ /**
14374
+ * Only teams with at most this many feeds in the team (inclusive).
14375
+ */
14376
+ feed_count_max?: number;
14377
+ /**
14378
+ * Only teams with at least this many feed items in the team (inclusive).
14379
+ */
14380
+ feed_item_count_min?: number;
14381
+ /**
14382
+ * Only teams with at most this many feed items in the team (inclusive).
14383
+ */
14384
+ feed_item_count_max?: number;
14385
+ /**
14386
+ * Only teams with at least this many comments in the team (inclusive).
14387
+ */
14388
+ comment_count_min?: number;
14389
+ /**
14390
+ * Only teams with at most this many comments in the team (inclusive).
14391
+ */
14392
+ comment_count_max?: number;
14393
+ /**
14394
+ * Only teams with at least this many attachments in the team (inclusive).
14395
+ */
14396
+ attachment_count_min?: number;
14397
+ /**
14398
+ * Only teams with at most this many attachments in the team (inclusive).
14399
+ */
14400
+ attachment_count_max?: number;
14401
+ /**
14402
+ * Only teams with at least this many resources in the team across all nine types (the sum of resource_counts) (inclusive).
14403
+ */
14404
+ total_resource_count_min?: number;
14405
+ /**
14406
+ * Only teams with at most this many resources in the team across all nine types (the sum of resource_counts) (inclusive).
14407
+ */
14408
+ total_resource_count_max?: number;
14409
+ /**
14410
+ * Case-insensitive exact match on the team owner's email (the user referenced by the team's owner). For substring matching use `search`.
14411
+ */
14412
+ owner_email?: string;
14413
+ /**
14414
+ * true = the team has at least one embedding provider of its own; false = it does not; omit = any. Instance-level fallback configuration never counts.
14415
+ */
14416
+ embedding_configured?: boolean;
14417
+ /**
14418
+ * true = the team has at least one LLM model provider of its own; false = it does not; omit = any. Instance-level fallback configuration never counts.
14419
+ */
14420
+ llm_configured?: boolean;
14421
+ /**
14422
+ * true = the team has its own AI summary settings with summaries enabled; false = it does not; omit = any. Instance-level fallback configuration never counts.
14423
+ */
14424
+ ai_summary_enabled?: boolean;
14425
+ /**
14426
+ * true = the team has its own email provider (regardless of its delivery health); false = it does not; omit = any. Instance-level fallback configuration never counts.
14427
+ */
14428
+ email_configured?: boolean;
14429
+ /**
14430
+ * true = the team has its own GitHub App configuration or at least one GitHub App installation (suspended installations included); false = it does not; omit = any. Instance-level fallback configuration never counts.
14431
+ */
14432
+ github_configured?: boolean;
14433
+ /**
14434
+ * true = the team has its own search settings; false = it does not; omit = any. Instance-level fallback configuration never counts.
14435
+ */
14436
+ search_settings_customized?: boolean;
14437
+ /**
14438
+ * true = the team has at least one enabled freshness rule; false = it does not; omit = any. Instance-level fallback configuration never counts.
14439
+ */
14440
+ freshness_enabled?: boolean;
14441
+ /**
14442
+ * Column to sort by. Ties are always broken by team id so paging is stable.
14443
+ */
14444
+ sort_by?: 'created_at' | 'name' | 'member_count' | 'owner_count' | 'admin_count' | 'project_count' | 'prompt_count' | 'memory_count' | 'artifact_count' | 'blueprint_count' | 'agent_count' | 'feed_count' | 'feed_item_count' | 'comment_count' | 'attachment_count' | 'total_resource_count';
14445
+ /**
14446
+ * Sort direction.
14447
+ */
14448
+ sort_order?: 'asc' | 'desc';
14449
+ };
14450
+ url: '/api/v1/admin/teams/export';
14451
+ };
14452
+ export type ExportAdminTeamsErrors = {
14453
+ /**
14454
+ * Bad request — a query parameter is malformed or outside its enum, a count bound is negative, or a min/max or from/to pair is inverted. Nothing is streamed.
14455
+ */
14456
+ 400: ErrorResponse;
14457
+ /**
14458
+ * Not found — the caller is not an instance admin (surface not advertised)
14459
+ */
14460
+ 404: ErrorResponse;
14461
+ /**
14462
+ * Internal server error (before streaming started)
14463
+ */
14464
+ 500: ErrorResponse;
14465
+ };
14466
+ export type ExportAdminTeamsError = ExportAdminTeamsErrors[keyof ExportAdminTeamsErrors];
14467
+ export type ExportAdminTeamsResponses = {
14468
+ /**
14469
+ * CSV of every matching row (capped at 50,000)
14470
+ */
14471
+ 200: string;
14472
+ };
14473
+ export type ExportAdminTeamsResponse = ExportAdminTeamsResponses[keyof ExportAdminTeamsResponses];
14474
+ export type ExportAdminProjectsData = {
14475
+ body?: never;
14476
+ path?: never;
14477
+ query?: {
14478
+ /**
14479
+ * Case-insensitive substring match over the project name and slug.
14480
+ */
14481
+ search?: string;
14482
+ /**
14483
+ * Narrow to projects belonging to one team.
14484
+ */
14485
+ team_id?: string;
14486
+ /**
14487
+ * Only projects created at or after this instant (inclusive).
14488
+ */
14489
+ created_from?: string;
14490
+ /**
14491
+ * Only projects created at or before this instant (inclusive).
14492
+ */
14493
+ created_to?: string;
14494
+ /**
14495
+ * Only projects with at least this many prompts in the project (inclusive).
14496
+ */
14497
+ prompt_count_min?: number;
14498
+ /**
14499
+ * Only projects with at most this many prompts in the project (inclusive).
14500
+ */
14501
+ prompt_count_max?: number;
14502
+ /**
14503
+ * Only projects with at least this many memories in the project (inclusive).
14504
+ */
14505
+ memory_count_min?: number;
14506
+ /**
14507
+ * Only projects with at most this many memories in the project (inclusive).
14508
+ */
14509
+ memory_count_max?: number;
14510
+ /**
14511
+ * Only projects with at least this many artifacts in the project (inclusive).
14512
+ */
14513
+ artifact_count_min?: number;
14514
+ /**
14515
+ * Only projects with at most this many artifacts in the project (inclusive).
14516
+ */
14517
+ artifact_count_max?: number;
14518
+ /**
14519
+ * Only projects with at least this many blueprints in the project (inclusive).
14520
+ */
14521
+ blueprint_count_min?: number;
14522
+ /**
14523
+ * Only projects with at most this many blueprints in the project (inclusive).
14524
+ */
14525
+ blueprint_count_max?: number;
14526
+ /**
14527
+ * Only projects with at least this many feed items in the project (inclusive).
14528
+ */
14529
+ feed_item_count_min?: number;
14530
+ /**
14531
+ * Only projects with at most this many feed items in the project (inclusive).
14532
+ */
14533
+ feed_item_count_max?: number;
14534
+ /**
14535
+ * Only projects with at least this many project-scoped resources in the project (inclusive). The total is the sum of the five project-scoped types.
14536
+ */
14537
+ total_resource_count_min?: number;
14538
+ /**
14539
+ * Only projects with at most this many project-scoped resources in the project (inclusive). The total is the sum of the five project-scoped types.
14540
+ */
14541
+ total_resource_count_max?: number;
14542
+ /**
14543
+ * Case-insensitive exact match on the email of the project's creator (`projects.user_id`, the `owner` field), not the owning team's owner. For substring matching on name/slug use `search`.
14544
+ */
14545
+ owner_email?: string;
14546
+ /**
14547
+ * Only projects whose most recent project-scoped resource (any of the five
14548
+ * types) was created at or after this instant (inclusive). Projects with
14549
+ * no resources never match.
14550
+ *
14551
+ */
14552
+ last_resource_created_from?: string;
14553
+ /**
14554
+ * Only projects whose most recent project-scoped resource (any of the five
14555
+ * types) was created at or before this instant (inclusive). Projects with
14556
+ * no resources never match.
14557
+ *
14558
+ */
14559
+ last_resource_created_to?: string;
14560
+ /**
14561
+ * Column to sort by. Ties are always broken by project id so paging is stable.
14562
+ * Sorting by last_resource_created_at places projects with no resources
14563
+ * last in both directions.
14564
+ *
14565
+ */
14566
+ sort_by?: 'created_at' | 'name' | 'prompt_count' | 'memory_count' | 'artifact_count' | 'blueprint_count' | 'feed_item_count' | 'total_resource_count' | 'last_resource_created_at';
14567
+ /**
14568
+ * Sort direction.
14569
+ */
14570
+ sort_order?: 'asc' | 'desc';
14571
+ };
14572
+ url: '/api/v1/admin/projects/export';
14573
+ };
14574
+ export type ExportAdminProjectsErrors = {
14575
+ /**
14576
+ * Bad request — a query parameter is malformed or outside its enum, a count bound is negative, or a min/max or from/to pair is inverted. Nothing is streamed.
14577
+ */
14578
+ 400: ErrorResponse;
14579
+ /**
14580
+ * Not found — the caller is not an instance admin (surface not advertised)
14581
+ */
14582
+ 404: ErrorResponse;
14583
+ /**
14584
+ * Internal server error (before streaming started)
14585
+ */
14586
+ 500: ErrorResponse;
14587
+ };
14588
+ export type ExportAdminProjectsError = ExportAdminProjectsErrors[keyof ExportAdminProjectsErrors];
14589
+ export type ExportAdminProjectsResponses = {
14590
+ /**
14591
+ * CSV of every matching row (capped at 50,000)
14592
+ */
14593
+ 200: string;
14594
+ };
14595
+ export type ExportAdminProjectsResponse = ExportAdminProjectsResponses[keyof ExportAdminProjectsResponses];
13952
14596
  export type ListCommentsData = {
13953
14597
  body?: never;
13954
14598
  path: {