@vibexp/api-client 0.88.0 → 0.90.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
@@ -1037,7 +1037,17 @@ export interface paths {
1037
1037
  put?: never;
1038
1038
  /**
1039
1039
  * Render a prompt
1040
- * @description Renders a prompt by resolving @references and substituting placeholders with provided values.
1040
+ * @description Renders a prompt by resolving references and substituting placeholders with provided values.
1041
+ *
1042
+ * A reference is written `@prompt:<slug>` and resolves to a prompt in the
1043
+ * prompt's own team; `@@` escapes a literal `@`. A bare `@slug` is the
1044
+ * deprecated legacy form: it expands only when it resolves to a prompt and is
1045
+ * otherwise left as plain text without a warning, so emails, handles and
1046
+ * `git@host` remotes are safe. References are resolved on the authored body
1047
+ * only; placeholder values are inserted verbatim.
1048
+ *
1049
+ * With `strict: true`, bare `@slug` is never resolved and an unresolved
1050
+ * `@prompt:<slug>` fails the render with 422.
1041
1051
  */
1042
1052
  post: operations["renderPrompt"];
1043
1053
  delete?: never;
@@ -3374,6 +3384,147 @@ export interface paths {
3374
3384
  patch?: never;
3375
3385
  trace?: never;
3376
3386
  };
3387
+ "/api/v1/admin/users/export": {
3388
+ parameters: {
3389
+ query?: never;
3390
+ header?: never;
3391
+ path?: never;
3392
+ cookie?: never;
3393
+ };
3394
+ /**
3395
+ * Export instance users as CSV
3396
+ * @description Streams the full filtered `users` listing as a CSV download.
3397
+ *
3398
+ * 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`.
3399
+ *
3400
+ * The export accepts exactly the filter and sort parameters of `listAdminUsers`
3401
+ * (no `page`/`limit`) and streams every matching row, in the list's order,
3402
+ * as RFC 4180 CSV (CRLF line endings, UTF-8, no BOM) with a header row.
3403
+ * Nested list fields are flattened; only counts are exported, never a
3404
+ * resource title or content.
3405
+ *
3406
+ * Output is capped at 50,000 data rows. `X-Export-Total-Count` is the size
3407
+ * of the filtered set and `X-Export-Truncated` is `true` when it exceeds the
3408
+ * cap; both come from a count taken just before streaming, so rows written
3409
+ * concurrently can make the streamed row count differ slightly. When the
3410
+ * export is truncated a final marker row is appended whose first cell reads
3411
+ * `# TRUNCATED: exported 50000 of <total> rows; narrow the filters` and whose
3412
+ * remaining cells are empty.
3413
+ *
3414
+ * Free-text cells (`email`, `name`, `idp_provider`) that begin with `=`, `+`, `-`, `@`, a tab or
3415
+ * a carriage return are prefixed with a single quote (`'`) to defuse
3416
+ * spreadsheet formula injection. Numeric, boolean, UUID and timestamp
3417
+ * (RFC 3339, UTC) cells are never altered.
3418
+ *
3419
+ * A failure after streaming has started aborts the connection, so a client
3420
+ * never receives a well-formed but silently short file. Each completed
3421
+ * export is recorded as an `admin_users_exported` activity of the acting admin.
3422
+ *
3423
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3424
+ */
3425
+ get: operations["exportAdminUsers"];
3426
+ put?: never;
3427
+ post?: never;
3428
+ delete?: never;
3429
+ options?: never;
3430
+ head?: never;
3431
+ patch?: never;
3432
+ trace?: never;
3433
+ };
3434
+ "/api/v1/admin/teams/export": {
3435
+ parameters: {
3436
+ query?: never;
3437
+ header?: never;
3438
+ path?: never;
3439
+ cookie?: never;
3440
+ };
3441
+ /**
3442
+ * Export instance teams as CSV
3443
+ * @description Streams the full filtered `teams` listing as a CSV download.
3444
+ *
3445
+ * 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`.
3446
+ *
3447
+ * The export accepts exactly the filter and sort parameters of `listAdminTeams`
3448
+ * (no `page`/`limit`) and streams every matching row, in the list's order,
3449
+ * as RFC 4180 CSV (CRLF line endings, UTF-8, no BOM) with a header row.
3450
+ * Nested list fields are flattened; only counts are exported, never a
3451
+ * resource title or content.
3452
+ *
3453
+ * Output is capped at 50,000 data rows. `X-Export-Total-Count` is the size
3454
+ * of the filtered set and `X-Export-Truncated` is `true` when it exceeds the
3455
+ * cap; both come from a count taken just before streaming, so rows written
3456
+ * concurrently can make the streamed row count differ slightly. When the
3457
+ * export is truncated a final marker row is appended whose first cell reads
3458
+ * `# TRUNCATED: exported 50000 of <total> rows; narrow the filters` and whose
3459
+ * remaining cells are empty.
3460
+ *
3461
+ * Free-text cells (`name`, `slug`, `owner_email`, `owner_name`) that begin with `=`, `+`, `-`, `@`, a tab or
3462
+ * a carriage return are prefixed with a single quote (`'`) to defuse
3463
+ * spreadsheet formula injection. Numeric, boolean, UUID and timestamp
3464
+ * (RFC 3339, UTC) cells are never altered.
3465
+ *
3466
+ * A failure after streaming has started aborts the connection, so a client
3467
+ * never receives a well-formed but silently short file. Each completed
3468
+ * export is recorded as an `admin_teams_exported` activity of the acting admin.
3469
+ *
3470
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3471
+ */
3472
+ get: operations["exportAdminTeams"];
3473
+ put?: never;
3474
+ post?: never;
3475
+ delete?: never;
3476
+ options?: never;
3477
+ head?: never;
3478
+ patch?: never;
3479
+ trace?: never;
3480
+ };
3481
+ "/api/v1/admin/projects/export": {
3482
+ parameters: {
3483
+ query?: never;
3484
+ header?: never;
3485
+ path?: never;
3486
+ cookie?: never;
3487
+ };
3488
+ /**
3489
+ * Export instance projects as CSV
3490
+ * @description Streams the full filtered `projects` listing as a CSV download.
3491
+ *
3492
+ * 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`.
3493
+ *
3494
+ * The export accepts exactly the filter and sort parameters of `listAdminProjects`
3495
+ * (no `page`/`limit`) and streams every matching row, in the list's order,
3496
+ * as RFC 4180 CSV (CRLF line endings, UTF-8, no BOM) with a header row.
3497
+ * Nested list fields are flattened; only counts are exported, never a
3498
+ * resource title or content.
3499
+ *
3500
+ * Output is capped at 50,000 data rows. `X-Export-Total-Count` is the size
3501
+ * of the filtered set and `X-Export-Truncated` is `true` when it exceeds the
3502
+ * cap; both come from a count taken just before streaming, so rows written
3503
+ * concurrently can make the streamed row count differ slightly. When the
3504
+ * export is truncated a final marker row is appended whose first cell reads
3505
+ * `# TRUNCATED: exported 50000 of <total> rows; narrow the filters` and whose
3506
+ * remaining cells are empty.
3507
+ *
3508
+ * Free-text cells (`name`, `slug`, `team_name`, `team_slug`, `owner_email`, `owner_name`) that begin with `=`, `+`, `-`, `@`, a tab or
3509
+ * a carriage return are prefixed with a single quote (`'`) to defuse
3510
+ * spreadsheet formula injection. Numeric, boolean, UUID and timestamp
3511
+ * (RFC 3339, UTC) cells are never altered.
3512
+ *
3513
+ * A failure after streaming has started aborts the connection, so a client
3514
+ * never receives a well-formed but silently short file. Each completed
3515
+ * export is recorded as an `admin_projects_exported` activity of the acting admin.
3516
+ *
3517
+ * Instance-admin only; non-admin and unauthenticated requests receive 404.
3518
+ */
3519
+ get: operations["exportAdminProjects"];
3520
+ put?: never;
3521
+ post?: never;
3522
+ delete?: never;
3523
+ options?: never;
3524
+ head?: never;
3525
+ patch?: never;
3526
+ trace?: never;
3527
+ };
3377
3528
  "/api/v1/{team_id}/comments": {
3378
3529
  parameters: {
3379
3530
  query?: never;
@@ -5709,6 +5860,11 @@ export interface components {
5709
5860
  placeholders: {
5710
5861
  [key: string]: string;
5711
5862
  };
5863
+ /**
5864
+ * @description When true, only explicit @prompt:slug references are resolved (a bare @word such as an email, handle or git@host remote stays literal text), and an unresolved @prompt:slug fails the render with 422 instead of a warning. Recommended for unattended agents.
5865
+ * @default false
5866
+ */
5867
+ strict: boolean;
5712
5868
  };
5713
5869
  RenderPromptResponse: {
5714
5870
  /** @example Please review this code for: security vulnerabilities and code quality */
@@ -5722,9 +5878,9 @@ export interface components {
5722
5878
  placeholders_missing?: string[];
5723
5879
  references_used?: string[];
5724
5880
  /**
5725
- * @description Warnings about issues during rendering (e.g., missing references)
5881
+ * @description Warnings about issues during rendering, such as an explicit @prompt:slug reference that does not resolve (kept as-is in rendered_body). A bare @word that does not resolve is plain text and never produces a warning.
5726
5882
  * @example [
5727
- * "Reference not found: @nonexistent"
5883
+ * "Reference not found: @prompt:nonexistent"
5728
5884
  * ]
5729
5885
  */
5730
5886
  warnings?: string[];
@@ -16559,6 +16715,15 @@ export interface operations {
16559
16715
  "application/problem+json": components["schemas"]["ErrorResponse"];
16560
16716
  };
16561
16717
  };
16718
+ /** @description Strict render failed: one or more explicit @prompt:slug references do not resolve. The detail names the missing slugs. */
16719
+ 422: {
16720
+ headers: {
16721
+ [name: string]: unknown;
16722
+ };
16723
+ content: {
16724
+ "application/problem+json": components["schemas"]["ErrorResponse"];
16725
+ };
16726
+ };
16562
16727
  };
16563
16728
  };
16564
16729
  getPromptShare: {
@@ -23534,6 +23699,382 @@ export interface operations {
23534
23699
  };
23535
23700
  };
23536
23701
  };
23702
+ exportAdminUsers: {
23703
+ parameters: {
23704
+ query?: {
23705
+ /** @description Case-insensitive substring match over the user's email and name. */
23706
+ search?: string;
23707
+ /** @description Exact match on the user's identity-provider name (e.g. "google", "oidc"). */
23708
+ idp_provider?: string;
23709
+ /** @description Only users created at or after this instant (inclusive). */
23710
+ created_from?: string;
23711
+ /** @description Only users created at or before this instant (inclusive). */
23712
+ created_to?: string;
23713
+ /** @description Narrow to accounts in this lifecycle state. */
23714
+ status?: "active" | "suspended";
23715
+ /** @description Only users with at least this many teams the user belongs to (inclusive). */
23716
+ team_count_min?: number;
23717
+ /** @description Only users with at most this many teams the user belongs to (inclusive). */
23718
+ team_count_max?: number;
23719
+ /** @description Only users with at least this many projects the user created (inclusive). */
23720
+ project_count_min?: number;
23721
+ /** @description Only users with at most this many projects the user created (inclusive). */
23722
+ project_count_max?: number;
23723
+ /** @description Only users with at least this many prompts the user authored (inclusive). */
23724
+ prompt_count_min?: number;
23725
+ /** @description Only users with at most this many prompts the user authored (inclusive). */
23726
+ prompt_count_max?: number;
23727
+ /** @description Only users with at least this many memories the user authored (inclusive). */
23728
+ memory_count_min?: number;
23729
+ /** @description Only users with at most this many memories the user authored (inclusive). */
23730
+ memory_count_max?: number;
23731
+ /** @description Only users with at least this many artifacts the user authored (inclusive). */
23732
+ artifact_count_min?: number;
23733
+ /** @description Only users with at most this many artifacts the user authored (inclusive). */
23734
+ artifact_count_max?: number;
23735
+ /** @description Only users with at least this many blueprints the user authored (inclusive). */
23736
+ blueprint_count_min?: number;
23737
+ /** @description Only users with at most this many blueprints the user authored (inclusive). */
23738
+ blueprint_count_max?: number;
23739
+ /** @description Only users with at least this many agents the user created (inclusive). */
23740
+ agent_count_min?: number;
23741
+ /** @description Only users with at most this many agents the user created (inclusive). */
23742
+ agent_count_max?: number;
23743
+ /** @description Only users with at least this many feeds the user created (inclusive). */
23744
+ feed_count_min?: number;
23745
+ /** @description Only users with at most this many feeds the user created (inclusive). */
23746
+ feed_count_max?: number;
23747
+ /** @description Only users with at least this many feed items the user posted (inclusive). */
23748
+ feed_item_count_min?: number;
23749
+ /** @description Only users with at most this many feed items the user posted (inclusive). */
23750
+ feed_item_count_max?: number;
23751
+ /** @description Only users with at least this many comments the user wrote (inclusive). */
23752
+ comment_count_min?: number;
23753
+ /** @description Only users with at most this many comments the user wrote (inclusive). */
23754
+ comment_count_max?: number;
23755
+ /** @description Only users with at least this many attachments the user uploaded (inclusive). */
23756
+ attachment_count_min?: number;
23757
+ /** @description Only users with at most this many attachments the user uploaded (inclusive). */
23758
+ attachment_count_max?: number;
23759
+ /** @description Only users with at least this many resources the user authored across all nine types (the sum of resource_counts) (inclusive). */
23760
+ total_resource_count_min?: number;
23761
+ /** @description Only users with at most this many resources the user authored across all nine types (the sum of resource_counts) (inclusive). */
23762
+ total_resource_count_max?: number;
23763
+ /**
23764
+ * @description Only users whose most recent resource (any of the nine types) was created
23765
+ * at or after this instant (inclusive). Users with no resources never match.
23766
+ */
23767
+ last_resource_created_from?: string;
23768
+ /**
23769
+ * @description Only users whose most recent resource (any of the nine types) was created
23770
+ * at or before this instant (inclusive). Users with no resources never match.
23771
+ */
23772
+ last_resource_created_to?: string;
23773
+ /**
23774
+ * @description Column to sort by. Ties are always broken by user id so paging is stable.
23775
+ * Sorting by last_resource_created_at places users with no resources last
23776
+ * in both directions.
23777
+ */
23778
+ 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";
23779
+ /** @description Sort direction. */
23780
+ sort_order?: "asc" | "desc";
23781
+ };
23782
+ header?: never;
23783
+ path?: never;
23784
+ cookie?: never;
23785
+ };
23786
+ requestBody?: never;
23787
+ responses: {
23788
+ /** @description CSV of every matching row (capped at 50,000) */
23789
+ 200: {
23790
+ headers: {
23791
+ /** @description `attachment; filename="admin-users-YYYYMMDD.csv"` (UTC date) */
23792
+ "Content-Disposition": string;
23793
+ /** @description Number of rows in the filtered set, before the cap */
23794
+ "X-Export-Total-Count": number;
23795
+ /** @description Whether the filtered set exceeded the 50,000-row cap */
23796
+ "X-Export-Truncated": boolean;
23797
+ [name: string]: unknown;
23798
+ };
23799
+ content: {
23800
+ "text/csv": string;
23801
+ };
23802
+ };
23803
+ /** @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. */
23804
+ 400: {
23805
+ headers: {
23806
+ [name: string]: unknown;
23807
+ };
23808
+ content: {
23809
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23810
+ };
23811
+ };
23812
+ /** @description Not found — the caller is not an instance admin (surface not advertised) */
23813
+ 404: {
23814
+ headers: {
23815
+ [name: string]: unknown;
23816
+ };
23817
+ content: {
23818
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23819
+ };
23820
+ };
23821
+ /** @description Internal server error (before streaming started) */
23822
+ 500: {
23823
+ headers: {
23824
+ [name: string]: unknown;
23825
+ };
23826
+ content: {
23827
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23828
+ };
23829
+ };
23830
+ };
23831
+ };
23832
+ exportAdminTeams: {
23833
+ parameters: {
23834
+ query?: {
23835
+ /** @description Case-insensitive substring match over the team name, team slug, and the owner's email. */
23836
+ search?: string;
23837
+ /** @description Narrow to personal workspaces (true) or shared team workspaces (false). */
23838
+ is_personal?: boolean;
23839
+ /** @description Only teams created at or after this instant (inclusive). */
23840
+ created_from?: string;
23841
+ /** @description Only teams created at or before this instant (inclusive). */
23842
+ created_to?: string;
23843
+ /** @description Only teams with at least this many members (inclusive). */
23844
+ member_count_min?: number;
23845
+ /** @description Only teams with at most this many members (inclusive). */
23846
+ member_count_max?: number;
23847
+ /** @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). */
23848
+ owner_count_min?: number;
23849
+ /** @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). */
23850
+ owner_count_max?: number;
23851
+ /** @description Only teams with at least this many members holding the admin role (inclusive). */
23852
+ admin_count_min?: number;
23853
+ /** @description Only teams with at most this many members holding the admin role (inclusive). */
23854
+ admin_count_max?: number;
23855
+ /** @description Only teams with at least this many projects in the team (inclusive). */
23856
+ project_count_min?: number;
23857
+ /** @description Only teams with at most this many projects in the team (inclusive). */
23858
+ project_count_max?: number;
23859
+ /** @description Only teams with at least this many prompts in the team (inclusive). */
23860
+ prompt_count_min?: number;
23861
+ /** @description Only teams with at most this many prompts in the team (inclusive). */
23862
+ prompt_count_max?: number;
23863
+ /** @description Only teams with at least this many memories in the team (inclusive). */
23864
+ memory_count_min?: number;
23865
+ /** @description Only teams with at most this many memories in the team (inclusive). */
23866
+ memory_count_max?: number;
23867
+ /** @description Only teams with at least this many artifacts in the team (inclusive). */
23868
+ artifact_count_min?: number;
23869
+ /** @description Only teams with at most this many artifacts in the team (inclusive). */
23870
+ artifact_count_max?: number;
23871
+ /** @description Only teams with at least this many blueprints in the team (inclusive). */
23872
+ blueprint_count_min?: number;
23873
+ /** @description Only teams with at most this many blueprints in the team (inclusive). */
23874
+ blueprint_count_max?: number;
23875
+ /** @description Only teams with at least this many agents in the team (inclusive). */
23876
+ agent_count_min?: number;
23877
+ /** @description Only teams with at most this many agents in the team (inclusive). */
23878
+ agent_count_max?: number;
23879
+ /** @description Only teams with at least this many feeds in the team (inclusive). */
23880
+ feed_count_min?: number;
23881
+ /** @description Only teams with at most this many feeds in the team (inclusive). */
23882
+ feed_count_max?: number;
23883
+ /** @description Only teams with at least this many feed items in the team (inclusive). */
23884
+ feed_item_count_min?: number;
23885
+ /** @description Only teams with at most this many feed items in the team (inclusive). */
23886
+ feed_item_count_max?: number;
23887
+ /** @description Only teams with at least this many comments in the team (inclusive). */
23888
+ comment_count_min?: number;
23889
+ /** @description Only teams with at most this many comments in the team (inclusive). */
23890
+ comment_count_max?: number;
23891
+ /** @description Only teams with at least this many attachments in the team (inclusive). */
23892
+ attachment_count_min?: number;
23893
+ /** @description Only teams with at most this many attachments in the team (inclusive). */
23894
+ attachment_count_max?: number;
23895
+ /** @description Only teams with at least this many resources in the team across all nine types (the sum of resource_counts) (inclusive). */
23896
+ total_resource_count_min?: number;
23897
+ /** @description Only teams with at most this many resources in the team across all nine types (the sum of resource_counts) (inclusive). */
23898
+ total_resource_count_max?: number;
23899
+ /** @description Case-insensitive exact match on the team owner's email (the user referenced by the team's owner). For substring matching use `search`. */
23900
+ owner_email?: string;
23901
+ /** @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. */
23902
+ embedding_configured?: boolean;
23903
+ /** @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. */
23904
+ llm_configured?: boolean;
23905
+ /** @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. */
23906
+ ai_summary_enabled?: boolean;
23907
+ /** @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. */
23908
+ email_configured?: boolean;
23909
+ /** @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. */
23910
+ github_configured?: boolean;
23911
+ /** @description true = the team has its own search settings; false = it does not; omit = any. Instance-level fallback configuration never counts. */
23912
+ search_settings_customized?: boolean;
23913
+ /** @description true = the team has at least one enabled freshness rule; false = it does not; omit = any. Instance-level fallback configuration never counts. */
23914
+ freshness_enabled?: boolean;
23915
+ /** @description Column to sort by. Ties are always broken by team id so paging is stable. */
23916
+ 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";
23917
+ /** @description Sort direction. */
23918
+ sort_order?: "asc" | "desc";
23919
+ };
23920
+ header?: never;
23921
+ path?: never;
23922
+ cookie?: never;
23923
+ };
23924
+ requestBody?: never;
23925
+ responses: {
23926
+ /** @description CSV of every matching row (capped at 50,000) */
23927
+ 200: {
23928
+ headers: {
23929
+ /** @description `attachment; filename="admin-teams-YYYYMMDD.csv"` (UTC date) */
23930
+ "Content-Disposition": string;
23931
+ /** @description Number of rows in the filtered set, before the cap */
23932
+ "X-Export-Total-Count": number;
23933
+ /** @description Whether the filtered set exceeded the 50,000-row cap */
23934
+ "X-Export-Truncated": boolean;
23935
+ [name: string]: unknown;
23936
+ };
23937
+ content: {
23938
+ "text/csv": string;
23939
+ };
23940
+ };
23941
+ /** @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. */
23942
+ 400: {
23943
+ headers: {
23944
+ [name: string]: unknown;
23945
+ };
23946
+ content: {
23947
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23948
+ };
23949
+ };
23950
+ /** @description Not found — the caller is not an instance admin (surface not advertised) */
23951
+ 404: {
23952
+ headers: {
23953
+ [name: string]: unknown;
23954
+ };
23955
+ content: {
23956
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23957
+ };
23958
+ };
23959
+ /** @description Internal server error (before streaming started) */
23960
+ 500: {
23961
+ headers: {
23962
+ [name: string]: unknown;
23963
+ };
23964
+ content: {
23965
+ "application/problem+json": components["schemas"]["ErrorResponse"];
23966
+ };
23967
+ };
23968
+ };
23969
+ };
23970
+ exportAdminProjects: {
23971
+ parameters: {
23972
+ query?: {
23973
+ /** @description Case-insensitive substring match over the project name and slug. */
23974
+ search?: string;
23975
+ /** @description Narrow to projects belonging to one team. */
23976
+ team_id?: string;
23977
+ /** @description Only projects created at or after this instant (inclusive). */
23978
+ created_from?: string;
23979
+ /** @description Only projects created at or before this instant (inclusive). */
23980
+ created_to?: string;
23981
+ /** @description Only projects with at least this many prompts in the project (inclusive). */
23982
+ prompt_count_min?: number;
23983
+ /** @description Only projects with at most this many prompts in the project (inclusive). */
23984
+ prompt_count_max?: number;
23985
+ /** @description Only projects with at least this many memories in the project (inclusive). */
23986
+ memory_count_min?: number;
23987
+ /** @description Only projects with at most this many memories in the project (inclusive). */
23988
+ memory_count_max?: number;
23989
+ /** @description Only projects with at least this many artifacts in the project (inclusive). */
23990
+ artifact_count_min?: number;
23991
+ /** @description Only projects with at most this many artifacts in the project (inclusive). */
23992
+ artifact_count_max?: number;
23993
+ /** @description Only projects with at least this many blueprints in the project (inclusive). */
23994
+ blueprint_count_min?: number;
23995
+ /** @description Only projects with at most this many blueprints in the project (inclusive). */
23996
+ blueprint_count_max?: number;
23997
+ /** @description Only projects with at least this many feed items in the project (inclusive). */
23998
+ feed_item_count_min?: number;
23999
+ /** @description Only projects with at most this many feed items in the project (inclusive). */
24000
+ feed_item_count_max?: number;
24001
+ /** @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. */
24002
+ total_resource_count_min?: number;
24003
+ /** @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. */
24004
+ total_resource_count_max?: number;
24005
+ /** @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`. */
24006
+ owner_email?: string;
24007
+ /**
24008
+ * @description Only projects whose most recent project-scoped resource (any of the five
24009
+ * types) was created at or after this instant (inclusive). Projects with
24010
+ * no resources never match.
24011
+ */
24012
+ last_resource_created_from?: string;
24013
+ /**
24014
+ * @description Only projects whose most recent project-scoped resource (any of the five
24015
+ * types) was created at or before this instant (inclusive). Projects with
24016
+ * no resources never match.
24017
+ */
24018
+ last_resource_created_to?: string;
24019
+ /**
24020
+ * @description Column to sort by. Ties are always broken by project id so paging is stable.
24021
+ * Sorting by last_resource_created_at places projects with no resources
24022
+ * last in both directions.
24023
+ */
24024
+ sort_by?: "created_at" | "name" | "prompt_count" | "memory_count" | "artifact_count" | "blueprint_count" | "feed_item_count" | "total_resource_count" | "last_resource_created_at";
24025
+ /** @description Sort direction. */
24026
+ sort_order?: "asc" | "desc";
24027
+ };
24028
+ header?: never;
24029
+ path?: never;
24030
+ cookie?: never;
24031
+ };
24032
+ requestBody?: never;
24033
+ responses: {
24034
+ /** @description CSV of every matching row (capped at 50,000) */
24035
+ 200: {
24036
+ headers: {
24037
+ /** @description `attachment; filename="admin-projects-YYYYMMDD.csv"` (UTC date) */
24038
+ "Content-Disposition": string;
24039
+ /** @description Number of rows in the filtered set, before the cap */
24040
+ "X-Export-Total-Count": number;
24041
+ /** @description Whether the filtered set exceeded the 50,000-row cap */
24042
+ "X-Export-Truncated": boolean;
24043
+ [name: string]: unknown;
24044
+ };
24045
+ content: {
24046
+ "text/csv": string;
24047
+ };
24048
+ };
24049
+ /** @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. */
24050
+ 400: {
24051
+ headers: {
24052
+ [name: string]: unknown;
24053
+ };
24054
+ content: {
24055
+ "application/problem+json": components["schemas"]["ErrorResponse"];
24056
+ };
24057
+ };
24058
+ /** @description Not found — the caller is not an instance admin (surface not advertised) */
24059
+ 404: {
24060
+ headers: {
24061
+ [name: string]: unknown;
24062
+ };
24063
+ content: {
24064
+ "application/problem+json": components["schemas"]["ErrorResponse"];
24065
+ };
24066
+ };
24067
+ /** @description Internal server error (before streaming started) */
24068
+ 500: {
24069
+ headers: {
24070
+ [name: string]: unknown;
24071
+ };
24072
+ content: {
24073
+ "application/problem+json": components["schemas"]["ErrorResponse"];
24074
+ };
24075
+ };
24076
+ };
24077
+ };
23537
24078
  listComments: {
23538
24079
  parameters: {
23539
24080
  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.90.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": {