@cat-factory/contracts 0.121.2 → 0.123.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.
Files changed (70) hide show
  1. package/dist/brainstorm.d.ts +2 -0
  2. package/dist/brainstorm.d.ts.map +1 -1
  3. package/dist/clarity.d.ts +2 -0
  4. package/dist/clarity.d.ts.map +1 -1
  5. package/dist/entities.d.ts +126 -2
  6. package/dist/entities.d.ts.map +1 -1
  7. package/dist/entities.js +71 -2
  8. package/dist/entities.js.map +1 -1
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/merge.d.ts +7 -7
  14. package/dist/merge.d.ts.map +1 -1
  15. package/dist/merge.js +4 -4
  16. package/dist/merge.js.map +1 -1
  17. package/dist/requests.d.ts +19 -8
  18. package/dist/requests.d.ts.map +1 -1
  19. package/dist/requests.js +10 -3
  20. package/dist/requests.js.map +1 -1
  21. package/dist/requirements.d.ts +63 -8
  22. package/dist/requirements.d.ts.map +1 -1
  23. package/dist/requirements.js +37 -8
  24. package/dist/requirements.js.map +1 -1
  25. package/dist/routes/agent-runs.d.ts +6 -0
  26. package/dist/routes/agent-runs.d.ts.map +1 -1
  27. package/dist/routes/board.d.ts +18 -18
  28. package/dist/routes/brainstorm.d.ts +8 -0
  29. package/dist/routes/brainstorm.d.ts.map +1 -1
  30. package/dist/routes/clarity.d.ts +8 -0
  31. package/dist/routes/clarity.d.ts.map +1 -1
  32. package/dist/routes/execution.d.ts +68 -2
  33. package/dist/routes/execution.d.ts.map +1 -1
  34. package/dist/routes/execution.js +8 -1
  35. package/dist/routes/execution.js.map +1 -1
  36. package/dist/routes/human-review.d.ts +3 -0
  37. package/dist/routes/human-review.d.ts.map +1 -1
  38. package/dist/routes/human-test.d.ts +15 -0
  39. package/dist/routes/human-test.d.ts.map +1 -1
  40. package/dist/routes/index.d.ts +1 -0
  41. package/dist/routes/index.d.ts.map +1 -1
  42. package/dist/routes/index.js +1 -0
  43. package/dist/routes/index.js.map +1 -1
  44. package/dist/routes/initiative.d.ts +1 -1
  45. package/dist/routes/merge.d.ts +6 -6
  46. package/dist/routes/merge.d.ts.map +1 -1
  47. package/dist/routes/merge.js +20 -20
  48. package/dist/routes/merge.js.map +1 -1
  49. package/dist/routes/pipelines.d.ts +24 -0
  50. package/dist/routes/pipelines.d.ts.map +1 -1
  51. package/dist/routes/requirements.d.ts +31 -2
  52. package/dist/routes/requirements.d.ts.map +1 -1
  53. package/dist/routes/tasks.d.ts +3 -3
  54. package/dist/routes/test-secrets.d.ts +135 -0
  55. package/dist/routes/test-secrets.d.ts.map +1 -0
  56. package/dist/routes/test-secrets.js +30 -0
  57. package/dist/routes/test-secrets.js.map +1 -0
  58. package/dist/routes/visual-confirm.d.ts +9 -0
  59. package/dist/routes/visual-confirm.d.ts.map +1 -1
  60. package/dist/routes/workspaces.d.ts +18 -6
  61. package/dist/routes/workspaces.d.ts.map +1 -1
  62. package/dist/snapshot.d.ts +10 -4
  63. package/dist/snapshot.d.ts.map +1 -1
  64. package/dist/snapshot.js +4 -4
  65. package/dist/snapshot.js.map +1 -1
  66. package/dist/test-secrets.d.ts +71 -0
  67. package/dist/test-secrets.d.ts.map +1 -0
  68. package/dist/test-secrets.js +100 -0
  69. package/dist/test-secrets.js.map +1 -0
  70. package/package.json +1 -1
@@ -0,0 +1,135 @@
1
+ import { ContractNoBody } from '@toad-contracts/valibot';
2
+ export declare const getServiceTestSecretsContract: {
3
+ readonly method: "get";
4
+ readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
5
+ blockId: import("valibot").StringSchema<undefined>;
6
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
7
+ readonly pathResolver: ({ blockId }: {
8
+ blockId: string;
9
+ }) => string;
10
+ readonly responsesByStatusCode: {
11
+ readonly '4xx': import("valibot").ObjectSchema<{
12
+ readonly error: import("valibot").ObjectSchema<{
13
+ readonly code: import("valibot").StringSchema<undefined>;
14
+ readonly message: import("valibot").StringSchema<undefined>;
15
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
16
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
17
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
18
+ readonly message: import("valibot").StringSchema<undefined>;
19
+ }, undefined>, undefined>, undefined>;
20
+ }, undefined>;
21
+ }, undefined>;
22
+ readonly '5xx': import("valibot").ObjectSchema<{
23
+ readonly error: import("valibot").ObjectSchema<{
24
+ readonly code: import("valibot").StringSchema<undefined>;
25
+ readonly message: import("valibot").StringSchema<undefined>;
26
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
27
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
28
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
29
+ readonly message: import("valibot").StringSchema<undefined>;
30
+ }, undefined>, undefined>, undefined>;
31
+ }, undefined>;
32
+ }, undefined>;
33
+ readonly 200: import("valibot").ObjectSchema<{
34
+ readonly blockId: import("valibot").StringSchema<undefined>;
35
+ readonly entries: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
36
+ readonly key: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 128, undefined>, import("valibot").RegexAction<string, "must be a valid environment variable name (letters, digits and underscores, not starting with a digit)">, import("valibot").CheckAction<string, "must not be a reserved/toolchain environment variable name (e.g. PATH, HOME, NODE_OPTIONS, npm_config_*, GIT_*)">]>;
37
+ readonly description: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MaxLengthAction<string, 500, undefined>]>;
38
+ }, undefined>, undefined>;
39
+ }, undefined>;
40
+ };
41
+ };
42
+ export declare const setServiceTestSecretsContract: {
43
+ readonly method: "put";
44
+ readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
45
+ blockId: import("valibot").StringSchema<undefined>;
46
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
47
+ readonly pathResolver: ({ blockId }: {
48
+ blockId: string;
49
+ }) => string;
50
+ readonly requestBodySchema: import("valibot").SchemaWithPipe<readonly [import("valibot").ObjectSchema<{
51
+ readonly entries: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
52
+ readonly key: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 128, undefined>, import("valibot").RegexAction<string, "must be a valid environment variable name (letters, digits and underscores, not starting with a digit)">, import("valibot").CheckAction<string, "must not be a reserved/toolchain environment variable name (e.g. PATH, HOME, NODE_OPTIONS, npm_config_*, GIT_*)">]>;
53
+ readonly description: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MaxLengthAction<string, 500, undefined>]>;
54
+ readonly value: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 8192, undefined>]>;
55
+ }, undefined>, undefined>;
56
+ }, undefined>, import("valibot").CheckAction<{
57
+ entries: {
58
+ key: string;
59
+ description: string;
60
+ value: string;
61
+ }[];
62
+ }, "test-secret keys must be unique within a service">, import("valibot").CheckAction<{
63
+ entries: {
64
+ key: string;
65
+ description: string;
66
+ value: string;
67
+ }[];
68
+ }, "at most 50 test secrets per service">]>;
69
+ readonly responsesByStatusCode: {
70
+ readonly '4xx': import("valibot").ObjectSchema<{
71
+ readonly error: import("valibot").ObjectSchema<{
72
+ readonly code: import("valibot").StringSchema<undefined>;
73
+ readonly message: import("valibot").StringSchema<undefined>;
74
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
75
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
76
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
77
+ readonly message: import("valibot").StringSchema<undefined>;
78
+ }, undefined>, undefined>, undefined>;
79
+ }, undefined>;
80
+ }, undefined>;
81
+ readonly '5xx': import("valibot").ObjectSchema<{
82
+ readonly error: import("valibot").ObjectSchema<{
83
+ readonly code: import("valibot").StringSchema<undefined>;
84
+ readonly message: import("valibot").StringSchema<undefined>;
85
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
86
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
87
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
88
+ readonly message: import("valibot").StringSchema<undefined>;
89
+ }, undefined>, undefined>, undefined>;
90
+ }, undefined>;
91
+ }, undefined>;
92
+ readonly 200: import("valibot").ObjectSchema<{
93
+ readonly blockId: import("valibot").StringSchema<undefined>;
94
+ readonly entries: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
95
+ readonly key: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 128, undefined>, import("valibot").RegexAction<string, "must be a valid environment variable name (letters, digits and underscores, not starting with a digit)">, import("valibot").CheckAction<string, "must not be a reserved/toolchain environment variable name (e.g. PATH, HOME, NODE_OPTIONS, npm_config_*, GIT_*)">]>;
96
+ readonly description: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").TrimAction, import("valibot").MaxLengthAction<string, 500, undefined>]>;
97
+ }, undefined>, undefined>;
98
+ }, undefined>;
99
+ };
100
+ };
101
+ export declare const deleteServiceTestSecretsContract: {
102
+ readonly method: "delete";
103
+ readonly requestPathParamsSchema: import("valibot").ObjectSchema<{
104
+ blockId: import("valibot").StringSchema<undefined>;
105
+ }, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
106
+ readonly pathResolver: ({ blockId }: {
107
+ blockId: string;
108
+ }) => string;
109
+ readonly responsesByStatusCode: {
110
+ readonly '4xx': import("valibot").ObjectSchema<{
111
+ readonly error: import("valibot").ObjectSchema<{
112
+ readonly code: import("valibot").StringSchema<undefined>;
113
+ readonly message: import("valibot").StringSchema<undefined>;
114
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
115
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
116
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
117
+ readonly message: import("valibot").StringSchema<undefined>;
118
+ }, undefined>, undefined>, undefined>;
119
+ }, undefined>;
120
+ }, undefined>;
121
+ readonly '5xx': import("valibot").ObjectSchema<{
122
+ readonly error: import("valibot").ObjectSchema<{
123
+ readonly code: import("valibot").StringSchema<undefined>;
124
+ readonly message: import("valibot").StringSchema<undefined>;
125
+ readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
126
+ readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
127
+ readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
128
+ readonly message: import("valibot").StringSchema<undefined>;
129
+ }, undefined>, undefined>, undefined>;
130
+ }, undefined>;
131
+ }, undefined>;
132
+ readonly 204: typeof ContractNoBody;
133
+ };
134
+ };
135
+ //# sourceMappingURL=test-secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-secrets.d.ts","sourceRoot":"","sources":["../../src/routes/test-secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAa3E,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxC,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMxC,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK3C,CAAA"}
@@ -0,0 +1,30 @@
1
+ import { ContractNoBody, defineApiContract } from '@toad-contracts/valibot';
2
+ import { serviceTestSecretsViewSchema, upsertServiceTestSecretsSchema } from '../test-secrets.js';
3
+ import { errorResponses, singleStringParam } from './_shared.js';
4
+ // ---------------------------------------------------------------------------
5
+ // Sensitive per-service test-secret route contracts. Mounted under
6
+ // `/workspaces/:workspaceId`, so the paths here are relative to that prefix.
7
+ // The blockId is a SERVICE FRAME block. Values are write-only (never read back);
8
+ // the view returns only the configured keys + descriptions. See TestSecretsController.
9
+ // ---------------------------------------------------------------------------
10
+ const blockIdParams = singleStringParam('blockId');
11
+ export const getServiceTestSecretsContract = defineApiContract({
12
+ method: 'get',
13
+ requestPathParamsSchema: blockIdParams,
14
+ pathResolver: ({ blockId }) => `/services/${blockId}/test-secrets`,
15
+ responsesByStatusCode: { 200: serviceTestSecretsViewSchema, ...errorResponses },
16
+ });
17
+ export const setServiceTestSecretsContract = defineApiContract({
18
+ method: 'put',
19
+ requestPathParamsSchema: blockIdParams,
20
+ pathResolver: ({ blockId }) => `/services/${blockId}/test-secrets`,
21
+ requestBodySchema: upsertServiceTestSecretsSchema,
22
+ responsesByStatusCode: { 200: serviceTestSecretsViewSchema, ...errorResponses },
23
+ });
24
+ export const deleteServiceTestSecretsContract = defineApiContract({
25
+ method: 'delete',
26
+ requestPathParamsSchema: blockIdParams,
27
+ pathResolver: ({ blockId }) => `/services/${blockId}/test-secrets`,
28
+ responsesByStatusCode: { 204: ContractNoBody, ...errorResponses },
29
+ });
30
+ //# sourceMappingURL=test-secrets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-secrets.js","sourceRoot":"","sources":["../../src/routes/test-secrets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3E,OAAO,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAA;AACjG,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhE,8EAA8E;AAC9E,mEAAmE;AACnE,6EAA6E;AAC7E,iFAAiF;AACjF,uFAAuF;AACvF,8EAA8E;AAE9E,MAAM,aAAa,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAA;AAElD,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;IAC7D,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,aAAa;IACtC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,aAAa,OAAO,eAAe;IAClE,qBAAqB,EAAE,EAAE,GAAG,EAAE,4BAA4B,EAAE,GAAG,cAAc,EAAE;CAChF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAAiB,CAAC;IAC7D,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,aAAa;IACtC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,aAAa,OAAO,eAAe;IAClE,iBAAiB,EAAE,8BAA8B;IACjD,qBAAqB,EAAE,EAAE,GAAG,EAAE,4BAA4B,EAAE,GAAG,cAAc,EAAE;CAChF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,iBAAiB,CAAC;IAChE,MAAM,EAAE,QAAQ;IAChB,uBAAuB,EAAE,aAAa;IACtC,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,aAAa,OAAO,eAAe;IAClE,qBAAqB,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;CAClE,CAAC,CAAA"}
@@ -404,6 +404,9 @@ export declare const approveVisualConfirmContract: {
404
404
  readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
405
405
  readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
406
406
  }, undefined>, undefined>, undefined>;
407
+ readonly stepOptions: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
408
+ readonly autoRecommend: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
409
+ }, undefined>, undefined>, undefined>;
407
410
  readonly skipped: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
408
411
  readonly noBusinessSpecs: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
409
412
  readonly technicalCorroborated: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
@@ -1110,6 +1113,9 @@ export declare const requestVisualConfirmFixContract: {
1110
1113
  readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
1111
1114
  readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
1112
1115
  }, undefined>, undefined>, undefined>;
1116
+ readonly stepOptions: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1117
+ readonly autoRecommend: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
1118
+ }, undefined>, undefined>, undefined>;
1113
1119
  readonly skipped: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
1114
1120
  readonly noBusinessSpecs: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
1115
1121
  readonly technicalCorroborated: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
@@ -1814,6 +1820,9 @@ export declare const recaptureVisualConfirmContract: {
1814
1820
  readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
1815
1821
  readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
1816
1822
  }, undefined>, undefined>, undefined>;
1823
+ readonly stepOptions: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
1824
+ readonly autoRecommend: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
1825
+ }, undefined>, undefined>, undefined>;
1817
1826
  readonly skipped: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
1818
1827
  readonly noBusinessSpecs: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
1819
1828
  readonly technicalCorroborated: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
@@ -1 +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"}
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"}
@@ -398,7 +398,7 @@ export declare const createWorkspaceContract: {
398
398
  readonly defaultBranch: v.StringSchema<undefined>;
399
399
  readonly connectionId: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
400
400
  }, undefined>, undefined>, undefined>;
401
- readonly mergePresetId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
401
+ readonly riskPolicyId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
402
402
  readonly modelPresetId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
403
403
  readonly pipelineId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
404
404
  readonly createdBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
@@ -452,6 +452,9 @@ export declare const createWorkspaceContract: {
452
452
  readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
453
453
  }, undefined>, undefined>, undefined>;
454
454
  }, undefined>, undefined>, undefined>, undefined>;
455
+ readonly stepOptions: v.OptionalSchema<v.ArraySchema<v.NullableSchema<v.ObjectSchema<{
456
+ readonly autoRecommend: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
457
+ }, undefined>, undefined>, undefined>, undefined>;
455
458
  readonly labels: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
456
459
  readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
457
460
  readonly builtin: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
@@ -831,6 +834,9 @@ export declare const createWorkspaceContract: {
831
834
  readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
832
835
  readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
833
836
  }, undefined>, undefined>, undefined>;
837
+ readonly stepOptions: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
838
+ readonly autoRecommend: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
839
+ }, undefined>, undefined>, undefined>;
834
840
  readonly skipped: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
835
841
  readonly noBusinessSpecs: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
836
842
  readonly technicalCorroborated: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
@@ -1291,7 +1297,7 @@ export declare const createWorkspaceContract: {
1291
1297
  readonly createdAt: v.NumberSchema<undefined>;
1292
1298
  readonly resolvedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
1293
1299
  }, undefined>, undefined>, undefined>;
1294
- readonly mergePresets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1300
+ readonly riskPolicies: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1295
1301
  readonly id: v.StringSchema<undefined>;
1296
1302
  readonly name: v.StringSchema<undefined>;
1297
1303
  readonly maxComplexity: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
@@ -1528,7 +1534,7 @@ export declare const createWorkspaceContract: {
1528
1534
  readonly engines: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["local-docker", "local-k3s", "remote-kubernetes", "remote-custom", "none"], undefined>, undefined>, undefined>;
1529
1535
  }, undefined>, undefined>, undefined>;
1530
1536
  readonly pipelineCatalogVersions: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NumberSchema<undefined>, undefined>, undefined>;
1531
- readonly mergePresetCatalogVersions: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NumberSchema<undefined>, undefined>, undefined>;
1537
+ readonly riskPolicyCatalogVersions: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NumberSchema<undefined>, undefined>, undefined>;
1532
1538
  readonly modelPresetCatalogVersions: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NumberSchema<undefined>, undefined>, undefined>;
1533
1539
  readonly initiatives: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1534
1540
  readonly id: v.StringSchema<undefined>;
@@ -2158,7 +2164,7 @@ export declare const getWorkspaceContract: {
2158
2164
  readonly defaultBranch: v.StringSchema<undefined>;
2159
2165
  readonly connectionId: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
2160
2166
  }, undefined>, undefined>, undefined>;
2161
- readonly mergePresetId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
2167
+ readonly riskPolicyId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
2162
2168
  readonly modelPresetId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
2163
2169
  readonly pipelineId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
2164
2170
  readonly createdBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
@@ -2212,6 +2218,9 @@ export declare const getWorkspaceContract: {
2212
2218
  readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
2213
2219
  }, undefined>, undefined>, undefined>;
2214
2220
  }, undefined>, undefined>, undefined>, undefined>;
2221
+ readonly stepOptions: v.OptionalSchema<v.ArraySchema<v.NullableSchema<v.ObjectSchema<{
2222
+ readonly autoRecommend: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
2223
+ }, undefined>, undefined>, undefined>, undefined>;
2215
2224
  readonly labels: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
2216
2225
  readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
2217
2226
  readonly builtin: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
@@ -2591,6 +2600,9 @@ export declare const getWorkspaceContract: {
2591
2600
  readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
2592
2601
  readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
2593
2602
  }, undefined>, undefined>, undefined>;
2603
+ readonly stepOptions: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
2604
+ readonly autoRecommend: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
2605
+ }, undefined>, undefined>, undefined>;
2594
2606
  readonly skipped: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
2595
2607
  readonly noBusinessSpecs: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
2596
2608
  readonly technicalCorroborated: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
@@ -3051,7 +3063,7 @@ export declare const getWorkspaceContract: {
3051
3063
  readonly createdAt: v.NumberSchema<undefined>;
3052
3064
  readonly resolvedAt: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
3053
3065
  }, undefined>, undefined>, undefined>;
3054
- readonly mergePresets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
3066
+ readonly riskPolicies: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
3055
3067
  readonly id: v.StringSchema<undefined>;
3056
3068
  readonly name: v.StringSchema<undefined>;
3057
3069
  readonly maxComplexity: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
@@ -3288,7 +3300,7 @@ export declare const getWorkspaceContract: {
3288
3300
  readonly engines: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["local-docker", "local-k3s", "remote-kubernetes", "remote-custom", "none"], undefined>, undefined>, undefined>;
3289
3301
  }, undefined>, undefined>, undefined>;
3290
3302
  readonly pipelineCatalogVersions: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NumberSchema<undefined>, undefined>, undefined>;
3291
- readonly mergePresetCatalogVersions: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NumberSchema<undefined>, undefined>, undefined>;
3303
+ readonly riskPolicyCatalogVersions: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NumberSchema<undefined>, undefined>, undefined>;
3292
3304
  readonly modelPresetCatalogVersions: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NumberSchema<undefined>, undefined>, undefined>;
3293
3305
  readonly initiatives: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
3294
3306
  readonly id: v.StringSchema<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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK/B,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMlC,CAAA;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlC,CAAA"}
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"}
@@ -343,7 +343,7 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
343
343
  readonly defaultBranch: v.StringSchema<undefined>;
344
344
  readonly connectionId: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
345
345
  }, undefined>, undefined>, undefined>;
346
- readonly mergePresetId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
346
+ readonly riskPolicyId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
347
347
  readonly modelPresetId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
348
348
  readonly pipelineId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
349
349
  readonly createdBy: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
@@ -397,6 +397,9 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
397
397
  readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
398
398
  }, undefined>, undefined>, undefined>;
399
399
  }, undefined>, undefined>, undefined>, undefined>;
400
+ readonly stepOptions: v.OptionalSchema<v.ArraySchema<v.NullableSchema<v.ObjectSchema<{
401
+ readonly autoRecommend: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
402
+ }, undefined>, undefined>, undefined>, undefined>;
400
403
  readonly labels: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
401
404
  readonly archived: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
402
405
  readonly builtin: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
@@ -776,6 +779,9 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
776
779
  readonly minImpact: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>, undefined>;
777
780
  readonly onMissingEstimate: v.OptionalSchema<v.PicklistSchema<["run", "skip"], undefined>, "run">;
778
781
  }, undefined>, undefined>, undefined>;
782
+ readonly stepOptions: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
783
+ readonly autoRecommend: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
784
+ }, undefined>, undefined>, undefined>;
779
785
  readonly skipped: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
780
786
  readonly noBusinessSpecs: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
781
787
  readonly technicalCorroborated: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
@@ -1282,7 +1288,7 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
1282
1288
  * The workspace's merge threshold presets (the library a task picks its
1283
1289
  * auto-merge policy from). Attached by the worker, so optional on the wire.
1284
1290
  */
1285
- readonly mergePresets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1291
+ readonly riskPolicies: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
1286
1292
  readonly id: v.StringSchema<undefined>;
1287
1293
  readonly name: v.StringSchema<undefined>;
1288
1294
  readonly maxComplexity: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 1, undefined>]>;
@@ -1609,14 +1615,14 @@ export declare const workspaceSnapshotSchema: v.ObjectSchema<{
1609
1615
  */
1610
1616
  readonly pipelineCatalogVersions: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NumberSchema<undefined>, undefined>, undefined>;
1611
1617
  /**
1612
- * Current built-in merge-preset catalog versions (`seedMergePresets()`), keyed by preset id.
1618
+ * Current built-in merge-preset catalog versions (`seedRiskPolicies()`), keyed by preset id.
1613
1619
  * The SPA compares each persisted built-in's `version` against this to detect a stale copy
1614
1620
  * (a newer definition is available) and a built-in id present here but absent from the
1615
1621
  * workspace's presets (a NEW built-in appeared), offering a reseed for either. Static,
1616
1622
  * workspace-independent; built by the shared `WorkspaceService.snapshot()` (automatically
1617
1623
  * symmetric across runtimes), optional on the wire for forward-compatibility.
1618
1624
  */
1619
- readonly mergePresetCatalogVersions: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NumberSchema<undefined>, undefined>, undefined>;
1625
+ readonly riskPolicyCatalogVersions: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.NumberSchema<undefined>, undefined>, undefined>;
1620
1626
  /**
1621
1627
  * Current built-in model-preset catalog versions (`seedModelPresets()`), keyed by preset id.
1622
1628
  * The SPA compares each persisted built-in's `version` against this to detect a stale copy
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
package/dist/snapshot.js CHANGED
@@ -4,7 +4,7 @@ import { userSettingsSchema } from './user-settings.js';
4
4
  import { bootstrapJobSchema } from './bootstrap.js';
5
5
  import { envConfigRepairJobSchema } from './env-config-repair.js';
6
6
  import { notificationSchema } from './notifications.js';
7
- import { mergeThresholdPresetSchema } from './merge.js';
7
+ import { riskPolicySchema } from './merge.js';
8
8
  import { agentConfigCatalogSchema } from './agent-config.js';
9
9
  import { modelPresetSchema } from './model-presets.js';
10
10
  import { serviceFragmentDefaultsSchema } from './service-fragment-defaults.js';
@@ -93,7 +93,7 @@ export const workspaceSnapshotSchema = v.object({
93
93
  * The workspace's merge threshold presets (the library a task picks its
94
94
  * auto-merge policy from). Attached by the worker, so optional on the wire.
95
95
  */
96
- mergePresets: v.optional(v.array(mergeThresholdPresetSchema)),
96
+ riskPolicies: v.optional(v.array(riskPolicySchema)),
97
97
  /**
98
98
  * The workspace's shared stacks (long-lived compose infra a consumer environment
99
99
  * attaches to over an external network — the acme-shared-services shape). Carried in
@@ -189,14 +189,14 @@ export const workspaceSnapshotSchema = v.object({
189
189
  */
190
190
  pipelineCatalogVersions: v.optional(v.record(v.string(), v.number())),
191
191
  /**
192
- * Current built-in merge-preset catalog versions (`seedMergePresets()`), keyed by preset id.
192
+ * Current built-in merge-preset catalog versions (`seedRiskPolicies()`), keyed by preset id.
193
193
  * The SPA compares each persisted built-in's `version` against this to detect a stale copy
194
194
  * (a newer definition is available) and a built-in id present here but absent from the
195
195
  * workspace's presets (a NEW built-in appeared), offering a reseed for either. Static,
196
196
  * workspace-independent; built by the shared `WorkspaceService.snapshot()` (automatically
197
197
  * symmetric across runtimes), optional on the wire for forward-compatibility.
198
198
  */
199
- mergePresetCatalogVersions: v.optional(v.record(v.string(), v.number())),
199
+ riskPolicyCatalogVersions: v.optional(v.record(v.string(), v.number())),
200
200
  /**
201
201
  * Current built-in model-preset catalog versions (`seedModelPresets()`), keyed by preset id.
202
202
  * The SPA compares each persisted built-in's `version` against this to detect a stale copy
@@ -1 +1 @@
1
- {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import * as v from 'valibot';
2
+ export declare const testSecretKeySchema: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a valid environment variable name (letters, digits and underscores, not starting with a digit)">, v.CheckAction<string, "must not be a reserved/toolchain environment variable name (e.g. PATH, HOME, NODE_OPTIONS, npm_config_*, GIT_*)">]>;
3
+ /**
4
+ * One sensitive test credential: the env-var name it is injected under, a non-secret
5
+ * description (advertised to the agent), and the (write-only) secret value (sealed at rest,
6
+ * delivered only to the container environment — never echoed back or put in a prompt).
7
+ */
8
+ export declare const testSecretEntrySchema: v.ObjectSchema<{
9
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a valid environment variable name (letters, digits and underscores, not starting with a digit)">, v.CheckAction<string, "must not be a reserved/toolchain environment variable name (e.g. PATH, HOME, NODE_OPTIONS, npm_config_*, GIT_*)">]>;
10
+ readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 500, undefined>]>;
11
+ readonly value: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 8192, undefined>]>;
12
+ }, undefined>;
13
+ export type TestSecretEntry = v.InferOutput<typeof testSecretEntrySchema>;
14
+ /**
15
+ * A non-secret REFERENCE to a configured test secret: the key + description, NEVER the value.
16
+ * This is what is safe to render into the tester prompt, expose on the API, and carry on the
17
+ * agent run context.
18
+ */
19
+ export declare const testSecretRefSchema: v.ObjectSchema<{
20
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a valid environment variable name (letters, digits and underscores, not starting with a digit)">, v.CheckAction<string, "must not be a reserved/toolchain environment variable name (e.g. PATH, HOME, NODE_OPTIONS, npm_config_*, GIT_*)">]>;
21
+ readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 500, undefined>]>;
22
+ }, undefined>;
23
+ export type TestSecretRef = v.InferOutput<typeof testSecretRefSchema>;
24
+ /**
25
+ * Validate a decrypted test-secret blob at the read boundary. The service calls this on the
26
+ * JSON it decrypts so a drifted/corrupted row fails with a clear schema error here rather than
27
+ * deep in a dispatch. (The persisted blob is `TestSecretEntry[]` — key + description + value.)
28
+ */
29
+ export declare const testSecretEntriesSchema: v.ArraySchema<v.ObjectSchema<{
30
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a valid environment variable name (letters, digits and underscores, not starting with a digit)">, v.CheckAction<string, "must not be a reserved/toolchain environment variable name (e.g. PATH, HOME, NODE_OPTIONS, npm_config_*, GIT_*)">]>;
31
+ readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 500, undefined>]>;
32
+ readonly value: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 8192, undefined>]>;
33
+ }, undefined>, undefined>;
34
+ export declare function parseTestSecretEntries(raw: unknown): TestSecretEntry[];
35
+ /** Set/replace a service's sensitive test-secret set (values write-only; keys unique). */
36
+ export declare const upsertServiceTestSecretsSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
37
+ readonly entries: v.ArraySchema<v.ObjectSchema<{
38
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a valid environment variable name (letters, digits and underscores, not starting with a digit)">, v.CheckAction<string, "must not be a reserved/toolchain environment variable name (e.g. PATH, HOME, NODE_OPTIONS, npm_config_*, GIT_*)">]>;
39
+ readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 500, undefined>]>;
40
+ readonly value: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 8192, undefined>]>;
41
+ }, undefined>, undefined>;
42
+ }, undefined>, v.CheckAction<{
43
+ entries: {
44
+ key: string;
45
+ description: string;
46
+ value: string;
47
+ }[];
48
+ }, "test-secret keys must be unique within a service">, v.CheckAction<{
49
+ entries: {
50
+ key: string;
51
+ description: string;
52
+ value: string;
53
+ }[];
54
+ }, "at most 50 test secrets per service">]>;
55
+ export type UpsertServiceTestSecretsInput = v.InferOutput<typeof upsertServiceTestSecretsSchema>;
56
+ /** What `GET .../test-secrets` returns — the configured keys + descriptions, NEVER the values. */
57
+ export declare const serviceTestSecretsViewSchema: v.ObjectSchema<{
58
+ /** The service-frame block these secrets belong to. */
59
+ readonly blockId: v.StringSchema<undefined>;
60
+ readonly entries: v.ArraySchema<v.ObjectSchema<{
61
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a valid environment variable name (letters, digits and underscores, not starting with a digit)">, v.CheckAction<string, "must not be a reserved/toolchain environment variable name (e.g. PATH, HOME, NODE_OPTIONS, npm_config_*, GIT_*)">]>;
62
+ readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 500, undefined>]>;
63
+ }, undefined>, undefined>;
64
+ }, undefined>;
65
+ export type ServiceTestSecretsView = v.InferOutput<typeof serviceTestSecretsViewSchema>;
66
+ /**
67
+ * The non-secret summary persisted alongside the sealed values, so the view (and the tester
68
+ * prompt) can list what is configured without decrypting anything.
69
+ */
70
+ export declare function serviceTestSecretsSummary(entries: TestSecretEntry[]): TestSecretRef[];
71
+ //# sourceMappingURL=test-secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-secrets.d.ts","sourceRoot":"","sources":["../src/test-secrets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAuD5B,eAAO,MAAM,mBAAmB,qaAa/B,CAAA;AAKD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;aAIhC,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;aAG9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;yBAAiC,CAAA;AACrE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,EAAE,CAEtE;AAED,0FAA0F;AAC1F,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;2CAO1C,CAAA;AACD,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAEhG,kGAAkG;AAClG,eAAO,MAAM,4BAA4B;IACvC,uDAAuD;;;;;;aAGvD,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,aAAa,EAAE,CAErF"}