@cat-factory/contracts 0.39.0 → 0.40.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/agent-presentation.d.ts +2 -2
- package/dist/entities.d.ts +163 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +59 -0
- 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/notifications.d.ts +2 -2
- package/dist/notifications.d.ts.map +1 -1
- package/dist/notifications.js +1 -0
- package/dist/notifications.js.map +1 -1
- package/dist/result-views.d.ts +1 -1
- package/dist/result-views.d.ts.map +1 -1
- package/dist/result-views.js +1 -0
- package/dist/result-views.js.map +1 -1
- package/dist/routes/agent-runs.d.ts +60 -0
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +240 -0
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/human-review.d.ts +30 -0
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +150 -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/notifications.d.ts +3 -3
- package/dist/routes/slack.d.ts +3 -3
- package/dist/routes/visual-confirm.d.ts +956 -0
- package/dist/routes/visual-confirm.d.ts.map +1 -0
- package/dist/routes/visual-confirm.js +34 -0
- package/dist/routes/visual-confirm.js.map +1 -0
- package/dist/routes/workspace-settings.d.ts +3 -0
- package/dist/routes/workspace-settings.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +66 -4
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/slack.d.ts +2 -2
- package/dist/snapshot.d.ts +33 -2
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/testing.d.ts +38 -0
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +26 -0
- package/dist/testing.js.map +1 -1
- package/dist/visual-confirm.d.ts +8 -0
- package/dist/visual-confirm.d.ts.map +1 -0
- package/dist/visual-confirm.js +11 -0
- package/dist/visual-confirm.js.map +1 -0
- package/dist/workspace-settings.d.ts +7 -0
- package/dist/workspace-settings.d.ts.map +1 -1
- package/dist/workspace-settings.js +7 -0
- package/dist/workspace-settings.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visual-confirm.d.ts","sourceRoot":"","sources":["../../src/routes/visual-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqC,MAAM,yBAAyB,CAAA;AAC3F,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAc5B,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMvC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM1C,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMzC,CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ContractNoBody, defineApiContract, withObjectKeys } from '@toad-contracts/valibot';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
import { executionInstanceSchema } from '../entities.js';
|
|
4
|
+
import { requestVisualConfirmFixSchema } from '../visual-confirm.js';
|
|
5
|
+
import { errorResponses } from './_shared.js';
|
|
6
|
+
// ---------------------------------------------------------------------------
|
|
7
|
+
// Visual-confirmation gate route contracts. Mounted under `/workspaces/:workspaceId`,
|
|
8
|
+
// so the paths here are relative to that prefix. Each route drives the block's parked
|
|
9
|
+
// `visual-confirmation` step and returns the updated execution instance. See
|
|
10
|
+
// VisualConfirmationController in @cat-factory/server.
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
const blockIdParams = withObjectKeys(v.object({ blockId: v.string() }));
|
|
13
|
+
export const approveVisualConfirmContract = defineApiContract({
|
|
14
|
+
method: 'post',
|
|
15
|
+
requestPathParamsSchema: blockIdParams,
|
|
16
|
+
pathResolver: ({ blockId }) => `/blocks/${blockId}/visual-confirmation/approve`,
|
|
17
|
+
requestBodySchema: ContractNoBody,
|
|
18
|
+
responsesByStatusCode: { 200: executionInstanceSchema, ...errorResponses },
|
|
19
|
+
});
|
|
20
|
+
export const requestVisualConfirmFixContract = defineApiContract({
|
|
21
|
+
method: 'post',
|
|
22
|
+
requestPathParamsSchema: blockIdParams,
|
|
23
|
+
pathResolver: ({ blockId }) => `/blocks/${blockId}/visual-confirmation/request-fix`,
|
|
24
|
+
requestBodySchema: requestVisualConfirmFixSchema,
|
|
25
|
+
responsesByStatusCode: { 200: executionInstanceSchema, ...errorResponses },
|
|
26
|
+
});
|
|
27
|
+
export const recaptureVisualConfirmContract = defineApiContract({
|
|
28
|
+
method: 'post',
|
|
29
|
+
requestPathParamsSchema: blockIdParams,
|
|
30
|
+
pathResolver: ({ blockId }) => `/blocks/${blockId}/visual-confirmation/recapture`,
|
|
31
|
+
requestBodySchema: ContractNoBody,
|
|
32
|
+
responsesByStatusCode: { 200: executionInstanceSchema, ...errorResponses },
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=visual-confirm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visual-confirm.js","sourceRoot":"","sources":["../../src/routes/visual-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC3F,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,8EAA8E;AAC9E,sFAAsF;AACtF,sFAAsF;AACtF,6EAA6E;AAC7E,uDAAuD;AACvD,8EAA8E;AAE9E,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;IAC5D,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,aAAa;IACtC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,WAAW,OAAO,8BAA8B;IAC/E,iBAAiB,EAAE,cAAc;IACjC,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,iBAAiB,CAAC;IAC/D,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,aAAa;IACtC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,WAAW,OAAO,kCAAkC;IACnF,iBAAiB,EAAE,6BAA6B;IAChD,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;IAC9D,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,aAAa;IACtC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,WAAW,OAAO,gCAAgC;IACjF,iBAAiB,EAAE,cAAc;IACjC,qBAAqB,EAAE,EAAE,GAAG,EAAE,uBAAuB,EAAE,GAAG,cAAc,EAAE;CAC3E,CAAC,CAAA"}
|
|
@@ -30,6 +30,7 @@ export declare const getWorkspaceSettingsContract: {
|
|
|
30
30
|
readonly taskLimitShared: import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 1000, undefined>]>, undefined>;
|
|
31
31
|
readonly taskLimitPerType: import("valibot").NullableSchema<import("valibot").RecordSchema<import("valibot").PicklistSchema<["feature", "bug", "document", "spike"], undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 1000, undefined>]>, undefined>, undefined>;
|
|
32
32
|
readonly storeAgentContext: import("valibot").BooleanSchema<undefined>;
|
|
33
|
+
readonly artifactRetentionDays: import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 3650, undefined>]>;
|
|
33
34
|
readonly kaizenEnabled: import("valibot").BooleanSchema<undefined>;
|
|
34
35
|
readonly delegateAgentsToRunnerPool: import("valibot").BooleanSchema<undefined>;
|
|
35
36
|
readonly delegateTestEnvToProvider: import("valibot").BooleanSchema<undefined>;
|
|
@@ -47,6 +48,7 @@ export declare const updateWorkspaceSettingsContract: {
|
|
|
47
48
|
readonly taskLimitShared: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 1000, undefined>]>, undefined>, undefined>;
|
|
48
49
|
readonly taskLimitPerType: import("valibot").OptionalSchema<import("valibot").NullableSchema<import("valibot").RecordSchema<import("valibot").PicklistSchema<["feature", "bug", "document", "spike"], undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 1000, undefined>]>, undefined>, undefined>, undefined>;
|
|
49
50
|
readonly storeAgentContext: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
|
|
51
|
+
readonly artifactRetentionDays: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 3650, undefined>]>, undefined>;
|
|
50
52
|
readonly kaizenEnabled: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
|
|
51
53
|
readonly delegateAgentsToRunnerPool: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
|
|
52
54
|
readonly delegateTestEnvToProvider: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
|
|
@@ -82,6 +84,7 @@ export declare const updateWorkspaceSettingsContract: {
|
|
|
82
84
|
readonly taskLimitShared: import("valibot").NullableSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 1000, undefined>]>, undefined>;
|
|
83
85
|
readonly taskLimitPerType: import("valibot").NullableSchema<import("valibot").RecordSchema<import("valibot").PicklistSchema<["feature", "bug", "document", "spike"], undefined>, import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 1000, undefined>]>, undefined>, undefined>;
|
|
84
86
|
readonly storeAgentContext: import("valibot").BooleanSchema<undefined>;
|
|
87
|
+
readonly artifactRetentionDays: import("valibot").SchemaWithPipe<readonly [import("valibot").NumberSchema<undefined>, import("valibot").IntegerAction<number, undefined>, import("valibot").MinValueAction<number, 1, undefined>, import("valibot").MaxValueAction<number, 3650, undefined>]>;
|
|
85
88
|
readonly kaizenEnabled: import("valibot").BooleanSchema<undefined>;
|
|
86
89
|
readonly delegateAgentsToRunnerPool: import("valibot").BooleanSchema<undefined>;
|
|
87
90
|
readonly delegateTestEnvToProvider: import("valibot").BooleanSchema<undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../../src/routes/workspace-settings.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,4BAA4B
|
|
1
|
+
{"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../../src/routes/workspace-settings.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIvC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK1C,CAAA"}
|
|
@@ -255,6 +255,14 @@ export declare const createWorkspaceContract: {
|
|
|
255
255
|
readonly severity: v.PicklistSchema<["low", "medium", "high", "critical"], undefined>;
|
|
256
256
|
}, undefined>, undefined>;
|
|
257
257
|
readonly environment: v.OptionalSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
|
|
258
|
+
readonly screenshots: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
259
|
+
readonly view: v.StringSchema<undefined>;
|
|
260
|
+
readonly artifactId: v.StringSchema<undefined>;
|
|
261
|
+
readonly hash: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
262
|
+
readonly width: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
263
|
+
readonly height: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
264
|
+
readonly referenceArtifactId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
265
|
+
}, undefined>, undefined>, undefined>;
|
|
258
266
|
}, undefined>, undefined>, undefined>;
|
|
259
267
|
}, undefined>, undefined>, undefined>;
|
|
260
268
|
readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
@@ -282,6 +290,28 @@ export declare const createWorkspaceContract: {
|
|
|
282
290
|
readonly findings: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
283
291
|
}, undefined>, undefined>, undefined>;
|
|
284
292
|
}, undefined>, undefined>, undefined>;
|
|
293
|
+
readonly visualConfirm: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
294
|
+
readonly phase: v.PicklistSchema<["awaiting_human", "fixing", "approved"], undefined>;
|
|
295
|
+
readonly pairs: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
296
|
+
readonly view: v.StringSchema<undefined>;
|
|
297
|
+
readonly actualArtifactId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
298
|
+
readonly referenceArtifactId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
299
|
+
}, undefined>, undefined>, undefined>;
|
|
300
|
+
readonly degradedReason: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
301
|
+
readonly attempts: v.NumberSchema<undefined>;
|
|
302
|
+
readonly maxAttempts: v.NumberSchema<undefined>;
|
|
303
|
+
readonly rounds: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
304
|
+
readonly findings: v.StringSchema<undefined>;
|
|
305
|
+
readonly helperKind: v.StringSchema<undefined>;
|
|
306
|
+
readonly jobId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
307
|
+
readonly outcome: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["completed", "failed"], undefined>, undefined>, undefined>;
|
|
308
|
+
readonly at: v.NumberSchema<undefined>;
|
|
309
|
+
}, undefined>, undefined>, undefined>;
|
|
310
|
+
readonly pendingAction: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
311
|
+
readonly type: v.PicklistSchema<["approve", "request-fix", "recapture"], undefined>;
|
|
312
|
+
readonly findings: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
313
|
+
}, undefined>, undefined>, undefined>;
|
|
314
|
+
}, undefined>, undefined>, undefined>;
|
|
285
315
|
readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
286
316
|
readonly id: v.StringSchema<undefined>;
|
|
287
317
|
readonly url: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
@@ -479,7 +509,7 @@ export declare const createWorkspaceContract: {
|
|
|
479
509
|
}, undefined>, undefined>;
|
|
480
510
|
readonly notifications: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
481
511
|
readonly id: v.StringSchema<undefined>;
|
|
482
|
-
readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "human_review", "followup_pending"], undefined>;
|
|
512
|
+
readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending"], undefined>;
|
|
483
513
|
readonly status: v.PicklistSchema<["open", "acted", "dismissed"], undefined>;
|
|
484
514
|
readonly severity: v.OptionalSchema<v.PicklistSchema<["normal", "urgent"], undefined>, undefined>;
|
|
485
515
|
readonly blockId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
@@ -613,6 +643,7 @@ export declare const createWorkspaceContract: {
|
|
|
613
643
|
readonly taskLimitShared: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>;
|
|
614
644
|
readonly taskLimitPerType: v.NullableSchema<v.RecordSchema<v.PicklistSchema<["feature", "bug", "document", "spike"], undefined>, v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>, undefined>;
|
|
615
645
|
readonly storeAgentContext: v.BooleanSchema<undefined>;
|
|
646
|
+
readonly artifactRetentionDays: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 3650, undefined>]>;
|
|
616
647
|
readonly kaizenEnabled: v.BooleanSchema<undefined>;
|
|
617
648
|
readonly delegateAgentsToRunnerPool: v.BooleanSchema<undefined>;
|
|
618
649
|
readonly delegateTestEnvToProvider: v.BooleanSchema<undefined>;
|
|
@@ -627,7 +658,7 @@ export declare const createWorkspaceContract: {
|
|
|
627
658
|
readonly color: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 40, undefined>]>;
|
|
628
659
|
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
629
660
|
readonly category: v.OptionalSchema<v.PicklistSchema<["review", "design", "build", "test", "docs", "gates"], undefined>, undefined>;
|
|
630
|
-
readonly resultView: v.OptionalSchema<v.PicklistSchema<readonly ["requirements-review", "clarity-review", "brainstorm", "tester", "human-test", "gate", "consensus-session", "generic-structured", "service-spec", "follow-ups"], undefined>, undefined>;
|
|
661
|
+
readonly resultView: v.OptionalSchema<v.PicklistSchema<readonly ["requirements-review", "clarity-review", "brainstorm", "tester", "human-test", "visual-confirm", "gate", "consensus-session", "generic-structured", "service-spec", "follow-ups"], undefined>, undefined>;
|
|
631
662
|
}, undefined>;
|
|
632
663
|
readonly container: v.BooleanSchema<undefined>;
|
|
633
664
|
}, undefined>, undefined>, undefined>;
|
|
@@ -854,6 +885,14 @@ export declare const getWorkspaceContract: {
|
|
|
854
885
|
readonly severity: v.PicklistSchema<["low", "medium", "high", "critical"], undefined>;
|
|
855
886
|
}, undefined>, undefined>;
|
|
856
887
|
readonly environment: v.OptionalSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
|
|
888
|
+
readonly screenshots: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
889
|
+
readonly view: v.StringSchema<undefined>;
|
|
890
|
+
readonly artifactId: v.StringSchema<undefined>;
|
|
891
|
+
readonly hash: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
892
|
+
readonly width: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
893
|
+
readonly height: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
894
|
+
readonly referenceArtifactId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
895
|
+
}, undefined>, undefined>, undefined>;
|
|
857
896
|
}, undefined>, undefined>, undefined>;
|
|
858
897
|
}, undefined>, undefined>, undefined>;
|
|
859
898
|
readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
@@ -881,6 +920,28 @@ export declare const getWorkspaceContract: {
|
|
|
881
920
|
readonly findings: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
882
921
|
}, undefined>, undefined>, undefined>;
|
|
883
922
|
}, undefined>, undefined>, undefined>;
|
|
923
|
+
readonly visualConfirm: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
924
|
+
readonly phase: v.PicklistSchema<["awaiting_human", "fixing", "approved"], undefined>;
|
|
925
|
+
readonly pairs: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
926
|
+
readonly view: v.StringSchema<undefined>;
|
|
927
|
+
readonly actualArtifactId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
928
|
+
readonly referenceArtifactId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
929
|
+
}, undefined>, undefined>, undefined>;
|
|
930
|
+
readonly degradedReason: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
931
|
+
readonly attempts: v.NumberSchema<undefined>;
|
|
932
|
+
readonly maxAttempts: v.NumberSchema<undefined>;
|
|
933
|
+
readonly rounds: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
934
|
+
readonly findings: v.StringSchema<undefined>;
|
|
935
|
+
readonly helperKind: v.StringSchema<undefined>;
|
|
936
|
+
readonly jobId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
937
|
+
readonly outcome: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["completed", "failed"], undefined>, undefined>, undefined>;
|
|
938
|
+
readonly at: v.NumberSchema<undefined>;
|
|
939
|
+
}, undefined>, undefined>, undefined>;
|
|
940
|
+
readonly pendingAction: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
941
|
+
readonly type: v.PicklistSchema<["approve", "request-fix", "recapture"], undefined>;
|
|
942
|
+
readonly findings: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
943
|
+
}, undefined>, undefined>, undefined>;
|
|
944
|
+
}, undefined>, undefined>, undefined>;
|
|
884
945
|
readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
885
946
|
readonly id: v.StringSchema<undefined>;
|
|
886
947
|
readonly url: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
@@ -1078,7 +1139,7 @@ export declare const getWorkspaceContract: {
|
|
|
1078
1139
|
}, undefined>, undefined>;
|
|
1079
1140
|
readonly notifications: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1080
1141
|
readonly id: v.StringSchema<undefined>;
|
|
1081
|
-
readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "human_review", "followup_pending"], undefined>;
|
|
1142
|
+
readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending"], undefined>;
|
|
1082
1143
|
readonly status: v.PicklistSchema<["open", "acted", "dismissed"], undefined>;
|
|
1083
1144
|
readonly severity: v.OptionalSchema<v.PicklistSchema<["normal", "urgent"], undefined>, undefined>;
|
|
1084
1145
|
readonly blockId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
@@ -1212,6 +1273,7 @@ export declare const getWorkspaceContract: {
|
|
|
1212
1273
|
readonly taskLimitShared: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>;
|
|
1213
1274
|
readonly taskLimitPerType: v.NullableSchema<v.RecordSchema<v.PicklistSchema<["feature", "bug", "document", "spike"], undefined>, v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>, undefined>;
|
|
1214
1275
|
readonly storeAgentContext: v.BooleanSchema<undefined>;
|
|
1276
|
+
readonly artifactRetentionDays: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 3650, undefined>]>;
|
|
1215
1277
|
readonly kaizenEnabled: v.BooleanSchema<undefined>;
|
|
1216
1278
|
readonly delegateAgentsToRunnerPool: v.BooleanSchema<undefined>;
|
|
1217
1279
|
readonly delegateTestEnvToProvider: v.BooleanSchema<undefined>;
|
|
@@ -1226,7 +1288,7 @@ export declare const getWorkspaceContract: {
|
|
|
1226
1288
|
readonly color: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 40, undefined>]>;
|
|
1227
1289
|
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
1228
1290
|
readonly category: v.OptionalSchema<v.PicklistSchema<["review", "design", "build", "test", "docs", "gates"], undefined>, undefined>;
|
|
1229
|
-
readonly resultView: v.OptionalSchema<v.PicklistSchema<readonly ["requirements-review", "clarity-review", "brainstorm", "tester", "human-test", "gate", "consensus-session", "generic-structured", "service-spec", "follow-ups"], undefined>, undefined>;
|
|
1291
|
+
readonly resultView: v.OptionalSchema<v.PicklistSchema<readonly ["requirements-review", "clarity-review", "brainstorm", "tester", "human-test", "visual-confirm", "gate", "consensus-session", "generic-structured", "service-spec", "follow-ups"], undefined>, undefined>;
|
|
1230
1292
|
}, undefined>;
|
|
1231
1293
|
readonly container: v.BooleanSchema<undefined>;
|
|
1232
1294
|
}, undefined>, undefined>, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgB5B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjC,CAAA;AAEF,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgB5B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA"}
|
package/dist/slack.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type SlackRoute = v.InferOutput<typeof slackRouteSchema>;
|
|
|
30
30
|
* type absent from `routes`, disabled, or with an empty channel does not post.
|
|
31
31
|
*/
|
|
32
32
|
export declare const slackNotificationSettingsSchema: v.ObjectSchema<{
|
|
33
|
-
readonly routes: v.RecordSchema<v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "human_review", "followup_pending"], undefined>, v.ObjectSchema<{
|
|
33
|
+
readonly routes: v.RecordSchema<v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending"], undefined>, v.ObjectSchema<{
|
|
34
34
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
35
35
|
/** A channel id (`C0123…`) or name (`#general`); empty = unrouted. */
|
|
36
36
|
readonly channel: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 200, undefined>]>;
|
|
@@ -83,7 +83,7 @@ export declare const connectSlackByTokenSchema: v.ObjectSchema<{
|
|
|
83
83
|
export type ConnectSlackByTokenInput = v.InferOutput<typeof connectSlackByTokenSchema>;
|
|
84
84
|
/** Replace a workspace's Slack notification routing. */
|
|
85
85
|
export declare const updateSlackSettingsSchema: v.ObjectSchema<{
|
|
86
|
-
readonly routes: v.RecordSchema<v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "human_review", "followup_pending"], undefined>, v.ObjectSchema<{
|
|
86
|
+
readonly routes: v.RecordSchema<v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending"], undefined>, v.ObjectSchema<{
|
|
87
87
|
readonly enabled: v.BooleanSchema<undefined>;
|
|
88
88
|
/** A channel id (`C0123…`) or name (`#general`); empty = unrouted. */
|
|
89
89
|
readonly channel: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 200, undefined>]>;
|
package/dist/snapshot.d.ts
CHANGED
|
@@ -187,6 +187,14 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
|
|
|
187
187
|
readonly severity: v.PicklistSchema<["low", "medium", "high", "critical"], undefined>;
|
|
188
188
|
}, undefined>, undefined>;
|
|
189
189
|
readonly environment: v.OptionalSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
|
|
190
|
+
readonly screenshots: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
191
|
+
readonly view: v.StringSchema<undefined>;
|
|
192
|
+
readonly artifactId: v.StringSchema<undefined>;
|
|
193
|
+
readonly hash: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
194
|
+
readonly width: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
195
|
+
readonly height: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
196
|
+
readonly referenceArtifactId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
197
|
+
}, undefined>, undefined>, undefined>;
|
|
190
198
|
}, undefined>, undefined>, undefined>;
|
|
191
199
|
}, undefined>, undefined>, undefined>;
|
|
192
200
|
readonly humanTest: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
@@ -214,6 +222,28 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
|
|
|
214
222
|
readonly findings: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
215
223
|
}, undefined>, undefined>, undefined>;
|
|
216
224
|
}, undefined>, undefined>, undefined>;
|
|
225
|
+
readonly visualConfirm: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
226
|
+
readonly phase: v.PicklistSchema<["awaiting_human", "fixing", "approved"], undefined>;
|
|
227
|
+
readonly pairs: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
228
|
+
readonly view: v.StringSchema<undefined>;
|
|
229
|
+
readonly actualArtifactId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
230
|
+
readonly referenceArtifactId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
231
|
+
}, undefined>, undefined>, undefined>;
|
|
232
|
+
readonly degradedReason: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
233
|
+
readonly attempts: v.NumberSchema<undefined>;
|
|
234
|
+
readonly maxAttempts: v.NumberSchema<undefined>;
|
|
235
|
+
readonly rounds: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
236
|
+
readonly findings: v.StringSchema<undefined>;
|
|
237
|
+
readonly helperKind: v.StringSchema<undefined>;
|
|
238
|
+
readonly jobId: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
239
|
+
readonly outcome: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["completed", "failed"], undefined>, undefined>, undefined>;
|
|
240
|
+
readonly at: v.NumberSchema<undefined>;
|
|
241
|
+
}, undefined>, undefined>, undefined>;
|
|
242
|
+
readonly pendingAction: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
243
|
+
readonly type: v.PicklistSchema<["approve", "request-fix", "recapture"], undefined>;
|
|
244
|
+
readonly findings: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
245
|
+
}, undefined>, undefined>, undefined>;
|
|
246
|
+
}, undefined>, undefined>, undefined>;
|
|
217
247
|
readonly environment: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
218
248
|
readonly id: v.StringSchema<undefined>;
|
|
219
249
|
readonly url: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
@@ -427,7 +457,7 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
|
|
|
427
457
|
*/
|
|
428
458
|
readonly notifications: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
429
459
|
readonly id: v.StringSchema<undefined>;
|
|
430
|
-
readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "human_review", "followup_pending"], undefined>;
|
|
460
|
+
readonly type: v.PicklistSchema<["merge_review", "pipeline_complete", "ci_failed", "test_failed", "requirement_review", "clarity_review", "release_regression", "decision_required", "human_test_ready", "visual_confirmation_ready", "human_review", "followup_pending"], undefined>;
|
|
431
461
|
readonly status: v.PicklistSchema<["open", "acted", "dismissed"], undefined>;
|
|
432
462
|
readonly severity: v.OptionalSchema<v.PicklistSchema<["normal", "urgent"], undefined>, undefined>;
|
|
433
463
|
readonly blockId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
@@ -611,6 +641,7 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
|
|
|
611
641
|
readonly taskLimitShared: v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>;
|
|
612
642
|
readonly taskLimitPerType: v.NullableSchema<v.RecordSchema<v.PicklistSchema<["feature", "bug", "document", "spike"], undefined>, v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>, undefined>;
|
|
613
643
|
readonly storeAgentContext: v.BooleanSchema<undefined>;
|
|
644
|
+
readonly artifactRetentionDays: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 3650, undefined>]>;
|
|
614
645
|
readonly kaizenEnabled: v.BooleanSchema<undefined>;
|
|
615
646
|
readonly delegateAgentsToRunnerPool: v.BooleanSchema<undefined>;
|
|
616
647
|
readonly delegateTestEnvToProvider: v.BooleanSchema<undefined>;
|
|
@@ -632,7 +663,7 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
|
|
|
632
663
|
readonly color: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 40, undefined>]>;
|
|
633
664
|
readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 500, undefined>]>;
|
|
634
665
|
readonly category: v.OptionalSchema<v.PicklistSchema<["review", "design", "build", "test", "docs", "gates"], undefined>, undefined>;
|
|
635
|
-
readonly resultView: v.OptionalSchema<v.PicklistSchema<readonly ["requirements-review", "clarity-review", "brainstorm", "tester", "human-test", "gate", "consensus-session", "generic-structured", "service-spec", "follow-ups"], undefined>, undefined>;
|
|
666
|
+
readonly resultView: v.OptionalSchema<v.PicklistSchema<readonly ["requirements-review", "clarity-review", "brainstorm", "tester", "human-test", "visual-confirm", "gate", "consensus-session", "generic-structured", "service-spec", "follow-ups"], undefined>, undefined>;
|
|
636
667
|
}, undefined>;
|
|
637
668
|
readonly container: v.BooleanSchema<undefined>;
|
|
638
669
|
}, undefined>, undefined>, undefined>;
|
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;AAyB5B,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAyB5B,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKlC;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;IAEH;;;;;;;;OAQG;;;;;IAOH;;;OAGG;;;;IAEH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;;;;;;;IAEH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;IAGH;;;;OAIG;;;;;;;;;;;;;;IAEH;;;;;;OAMG;;;;;;;;;;;;;IAEH;;;;;;;OAOG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA"}
|
package/dist/testing.d.ts
CHANGED
|
@@ -30,6 +30,27 @@ export declare const testOutcomeSchema: v.ObjectSchema<{
|
|
|
30
30
|
readonly detail: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
31
31
|
}, undefined>;
|
|
32
32
|
export type TestOutcome = v.InferOutput<typeof testOutcomeSchema>;
|
|
33
|
+
/**
|
|
34
|
+
* One screenshot the UI tester (`tester-ui`) captured of a distinct view while
|
|
35
|
+
* exercising the functionality. The bytes are uploaded to the binary-artifact store
|
|
36
|
+
* during the run (so they never bloat the report JSON); this entry references the
|
|
37
|
+
* stored artifact by id. `referenceArtifactId` links the matching reference design
|
|
38
|
+
* image (when one was supplied) so the visual-confirmation gate can pair actual vs
|
|
39
|
+
* reference by `view`.
|
|
40
|
+
*/
|
|
41
|
+
export declare const testScreenshotSchema: v.ObjectSchema<{
|
|
42
|
+
/** Logical view name (pairs with a reference design image of the same view). */
|
|
43
|
+
readonly view: v.StringSchema<undefined>;
|
|
44
|
+
/** The stored artifact id (in the binary-artifact store) for the captured PNG. */
|
|
45
|
+
readonly artifactId: v.StringSchema<undefined>;
|
|
46
|
+
/** Content hash — drives non-redundant capture (one shot per distinct view). */
|
|
47
|
+
readonly hash: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
48
|
+
readonly width: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
49
|
+
readonly height: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
50
|
+
/** The matching reference design image's artifact id, when one was supplied. */
|
|
51
|
+
readonly referenceArtifactId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
52
|
+
}, undefined>;
|
|
53
|
+
export type TestScreenshot = v.InferOutput<typeof testScreenshotSchema>;
|
|
33
54
|
/**
|
|
34
55
|
* A Tester's structured report. `greenlight` is the gate's verdict: true means the
|
|
35
56
|
* change is safe to release (no blocking concerns); false routes the run through
|
|
@@ -68,6 +89,23 @@ export declare const testReportSchema: v.ObjectSchema<{
|
|
|
68
89
|
}, undefined>, undefined>;
|
|
69
90
|
/** Which environment the suite ran in, echoed back for the UI. */
|
|
70
91
|
readonly environment: v.OptionalSchema<v.PicklistSchema<["local", "ephemeral"], undefined>, undefined>;
|
|
92
|
+
/**
|
|
93
|
+
* Non-redundant screenshots of the views the UI tester exercised (one per distinct
|
|
94
|
+
* view). Empty/absent for the API tester (`tester-api`), which captures none. Backs
|
|
95
|
+
* the visual-confirmation gate's actual-vs-reference review.
|
|
96
|
+
*/
|
|
97
|
+
readonly screenshots: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
98
|
+
/** Logical view name (pairs with a reference design image of the same view). */
|
|
99
|
+
readonly view: v.StringSchema<undefined>;
|
|
100
|
+
/** The stored artifact id (in the binary-artifact store) for the captured PNG. */
|
|
101
|
+
readonly artifactId: v.StringSchema<undefined>;
|
|
102
|
+
/** Content hash — drives non-redundant capture (one shot per distinct view). */
|
|
103
|
+
readonly hash: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
104
|
+
readonly width: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
105
|
+
readonly height: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
106
|
+
/** The matching reference design image's artifact id, when one was supplied. */
|
|
107
|
+
readonly referenceArtifactId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
108
|
+
}, undefined>, undefined>, undefined>;
|
|
71
109
|
}, undefined>;
|
|
72
110
|
export type TestReport = v.InferOutput<typeof testReportSchema>;
|
|
73
111
|
/** Parse-or-throw a test report payload an agent returned (the engine validates it). */
|
package/dist/testing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgB5B;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,qDAAqC,CAAA;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,oDAAoD;AACpD,eAAO,MAAM,yBAAyB,oEAAoD,CAAA;AAC1F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,yFAAyF;AACzF,eAAO,MAAM,iBAAiB;IAC5B,oCAAoC;;IAEpC,oDAAoD;;IAEpD,uDAAuD;;aAEvD,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB;IAC5B,4DAA4D;;IAE5D,sDAAsD;;IAEtD,uEAAuE;;aAEvE,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;IAC3B,sEAAsE;;IAEtE,0DAA0D;;IAE1D,2EAA2E;;IAE3E,wBAAwB;;
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAgB5B;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,qDAAqC,CAAA;AACvE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,oDAAoD;AACpD,eAAO,MAAM,yBAAyB,oEAAoD,CAAA;AAC1F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,yFAAyF;AACzF,eAAO,MAAM,iBAAiB;IAC5B,oCAAoC;;IAEpC,oDAAoD;;IAEpD,uDAAuD;;aAEvD,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,8DAA8D;AAC9D,eAAO,MAAM,iBAAiB;IAC5B,4DAA4D;;IAE5D,sDAAsD;;IAEtD,uEAAuE;;aAEvE,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;IAC/B,gFAAgF;;IAEhF,kFAAkF;;IAElF,gFAAgF;;;;IAIhF,gFAAgF;;aAEhF,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;IAC3B,sEAAsE;;IAEtE,0DAA0D;;IAE1D,2EAA2E;;IAE3E,wBAAwB;;QA7CxB,4DAA4D;;QAE5D,sDAAsD;;QAEtD,uEAAuE;;;IA2CvE;;;;OAIG;;QA9DH,oCAAoC;;QAEpC,oDAAoD;;QAEpD,uDAAuD;;;IA4DvD,kEAAkE;;IAElE;;;;OAIG;;QAzCH,gFAAgF;;QAEhF,kFAAkF;;QAElF,gFAAgF;;;;QAIhF,gFAAgF;;;aAmChF,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAE1D"}
|
package/dist/testing.js
CHANGED
|
@@ -39,6 +39,26 @@ export const testOutcomeSchema = v.object({
|
|
|
39
39
|
/** Optional detail (the failure message, why it was skipped, etc.). */
|
|
40
40
|
detail: v.optional(v.string()),
|
|
41
41
|
});
|
|
42
|
+
/**
|
|
43
|
+
* One screenshot the UI tester (`tester-ui`) captured of a distinct view while
|
|
44
|
+
* exercising the functionality. The bytes are uploaded to the binary-artifact store
|
|
45
|
+
* during the run (so they never bloat the report JSON); this entry references the
|
|
46
|
+
* stored artifact by id. `referenceArtifactId` links the matching reference design
|
|
47
|
+
* image (when one was supplied) so the visual-confirmation gate can pair actual vs
|
|
48
|
+
* reference by `view`.
|
|
49
|
+
*/
|
|
50
|
+
export const testScreenshotSchema = v.object({
|
|
51
|
+
/** Logical view name (pairs with a reference design image of the same view). */
|
|
52
|
+
view: v.string(),
|
|
53
|
+
/** The stored artifact id (in the binary-artifact store) for the captured PNG. */
|
|
54
|
+
artifactId: v.string(),
|
|
55
|
+
/** Content hash — drives non-redundant capture (one shot per distinct view). */
|
|
56
|
+
hash: v.optional(v.string()),
|
|
57
|
+
width: v.optional(v.number()),
|
|
58
|
+
height: v.optional(v.number()),
|
|
59
|
+
/** The matching reference design image's artifact id, when one was supplied. */
|
|
60
|
+
referenceArtifactId: v.optional(v.string()),
|
|
61
|
+
});
|
|
42
62
|
/**
|
|
43
63
|
* A Tester's structured report. `greenlight` is the gate's verdict: true means the
|
|
44
64
|
* change is safe to release (no blocking concerns); false routes the run through
|
|
@@ -63,6 +83,12 @@ export const testReportSchema = v.object({
|
|
|
63
83
|
concerns: v.array(testConcernSchema),
|
|
64
84
|
/** Which environment the suite ran in, echoed back for the UI. */
|
|
65
85
|
environment: v.optional(testEnvironmentSchema),
|
|
86
|
+
/**
|
|
87
|
+
* Non-redundant screenshots of the views the UI tester exercised (one per distinct
|
|
88
|
+
* view). Empty/absent for the API tester (`tester-api`), which captures none. Backs
|
|
89
|
+
* the visual-confirmation gate's actual-vs-reference review.
|
|
90
|
+
*/
|
|
91
|
+
screenshots: v.optional(v.array(testScreenshotSchema)),
|
|
66
92
|
});
|
|
67
93
|
/** Parse-or-throw a test report payload an agent returned (the engine validates it). */
|
|
68
94
|
export function parseTestReport(value) {
|
package/dist/testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8EAA8E;AAC9E,iCAAiC;AACjC,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,kFAAkF;AAClF,6EAA6E;AAC7E,2EAA2E;AAC3E,+EAA+E;AAC/E,gFAAgF;AAChF,iFAAiF;AACjF,mDAAmD;AACnD,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;AAGvE,oDAAoD;AACpD,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AAG1F,yFAAyF;AACzF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,oCAAoC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,oDAAoD;IACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,uDAAuD;IACvD,QAAQ,EAAE,yBAAyB;CACpC,CAAC,CAAA;AAGF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,4DAA4D;IAC5D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,sDAAsD;IACtD,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACnD,uEAAuE;IACvE,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC/B,CAAC,CAAA;AAGF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,sEAAsE;IACtE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;IACvB,0DAA0D;IAC1D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,2EAA2E;IAC3E,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC3B,wBAAwB;IACxB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACpC;;;;OAIG;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC;IACpC,kEAAkE;IAClE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
/** Body for "the human reviewed the screenshots and asked for a fix" → dispatches the `fixer`. */
|
|
3
|
+
export declare const requestVisualConfirmFixSchema: v.ObjectSchema<{
|
|
4
|
+
/** The human's findings: what looks wrong in the UI and what the fixer should change. */
|
|
5
|
+
readonly findings: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
6
|
+
}, undefined>;
|
|
7
|
+
export type RequestVisualConfirmFixInput = v.InferOutput<typeof requestVisualConfirmFixSchema>;
|
|
8
|
+
//# sourceMappingURL=visual-confirm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visual-confirm.d.ts","sourceRoot":"","sources":["../src/visual-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAO5B,kGAAkG;AAClG,eAAO,MAAM,6BAA6B;IACxC,yFAAyF;;aAEzF,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
// Wire contracts for the visual-confirmation gate's run-driving actions. The gate gathers the
|
|
3
|
+
// UI tester's screenshots + the uploaded reference designs, parks for a human to review them,
|
|
4
|
+
// and then drives one of a small set of actions: approve (advance), request a fix from findings
|
|
5
|
+
// (dispatches the Tester's `fixer`), or recapture (refresh the pairs). Only `request-fix` has a body.
|
|
6
|
+
/** Body for "the human reviewed the screenshots and asked for a fix" → dispatches the `fixer`. */
|
|
7
|
+
export const requestVisualConfirmFixSchema = v.object({
|
|
8
|
+
/** The human's findings: what looks wrong in the UI and what the fixer should change. */
|
|
9
|
+
findings: v.pipe(v.string(), v.minLength(1)),
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=visual-confirm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"visual-confirm.js","sourceRoot":"","sources":["../src/visual-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAE5B,8FAA8F;AAC9F,8FAA8F;AAC9F,gGAAgG;AAChG,sGAAsG;AAEtG,kGAAkG;AAClG,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,yFAAyF;IACzF,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAC7C,CAAC,CAAA"}
|
|
@@ -32,6 +32,12 @@ export declare const workspaceSettingsSchema: v.ObjectSchema<{
|
|
|
32
32
|
* suppressed when the deployment disables prompt recording (`LLM_RECORD_PROMPTS`).
|
|
33
33
|
*/
|
|
34
34
|
readonly storeAgentContext: v.BooleanSchema<undefined>;
|
|
35
|
+
/**
|
|
36
|
+
* How many days captured UI screenshots + uploaded reference design images (the
|
|
37
|
+
* binary artifacts backing the visual-confirmation gate) are retained before the
|
|
38
|
+
* cleanup sweep deletes them — bytes and metadata. Default 14. Bounded 1–3650.
|
|
39
|
+
*/
|
|
40
|
+
readonly artifactRetentionDays: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 3650, undefined>]>;
|
|
35
41
|
/**
|
|
36
42
|
* Whether the Kaizen agent grades agent steps after each run completes and
|
|
37
43
|
* recommends prompt/model improvements. On by default. When off, no gradings are
|
|
@@ -77,6 +83,7 @@ export declare const updateWorkspaceSettingsSchema: v.ObjectSchema<{
|
|
|
77
83
|
readonly taskLimitShared: 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>;
|
|
78
84
|
readonly taskLimitPerType: v.OptionalSchema<v.NullableSchema<v.RecordSchema<v.PicklistSchema<["feature", "bug", "document", "spike"], undefined>, v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>, undefined>, undefined>;
|
|
79
85
|
readonly storeAgentContext: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
86
|
+
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>;
|
|
80
87
|
readonly kaizenEnabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
81
88
|
readonly delegateAgentsToRunnerPool: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
82
89
|
readonly delegateTestEnvToProvider: v.OptionalSchema<v.BooleanSchema<undefined>, 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,gRAA8C,CAAA;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAoB3E,sCAAsC;AACtC,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH,kEAAkE;;IAElE,8EAA8E;;IAE9E,mFAAmF;;IAEnF;;;;;;;OAOG;;IAEH;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH;;;;;;OAMG;;IAEH,6EAA6E;;IAE7E;;;;;;;;;;OAUG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,mFAAmF;AACnF,eAAO,MAAM,6BAA6B
|
|
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,gRAA8C,CAAA;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAoB3E,sCAAsC;AACtC,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH,kEAAkE;;IAElE,8EAA8E;;IAE9E,mFAAmF;;IAEnF;;;;;;;OAOG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH;;;;;;OAMG;;IAEH,6EAA6E;;IAE7E;;;;;;;;;;OAUG;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,mFAAmF;AACnF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;aAgBxC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
|
|
@@ -49,6 +49,12 @@ export const workspaceSettingsSchema = v.object({
|
|
|
49
49
|
* suppressed when the deployment disables prompt recording (`LLM_RECORD_PROMPTS`).
|
|
50
50
|
*/
|
|
51
51
|
storeAgentContext: v.boolean(),
|
|
52
|
+
/**
|
|
53
|
+
* How many days captured UI screenshots + uploaded reference design images (the
|
|
54
|
+
* binary artifacts backing the visual-confirmation gate) are retained before the
|
|
55
|
+
* cleanup sweep deletes them — bytes and metadata. Default 14. Bounded 1–3650.
|
|
56
|
+
*/
|
|
57
|
+
artifactRetentionDays: v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(3650)),
|
|
52
58
|
/**
|
|
53
59
|
* Whether the Kaizen agent grades agent steps after each run completes and
|
|
54
60
|
* recommends prompt/model improvements. On by default. When off, no gradings are
|
|
@@ -93,6 +99,7 @@ export const updateWorkspaceSettingsSchema = v.object({
|
|
|
93
99
|
taskLimitShared: v.optional(v.nullable(limitSchema)),
|
|
94
100
|
taskLimitPerType: v.optional(v.nullable(taskLimitPerTypeSchema)),
|
|
95
101
|
storeAgentContext: v.optional(v.boolean()),
|
|
102
|
+
artifactRetentionDays: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(3650))),
|
|
96
103
|
kaizenEnabled: v.optional(v.boolean()),
|
|
97
104
|
delegateAgentsToRunnerPool: v.optional(v.boolean()),
|
|
98
105
|
delegateTestEnvToProvider: v.optional(v.boolean()),
|
|
@@ -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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"}
|