@vibexp/api-client 0.84.0 → 0.86.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.
@@ -5162,6 +5162,14 @@ export type AdminProjectListItem = {
5162
5162
  owner: AdminTeamOwner;
5163
5163
  created_at: string;
5164
5164
  updated_at: string;
5165
+ resource_counts: AdminProjectResourceCounts;
5166
+ /**
5167
+ * When the project's most recent project-scoped resource (any of the five
5168
+ * types counted in resource_counts) was created; null for a project with
5169
+ * none.
5170
+ *
5171
+ */
5172
+ last_resource_created_at: string | null;
5165
5173
  };
5166
5174
  /**
5167
5175
  * A page of the instance-wide project listing.
@@ -5180,12 +5188,17 @@ export type AdminProjectListResponse = {
5180
5188
  total_pages: number;
5181
5189
  };
5182
5190
  /**
5183
- * How many of each PROJECT-SCOPED resource type the project contains.
5191
+ * How many of each PROJECT-SCOPED resource type the project contains, plus
5192
+ * their total. Shared by the project listing and the project detail, which
5193
+ * always agree.
5184
5194
  *
5185
- * Only these four types belong to a project. Agents and feeds are deliberately
5186
- * absent: neither table has a project_id column (both are team-scoped), so
5187
- * reporting zero for them would read as "this project has no agents" rather
5188
- * than "agents do not belong to projects".
5195
+ * Only the five tables with a direct project_id belong to a project: prompts,
5196
+ * artifacts, memories, blueprints and feed items (a feed item posted without
5197
+ * a project counts for none). Agents and feeds are deliberately absent: both
5198
+ * are team-scoped and have no project_id, so reporting zero for them would
5199
+ * read as "this project has no agents" rather than "agents do not belong to
5200
+ * projects". Comments and attachments are absent too: they reach a project
5201
+ * only indirectly, through the resource they are attached to.
5189
5202
  *
5190
5203
  */
5191
5204
  export type AdminProjectResourceCounts = {
@@ -5193,6 +5206,11 @@ export type AdminProjectResourceCounts = {
5193
5206
  artifacts: number;
5194
5207
  memories: number;
5195
5208
  blueprints: number;
5209
+ feed_items: number;
5210
+ /**
5211
+ * Sum of the five project-scoped counts.
5212
+ */
5213
+ total: number;
5196
5214
  };
5197
5215
  /**
5198
5216
  * A single project with its team, owner and resource counts (GET /api/v1/admin/projects/{id}).
@@ -5614,6 +5632,242 @@ export type AdminTeamSettingsAuditListResponse = {
5614
5632
  per_page: number;
5615
5633
  total_pages: number;
5616
5634
  };
5635
+ /**
5636
+ * One model (LLM) provider, credentials redacted.
5637
+ */
5638
+ export type AdminModelProvider = {
5639
+ id: string;
5640
+ name: string;
5641
+ provider_type: string;
5642
+ model: string;
5643
+ /**
5644
+ * The provider's base URL with any userinfo, query string and fragment
5645
+ * removed. `null` when unset or not an absolute URL.
5646
+ *
5647
+ */
5648
+ base_url: string | null;
5649
+ is_default: boolean;
5650
+ /**
5651
+ * Whether an API key is stored. The key itself is never returned.
5652
+ */
5653
+ has_api_key: boolean;
5654
+ /**
5655
+ * Sorted top-level key names of the provider's `configuration` object. The
5656
+ * values are never returned. `[]` when the configuration is empty or not a
5657
+ * JSON object.
5658
+ *
5659
+ */
5660
+ configuration_keys: Array<string>;
5661
+ created_at: string;
5662
+ updated_at: string;
5663
+ };
5664
+ /**
5665
+ * A team's model providers (GET /api/v1/admin/teams/{id}/config/model-providers).
5666
+ */
5667
+ export type AdminTeamModelProvidersConfig = {
5668
+ /**
5669
+ * Serializes as `[]` when the team has none, never `null`.
5670
+ */
5671
+ providers: Array<AdminModelProvider>;
5672
+ };
5673
+ /**
5674
+ * One embedding provider, credentials redacted.
5675
+ */
5676
+ export type AdminEmbeddingProvider = {
5677
+ id: string;
5678
+ name: string;
5679
+ provider_type: string;
5680
+ model: string;
5681
+ chunk_size: number;
5682
+ chunk_overlap: number;
5683
+ concurrency: number;
5684
+ query_prefix: string | null;
5685
+ document_prefix: string | null;
5686
+ /**
5687
+ * The provider's base URL with any userinfo, query string and fragment
5688
+ * removed. `null` when unset or not an absolute URL.
5689
+ *
5690
+ */
5691
+ base_url: string | null;
5692
+ is_default: boolean;
5693
+ /**
5694
+ * Whether an API key is stored. The key itself is never returned.
5695
+ */
5696
+ has_api_key: boolean;
5697
+ /**
5698
+ * Sorted top-level key names of the provider's `configuration` object. The
5699
+ * values are never returned. `[]` when the configuration is empty or not a
5700
+ * JSON object.
5701
+ *
5702
+ */
5703
+ configuration_keys: Array<string>;
5704
+ created_at: string;
5705
+ updated_at: string;
5706
+ };
5707
+ /**
5708
+ * Embedding coverage for one entity type (counts only).
5709
+ */
5710
+ export type AdminEmbeddingCoverageItem = {
5711
+ entity_type: string;
5712
+ total: number;
5713
+ embedded: number;
5714
+ pending: number;
5715
+ embedded_percent: number;
5716
+ };
5717
+ /**
5718
+ * How much of the team's embeddable content has an embedding under its active
5719
+ * provider's model.
5720
+ *
5721
+ */
5722
+ export type AdminEmbeddingCoverage = {
5723
+ has_active_provider: boolean;
5724
+ /**
5725
+ * The active provider's model; `null` when the team has no provider.
5726
+ */
5727
+ active_model: string | null;
5728
+ /**
5729
+ * One entry per entity type. Serializes as `[]`, never `null`.
5730
+ */
5731
+ items: Array<AdminEmbeddingCoverageItem>;
5732
+ };
5733
+ /**
5734
+ * A team's embedding providers and embedding coverage
5735
+ * (GET /api/v1/admin/teams/{id}/config/embedding-providers).
5736
+ *
5737
+ */
5738
+ export type AdminTeamEmbeddingProvidersConfig = {
5739
+ /**
5740
+ * Serializes as `[]` when the team has none, never `null`.
5741
+ */
5742
+ providers: Array<AdminEmbeddingProvider>;
5743
+ coverage: AdminEmbeddingCoverage;
5744
+ };
5745
+ /**
5746
+ * Non-secret SMTP settings. The SMTP username is deliberately omitted.
5747
+ */
5748
+ export type AdminSmtpSettings = {
5749
+ host: string;
5750
+ port: string;
5751
+ };
5752
+ /**
5753
+ * Non-secret Mailgun settings.
5754
+ */
5755
+ export type AdminMailgunSettings = {
5756
+ domain: string;
5757
+ /**
5758
+ * The Mailgun API base URL with any userinfo, query string and fragment
5759
+ * removed. `null` when unset or not an absolute URL.
5760
+ *
5761
+ */
5762
+ base_url: string | null;
5763
+ };
5764
+ /**
5765
+ * Non-secret Postmark settings.
5766
+ */
5767
+ export type AdminPostmarkSettings = {
5768
+ message_stream: string;
5769
+ };
5770
+ /**
5771
+ * The team provider's non-secret settings; only the block matching its type is present.
5772
+ */
5773
+ export type AdminEmailSettings = {
5774
+ smtp?: AdminSmtpSettings;
5775
+ mailgun?: AdminMailgunSettings;
5776
+ postmark?: AdminPostmarkSettings;
5777
+ };
5778
+ /**
5779
+ * A team's effective email provider (GET /api/v1/admin/teams/{id}/config/email-provider).
5780
+ * The provider's secret, its last error text and the SMTP username are never
5781
+ * returned.
5782
+ *
5783
+ */
5784
+ export type AdminTeamEmailProviderConfig = {
5785
+ /**
5786
+ * Whether the team has its own provider.
5787
+ */
5788
+ configured: boolean;
5789
+ source: AdminTeamConfigSource;
5790
+ /**
5791
+ * The address the team's mail is actually sent from.
5792
+ */
5793
+ effective_from_address: string;
5794
+ /**
5795
+ * The team provider's type; `null` when inheriting the instance provider.
5796
+ */
5797
+ provider_type: string | null;
5798
+ from_address: string | null;
5799
+ from_name: string | null;
5800
+ reply_to: string | null;
5801
+ /**
5802
+ * `null` when inheriting the instance provider, or when the stored settings
5803
+ * could not be decoded.
5804
+ *
5805
+ */
5806
+ settings: AdminEmailSettings | null;
5807
+ /**
5808
+ * Whether a provider credential is stored. The credential itself is never returned.
5809
+ */
5810
+ has_secret: boolean;
5811
+ last_success_at: string | null;
5812
+ last_error_at: string | null;
5813
+ /**
5814
+ * Derived from the two timestamps: `unknown` when inheriting or never used,
5815
+ * `healthy` when the last send succeeded (or none failed), `failing` when
5816
+ * the last recorded send failed.
5817
+ *
5818
+ */
5819
+ status: 'healthy' | 'failing' | 'unknown';
5820
+ };
5821
+ /**
5822
+ * A team's GitHub App registration, secrets redacted.
5823
+ */
5824
+ export type AdminGitHubAppConfig = {
5825
+ id: string;
5826
+ app_id: string;
5827
+ app_slug: string;
5828
+ client_id: string;
5829
+ has_private_key: boolean;
5830
+ has_client_secret: boolean;
5831
+ has_webhook_secret: boolean;
5832
+ /**
5833
+ * Whether VibeXP can give GitHub a webhook delivery URL for this App (a
5834
+ * routing token exists and the instance has a public base URL). It does
5835
+ * NOT mean GitHub is delivering. The URL itself is never returned.
5836
+ *
5837
+ */
5838
+ webhook_configured: boolean;
5839
+ created_at: string;
5840
+ updated_at: string;
5841
+ };
5842
+ /**
5843
+ * The team's GitHub App installation, as last recorded (no live GitHub call).
5844
+ */
5845
+ export type AdminGitHubInstallation = {
5846
+ installed: boolean;
5847
+ /**
5848
+ * The GitHub account the App is installed on; `null` when not installed.
5849
+ */
5850
+ account_login: string | null;
5851
+ /**
5852
+ * `null` when not installed.
5853
+ */
5854
+ installation_id: number | null;
5855
+ suspended: boolean;
5856
+ /**
5857
+ * `null` when not installed.
5858
+ */
5859
+ installed_at: string | null;
5860
+ };
5861
+ /**
5862
+ * A team's GitHub integration (GET /api/v1/admin/teams/{id}/config/github).
5863
+ */
5864
+ export type AdminTeamGitHubConfig = {
5865
+ /**
5866
+ * `null` when the team has not registered a GitHub App.
5867
+ */
5868
+ app_config: AdminGitHubAppConfig | null;
5869
+ installation: AdminGitHubInstallation;
5870
+ };
5617
5871
  export type ProjectResponse = Project & {
5618
5872
  /**
5619
5873
  * Whether the project's git URL matches a repository accessible via the team's GitHub App installation
@@ -12736,6 +12990,138 @@ export type ListAdminTeamSettingsAuditResponses = {
12736
12990
  200: AdminTeamSettingsAuditListResponse;
12737
12991
  };
12738
12992
  export type ListAdminTeamSettingsAuditResponse = ListAdminTeamSettingsAuditResponses[keyof ListAdminTeamSettingsAuditResponses];
12993
+ export type GetAdminTeamModelProvidersData = {
12994
+ body?: never;
12995
+ path: {
12996
+ /**
12997
+ * Team id (UUID)
12998
+ */
12999
+ id: string;
13000
+ };
13001
+ query?: never;
13002
+ url: '/api/v1/admin/teams/{id}/config/model-providers';
13003
+ };
13004
+ export type GetAdminTeamModelProvidersErrors = {
13005
+ /**
13006
+ * Bad request — malformed team id
13007
+ */
13008
+ 400: ErrorResponse;
13009
+ /**
13010
+ * Not found — unknown team id, or the caller is not an instance admin
13011
+ */
13012
+ 404: ErrorResponse;
13013
+ /**
13014
+ * Internal server error
13015
+ */
13016
+ 500: ErrorResponse;
13017
+ };
13018
+ export type GetAdminTeamModelProvidersError = GetAdminTeamModelProvidersErrors[keyof GetAdminTeamModelProvidersErrors];
13019
+ export type GetAdminTeamModelProvidersResponses = {
13020
+ /**
13021
+ * The team's model providers
13022
+ */
13023
+ 200: AdminTeamModelProvidersConfig;
13024
+ };
13025
+ export type GetAdminTeamModelProvidersResponse = GetAdminTeamModelProvidersResponses[keyof GetAdminTeamModelProvidersResponses];
13026
+ export type GetAdminTeamEmbeddingProvidersData = {
13027
+ body?: never;
13028
+ path: {
13029
+ /**
13030
+ * Team id (UUID)
13031
+ */
13032
+ id: string;
13033
+ };
13034
+ query?: never;
13035
+ url: '/api/v1/admin/teams/{id}/config/embedding-providers';
13036
+ };
13037
+ export type GetAdminTeamEmbeddingProvidersErrors = {
13038
+ /**
13039
+ * Bad request — malformed team id
13040
+ */
13041
+ 400: ErrorResponse;
13042
+ /**
13043
+ * Not found — unknown team id, or the caller is not an instance admin
13044
+ */
13045
+ 404: ErrorResponse;
13046
+ /**
13047
+ * Internal server error
13048
+ */
13049
+ 500: ErrorResponse;
13050
+ };
13051
+ export type GetAdminTeamEmbeddingProvidersError = GetAdminTeamEmbeddingProvidersErrors[keyof GetAdminTeamEmbeddingProvidersErrors];
13052
+ export type GetAdminTeamEmbeddingProvidersResponses = {
13053
+ /**
13054
+ * The team's embedding providers and coverage
13055
+ */
13056
+ 200: AdminTeamEmbeddingProvidersConfig;
13057
+ };
13058
+ export type GetAdminTeamEmbeddingProvidersResponse = GetAdminTeamEmbeddingProvidersResponses[keyof GetAdminTeamEmbeddingProvidersResponses];
13059
+ export type GetAdminTeamEmailProviderData = {
13060
+ body?: never;
13061
+ path: {
13062
+ /**
13063
+ * Team id (UUID)
13064
+ */
13065
+ id: string;
13066
+ };
13067
+ query?: never;
13068
+ url: '/api/v1/admin/teams/{id}/config/email-provider';
13069
+ };
13070
+ export type GetAdminTeamEmailProviderErrors = {
13071
+ /**
13072
+ * Bad request — malformed team id
13073
+ */
13074
+ 400: ErrorResponse;
13075
+ /**
13076
+ * Not found — unknown team id, or the caller is not an instance admin
13077
+ */
13078
+ 404: ErrorResponse;
13079
+ /**
13080
+ * Internal server error
13081
+ */
13082
+ 500: ErrorResponse;
13083
+ };
13084
+ export type GetAdminTeamEmailProviderError = GetAdminTeamEmailProviderErrors[keyof GetAdminTeamEmailProviderErrors];
13085
+ export type GetAdminTeamEmailProviderResponses = {
13086
+ /**
13087
+ * The team's email provider
13088
+ */
13089
+ 200: AdminTeamEmailProviderConfig;
13090
+ };
13091
+ export type GetAdminTeamEmailProviderResponse = GetAdminTeamEmailProviderResponses[keyof GetAdminTeamEmailProviderResponses];
13092
+ export type GetAdminTeamGitHubConfigData = {
13093
+ body?: never;
13094
+ path: {
13095
+ /**
13096
+ * Team id (UUID)
13097
+ */
13098
+ id: string;
13099
+ };
13100
+ query?: never;
13101
+ url: '/api/v1/admin/teams/{id}/config/github';
13102
+ };
13103
+ export type GetAdminTeamGitHubConfigErrors = {
13104
+ /**
13105
+ * Bad request — malformed team id
13106
+ */
13107
+ 400: ErrorResponse;
13108
+ /**
13109
+ * Not found — unknown team id, or the caller is not an instance admin
13110
+ */
13111
+ 404: ErrorResponse;
13112
+ /**
13113
+ * Internal server error
13114
+ */
13115
+ 500: ErrorResponse;
13116
+ };
13117
+ export type GetAdminTeamGitHubConfigError = GetAdminTeamGitHubConfigErrors[keyof GetAdminTeamGitHubConfigErrors];
13118
+ export type GetAdminTeamGitHubConfigResponses = {
13119
+ /**
13120
+ * The team's GitHub integration
13121
+ */
13122
+ 200: AdminTeamGitHubConfig;
13123
+ };
13124
+ export type GetAdminTeamGitHubConfigResponse = GetAdminTeamGitHubConfigResponses[keyof GetAdminTeamGitHubConfigResponses];
12739
13125
  export type GetAdminDashboardOverviewData = {
12740
13126
  body?: never;
12741
13127
  path?: never;
@@ -12901,10 +13287,79 @@ export type ListAdminProjectsData = {
12901
13287
  * Only projects created at or before this instant (inclusive).
12902
13288
  */
12903
13289
  created_to?: string;
13290
+ /**
13291
+ * Only projects with at least this many prompts in the project (inclusive).
13292
+ */
13293
+ prompt_count_min?: number;
13294
+ /**
13295
+ * Only projects with at most this many prompts in the project (inclusive).
13296
+ */
13297
+ prompt_count_max?: number;
13298
+ /**
13299
+ * Only projects with at least this many memories in the project (inclusive).
13300
+ */
13301
+ memory_count_min?: number;
13302
+ /**
13303
+ * Only projects with at most this many memories in the project (inclusive).
13304
+ */
13305
+ memory_count_max?: number;
13306
+ /**
13307
+ * Only projects with at least this many artifacts in the project (inclusive).
13308
+ */
13309
+ artifact_count_min?: number;
13310
+ /**
13311
+ * Only projects with at most this many artifacts in the project (inclusive).
13312
+ */
13313
+ artifact_count_max?: number;
13314
+ /**
13315
+ * Only projects with at least this many blueprints in the project (inclusive).
13316
+ */
13317
+ blueprint_count_min?: number;
13318
+ /**
13319
+ * Only projects with at most this many blueprints in the project (inclusive).
13320
+ */
13321
+ blueprint_count_max?: number;
13322
+ /**
13323
+ * Only projects with at least this many feed items in the project (inclusive).
13324
+ */
13325
+ feed_item_count_min?: number;
13326
+ /**
13327
+ * Only projects with at most this many feed items in the project (inclusive).
13328
+ */
13329
+ feed_item_count_max?: number;
13330
+ /**
13331
+ * 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.
13332
+ */
13333
+ total_resource_count_min?: number;
13334
+ /**
13335
+ * 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.
13336
+ */
13337
+ total_resource_count_max?: number;
13338
+ /**
13339
+ * 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`.
13340
+ */
13341
+ owner_email?: string;
13342
+ /**
13343
+ * Only projects whose most recent project-scoped resource (any of the five
13344
+ * types) was created at or after this instant (inclusive). Projects with
13345
+ * no resources never match.
13346
+ *
13347
+ */
13348
+ last_resource_created_from?: string;
13349
+ /**
13350
+ * Only projects whose most recent project-scoped resource (any of the five
13351
+ * types) was created at or before this instant (inclusive). Projects with
13352
+ * no resources never match.
13353
+ *
13354
+ */
13355
+ last_resource_created_to?: string;
12904
13356
  /**
12905
13357
  * Column to sort by. Ties are always broken by project id so paging is stable.
13358
+ * Sorting by last_resource_created_at places projects with no resources
13359
+ * last in both directions.
13360
+ *
12906
13361
  */
12907
- sort_by?: 'created_at' | 'name';
13362
+ sort_by?: 'created_at' | 'name' | 'prompt_count' | 'memory_count' | 'artifact_count' | 'blueprint_count' | 'feed_item_count' | 'total_resource_count' | 'last_resource_created_at';
12908
13363
  /**
12909
13364
  * Sort direction.
12910
13365
  */