@cat-factory/contracts 0.157.0 → 0.159.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/api-keys.d.ts +32 -0
- package/dist/api-keys.d.ts.map +1 -1
- package/dist/api-keys.js +17 -0
- package/dist/api-keys.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +9 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/notifications.d.ts +18 -0
- package/dist/notifications.d.ts.map +1 -1
- package/dist/notifications.js +32 -0
- package/dist/notifications.js.map +1 -1
- package/dist/requests.d.ts +1 -0
- package/dist/requests.d.ts.map +1 -1
- package/dist/requests.js +6 -0
- package/dist/requests.js.map +1 -1
- package/dist/reviewFriction.d.ts +38 -0
- package/dist/reviewFriction.d.ts.map +1 -0
- package/dist/reviewFriction.js +56 -0
- package/dist/reviewFriction.js.map +1 -0
- package/dist/routes/accounts.d.ts +57 -0
- package/dist/routes/accounts.d.ts.map +1 -1
- package/dist/routes/accounts.js +8 -1
- package/dist/routes/accounts.js.map +1 -1
- package/dist/routes/api-keys.d.ts +110 -0
- package/dist/routes/api-keys.d.ts.map +1 -1
- package/dist/routes/api-keys.js +15 -1
- package/dist/routes/api-keys.js.map +1 -1
- package/dist/routes/board.d.ts +1 -0
- package/dist/routes/board.d.ts.map +1 -1
- package/dist/routes/vendor-credentials.d.ts +53 -0
- package/dist/routes/vendor-credentials.d.ts.map +1 -1
- package/dist/routes/vendor-credentials.js +8 -1
- package/dist/routes/vendor-credentials.js.map +1 -1
- package/dist/routes/workspace-settings.d.ts +12 -0
- package/dist/routes/workspace-settings.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +8 -0
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +4 -0
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/vendor-credentials.d.ts +25 -0
- package/dist/vendor-credentials.d.ts.map +1 -1
- package/dist/vendor-credentials.js +17 -0
- package/dist/vendor-credentials.js.map +1 -1
- package/dist/workspace-settings.d.ts +31 -0
- package/dist/workspace-settings.d.ts.map +1 -1
- package/dist/workspace-settings.js +38 -0
- package/dist/workspace-settings.js.map +1 -1
- package/package.json +1 -1
|
@@ -29,6 +29,13 @@ export const vendorCredentialSchema = v.object({
|
|
|
29
29
|
inputTokens: v.number(),
|
|
30
30
|
outputTokens: v.number(),
|
|
31
31
|
requestCount: v.number(),
|
|
32
|
+
/** Whether this token is eligible for leasing. A disabled token stays in the pool
|
|
33
|
+
* (visible + re-enablable) but is never leased and doesn't make its vendor "configured". */
|
|
34
|
+
enabled: v.boolean(),
|
|
35
|
+
/** Whether this token is the pinned default for its vendor: preferred at lease time over
|
|
36
|
+
* usage-aware rotation. At most one default per (workspace, vendor); a disabled default
|
|
37
|
+
* is ignored (leasing falls back to rotation among the remaining enabled tokens). */
|
|
38
|
+
isDefault: v.boolean(),
|
|
32
39
|
});
|
|
33
40
|
export const vendorCredentialListSchema = v.array(vendorCredentialSchema);
|
|
34
41
|
/** Add a token to the pool. `token` is write-only (the raw secret blob). */
|
|
@@ -37,4 +44,14 @@ export const addVendorCredentialSchema = v.object({
|
|
|
37
44
|
label: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(120)),
|
|
38
45
|
token: v.pipe(v.string(), v.trim(), v.minLength(1)),
|
|
39
46
|
});
|
|
47
|
+
/**
|
|
48
|
+
* Update a pool token's lifecycle flags. Both fields are optional — only the supplied
|
|
49
|
+
* ones change. `enabled: false` takes the token out of rotation without deleting it;
|
|
50
|
+
* `isDefault: true` pins it as the vendor's default (clearing any prior default), and
|
|
51
|
+
* `isDefault: false` un-pins it (the vendor reverts to usage-aware rotation).
|
|
52
|
+
*/
|
|
53
|
+
export const updateVendorCredentialSchema = v.object({
|
|
54
|
+
enabled: v.optional(v.boolean()),
|
|
55
|
+
isDefault: v.optional(v.boolean()),
|
|
56
|
+
});
|
|
40
57
|
//# sourceMappingURL=vendor-credentials.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vendor-credentials.js","sourceRoot":"","sources":["../src/vendor-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,4DAA4D;AAC5D,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,sBAAsB;AACtB,mEAAmE;AACnE,yEAAyE;AACzE,mFAAmF;AACnF,+EAA+E;AAC/E,iEAAiE;AACjE,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,6DAA6D;AAC7D,8EAA8E;AAE9E,uDAAuD;AACvD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AAGlG,iFAAiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,wBAAwB;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,0EAA0E;IAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"vendor-credentials.js","sourceRoot":"","sources":["../src/vendor-credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,4DAA4D;AAC5D,EAAE;AACF,8EAA8E;AAC9E,4EAA4E;AAC5E,sBAAsB;AACtB,mEAAmE;AACnE,yEAAyE;AACzE,mFAAmF;AACnF,+EAA+E;AAC/E,iEAAiE;AACjE,6EAA6E;AAC7E,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,6DAA6D;AAC7D,8EAA8E;AAE9E,uDAAuD;AACvD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AAGlG,iFAAiF;AACjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,wBAAwB;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,0EAA0E;IAC1E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB;gGAC4F;IAC5F,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB;;yFAEqF;IACrF,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;CACvB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;AAGzE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,MAAM,EAAE,wBAAwB;IAChC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACrE,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CACpD,CAAC,CAAA;AAGF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IAChC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CACnC,CAAC,CAAA"}
|
|
@@ -10,6 +10,15 @@ export type TaskLimitMode = v.InferOutput<typeof taskLimitModeSchema>;
|
|
|
10
10
|
/** Per-task-type running-task caps (used when {@link taskLimitModeSchema} is `per_type`). */
|
|
11
11
|
export declare const taskLimitPerTypeSchema: v.RecordSchema<v.UnionSchema<[v.PicklistSchema<readonly ["feature", "bug", "document", "spike", "review", "ralph"], undefined>, v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "Consumer id must be <namespace>:<name> (lowercase a-z0-9, dash-separated)">]>], undefined>, v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>;
|
|
12
12
|
export type TaskLimitPerType = v.InferOutput<typeof taskLimitPerTypeSchema>;
|
|
13
|
+
/**
|
|
14
|
+
* Whether/how review-debt friction is applied to task creation:
|
|
15
|
+
* - `off` — no friction (the default).
|
|
16
|
+
* - `warn` — soft friction only: past the warn threshold, creating a task
|
|
17
|
+
* requires an explicit acknowledgement.
|
|
18
|
+
* - `enforce` — soft friction plus the hard block thresholds.
|
|
19
|
+
*/
|
|
20
|
+
export declare const reviewFrictionModeSchema: v.PicklistSchema<["off", "warn", "enforce"], undefined>;
|
|
21
|
+
export type ReviewFrictionMode = v.InferOutput<typeof reviewFrictionModeSchema>;
|
|
13
22
|
/** A workspace's runtime settings. */
|
|
14
23
|
export declare const workspaceSettingsSchema: v.ObjectSchema<{
|
|
15
24
|
/**
|
|
@@ -52,6 +61,24 @@ export declare const workspaceSettingsSchema: v.ObjectSchema<{
|
|
|
52
61
|
* inert there. Enabling it with no runner pool registered fails the run loudly.
|
|
53
62
|
*/
|
|
54
63
|
readonly delegateAgentsToRunnerPool: v.BooleanSchema<undefined>;
|
|
64
|
+
/** Whether/how review-debt friction is applied when authoring a new task. */
|
|
65
|
+
readonly reviewFrictionMode: v.PicklistSchema<["off", "warn", "enforce"], undefined>;
|
|
66
|
+
/**
|
|
67
|
+
* Tasks-in-review count at which soft friction starts (past it, creating a task
|
|
68
|
+
* needs an explicit acknowledgement). Default 3.
|
|
69
|
+
*/
|
|
70
|
+
readonly reviewFrictionWarnCount: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>;
|
|
71
|
+
/**
|
|
72
|
+
* Hard block: refuse task creation while ≥ this many tasks are in human review.
|
|
73
|
+
* Null ⇒ the count trigger is off. Must be ≥ {@link workspaceSettingsSchema.reviewFrictionWarnCount}.
|
|
74
|
+
* Only consulted when {@link reviewFrictionModeSchema} is `enforce`.
|
|
75
|
+
*/
|
|
76
|
+
readonly reviewFrictionBlockCount: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>;
|
|
77
|
+
/**
|
|
78
|
+
* Hard block: refuse task creation while ANY task has been in human review longer than
|
|
79
|
+
* this many minutes. Null ⇒ the age trigger is off. Only consulted in `enforce` mode.
|
|
80
|
+
*/
|
|
81
|
+
readonly reviewFrictionBlockStuckMinutes: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 100000, undefined>]>, undefined>;
|
|
55
82
|
/** Spend budget currency (ISO 4217). Null ⇒ the built-in default (`EUR`). */
|
|
56
83
|
readonly spendCurrency: v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.ToUpperCaseAction, v.LengthAction<string, 3, undefined>, v.RegexAction<string, "currency must be a 3-letter ISO 4217 code">]>, undefined>;
|
|
57
84
|
/**
|
|
@@ -78,6 +105,10 @@ export declare const updateWorkspaceSettingsSchema: v.ObjectSchema<{
|
|
|
78
105
|
readonly artifactRetentionDays: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 3650, undefined>]>, undefined>;
|
|
79
106
|
readonly kaizenEnabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
80
107
|
readonly delegateAgentsToRunnerPool: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
108
|
+
readonly reviewFrictionMode: v.OptionalSchema<v.PicklistSchema<["off", "warn", "enforce"], undefined>, undefined>;
|
|
109
|
+
readonly reviewFrictionWarnCount: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>;
|
|
110
|
+
readonly reviewFrictionBlockCount: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>, undefined>;
|
|
111
|
+
readonly reviewFrictionBlockStuckMinutes: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 100000, undefined>]>, undefined>, undefined>;
|
|
81
112
|
readonly spendCurrency: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.ToUpperCaseAction, v.LengthAction<string, 3, undefined>, v.RegexAction<string, "currency must be a 3-letter ISO 4217 code">]>, undefined>, undefined>;
|
|
82
113
|
readonly spendMonthlyLimit: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>, undefined>;
|
|
83
114
|
}, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAW5B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,4DAA4C,CAAA;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAIrE,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,oeAA8C,CAAA;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAW5B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,4DAA4C,CAAA;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAIrE,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,oeAA8C,CAAA;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAW3E;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,yDAAyC,CAAA;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAoB/E,sCAAsC;AACtC,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH,kEAAkE;;IAElE,8EAA8E;;IAE9E,mFAAmF;;IAEnF;;;;;;;OAOG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH,6EAA6E;;IAE7E;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;IAIH,6EAA6E;;IAE7E;;;;;;;;;;OAUG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,mFAAmF;AACnF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;aAuBxC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
|
|
@@ -18,6 +18,22 @@ const limitSchema = v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(10
|
|
|
18
18
|
/** Per-task-type running-task caps (used when {@link taskLimitModeSchema} is `per_type`). */
|
|
19
19
|
export const taskLimitPerTypeSchema = v.record(createTaskTypeSchema, limitSchema);
|
|
20
20
|
// ---------------------------------------------------------------------------
|
|
21
|
+
// Opt-in review-debt friction (see `backend/docs/review-debt-friction.md`). When a
|
|
22
|
+
// workspace has too many tasks parked on human review — by count, or by how long the
|
|
23
|
+
// oldest has been stuck — authoring a NEW task requires an explicit acknowledgement
|
|
24
|
+
// (soft friction), and past a harder threshold is refused outright (hard block). Off
|
|
25
|
+
// by default; the debt itself is derived from open review-wait notifications, so this
|
|
26
|
+
// only ever shapes *new* work.
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
/**
|
|
29
|
+
* Whether/how review-debt friction is applied to task creation:
|
|
30
|
+
* - `off` — no friction (the default).
|
|
31
|
+
* - `warn` — soft friction only: past the warn threshold, creating a task
|
|
32
|
+
* requires an explicit acknowledgement.
|
|
33
|
+
* - `enforce` — soft friction plus the hard block thresholds.
|
|
34
|
+
*/
|
|
35
|
+
export const reviewFrictionModeSchema = v.picklist(['off', 'warn', 'enforce']);
|
|
36
|
+
// ---------------------------------------------------------------------------
|
|
21
37
|
// Per-workspace spend budget. Moved out of the deployment-wide env vars
|
|
22
38
|
// (`SPEND_MONTHLY_LIMIT` / `SPEND_CURRENCY`) onto the workspace settings row so
|
|
23
39
|
// an operator can tune a workspace's budget in the UI without a redeploy. Both
|
|
@@ -69,6 +85,24 @@ export const workspaceSettingsSchema = v.object({
|
|
|
69
85
|
* inert there. Enabling it with no runner pool registered fails the run loudly.
|
|
70
86
|
*/
|
|
71
87
|
delegateAgentsToRunnerPool: v.boolean(),
|
|
88
|
+
/** Whether/how review-debt friction is applied when authoring a new task. */
|
|
89
|
+
reviewFrictionMode: reviewFrictionModeSchema,
|
|
90
|
+
/**
|
|
91
|
+
* Tasks-in-review count at which soft friction starts (past it, creating a task
|
|
92
|
+
* needs an explicit acknowledgement). Default 3.
|
|
93
|
+
*/
|
|
94
|
+
reviewFrictionWarnCount: v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(1000)),
|
|
95
|
+
/**
|
|
96
|
+
* Hard block: refuse task creation while ≥ this many tasks are in human review.
|
|
97
|
+
* Null ⇒ the count trigger is off. Must be ≥ {@link workspaceSettingsSchema.reviewFrictionWarnCount}.
|
|
98
|
+
* Only consulted when {@link reviewFrictionModeSchema} is `enforce`.
|
|
99
|
+
*/
|
|
100
|
+
reviewFrictionBlockCount: v.nullable(limitSchema),
|
|
101
|
+
/**
|
|
102
|
+
* Hard block: refuse task creation while ANY task has been in human review longer than
|
|
103
|
+
* this many minutes. Null ⇒ the age trigger is off. Only consulted in `enforce` mode.
|
|
104
|
+
*/
|
|
105
|
+
reviewFrictionBlockStuckMinutes: v.nullable(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(100_000))),
|
|
72
106
|
/** Spend budget currency (ISO 4217). Null ⇒ the built-in default (`EUR`). */
|
|
73
107
|
spendCurrency: v.nullable(spendCurrencySchema),
|
|
74
108
|
/**
|
|
@@ -94,6 +128,10 @@ export const updateWorkspaceSettingsSchema = v.object({
|
|
|
94
128
|
artifactRetentionDays: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(3650))),
|
|
95
129
|
kaizenEnabled: v.optional(v.boolean()),
|
|
96
130
|
delegateAgentsToRunnerPool: v.optional(v.boolean()),
|
|
131
|
+
reviewFrictionMode: v.optional(reviewFrictionModeSchema),
|
|
132
|
+
reviewFrictionWarnCount: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(1000))),
|
|
133
|
+
reviewFrictionBlockCount: v.optional(v.nullable(limitSchema)),
|
|
134
|
+
reviewFrictionBlockStuckMinutes: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(100_000)))),
|
|
97
135
|
spendCurrency: v.optional(v.nullable(spendCurrencySchema)),
|
|
98
136
|
spendMonthlyLimit: v.optional(v.nullable(v.pipe(v.number(), v.minValue(0)))),
|
|
99
137
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-settings.js","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"workspace-settings.js","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"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"}
|