@cat-factory/contracts 0.108.1 → 0.110.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/accounts.d.ts +18 -1
- package/dist/accounts.d.ts.map +1 -1
- package/dist/accounts.js +18 -1
- package/dist/accounts.js.map +1 -1
- package/dist/entities.d.ts +61 -5
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +50 -5
- package/dist/entities.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/routes/accounts.d.ts +4 -0
- package/dist/routes/accounts.d.ts.map +1 -1
- package/dist/routes/agent-runs.d.ts +12 -0
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +48 -0
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/human-review.d.ts +6 -0
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +30 -0
- package/dist/routes/human-test.d.ts.map +1 -1
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/user-settings.d.ts +66 -0
- package/dist/routes/user-settings.d.ts.map +1 -0
- package/dist/routes/user-settings.js +20 -0
- package/dist/routes/user-settings.js.map +1 -0
- package/dist/routes/visual-confirm.d.ts +18 -0
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +64 -0
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +54 -2
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +28 -3
- package/dist/snapshot.js.map +1 -1
- package/dist/user-settings.d.ts +20 -0
- package/dist/user-settings.d.ts.map +1 -0
- package/dist/user-settings.js +27 -0
- package/dist/user-settings.js.map +1 -0
- package/package.json +1 -1
package/dist/snapshot.d.ts
CHANGED
|
@@ -1039,6 +1039,12 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
|
|
|
1039
1039
|
}, undefined>, undefined>;
|
|
1040
1040
|
readonly stepIndex: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
1041
1041
|
}, undefined>, undefined>, undefined>;
|
|
1042
|
+
readonly outputHistory: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1043
|
+
readonly stepIndex: v.NumberSchema<undefined>;
|
|
1044
|
+
readonly occurredAt: v.NumberSchema<undefined>;
|
|
1045
|
+
readonly output: v.StringSchema<undefined>;
|
|
1046
|
+
readonly truncated: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1047
|
+
}, undefined>, undefined>, undefined>;
|
|
1042
1048
|
readonly notes: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1043
1049
|
readonly frontendBindings: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1044
1050
|
readonly envVar: v.StringSchema<undefined>;
|
|
@@ -1145,8 +1151,9 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
|
|
|
1145
1151
|
readonly updatedAt: v.NumberSchema<undefined>;
|
|
1146
1152
|
}, undefined>, undefined>, undefined>;
|
|
1147
1153
|
/**
|
|
1148
|
-
* The current spend-safeguard status. Attached by the
|
|
1149
|
-
* deployment-wide pricing/budget config), so it is optional
|
|
1154
|
+
* The current spend-safeguard status for the WORKSPACE tier. Attached by the
|
|
1155
|
+
* facade (it depends on deployment-wide pricing/budget config), so it is optional
|
|
1156
|
+
* on the wire.
|
|
1150
1157
|
*/
|
|
1151
1158
|
readonly spend: v.OptionalSchema<v.ObjectSchema<{
|
|
1152
1159
|
readonly periodStart: v.NumberSchema<undefined>;
|
|
@@ -1157,6 +1164,51 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
|
|
|
1157
1164
|
readonly currency: v.StringSchema<undefined>;
|
|
1158
1165
|
readonly exceeded: v.BooleanSchema<undefined>;
|
|
1159
1166
|
}, undefined>, undefined>;
|
|
1167
|
+
/**
|
|
1168
|
+
* The ACCOUNT-tier spend status (this period's spend across all the owning
|
|
1169
|
+
* account's workspaces vs the account budget). Attached only when the workspace
|
|
1170
|
+
* belongs to an account and the account tier is active (a limit or env cap is set).
|
|
1171
|
+
*/
|
|
1172
|
+
readonly accountSpend: v.OptionalSchema<v.ObjectSchema<{
|
|
1173
|
+
readonly periodStart: v.NumberSchema<undefined>;
|
|
1174
|
+
readonly inputTokens: v.NumberSchema<undefined>;
|
|
1175
|
+
readonly outputTokens: v.NumberSchema<undefined>;
|
|
1176
|
+
readonly costSpent: v.NumberSchema<undefined>;
|
|
1177
|
+
readonly costLimit: v.NumberSchema<undefined>;
|
|
1178
|
+
readonly currency: v.StringSchema<undefined>;
|
|
1179
|
+
readonly exceeded: v.BooleanSchema<undefined>;
|
|
1180
|
+
}, undefined>, undefined>;
|
|
1181
|
+
/**
|
|
1182
|
+
* The USER-tier spend status for the signed-in caller (this period's spend across
|
|
1183
|
+
* every run they initiated vs their user budget). Attached only when the user tier
|
|
1184
|
+
* is active (a limit or env cap is set).
|
|
1185
|
+
*/
|
|
1186
|
+
readonly userSpend: v.OptionalSchema<v.ObjectSchema<{
|
|
1187
|
+
readonly periodStart: v.NumberSchema<undefined>;
|
|
1188
|
+
readonly inputTokens: v.NumberSchema<undefined>;
|
|
1189
|
+
readonly outputTokens: v.NumberSchema<undefined>;
|
|
1190
|
+
readonly costSpent: v.NumberSchema<undefined>;
|
|
1191
|
+
readonly costLimit: v.NumberSchema<undefined>;
|
|
1192
|
+
readonly currency: v.StringSchema<undefined>;
|
|
1193
|
+
readonly exceeded: v.BooleanSchema<undefined>;
|
|
1194
|
+
}, undefined>, undefined>;
|
|
1195
|
+
/**
|
|
1196
|
+
* The signed-in caller's editable per-user settings (holds the user-tier budget),
|
|
1197
|
+
* so the budget screen can render the current value without a separate fetch.
|
|
1198
|
+
*/
|
|
1199
|
+
readonly userSettings: v.OptionalSchema<v.ObjectSchema<{
|
|
1200
|
+
readonly spendMonthlyLimit: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
1201
|
+
}, undefined>, undefined>;
|
|
1202
|
+
/**
|
|
1203
|
+
* Operator hard ceilings on the account/user budget tiers (from the deployment env
|
|
1204
|
+
* vars). Attached so the budget configuration screens can show the hard limit and
|
|
1205
|
+
* cap the input. Absent ⇒ this facade sets no ceilings.
|
|
1206
|
+
*/
|
|
1207
|
+
readonly budgetCaps: v.OptionalSchema<v.ObjectSchema<{
|
|
1208
|
+
readonly accountMonthlyLimitMax: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
1209
|
+
readonly userMonthlyLimitMax: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
1210
|
+
readonly currency: v.StringSchema<undefined>;
|
|
1211
|
+
}, undefined>, undefined>;
|
|
1160
1212
|
/**
|
|
1161
1213
|
* Open human-actionable notifications for this workspace (PRs awaiting a merge
|
|
1162
1214
|
* decision, completed pipelines awaiting confirmation, CI that gave up). Carried
|
package/dist/snapshot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
|
package/dist/snapshot.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as v from 'valibot';
|
|
2
|
-
import { blockSchema, executionInstanceSchema, pipelineSchema, spendStatusSchema, workspaceSchema, } from './entities.js';
|
|
2
|
+
import { blockSchema, budgetCapsSchema, executionInstanceSchema, pipelineSchema, spendStatusSchema, workspaceSchema, } from './entities.js';
|
|
3
|
+
import { userSettingsSchema } from './user-settings.js';
|
|
3
4
|
import { bootstrapJobSchema } from './bootstrap.js';
|
|
4
5
|
import { envConfigRepairJobSchema } from './env-config-repair.js';
|
|
5
6
|
import { notificationSchema } from './notifications.js';
|
|
@@ -52,10 +53,34 @@ export const workspaceSnapshotSchema = v.object({
|
|
|
52
53
|
*/
|
|
53
54
|
envConfigRepairJobs: v.optional(v.array(envConfigRepairJobSchema)),
|
|
54
55
|
/**
|
|
55
|
-
* The current spend-safeguard status. Attached by the
|
|
56
|
-
* deployment-wide pricing/budget config), so it is optional
|
|
56
|
+
* The current spend-safeguard status for the WORKSPACE tier. Attached by the
|
|
57
|
+
* facade (it depends on deployment-wide pricing/budget config), so it is optional
|
|
58
|
+
* on the wire.
|
|
57
59
|
*/
|
|
58
60
|
spend: v.optional(spendStatusSchema),
|
|
61
|
+
/**
|
|
62
|
+
* The ACCOUNT-tier spend status (this period's spend across all the owning
|
|
63
|
+
* account's workspaces vs the account budget). Attached only when the workspace
|
|
64
|
+
* belongs to an account and the account tier is active (a limit or env cap is set).
|
|
65
|
+
*/
|
|
66
|
+
accountSpend: v.optional(spendStatusSchema),
|
|
67
|
+
/**
|
|
68
|
+
* The USER-tier spend status for the signed-in caller (this period's spend across
|
|
69
|
+
* every run they initiated vs their user budget). Attached only when the user tier
|
|
70
|
+
* is active (a limit or env cap is set).
|
|
71
|
+
*/
|
|
72
|
+
userSpend: v.optional(spendStatusSchema),
|
|
73
|
+
/**
|
|
74
|
+
* The signed-in caller's editable per-user settings (holds the user-tier budget),
|
|
75
|
+
* so the budget screen can render the current value without a separate fetch.
|
|
76
|
+
*/
|
|
77
|
+
userSettings: v.optional(userSettingsSchema),
|
|
78
|
+
/**
|
|
79
|
+
* Operator hard ceilings on the account/user budget tiers (from the deployment env
|
|
80
|
+
* vars). Attached so the budget configuration screens can show the hard limit and
|
|
81
|
+
* cap the input. Absent ⇒ this facade sets no ceilings.
|
|
82
|
+
*/
|
|
83
|
+
budgetCaps: v.optional(budgetCapsSchema),
|
|
59
84
|
/**
|
|
60
85
|
* Open human-actionable notifications for this workspace (PRs awaiting a merge
|
|
61
86
|
* decision, completed pipelines awaiting confirmation, CI that gave up). Carried
|
package/dist/snapshot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAEtD,kFAAkF;AAClF,uEAAuE;AACvE,+EAA+E;AAC/E,8BAA8B;AAE9B,4EAA4E;AAC5E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB;;;;;OAKG;IACH,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;CAChD,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,SAAS,EAAE,eAAe;IAC1B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;IAC5B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC;IAC5C;;;;;OAKG;IACH,aAAa,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtD;;;;;OAKG;IACH,mBAAmB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClE
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/** A user's settings. */
|
|
3
|
+
export declare const userSettingsSchema: v.ObjectSchema<{
|
|
4
|
+
/**
|
|
5
|
+
* The user-tier monthly spend budget (base pricing currency): a ceiling on what
|
|
6
|
+
* this user's initiated runs may spend across every workspace this period. Null ⇒
|
|
7
|
+
* no user-level limit configured; the effective user budget then falls back to the
|
|
8
|
+
* operator env cap (`BUDGET_MAX_MONTHLY_PER_USER`) if set, else unlimited.
|
|
9
|
+
*/
|
|
10
|
+
readonly spendMonthlyLimit: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>;
|
|
11
|
+
}, undefined>;
|
|
12
|
+
export type UserSettings = v.InferOutput<typeof userSettingsSchema>;
|
|
13
|
+
/** Built-in defaults used when a user has no row yet. */
|
|
14
|
+
export declare const DEFAULT_USER_SETTINGS: UserSettings;
|
|
15
|
+
/** Update the signed-in user's settings (full replace of the supplied fields). */
|
|
16
|
+
export declare const updateUserSettingsSchema: v.ObjectSchema<{
|
|
17
|
+
readonly spendMonthlyLimit: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>, undefined>;
|
|
18
|
+
}, undefined>;
|
|
19
|
+
export type UpdateUserSettingsInput = v.InferOutput<typeof updateUserSettingsSchema>;
|
|
20
|
+
//# sourceMappingURL=user-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-settings.d.ts","sourceRoot":"","sources":["../src/user-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAU5B,yBAAyB;AACzB,eAAO,MAAM,kBAAkB;IAC7B;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE,yDAAyD;AACzD,eAAO,MAAM,qBAAqB,EAAE,YAEnC,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,wBAAwB;;aAEnC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
import { monthlyBudgetLimitSchema } from './accounts.js';
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Per-USER settings. Scoped to the signed-in user (not a workspace or account),
|
|
5
|
+
// persisted in the `user_settings` table (PK `user_id`) on both runtime facades.
|
|
6
|
+
// Today it holds only the user-tier spend budget (the third budget tier alongside
|
|
7
|
+
// the per-workspace and per-account limits); see the tiered-budgets initiative.
|
|
8
|
+
// ---------------------------------------------------------------------------
|
|
9
|
+
/** A user's settings. */
|
|
10
|
+
export const userSettingsSchema = v.object({
|
|
11
|
+
/**
|
|
12
|
+
* The user-tier monthly spend budget (base pricing currency): a ceiling on what
|
|
13
|
+
* this user's initiated runs may spend across every workspace this period. Null ⇒
|
|
14
|
+
* no user-level limit configured; the effective user budget then falls back to the
|
|
15
|
+
* operator env cap (`BUDGET_MAX_MONTHLY_PER_USER`) if set, else unlimited.
|
|
16
|
+
*/
|
|
17
|
+
spendMonthlyLimit: v.nullable(monthlyBudgetLimitSchema),
|
|
18
|
+
});
|
|
19
|
+
/** Built-in defaults used when a user has no row yet. */
|
|
20
|
+
export const DEFAULT_USER_SETTINGS = {
|
|
21
|
+
spendMonthlyLimit: null,
|
|
22
|
+
};
|
|
23
|
+
/** Update the signed-in user's settings (full replace of the supplied fields). */
|
|
24
|
+
export const updateUserSettingsSchema = v.object({
|
|
25
|
+
spendMonthlyLimit: v.optional(v.nullable(monthlyBudgetLimitSchema)),
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=user-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-settings.js","sourceRoot":"","sources":["../src/user-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAExD,8EAA8E;AAC9E,gFAAgF;AAChF,iFAAiF;AACjF,kFAAkF;AAClF,gFAAgF;AAChF,8EAA8E;AAE9E,yBAAyB;AACzB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC;;;;;OAKG;IACH,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CACxD,CAAC,CAAA;AAGF,yDAAyD;AACzD,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,iBAAiB,EAAE,IAAI;CACxB,CAAA;AAED,kFAAkF;AAClF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;CACpE,CAAC,CAAA"}
|