@vibexp/api-client 0.58.0 → 0.59.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/schema.d.ts CHANGED
@@ -3144,6 +3144,93 @@ 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
+ };
3147
3234
  "/api/v1/{team_id}/settings/embedding-providers": {
3148
3235
  parameters: {
3149
3236
  query?: never;
@@ -8725,6 +8812,118 @@ export interface components {
8725
8812
  */
8726
8813
  truncated: boolean;
8727
8814
  };
8815
+ /** @description One team's rule for when a resource becomes stale. */
8816
+ FreshnessRule: {
8817
+ /**
8818
+ * Format: uuid
8819
+ * @description Rule identifier.
8820
+ */
8821
+ id: string;
8822
+ /**
8823
+ * Format: uuid
8824
+ * @description Team the rule belongs to.
8825
+ */
8826
+ team_id: string;
8827
+ /**
8828
+ * Format: uuid
8829
+ * @description Scopes the rule to a single project. `null` means the rule applies to EVERY project in the team.
8830
+ */
8831
+ project_id: string | null;
8832
+ /** @description Resource types the rule applies to. Never empty. */
8833
+ resource_types: components["schemas"]["FreshnessRuleResourceType"][];
8834
+ /** @description Access mediums that count as "accessed" for this rule. An EMPTY array means ANY medium counts — it does not mean "no medium". */
8835
+ mediums: components["schemas"]["FreshnessRuleMedium"][];
8836
+ /**
8837
+ * Format: int32
8838
+ * @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.
8839
+ */
8840
+ threshold_days: number;
8841
+ /** @description Whether evaluation runs apply this rule. */
8842
+ enabled: boolean;
8843
+ /** Format: date-time */
8844
+ created_at: string;
8845
+ /** Format: date-time */
8846
+ updated_at: string;
8847
+ };
8848
+ /**
8849
+ * @description A resource type a freshness rule can cover.
8850
+ * @enum {string}
8851
+ */
8852
+ FreshnessRuleResourceType: "artifact" | "prompt" | "blueprint" | "memory";
8853
+ /**
8854
+ * @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.
8855
+ * @enum {string}
8856
+ */
8857
+ FreshnessRuleMedium: "web" | "cli" | "mcp";
8858
+ /** @description The team's freshness rules, oldest first. */
8859
+ FreshnessRuleListResponse: {
8860
+ /** @description Freshness rules. Serializes as `[]` when the team has none, never `null`. */
8861
+ rules: components["schemas"]["FreshnessRule"][];
8862
+ };
8863
+ /** @description Create a freshness rule. */
8864
+ CreateFreshnessRuleRequest: {
8865
+ /**
8866
+ * Format: uuid
8867
+ * @description Scope to one project; omit or send `null` for every project in the team.
8868
+ */
8869
+ project_id?: string | null;
8870
+ resource_types: components["schemas"]["FreshnessRuleResourceType"][];
8871
+ /** @description Omit or send an empty array to match any medium. */
8872
+ mediums?: components["schemas"]["FreshnessRuleMedium"][];
8873
+ /** Format: int32 */
8874
+ threshold_days: number;
8875
+ /**
8876
+ * @description Defaults to true when omitted.
8877
+ * @default true
8878
+ */
8879
+ enabled: boolean;
8880
+ };
8881
+ /** @description Replace a freshness rule in full. */
8882
+ UpdateFreshnessRuleRequest: {
8883
+ /**
8884
+ * Format: uuid
8885
+ * @description Scope to one project; `null` means every project in the team.
8886
+ */
8887
+ project_id: string | null;
8888
+ resource_types: components["schemas"]["FreshnessRuleResourceType"][];
8889
+ /** @description An empty array matches any medium. */
8890
+ mediums: components["schemas"]["FreshnessRuleMedium"][];
8891
+ /** Format: int32 */
8892
+ threshold_days: number;
8893
+ enabled: boolean;
8894
+ };
8895
+ /** @description The tunable freshness-evaluation values, shared by the current settings and the defaults. */
8896
+ FreshnessSettingsValues: {
8897
+ /**
8898
+ * Format: int32
8899
+ * @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.
8900
+ */
8901
+ interval_seconds: number;
8902
+ /** @description Whether accessing or editing a stale resource clears its stale state. */
8903
+ reversibility_enabled: boolean;
8904
+ };
8905
+ /** @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. */
8906
+ TeamFreshnessSettings: {
8907
+ /**
8908
+ * @description `team` when the team stores its own settings, `instance` when it inherits the defaults.
8909
+ * @enum {string}
8910
+ */
8911
+ source: "instance" | "team";
8912
+ /** Format: int32 */
8913
+ interval_seconds: number;
8914
+ reversibility_enabled: boolean;
8915
+ /** @description The values a DELETE would restore. Present on every read so clients can preview a reset without a second call. */
8916
+ defaults: components["schemas"]["FreshnessSettingsValues"];
8917
+ };
8918
+ /** @description Override the team's freshness settings. */
8919
+ UpdateTeamFreshnessSettingsRequest: {
8920
+ /**
8921
+ * Format: int32
8922
+ * @description Rejected below 3600 (one hour) or above 31536000 (365 days).
8923
+ */
8924
+ interval_seconds: number;
8925
+ reversibility_enabled: boolean;
8926
+ };
8728
8927
  /** @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. */
8729
8928
  TeamSearchSettings: {
8730
8929
  /**
@@ -20613,6 +20812,449 @@ export interface operations {
20613
20812
  };
20614
20813
  };
20615
20814
  };
20815
+ listFreshnessRules: {
20816
+ parameters: {
20817
+ query?: never;
20818
+ header?: never;
20819
+ path: {
20820
+ /** @description Team identifier */
20821
+ team_id: string;
20822
+ };
20823
+ cookie?: never;
20824
+ };
20825
+ requestBody?: never;
20826
+ responses: {
20827
+ /** @description Rules retrieved successfully */
20828
+ 200: {
20829
+ headers: {
20830
+ [name: string]: unknown;
20831
+ };
20832
+ content: {
20833
+ "application/json": components["schemas"]["FreshnessRuleListResponse"];
20834
+ };
20835
+ };
20836
+ /** @description Invalid team_id */
20837
+ 400: {
20838
+ headers: {
20839
+ [name: string]: unknown;
20840
+ };
20841
+ content: {
20842
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20843
+ };
20844
+ };
20845
+ /** @description Authentication required */
20846
+ 401: {
20847
+ headers: {
20848
+ [name: string]: unknown;
20849
+ };
20850
+ content: {
20851
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20852
+ };
20853
+ };
20854
+ /** @description Caller is not a member of the team */
20855
+ 403: {
20856
+ headers: {
20857
+ [name: string]: unknown;
20858
+ };
20859
+ content: {
20860
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20861
+ };
20862
+ };
20863
+ /** @description Failed to list the team's freshness rules */
20864
+ 500: {
20865
+ headers: {
20866
+ [name: string]: unknown;
20867
+ };
20868
+ content: {
20869
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20870
+ };
20871
+ };
20872
+ };
20873
+ };
20874
+ createFreshnessRule: {
20875
+ parameters: {
20876
+ query?: never;
20877
+ header?: never;
20878
+ path: {
20879
+ /** @description Team identifier */
20880
+ team_id: string;
20881
+ };
20882
+ cookie?: never;
20883
+ };
20884
+ requestBody: {
20885
+ content: {
20886
+ "application/json": components["schemas"]["CreateFreshnessRuleRequest"];
20887
+ };
20888
+ };
20889
+ responses: {
20890
+ /** @description Rule created successfully */
20891
+ 201: {
20892
+ headers: {
20893
+ [name: string]: unknown;
20894
+ };
20895
+ content: {
20896
+ "application/json": components["schemas"]["FreshnessRule"];
20897
+ };
20898
+ };
20899
+ /** @description Invalid team_id or rule definition */
20900
+ 400: {
20901
+ headers: {
20902
+ [name: string]: unknown;
20903
+ };
20904
+ content: {
20905
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20906
+ };
20907
+ };
20908
+ /** @description Authentication required */
20909
+ 401: {
20910
+ headers: {
20911
+ [name: string]: unknown;
20912
+ };
20913
+ content: {
20914
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20915
+ };
20916
+ };
20917
+ /** @description Caller may not change the team's settings */
20918
+ 403: {
20919
+ headers: {
20920
+ [name: string]: unknown;
20921
+ };
20922
+ content: {
20923
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20924
+ };
20925
+ };
20926
+ /** @description Failed to create the freshness rule */
20927
+ 500: {
20928
+ headers: {
20929
+ [name: string]: unknown;
20930
+ };
20931
+ content: {
20932
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20933
+ };
20934
+ };
20935
+ };
20936
+ };
20937
+ updateFreshnessRule: {
20938
+ parameters: {
20939
+ query?: never;
20940
+ header?: never;
20941
+ path: {
20942
+ /** @description Team identifier */
20943
+ team_id: string;
20944
+ /** @description Freshness rule identifier */
20945
+ rule_id: string;
20946
+ };
20947
+ cookie?: never;
20948
+ };
20949
+ requestBody: {
20950
+ content: {
20951
+ "application/json": components["schemas"]["UpdateFreshnessRuleRequest"];
20952
+ };
20953
+ };
20954
+ responses: {
20955
+ /** @description Rule updated successfully */
20956
+ 200: {
20957
+ headers: {
20958
+ [name: string]: unknown;
20959
+ };
20960
+ content: {
20961
+ "application/json": components["schemas"]["FreshnessRule"];
20962
+ };
20963
+ };
20964
+ /** @description Invalid identifiers or rule definition */
20965
+ 400: {
20966
+ headers: {
20967
+ [name: string]: unknown;
20968
+ };
20969
+ content: {
20970
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20971
+ };
20972
+ };
20973
+ /** @description Authentication required */
20974
+ 401: {
20975
+ headers: {
20976
+ [name: string]: unknown;
20977
+ };
20978
+ content: {
20979
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20980
+ };
20981
+ };
20982
+ /** @description Caller may not change the team's settings */
20983
+ 403: {
20984
+ headers: {
20985
+ [name: string]: unknown;
20986
+ };
20987
+ content: {
20988
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20989
+ };
20990
+ };
20991
+ /** @description No such rule in this team */
20992
+ 404: {
20993
+ headers: {
20994
+ [name: string]: unknown;
20995
+ };
20996
+ content: {
20997
+ "application/problem+json": components["schemas"]["ErrorResponse"];
20998
+ };
20999
+ };
21000
+ /** @description Failed to update the freshness rule */
21001
+ 500: {
21002
+ headers: {
21003
+ [name: string]: unknown;
21004
+ };
21005
+ content: {
21006
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21007
+ };
21008
+ };
21009
+ };
21010
+ };
21011
+ deleteFreshnessRule: {
21012
+ parameters: {
21013
+ query?: never;
21014
+ header?: never;
21015
+ path: {
21016
+ /** @description Team identifier */
21017
+ team_id: string;
21018
+ /** @description Freshness rule identifier */
21019
+ rule_id: string;
21020
+ };
21021
+ cookie?: never;
21022
+ };
21023
+ requestBody?: never;
21024
+ responses: {
21025
+ /** @description Rule deleted (no content) */
21026
+ 204: {
21027
+ headers: {
21028
+ [name: string]: unknown;
21029
+ };
21030
+ content?: never;
21031
+ };
21032
+ /** @description Invalid identifiers */
21033
+ 400: {
21034
+ headers: {
21035
+ [name: string]: unknown;
21036
+ };
21037
+ content: {
21038
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21039
+ };
21040
+ };
21041
+ /** @description Authentication required */
21042
+ 401: {
21043
+ headers: {
21044
+ [name: string]: unknown;
21045
+ };
21046
+ content: {
21047
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21048
+ };
21049
+ };
21050
+ /** @description Caller may not change the team's settings */
21051
+ 403: {
21052
+ headers: {
21053
+ [name: string]: unknown;
21054
+ };
21055
+ content: {
21056
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21057
+ };
21058
+ };
21059
+ /** @description No such rule in this team */
21060
+ 404: {
21061
+ headers: {
21062
+ [name: string]: unknown;
21063
+ };
21064
+ content: {
21065
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21066
+ };
21067
+ };
21068
+ /** @description Failed to delete the freshness rule */
21069
+ 500: {
21070
+ headers: {
21071
+ [name: string]: unknown;
21072
+ };
21073
+ content: {
21074
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21075
+ };
21076
+ };
21077
+ };
21078
+ };
21079
+ getTeamFreshnessSettings: {
21080
+ parameters: {
21081
+ query?: never;
21082
+ header?: never;
21083
+ path: {
21084
+ /** @description Team identifier */
21085
+ team_id: string;
21086
+ };
21087
+ cookie?: never;
21088
+ };
21089
+ requestBody?: never;
21090
+ responses: {
21091
+ /** @description Settings retrieved successfully */
21092
+ 200: {
21093
+ headers: {
21094
+ [name: string]: unknown;
21095
+ };
21096
+ content: {
21097
+ "application/json": components["schemas"]["TeamFreshnessSettings"];
21098
+ };
21099
+ };
21100
+ /** @description Invalid team_id */
21101
+ 400: {
21102
+ headers: {
21103
+ [name: string]: unknown;
21104
+ };
21105
+ content: {
21106
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21107
+ };
21108
+ };
21109
+ /** @description Authentication required */
21110
+ 401: {
21111
+ headers: {
21112
+ [name: string]: unknown;
21113
+ };
21114
+ content: {
21115
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21116
+ };
21117
+ };
21118
+ /** @description Caller is not a member of the team */
21119
+ 403: {
21120
+ headers: {
21121
+ [name: string]: unknown;
21122
+ };
21123
+ content: {
21124
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21125
+ };
21126
+ };
21127
+ /** @description Failed to read the team's freshness settings */
21128
+ 500: {
21129
+ headers: {
21130
+ [name: string]: unknown;
21131
+ };
21132
+ content: {
21133
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21134
+ };
21135
+ };
21136
+ };
21137
+ };
21138
+ updateTeamFreshnessSettings: {
21139
+ parameters: {
21140
+ query?: never;
21141
+ header?: never;
21142
+ path: {
21143
+ /** @description Team identifier */
21144
+ team_id: string;
21145
+ };
21146
+ cookie?: never;
21147
+ };
21148
+ requestBody: {
21149
+ content: {
21150
+ "application/json": components["schemas"]["UpdateTeamFreshnessSettingsRequest"];
21151
+ };
21152
+ };
21153
+ responses: {
21154
+ /** @description Settings updated successfully */
21155
+ 200: {
21156
+ headers: {
21157
+ [name: string]: unknown;
21158
+ };
21159
+ content: {
21160
+ "application/json": components["schemas"]["TeamFreshnessSettings"];
21161
+ };
21162
+ };
21163
+ /** @description Invalid team_id or settings */
21164
+ 400: {
21165
+ headers: {
21166
+ [name: string]: unknown;
21167
+ };
21168
+ content: {
21169
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21170
+ };
21171
+ };
21172
+ /** @description Authentication required */
21173
+ 401: {
21174
+ headers: {
21175
+ [name: string]: unknown;
21176
+ };
21177
+ content: {
21178
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21179
+ };
21180
+ };
21181
+ /** @description Caller may not change the team's settings */
21182
+ 403: {
21183
+ headers: {
21184
+ [name: string]: unknown;
21185
+ };
21186
+ content: {
21187
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21188
+ };
21189
+ };
21190
+ /** @description Failed to update the team's freshness settings */
21191
+ 500: {
21192
+ headers: {
21193
+ [name: string]: unknown;
21194
+ };
21195
+ content: {
21196
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21197
+ };
21198
+ };
21199
+ };
21200
+ };
21201
+ resetTeamFreshnessSettings: {
21202
+ parameters: {
21203
+ query?: never;
21204
+ header?: never;
21205
+ path: {
21206
+ /** @description Team identifier */
21207
+ team_id: string;
21208
+ };
21209
+ cookie?: never;
21210
+ };
21211
+ requestBody?: never;
21212
+ responses: {
21213
+ /** @description Settings reset (no content); the team now inherits the defaults */
21214
+ 204: {
21215
+ headers: {
21216
+ [name: string]: unknown;
21217
+ };
21218
+ content?: never;
21219
+ };
21220
+ /** @description Invalid team_id */
21221
+ 400: {
21222
+ headers: {
21223
+ [name: string]: unknown;
21224
+ };
21225
+ content: {
21226
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21227
+ };
21228
+ };
21229
+ /** @description Authentication required */
21230
+ 401: {
21231
+ headers: {
21232
+ [name: string]: unknown;
21233
+ };
21234
+ content: {
21235
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21236
+ };
21237
+ };
21238
+ /** @description Caller may not change the team's settings */
21239
+ 403: {
21240
+ headers: {
21241
+ [name: string]: unknown;
21242
+ };
21243
+ content: {
21244
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21245
+ };
21246
+ };
21247
+ /** @description Failed to reset the team's freshness settings */
21248
+ 500: {
21249
+ headers: {
21250
+ [name: string]: unknown;
21251
+ };
21252
+ content: {
21253
+ "application/problem+json": components["schemas"]["ErrorResponse"];
21254
+ };
21255
+ };
21256
+ };
21257
+ };
20616
21258
  listEmbeddingProvidersSettings: {
20617
21259
  parameters: {
20618
21260
  query?: never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibexp/api-client",
3
- "version": "0.58.0",
3
+ "version": "0.59.0",
4
4
  "description": "Typed VibeXP API client generated from the OpenAPI spec (openapi-fetch main entrypoint, axios SDK at ./axios)",
5
5
  "license": "MIT",
6
6
  "repository": {