@vibexp/api-client 0.32.0 → 0.34.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.
@@ -4004,6 +4004,14 @@ export type AdminTeamOwner = {
4004
4004
  export type AdminTeamListItem = {
4005
4005
  id: string;
4006
4006
  name: string;
4007
+ /**
4008
+ * URL-safe team identifier.
4009
+ */
4010
+ slug: string;
4011
+ /**
4012
+ * True for a user's default personal workspace, false for a shared team workspace.
4013
+ */
4014
+ is_personal: boolean;
4007
4015
  owner: AdminTeamOwner;
4008
4016
  /**
4009
4017
  * Number of members in the team.
@@ -4046,6 +4054,14 @@ export type AdminTeamMember = {
4046
4054
  export type AdminTeamDetail = {
4047
4055
  id: string;
4048
4056
  name: string;
4057
+ /**
4058
+ * URL-safe team identifier.
4059
+ */
4060
+ slug: string;
4061
+ /**
4062
+ * True for a user's default personal workspace, false for a shared team workspace.
4063
+ */
4064
+ is_personal: boolean;
4049
4065
  owner: AdminTeamOwner;
4050
4066
  created_at: string;
4051
4067
  /**
@@ -4053,6 +4069,189 @@ export type AdminTeamDetail = {
4053
4069
  */
4054
4070
  members: Array<AdminTeamMember>;
4055
4071
  };
4072
+ /**
4073
+ * Instance-wide totals for every top-level entity. A superset of
4074
+ * AdminInstanceCounts, which stays as-is for the legacy stats endpoint.
4075
+ *
4076
+ */
4077
+ export type AdminExtendedCounts = {
4078
+ users: number;
4079
+ teams: number;
4080
+ projects: number;
4081
+ prompts: number;
4082
+ artifacts: number;
4083
+ memories: number;
4084
+ blueprints: number;
4085
+ agents: number;
4086
+ feeds: number;
4087
+ api_keys: number;
4088
+ };
4089
+ /**
4090
+ * One value of a grouped column plus how many rows carry it.
4091
+ */
4092
+ export type AdminBreakdownBucket = {
4093
+ /**
4094
+ * The column value. NULL values are reported as an empty string.
4095
+ */
4096
+ value: string;
4097
+ count: number;
4098
+ };
4099
+ /**
4100
+ * A GROUP BY over one status/type column of one entity table.
4101
+ */
4102
+ export type AdminEntityBreakdown = {
4103
+ /**
4104
+ * The entity table the breakdown covers.
4105
+ */
4106
+ entity: string;
4107
+ /**
4108
+ * The grouped column.
4109
+ */
4110
+ field: string;
4111
+ /**
4112
+ * One entry per distinct value, most frequent first.
4113
+ */
4114
+ buckets: Array<AdminBreakdownBucket>;
4115
+ };
4116
+ /**
4117
+ * Approximate row count for one table.
4118
+ */
4119
+ export type AdminTableStat = {
4120
+ table: string;
4121
+ /**
4122
+ * ESTIMATE from pg_stat_user_tables.n_live_tup, not an exact COUNT(*) —
4123
+ * an exact per-table count does not scale and this figure is only meant
4124
+ * for relative sizing. Freshness depends on autovacuum/ANALYZE.
4125
+ *
4126
+ */
4127
+ estimated_rows: number;
4128
+ };
4129
+ /**
4130
+ * Instance storage health.
4131
+ */
4132
+ export type AdminSystemHealth = {
4133
+ /**
4134
+ * pg_database_size(current_database()).
4135
+ */
4136
+ database_size_bytes: number;
4137
+ /**
4138
+ * Per-table estimated row counts, largest first.
4139
+ */
4140
+ tables: Array<AdminTableStat>;
4141
+ };
4142
+ /**
4143
+ * Totals, breakdowns and system health (GET /api/v1/admin/dashboard/overview).
4144
+ */
4145
+ export type AdminDashboardOverview = {
4146
+ counts: AdminExtendedCounts;
4147
+ /**
4148
+ * One entry per entity/column pair that has a status or type column.
4149
+ */
4150
+ breakdowns: Array<AdminEntityBreakdown>;
4151
+ system_health: AdminSystemHealth;
4152
+ /**
4153
+ * The running backend application version ("dev" when unset).
4154
+ */
4155
+ version: string;
4156
+ };
4157
+ /**
4158
+ * New rows created per entity within one time bucket.
4159
+ */
4160
+ export type AdminGrowthPoint = {
4161
+ /**
4162
+ * Start of the bucket, in UTC.
4163
+ */
4164
+ bucket: string;
4165
+ users: number;
4166
+ teams: number;
4167
+ projects: number;
4168
+ prompts: number;
4169
+ artifacts: number;
4170
+ memories: number;
4171
+ };
4172
+ /**
4173
+ * A single count within one time bucket.
4174
+ */
4175
+ export type AdminCountPoint = {
4176
+ /**
4177
+ * Start of the bucket, in UTC.
4178
+ */
4179
+ bucket: string;
4180
+ count: number;
4181
+ };
4182
+ /**
4183
+ * A count for one access source within one time bucket.
4184
+ */
4185
+ export type AdminSourcePoint = {
4186
+ /**
4187
+ * Start of the bucket, in UTC.
4188
+ */
4189
+ bucket: string;
4190
+ /**
4191
+ * Access source (e.g. "web", "cli", "mcp").
4192
+ */
4193
+ source: string;
4194
+ count: number;
4195
+ };
4196
+ /**
4197
+ * Earliest instant for which event data still exists. Both source tables are
4198
+ * TTL-pruned (config retention.activity_days / retention.access_event_days),
4199
+ * so a chart asking for a range older than these values will legitimately show
4200
+ * zeros rather than missing data.
4201
+ *
4202
+ */
4203
+ export type AdminDataWindow = {
4204
+ /**
4205
+ * now() - retention.activity_days.
4206
+ */
4207
+ sign_ins_earliest_retained_at: string;
4208
+ /**
4209
+ * now() - retention.access_event_days.
4210
+ */
4211
+ access_by_source_earliest_retained_at: string;
4212
+ };
4213
+ /**
4214
+ * Bucketed metrics over a time range (GET /api/v1/admin/dashboard/timeseries).
4215
+ * Every bucket in the requested range is present in every series with an
4216
+ * explicit 0 — the series are gap-filled, never sparse.
4217
+ *
4218
+ */
4219
+ export type AdminTimeseriesResponse = {
4220
+ /**
4221
+ * Inclusive start of the range actually used. This is snapped DOWN to the
4222
+ * start of its bucket, so it may precede the requested `from` (asking for
4223
+ * 2026-07-15 at month granularity reports and queries 2026-07-01). Buckets
4224
+ * are therefore always whole, never partial at the head.
4225
+ *
4226
+ */
4227
+ from: string;
4228
+ /**
4229
+ * Exclusive end of the range actually used (after defaulting). This is NOT
4230
+ * snapped, so the final bucket may cover only part of its period.
4231
+ *
4232
+ */
4233
+ to: string;
4234
+ /**
4235
+ * Bucket size actually used.
4236
+ */
4237
+ granularity: 'day' | 'week' | 'month';
4238
+ /**
4239
+ * New entities per bucket, ascending by bucket.
4240
+ */
4241
+ growth: Array<AdminGrowthPoint>;
4242
+ /**
4243
+ * Successful sign-ins per bucket (activities.auth_login), ascending.
4244
+ */
4245
+ sign_ins: Array<AdminCountPoint>;
4246
+ /**
4247
+ * Resource accesses per bucket per source, ascending by bucket then source.
4248
+ * Only sources actually observed in the range appear; a source with no
4249
+ * events in a bucket is gap-filled to 0 for the sources that do appear.
4250
+ *
4251
+ */
4252
+ access_by_source: Array<AdminSourcePoint>;
4253
+ data_window: AdminDataWindow;
4254
+ };
4056
4255
  export type ProjectResponse = Project & {
4057
4256
  /**
4058
4257
  * Whether the project's git URL matches a repository accessible via the team's GitHub App installation
@@ -10996,10 +11195,38 @@ export type ListAdminUsersData = {
10996
11195
  * Items per page
10997
11196
  */
10998
11197
  limit?: number;
11198
+ /**
11199
+ * Case-insensitive substring match over the user's email and name.
11200
+ */
11201
+ search?: string;
11202
+ /**
11203
+ * Exact match on the user's identity-provider name (e.g. "google", "oidc").
11204
+ */
11205
+ idp_provider?: string;
11206
+ /**
11207
+ * Only users created at or after this instant (inclusive).
11208
+ */
11209
+ created_from?: string;
11210
+ /**
11211
+ * Only users created at or before this instant (inclusive).
11212
+ */
11213
+ created_to?: string;
11214
+ /**
11215
+ * Column to sort by. Ties are always broken by user id so paging is stable.
11216
+ */
11217
+ sort_by?: 'created_at' | 'email' | 'name' | 'team_count';
11218
+ /**
11219
+ * Sort direction.
11220
+ */
11221
+ sort_order?: 'asc' | 'desc';
10999
11222
  };
11000
11223
  url: '/api/v1/admin/users';
11001
11224
  };
11002
11225
  export type ListAdminUsersErrors = {
11226
+ /**
11227
+ * Bad request — a query parameter is malformed or outside its enum
11228
+ */
11229
+ 400: ErrorResponse;
11003
11230
  /**
11004
11231
  * Not found — the caller is not an instance admin (surface not advertised)
11005
11232
  */
@@ -11058,10 +11285,38 @@ export type ListAdminTeamsData = {
11058
11285
  * Items per page
11059
11286
  */
11060
11287
  limit?: number;
11288
+ /**
11289
+ * Case-insensitive substring match over the team name, team slug, and the owner's email.
11290
+ */
11291
+ search?: string;
11292
+ /**
11293
+ * Narrow to personal workspaces (true) or shared team workspaces (false).
11294
+ */
11295
+ is_personal?: boolean;
11296
+ /**
11297
+ * Only teams created at or after this instant (inclusive).
11298
+ */
11299
+ created_from?: string;
11300
+ /**
11301
+ * Only teams created at or before this instant (inclusive).
11302
+ */
11303
+ created_to?: string;
11304
+ /**
11305
+ * Column to sort by. Ties are always broken by team id so paging is stable.
11306
+ */
11307
+ sort_by?: 'created_at' | 'name' | 'member_count';
11308
+ /**
11309
+ * Sort direction.
11310
+ */
11311
+ sort_order?: 'asc' | 'desc';
11061
11312
  };
11062
11313
  url: '/api/v1/admin/teams';
11063
11314
  };
11064
11315
  export type ListAdminTeamsErrors = {
11316
+ /**
11317
+ * Bad request — a query parameter is malformed or outside its enum
11318
+ */
11319
+ 400: ErrorResponse;
11065
11320
  /**
11066
11321
  * Not found — the caller is not an instance admin (surface not advertised)
11067
11322
  */
@@ -11108,6 +11363,73 @@ export type GetAdminTeamResponses = {
11108
11363
  200: AdminTeamDetail;
11109
11364
  };
11110
11365
  export type GetAdminTeamResponse = GetAdminTeamResponses[keyof GetAdminTeamResponses];
11366
+ export type GetAdminDashboardOverviewData = {
11367
+ body?: never;
11368
+ path?: never;
11369
+ query?: never;
11370
+ url: '/api/v1/admin/dashboard/overview';
11371
+ };
11372
+ export type GetAdminDashboardOverviewErrors = {
11373
+ /**
11374
+ * Not found — the caller is not an instance admin (surface not advertised)
11375
+ */
11376
+ 404: ErrorResponse;
11377
+ /**
11378
+ * Internal server error
11379
+ */
11380
+ 500: ErrorResponse;
11381
+ };
11382
+ export type GetAdminDashboardOverviewError = GetAdminDashboardOverviewErrors[keyof GetAdminDashboardOverviewErrors];
11383
+ export type GetAdminDashboardOverviewResponses = {
11384
+ /**
11385
+ * Dashboard overview
11386
+ */
11387
+ 200: AdminDashboardOverview;
11388
+ };
11389
+ export type GetAdminDashboardOverviewResponse = GetAdminDashboardOverviewResponses[keyof GetAdminDashboardOverviewResponses];
11390
+ export type GetAdminDashboardTimeseriesData = {
11391
+ body?: never;
11392
+ path?: never;
11393
+ query?: {
11394
+ /**
11395
+ * Inclusive start of the range. Defaults to 30 days before `to`.
11396
+ */
11397
+ from?: string;
11398
+ /**
11399
+ * Exclusive end of the range. Defaults to now.
11400
+ */
11401
+ to?: string;
11402
+ /**
11403
+ * Bucket size.
11404
+ */
11405
+ granularity?: 'day' | 'week' | 'month';
11406
+ };
11407
+ url: '/api/v1/admin/dashboard/timeseries';
11408
+ };
11409
+ export type GetAdminDashboardTimeseriesErrors = {
11410
+ /**
11411
+ * Bad request — `to` is not after `from`, the range exceeds the maximum
11412
+ * span, or `granularity` is outside its enum
11413
+ *
11414
+ */
11415
+ 400: ErrorResponse;
11416
+ /**
11417
+ * Not found — the caller is not an instance admin (surface not advertised)
11418
+ */
11419
+ 404: ErrorResponse;
11420
+ /**
11421
+ * Internal server error
11422
+ */
11423
+ 500: ErrorResponse;
11424
+ };
11425
+ export type GetAdminDashboardTimeseriesError = GetAdminDashboardTimeseriesErrors[keyof GetAdminDashboardTimeseriesErrors];
11426
+ export type GetAdminDashboardTimeseriesResponses = {
11427
+ /**
11428
+ * Bucketed time series for the requested range
11429
+ */
11430
+ 200: AdminTimeseriesResponse;
11431
+ };
11432
+ export type GetAdminDashboardTimeseriesResponse = GetAdminDashboardTimeseriesResponses[keyof GetAdminDashboardTimeseriesResponses];
11111
11433
  export type ListCommentsData = {
11112
11434
  body?: never;
11113
11435
  path: {