@cat-factory/contracts 0.284.0 → 0.285.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/binary-candidates.d.ts +261 -0
- package/dist/binary-candidates.d.ts.map +1 -0
- package/dist/binary-candidates.js +202 -0
- package/dist/binary-candidates.js.map +1 -0
- package/dist/binary-capabilities.d.ts +328 -0
- package/dist/binary-capabilities.d.ts.map +1 -0
- package/dist/binary-capabilities.js +361 -0
- package/dist/binary-capabilities.js.map +1 -0
- package/dist/binary-generators.d.ts +27 -0
- package/dist/binary-generators.d.ts.map +1 -1
- package/dist/binary-generators.js +28 -0
- package/dist/binary-generators.js.map +1 -1
- package/dist/binary-outputs.d.ts +31 -0
- package/dist/binary-outputs.d.ts.map +1 -1
- package/dist/binary-outputs.js +30 -0
- package/dist/binary-outputs.js.map +1 -1
- package/dist/entities.d.ts +10 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/execution.d.ts +90 -0
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +13 -0
- package/dist/execution.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/requests.d.ts +10 -0
- package/dist/requests.d.ts.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 +68 -0
- package/dist/routes/agent-runs.d.ts.map +1 -1
- package/dist/routes/binaryCandidates.d.ts +139 -0
- package/dist/routes/binaryCandidates.d.ts.map +1 -0
- package/dist/routes/binaryCandidates.js +31 -0
- package/dist/routes/binaryCandidates.js.map +1 -0
- package/dist/routes/bug-hunt.d.ts +68 -0
- package/dist/routes/bug-hunt.d.ts.map +1 -1
- package/dist/routes/execution.d.ts +272 -0
- package/dist/routes/execution.d.ts.map +1 -1
- package/dist/routes/human-review.d.ts +34 -0
- package/dist/routes/human-review.d.ts.map +1 -1
- package/dist/routes/human-test.d.ts +170 -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/pipelines.d.ts +40 -0
- package/dist/routes/pipelines.d.ts.map +1 -1
- package/dist/routes/visual-confirm.d.ts +102 -0
- package/dist/routes/visual-confirm.d.ts.map +1 -1
- package/dist/routes/workspaces.d.ts +82 -2
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +41 -1
- package/dist/snapshot.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runs.d.ts","sourceRoot":"","sources":["../../src/routes/agent-runs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsB5B,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"agent-runs.d.ts","sourceRoot":"","sources":["../../src/routes/agent-runs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAsB5B,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhC,CAAA;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM/B,CAAA"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
export declare const getBinaryCandidatesContract: {
|
|
3
|
+
readonly method: "get";
|
|
4
|
+
readonly requestPathParamsSchema: v.ObjectSchema<{
|
|
5
|
+
executionId: v.StringSchema<undefined>;
|
|
6
|
+
}, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
|
|
7
|
+
readonly pathResolver: ({ executionId }: {
|
|
8
|
+
executionId: string;
|
|
9
|
+
}) => string;
|
|
10
|
+
readonly responsesByStatusCode: {
|
|
11
|
+
readonly '4xx': v.ObjectSchema<{
|
|
12
|
+
readonly error: v.ObjectSchema<{
|
|
13
|
+
readonly code: v.StringSchema<undefined>;
|
|
14
|
+
readonly message: v.StringSchema<undefined>;
|
|
15
|
+
readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
16
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
17
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
18
|
+
readonly message: v.StringSchema<undefined>;
|
|
19
|
+
}, undefined>, undefined>, undefined>;
|
|
20
|
+
}, undefined>;
|
|
21
|
+
}, undefined>;
|
|
22
|
+
readonly '5xx': v.ObjectSchema<{
|
|
23
|
+
readonly error: v.ObjectSchema<{
|
|
24
|
+
readonly code: v.StringSchema<undefined>;
|
|
25
|
+
readonly message: v.StringSchema<undefined>;
|
|
26
|
+
readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
27
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
28
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
29
|
+
readonly message: v.StringSchema<undefined>;
|
|
30
|
+
}, undefined>, undefined>, undefined>;
|
|
31
|
+
}, undefined>;
|
|
32
|
+
}, undefined>;
|
|
33
|
+
readonly 200: v.NullableSchema<v.ObjectSchema<{
|
|
34
|
+
readonly status: v.PicklistSchema<["awaiting_choice", "chosen", "no_choice"], undefined>;
|
|
35
|
+
readonly candidates: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
36
|
+
readonly id: v.StringSchema<undefined>;
|
|
37
|
+
readonly label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
38
|
+
readonly generator: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
39
|
+
readonly subject: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
40
|
+
readonly service: v.StringSchema<undefined>;
|
|
41
|
+
readonly location: v.StringSchema<undefined>;
|
|
42
|
+
readonly contentType: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
43
|
+
readonly previewUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
44
|
+
readonly note: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
45
|
+
}, undefined>, undefined>, readonly []>;
|
|
46
|
+
readonly noChoiceReason: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["undeclared", "parse_failed", "no_candidates"], undefined>, undefined>, undefined>;
|
|
47
|
+
readonly choice: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
48
|
+
readonly kept: v.ArraySchema<v.ObjectSchema<{
|
|
49
|
+
readonly candidateId: v.StringSchema<undefined>;
|
|
50
|
+
readonly storeAs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a plain id (letters, digits, . _ -)">]>, undefined>;
|
|
51
|
+
}, undefined>, undefined>;
|
|
52
|
+
readonly discarded: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
53
|
+
readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
54
|
+
readonly automatic: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
55
|
+
readonly at: v.NumberSchema<undefined>;
|
|
56
|
+
}, undefined>, undefined>, undefined>;
|
|
57
|
+
readonly multiSelect: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
58
|
+
readonly invalidEntries: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
59
|
+
readonly omitted: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
60
|
+
readonly unusablePreviews: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
61
|
+
}, undefined>, undefined>;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
export declare const keepBinaryCandidatesContract: {
|
|
65
|
+
readonly method: "post";
|
|
66
|
+
readonly requestPathParamsSchema: v.ObjectSchema<{
|
|
67
|
+
executionId: v.StringSchema<undefined>;
|
|
68
|
+
}, undefined> & import("@toad-contracts/core").StandardObjectKeysV1<unknown, unknown>;
|
|
69
|
+
readonly pathResolver: ({ executionId }: {
|
|
70
|
+
executionId: string;
|
|
71
|
+
}) => string;
|
|
72
|
+
readonly requestBodySchema: v.ObjectSchema<{
|
|
73
|
+
readonly keep: v.SchemaWithPipe<readonly [v.ArraySchema<v.ObjectSchema<{
|
|
74
|
+
readonly candidateId: v.StringSchema<undefined>;
|
|
75
|
+
readonly storeAs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a plain id (letters, digits, . _ -)">]>, undefined>;
|
|
76
|
+
}, undefined>, undefined>, v.MinLengthAction<{
|
|
77
|
+
candidateId: string;
|
|
78
|
+
storeAs?: string | undefined;
|
|
79
|
+
}[], 1, undefined>, v.MaxLengthAction<{
|
|
80
|
+
candidateId: string;
|
|
81
|
+
storeAs?: string | undefined;
|
|
82
|
+
}[], 16, undefined>]>;
|
|
83
|
+
readonly note: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 4000, undefined>]>, undefined>;
|
|
84
|
+
}, undefined>;
|
|
85
|
+
readonly responsesByStatusCode: {
|
|
86
|
+
readonly '4xx': v.ObjectSchema<{
|
|
87
|
+
readonly error: v.ObjectSchema<{
|
|
88
|
+
readonly code: v.StringSchema<undefined>;
|
|
89
|
+
readonly message: v.StringSchema<undefined>;
|
|
90
|
+
readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
91
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
92
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
93
|
+
readonly message: v.StringSchema<undefined>;
|
|
94
|
+
}, undefined>, undefined>, undefined>;
|
|
95
|
+
}, undefined>;
|
|
96
|
+
}, undefined>;
|
|
97
|
+
readonly '5xx': v.ObjectSchema<{
|
|
98
|
+
readonly error: v.ObjectSchema<{
|
|
99
|
+
readonly code: v.StringSchema<undefined>;
|
|
100
|
+
readonly message: v.StringSchema<undefined>;
|
|
101
|
+
readonly details: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
102
|
+
readonly issues: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
103
|
+
readonly path: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
104
|
+
readonly message: v.StringSchema<undefined>;
|
|
105
|
+
}, undefined>, undefined>, undefined>;
|
|
106
|
+
}, undefined>;
|
|
107
|
+
}, undefined>;
|
|
108
|
+
readonly 200: v.ObjectSchema<{
|
|
109
|
+
readonly status: v.PicklistSchema<["awaiting_choice", "chosen", "no_choice"], undefined>;
|
|
110
|
+
readonly candidates: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
111
|
+
readonly id: v.StringSchema<undefined>;
|
|
112
|
+
readonly label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
113
|
+
readonly generator: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
114
|
+
readonly subject: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
115
|
+
readonly service: v.StringSchema<undefined>;
|
|
116
|
+
readonly location: v.StringSchema<undefined>;
|
|
117
|
+
readonly contentType: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
118
|
+
readonly previewUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
119
|
+
readonly note: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
120
|
+
}, undefined>, undefined>, readonly []>;
|
|
121
|
+
readonly noChoiceReason: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["undeclared", "parse_failed", "no_candidates"], undefined>, undefined>, undefined>;
|
|
122
|
+
readonly choice: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
123
|
+
readonly kept: v.ArraySchema<v.ObjectSchema<{
|
|
124
|
+
readonly candidateId: v.StringSchema<undefined>;
|
|
125
|
+
readonly storeAs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a plain id (letters, digits, . _ -)">]>, undefined>;
|
|
126
|
+
}, undefined>, undefined>;
|
|
127
|
+
readonly discarded: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
128
|
+
readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
129
|
+
readonly automatic: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
130
|
+
readonly at: v.NumberSchema<undefined>;
|
|
131
|
+
}, undefined>, undefined>, undefined>;
|
|
132
|
+
readonly multiSelect: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
133
|
+
readonly invalidEntries: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
134
|
+
readonly omitted: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
135
|
+
readonly unusablePreviews: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
136
|
+
}, undefined>;
|
|
137
|
+
};
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=binaryCandidates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binaryCandidates.d.ts","sourceRoot":"","sources":["../../src/routes/binaryCandidates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmB5B,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKtC,CAAA;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMvC,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { defineApiContract } from '@toad-contracts/valibot';
|
|
2
|
+
import * as v from 'valibot';
|
|
3
|
+
import { binaryCandidateStepStateSchema, keepBinaryCandidatesSchema } from '../binary-candidates.js';
|
|
4
|
+
import { errorResponses, singleStringParam } from './_shared.js';
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
// Generated-candidate comparison route contracts. Mounted under `/workspaces/:workspaceId`, so
|
|
7
|
+
// the paths here are relative to that prefix. The read returns the run's active candidate state
|
|
8
|
+
// (or null when no step carries one); `keep` records which candidates survive, under which
|
|
9
|
+
// alternate ids, and re-runs the step to deliver exactly those. See BinaryCandidatesController in
|
|
10
|
+
// @cat-factory/server.
|
|
11
|
+
//
|
|
12
|
+
// Two verbs rather than three: there is no `discard`, because keeping nothing is not a decision
|
|
13
|
+
// this surface can carry out. A step whose every candidate is bad is retried or reworked through
|
|
14
|
+
// the surfaces that already exist for that, and answering it here would re-run the step to store
|
|
15
|
+
// nothing while recording a completed choice.
|
|
16
|
+
// ---------------------------------------------------------------------------
|
|
17
|
+
const executionIdParams = singleStringParam('executionId');
|
|
18
|
+
export const getBinaryCandidatesContract = defineApiContract({
|
|
19
|
+
method: 'get',
|
|
20
|
+
requestPathParamsSchema: executionIdParams,
|
|
21
|
+
pathResolver: ({ executionId }) => `/executions/${executionId}/binary-candidates`,
|
|
22
|
+
responsesByStatusCode: { 200: v.nullable(binaryCandidateStepStateSchema), ...errorResponses },
|
|
23
|
+
});
|
|
24
|
+
export const keepBinaryCandidatesContract = defineApiContract({
|
|
25
|
+
method: 'post',
|
|
26
|
+
requestPathParamsSchema: executionIdParams,
|
|
27
|
+
pathResolver: ({ executionId }) => `/executions/${executionId}/binary-candidates/keep`,
|
|
28
|
+
requestBodySchema: keepBinaryCandidatesSchema,
|
|
29
|
+
responsesByStatusCode: { 200: binaryCandidateStepStateSchema, ...errorResponses },
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=binaryCandidates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binaryCandidates.js","sourceRoot":"","sources":["../../src/routes/binaryCandidates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,8BAA8B,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AACpG,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhE,8EAA8E;AAC9E,+FAA+F;AAC/F,gGAAgG;AAChG,2FAA2F;AAC3F,kGAAkG;AAClG,uBAAuB;AACvB,EAAE;AACF,gGAAgG;AAChG,iGAAiG;AACjG,iGAAiG;AACjG,8CAA8C;AAC9C,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAA;AAE1D,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC3D,MAAM,EAAE,KAAK;IACb,uBAAuB,EAAE,iBAAiB;IAC1C,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,WAAW,oBAAoB;IACjF,qBAAqB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,GAAG,cAAc,EAAE;CAC9F,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,iBAAiB,CAAC;IAC5D,MAAM,EAAE,MAAM;IACd,uBAAuB,EAAE,iBAAiB;IAC1C,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,eAAe,WAAW,yBAAyB;IACtF,iBAAiB,EAAE,0BAA0B;IAC7C,qBAAqB,EAAE,EAAE,GAAG,EAAE,8BAA8B,EAAE,GAAG,cAAc,EAAE;CAClF,CAAC,CAAA"}
|
|
@@ -1036,6 +1036,11 @@ declare const adoptBugHuntResultSchema: v.ObjectSchema<{
|
|
|
1036
1036
|
readonly generatorIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">]>, undefined>, undefined>;
|
|
1037
1037
|
readonly modalities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>, undefined>, undefined>;
|
|
1038
1038
|
readonly mediaTypes: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.ToLowerCaseAction, v.MinLengthAction<string, 3, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a media type of the form type/subtype">]>, undefined>, undefined>;
|
|
1039
|
+
readonly generation: v.OptionalSchema<v.GenericSchema<unknown, import("../binary-capabilities.js").BinaryGenerationOptions>, undefined>;
|
|
1040
|
+
readonly comparison: v.OptionalSchema<v.ObjectSchema<{
|
|
1041
|
+
readonly perGenerator: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 4, undefined>]>, undefined>;
|
|
1042
|
+
readonly multiSelect: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
1043
|
+
}, undefined>, undefined>;
|
|
1039
1044
|
}, undefined>, undefined>;
|
|
1040
1045
|
readonly retainEnvironment: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1041
1046
|
readonly gateConfig: v.OptionalSchema<v.ObjectSchema<{
|
|
@@ -1138,6 +1143,35 @@ declare const adoptBugHuntResultSchema: v.ObjectSchema<{
|
|
|
1138
1143
|
readonly parseFailed: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1139
1144
|
readonly undeclared: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1140
1145
|
}, undefined>, undefined>;
|
|
1146
|
+
readonly binaryCandidates: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
1147
|
+
readonly status: v.PicklistSchema<["awaiting_choice", "chosen", "no_choice"], undefined>;
|
|
1148
|
+
readonly candidates: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
1149
|
+
readonly id: v.StringSchema<undefined>;
|
|
1150
|
+
readonly label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1151
|
+
readonly generator: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1152
|
+
readonly subject: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1153
|
+
readonly service: v.StringSchema<undefined>;
|
|
1154
|
+
readonly location: v.StringSchema<undefined>;
|
|
1155
|
+
readonly contentType: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1156
|
+
readonly previewUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1157
|
+
readonly note: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1158
|
+
}, undefined>, undefined>, readonly []>;
|
|
1159
|
+
readonly noChoiceReason: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["undeclared", "parse_failed", "no_candidates"], undefined>, undefined>, undefined>;
|
|
1160
|
+
readonly choice: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
1161
|
+
readonly kept: v.ArraySchema<v.ObjectSchema<{
|
|
1162
|
+
readonly candidateId: v.StringSchema<undefined>;
|
|
1163
|
+
readonly storeAs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a plain id (letters, digits, . _ -)">]>, undefined>;
|
|
1164
|
+
}, undefined>, undefined>;
|
|
1165
|
+
readonly discarded: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
1166
|
+
readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
1167
|
+
readonly automatic: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
1168
|
+
readonly at: v.NumberSchema<undefined>;
|
|
1169
|
+
}, undefined>, undefined>, undefined>;
|
|
1170
|
+
readonly multiSelect: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1171
|
+
readonly invalidEntries: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
1172
|
+
readonly omitted: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
1173
|
+
readonly unusablePreviews: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
1174
|
+
}, undefined>, undefined>, undefined>;
|
|
1141
1175
|
readonly jobId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
1142
1176
|
readonly startedAt: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
1143
1177
|
readonly finishedAt: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
@@ -2678,6 +2712,11 @@ export declare const adoptBugHuntCandidateContract: {
|
|
|
2678
2712
|
readonly generatorIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">]>, undefined>, undefined>;
|
|
2679
2713
|
readonly modalities: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<["image", "audio", "video", "3d-model", "3d-scene", "document"], undefined>, undefined>, undefined>;
|
|
2680
2714
|
readonly mediaTypes: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.ToLowerCaseAction, v.MinLengthAction<string, 3, undefined>, v.MaxLengthAction<string, 128, undefined>, v.RegexAction<string, "must be a media type of the form type/subtype">]>, undefined>, undefined>;
|
|
2715
|
+
readonly generation: v.OptionalSchema<v.GenericSchema<unknown, import("../binary-capabilities.js").BinaryGenerationOptions>, undefined>;
|
|
2716
|
+
readonly comparison: v.OptionalSchema<v.ObjectSchema<{
|
|
2717
|
+
readonly perGenerator: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 4, undefined>]>, undefined>;
|
|
2718
|
+
readonly multiSelect: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
2719
|
+
}, undefined>, undefined>;
|
|
2681
2720
|
}, undefined>, undefined>;
|
|
2682
2721
|
readonly retainEnvironment: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
2683
2722
|
readonly gateConfig: v.OptionalSchema<v.ObjectSchema<{
|
|
@@ -2780,6 +2819,35 @@ export declare const adoptBugHuntCandidateContract: {
|
|
|
2780
2819
|
readonly parseFailed: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
2781
2820
|
readonly undeclared: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
2782
2821
|
}, undefined>, undefined>;
|
|
2822
|
+
readonly binaryCandidates: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
2823
|
+
readonly status: v.PicklistSchema<["awaiting_choice", "chosen", "no_choice"], undefined>;
|
|
2824
|
+
readonly candidates: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
2825
|
+
readonly id: v.StringSchema<undefined>;
|
|
2826
|
+
readonly label: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
2827
|
+
readonly generator: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
2828
|
+
readonly subject: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
2829
|
+
readonly service: v.StringSchema<undefined>;
|
|
2830
|
+
readonly location: v.StringSchema<undefined>;
|
|
2831
|
+
readonly contentType: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
2832
|
+
readonly previewUrl: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
2833
|
+
readonly note: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
2834
|
+
}, undefined>, undefined>, readonly []>;
|
|
2835
|
+
readonly noChoiceReason: v.OptionalSchema<v.NullableSchema<v.PicklistSchema<["undeclared", "parse_failed", "no_candidates"], undefined>, undefined>, undefined>;
|
|
2836
|
+
readonly choice: v.OptionalSchema<v.NullableSchema<v.ObjectSchema<{
|
|
2837
|
+
readonly kept: v.ArraySchema<v.ObjectSchema<{
|
|
2838
|
+
readonly candidateId: v.StringSchema<undefined>;
|
|
2839
|
+
readonly storeAs: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a plain id (letters, digits, . _ -)">]>, undefined>;
|
|
2840
|
+
}, undefined>, undefined>;
|
|
2841
|
+
readonly discarded: v.ArraySchema<v.StringSchema<undefined>, undefined>;
|
|
2842
|
+
readonly note: v.OptionalSchema<v.NullableSchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
2843
|
+
readonly automatic: v.OptionalSchema<v.LiteralSchema<true, undefined>, undefined>;
|
|
2844
|
+
readonly at: v.NumberSchema<undefined>;
|
|
2845
|
+
}, undefined>, undefined>, undefined>;
|
|
2846
|
+
readonly multiSelect: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
2847
|
+
readonly invalidEntries: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
2848
|
+
readonly omitted: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
2849
|
+
readonly unusablePreviews: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
|
|
2850
|
+
}, undefined>, undefined>, undefined>;
|
|
2783
2851
|
readonly jobId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
2784
2852
|
readonly startedAt: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
2785
2853
|
readonly finishedAt: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bug-hunt.d.ts","sourceRoot":"","sources":["../../src/routes/bug-hunt.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAe5B,QAAA,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"bug-hunt.d.ts","sourceRoot":"","sources":["../../src/routes/bug-hunt.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMxC,CAAA"}
|