@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
|
@@ -3599,6 +3599,317 @@ export type MetadataValuesResponse = {
|
|
|
3599
3599
|
*/
|
|
3600
3600
|
truncated: boolean;
|
|
3601
3601
|
};
|
|
3602
|
+
/**
|
|
3603
|
+
* One team's rule for when a resource becomes stale.
|
|
3604
|
+
*/
|
|
3605
|
+
export type FreshnessRule = {
|
|
3606
|
+
/**
|
|
3607
|
+
* Rule identifier.
|
|
3608
|
+
*/
|
|
3609
|
+
id: string;
|
|
3610
|
+
/**
|
|
3611
|
+
* Team the rule belongs to.
|
|
3612
|
+
*/
|
|
3613
|
+
team_id: string;
|
|
3614
|
+
/**
|
|
3615
|
+
* Scopes the rule to a single project. `null` means the rule applies to EVERY project in the team.
|
|
3616
|
+
*
|
|
3617
|
+
*/
|
|
3618
|
+
project_id: string | null;
|
|
3619
|
+
/**
|
|
3620
|
+
* Resource types the rule applies to. Never empty.
|
|
3621
|
+
*/
|
|
3622
|
+
resource_types: Array<FreshnessRuleResourceType>;
|
|
3623
|
+
/**
|
|
3624
|
+
* Access mediums that count as "accessed" for this rule. An EMPTY array means ANY medium counts — it does not mean "no medium".
|
|
3625
|
+
*
|
|
3626
|
+
*/
|
|
3627
|
+
mediums: Array<FreshnessRuleMedium>;
|
|
3628
|
+
/**
|
|
3629
|
+
* 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.
|
|
3630
|
+
*
|
|
3631
|
+
*/
|
|
3632
|
+
threshold_days: number;
|
|
3633
|
+
/**
|
|
3634
|
+
* Whether evaluation runs apply this rule.
|
|
3635
|
+
*/
|
|
3636
|
+
enabled: boolean;
|
|
3637
|
+
created_at: string;
|
|
3638
|
+
updated_at: string;
|
|
3639
|
+
};
|
|
3640
|
+
/**
|
|
3641
|
+
* A resource type a freshness rule can cover.
|
|
3642
|
+
*/
|
|
3643
|
+
export type FreshnessRuleResourceType = 'artifact' | 'prompt' | 'blueprint' | 'memory';
|
|
3644
|
+
/**
|
|
3645
|
+
* 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.
|
|
3646
|
+
*
|
|
3647
|
+
*/
|
|
3648
|
+
export type FreshnessRuleMedium = 'web' | 'cli' | 'mcp';
|
|
3649
|
+
/**
|
|
3650
|
+
* The team's freshness rules, oldest first.
|
|
3651
|
+
*/
|
|
3652
|
+
export type FreshnessRuleListResponse = {
|
|
3653
|
+
/**
|
|
3654
|
+
* Freshness rules. Serializes as `[]` when the team has none, never `null`.
|
|
3655
|
+
*/
|
|
3656
|
+
rules: Array<FreshnessRule>;
|
|
3657
|
+
};
|
|
3658
|
+
/**
|
|
3659
|
+
* Create a freshness rule.
|
|
3660
|
+
*/
|
|
3661
|
+
export type CreateFreshnessRuleRequest = {
|
|
3662
|
+
/**
|
|
3663
|
+
* Scope to one project; omit or send `null` for every project in the team.
|
|
3664
|
+
*/
|
|
3665
|
+
project_id?: string | null;
|
|
3666
|
+
resource_types: Array<FreshnessRuleResourceType>;
|
|
3667
|
+
/**
|
|
3668
|
+
* Omit or send an empty array to match any medium.
|
|
3669
|
+
*/
|
|
3670
|
+
mediums?: Array<FreshnessRuleMedium>;
|
|
3671
|
+
threshold_days: number;
|
|
3672
|
+
/**
|
|
3673
|
+
* Defaults to true when omitted.
|
|
3674
|
+
*/
|
|
3675
|
+
enabled?: boolean;
|
|
3676
|
+
};
|
|
3677
|
+
/**
|
|
3678
|
+
* Replace a freshness rule in full.
|
|
3679
|
+
*/
|
|
3680
|
+
export type UpdateFreshnessRuleRequest = {
|
|
3681
|
+
/**
|
|
3682
|
+
* Scope to one project; `null` means every project in the team.
|
|
3683
|
+
*/
|
|
3684
|
+
project_id: string | null;
|
|
3685
|
+
resource_types: Array<FreshnessRuleResourceType>;
|
|
3686
|
+
/**
|
|
3687
|
+
* An empty array matches any medium.
|
|
3688
|
+
*/
|
|
3689
|
+
mediums: Array<FreshnessRuleMedium>;
|
|
3690
|
+
threshold_days: number;
|
|
3691
|
+
enabled: boolean;
|
|
3692
|
+
};
|
|
3693
|
+
/**
|
|
3694
|
+
* The tunable freshness-evaluation values, shared by the current settings and the defaults.
|
|
3695
|
+
*/
|
|
3696
|
+
export type FreshnessSettingsValues = {
|
|
3697
|
+
/**
|
|
3698
|
+
* 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.
|
|
3699
|
+
*
|
|
3700
|
+
*/
|
|
3701
|
+
interval_seconds: number;
|
|
3702
|
+
/**
|
|
3703
|
+
* Whether accessing or editing a stale resource clears its stale state.
|
|
3704
|
+
*/
|
|
3705
|
+
reversibility_enabled: boolean;
|
|
3706
|
+
};
|
|
3707
|
+
/**
|
|
3708
|
+
* The freshness settings in effect for a team, with their provenance. A team that has never overridden them reports `source: instance` and the defaults.
|
|
3709
|
+
*
|
|
3710
|
+
*/
|
|
3711
|
+
export type TeamFreshnessSettings = {
|
|
3712
|
+
/**
|
|
3713
|
+
* `team` when the team stores its own settings, `instance` when it inherits the defaults.
|
|
3714
|
+
*
|
|
3715
|
+
*/
|
|
3716
|
+
source: 'instance' | 'team';
|
|
3717
|
+
interval_seconds: number;
|
|
3718
|
+
reversibility_enabled: boolean;
|
|
3719
|
+
/**
|
|
3720
|
+
* The values a DELETE would restore. Present on every read so clients can preview a reset without a second call.
|
|
3721
|
+
*
|
|
3722
|
+
*/
|
|
3723
|
+
defaults: FreshnessSettingsValues;
|
|
3724
|
+
};
|
|
3725
|
+
/**
|
|
3726
|
+
* Override the team's freshness settings.
|
|
3727
|
+
*/
|
|
3728
|
+
export type UpdateTeamFreshnessSettingsRequest = {
|
|
3729
|
+
/**
|
|
3730
|
+
* Rejected below 3600 (one hour) or above 31536000 (365 days).
|
|
3731
|
+
*/
|
|
3732
|
+
interval_seconds: number;
|
|
3733
|
+
reversibility_enabled: boolean;
|
|
3734
|
+
};
|
|
3735
|
+
/**
|
|
3736
|
+
* The reporting window for a time-series metric. The options mirror the other analytics endpoints so one range selector drives every chart.
|
|
3737
|
+
*
|
|
3738
|
+
*/
|
|
3739
|
+
export type FreshnessMetricsRange = '7d' | '14d' | '30d' | '60d' | '90d' | '180d';
|
|
3740
|
+
/**
|
|
3741
|
+
* One calendar day (UTC) of freshness activity, zero-filled: every day in the window is present even when nothing happened.
|
|
3742
|
+
*
|
|
3743
|
+
*/
|
|
3744
|
+
export type FreshnessDailyStaleCount = {
|
|
3745
|
+
date: string;
|
|
3746
|
+
/**
|
|
3747
|
+
* Resources that became stale on this day.
|
|
3748
|
+
*/
|
|
3749
|
+
marked: number;
|
|
3750
|
+
/**
|
|
3751
|
+
* Resources that stopped being stale on this day, for any reason.
|
|
3752
|
+
*/
|
|
3753
|
+
cleared: number;
|
|
3754
|
+
/**
|
|
3755
|
+
* 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].
|
|
3756
|
+
*
|
|
3757
|
+
*/
|
|
3758
|
+
stale_total: number;
|
|
3759
|
+
/**
|
|
3760
|
+
* 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.
|
|
3761
|
+
*
|
|
3762
|
+
*/
|
|
3763
|
+
total: number;
|
|
3764
|
+
};
|
|
3765
|
+
export type FreshnessOverTimeMetricsData = {
|
|
3766
|
+
range: FreshnessMetricsRange;
|
|
3767
|
+
/**
|
|
3768
|
+
* Resources marked stale across the whole window.
|
|
3769
|
+
*/
|
|
3770
|
+
total_marked: number;
|
|
3771
|
+
/**
|
|
3772
|
+
* Resources cleared across the whole window.
|
|
3773
|
+
*/
|
|
3774
|
+
total_cleared: number;
|
|
3775
|
+
/**
|
|
3776
|
+
* One entry per day in the window, oldest first. Serializes as `[]`, never `null`.
|
|
3777
|
+
*/
|
|
3778
|
+
counts: Array<FreshnessDailyStaleCount>;
|
|
3779
|
+
};
|
|
3780
|
+
export type FreshnessOverTimeMetricsResponse = {
|
|
3781
|
+
status: string;
|
|
3782
|
+
message: string;
|
|
3783
|
+
data: FreshnessOverTimeMetricsData;
|
|
3784
|
+
};
|
|
3785
|
+
/**
|
|
3786
|
+
* How many of one resource type are stale right now.
|
|
3787
|
+
*/
|
|
3788
|
+
export type FreshnessTypeCount = {
|
|
3789
|
+
resource_type: FreshnessRuleResourceType;
|
|
3790
|
+
count: number;
|
|
3791
|
+
};
|
|
3792
|
+
export type FreshnessByTypeMetricsData = {
|
|
3793
|
+
/**
|
|
3794
|
+
* Total stale resources in the team, across every type.
|
|
3795
|
+
*/
|
|
3796
|
+
total_stale: number;
|
|
3797
|
+
/**
|
|
3798
|
+
* 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`.
|
|
3799
|
+
*
|
|
3800
|
+
*/
|
|
3801
|
+
counts: Array<FreshnessTypeCount>;
|
|
3802
|
+
};
|
|
3803
|
+
export type FreshnessByTypeMetricsResponse = {
|
|
3804
|
+
status: string;
|
|
3805
|
+
message: string;
|
|
3806
|
+
data: FreshnessByTypeMetricsData;
|
|
3807
|
+
};
|
|
3808
|
+
/**
|
|
3809
|
+
* 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.
|
|
3810
|
+
*
|
|
3811
|
+
*/
|
|
3812
|
+
export type FreshnessProjectCount = {
|
|
3813
|
+
project_id: string;
|
|
3814
|
+
name: string;
|
|
3815
|
+
slug: string;
|
|
3816
|
+
count: number;
|
|
3817
|
+
};
|
|
3818
|
+
export type FreshnessByProjectMetricsData = {
|
|
3819
|
+
total_stale: number;
|
|
3820
|
+
/**
|
|
3821
|
+
* One entry per project in the team, including projects with nothing stale (0), ordered by count descending then name. Serializes as `[]`, never `null`.
|
|
3822
|
+
*
|
|
3823
|
+
*/
|
|
3824
|
+
counts: Array<FreshnessProjectCount>;
|
|
3825
|
+
};
|
|
3826
|
+
export type FreshnessByProjectMetricsResponse = {
|
|
3827
|
+
status: string;
|
|
3828
|
+
message: string;
|
|
3829
|
+
data: FreshnessByProjectMetricsData;
|
|
3830
|
+
};
|
|
3831
|
+
/**
|
|
3832
|
+
* 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.
|
|
3833
|
+
*
|
|
3834
|
+
*/
|
|
3835
|
+
export type FreshnessRuleImpact = {
|
|
3836
|
+
rule_id: string;
|
|
3837
|
+
/**
|
|
3838
|
+
* The project the rule is scoped to, or null for every project in the team.
|
|
3839
|
+
*/
|
|
3840
|
+
project_id: string | null;
|
|
3841
|
+
resource_types: Array<FreshnessRuleResourceType>;
|
|
3842
|
+
threshold_days: number;
|
|
3843
|
+
/**
|
|
3844
|
+
* A disabled rule reports 0 — it is listed so its absence from the chart is not mistaken for deletion.
|
|
3845
|
+
*/
|
|
3846
|
+
enabled: boolean;
|
|
3847
|
+
count: number;
|
|
3848
|
+
};
|
|
3849
|
+
export type FreshnessByRuleMetricsData = {
|
|
3850
|
+
/**
|
|
3851
|
+
* 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.
|
|
3852
|
+
*
|
|
3853
|
+
*/
|
|
3854
|
+
total_stale: number;
|
|
3855
|
+
/**
|
|
3856
|
+
* One entry per rule the team has defined, including rules matching nothing, ordered by count descending then rule id. Serializes as `[]`, never `null`.
|
|
3857
|
+
*
|
|
3858
|
+
*/
|
|
3859
|
+
counts: Array<FreshnessRuleImpact>;
|
|
3860
|
+
};
|
|
3861
|
+
export type FreshnessByRuleMetricsResponse = {
|
|
3862
|
+
status: string;
|
|
3863
|
+
message: string;
|
|
3864
|
+
data: FreshnessByRuleMetricsData;
|
|
3865
|
+
};
|
|
3866
|
+
/**
|
|
3867
|
+
* One recorded freshness transition. The log is append-only.
|
|
3868
|
+
*/
|
|
3869
|
+
export type FreshnessAuditEntry = {
|
|
3870
|
+
id: string;
|
|
3871
|
+
resource_type: FreshnessRuleResourceType;
|
|
3872
|
+
resource_id: string;
|
|
3873
|
+
/**
|
|
3874
|
+
* 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.
|
|
3875
|
+
*
|
|
3876
|
+
*/
|
|
3877
|
+
rule_id: string | null;
|
|
3878
|
+
/**
|
|
3879
|
+
* Whether the resource became stale or stopped being stale.
|
|
3880
|
+
*/
|
|
3881
|
+
action: 'marked' | 'cleared';
|
|
3882
|
+
/**
|
|
3883
|
+
* What caused it — a scheduled evaluation, a read, or an edit.
|
|
3884
|
+
*/
|
|
3885
|
+
reason: 'rule_run' | 'accessed' | 'edited';
|
|
3886
|
+
created_at: string;
|
|
3887
|
+
};
|
|
3888
|
+
/**
|
|
3889
|
+
* A page of the team's freshness audit log, newest first.
|
|
3890
|
+
*/
|
|
3891
|
+
export type FreshnessAuditListResponse = {
|
|
3892
|
+
/**
|
|
3893
|
+
* Serializes as `[]` when the page is empty, never `null`.
|
|
3894
|
+
*/
|
|
3895
|
+
entries: Array<FreshnessAuditEntry>;
|
|
3896
|
+
/**
|
|
3897
|
+
* Total entries in the team's log, ignoring pagination.
|
|
3898
|
+
*/
|
|
3899
|
+
total_count: number;
|
|
3900
|
+
/**
|
|
3901
|
+
* Current page number (1-based)
|
|
3902
|
+
*/
|
|
3903
|
+
page: number;
|
|
3904
|
+
/**
|
|
3905
|
+
* Number of entries per page
|
|
3906
|
+
*/
|
|
3907
|
+
per_page: number;
|
|
3908
|
+
/**
|
|
3909
|
+
* Total number of pages
|
|
3910
|
+
*/
|
|
3911
|
+
total_pages: number;
|
|
3912
|
+
};
|
|
3602
3913
|
/**
|
|
3603
3914
|
* 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.
|
|
3604
3915
|
*
|
|
@@ -11962,6 +12273,481 @@ export type UpdateTeamSearchSettingsResponses = {
|
|
|
11962
12273
|
200: TeamSearchSettings;
|
|
11963
12274
|
};
|
|
11964
12275
|
export type UpdateTeamSearchSettingsResponse = UpdateTeamSearchSettingsResponses[keyof UpdateTeamSearchSettingsResponses];
|
|
12276
|
+
export type ListFreshnessRulesData = {
|
|
12277
|
+
body?: never;
|
|
12278
|
+
path: {
|
|
12279
|
+
/**
|
|
12280
|
+
* Team identifier
|
|
12281
|
+
*/
|
|
12282
|
+
team_id: string;
|
|
12283
|
+
};
|
|
12284
|
+
query?: never;
|
|
12285
|
+
url: '/api/v1/{team_id}/freshness/rules';
|
|
12286
|
+
};
|
|
12287
|
+
export type ListFreshnessRulesErrors = {
|
|
12288
|
+
/**
|
|
12289
|
+
* Invalid team_id
|
|
12290
|
+
*/
|
|
12291
|
+
400: ErrorResponse;
|
|
12292
|
+
/**
|
|
12293
|
+
* Authentication required
|
|
12294
|
+
*/
|
|
12295
|
+
401: ErrorResponse;
|
|
12296
|
+
/**
|
|
12297
|
+
* Caller is not a member of the team
|
|
12298
|
+
*/
|
|
12299
|
+
403: ErrorResponse;
|
|
12300
|
+
/**
|
|
12301
|
+
* Failed to list the team's freshness rules
|
|
12302
|
+
*/
|
|
12303
|
+
500: ErrorResponse;
|
|
12304
|
+
};
|
|
12305
|
+
export type ListFreshnessRulesError = ListFreshnessRulesErrors[keyof ListFreshnessRulesErrors];
|
|
12306
|
+
export type ListFreshnessRulesResponses = {
|
|
12307
|
+
/**
|
|
12308
|
+
* Rules retrieved successfully
|
|
12309
|
+
*/
|
|
12310
|
+
200: FreshnessRuleListResponse;
|
|
12311
|
+
};
|
|
12312
|
+
export type ListFreshnessRulesResponse = ListFreshnessRulesResponses[keyof ListFreshnessRulesResponses];
|
|
12313
|
+
export type CreateFreshnessRuleData = {
|
|
12314
|
+
body: CreateFreshnessRuleRequest;
|
|
12315
|
+
path: {
|
|
12316
|
+
/**
|
|
12317
|
+
* Team identifier
|
|
12318
|
+
*/
|
|
12319
|
+
team_id: string;
|
|
12320
|
+
};
|
|
12321
|
+
query?: never;
|
|
12322
|
+
url: '/api/v1/{team_id}/freshness/rules';
|
|
12323
|
+
};
|
|
12324
|
+
export type CreateFreshnessRuleErrors = {
|
|
12325
|
+
/**
|
|
12326
|
+
* Invalid team_id or rule definition
|
|
12327
|
+
*/
|
|
12328
|
+
400: ErrorResponse;
|
|
12329
|
+
/**
|
|
12330
|
+
* Authentication required
|
|
12331
|
+
*/
|
|
12332
|
+
401: ErrorResponse;
|
|
12333
|
+
/**
|
|
12334
|
+
* Caller may not change the team's settings
|
|
12335
|
+
*/
|
|
12336
|
+
403: ErrorResponse;
|
|
12337
|
+
/**
|
|
12338
|
+
* Failed to create the freshness rule
|
|
12339
|
+
*/
|
|
12340
|
+
500: ErrorResponse;
|
|
12341
|
+
};
|
|
12342
|
+
export type CreateFreshnessRuleError = CreateFreshnessRuleErrors[keyof CreateFreshnessRuleErrors];
|
|
12343
|
+
export type CreateFreshnessRuleResponses = {
|
|
12344
|
+
/**
|
|
12345
|
+
* Rule created successfully
|
|
12346
|
+
*/
|
|
12347
|
+
201: FreshnessRule;
|
|
12348
|
+
};
|
|
12349
|
+
export type CreateFreshnessRuleResponse = CreateFreshnessRuleResponses[keyof CreateFreshnessRuleResponses];
|
|
12350
|
+
export type DeleteFreshnessRuleData = {
|
|
12351
|
+
body?: never;
|
|
12352
|
+
path: {
|
|
12353
|
+
/**
|
|
12354
|
+
* Team identifier
|
|
12355
|
+
*/
|
|
12356
|
+
team_id: string;
|
|
12357
|
+
/**
|
|
12358
|
+
* Freshness rule identifier
|
|
12359
|
+
*/
|
|
12360
|
+
rule_id: string;
|
|
12361
|
+
};
|
|
12362
|
+
query?: never;
|
|
12363
|
+
url: '/api/v1/{team_id}/freshness/rules/{rule_id}';
|
|
12364
|
+
};
|
|
12365
|
+
export type DeleteFreshnessRuleErrors = {
|
|
12366
|
+
/**
|
|
12367
|
+
* Invalid identifiers
|
|
12368
|
+
*/
|
|
12369
|
+
400: ErrorResponse;
|
|
12370
|
+
/**
|
|
12371
|
+
* Authentication required
|
|
12372
|
+
*/
|
|
12373
|
+
401: ErrorResponse;
|
|
12374
|
+
/**
|
|
12375
|
+
* Caller may not change the team's settings
|
|
12376
|
+
*/
|
|
12377
|
+
403: ErrorResponse;
|
|
12378
|
+
/**
|
|
12379
|
+
* No such rule in this team
|
|
12380
|
+
*/
|
|
12381
|
+
404: ErrorResponse;
|
|
12382
|
+
/**
|
|
12383
|
+
* Failed to delete the freshness rule
|
|
12384
|
+
*/
|
|
12385
|
+
500: ErrorResponse;
|
|
12386
|
+
};
|
|
12387
|
+
export type DeleteFreshnessRuleError = DeleteFreshnessRuleErrors[keyof DeleteFreshnessRuleErrors];
|
|
12388
|
+
export type DeleteFreshnessRuleResponses = {
|
|
12389
|
+
/**
|
|
12390
|
+
* Rule deleted (no content)
|
|
12391
|
+
*/
|
|
12392
|
+
204: void;
|
|
12393
|
+
};
|
|
12394
|
+
export type DeleteFreshnessRuleResponse = DeleteFreshnessRuleResponses[keyof DeleteFreshnessRuleResponses];
|
|
12395
|
+
export type UpdateFreshnessRuleData = {
|
|
12396
|
+
body: UpdateFreshnessRuleRequest;
|
|
12397
|
+
path: {
|
|
12398
|
+
/**
|
|
12399
|
+
* Team identifier
|
|
12400
|
+
*/
|
|
12401
|
+
team_id: string;
|
|
12402
|
+
/**
|
|
12403
|
+
* Freshness rule identifier
|
|
12404
|
+
*/
|
|
12405
|
+
rule_id: string;
|
|
12406
|
+
};
|
|
12407
|
+
query?: never;
|
|
12408
|
+
url: '/api/v1/{team_id}/freshness/rules/{rule_id}';
|
|
12409
|
+
};
|
|
12410
|
+
export type UpdateFreshnessRuleErrors = {
|
|
12411
|
+
/**
|
|
12412
|
+
* Invalid identifiers or rule definition
|
|
12413
|
+
*/
|
|
12414
|
+
400: ErrorResponse;
|
|
12415
|
+
/**
|
|
12416
|
+
* Authentication required
|
|
12417
|
+
*/
|
|
12418
|
+
401: ErrorResponse;
|
|
12419
|
+
/**
|
|
12420
|
+
* Caller may not change the team's settings
|
|
12421
|
+
*/
|
|
12422
|
+
403: ErrorResponse;
|
|
12423
|
+
/**
|
|
12424
|
+
* No such rule in this team
|
|
12425
|
+
*/
|
|
12426
|
+
404: ErrorResponse;
|
|
12427
|
+
/**
|
|
12428
|
+
* Failed to update the freshness rule
|
|
12429
|
+
*/
|
|
12430
|
+
500: ErrorResponse;
|
|
12431
|
+
};
|
|
12432
|
+
export type UpdateFreshnessRuleError = UpdateFreshnessRuleErrors[keyof UpdateFreshnessRuleErrors];
|
|
12433
|
+
export type UpdateFreshnessRuleResponses = {
|
|
12434
|
+
/**
|
|
12435
|
+
* Rule updated successfully
|
|
12436
|
+
*/
|
|
12437
|
+
200: FreshnessRule;
|
|
12438
|
+
};
|
|
12439
|
+
export type UpdateFreshnessRuleResponse = UpdateFreshnessRuleResponses[keyof UpdateFreshnessRuleResponses];
|
|
12440
|
+
export type ResetTeamFreshnessSettingsData = {
|
|
12441
|
+
body?: never;
|
|
12442
|
+
path: {
|
|
12443
|
+
/**
|
|
12444
|
+
* Team identifier
|
|
12445
|
+
*/
|
|
12446
|
+
team_id: string;
|
|
12447
|
+
};
|
|
12448
|
+
query?: never;
|
|
12449
|
+
url: '/api/v1/{team_id}/settings/freshness';
|
|
12450
|
+
};
|
|
12451
|
+
export type ResetTeamFreshnessSettingsErrors = {
|
|
12452
|
+
/**
|
|
12453
|
+
* Invalid team_id
|
|
12454
|
+
*/
|
|
12455
|
+
400: ErrorResponse;
|
|
12456
|
+
/**
|
|
12457
|
+
* Authentication required
|
|
12458
|
+
*/
|
|
12459
|
+
401: ErrorResponse;
|
|
12460
|
+
/**
|
|
12461
|
+
* Caller may not change the team's settings
|
|
12462
|
+
*/
|
|
12463
|
+
403: ErrorResponse;
|
|
12464
|
+
/**
|
|
12465
|
+
* Failed to reset the team's freshness settings
|
|
12466
|
+
*/
|
|
12467
|
+
500: ErrorResponse;
|
|
12468
|
+
};
|
|
12469
|
+
export type ResetTeamFreshnessSettingsError = ResetTeamFreshnessSettingsErrors[keyof ResetTeamFreshnessSettingsErrors];
|
|
12470
|
+
export type ResetTeamFreshnessSettingsResponses = {
|
|
12471
|
+
/**
|
|
12472
|
+
* Settings reset (no content); the team now inherits the defaults
|
|
12473
|
+
*/
|
|
12474
|
+
204: void;
|
|
12475
|
+
};
|
|
12476
|
+
export type ResetTeamFreshnessSettingsResponse = ResetTeamFreshnessSettingsResponses[keyof ResetTeamFreshnessSettingsResponses];
|
|
12477
|
+
export type GetTeamFreshnessSettingsData = {
|
|
12478
|
+
body?: never;
|
|
12479
|
+
path: {
|
|
12480
|
+
/**
|
|
12481
|
+
* Team identifier
|
|
12482
|
+
*/
|
|
12483
|
+
team_id: string;
|
|
12484
|
+
};
|
|
12485
|
+
query?: never;
|
|
12486
|
+
url: '/api/v1/{team_id}/settings/freshness';
|
|
12487
|
+
};
|
|
12488
|
+
export type GetTeamFreshnessSettingsErrors = {
|
|
12489
|
+
/**
|
|
12490
|
+
* Invalid team_id
|
|
12491
|
+
*/
|
|
12492
|
+
400: ErrorResponse;
|
|
12493
|
+
/**
|
|
12494
|
+
* Authentication required
|
|
12495
|
+
*/
|
|
12496
|
+
401: ErrorResponse;
|
|
12497
|
+
/**
|
|
12498
|
+
* Caller is not a member of the team
|
|
12499
|
+
*/
|
|
12500
|
+
403: ErrorResponse;
|
|
12501
|
+
/**
|
|
12502
|
+
* Failed to read the team's freshness settings
|
|
12503
|
+
*/
|
|
12504
|
+
500: ErrorResponse;
|
|
12505
|
+
};
|
|
12506
|
+
export type GetTeamFreshnessSettingsError = GetTeamFreshnessSettingsErrors[keyof GetTeamFreshnessSettingsErrors];
|
|
12507
|
+
export type GetTeamFreshnessSettingsResponses = {
|
|
12508
|
+
/**
|
|
12509
|
+
* Settings retrieved successfully
|
|
12510
|
+
*/
|
|
12511
|
+
200: TeamFreshnessSettings;
|
|
12512
|
+
};
|
|
12513
|
+
export type GetTeamFreshnessSettingsResponse = GetTeamFreshnessSettingsResponses[keyof GetTeamFreshnessSettingsResponses];
|
|
12514
|
+
export type UpdateTeamFreshnessSettingsData = {
|
|
12515
|
+
body: UpdateTeamFreshnessSettingsRequest;
|
|
12516
|
+
path: {
|
|
12517
|
+
/**
|
|
12518
|
+
* Team identifier
|
|
12519
|
+
*/
|
|
12520
|
+
team_id: string;
|
|
12521
|
+
};
|
|
12522
|
+
query?: never;
|
|
12523
|
+
url: '/api/v1/{team_id}/settings/freshness';
|
|
12524
|
+
};
|
|
12525
|
+
export type UpdateTeamFreshnessSettingsErrors = {
|
|
12526
|
+
/**
|
|
12527
|
+
* Invalid team_id or settings
|
|
12528
|
+
*/
|
|
12529
|
+
400: ErrorResponse;
|
|
12530
|
+
/**
|
|
12531
|
+
* Authentication required
|
|
12532
|
+
*/
|
|
12533
|
+
401: ErrorResponse;
|
|
12534
|
+
/**
|
|
12535
|
+
* Caller may not change the team's settings
|
|
12536
|
+
*/
|
|
12537
|
+
403: ErrorResponse;
|
|
12538
|
+
/**
|
|
12539
|
+
* Failed to update the team's freshness settings
|
|
12540
|
+
*/
|
|
12541
|
+
500: ErrorResponse;
|
|
12542
|
+
};
|
|
12543
|
+
export type UpdateTeamFreshnessSettingsError = UpdateTeamFreshnessSettingsErrors[keyof UpdateTeamFreshnessSettingsErrors];
|
|
12544
|
+
export type UpdateTeamFreshnessSettingsResponses = {
|
|
12545
|
+
/**
|
|
12546
|
+
* Settings updated successfully
|
|
12547
|
+
*/
|
|
12548
|
+
200: TeamFreshnessSettings;
|
|
12549
|
+
};
|
|
12550
|
+
export type UpdateTeamFreshnessSettingsResponse = UpdateTeamFreshnessSettingsResponses[keyof UpdateTeamFreshnessSettingsResponses];
|
|
12551
|
+
export type GetFreshnessOverTimeMetricsData = {
|
|
12552
|
+
body?: never;
|
|
12553
|
+
path: {
|
|
12554
|
+
/**
|
|
12555
|
+
* Team identifier
|
|
12556
|
+
*/
|
|
12557
|
+
team_id: string;
|
|
12558
|
+
};
|
|
12559
|
+
query?: {
|
|
12560
|
+
/**
|
|
12561
|
+
* The reporting window. Defaults to 30d.
|
|
12562
|
+
*/
|
|
12563
|
+
range?: FreshnessMetricsRange;
|
|
12564
|
+
};
|
|
12565
|
+
url: '/api/v1/{team_id}/freshness/metrics/over-time';
|
|
12566
|
+
};
|
|
12567
|
+
export type GetFreshnessOverTimeMetricsErrors = {
|
|
12568
|
+
/**
|
|
12569
|
+
* Invalid team_id or query parameter
|
|
12570
|
+
*/
|
|
12571
|
+
400: ErrorResponse;
|
|
12572
|
+
/**
|
|
12573
|
+
* Authentication required
|
|
12574
|
+
*/
|
|
12575
|
+
401: ErrorResponse;
|
|
12576
|
+
/**
|
|
12577
|
+
* Caller is not a member of the team
|
|
12578
|
+
*/
|
|
12579
|
+
403: ErrorResponse;
|
|
12580
|
+
/**
|
|
12581
|
+
* Failed to build the team's freshness over-time metrics
|
|
12582
|
+
*/
|
|
12583
|
+
500: ErrorResponse;
|
|
12584
|
+
};
|
|
12585
|
+
export type GetFreshnessOverTimeMetricsError = GetFreshnessOverTimeMetricsErrors[keyof GetFreshnessOverTimeMetricsErrors];
|
|
12586
|
+
export type GetFreshnessOverTimeMetricsResponses = {
|
|
12587
|
+
/**
|
|
12588
|
+
* Metrics retrieved successfully
|
|
12589
|
+
*/
|
|
12590
|
+
200: FreshnessOverTimeMetricsResponse;
|
|
12591
|
+
};
|
|
12592
|
+
export type GetFreshnessOverTimeMetricsResponse = GetFreshnessOverTimeMetricsResponses[keyof GetFreshnessOverTimeMetricsResponses];
|
|
12593
|
+
export type GetFreshnessByTypeMetricsData = {
|
|
12594
|
+
body?: never;
|
|
12595
|
+
path: {
|
|
12596
|
+
/**
|
|
12597
|
+
* Team identifier
|
|
12598
|
+
*/
|
|
12599
|
+
team_id: string;
|
|
12600
|
+
};
|
|
12601
|
+
query?: never;
|
|
12602
|
+
url: '/api/v1/{team_id}/freshness/metrics/by-type';
|
|
12603
|
+
};
|
|
12604
|
+
export type GetFreshnessByTypeMetricsErrors = {
|
|
12605
|
+
/**
|
|
12606
|
+
* Invalid team_id or query parameter
|
|
12607
|
+
*/
|
|
12608
|
+
400: ErrorResponse;
|
|
12609
|
+
/**
|
|
12610
|
+
* Authentication required
|
|
12611
|
+
*/
|
|
12612
|
+
401: ErrorResponse;
|
|
12613
|
+
/**
|
|
12614
|
+
* Caller is not a member of the team
|
|
12615
|
+
*/
|
|
12616
|
+
403: ErrorResponse;
|
|
12617
|
+
/**
|
|
12618
|
+
* Failed to build the team's freshness by-type metrics
|
|
12619
|
+
*/
|
|
12620
|
+
500: ErrorResponse;
|
|
12621
|
+
};
|
|
12622
|
+
export type GetFreshnessByTypeMetricsError = GetFreshnessByTypeMetricsErrors[keyof GetFreshnessByTypeMetricsErrors];
|
|
12623
|
+
export type GetFreshnessByTypeMetricsResponses = {
|
|
12624
|
+
/**
|
|
12625
|
+
* Metrics retrieved successfully
|
|
12626
|
+
*/
|
|
12627
|
+
200: FreshnessByTypeMetricsResponse;
|
|
12628
|
+
};
|
|
12629
|
+
export type GetFreshnessByTypeMetricsResponse = GetFreshnessByTypeMetricsResponses[keyof GetFreshnessByTypeMetricsResponses];
|
|
12630
|
+
export type GetFreshnessByProjectMetricsData = {
|
|
12631
|
+
body?: never;
|
|
12632
|
+
path: {
|
|
12633
|
+
/**
|
|
12634
|
+
* Team identifier
|
|
12635
|
+
*/
|
|
12636
|
+
team_id: string;
|
|
12637
|
+
};
|
|
12638
|
+
query?: never;
|
|
12639
|
+
url: '/api/v1/{team_id}/freshness/metrics/by-project';
|
|
12640
|
+
};
|
|
12641
|
+
export type GetFreshnessByProjectMetricsErrors = {
|
|
12642
|
+
/**
|
|
12643
|
+
* Invalid team_id or query parameter
|
|
12644
|
+
*/
|
|
12645
|
+
400: ErrorResponse;
|
|
12646
|
+
/**
|
|
12647
|
+
* Authentication required
|
|
12648
|
+
*/
|
|
12649
|
+
401: ErrorResponse;
|
|
12650
|
+
/**
|
|
12651
|
+
* Caller is not a member of the team
|
|
12652
|
+
*/
|
|
12653
|
+
403: ErrorResponse;
|
|
12654
|
+
/**
|
|
12655
|
+
* Failed to build the team's freshness by-project metrics
|
|
12656
|
+
*/
|
|
12657
|
+
500: ErrorResponse;
|
|
12658
|
+
};
|
|
12659
|
+
export type GetFreshnessByProjectMetricsError = GetFreshnessByProjectMetricsErrors[keyof GetFreshnessByProjectMetricsErrors];
|
|
12660
|
+
export type GetFreshnessByProjectMetricsResponses = {
|
|
12661
|
+
/**
|
|
12662
|
+
* Metrics retrieved successfully
|
|
12663
|
+
*/
|
|
12664
|
+
200: FreshnessByProjectMetricsResponse;
|
|
12665
|
+
};
|
|
12666
|
+
export type GetFreshnessByProjectMetricsResponse = GetFreshnessByProjectMetricsResponses[keyof GetFreshnessByProjectMetricsResponses];
|
|
12667
|
+
export type GetFreshnessByRuleMetricsData = {
|
|
12668
|
+
body?: never;
|
|
12669
|
+
path: {
|
|
12670
|
+
/**
|
|
12671
|
+
* Team identifier
|
|
12672
|
+
*/
|
|
12673
|
+
team_id: string;
|
|
12674
|
+
};
|
|
12675
|
+
query?: never;
|
|
12676
|
+
url: '/api/v1/{team_id}/freshness/metrics/by-rule';
|
|
12677
|
+
};
|
|
12678
|
+
export type GetFreshnessByRuleMetricsErrors = {
|
|
12679
|
+
/**
|
|
12680
|
+
* Invalid team_id or query parameter
|
|
12681
|
+
*/
|
|
12682
|
+
400: ErrorResponse;
|
|
12683
|
+
/**
|
|
12684
|
+
* Authentication required
|
|
12685
|
+
*/
|
|
12686
|
+
401: ErrorResponse;
|
|
12687
|
+
/**
|
|
12688
|
+
* Caller is not a member of the team
|
|
12689
|
+
*/
|
|
12690
|
+
403: ErrorResponse;
|
|
12691
|
+
/**
|
|
12692
|
+
* Failed to build the team's freshness by-rule metrics
|
|
12693
|
+
*/
|
|
12694
|
+
500: ErrorResponse;
|
|
12695
|
+
};
|
|
12696
|
+
export type GetFreshnessByRuleMetricsError = GetFreshnessByRuleMetricsErrors[keyof GetFreshnessByRuleMetricsErrors];
|
|
12697
|
+
export type GetFreshnessByRuleMetricsResponses = {
|
|
12698
|
+
/**
|
|
12699
|
+
* Metrics retrieved successfully
|
|
12700
|
+
*/
|
|
12701
|
+
200: FreshnessByRuleMetricsResponse;
|
|
12702
|
+
};
|
|
12703
|
+
export type GetFreshnessByRuleMetricsResponse = GetFreshnessByRuleMetricsResponses[keyof GetFreshnessByRuleMetricsResponses];
|
|
12704
|
+
export type ListFreshnessAuditData = {
|
|
12705
|
+
body?: never;
|
|
12706
|
+
path: {
|
|
12707
|
+
/**
|
|
12708
|
+
* Team identifier
|
|
12709
|
+
*/
|
|
12710
|
+
team_id: string;
|
|
12711
|
+
};
|
|
12712
|
+
query?: {
|
|
12713
|
+
/**
|
|
12714
|
+
* 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.
|
|
12715
|
+
*
|
|
12716
|
+
*/
|
|
12717
|
+
page?: number;
|
|
12718
|
+
/**
|
|
12719
|
+
* Entries per page
|
|
12720
|
+
*/
|
|
12721
|
+
limit?: number;
|
|
12722
|
+
};
|
|
12723
|
+
url: '/api/v1/{team_id}/freshness/audit';
|
|
12724
|
+
};
|
|
12725
|
+
export type ListFreshnessAuditErrors = {
|
|
12726
|
+
/**
|
|
12727
|
+
* Invalid team_id or query parameter
|
|
12728
|
+
*/
|
|
12729
|
+
400: ErrorResponse;
|
|
12730
|
+
/**
|
|
12731
|
+
* Authentication required
|
|
12732
|
+
*/
|
|
12733
|
+
401: ErrorResponse;
|
|
12734
|
+
/**
|
|
12735
|
+
* Caller is not a member of the team
|
|
12736
|
+
*/
|
|
12737
|
+
403: ErrorResponse;
|
|
12738
|
+
/**
|
|
12739
|
+
* Failed to list the team's freshness audit log
|
|
12740
|
+
*/
|
|
12741
|
+
500: ErrorResponse;
|
|
12742
|
+
};
|
|
12743
|
+
export type ListFreshnessAuditError = ListFreshnessAuditErrors[keyof ListFreshnessAuditErrors];
|
|
12744
|
+
export type ListFreshnessAuditResponses = {
|
|
12745
|
+
/**
|
|
12746
|
+
* Audit log retrieved successfully
|
|
12747
|
+
*/
|
|
12748
|
+
200: FreshnessAuditListResponse;
|
|
12749
|
+
};
|
|
12750
|
+
export type ListFreshnessAuditResponse = ListFreshnessAuditResponses[keyof ListFreshnessAuditResponses];
|
|
11965
12751
|
export type ListEmbeddingProvidersSettingsData = {
|
|
11966
12752
|
body?: never;
|
|
11967
12753
|
path: {
|