@vibexp/api-client 0.58.0 → 0.60.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/axios/index.d.ts +2 -2
- package/dist/axios/index.js +1 -1
- package/dist/axios/sdk.gen.d.ts +85 -1
- package/dist/axios/sdk.gen.js +250 -0
- package/dist/axios/types.gen.d.ts +786 -0
- package/dist/schema.d.ts +1313 -70
- package/package.json +1 -1
package/dist/schema.d.ts
CHANGED
|
@@ -3144,6 +3144,208 @@ export interface paths {
|
|
|
3144
3144
|
patch?: never;
|
|
3145
3145
|
trace?: never;
|
|
3146
3146
|
};
|
|
3147
|
+
"/api/v1/{team_id}/freshness/rules": {
|
|
3148
|
+
parameters: {
|
|
3149
|
+
query?: never;
|
|
3150
|
+
header?: never;
|
|
3151
|
+
path: {
|
|
3152
|
+
/** @description Team identifier */
|
|
3153
|
+
team_id: string;
|
|
3154
|
+
};
|
|
3155
|
+
cookie?: never;
|
|
3156
|
+
};
|
|
3157
|
+
/**
|
|
3158
|
+
* List the team's freshness rules
|
|
3159
|
+
* @description Returns every freshness rule the team has defined, oldest first. Any member of the team may read them. The array is empty, never null, when the team has no rules.
|
|
3160
|
+
*/
|
|
3161
|
+
get: operations["listFreshnessRules"];
|
|
3162
|
+
put?: never;
|
|
3163
|
+
/**
|
|
3164
|
+
* Create a freshness rule
|
|
3165
|
+
* @description Adds a rule to the team. Requires the `team.settings.update` permission. An omitted `mediums` matches any medium; an omitted or null `project_id` applies the rule to every project in the team.
|
|
3166
|
+
*/
|
|
3167
|
+
post: operations["createFreshnessRule"];
|
|
3168
|
+
delete?: never;
|
|
3169
|
+
options?: never;
|
|
3170
|
+
head?: never;
|
|
3171
|
+
patch?: never;
|
|
3172
|
+
trace?: never;
|
|
3173
|
+
};
|
|
3174
|
+
"/api/v1/{team_id}/freshness/rules/{rule_id}": {
|
|
3175
|
+
parameters: {
|
|
3176
|
+
query?: never;
|
|
3177
|
+
header?: never;
|
|
3178
|
+
path: {
|
|
3179
|
+
/** @description Team identifier */
|
|
3180
|
+
team_id: string;
|
|
3181
|
+
/** @description Freshness rule identifier */
|
|
3182
|
+
rule_id: string;
|
|
3183
|
+
};
|
|
3184
|
+
cookie?: never;
|
|
3185
|
+
};
|
|
3186
|
+
get?: never;
|
|
3187
|
+
/**
|
|
3188
|
+
* Replace a freshness rule
|
|
3189
|
+
* @description Replaces the rule in full — every mutable field is required, because an omitted field would otherwise reset that dimension. Requires the `team.settings.update` permission.
|
|
3190
|
+
*/
|
|
3191
|
+
put: operations["updateFreshnessRule"];
|
|
3192
|
+
post?: never;
|
|
3193
|
+
/**
|
|
3194
|
+
* Delete a freshness rule
|
|
3195
|
+
* @description Removes the rule and strips it from any freshness state that matched it, so no stale resource keeps referencing a rule that no longer exists. Requires the `team.settings.update` permission.
|
|
3196
|
+
*/
|
|
3197
|
+
delete: operations["deleteFreshnessRule"];
|
|
3198
|
+
options?: never;
|
|
3199
|
+
head?: never;
|
|
3200
|
+
patch?: never;
|
|
3201
|
+
trace?: never;
|
|
3202
|
+
};
|
|
3203
|
+
"/api/v1/{team_id}/settings/freshness": {
|
|
3204
|
+
parameters: {
|
|
3205
|
+
query?: never;
|
|
3206
|
+
header?: never;
|
|
3207
|
+
path: {
|
|
3208
|
+
/** @description Team identifier */
|
|
3209
|
+
team_id: string;
|
|
3210
|
+
};
|
|
3211
|
+
cookie?: never;
|
|
3212
|
+
};
|
|
3213
|
+
/**
|
|
3214
|
+
* Get the team's freshness settings
|
|
3215
|
+
* @description Returns the freshness evaluation settings in effect for the team, their provenance (`source`), and the defaults a reset would restore. A team that has never overridden them gets `source: instance`. Any member may read them.
|
|
3216
|
+
*/
|
|
3217
|
+
get: operations["getTeamFreshnessSettings"];
|
|
3218
|
+
/**
|
|
3219
|
+
* Override the team's freshness settings
|
|
3220
|
+
* @description Replaces the team's freshness settings in full. `interval_seconds` below 3600 (one hour) is rejected. Requires the `team.settings.update` permission.
|
|
3221
|
+
*/
|
|
3222
|
+
put: operations["updateTeamFreshnessSettings"];
|
|
3223
|
+
post?: never;
|
|
3224
|
+
/**
|
|
3225
|
+
* Reset the team's freshness settings to the defaults
|
|
3226
|
+
* @description Removes the team's stored settings so it inherits the defaults again. Requires the `team.settings.update` permission. Resetting a team that has no stored settings succeeds and changes nothing.
|
|
3227
|
+
*/
|
|
3228
|
+
delete: operations["resetTeamFreshnessSettings"];
|
|
3229
|
+
options?: never;
|
|
3230
|
+
head?: never;
|
|
3231
|
+
patch?: never;
|
|
3232
|
+
trace?: never;
|
|
3233
|
+
};
|
|
3234
|
+
"/api/v1/{team_id}/freshness/metrics/over-time": {
|
|
3235
|
+
parameters: {
|
|
3236
|
+
query?: never;
|
|
3237
|
+
header?: never;
|
|
3238
|
+
path: {
|
|
3239
|
+
/** @description Team identifier */
|
|
3240
|
+
team_id: string;
|
|
3241
|
+
};
|
|
3242
|
+
cookie?: never;
|
|
3243
|
+
};
|
|
3244
|
+
/**
|
|
3245
|
+
* Freshness activity over time
|
|
3246
|
+
* @description Daily marked/cleared counts and the reconstructed stale level over the requested window, zero-filled so every day in the range is present.
|
|
3247
|
+
*/
|
|
3248
|
+
get: operations["getFreshnessOverTimeMetrics"];
|
|
3249
|
+
put?: never;
|
|
3250
|
+
post?: never;
|
|
3251
|
+
delete?: never;
|
|
3252
|
+
options?: never;
|
|
3253
|
+
head?: never;
|
|
3254
|
+
patch?: never;
|
|
3255
|
+
trace?: never;
|
|
3256
|
+
};
|
|
3257
|
+
"/api/v1/{team_id}/freshness/metrics/by-type": {
|
|
3258
|
+
parameters: {
|
|
3259
|
+
query?: never;
|
|
3260
|
+
header?: never;
|
|
3261
|
+
path: {
|
|
3262
|
+
/** @description Team identifier */
|
|
3263
|
+
team_id: string;
|
|
3264
|
+
};
|
|
3265
|
+
cookie?: never;
|
|
3266
|
+
};
|
|
3267
|
+
/**
|
|
3268
|
+
* Stale resources by resource type
|
|
3269
|
+
* @description Current stale counts per resource type. All four types are always present; one with nothing stale reports 0.
|
|
3270
|
+
*/
|
|
3271
|
+
get: operations["getFreshnessByTypeMetrics"];
|
|
3272
|
+
put?: never;
|
|
3273
|
+
post?: never;
|
|
3274
|
+
delete?: never;
|
|
3275
|
+
options?: never;
|
|
3276
|
+
head?: never;
|
|
3277
|
+
patch?: never;
|
|
3278
|
+
trace?: never;
|
|
3279
|
+
};
|
|
3280
|
+
"/api/v1/{team_id}/freshness/metrics/by-project": {
|
|
3281
|
+
parameters: {
|
|
3282
|
+
query?: never;
|
|
3283
|
+
header?: never;
|
|
3284
|
+
path: {
|
|
3285
|
+
/** @description Team identifier */
|
|
3286
|
+
team_id: string;
|
|
3287
|
+
};
|
|
3288
|
+
cookie?: never;
|
|
3289
|
+
};
|
|
3290
|
+
/**
|
|
3291
|
+
* Stale resources by project
|
|
3292
|
+
* @description Current stale counts per project in the team, including projects with nothing stale.
|
|
3293
|
+
*/
|
|
3294
|
+
get: operations["getFreshnessByProjectMetrics"];
|
|
3295
|
+
put?: never;
|
|
3296
|
+
post?: never;
|
|
3297
|
+
delete?: never;
|
|
3298
|
+
options?: never;
|
|
3299
|
+
head?: never;
|
|
3300
|
+
patch?: never;
|
|
3301
|
+
trace?: never;
|
|
3302
|
+
};
|
|
3303
|
+
"/api/v1/{team_id}/freshness/metrics/by-rule": {
|
|
3304
|
+
parameters: {
|
|
3305
|
+
query?: never;
|
|
3306
|
+
header?: never;
|
|
3307
|
+
path: {
|
|
3308
|
+
/** @description Team identifier */
|
|
3309
|
+
team_id: string;
|
|
3310
|
+
};
|
|
3311
|
+
cookie?: never;
|
|
3312
|
+
};
|
|
3313
|
+
/**
|
|
3314
|
+
* Resources marked by each rule
|
|
3315
|
+
* @description How many resources each of the team's rules currently marks, including rules that match nothing. This is how an over-broad rule is spotted.
|
|
3316
|
+
*/
|
|
3317
|
+
get: operations["getFreshnessByRuleMetrics"];
|
|
3318
|
+
put?: never;
|
|
3319
|
+
post?: never;
|
|
3320
|
+
delete?: never;
|
|
3321
|
+
options?: never;
|
|
3322
|
+
head?: never;
|
|
3323
|
+
patch?: never;
|
|
3324
|
+
trace?: never;
|
|
3325
|
+
};
|
|
3326
|
+
"/api/v1/{team_id}/freshness/audit": {
|
|
3327
|
+
parameters: {
|
|
3328
|
+
query?: never;
|
|
3329
|
+
header?: never;
|
|
3330
|
+
path: {
|
|
3331
|
+
/** @description Team identifier */
|
|
3332
|
+
team_id: string;
|
|
3333
|
+
};
|
|
3334
|
+
cookie?: never;
|
|
3335
|
+
};
|
|
3336
|
+
/**
|
|
3337
|
+
* List the team's freshness audit log
|
|
3338
|
+
* @description Every recorded mark and clear for the team, newest first and paginated. Readable by any member. The list is empty, never null, past the last page.
|
|
3339
|
+
*/
|
|
3340
|
+
get: operations["listFreshnessAudit"];
|
|
3341
|
+
put?: never;
|
|
3342
|
+
post?: never;
|
|
3343
|
+
delete?: never;
|
|
3344
|
+
options?: never;
|
|
3345
|
+
head?: never;
|
|
3346
|
+
patch?: never;
|
|
3347
|
+
trace?: never;
|
|
3348
|
+
};
|
|
3147
3349
|
"/api/v1/{team_id}/settings/embedding-providers": {
|
|
3148
3350
|
parameters: {
|
|
3149
3351
|
query?: never;
|
|
@@ -8725,110 +8927,405 @@ export interface components {
|
|
|
8725
8927
|
*/
|
|
8726
8928
|
truncated: boolean;
|
|
8727
8929
|
};
|
|
8728
|
-
/** @description
|
|
8729
|
-
|
|
8930
|
+
/** @description One team's rule for when a resource becomes stale. */
|
|
8931
|
+
FreshnessRule: {
|
|
8730
8932
|
/**
|
|
8731
|
-
*
|
|
8732
|
-
* @
|
|
8733
|
-
* @enum {string}
|
|
8933
|
+
* Format: uuid
|
|
8934
|
+
* @description Rule identifier.
|
|
8734
8935
|
*/
|
|
8735
|
-
|
|
8736
|
-
/** @description Effective value — the team's when source is `team`, otherwise the instance default. */
|
|
8737
|
-
recency_ranking_enabled: boolean;
|
|
8936
|
+
id: string;
|
|
8738
8937
|
/**
|
|
8739
|
-
* Format:
|
|
8740
|
-
* @description
|
|
8938
|
+
* Format: uuid
|
|
8939
|
+
* @description Team the rule belongs to.
|
|
8741
8940
|
*/
|
|
8742
|
-
|
|
8941
|
+
team_id: string;
|
|
8743
8942
|
/**
|
|
8744
|
-
* Format:
|
|
8745
|
-
* @description
|
|
8943
|
+
* Format: uuid
|
|
8944
|
+
* @description Scopes the rule to a single project. `null` means the rule applies to EVERY project in the team.
|
|
8746
8945
|
*/
|
|
8747
|
-
|
|
8946
|
+
project_id: string | null;
|
|
8947
|
+
/** @description Resource types the rule applies to. Never empty. */
|
|
8948
|
+
resource_types: components["schemas"]["FreshnessRuleResourceType"][];
|
|
8949
|
+
/** @description Access mediums that count as "accessed" for this rule. An EMPTY array means ANY medium counts — it does not mean "no medium". */
|
|
8950
|
+
mediums: components["schemas"]["FreshnessRuleMedium"][];
|
|
8748
8951
|
/**
|
|
8749
|
-
* Format:
|
|
8750
|
-
* @description
|
|
8952
|
+
* Format: int32
|
|
8953
|
+
* @description Days without a qualifying access after which the resource is stale. Capped at 36500 (100 years), mirroring the search-settings half-life cap: past that the rule can never fire, and the bound keeps the value inside the int32 the column and the wire format use.
|
|
8751
8954
|
*/
|
|
8752
|
-
|
|
8955
|
+
threshold_days: number;
|
|
8956
|
+
/** @description Whether evaluation runs apply this rule. */
|
|
8957
|
+
enabled: boolean;
|
|
8958
|
+
/** Format: date-time */
|
|
8959
|
+
created_at: string;
|
|
8960
|
+
/** Format: date-time */
|
|
8961
|
+
updated_at: string;
|
|
8962
|
+
};
|
|
8963
|
+
/**
|
|
8964
|
+
* @description A resource type a freshness rule can cover.
|
|
8965
|
+
* @enum {string}
|
|
8966
|
+
*/
|
|
8967
|
+
FreshnessRuleResourceType: "artifact" | "prompt" | "blueprint" | "memory";
|
|
8968
|
+
/**
|
|
8969
|
+
* @description An access medium that counts as "accessed" for a freshness rule. Note this is narrower than the set of mediums recorded on the access path — `api` accesses are stored but are deliberately not selectable as rule criteria.
|
|
8970
|
+
* @enum {string}
|
|
8971
|
+
*/
|
|
8972
|
+
FreshnessRuleMedium: "web" | "cli" | "mcp";
|
|
8973
|
+
/** @description The team's freshness rules, oldest first. */
|
|
8974
|
+
FreshnessRuleListResponse: {
|
|
8975
|
+
/** @description Freshness rules. Serializes as `[]` when the team has none, never `null`. */
|
|
8976
|
+
rules: components["schemas"]["FreshnessRule"][];
|
|
8977
|
+
};
|
|
8978
|
+
/** @description Create a freshness rule. */
|
|
8979
|
+
CreateFreshnessRuleRequest: {
|
|
8753
8980
|
/**
|
|
8754
|
-
* Format:
|
|
8755
|
-
* @description
|
|
8981
|
+
* Format: uuid
|
|
8982
|
+
* @description Scope to one project; omit or send `null` for every project in the team.
|
|
8756
8983
|
*/
|
|
8757
|
-
|
|
8758
|
-
|
|
8759
|
-
|
|
8984
|
+
project_id?: string | null;
|
|
8985
|
+
resource_types: components["schemas"]["FreshnessRuleResourceType"][];
|
|
8986
|
+
/** @description Omit or send an empty array to match any medium. */
|
|
8987
|
+
mediums?: components["schemas"]["FreshnessRuleMedium"][];
|
|
8988
|
+
/** Format: int32 */
|
|
8989
|
+
threshold_days: number;
|
|
8760
8990
|
/**
|
|
8761
|
-
* @description
|
|
8762
|
-
*
|
|
8763
|
-
* @example 200
|
|
8991
|
+
* @description Defaults to true when omitted.
|
|
8992
|
+
* @default true
|
|
8764
8993
|
*/
|
|
8765
|
-
|
|
8994
|
+
enabled: boolean;
|
|
8766
8995
|
};
|
|
8767
|
-
/** @description
|
|
8768
|
-
|
|
8996
|
+
/** @description Replace a freshness rule in full. */
|
|
8997
|
+
UpdateFreshnessRuleRequest: {
|
|
8769
8998
|
/**
|
|
8770
|
-
*
|
|
8771
|
-
* @
|
|
8999
|
+
* Format: uuid
|
|
9000
|
+
* @description Scope to one project; `null` means every project in the team.
|
|
8772
9001
|
*/
|
|
8773
|
-
|
|
9002
|
+
project_id: string | null;
|
|
9003
|
+
resource_types: components["schemas"]["FreshnessRuleResourceType"][];
|
|
9004
|
+
/** @description An empty array matches any medium. */
|
|
9005
|
+
mediums: components["schemas"]["FreshnessRuleMedium"][];
|
|
9006
|
+
/** Format: int32 */
|
|
9007
|
+
threshold_days: number;
|
|
9008
|
+
enabled: boolean;
|
|
9009
|
+
};
|
|
9010
|
+
/** @description The tunable freshness-evaluation values, shared by the current settings and the defaults. */
|
|
9011
|
+
FreshnessSettingsValues: {
|
|
8774
9012
|
/**
|
|
8775
|
-
* Format:
|
|
8776
|
-
* @description
|
|
8777
|
-
* @example 0.5
|
|
9013
|
+
* Format: int32
|
|
9014
|
+
* @description How often the team's rules are evaluated. Storage enforces a one-hour floor, matching the scheduler's own floor; the 31536000 (365-day) ceiling keeps the value inside the int32 the column and the wire format use, and an interval longer than a year is indistinguishable from off.
|
|
8778
9015
|
*/
|
|
8779
|
-
|
|
9016
|
+
interval_seconds: number;
|
|
9017
|
+
/** @description Whether accessing or editing a stale resource clears its stale state. */
|
|
9018
|
+
reversibility_enabled: boolean;
|
|
9019
|
+
};
|
|
9020
|
+
/** @description The freshness settings in effect for a team, with their provenance. A team that has never overridden them reports `source: instance` and the defaults. */
|
|
9021
|
+
TeamFreshnessSettings: {
|
|
8780
9022
|
/**
|
|
8781
|
-
*
|
|
8782
|
-
* @
|
|
8783
|
-
* @example 0.3
|
|
9023
|
+
* @description `team` when the team stores its own settings, `instance` when it inherits the defaults.
|
|
9024
|
+
* @enum {string}
|
|
8784
9025
|
*/
|
|
8785
|
-
|
|
9026
|
+
source: "instance" | "team";
|
|
9027
|
+
/** Format: int32 */
|
|
9028
|
+
interval_seconds: number;
|
|
9029
|
+
reversibility_enabled: boolean;
|
|
9030
|
+
/** @description The values a DELETE would restore. Present on every read so clients can preview a reset without a second call. */
|
|
9031
|
+
defaults: components["schemas"]["FreshnessSettingsValues"];
|
|
9032
|
+
};
|
|
9033
|
+
/** @description Override the team's freshness settings. */
|
|
9034
|
+
UpdateTeamFreshnessSettingsRequest: {
|
|
8786
9035
|
/**
|
|
8787
|
-
* Format:
|
|
8788
|
-
* @description
|
|
8789
|
-
* @example 0.2
|
|
9036
|
+
* Format: int32
|
|
9037
|
+
* @description Rejected below 3600 (one hour) or above 31536000 (365 days).
|
|
8790
9038
|
*/
|
|
8791
|
-
|
|
9039
|
+
interval_seconds: number;
|
|
9040
|
+
reversibility_enabled: boolean;
|
|
9041
|
+
};
|
|
9042
|
+
/**
|
|
9043
|
+
* @description The reporting window for a time-series metric. The options mirror the other analytics endpoints so one range selector drives every chart.
|
|
9044
|
+
* @example 30d
|
|
9045
|
+
* @enum {string}
|
|
9046
|
+
*/
|
|
9047
|
+
FreshnessMetricsRange: "7d" | "14d" | "30d" | "60d" | "90d" | "180d";
|
|
9048
|
+
/** @description One calendar day (UTC) of freshness activity, zero-filled: every day in the window is present even when nothing happened. */
|
|
9049
|
+
FreshnessDailyStaleCount: {
|
|
8792
9050
|
/**
|
|
8793
|
-
* Format:
|
|
8794
|
-
* @
|
|
8795
|
-
* @example 90
|
|
9051
|
+
* Format: date
|
|
9052
|
+
* @example 2026-05-01
|
|
8796
9053
|
*/
|
|
8797
|
-
|
|
8798
|
-
};
|
|
8799
|
-
/** @description A complete replacement ranking profile for the team. There is no partial update: every field is required, and the whole profile is stored or replaced atomically. `rank_candidate_cap` is deliberately absent — it is instance-owned. */
|
|
8800
|
-
UpdateTeamSearchSettingsRequest: {
|
|
8801
|
-
/** @example true */
|
|
8802
|
-
recency_ranking_enabled: boolean;
|
|
9054
|
+
date: string;
|
|
8803
9055
|
/**
|
|
8804
|
-
* Format:
|
|
8805
|
-
* @
|
|
9056
|
+
* Format: int32
|
|
9057
|
+
* @description Resources that became stale on this day.
|
|
8806
9058
|
*/
|
|
8807
|
-
|
|
9059
|
+
marked: number;
|
|
8808
9060
|
/**
|
|
8809
|
-
* Format:
|
|
8810
|
-
* @
|
|
9061
|
+
* Format: int32
|
|
9062
|
+
* @description Resources that stopped being stale on this day, for any reason.
|
|
8811
9063
|
*/
|
|
8812
|
-
|
|
9064
|
+
cleared: number;
|
|
8813
9065
|
/**
|
|
8814
|
-
* Format:
|
|
8815
|
-
* @
|
|
9066
|
+
* Format: int32
|
|
9067
|
+
* @description How many resources were stale at the END of this day — the level, not the flow. It is reconstructed by walking today's live count backwards through the recorded transitions, so it is exact only for the period the audit log covers; days before freshness evaluation first ran on this team read as the earliest known level rather than as zero. The most recent day reports the live count as of the request. The reconstruction is clamped at zero, so on a team whose rows were removed by a project or team deletion — which writes no audit entry — the series can flatten at 0 instead of satisfying stale_total[i] = stale_total[i-1] + marked[i] - cleared[i].
|
|
8816
9068
|
*/
|
|
8817
|
-
|
|
9069
|
+
stale_total: number;
|
|
8818
9070
|
/**
|
|
8819
|
-
* Format:
|
|
8820
|
-
* @
|
|
9071
|
+
* Format: int32
|
|
9072
|
+
* @description The day's total ACTIVITY, marked + cleared — the sum of the two series, not the level. It is the field the shared time-series chart reads for its per-day total, which is why it is a flow rather than stale_total.
|
|
8821
9073
|
*/
|
|
8822
|
-
|
|
9074
|
+
total: number;
|
|
8823
9075
|
};
|
|
8824
|
-
|
|
8825
|
-
|
|
9076
|
+
FreshnessOverTimeMetricsData: {
|
|
9077
|
+
range: components["schemas"]["FreshnessMetricsRange"];
|
|
8826
9078
|
/**
|
|
8827
|
-
* Format:
|
|
8828
|
-
* @description
|
|
8829
|
-
* @example 42
|
|
9079
|
+
* Format: int32
|
|
9080
|
+
* @description Resources marked stale across the whole window.
|
|
8830
9081
|
*/
|
|
8831
|
-
|
|
9082
|
+
total_marked: number;
|
|
9083
|
+
/**
|
|
9084
|
+
* Format: int32
|
|
9085
|
+
* @description Resources cleared across the whole window.
|
|
9086
|
+
*/
|
|
9087
|
+
total_cleared: number;
|
|
9088
|
+
/** @description One entry per day in the window, oldest first. Serializes as `[]`, never `null`. */
|
|
9089
|
+
counts: components["schemas"]["FreshnessDailyStaleCount"][];
|
|
9090
|
+
};
|
|
9091
|
+
FreshnessOverTimeMetricsResponse: {
|
|
9092
|
+
/** @example success */
|
|
9093
|
+
status: string;
|
|
9094
|
+
/** @example Freshness over-time metrics retrieved successfully */
|
|
9095
|
+
message: string;
|
|
9096
|
+
data: components["schemas"]["FreshnessOverTimeMetricsData"];
|
|
9097
|
+
};
|
|
9098
|
+
/** @description How many of one resource type are stale right now. */
|
|
9099
|
+
FreshnessTypeCount: {
|
|
9100
|
+
resource_type: components["schemas"]["FreshnessRuleResourceType"];
|
|
9101
|
+
/** Format: int32 */
|
|
9102
|
+
count: number;
|
|
9103
|
+
};
|
|
9104
|
+
FreshnessByTypeMetricsData: {
|
|
9105
|
+
/**
|
|
9106
|
+
* Format: int32
|
|
9107
|
+
* @description Total stale resources in the team, across every type.
|
|
9108
|
+
*/
|
|
9109
|
+
total_stale: number;
|
|
9110
|
+
/** @description One entry per resource type, always all four, in a stable order — a type with nothing stale reports 0 rather than being omitted, so the chart's bars never move. Serializes as `[]`, never `null`. */
|
|
9111
|
+
counts: components["schemas"]["FreshnessTypeCount"][];
|
|
9112
|
+
};
|
|
9113
|
+
FreshnessByTypeMetricsResponse: {
|
|
9114
|
+
/** @example success */
|
|
9115
|
+
status: string;
|
|
9116
|
+
/** @example Freshness by-type metrics retrieved successfully */
|
|
9117
|
+
message: string;
|
|
9118
|
+
data: components["schemas"]["FreshnessByTypeMetricsData"];
|
|
9119
|
+
};
|
|
9120
|
+
/** @description How many resources are stale right now in one project. `name` and `slug` are carried so the client can label and deep-link the bar without a second request. */
|
|
9121
|
+
FreshnessProjectCount: {
|
|
9122
|
+
/** Format: uuid */
|
|
9123
|
+
project_id: string;
|
|
9124
|
+
name: string;
|
|
9125
|
+
slug: string;
|
|
9126
|
+
/** Format: int32 */
|
|
9127
|
+
count: number;
|
|
9128
|
+
};
|
|
9129
|
+
FreshnessByProjectMetricsData: {
|
|
9130
|
+
/** Format: int32 */
|
|
9131
|
+
total_stale: number;
|
|
9132
|
+
/** @description One entry per project in the team, including projects with nothing stale (0), ordered by count descending then name. Serializes as `[]`, never `null`. */
|
|
9133
|
+
counts: components["schemas"]["FreshnessProjectCount"][];
|
|
9134
|
+
};
|
|
9135
|
+
FreshnessByProjectMetricsResponse: {
|
|
9136
|
+
/** @example success */
|
|
9137
|
+
status: string;
|
|
9138
|
+
/** @example Freshness by-project metrics retrieved successfully */
|
|
9139
|
+
message: string;
|
|
9140
|
+
data: components["schemas"]["FreshnessByProjectMetricsData"];
|
|
9141
|
+
};
|
|
9142
|
+
/** @description How many resources one rule currently marks. Rules have no name, so the defining fields travel with the count for the client to label the bar. */
|
|
9143
|
+
FreshnessRuleImpact: {
|
|
9144
|
+
/** Format: uuid */
|
|
9145
|
+
rule_id: string;
|
|
9146
|
+
/**
|
|
9147
|
+
* Format: uuid
|
|
9148
|
+
* @description The project the rule is scoped to, or null for every project in the team.
|
|
9149
|
+
*/
|
|
9150
|
+
project_id: string | null;
|
|
9151
|
+
resource_types: components["schemas"]["FreshnessRuleResourceType"][];
|
|
9152
|
+
/** Format: int32 */
|
|
9153
|
+
threshold_days: number;
|
|
9154
|
+
/** @description A disabled rule reports 0 — it is listed so its absence from the chart is not mistaken for deletion. */
|
|
9155
|
+
enabled: boolean;
|
|
9156
|
+
/** Format: int32 */
|
|
9157
|
+
count: number;
|
|
9158
|
+
};
|
|
9159
|
+
FreshnessByRuleMetricsData: {
|
|
9160
|
+
/**
|
|
9161
|
+
* Format: int32
|
|
9162
|
+
* @description Distinct stale resources in the team. It is NOT the sum of the per-rule counts: a resource matched by two rules is counted once here and once under each rule, because staleness is a union across rules.
|
|
9163
|
+
*/
|
|
9164
|
+
total_stale: number;
|
|
9165
|
+
/** @description One entry per rule the team has defined, including rules matching nothing, ordered by count descending then rule id. Serializes as `[]`, never `null`. */
|
|
9166
|
+
counts: components["schemas"]["FreshnessRuleImpact"][];
|
|
9167
|
+
};
|
|
9168
|
+
FreshnessByRuleMetricsResponse: {
|
|
9169
|
+
/** @example success */
|
|
9170
|
+
status: string;
|
|
9171
|
+
/** @example Freshness by-rule metrics retrieved successfully */
|
|
9172
|
+
message: string;
|
|
9173
|
+
data: components["schemas"]["FreshnessByRuleMetricsData"];
|
|
9174
|
+
};
|
|
9175
|
+
/** @description One recorded freshness transition. The log is append-only. */
|
|
9176
|
+
FreshnessAuditEntry: {
|
|
9177
|
+
/** Format: uuid */
|
|
9178
|
+
id: string;
|
|
9179
|
+
resource_type: components["schemas"]["FreshnessRuleResourceType"];
|
|
9180
|
+
/** Format: uuid */
|
|
9181
|
+
resource_id: string;
|
|
9182
|
+
/**
|
|
9183
|
+
* Format: uuid
|
|
9184
|
+
* @description The rule that caused the change, when exactly one did. Null for a reversal (caused by a read or an edit) and for a mark attributable to several rules at once — the resource's own state carries the full set.
|
|
9185
|
+
*/
|
|
9186
|
+
rule_id: string | null;
|
|
9187
|
+
/**
|
|
9188
|
+
* @description Whether the resource became stale or stopped being stale.
|
|
9189
|
+
* @enum {string}
|
|
9190
|
+
*/
|
|
9191
|
+
action: "marked" | "cleared";
|
|
9192
|
+
/**
|
|
9193
|
+
* @description What caused it — a scheduled evaluation, a read, or an edit.
|
|
9194
|
+
* @enum {string}
|
|
9195
|
+
*/
|
|
9196
|
+
reason: "rule_run" | "accessed" | "edited";
|
|
9197
|
+
/** Format: date-time */
|
|
9198
|
+
created_at: string;
|
|
9199
|
+
};
|
|
9200
|
+
/** @description A page of the team's freshness audit log, newest first. */
|
|
9201
|
+
FreshnessAuditListResponse: {
|
|
9202
|
+
/** @description Serializes as `[]` when the page is empty, never `null`. */
|
|
9203
|
+
entries: components["schemas"]["FreshnessAuditEntry"][];
|
|
9204
|
+
/**
|
|
9205
|
+
* @description Total entries in the team's log, ignoring pagination.
|
|
9206
|
+
* @example 142
|
|
9207
|
+
*/
|
|
9208
|
+
total_count: number;
|
|
9209
|
+
/**
|
|
9210
|
+
* @description Current page number (1-based)
|
|
9211
|
+
* @example 1
|
|
9212
|
+
*/
|
|
9213
|
+
page: number;
|
|
9214
|
+
/**
|
|
9215
|
+
* @description Number of entries per page
|
|
9216
|
+
* @example 20
|
|
9217
|
+
*/
|
|
9218
|
+
per_page: number;
|
|
9219
|
+
/**
|
|
9220
|
+
* @description Total number of pages
|
|
9221
|
+
* @example 8
|
|
9222
|
+
*/
|
|
9223
|
+
total_pages: number;
|
|
9224
|
+
};
|
|
9225
|
+
/** @description The search ranking settings in effect for a team, with enough context for a client to render the whole settings surface from this one response: the effective values, where they came from, the instance defaults to preview a reset against, and the instance-owned candidate cap. */
|
|
9226
|
+
TeamSearchSettings: {
|
|
9227
|
+
/**
|
|
9228
|
+
* @description Where the effective values come from. `instance` means the team has no override and inherits the deployment defaults; `team` means the team has stored its own profile.
|
|
9229
|
+
* @example instance
|
|
9230
|
+
* @enum {string}
|
|
9231
|
+
*/
|
|
9232
|
+
source: "instance" | "team";
|
|
9233
|
+
/** @description Effective value — the team's when source is `team`, otherwise the instance default. */
|
|
9234
|
+
recency_ranking_enabled: boolean;
|
|
9235
|
+
/**
|
|
9236
|
+
* Format: double
|
|
9237
|
+
* @description Effective value — the team's when source is `team`, otherwise the instance default.
|
|
9238
|
+
*/
|
|
9239
|
+
rank_weight_relevance: number;
|
|
9240
|
+
/**
|
|
9241
|
+
* Format: double
|
|
9242
|
+
* @description Effective value — the team's when source is `team`, otherwise the instance default.
|
|
9243
|
+
*/
|
|
9244
|
+
rank_weight_created: number;
|
|
9245
|
+
/**
|
|
9246
|
+
* Format: double
|
|
9247
|
+
* @description Effective value — the team's when source is `team`, otherwise the instance default.
|
|
9248
|
+
*/
|
|
9249
|
+
rank_weight_updated: number;
|
|
9250
|
+
/**
|
|
9251
|
+
* Format: double
|
|
9252
|
+
* @description Effective value — the team's when source is `team`, otherwise the instance default.
|
|
9253
|
+
*/
|
|
9254
|
+
rank_half_life_days: number;
|
|
9255
|
+
/** @description The deployment-wide defaults from config.yaml, so a client can preview what "reset to defaults" would produce without a second request. Equal to the effective values when source is `instance`. */
|
|
9256
|
+
instance_defaults: components["schemas"]["TeamSearchSettingsValues"];
|
|
9257
|
+
/**
|
|
9258
|
+
* @description How many top-by-relevance rows are pulled and re-ranked in memory per query. Instance-owned and NOT team-configurable — one team must not be able to raise the whole deployment's per-query cost. Exposed so clients can explain why pagination is clamped to this many results when recency ranking is on.
|
|
9259
|
+
* Deliberately NOT marked `readOnly`: the update request uses a separate schema that has no such field, which is what actually makes the cap unsettable. Marking it readOnly additionally makes oapi-codegen emit it as an optional pointer, which would let a required field serialize as absent.
|
|
9260
|
+
* @example 200
|
|
9261
|
+
*/
|
|
9262
|
+
rank_candidate_cap: number;
|
|
9263
|
+
};
|
|
9264
|
+
/** @description A complete search ranking profile. The three weights are normalized by their sum at ranking time, so they need not pre-sum to 1. */
|
|
9265
|
+
TeamSearchSettingsValues: {
|
|
9266
|
+
/**
|
|
9267
|
+
* @description When false, results keep relevance-only ordering. When true they are re-ranked by a weighted blend of relevance and freshness.
|
|
9268
|
+
* @example true
|
|
9269
|
+
*/
|
|
9270
|
+
recency_ranking_enabled: boolean;
|
|
9271
|
+
/**
|
|
9272
|
+
* Format: double
|
|
9273
|
+
* @description Weight of semantic relevance. Expected to be the dominant weight.
|
|
9274
|
+
* @example 0.5
|
|
9275
|
+
*/
|
|
9276
|
+
rank_weight_relevance: number;
|
|
9277
|
+
/**
|
|
9278
|
+
* Format: double
|
|
9279
|
+
* @description Weight of how recently the resource was created.
|
|
9280
|
+
* @example 0.3
|
|
9281
|
+
*/
|
|
9282
|
+
rank_weight_created: number;
|
|
9283
|
+
/**
|
|
9284
|
+
* Format: double
|
|
9285
|
+
* @description Weight of how recently the resource was updated.
|
|
9286
|
+
* @example 0.2
|
|
9287
|
+
*/
|
|
9288
|
+
rank_weight_updated: number;
|
|
9289
|
+
/**
|
|
9290
|
+
* Format: double
|
|
9291
|
+
* @description Half-life in days for the exponential freshness decay applied to both created_at and updated_at. An item exactly one half-life old scores 0.5.
|
|
9292
|
+
* @example 90
|
|
9293
|
+
*/
|
|
9294
|
+
rank_half_life_days: number;
|
|
9295
|
+
};
|
|
9296
|
+
/** @description A complete replacement ranking profile for the team. There is no partial update: every field is required, and the whole profile is stored or replaced atomically. `rank_candidate_cap` is deliberately absent — it is instance-owned. */
|
|
9297
|
+
UpdateTeamSearchSettingsRequest: {
|
|
9298
|
+
/** @example true */
|
|
9299
|
+
recency_ranking_enabled: boolean;
|
|
9300
|
+
/**
|
|
9301
|
+
* Format: double
|
|
9302
|
+
* @example 0.5
|
|
9303
|
+
*/
|
|
9304
|
+
rank_weight_relevance: number;
|
|
9305
|
+
/**
|
|
9306
|
+
* Format: double
|
|
9307
|
+
* @example 0.3
|
|
9308
|
+
*/
|
|
9309
|
+
rank_weight_created: number;
|
|
9310
|
+
/**
|
|
9311
|
+
* Format: double
|
|
9312
|
+
* @example 0.2
|
|
9313
|
+
*/
|
|
9314
|
+
rank_weight_updated: number;
|
|
9315
|
+
/**
|
|
9316
|
+
* Format: double
|
|
9317
|
+
* @example 90
|
|
9318
|
+
*/
|
|
9319
|
+
rank_half_life_days: number;
|
|
9320
|
+
};
|
|
9321
|
+
/** @description Instance-wide totals for the top-level entities (unscoped counts). */
|
|
9322
|
+
AdminInstanceCounts: {
|
|
9323
|
+
/**
|
|
9324
|
+
* Format: int64
|
|
9325
|
+
* @description Total number of user accounts.
|
|
9326
|
+
* @example 42
|
|
9327
|
+
*/
|
|
9328
|
+
users: number;
|
|
8832
9329
|
/**
|
|
8833
9330
|
* Format: int64
|
|
8834
9331
|
* @description Total number of teams.
|
|
@@ -20613,6 +21110,752 @@ export interface operations {
|
|
|
20613
21110
|
};
|
|
20614
21111
|
};
|
|
20615
21112
|
};
|
|
21113
|
+
listFreshnessRules: {
|
|
21114
|
+
parameters: {
|
|
21115
|
+
query?: never;
|
|
21116
|
+
header?: never;
|
|
21117
|
+
path: {
|
|
21118
|
+
/** @description Team identifier */
|
|
21119
|
+
team_id: string;
|
|
21120
|
+
};
|
|
21121
|
+
cookie?: never;
|
|
21122
|
+
};
|
|
21123
|
+
requestBody?: never;
|
|
21124
|
+
responses: {
|
|
21125
|
+
/** @description Rules retrieved successfully */
|
|
21126
|
+
200: {
|
|
21127
|
+
headers: {
|
|
21128
|
+
[name: string]: unknown;
|
|
21129
|
+
};
|
|
21130
|
+
content: {
|
|
21131
|
+
"application/json": components["schemas"]["FreshnessRuleListResponse"];
|
|
21132
|
+
};
|
|
21133
|
+
};
|
|
21134
|
+
/** @description Invalid team_id */
|
|
21135
|
+
400: {
|
|
21136
|
+
headers: {
|
|
21137
|
+
[name: string]: unknown;
|
|
21138
|
+
};
|
|
21139
|
+
content: {
|
|
21140
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21141
|
+
};
|
|
21142
|
+
};
|
|
21143
|
+
/** @description Authentication required */
|
|
21144
|
+
401: {
|
|
21145
|
+
headers: {
|
|
21146
|
+
[name: string]: unknown;
|
|
21147
|
+
};
|
|
21148
|
+
content: {
|
|
21149
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21150
|
+
};
|
|
21151
|
+
};
|
|
21152
|
+
/** @description Caller is not a member of the team */
|
|
21153
|
+
403: {
|
|
21154
|
+
headers: {
|
|
21155
|
+
[name: string]: unknown;
|
|
21156
|
+
};
|
|
21157
|
+
content: {
|
|
21158
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21159
|
+
};
|
|
21160
|
+
};
|
|
21161
|
+
/** @description Failed to list the team's freshness rules */
|
|
21162
|
+
500: {
|
|
21163
|
+
headers: {
|
|
21164
|
+
[name: string]: unknown;
|
|
21165
|
+
};
|
|
21166
|
+
content: {
|
|
21167
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21168
|
+
};
|
|
21169
|
+
};
|
|
21170
|
+
};
|
|
21171
|
+
};
|
|
21172
|
+
createFreshnessRule: {
|
|
21173
|
+
parameters: {
|
|
21174
|
+
query?: never;
|
|
21175
|
+
header?: never;
|
|
21176
|
+
path: {
|
|
21177
|
+
/** @description Team identifier */
|
|
21178
|
+
team_id: string;
|
|
21179
|
+
};
|
|
21180
|
+
cookie?: never;
|
|
21181
|
+
};
|
|
21182
|
+
requestBody: {
|
|
21183
|
+
content: {
|
|
21184
|
+
"application/json": components["schemas"]["CreateFreshnessRuleRequest"];
|
|
21185
|
+
};
|
|
21186
|
+
};
|
|
21187
|
+
responses: {
|
|
21188
|
+
/** @description Rule created successfully */
|
|
21189
|
+
201: {
|
|
21190
|
+
headers: {
|
|
21191
|
+
[name: string]: unknown;
|
|
21192
|
+
};
|
|
21193
|
+
content: {
|
|
21194
|
+
"application/json": components["schemas"]["FreshnessRule"];
|
|
21195
|
+
};
|
|
21196
|
+
};
|
|
21197
|
+
/** @description Invalid team_id or rule definition */
|
|
21198
|
+
400: {
|
|
21199
|
+
headers: {
|
|
21200
|
+
[name: string]: unknown;
|
|
21201
|
+
};
|
|
21202
|
+
content: {
|
|
21203
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21204
|
+
};
|
|
21205
|
+
};
|
|
21206
|
+
/** @description Authentication required */
|
|
21207
|
+
401: {
|
|
21208
|
+
headers: {
|
|
21209
|
+
[name: string]: unknown;
|
|
21210
|
+
};
|
|
21211
|
+
content: {
|
|
21212
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21213
|
+
};
|
|
21214
|
+
};
|
|
21215
|
+
/** @description Caller may not change the team's settings */
|
|
21216
|
+
403: {
|
|
21217
|
+
headers: {
|
|
21218
|
+
[name: string]: unknown;
|
|
21219
|
+
};
|
|
21220
|
+
content: {
|
|
21221
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21222
|
+
};
|
|
21223
|
+
};
|
|
21224
|
+
/** @description Failed to create the freshness rule */
|
|
21225
|
+
500: {
|
|
21226
|
+
headers: {
|
|
21227
|
+
[name: string]: unknown;
|
|
21228
|
+
};
|
|
21229
|
+
content: {
|
|
21230
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21231
|
+
};
|
|
21232
|
+
};
|
|
21233
|
+
};
|
|
21234
|
+
};
|
|
21235
|
+
updateFreshnessRule: {
|
|
21236
|
+
parameters: {
|
|
21237
|
+
query?: never;
|
|
21238
|
+
header?: never;
|
|
21239
|
+
path: {
|
|
21240
|
+
/** @description Team identifier */
|
|
21241
|
+
team_id: string;
|
|
21242
|
+
/** @description Freshness rule identifier */
|
|
21243
|
+
rule_id: string;
|
|
21244
|
+
};
|
|
21245
|
+
cookie?: never;
|
|
21246
|
+
};
|
|
21247
|
+
requestBody: {
|
|
21248
|
+
content: {
|
|
21249
|
+
"application/json": components["schemas"]["UpdateFreshnessRuleRequest"];
|
|
21250
|
+
};
|
|
21251
|
+
};
|
|
21252
|
+
responses: {
|
|
21253
|
+
/** @description Rule updated successfully */
|
|
21254
|
+
200: {
|
|
21255
|
+
headers: {
|
|
21256
|
+
[name: string]: unknown;
|
|
21257
|
+
};
|
|
21258
|
+
content: {
|
|
21259
|
+
"application/json": components["schemas"]["FreshnessRule"];
|
|
21260
|
+
};
|
|
21261
|
+
};
|
|
21262
|
+
/** @description Invalid identifiers or rule definition */
|
|
21263
|
+
400: {
|
|
21264
|
+
headers: {
|
|
21265
|
+
[name: string]: unknown;
|
|
21266
|
+
};
|
|
21267
|
+
content: {
|
|
21268
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21269
|
+
};
|
|
21270
|
+
};
|
|
21271
|
+
/** @description Authentication required */
|
|
21272
|
+
401: {
|
|
21273
|
+
headers: {
|
|
21274
|
+
[name: string]: unknown;
|
|
21275
|
+
};
|
|
21276
|
+
content: {
|
|
21277
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21278
|
+
};
|
|
21279
|
+
};
|
|
21280
|
+
/** @description Caller may not change the team's settings */
|
|
21281
|
+
403: {
|
|
21282
|
+
headers: {
|
|
21283
|
+
[name: string]: unknown;
|
|
21284
|
+
};
|
|
21285
|
+
content: {
|
|
21286
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21287
|
+
};
|
|
21288
|
+
};
|
|
21289
|
+
/** @description No such rule in this team */
|
|
21290
|
+
404: {
|
|
21291
|
+
headers: {
|
|
21292
|
+
[name: string]: unknown;
|
|
21293
|
+
};
|
|
21294
|
+
content: {
|
|
21295
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21296
|
+
};
|
|
21297
|
+
};
|
|
21298
|
+
/** @description Failed to update the freshness rule */
|
|
21299
|
+
500: {
|
|
21300
|
+
headers: {
|
|
21301
|
+
[name: string]: unknown;
|
|
21302
|
+
};
|
|
21303
|
+
content: {
|
|
21304
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21305
|
+
};
|
|
21306
|
+
};
|
|
21307
|
+
};
|
|
21308
|
+
};
|
|
21309
|
+
deleteFreshnessRule: {
|
|
21310
|
+
parameters: {
|
|
21311
|
+
query?: never;
|
|
21312
|
+
header?: never;
|
|
21313
|
+
path: {
|
|
21314
|
+
/** @description Team identifier */
|
|
21315
|
+
team_id: string;
|
|
21316
|
+
/** @description Freshness rule identifier */
|
|
21317
|
+
rule_id: string;
|
|
21318
|
+
};
|
|
21319
|
+
cookie?: never;
|
|
21320
|
+
};
|
|
21321
|
+
requestBody?: never;
|
|
21322
|
+
responses: {
|
|
21323
|
+
/** @description Rule deleted (no content) */
|
|
21324
|
+
204: {
|
|
21325
|
+
headers: {
|
|
21326
|
+
[name: string]: unknown;
|
|
21327
|
+
};
|
|
21328
|
+
content?: never;
|
|
21329
|
+
};
|
|
21330
|
+
/** @description Invalid identifiers */
|
|
21331
|
+
400: {
|
|
21332
|
+
headers: {
|
|
21333
|
+
[name: string]: unknown;
|
|
21334
|
+
};
|
|
21335
|
+
content: {
|
|
21336
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21337
|
+
};
|
|
21338
|
+
};
|
|
21339
|
+
/** @description Authentication required */
|
|
21340
|
+
401: {
|
|
21341
|
+
headers: {
|
|
21342
|
+
[name: string]: unknown;
|
|
21343
|
+
};
|
|
21344
|
+
content: {
|
|
21345
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21346
|
+
};
|
|
21347
|
+
};
|
|
21348
|
+
/** @description Caller may not change the team's settings */
|
|
21349
|
+
403: {
|
|
21350
|
+
headers: {
|
|
21351
|
+
[name: string]: unknown;
|
|
21352
|
+
};
|
|
21353
|
+
content: {
|
|
21354
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21355
|
+
};
|
|
21356
|
+
};
|
|
21357
|
+
/** @description No such rule in this team */
|
|
21358
|
+
404: {
|
|
21359
|
+
headers: {
|
|
21360
|
+
[name: string]: unknown;
|
|
21361
|
+
};
|
|
21362
|
+
content: {
|
|
21363
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21364
|
+
};
|
|
21365
|
+
};
|
|
21366
|
+
/** @description Failed to delete the freshness rule */
|
|
21367
|
+
500: {
|
|
21368
|
+
headers: {
|
|
21369
|
+
[name: string]: unknown;
|
|
21370
|
+
};
|
|
21371
|
+
content: {
|
|
21372
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21373
|
+
};
|
|
21374
|
+
};
|
|
21375
|
+
};
|
|
21376
|
+
};
|
|
21377
|
+
getTeamFreshnessSettings: {
|
|
21378
|
+
parameters: {
|
|
21379
|
+
query?: never;
|
|
21380
|
+
header?: never;
|
|
21381
|
+
path: {
|
|
21382
|
+
/** @description Team identifier */
|
|
21383
|
+
team_id: string;
|
|
21384
|
+
};
|
|
21385
|
+
cookie?: never;
|
|
21386
|
+
};
|
|
21387
|
+
requestBody?: never;
|
|
21388
|
+
responses: {
|
|
21389
|
+
/** @description Settings retrieved successfully */
|
|
21390
|
+
200: {
|
|
21391
|
+
headers: {
|
|
21392
|
+
[name: string]: unknown;
|
|
21393
|
+
};
|
|
21394
|
+
content: {
|
|
21395
|
+
"application/json": components["schemas"]["TeamFreshnessSettings"];
|
|
21396
|
+
};
|
|
21397
|
+
};
|
|
21398
|
+
/** @description Invalid team_id */
|
|
21399
|
+
400: {
|
|
21400
|
+
headers: {
|
|
21401
|
+
[name: string]: unknown;
|
|
21402
|
+
};
|
|
21403
|
+
content: {
|
|
21404
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21405
|
+
};
|
|
21406
|
+
};
|
|
21407
|
+
/** @description Authentication required */
|
|
21408
|
+
401: {
|
|
21409
|
+
headers: {
|
|
21410
|
+
[name: string]: unknown;
|
|
21411
|
+
};
|
|
21412
|
+
content: {
|
|
21413
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21414
|
+
};
|
|
21415
|
+
};
|
|
21416
|
+
/** @description Caller is not a member of the team */
|
|
21417
|
+
403: {
|
|
21418
|
+
headers: {
|
|
21419
|
+
[name: string]: unknown;
|
|
21420
|
+
};
|
|
21421
|
+
content: {
|
|
21422
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21423
|
+
};
|
|
21424
|
+
};
|
|
21425
|
+
/** @description Failed to read the team's freshness settings */
|
|
21426
|
+
500: {
|
|
21427
|
+
headers: {
|
|
21428
|
+
[name: string]: unknown;
|
|
21429
|
+
};
|
|
21430
|
+
content: {
|
|
21431
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21432
|
+
};
|
|
21433
|
+
};
|
|
21434
|
+
};
|
|
21435
|
+
};
|
|
21436
|
+
updateTeamFreshnessSettings: {
|
|
21437
|
+
parameters: {
|
|
21438
|
+
query?: never;
|
|
21439
|
+
header?: never;
|
|
21440
|
+
path: {
|
|
21441
|
+
/** @description Team identifier */
|
|
21442
|
+
team_id: string;
|
|
21443
|
+
};
|
|
21444
|
+
cookie?: never;
|
|
21445
|
+
};
|
|
21446
|
+
requestBody: {
|
|
21447
|
+
content: {
|
|
21448
|
+
"application/json": components["schemas"]["UpdateTeamFreshnessSettingsRequest"];
|
|
21449
|
+
};
|
|
21450
|
+
};
|
|
21451
|
+
responses: {
|
|
21452
|
+
/** @description Settings updated successfully */
|
|
21453
|
+
200: {
|
|
21454
|
+
headers: {
|
|
21455
|
+
[name: string]: unknown;
|
|
21456
|
+
};
|
|
21457
|
+
content: {
|
|
21458
|
+
"application/json": components["schemas"]["TeamFreshnessSettings"];
|
|
21459
|
+
};
|
|
21460
|
+
};
|
|
21461
|
+
/** @description Invalid team_id or settings */
|
|
21462
|
+
400: {
|
|
21463
|
+
headers: {
|
|
21464
|
+
[name: string]: unknown;
|
|
21465
|
+
};
|
|
21466
|
+
content: {
|
|
21467
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21468
|
+
};
|
|
21469
|
+
};
|
|
21470
|
+
/** @description Authentication required */
|
|
21471
|
+
401: {
|
|
21472
|
+
headers: {
|
|
21473
|
+
[name: string]: unknown;
|
|
21474
|
+
};
|
|
21475
|
+
content: {
|
|
21476
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21477
|
+
};
|
|
21478
|
+
};
|
|
21479
|
+
/** @description Caller may not change the team's settings */
|
|
21480
|
+
403: {
|
|
21481
|
+
headers: {
|
|
21482
|
+
[name: string]: unknown;
|
|
21483
|
+
};
|
|
21484
|
+
content: {
|
|
21485
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21486
|
+
};
|
|
21487
|
+
};
|
|
21488
|
+
/** @description Failed to update the team's freshness settings */
|
|
21489
|
+
500: {
|
|
21490
|
+
headers: {
|
|
21491
|
+
[name: string]: unknown;
|
|
21492
|
+
};
|
|
21493
|
+
content: {
|
|
21494
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21495
|
+
};
|
|
21496
|
+
};
|
|
21497
|
+
};
|
|
21498
|
+
};
|
|
21499
|
+
resetTeamFreshnessSettings: {
|
|
21500
|
+
parameters: {
|
|
21501
|
+
query?: never;
|
|
21502
|
+
header?: never;
|
|
21503
|
+
path: {
|
|
21504
|
+
/** @description Team identifier */
|
|
21505
|
+
team_id: string;
|
|
21506
|
+
};
|
|
21507
|
+
cookie?: never;
|
|
21508
|
+
};
|
|
21509
|
+
requestBody?: never;
|
|
21510
|
+
responses: {
|
|
21511
|
+
/** @description Settings reset (no content); the team now inherits the defaults */
|
|
21512
|
+
204: {
|
|
21513
|
+
headers: {
|
|
21514
|
+
[name: string]: unknown;
|
|
21515
|
+
};
|
|
21516
|
+
content?: never;
|
|
21517
|
+
};
|
|
21518
|
+
/** @description Invalid team_id */
|
|
21519
|
+
400: {
|
|
21520
|
+
headers: {
|
|
21521
|
+
[name: string]: unknown;
|
|
21522
|
+
};
|
|
21523
|
+
content: {
|
|
21524
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21525
|
+
};
|
|
21526
|
+
};
|
|
21527
|
+
/** @description Authentication required */
|
|
21528
|
+
401: {
|
|
21529
|
+
headers: {
|
|
21530
|
+
[name: string]: unknown;
|
|
21531
|
+
};
|
|
21532
|
+
content: {
|
|
21533
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21534
|
+
};
|
|
21535
|
+
};
|
|
21536
|
+
/** @description Caller may not change the team's settings */
|
|
21537
|
+
403: {
|
|
21538
|
+
headers: {
|
|
21539
|
+
[name: string]: unknown;
|
|
21540
|
+
};
|
|
21541
|
+
content: {
|
|
21542
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21543
|
+
};
|
|
21544
|
+
};
|
|
21545
|
+
/** @description Failed to reset the team's freshness settings */
|
|
21546
|
+
500: {
|
|
21547
|
+
headers: {
|
|
21548
|
+
[name: string]: unknown;
|
|
21549
|
+
};
|
|
21550
|
+
content: {
|
|
21551
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21552
|
+
};
|
|
21553
|
+
};
|
|
21554
|
+
};
|
|
21555
|
+
};
|
|
21556
|
+
getFreshnessOverTimeMetrics: {
|
|
21557
|
+
parameters: {
|
|
21558
|
+
query?: {
|
|
21559
|
+
/** @description The reporting window. Defaults to 30d. */
|
|
21560
|
+
range?: components["schemas"]["FreshnessMetricsRange"];
|
|
21561
|
+
};
|
|
21562
|
+
header?: never;
|
|
21563
|
+
path: {
|
|
21564
|
+
/** @description Team identifier */
|
|
21565
|
+
team_id: string;
|
|
21566
|
+
};
|
|
21567
|
+
cookie?: never;
|
|
21568
|
+
};
|
|
21569
|
+
requestBody?: never;
|
|
21570
|
+
responses: {
|
|
21571
|
+
/** @description Metrics retrieved successfully */
|
|
21572
|
+
200: {
|
|
21573
|
+
headers: {
|
|
21574
|
+
[name: string]: unknown;
|
|
21575
|
+
};
|
|
21576
|
+
content: {
|
|
21577
|
+
"application/json": components["schemas"]["FreshnessOverTimeMetricsResponse"];
|
|
21578
|
+
};
|
|
21579
|
+
};
|
|
21580
|
+
/** @description Invalid team_id or query parameter */
|
|
21581
|
+
400: {
|
|
21582
|
+
headers: {
|
|
21583
|
+
[name: string]: unknown;
|
|
21584
|
+
};
|
|
21585
|
+
content: {
|
|
21586
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21587
|
+
};
|
|
21588
|
+
};
|
|
21589
|
+
/** @description Authentication required */
|
|
21590
|
+
401: {
|
|
21591
|
+
headers: {
|
|
21592
|
+
[name: string]: unknown;
|
|
21593
|
+
};
|
|
21594
|
+
content: {
|
|
21595
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21596
|
+
};
|
|
21597
|
+
};
|
|
21598
|
+
/** @description Caller is not a member of the team */
|
|
21599
|
+
403: {
|
|
21600
|
+
headers: {
|
|
21601
|
+
[name: string]: unknown;
|
|
21602
|
+
};
|
|
21603
|
+
content: {
|
|
21604
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21605
|
+
};
|
|
21606
|
+
};
|
|
21607
|
+
/** @description Failed to build the team's freshness over-time metrics */
|
|
21608
|
+
500: {
|
|
21609
|
+
headers: {
|
|
21610
|
+
[name: string]: unknown;
|
|
21611
|
+
};
|
|
21612
|
+
content: {
|
|
21613
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21614
|
+
};
|
|
21615
|
+
};
|
|
21616
|
+
};
|
|
21617
|
+
};
|
|
21618
|
+
getFreshnessByTypeMetrics: {
|
|
21619
|
+
parameters: {
|
|
21620
|
+
query?: never;
|
|
21621
|
+
header?: never;
|
|
21622
|
+
path: {
|
|
21623
|
+
/** @description Team identifier */
|
|
21624
|
+
team_id: string;
|
|
21625
|
+
};
|
|
21626
|
+
cookie?: never;
|
|
21627
|
+
};
|
|
21628
|
+
requestBody?: never;
|
|
21629
|
+
responses: {
|
|
21630
|
+
/** @description Metrics retrieved successfully */
|
|
21631
|
+
200: {
|
|
21632
|
+
headers: {
|
|
21633
|
+
[name: string]: unknown;
|
|
21634
|
+
};
|
|
21635
|
+
content: {
|
|
21636
|
+
"application/json": components["schemas"]["FreshnessByTypeMetricsResponse"];
|
|
21637
|
+
};
|
|
21638
|
+
};
|
|
21639
|
+
/** @description Invalid team_id or query parameter */
|
|
21640
|
+
400: {
|
|
21641
|
+
headers: {
|
|
21642
|
+
[name: string]: unknown;
|
|
21643
|
+
};
|
|
21644
|
+
content: {
|
|
21645
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21646
|
+
};
|
|
21647
|
+
};
|
|
21648
|
+
/** @description Authentication required */
|
|
21649
|
+
401: {
|
|
21650
|
+
headers: {
|
|
21651
|
+
[name: string]: unknown;
|
|
21652
|
+
};
|
|
21653
|
+
content: {
|
|
21654
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21655
|
+
};
|
|
21656
|
+
};
|
|
21657
|
+
/** @description Caller is not a member of the team */
|
|
21658
|
+
403: {
|
|
21659
|
+
headers: {
|
|
21660
|
+
[name: string]: unknown;
|
|
21661
|
+
};
|
|
21662
|
+
content: {
|
|
21663
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21664
|
+
};
|
|
21665
|
+
};
|
|
21666
|
+
/** @description Failed to build the team's freshness by-type metrics */
|
|
21667
|
+
500: {
|
|
21668
|
+
headers: {
|
|
21669
|
+
[name: string]: unknown;
|
|
21670
|
+
};
|
|
21671
|
+
content: {
|
|
21672
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21673
|
+
};
|
|
21674
|
+
};
|
|
21675
|
+
};
|
|
21676
|
+
};
|
|
21677
|
+
getFreshnessByProjectMetrics: {
|
|
21678
|
+
parameters: {
|
|
21679
|
+
query?: never;
|
|
21680
|
+
header?: never;
|
|
21681
|
+
path: {
|
|
21682
|
+
/** @description Team identifier */
|
|
21683
|
+
team_id: string;
|
|
21684
|
+
};
|
|
21685
|
+
cookie?: never;
|
|
21686
|
+
};
|
|
21687
|
+
requestBody?: never;
|
|
21688
|
+
responses: {
|
|
21689
|
+
/** @description Metrics retrieved successfully */
|
|
21690
|
+
200: {
|
|
21691
|
+
headers: {
|
|
21692
|
+
[name: string]: unknown;
|
|
21693
|
+
};
|
|
21694
|
+
content: {
|
|
21695
|
+
"application/json": components["schemas"]["FreshnessByProjectMetricsResponse"];
|
|
21696
|
+
};
|
|
21697
|
+
};
|
|
21698
|
+
/** @description Invalid team_id or query parameter */
|
|
21699
|
+
400: {
|
|
21700
|
+
headers: {
|
|
21701
|
+
[name: string]: unknown;
|
|
21702
|
+
};
|
|
21703
|
+
content: {
|
|
21704
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21705
|
+
};
|
|
21706
|
+
};
|
|
21707
|
+
/** @description Authentication required */
|
|
21708
|
+
401: {
|
|
21709
|
+
headers: {
|
|
21710
|
+
[name: string]: unknown;
|
|
21711
|
+
};
|
|
21712
|
+
content: {
|
|
21713
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21714
|
+
};
|
|
21715
|
+
};
|
|
21716
|
+
/** @description Caller is not a member of the team */
|
|
21717
|
+
403: {
|
|
21718
|
+
headers: {
|
|
21719
|
+
[name: string]: unknown;
|
|
21720
|
+
};
|
|
21721
|
+
content: {
|
|
21722
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21723
|
+
};
|
|
21724
|
+
};
|
|
21725
|
+
/** @description Failed to build the team's freshness by-project metrics */
|
|
21726
|
+
500: {
|
|
21727
|
+
headers: {
|
|
21728
|
+
[name: string]: unknown;
|
|
21729
|
+
};
|
|
21730
|
+
content: {
|
|
21731
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21732
|
+
};
|
|
21733
|
+
};
|
|
21734
|
+
};
|
|
21735
|
+
};
|
|
21736
|
+
getFreshnessByRuleMetrics: {
|
|
21737
|
+
parameters: {
|
|
21738
|
+
query?: never;
|
|
21739
|
+
header?: never;
|
|
21740
|
+
path: {
|
|
21741
|
+
/** @description Team identifier */
|
|
21742
|
+
team_id: string;
|
|
21743
|
+
};
|
|
21744
|
+
cookie?: never;
|
|
21745
|
+
};
|
|
21746
|
+
requestBody?: never;
|
|
21747
|
+
responses: {
|
|
21748
|
+
/** @description Metrics retrieved successfully */
|
|
21749
|
+
200: {
|
|
21750
|
+
headers: {
|
|
21751
|
+
[name: string]: unknown;
|
|
21752
|
+
};
|
|
21753
|
+
content: {
|
|
21754
|
+
"application/json": components["schemas"]["FreshnessByRuleMetricsResponse"];
|
|
21755
|
+
};
|
|
21756
|
+
};
|
|
21757
|
+
/** @description Invalid team_id or query parameter */
|
|
21758
|
+
400: {
|
|
21759
|
+
headers: {
|
|
21760
|
+
[name: string]: unknown;
|
|
21761
|
+
};
|
|
21762
|
+
content: {
|
|
21763
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21764
|
+
};
|
|
21765
|
+
};
|
|
21766
|
+
/** @description Authentication required */
|
|
21767
|
+
401: {
|
|
21768
|
+
headers: {
|
|
21769
|
+
[name: string]: unknown;
|
|
21770
|
+
};
|
|
21771
|
+
content: {
|
|
21772
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21773
|
+
};
|
|
21774
|
+
};
|
|
21775
|
+
/** @description Caller is not a member of the team */
|
|
21776
|
+
403: {
|
|
21777
|
+
headers: {
|
|
21778
|
+
[name: string]: unknown;
|
|
21779
|
+
};
|
|
21780
|
+
content: {
|
|
21781
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21782
|
+
};
|
|
21783
|
+
};
|
|
21784
|
+
/** @description Failed to build the team's freshness by-rule metrics */
|
|
21785
|
+
500: {
|
|
21786
|
+
headers: {
|
|
21787
|
+
[name: string]: unknown;
|
|
21788
|
+
};
|
|
21789
|
+
content: {
|
|
21790
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21791
|
+
};
|
|
21792
|
+
};
|
|
21793
|
+
};
|
|
21794
|
+
};
|
|
21795
|
+
listFreshnessAudit: {
|
|
21796
|
+
parameters: {
|
|
21797
|
+
query?: {
|
|
21798
|
+
/** @description Page number (1-based). The upper bound is not a storage limit — it keeps page * limit inside the range the offset arithmetic can represent, so an absurd page is rejected rather than silently wrapping around to the first one. */
|
|
21799
|
+
page?: number;
|
|
21800
|
+
/** @description Entries per page */
|
|
21801
|
+
limit?: number;
|
|
21802
|
+
};
|
|
21803
|
+
header?: never;
|
|
21804
|
+
path: {
|
|
21805
|
+
/** @description Team identifier */
|
|
21806
|
+
team_id: string;
|
|
21807
|
+
};
|
|
21808
|
+
cookie?: never;
|
|
21809
|
+
};
|
|
21810
|
+
requestBody?: never;
|
|
21811
|
+
responses: {
|
|
21812
|
+
/** @description Audit log retrieved successfully */
|
|
21813
|
+
200: {
|
|
21814
|
+
headers: {
|
|
21815
|
+
[name: string]: unknown;
|
|
21816
|
+
};
|
|
21817
|
+
content: {
|
|
21818
|
+
"application/json": components["schemas"]["FreshnessAuditListResponse"];
|
|
21819
|
+
};
|
|
21820
|
+
};
|
|
21821
|
+
/** @description Invalid team_id or query parameter */
|
|
21822
|
+
400: {
|
|
21823
|
+
headers: {
|
|
21824
|
+
[name: string]: unknown;
|
|
21825
|
+
};
|
|
21826
|
+
content: {
|
|
21827
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21828
|
+
};
|
|
21829
|
+
};
|
|
21830
|
+
/** @description Authentication required */
|
|
21831
|
+
401: {
|
|
21832
|
+
headers: {
|
|
21833
|
+
[name: string]: unknown;
|
|
21834
|
+
};
|
|
21835
|
+
content: {
|
|
21836
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21837
|
+
};
|
|
21838
|
+
};
|
|
21839
|
+
/** @description Caller is not a member of the team */
|
|
21840
|
+
403: {
|
|
21841
|
+
headers: {
|
|
21842
|
+
[name: string]: unknown;
|
|
21843
|
+
};
|
|
21844
|
+
content: {
|
|
21845
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21846
|
+
};
|
|
21847
|
+
};
|
|
21848
|
+
/** @description Failed to list the team's freshness audit log */
|
|
21849
|
+
500: {
|
|
21850
|
+
headers: {
|
|
21851
|
+
[name: string]: unknown;
|
|
21852
|
+
};
|
|
21853
|
+
content: {
|
|
21854
|
+
"application/problem+json": components["schemas"]["ErrorResponse"];
|
|
21855
|
+
};
|
|
21856
|
+
};
|
|
21857
|
+
};
|
|
21858
|
+
};
|
|
20616
21859
|
listEmbeddingProvidersSettings: {
|
|
20617
21860
|
parameters: {
|
|
20618
21861
|
query?: never;
|