@vibexp/api-client 0.82.0 → 0.84.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.
@@ -4677,10 +4677,11 @@ export type AdminUserListItem = {
4677
4677
  last_resource_created_at?: string | null;
4678
4678
  };
4679
4679
  /**
4680
- * How many resources of each type a user authored, counted by the author
4681
- * column of each table (feeds by creator, feed items by poster). Every row
4682
- * counts regardless of its status or archive state. `total` is the sum of the
4683
- * nine types.
4680
+ * How many resources of each type belong to the listed row. On a user row
4681
+ * these are the resources the user authored, counted by the author column of
4682
+ * each table (feeds by creator, feed items by poster); on a team row they are
4683
+ * the resources in the team, counted by team_id. Every row counts regardless
4684
+ * of its status or archive state. `total` is the sum of the nine types.
4684
4685
  *
4685
4686
  */
4686
4687
  export type AdminResourceCounts = {
@@ -4789,8 +4790,58 @@ export type AdminTeamListItem = {
4789
4790
  * Number of members in the team.
4790
4791
  */
4791
4792
  member_count: number;
4793
+ /**
4794
+ * Number of members holding the owner role. Always 1 by application invariant; any other value signals integrity drift.
4795
+ */
4796
+ owner_count: number;
4797
+ /**
4798
+ * Number of members holding the admin role.
4799
+ */
4800
+ admin_count: number;
4801
+ /**
4802
+ * Number of projects in the team.
4803
+ */
4804
+ project_count: number;
4805
+ resource_counts: AdminResourceCounts;
4806
+ configuration: AdminTeamConfiguration;
4792
4807
  created_at: string;
4793
4808
  };
4809
+ /**
4810
+ * Which settings a team has configured itself. Each flag reflects the team's
4811
+ * OWN rows only; instance-level fallback configuration (config.yaml) never
4812
+ * counts as configured.
4813
+ *
4814
+ */
4815
+ export type AdminTeamConfiguration = {
4816
+ /**
4817
+ * The team has at least one embedding provider of its own.
4818
+ */
4819
+ embedding_configured: boolean;
4820
+ /**
4821
+ * The team has at least one LLM model provider of its own.
4822
+ */
4823
+ llm_configured: boolean;
4824
+ /**
4825
+ * The team has its own AI summary settings with summaries enabled.
4826
+ */
4827
+ ai_summary_enabled: boolean;
4828
+ /**
4829
+ * The team has its own email provider, regardless of its delivery health.
4830
+ */
4831
+ email_configured: boolean;
4832
+ /**
4833
+ * The team has its own GitHub App configuration or at least one GitHub App installation (suspended installations included).
4834
+ */
4835
+ github_configured: boolean;
4836
+ /**
4837
+ * The team has its own search settings.
4838
+ */
4839
+ search_settings_customized: boolean;
4840
+ /**
4841
+ * The team has at least one enabled freshness rule.
4842
+ */
4843
+ freshness_enabled: boolean;
4844
+ };
4794
4845
  /**
4795
4846
  * A page of the instance-wide team listing, newest first.
4796
4847
  */
@@ -5395,6 +5446,174 @@ export type AdminTopAccessedResourcesResponse = {
5395
5446
  */
5396
5447
  earliest_retained_at: string;
5397
5448
  };
5449
+ /**
5450
+ * Where the values in effect came from: `team` when the team stored its own
5451
+ * profile, `instance` when it has none and inherits the deployment defaults.
5452
+ *
5453
+ */
5454
+ export type AdminTeamConfigSource = 'team' | 'instance';
5455
+ /**
5456
+ * A complete search ranking profile.
5457
+ */
5458
+ export type AdminSearchValues = {
5459
+ recency_ranking_enabled: boolean;
5460
+ rank_weight_relevance: number;
5461
+ rank_weight_created: number;
5462
+ rank_weight_updated: number;
5463
+ rank_half_life_days: number;
5464
+ };
5465
+ /**
5466
+ * A team's effective search ranking settings (GET /api/v1/admin/teams/{id}/config/search).
5467
+ */
5468
+ export type AdminTeamSearchConfig = {
5469
+ source: AdminTeamConfigSource;
5470
+ values: AdminSearchValues;
5471
+ instance_defaults: AdminSearchValues;
5472
+ /**
5473
+ * Instance-owned cap on rows re-ranked per search; never team-configurable.
5474
+ */
5475
+ rank_candidate_cap: number;
5476
+ };
5477
+ /**
5478
+ * A complete AI summary profile.
5479
+ */
5480
+ export type AdminAiSummaryValues = {
5481
+ enabled: boolean;
5482
+ /**
5483
+ * The selected model provider; `null` means the team's default provider.
5484
+ */
5485
+ model_provider_id: string | null;
5486
+ top_n: number;
5487
+ style: 'concise' | 'balanced' | 'detailed';
5488
+ max_output_tokens: number;
5489
+ };
5490
+ /**
5491
+ * A team's effective AI summary settings (GET /api/v1/admin/teams/{id}/config/ai-summary).
5492
+ */
5493
+ export type AdminTeamAiSummaryConfig = {
5494
+ source: AdminTeamConfigSource;
5495
+ values: AdminAiSummaryValues;
5496
+ instance_defaults: AdminAiSummaryValues;
5497
+ /**
5498
+ * Name of the provider `values.model_provider_id` selects. `null` when no
5499
+ * provider is selected or the id no longer resolves to one of the team's
5500
+ * providers.
5501
+ *
5502
+ */
5503
+ model_provider_name: string | null;
5504
+ /**
5505
+ * Instance-owned upper bound on `top_n`.
5506
+ */
5507
+ max_top_n: number;
5508
+ /**
5509
+ * Instance-owned upper bound on `max_output_tokens`.
5510
+ */
5511
+ max_output_tokens_ceiling: number;
5512
+ /**
5513
+ * Whether the team has at least one model provider (existence, not health).
5514
+ */
5515
+ available: boolean;
5516
+ };
5517
+ /**
5518
+ * A team's freshness evaluation settings.
5519
+ */
5520
+ export type AdminFreshnessValues = {
5521
+ interval_seconds: number;
5522
+ reversibility_enabled: boolean;
5523
+ };
5524
+ /**
5525
+ * One freshness rule.
5526
+ */
5527
+ export type AdminFreshnessRule = {
5528
+ id: string;
5529
+ /**
5530
+ * The project the rule is scoped to; `null` for a team-wide rule.
5531
+ */
5532
+ project_id: string | null;
5533
+ resource_types: Array<string>;
5534
+ /**
5535
+ * Access mediums that count as "accessed". Empty means any medium.
5536
+ */
5537
+ mediums: Array<string>;
5538
+ threshold_days: number;
5539
+ enabled: boolean;
5540
+ created_at: string;
5541
+ updated_at: string;
5542
+ };
5543
+ /**
5544
+ * A team's freshness settings and rules (GET /api/v1/admin/teams/{id}/config/freshness).
5545
+ */
5546
+ export type AdminTeamFreshnessConfig = {
5547
+ source: AdminTeamConfigSource;
5548
+ values: AdminFreshnessValues;
5549
+ defaults: AdminFreshnessValues;
5550
+ /**
5551
+ * Every rule, oldest first. `[]` when the team has none.
5552
+ */
5553
+ rules: Array<AdminFreshnessRule>;
5554
+ };
5555
+ /**
5556
+ * One artifact type visible to the team.
5557
+ */
5558
+ export type AdminArtifactType = {
5559
+ id: string;
5560
+ slug: string;
5561
+ name: string;
5562
+ /**
5563
+ * True for a global system default, false for the team's own custom type.
5564
+ */
5565
+ is_system: boolean;
5566
+ created_at: string;
5567
+ updated_at: string;
5568
+ };
5569
+ /**
5570
+ * The artifact types a team sees (GET /api/v1/admin/teams/{id}/config/artifact-types).
5571
+ */
5572
+ export type AdminTeamArtifactTypes = {
5573
+ /**
5574
+ * System types first, then custom types, each by name.
5575
+ */
5576
+ types: Array<AdminArtifactType>;
5577
+ };
5578
+ /**
5579
+ * One recorded settings copy into the team.
5580
+ */
5581
+ export type AdminTeamSettingsAuditEntry = {
5582
+ id: string;
5583
+ surface: 'embedding_provider' | 'model_provider' | 'custom_types';
5584
+ actor_user_id: string | null;
5585
+ actor_name: string | null;
5586
+ source_team_id: string | null;
5587
+ source_team_name: string | null;
5588
+ source_resource_id: string | null;
5589
+ created_resource_id: string | null;
5590
+ /**
5591
+ * Surface-specific facts, filtered to a per-surface key allowlist
5592
+ * (model_provider: source_name, created_name, provider_type, model,
5593
+ * has_api_key; embedding_provider: the same plus becomes_active,
5594
+ * displaced_model, displaced_embedded_resources; custom_types: added_ids,
5595
+ * added_slugs, skipped_slugs). Any other stored key is dropped. Always an
5596
+ * object, never null.
5597
+ *
5598
+ */
5599
+ detail: {
5600
+ [key: string]: unknown;
5601
+ };
5602
+ created_at: string;
5603
+ };
5604
+ /**
5605
+ * A page of the team's settings audit log, newest first.
5606
+ */
5607
+ export type AdminTeamSettingsAuditListResponse = {
5608
+ /**
5609
+ * Serializes as `[]` when the page is empty, never `null`.
5610
+ */
5611
+ entries: Array<AdminTeamSettingsAuditEntry>;
5612
+ total_count: number;
5613
+ page: number;
5614
+ per_page: number;
5615
+ total_pages: number;
5616
+ };
5398
5617
  export type ProjectResponse = Project & {
5399
5618
  /**
5400
5619
  * Whether the project's git URL matches a repository accessible via the team's GitHub App installation
@@ -12137,10 +12356,154 @@ export type ListAdminTeamsData = {
12137
12356
  * Only teams created at or before this instant (inclusive).
12138
12357
  */
12139
12358
  created_to?: string;
12359
+ /**
12360
+ * Only teams with at least this many members (inclusive).
12361
+ */
12362
+ member_count_min?: number;
12363
+ /**
12364
+ * Only teams with at most this many members (inclusive).
12365
+ */
12366
+ member_count_max?: number;
12367
+ /**
12368
+ * Only teams with at least this many members holding the owner role (always 1 by application invariant; any other value is integrity drift) (inclusive).
12369
+ */
12370
+ owner_count_min?: number;
12371
+ /**
12372
+ * Only teams with at most this many members holding the owner role (always 1 by application invariant; any other value is integrity drift) (inclusive).
12373
+ */
12374
+ owner_count_max?: number;
12375
+ /**
12376
+ * Only teams with at least this many members holding the admin role (inclusive).
12377
+ */
12378
+ admin_count_min?: number;
12379
+ /**
12380
+ * Only teams with at most this many members holding the admin role (inclusive).
12381
+ */
12382
+ admin_count_max?: number;
12383
+ /**
12384
+ * Only teams with at least this many projects in the team (inclusive).
12385
+ */
12386
+ project_count_min?: number;
12387
+ /**
12388
+ * Only teams with at most this many projects in the team (inclusive).
12389
+ */
12390
+ project_count_max?: number;
12391
+ /**
12392
+ * Only teams with at least this many prompts in the team (inclusive).
12393
+ */
12394
+ prompt_count_min?: number;
12395
+ /**
12396
+ * Only teams with at most this many prompts in the team (inclusive).
12397
+ */
12398
+ prompt_count_max?: number;
12399
+ /**
12400
+ * Only teams with at least this many memories in the team (inclusive).
12401
+ */
12402
+ memory_count_min?: number;
12403
+ /**
12404
+ * Only teams with at most this many memories in the team (inclusive).
12405
+ */
12406
+ memory_count_max?: number;
12407
+ /**
12408
+ * Only teams with at least this many artifacts in the team (inclusive).
12409
+ */
12410
+ artifact_count_min?: number;
12411
+ /**
12412
+ * Only teams with at most this many artifacts in the team (inclusive).
12413
+ */
12414
+ artifact_count_max?: number;
12415
+ /**
12416
+ * Only teams with at least this many blueprints in the team (inclusive).
12417
+ */
12418
+ blueprint_count_min?: number;
12419
+ /**
12420
+ * Only teams with at most this many blueprints in the team (inclusive).
12421
+ */
12422
+ blueprint_count_max?: number;
12423
+ /**
12424
+ * Only teams with at least this many agents in the team (inclusive).
12425
+ */
12426
+ agent_count_min?: number;
12427
+ /**
12428
+ * Only teams with at most this many agents in the team (inclusive).
12429
+ */
12430
+ agent_count_max?: number;
12431
+ /**
12432
+ * Only teams with at least this many feeds in the team (inclusive).
12433
+ */
12434
+ feed_count_min?: number;
12435
+ /**
12436
+ * Only teams with at most this many feeds in the team (inclusive).
12437
+ */
12438
+ feed_count_max?: number;
12439
+ /**
12440
+ * Only teams with at least this many feed items in the team (inclusive).
12441
+ */
12442
+ feed_item_count_min?: number;
12443
+ /**
12444
+ * Only teams with at most this many feed items in the team (inclusive).
12445
+ */
12446
+ feed_item_count_max?: number;
12447
+ /**
12448
+ * Only teams with at least this many comments in the team (inclusive).
12449
+ */
12450
+ comment_count_min?: number;
12451
+ /**
12452
+ * Only teams with at most this many comments in the team (inclusive).
12453
+ */
12454
+ comment_count_max?: number;
12455
+ /**
12456
+ * Only teams with at least this many attachments in the team (inclusive).
12457
+ */
12458
+ attachment_count_min?: number;
12459
+ /**
12460
+ * Only teams with at most this many attachments in the team (inclusive).
12461
+ */
12462
+ attachment_count_max?: number;
12463
+ /**
12464
+ * Only teams with at least this many resources in the team across all nine types (the sum of resource_counts) (inclusive).
12465
+ */
12466
+ total_resource_count_min?: number;
12467
+ /**
12468
+ * Only teams with at most this many resources in the team across all nine types (the sum of resource_counts) (inclusive).
12469
+ */
12470
+ total_resource_count_max?: number;
12471
+ /**
12472
+ * Case-insensitive exact match on the team owner's email (the user referenced by the team's owner). For substring matching use `search`.
12473
+ */
12474
+ owner_email?: string;
12475
+ /**
12476
+ * true = the team has at least one embedding provider of its own; false = it does not; omit = any. Instance-level fallback configuration never counts.
12477
+ */
12478
+ embedding_configured?: boolean;
12479
+ /**
12480
+ * 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.
12481
+ */
12482
+ llm_configured?: boolean;
12483
+ /**
12484
+ * true = the team has its own AI summary settings with summaries enabled; false = it does not; omit = any. Instance-level fallback configuration never counts.
12485
+ */
12486
+ ai_summary_enabled?: boolean;
12487
+ /**
12488
+ * 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.
12489
+ */
12490
+ email_configured?: boolean;
12491
+ /**
12492
+ * 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.
12493
+ */
12494
+ github_configured?: boolean;
12495
+ /**
12496
+ * true = the team has its own search settings; false = it does not; omit = any. Instance-level fallback configuration never counts.
12497
+ */
12498
+ search_settings_customized?: boolean;
12499
+ /**
12500
+ * true = the team has at least one enabled freshness rule; false = it does not; omit = any. Instance-level fallback configuration never counts.
12501
+ */
12502
+ freshness_enabled?: boolean;
12140
12503
  /**
12141
12504
  * Column to sort by. Ties are always broken by team id so paging is stable.
12142
12505
  */
12143
- sort_by?: 'created_at' | 'name' | 'member_count';
12506
+ 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';
12144
12507
  /**
12145
12508
  * Sort direction.
12146
12509
  */
@@ -12199,6 +12562,180 @@ export type GetAdminTeamResponses = {
12199
12562
  200: AdminTeamDetail;
12200
12563
  };
12201
12564
  export type GetAdminTeamResponse = GetAdminTeamResponses[keyof GetAdminTeamResponses];
12565
+ export type GetAdminTeamSearchConfigData = {
12566
+ body?: never;
12567
+ path: {
12568
+ /**
12569
+ * Team id (UUID)
12570
+ */
12571
+ id: string;
12572
+ };
12573
+ query?: never;
12574
+ url: '/api/v1/admin/teams/{id}/config/search';
12575
+ };
12576
+ export type GetAdminTeamSearchConfigErrors = {
12577
+ /**
12578
+ * Bad request — malformed team id
12579
+ */
12580
+ 400: ErrorResponse;
12581
+ /**
12582
+ * Not found — unknown team id, or the caller is not an instance admin
12583
+ */
12584
+ 404: ErrorResponse;
12585
+ /**
12586
+ * Internal server error
12587
+ */
12588
+ 500: ErrorResponse;
12589
+ };
12590
+ export type GetAdminTeamSearchConfigError = GetAdminTeamSearchConfigErrors[keyof GetAdminTeamSearchConfigErrors];
12591
+ export type GetAdminTeamSearchConfigResponses = {
12592
+ /**
12593
+ * The team's search ranking settings
12594
+ */
12595
+ 200: AdminTeamSearchConfig;
12596
+ };
12597
+ export type GetAdminTeamSearchConfigResponse = GetAdminTeamSearchConfigResponses[keyof GetAdminTeamSearchConfigResponses];
12598
+ export type GetAdminTeamAiSummaryConfigData = {
12599
+ body?: never;
12600
+ path: {
12601
+ /**
12602
+ * Team id (UUID)
12603
+ */
12604
+ id: string;
12605
+ };
12606
+ query?: never;
12607
+ url: '/api/v1/admin/teams/{id}/config/ai-summary';
12608
+ };
12609
+ export type GetAdminTeamAiSummaryConfigErrors = {
12610
+ /**
12611
+ * Bad request — malformed team id
12612
+ */
12613
+ 400: ErrorResponse;
12614
+ /**
12615
+ * Not found — unknown team id, or the caller is not an instance admin
12616
+ */
12617
+ 404: ErrorResponse;
12618
+ /**
12619
+ * Internal server error
12620
+ */
12621
+ 500: ErrorResponse;
12622
+ };
12623
+ export type GetAdminTeamAiSummaryConfigError = GetAdminTeamAiSummaryConfigErrors[keyof GetAdminTeamAiSummaryConfigErrors];
12624
+ export type GetAdminTeamAiSummaryConfigResponses = {
12625
+ /**
12626
+ * The team's AI summary settings
12627
+ */
12628
+ 200: AdminTeamAiSummaryConfig;
12629
+ };
12630
+ export type GetAdminTeamAiSummaryConfigResponse = GetAdminTeamAiSummaryConfigResponses[keyof GetAdminTeamAiSummaryConfigResponses];
12631
+ export type GetAdminTeamFreshnessConfigData = {
12632
+ body?: never;
12633
+ path: {
12634
+ /**
12635
+ * Team id (UUID)
12636
+ */
12637
+ id: string;
12638
+ };
12639
+ query?: never;
12640
+ url: '/api/v1/admin/teams/{id}/config/freshness';
12641
+ };
12642
+ export type GetAdminTeamFreshnessConfigErrors = {
12643
+ /**
12644
+ * Bad request — malformed team id
12645
+ */
12646
+ 400: ErrorResponse;
12647
+ /**
12648
+ * Not found — unknown team id, or the caller is not an instance admin
12649
+ */
12650
+ 404: ErrorResponse;
12651
+ /**
12652
+ * Internal server error
12653
+ */
12654
+ 500: ErrorResponse;
12655
+ };
12656
+ export type GetAdminTeamFreshnessConfigError = GetAdminTeamFreshnessConfigErrors[keyof GetAdminTeamFreshnessConfigErrors];
12657
+ export type GetAdminTeamFreshnessConfigResponses = {
12658
+ /**
12659
+ * The team's freshness settings and rules
12660
+ */
12661
+ 200: AdminTeamFreshnessConfig;
12662
+ };
12663
+ export type GetAdminTeamFreshnessConfigResponse = GetAdminTeamFreshnessConfigResponses[keyof GetAdminTeamFreshnessConfigResponses];
12664
+ export type GetAdminTeamArtifactTypesData = {
12665
+ body?: never;
12666
+ path: {
12667
+ /**
12668
+ * Team id (UUID)
12669
+ */
12670
+ id: string;
12671
+ };
12672
+ query?: never;
12673
+ url: '/api/v1/admin/teams/{id}/config/artifact-types';
12674
+ };
12675
+ export type GetAdminTeamArtifactTypesErrors = {
12676
+ /**
12677
+ * Bad request — malformed team id
12678
+ */
12679
+ 400: ErrorResponse;
12680
+ /**
12681
+ * Not found — unknown team id, or the caller is not an instance admin
12682
+ */
12683
+ 404: ErrorResponse;
12684
+ /**
12685
+ * Internal server error
12686
+ */
12687
+ 500: ErrorResponse;
12688
+ };
12689
+ export type GetAdminTeamArtifactTypesError = GetAdminTeamArtifactTypesErrors[keyof GetAdminTeamArtifactTypesErrors];
12690
+ export type GetAdminTeamArtifactTypesResponses = {
12691
+ /**
12692
+ * The team's artifact types
12693
+ */
12694
+ 200: AdminTeamArtifactTypes;
12695
+ };
12696
+ export type GetAdminTeamArtifactTypesResponse = GetAdminTeamArtifactTypesResponses[keyof GetAdminTeamArtifactTypesResponses];
12697
+ export type ListAdminTeamSettingsAuditData = {
12698
+ body?: never;
12699
+ path: {
12700
+ /**
12701
+ * Team id (UUID)
12702
+ */
12703
+ id: string;
12704
+ };
12705
+ query?: {
12706
+ /**
12707
+ * Page number (1-based).
12708
+ */
12709
+ page?: number;
12710
+ /**
12711
+ * Page size.
12712
+ */
12713
+ limit?: number;
12714
+ };
12715
+ url: '/api/v1/admin/teams/{id}/config/settings-audit';
12716
+ };
12717
+ export type ListAdminTeamSettingsAuditErrors = {
12718
+ /**
12719
+ * Bad request — malformed team id, or `page`/`limit` out of range
12720
+ */
12721
+ 400: ErrorResponse;
12722
+ /**
12723
+ * Not found — unknown team id, or the caller is not an instance admin
12724
+ */
12725
+ 404: ErrorResponse;
12726
+ /**
12727
+ * Internal server error
12728
+ */
12729
+ 500: ErrorResponse;
12730
+ };
12731
+ export type ListAdminTeamSettingsAuditError = ListAdminTeamSettingsAuditErrors[keyof ListAdminTeamSettingsAuditErrors];
12732
+ export type ListAdminTeamSettingsAuditResponses = {
12733
+ /**
12734
+ * One page of settings audit entries, newest first
12735
+ */
12736
+ 200: AdminTeamSettingsAuditListResponse;
12737
+ };
12738
+ export type ListAdminTeamSettingsAuditResponse = ListAdminTeamSettingsAuditResponses[keyof ListAdminTeamSettingsAuditResponses];
12202
12739
  export type GetAdminDashboardOverviewData = {
12203
12740
  body?: never;
12204
12741
  path?: never;