@vibexp/api-client 0.88.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.
package/dist/schema.d.ts CHANGED
@@ -3374,6 +3374,147 @@ export interface paths {
3374
3374
  patch?: never;
3375
3375
  trace?: never;
3376
3376
  };
3377
+ "/api/v1/admin/users/export": {
3378
+ parameters: {
3379
+ query?: never;
3380
+ header?: never;
3381
+ path?: never;
3382
+ cookie?: never;
3383
+ };
3384
+ /**
3385
+ * Export instance users as CSV
3386
+ * @description Streams the full filtered `users` listing as a CSV download.
3387
+ *
3388
+ * Columns, in order: `id`, `email`, `name`, `idp_provider`, `status`, `created_at`, `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`.
3389
+ *
3390
+ * The export accepts exactly the filter and sort parameters of `listAdminUsers`
3391
+ * (no `page`/`limit`) and streams every matching row, in the list's order,
3392
+ * as RFC 4180 CSV (CRLF line endings, UTF-8, no BOM) with a header row.
3393
+ * Nested list fields are flattened; only counts are exported, never a
3394
+ * resource title or content.
3395
+ *
3396
+ * Output is capped at 50,000 data rows. `X-Export-Total-Count` is the size
3397
+ * of the filtered set and `X-Export-Truncated` is `true` when it exceeds the
3398
+ * cap; both come from a count taken just before streaming, so rows written
3399
+ * concurrently can make the streamed row count differ slightly. When the
3400
+ * export is truncated a final marker row is appended whose first cell reads
3401
+ * `# TRUNCATED: exported 50000 of <total> rows; narrow the filters` and whose
3402
+ * remaining cells are empty.
3403
+ *
3404
+ * Free-text cells (`email`, `name`, `idp_provider`) that begin with `=`, `+`, `-`, `@`, a tab or
3405
+ * a carriage return are prefixed with a single quote (`'`) to defuse
3406
+ * spreadsheet formula injection. Numeric, boolean, UUID and timestamp
3407
+ * (RFC 3339, UTC) cells are never altered.
3408
+ *
3409
+ * A failure after streaming has started aborts the connection, so a client
3410
+ * never receives a well-formed but silently short file. Each completed
3411
+ * export is recorded as an `admin_users_exported` activity of the acting admin.
3412
+ *
3413
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3414
+ */
3415
+ get: operations["exportAdminUsers"];
3416
+ put?: never;
3417
+ post?: never;
3418
+ delete?: never;
3419
+ options?: never;
3420
+ head?: never;
3421
+ patch?: never;
3422
+ trace?: never;
3423
+ };
3424
+ "/api/v1/admin/teams/export": {
3425
+ parameters: {
3426
+ query?: never;
3427
+ header?: never;
3428
+ path?: never;
3429
+ cookie?: never;
3430
+ };
3431
+ /**
3432
+ * Export instance teams as CSV
3433
+ * @description Streams the full filtered `teams` listing as a CSV download.
3434
+ *
3435
+ * Columns, in order: `id`, `name`, `slug`, `is_personal`, `owner_id`, `owner_email`, `owner_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`, `embedding_configured`, `llm_configured`, `ai_summary_enabled`, `email_configured`, `github_configured`, `search_settings_customized`, `freshness_enabled`, `created_at`.
3436
+ *
3437
+ * The export accepts exactly the filter and sort parameters of `listAdminTeams`
3438
+ * (no `page`/`limit`) and streams every matching row, in the list's order,
3439
+ * as RFC 4180 CSV (CRLF line endings, UTF-8, no BOM) with a header row.
3440
+ * Nested list fields are flattened; only counts are exported, never a
3441
+ * resource title or content.
3442
+ *
3443
+ * Output is capped at 50,000 data rows. `X-Export-Total-Count` is the size
3444
+ * of the filtered set and `X-Export-Truncated` is `true` when it exceeds the
3445
+ * cap; both come from a count taken just before streaming, so rows written
3446
+ * concurrently can make the streamed row count differ slightly. When the
3447
+ * export is truncated a final marker row is appended whose first cell reads
3448
+ * `# TRUNCATED: exported 50000 of <total> rows; narrow the filters` and whose
3449
+ * remaining cells are empty.
3450
+ *
3451
+ * Free-text cells (`name`, `slug`, `owner_email`, `owner_name`) that begin with `=`, `+`, `-`, `@`, a tab or
3452
+ * a carriage return are prefixed with a single quote (`'`) to defuse
3453
+ * spreadsheet formula injection. Numeric, boolean, UUID and timestamp
3454
+ * (RFC 3339, UTC) cells are never altered.
3455
+ *
3456
+ * A failure after streaming has started aborts the connection, so a client
3457
+ * never receives a well-formed but silently short file. Each completed
3458
+ * export is recorded as an `admin_teams_exported` activity of the acting admin.
3459
+ *
3460
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3461
+ */
3462
+ get: operations["exportAdminTeams"];
3463
+ put?: never;
3464
+ post?: never;
3465
+ delete?: never;
3466
+ options?: never;
3467
+ head?: never;
3468
+ patch?: never;
3469
+ trace?: never;
3470
+ };
3471
+ "/api/v1/admin/projects/export": {
3472
+ parameters: {
3473
+ query?: never;
3474
+ header?: never;
3475
+ path?: never;
3476
+ cookie?: never;
3477
+ };
3478
+ /**
3479
+ * Export instance projects as CSV
3480
+ * @description Streams the full filtered `projects` listing as a CSV download.
3481
+ *
3482
+ * Columns, in order: `id`, `name`, `slug`, `team_id`, `team_name`, `team_slug`, `owner_id`, `owner_email`, `owner_name`, `prompt_count`, `memory_count`, `artifact_count`, `blueprint_count`, `feed_item_count`, `total_resource_count`, `last_resource_created_at`, `created_at`, `updated_at`.
3483
+ *
3484
+ * The export accepts exactly the filter and sort parameters of `listAdminProjects`
3485
+ * (no `page`/`limit`) and streams every matching row, in the list's order,
3486
+ * as RFC 4180 CSV (CRLF line endings, UTF-8, no BOM) with a header row.
3487
+ * Nested list fields are flattened; only counts are exported, never a
3488
+ * resource title or content.
3489
+ *
3490
+ * Output is capped at 50,000 data rows. `X-Export-Total-Count` is the size
3491
+ * of the filtered set and `X-Export-Truncated` is `true` when it exceeds the
3492
+ * cap; both come from a count taken just before streaming, so rows written
3493
+ * concurrently can make the streamed row count differ slightly. When the
3494
+ * export is truncated a final marker row is appended whose first cell reads
3495
+ * `# TRUNCATED: exported 50000 of <total> rows; narrow the filters` and whose
3496
+ * remaining cells are empty.
3497
+ *
3498
+ * Free-text cells (`name`, `slug`, `team_name`, `team_slug`, `owner_email`, `owner_name`) that begin with `=`, `+`, `-`, `@`, a tab or
3499
+ * a carriage return are prefixed with a single quote (`'`) to defuse
3500
+ * spreadsheet formula injection. Numeric, boolean, UUID and timestamp
3501
+ * (RFC 3339, UTC) cells are never altered.
3502
+ *
3503
+ * A failure after streaming has started aborts the connection, so a client
3504
+ * never receives a well-formed but silently short file. Each completed
3505
+ * export is recorded as an `admin_projects_exported` activity of the acting admin.
3506
+ *
3507
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3508
+ */
3509
+ get: operations["exportAdminProjects"];
3510
+ put?: never;
3511
+ post?: never;
3512
+ delete?: never;
3513
+ options?: never;
3514
+ head?: never;
3515
+ patch?: never;
3516
+ trace?: never;
3517
+ };
3377
3518
  "/api/v1/{team_id}/comments": {
3378
3519
  parameters: {
3379
3520
  query?: never;
@@ -23534,6 +23675,382 @@ export interface operations {
23534
23675
  };
23535
23676
  };
23536
23677
  };
23678
+ exportAdminUsers: {
23679
+ parameters: {
23680
+ query?: {
23681
+ /** @description Case-insensitive substring match over the user's email and name. */
23682
+ search?: string;
23683
+ /** @description Exact match on the user's identity-provider name (e.g. "google", "oidc"). */
23684
+ idp_provider?: string;
23685
+ /** @description Only users created at or after this instant (inclusive). */
23686
+ created_from?: string;
23687
+ /** @description Only users created at or before this instant (inclusive). */
23688
+ created_to?: string;
23689
+ /** @description Narrow to accounts in this lifecycle state. */
23690
+ status?: "active" | "suspended";
23691
+ /** @description Only users with at least this many teams the user belongs to (inclusive). */
23692
+ team_count_min?: number;
23693
+ /** @description Only users with at most this many teams the user belongs to (inclusive). */
23694
+ team_count_max?: number;
23695
+ /** @description Only users with at least this many projects the user created (inclusive). */
23696
+ project_count_min?: number;
23697
+ /** @description Only users with at most this many projects the user created (inclusive). */
23698
+ project_count_max?: number;
23699
+ /** @description Only users with at least this many prompts the user authored (inclusive). */
23700
+ prompt_count_min?: number;
23701
+ /** @description Only users with at most this many prompts the user authored (inclusive). */
23702
+ prompt_count_max?: number;
23703
+ /** @description Only users with at least this many memories the user authored (inclusive). */
23704
+ memory_count_min?: number;
23705
+ /** @description Only users with at most this many memories the user authored (inclusive). */
23706
+ memory_count_max?: number;
23707
+ /** @description Only users with at least this many artifacts the user authored (inclusive). */
23708
+ artifact_count_min?: number;
23709
+ /** @description Only users with at most this many artifacts the user authored (inclusive). */
23710
+ artifact_count_max?: number;
23711
+ /** @description Only users with at least this many blueprints the user authored (inclusive). */
23712
+ blueprint_count_min?: number;
23713
+ /** @description Only users with at most this many blueprints the user authored (inclusive). */
23714
+ blueprint_count_max?: number;
23715
+ /** @description Only users with at least this many agents the user created (inclusive). */
23716
+ agent_count_min?: number;
23717
+ /** @description Only users with at most this many agents the user created (inclusive). */
23718
+ agent_count_max?: number;
23719
+ /** @description Only users with at least this many feeds the user created (inclusive). */
23720
+ feed_count_min?: number;
23721
+ /** @description Only users with at most this many feeds the user created (inclusive). */
23722
+ feed_count_max?: number;
23723
+ /** @description Only users with at least this many feed items the user posted (inclusive). */
23724
+ feed_item_count_min?: number;
23725
+ /** @description Only users with at most this many feed items the user posted (inclusive). */
23726
+ feed_item_count_max?: number;
23727
+ /** @description Only users with at least this many comments the user wrote (inclusive). */
23728
+ comment_count_min?: number;
23729
+ /** @description Only users with at most this many comments the user wrote (inclusive). */
23730
+ comment_count_max?: number;
23731
+ /** @description Only users with at least this many attachments the user uploaded (inclusive). */
23732
+ attachment_count_min?: number;
23733
+ /** @description Only users with at most this many attachments the user uploaded (inclusive). */
23734
+ attachment_count_max?: number;
23735
+ /** @description Only users with at least this many resources the user authored across all nine types (the sum of resource_counts) (inclusive). */
23736
+ total_resource_count_min?: number;
23737
+ /** @description Only users with at most this many resources the user authored across all nine types (the sum of resource_counts) (inclusive). */
23738
+ total_resource_count_max?: number;
23739
+ /**
23740
+ * @description Only users whose most recent resource (any of the nine types) was created
23741
+ * at or after this instant (inclusive). Users with no resources never match.
23742
+ */
23743
+ last_resource_created_from?: string;
23744
+ /**
23745
+ * @description Only users whose most recent resource (any of the nine types) was created
23746
+ * at or before this instant (inclusive). Users with no resources never match.
23747
+ */
23748
+ last_resource_created_to?: string;
23749
+ /**
23750
+ * @description Column to sort by. Ties are always broken by user id so paging is stable.
23751
+ * Sorting by last_resource_created_at places users with no resources last
23752
+ * in both directions.
23753
+ */
23754
+ 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";
23755
+ /** @description Sort direction. */
23756
+ sort_order?: "asc" | "desc";
23757
+ };
23758
+ header?: never;
23759
+ path?: never;
23760
+ cookie?: never;
23761
+ };
23762
+ requestBody?: never;
23763
+ responses: {
23764
+ /** @description CSV of every matching row (capped at 50,000) */
23765
+ 200: {
23766
+ headers: {
23767
+ /** @description `attachment; filename="admin-users-YYYYMMDD.csv"` (UTC date) */
23768
+ "Content-Disposition": string;
23769
+ /** @description Number of rows in the filtered set, before the cap */
23770
+ "X-Export-Total-Count": number;
23771
+ /** @description Whether the filtered set exceeded the 50,000-row cap */
23772
+ "X-Export-Truncated": boolean;
23773
+ [name: string]: unknown;
23774
+ };
23775
+ content: {
23776
+ "text/csv": string;
23777
+ };
23778
+ };
23779
+ /** @description 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. */
23780
+ 400: {
23781
+ headers: {
23782
+ [name: string]: unknown;
23783
+ };
23784
+ content: {
23785
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23786
+ };
23787
+ };
23788
+ /** @description Not found — the caller is not an instance admin (surface not advertised) */
23789
+ 404: {
23790
+ headers: {
23791
+ [name: string]: unknown;
23792
+ };
23793
+ content: {
23794
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23795
+ };
23796
+ };
23797
+ /** @description Internal server error (before streaming started) */
23798
+ 500: {
23799
+ headers: {
23800
+ [name: string]: unknown;
23801
+ };
23802
+ content: {
23803
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23804
+ };
23805
+ };
23806
+ };
23807
+ };
23808
+ exportAdminTeams: {
23809
+ parameters: {
23810
+ query?: {
23811
+ /** @description Case-insensitive substring match over the team name, team slug, and the owner's email. */
23812
+ search?: string;
23813
+ /** @description Narrow to personal workspaces (true) or shared team workspaces (false). */
23814
+ is_personal?: boolean;
23815
+ /** @description Only teams created at or after this instant (inclusive). */
23816
+ created_from?: string;
23817
+ /** @description Only teams created at or before this instant (inclusive). */
23818
+ created_to?: string;
23819
+ /** @description Only teams with at least this many members (inclusive). */
23820
+ member_count_min?: number;
23821
+ /** @description Only teams with at most this many members (inclusive). */
23822
+ member_count_max?: number;
23823
+ /** @description Only teams with at least this many members holding the owner role (always 1 by application invariant; any other value is integrity drift) (inclusive). */
23824
+ owner_count_min?: number;
23825
+ /** @description Only teams with at most this many members holding the owner role (always 1 by application invariant; any other value is integrity drift) (inclusive). */
23826
+ owner_count_max?: number;
23827
+ /** @description Only teams with at least this many members holding the admin role (inclusive). */
23828
+ admin_count_min?: number;
23829
+ /** @description Only teams with at most this many members holding the admin role (inclusive). */
23830
+ admin_count_max?: number;
23831
+ /** @description Only teams with at least this many projects in the team (inclusive). */
23832
+ project_count_min?: number;
23833
+ /** @description Only teams with at most this many projects in the team (inclusive). */
23834
+ project_count_max?: number;
23835
+ /** @description Only teams with at least this many prompts in the team (inclusive). */
23836
+ prompt_count_min?: number;
23837
+ /** @description Only teams with at most this many prompts in the team (inclusive). */
23838
+ prompt_count_max?: number;
23839
+ /** @description Only teams with at least this many memories in the team (inclusive). */
23840
+ memory_count_min?: number;
23841
+ /** @description Only teams with at most this many memories in the team (inclusive). */
23842
+ memory_count_max?: number;
23843
+ /** @description Only teams with at least this many artifacts in the team (inclusive). */
23844
+ artifact_count_min?: number;
23845
+ /** @description Only teams with at most this many artifacts in the team (inclusive). */
23846
+ artifact_count_max?: number;
23847
+ /** @description Only teams with at least this many blueprints in the team (inclusive). */
23848
+ blueprint_count_min?: number;
23849
+ /** @description Only teams with at most this many blueprints in the team (inclusive). */
23850
+ blueprint_count_max?: number;
23851
+ /** @description Only teams with at least this many agents in the team (inclusive). */
23852
+ agent_count_min?: number;
23853
+ /** @description Only teams with at most this many agents in the team (inclusive). */
23854
+ agent_count_max?: number;
23855
+ /** @description Only teams with at least this many feeds in the team (inclusive). */
23856
+ feed_count_min?: number;
23857
+ /** @description Only teams with at most this many feeds in the team (inclusive). */
23858
+ feed_count_max?: number;
23859
+ /** @description Only teams with at least this many feed items in the team (inclusive). */
23860
+ feed_item_count_min?: number;
23861
+ /** @description Only teams with at most this many feed items in the team (inclusive). */
23862
+ feed_item_count_max?: number;
23863
+ /** @description Only teams with at least this many comments in the team (inclusive). */
23864
+ comment_count_min?: number;
23865
+ /** @description Only teams with at most this many comments in the team (inclusive). */
23866
+ comment_count_max?: number;
23867
+ /** @description Only teams with at least this many attachments in the team (inclusive). */
23868
+ attachment_count_min?: number;
23869
+ /** @description Only teams with at most this many attachments in the team (inclusive). */
23870
+ attachment_count_max?: number;
23871
+ /** @description Only teams with at least this many resources in the team across all nine types (the sum of resource_counts) (inclusive). */
23872
+ total_resource_count_min?: number;
23873
+ /** @description Only teams with at most this many resources in the team across all nine types (the sum of resource_counts) (inclusive). */
23874
+ total_resource_count_max?: number;
23875
+ /** @description Case-insensitive exact match on the team owner's email (the user referenced by the team's owner). For substring matching use `search`. */
23876
+ owner_email?: string;
23877
+ /** @description true = the team has at least one embedding provider of its own; false = it does not; omit = any. Instance-level fallback configuration never counts. */
23878
+ embedding_configured?: boolean;
23879
+ /** @description 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. */
23880
+ llm_configured?: boolean;
23881
+ /** @description true = the team has its own AI summary settings with summaries enabled; false = it does not; omit = any. Instance-level fallback configuration never counts. */
23882
+ ai_summary_enabled?: boolean;
23883
+ /** @description 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. */
23884
+ email_configured?: boolean;
23885
+ /** @description 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. */
23886
+ github_configured?: boolean;
23887
+ /** @description true = the team has its own search settings; false = it does not; omit = any. Instance-level fallback configuration never counts. */
23888
+ search_settings_customized?: boolean;
23889
+ /** @description true = the team has at least one enabled freshness rule; false = it does not; omit = any. Instance-level fallback configuration never counts. */
23890
+ freshness_enabled?: boolean;
23891
+ /** @description Column to sort by. Ties are always broken by team id so paging is stable. */
23892
+ 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";
23893
+ /** @description Sort direction. */
23894
+ sort_order?: "asc" | "desc";
23895
+ };
23896
+ header?: never;
23897
+ path?: never;
23898
+ cookie?: never;
23899
+ };
23900
+ requestBody?: never;
23901
+ responses: {
23902
+ /** @description CSV of every matching row (capped at 50,000) */
23903
+ 200: {
23904
+ headers: {
23905
+ /** @description `attachment; filename="admin-teams-YYYYMMDD.csv"` (UTC date) */
23906
+ "Content-Disposition": string;
23907
+ /** @description Number of rows in the filtered set, before the cap */
23908
+ "X-Export-Total-Count": number;
23909
+ /** @description Whether the filtered set exceeded the 50,000-row cap */
23910
+ "X-Export-Truncated": boolean;
23911
+ [name: string]: unknown;
23912
+ };
23913
+ content: {
23914
+ "text/csv": string;
23915
+ };
23916
+ };
23917
+ /** @description 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. */
23918
+ 400: {
23919
+ headers: {
23920
+ [name: string]: unknown;
23921
+ };
23922
+ content: {
23923
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23924
+ };
23925
+ };
23926
+ /** @description Not found — the caller is not an instance admin (surface not advertised) */
23927
+ 404: {
23928
+ headers: {
23929
+ [name: string]: unknown;
23930
+ };
23931
+ content: {
23932
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23933
+ };
23934
+ };
23935
+ /** @description Internal server error (before streaming started) */
23936
+ 500: {
23937
+ headers: {
23938
+ [name: string]: unknown;
23939
+ };
23940
+ content: {
23941
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23942
+ };
23943
+ };
23944
+ };
23945
+ };
23946
+ exportAdminProjects: {
23947
+ parameters: {
23948
+ query?: {
23949
+ /** @description Case-insensitive substring match over the project name and slug. */
23950
+ search?: string;
23951
+ /** @description Narrow to projects belonging to one team. */
23952
+ team_id?: string;
23953
+ /** @description Only projects created at or after this instant (inclusive). */
23954
+ created_from?: string;
23955
+ /** @description Only projects created at or before this instant (inclusive). */
23956
+ created_to?: string;
23957
+ /** @description Only projects with at least this many prompts in the project (inclusive). */
23958
+ prompt_count_min?: number;
23959
+ /** @description Only projects with at most this many prompts in the project (inclusive). */
23960
+ prompt_count_max?: number;
23961
+ /** @description Only projects with at least this many memories in the project (inclusive). */
23962
+ memory_count_min?: number;
23963
+ /** @description Only projects with at most this many memories in the project (inclusive). */
23964
+ memory_count_max?: number;
23965
+ /** @description Only projects with at least this many artifacts in the project (inclusive). */
23966
+ artifact_count_min?: number;
23967
+ /** @description Only projects with at most this many artifacts in the project (inclusive). */
23968
+ artifact_count_max?: number;
23969
+ /** @description Only projects with at least this many blueprints in the project (inclusive). */
23970
+ blueprint_count_min?: number;
23971
+ /** @description Only projects with at most this many blueprints in the project (inclusive). */
23972
+ blueprint_count_max?: number;
23973
+ /** @description Only projects with at least this many feed items in the project (inclusive). */
23974
+ feed_item_count_min?: number;
23975
+ /** @description Only projects with at most this many feed items in the project (inclusive). */
23976
+ feed_item_count_max?: number;
23977
+ /** @description 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. */
23978
+ total_resource_count_min?: number;
23979
+ /** @description 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. */
23980
+ total_resource_count_max?: number;
23981
+ /** @description 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`. */
23982
+ owner_email?: string;
23983
+ /**
23984
+ * @description Only projects whose most recent project-scoped resource (any of the five
23985
+ * types) was created at or after this instant (inclusive). Projects with
23986
+ * no resources never match.
23987
+ */
23988
+ last_resource_created_from?: string;
23989
+ /**
23990
+ * @description Only projects whose most recent project-scoped resource (any of the five
23991
+ * types) was created at or before this instant (inclusive). Projects with
23992
+ * no resources never match.
23993
+ */
23994
+ last_resource_created_to?: string;
23995
+ /**
23996
+ * @description Column to sort by. Ties are always broken by project id so paging is stable.
23997
+ * Sorting by last_resource_created_at places projects with no resources
23998
+ * last in both directions.
23999
+ */
24000
+ sort_by?: "created_at" | "name" | "prompt_count" | "memory_count" | "artifact_count" | "blueprint_count" | "feed_item_count" | "total_resource_count" | "last_resource_created_at";
24001
+ /** @description Sort direction. */
24002
+ sort_order?: "asc" | "desc";
24003
+ };
24004
+ header?: never;
24005
+ path?: never;
24006
+ cookie?: never;
24007
+ };
24008
+ requestBody?: never;
24009
+ responses: {
24010
+ /** @description CSV of every matching row (capped at 50,000) */
24011
+ 200: {
24012
+ headers: {
24013
+ /** @description `attachment; filename="admin-projects-YYYYMMDD.csv"` (UTC date) */
24014
+ "Content-Disposition": string;
24015
+ /** @description Number of rows in the filtered set, before the cap */
24016
+ "X-Export-Total-Count": number;
24017
+ /** @description Whether the filtered set exceeded the 50,000-row cap */
24018
+ "X-Export-Truncated": boolean;
24019
+ [name: string]: unknown;
24020
+ };
24021
+ content: {
24022
+ "text/csv": string;
24023
+ };
24024
+ };
24025
+ /** @description 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. */
24026
+ 400: {
24027
+ headers: {
24028
+ [name: string]: unknown;
24029
+ };
24030
+ content: {
24031
+ "application/problem+json": components["schemas"]["ErrorResponse"];
24032
+ };
24033
+ };
24034
+ /** @description Not found — the caller is not an instance admin (surface not advertised) */
24035
+ 404: {
24036
+ headers: {
24037
+ [name: string]: unknown;
24038
+ };
24039
+ content: {
24040
+ "application/problem+json": components["schemas"]["ErrorResponse"];
24041
+ };
24042
+ };
24043
+ /** @description Internal server error (before streaming started) */
24044
+ 500: {
24045
+ headers: {
24046
+ [name: string]: unknown;
24047
+ };
24048
+ content: {
24049
+ "application/problem+json": components["schemas"]["ErrorResponse"];
24050
+ };
24051
+ };
24052
+ };
24053
+ };
23537
24054
  listComments: {
23538
24055
  parameters: {
23539
24056
  query: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibexp/api-client",
3
- "version": "0.88.0",
3
+ "version": "0.89.0",
4
4
  "description": "Typed VibeXP API client generated from the OpenAPI spec (openapi-fetch main entrypoint, axios SDK at ./axios)",
5
5
  "license": "MIT",
6
6
  "repository": {