@cat-factory/contracts 0.251.0 → 0.252.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/form-fields.d.ts +26 -0
- package/dist/form-fields.d.ts.map +1 -1
- package/dist/form-fields.js +56 -0
- package/dist/form-fields.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/initiative-preset.d.ts +10 -0
- package/dist/initiative-preset.d.ts.map +1 -1
- package/dist/initiative-preset.js +13 -1
- package/dist/initiative-preset.js.map +1 -1
- package/dist/public-api.d.ts +21 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +22 -0
- package/dist/public-api.js.map +1 -1
- package/dist/public-task-types.d.ts +182 -0
- package/dist/public-task-types.d.ts.map +1 -0
- package/dist/public-task-types.js +191 -0
- package/dist/public-task-types.js.map +1 -0
- 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/public-api.d.ts +66 -0
- package/dist/routes/public-api.d.ts.map +1 -1
- package/dist/routes/public-api.js +11 -0
- package/dist/routes/public-api.js.map +1 -1
- package/dist/routes/task-types.d.ts +233 -0
- package/dist/routes/task-types.d.ts.map +1 -0
- package/dist/routes/task-types.js +55 -0
- package/dist/routes/task-types.js.map +1 -0
- package/dist/routes/workspaces.d.ts +4 -0
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/snapshot.d.ts +34 -2
- package/dist/snapshot.d.ts.map +1 -1
- package/dist/snapshot.js +34 -2
- package/dist/snapshot.js.map +1 -1
- package/dist/task-types.d.ts +161 -0
- package/dist/task-types.d.ts.map +1 -1
- package/dist/task-types.js +16 -0
- package/dist/task-types.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
import { type DescriptorField, type DescriptorFieldValues } from './form-fields.js';
|
|
3
|
+
import { type TaskTypeFields } from './primitives.js';
|
|
4
|
+
/**
|
|
5
|
+
* The per-type fields a BUILT-IN task type accepts over the public API, as descriptors.
|
|
6
|
+
*
|
|
7
|
+
* A deliberate SUBSET of `taskTypeFieldsSchema`, not a mirror of it. Included is what a caller
|
|
8
|
+
* filing work headlessly actually supplies: a bug's severity and repro, a spike's timebox and
|
|
9
|
+
* question, a document's kind and audience, a review's PR and focus. Excluded are the per-DocKind
|
|
10
|
+
* prose sections (`targetUsers`, `decisionDrivers`, …), which the SPA collects behind a chosen
|
|
11
|
+
* `docKind` and which would triple this surface for fields an integration does not have, plus the
|
|
12
|
+
* document `targetPath`, whose `.md` rule no descriptor type can state (see below). They stay
|
|
13
|
+
* internal until something asks. Adding one later is additive, which is why the subset is safe.
|
|
14
|
+
*
|
|
15
|
+
* The BOUNDS restate `taskTypeFieldsSchema`'s and must stay in step with it. They are declared
|
|
16
|
+
* rather than derived because a descriptor is data a client READS (the discovery response tells a
|
|
17
|
+
* caller the limit before it sends), where a valibot pipe is only a check. `public-task-types.test.ts`
|
|
18
|
+
* pins the relation that must hold in the direction that matters: every value a descriptor here
|
|
19
|
+
* calls valid is one `taskTypeFieldsSchema` also accepts. It is what caught `targetPath`.
|
|
20
|
+
*/
|
|
21
|
+
export declare const BUILTIN_PUBLIC_TASK_FIELDS: Readonly<Record<string, readonly DescriptorField[]>>;
|
|
22
|
+
/**
|
|
23
|
+
* The descriptors a built-in type accepts, or an empty list for a type with no public fields.
|
|
24
|
+
* Total, so a caller never has to distinguish "no fields" from "unknown type": the type itself is
|
|
25
|
+
* already validated by `createTaskTypeSchema`.
|
|
26
|
+
*/
|
|
27
|
+
export declare function builtinPublicTaskFields(taskType: string): readonly DescriptorField[];
|
|
28
|
+
/** Whether `taskType` is one of the built-in create-form types (rather than a namespaced custom one). */
|
|
29
|
+
export declare function isBuiltinCreateTaskType(taskType: string): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* A built-in type's descriptor-checked values as the internal {@link taskTypeFieldsSchema} shape,
|
|
32
|
+
* PARSED through that schema rather than asserted to match it.
|
|
33
|
+
*
|
|
34
|
+
* The table above restates the schema as descriptors, and a descriptor cannot state every rule a
|
|
35
|
+
* valibot pipe can. `prNumber` is `v.integer()` in the schema and a plain `number` here, because
|
|
36
|
+
* the vocabulary has no integer flag: a caller sending `3.7` satisfied the public surface and the
|
|
37
|
+
* value landed on the block as the pull request to review. `prUrl` likewise loses the schema's
|
|
38
|
+
* `v.trim()`. Casting was what let that through, so the fix is to stop casting: this parse is what
|
|
39
|
+
* makes "everything the public surface accepts, the internal schema also accepts" true at RUN TIME
|
|
40
|
+
* rather than a claim its conformity test samples one value per field.
|
|
41
|
+
*
|
|
42
|
+
* A discriminated result, not a throw: contracts states the RULE and cannot see the error
|
|
43
|
+
* vocabulary that decides how a refusal reaches a caller (the kernel `ValidationError` the public
|
|
44
|
+
* route raises). A failure is a drift between the two tables rather than an ordinary bad request,
|
|
45
|
+
* but the value still came from the request, so the caller is told which field and why.
|
|
46
|
+
*/
|
|
47
|
+
export declare function parseBuiltinPublicTaskFields(values: DescriptorFieldValues): {
|
|
48
|
+
ok: true;
|
|
49
|
+
fields: TaskTypeFields;
|
|
50
|
+
} | {
|
|
51
|
+
ok: false;
|
|
52
|
+
problems: string[];
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* One entry of `GET /api/v1/task-types`: a type a caller may name in `POST /services/:id/tasks`,
|
|
56
|
+
* with the form it accepts.
|
|
57
|
+
*
|
|
58
|
+
* Deliberately omits `formPanel`. It names a FRONTEND component in the deployment's own SPA layer,
|
|
59
|
+
* which is meaningless to an external client and would advertise an id nothing in this API can act
|
|
60
|
+
* on. A type declaring one still appears here, because it IS creatable, but with an EMPTY `fields`
|
|
61
|
+
* list: its bespoke form owns the whole bag, so neither this API nor the internal create door
|
|
62
|
+
* validates one key of it. Projecting the descriptors it happens to declare would advertise a
|
|
63
|
+
* contract nothing enforces, and `fields` on this entry means exactly one thing everywhere
|
|
64
|
+
* (see {@link PublicTaskType.fields}).
|
|
65
|
+
*/
|
|
66
|
+
export declare const publicTaskTypeSchema: v.ObjectSchema<{
|
|
67
|
+
/** The id to pass as `taskType` (`feature`, `bug`, …, or a namespaced `acme:incident`). */
|
|
68
|
+
readonly taskType: v.StringSchema<undefined>;
|
|
69
|
+
/** False for a type this deployment registered; true for one cat-factory ships. */
|
|
70
|
+
readonly builtin: v.BooleanSchema<undefined>;
|
|
71
|
+
/** Human label for the type. Deployment-authored English for a custom type. */
|
|
72
|
+
readonly label: v.StringSchema<undefined>;
|
|
73
|
+
/** One-line description, when the type carries one. */
|
|
74
|
+
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
75
|
+
/** The picker grouping caption a custom type declares, when it has one. */
|
|
76
|
+
readonly category: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
77
|
+
/**
|
|
78
|
+
* The descriptors task creation CHECKS a `fields` bag against for this type, in declaration
|
|
79
|
+
* order. Exactly that, on every entry: a client that reads this list knows what the create call
|
|
80
|
+
* will accept, which is the property the one-table design exists to hold.
|
|
81
|
+
*
|
|
82
|
+
* EMPTY therefore means "this API validates nothing per-case here", which covers two different
|
|
83
|
+
* types and neither of them is a lie. A built-in like `feature` takes title and description
|
|
84
|
+
* only, so there is nothing to send. A custom type with a `formPanel`, or one this process does
|
|
85
|
+
* not register, accepts an arbitrary bag NOTHING checks (the internal create door does not
|
|
86
|
+
* either), so there is no list that would describe it. Both answer "do not expect this API to
|
|
87
|
+
* check what you send"; what a `formPanel` type's own form collects is the deployment's to
|
|
88
|
+
* document.
|
|
89
|
+
*/
|
|
90
|
+
readonly fields: v.ArraySchema<v.ObjectSchema<{
|
|
91
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>;
|
|
92
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
93
|
+
readonly help: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 300, undefined>]>, undefined>;
|
|
94
|
+
readonly placeholder: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
95
|
+
readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
96
|
+
readonly options: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
97
|
+
readonly value: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
98
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
99
|
+
}, undefined>, undefined>, undefined>;
|
|
100
|
+
readonly default: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
101
|
+
readonly defaultValues: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>, v.MaxLengthAction<string[], 50, undefined>]>, undefined>;
|
|
102
|
+
readonly showWhen: v.OptionalSchema<v.ObjectSchema<{
|
|
103
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
104
|
+
readonly equals: v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>;
|
|
105
|
+
readonly includes: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
106
|
+
}, undefined>, undefined>;
|
|
107
|
+
readonly maxLength: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 2000, undefined>]>, undefined>;
|
|
108
|
+
readonly min: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
109
|
+
readonly max: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
110
|
+
readonly type: v.OptionalSchema<v.PicklistSchema<["text", "password", "select", "number", "checkbox", "textarea", "checkbox-group", "path"], undefined>, undefined>;
|
|
111
|
+
}, undefined>, undefined>;
|
|
112
|
+
/**
|
|
113
|
+
* The pipeline a task of this type is pinned to at creation when the caller pins none. Present
|
|
114
|
+
* only where the type declares one; `POST /tasks/:id/start` falls back to it.
|
|
115
|
+
*/
|
|
116
|
+
readonly defaultPipelineId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
117
|
+
}, undefined>;
|
|
118
|
+
export type PublicTaskType = v.InferOutput<typeof publicTaskTypeSchema>;
|
|
119
|
+
/**
|
|
120
|
+
* The whole catalog: the built-in types first, then the deployment's registered ones in
|
|
121
|
+
* registration order. Not paginated, because a catalog is a handful of entries even for an org with a
|
|
122
|
+
* large operation library, and a caller reads it whole at startup.
|
|
123
|
+
*
|
|
124
|
+
* SUPPRESSION applies: a type the key's workspace hides is absent, because this endpoint answers
|
|
125
|
+
* "what may I create here", and a client offered a type creation then refuses has been misled.
|
|
126
|
+
*/
|
|
127
|
+
export declare const publicTaskTypeListSchema: v.ObjectSchema<{
|
|
128
|
+
readonly taskTypes: v.ArraySchema<v.ObjectSchema<{
|
|
129
|
+
/** The id to pass as `taskType` (`feature`, `bug`, …, or a namespaced `acme:incident`). */
|
|
130
|
+
readonly taskType: v.StringSchema<undefined>;
|
|
131
|
+
/** False for a type this deployment registered; true for one cat-factory ships. */
|
|
132
|
+
readonly builtin: v.BooleanSchema<undefined>;
|
|
133
|
+
/** Human label for the type. Deployment-authored English for a custom type. */
|
|
134
|
+
readonly label: v.StringSchema<undefined>;
|
|
135
|
+
/** One-line description, when the type carries one. */
|
|
136
|
+
readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
137
|
+
/** The picker grouping caption a custom type declares, when it has one. */
|
|
138
|
+
readonly category: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
139
|
+
/**
|
|
140
|
+
* The descriptors task creation CHECKS a `fields` bag against for this type, in declaration
|
|
141
|
+
* order. Exactly that, on every entry: a client that reads this list knows what the create call
|
|
142
|
+
* will accept, which is the property the one-table design exists to hold.
|
|
143
|
+
*
|
|
144
|
+
* EMPTY therefore means "this API validates nothing per-case here", which covers two different
|
|
145
|
+
* types and neither of them is a lie. A built-in like `feature` takes title and description
|
|
146
|
+
* only, so there is nothing to send. A custom type with a `formPanel`, or one this process does
|
|
147
|
+
* not register, accepts an arbitrary bag NOTHING checks (the internal create door does not
|
|
148
|
+
* either), so there is no list that would describe it. Both answer "do not expect this API to
|
|
149
|
+
* check what you send"; what a `formPanel` type's own form collects is the deployment's to
|
|
150
|
+
* document.
|
|
151
|
+
*/
|
|
152
|
+
readonly fields: v.ArraySchema<v.ObjectSchema<{
|
|
153
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>;
|
|
154
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
155
|
+
readonly help: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 300, undefined>]>, undefined>;
|
|
156
|
+
readonly placeholder: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
157
|
+
readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
|
|
158
|
+
readonly options: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
159
|
+
readonly value: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
160
|
+
readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
|
|
161
|
+
}, undefined>, undefined>, undefined>;
|
|
162
|
+
readonly default: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
163
|
+
readonly defaultValues: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>, v.MaxLengthAction<string[], 50, undefined>]>, undefined>;
|
|
164
|
+
readonly showWhen: v.OptionalSchema<v.ObjectSchema<{
|
|
165
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
166
|
+
readonly equals: v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>;
|
|
167
|
+
readonly includes: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
168
|
+
}, undefined>, undefined>;
|
|
169
|
+
readonly maxLength: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 2000, undefined>]>, undefined>;
|
|
170
|
+
readonly min: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
171
|
+
readonly max: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
172
|
+
readonly type: v.OptionalSchema<v.PicklistSchema<["text", "password", "select", "number", "checkbox", "textarea", "checkbox-group", "path"], undefined>, undefined>;
|
|
173
|
+
}, undefined>, undefined>;
|
|
174
|
+
/**
|
|
175
|
+
* The pipeline a task of this type is pinned to at creation when the caller pins none. Present
|
|
176
|
+
* only where the type declares one; `POST /tasks/:id/start` falls back to it.
|
|
177
|
+
*/
|
|
178
|
+
readonly defaultPipelineId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
|
|
179
|
+
}, undefined>, undefined>;
|
|
180
|
+
}, undefined>;
|
|
181
|
+
export type PublicTaskTypeList = v.InferOutput<typeof publicTaskTypeListSchema>;
|
|
182
|
+
//# sourceMappingURL=public-task-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-task-types.d.ts","sourceRoot":"","sources":["../src/public-task-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAA;AAkBxB;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC,CA6D3F,CAAA;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,eAAe,EAAE,CAEpF;AAED,yGAAyG;AACzG,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEjE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,qBAAqB,GAC5B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAU1E;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,oBAAoB;IAC/B,2FAA2F;;IAE3F,mFAAmF;;IAEnF,+EAA+E;;IAE/E,uDAAuD;;IAEvD,2EAA2E;;IAE3E;;;;;;;;;;;;OAYG;;;;;;;;;;;;;;;;;;;;;;;IAEH;;;OAGG;;aAEH,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;QAxCnC,2FAA2F;;QAE3F,mFAAmF;;QAEnF,+EAA+E;;QAE/E,uDAAuD;;QAEvD,2EAA2E;;QAE3E;;;;;;;;;;;;WAYG;;;;;;;;;;;;;;;;;;;;;;;QAEH;;;WAGG;;;aAayF,CAAA;AAC9F,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import * as v from 'valibot';
|
|
2
|
+
import { descriptorFieldSchema, } from './form-fields.js';
|
|
3
|
+
import { BUILTIN_CREATE_TASK_TYPES, DOC_KINDS, taskTypeFieldsSchema, } from './primitives.js';
|
|
4
|
+
// ---------------------------------------------------------------------------
|
|
5
|
+
// The PUBLIC task-type surface: what `GET /api/v1/task-types` serves, and the vocabulary
|
|
6
|
+
// `createPublicTaskSchema.fields` is checked against.
|
|
7
|
+
//
|
|
8
|
+
// A headless caller could always name a task type; it could never fill one in. Both halves of
|
|
9
|
+
// that gap close here, and they close with ONE table rather than two: discovery serves the field
|
|
10
|
+
// descriptors, and creation validates against the same descriptors through the same shared
|
|
11
|
+
// `validateDescriptorFields` the SPA and the internal API use. A caller that reads the discovery
|
|
12
|
+
// response therefore knows exactly what creation will accept, which is the property a separately
|
|
13
|
+
// hand-written OpenAPI shape could not have offered.
|
|
14
|
+
//
|
|
15
|
+
// Custom types bring their own descriptors (the registry already stores them). The BUILT-IN types
|
|
16
|
+
// have none (their fields are schema-typed top-level keys on `taskTypeFieldsSchema`), so this
|
|
17
|
+
// module states them as descriptors, and that statement is the single source both directions read.
|
|
18
|
+
// ---------------------------------------------------------------------------
|
|
19
|
+
/**
|
|
20
|
+
* The per-type fields a BUILT-IN task type accepts over the public API, as descriptors.
|
|
21
|
+
*
|
|
22
|
+
* A deliberate SUBSET of `taskTypeFieldsSchema`, not a mirror of it. Included is what a caller
|
|
23
|
+
* filing work headlessly actually supplies: a bug's severity and repro, a spike's timebox and
|
|
24
|
+
* question, a document's kind and audience, a review's PR and focus. Excluded are the per-DocKind
|
|
25
|
+
* prose sections (`targetUsers`, `decisionDrivers`, …), which the SPA collects behind a chosen
|
|
26
|
+
* `docKind` and which would triple this surface for fields an integration does not have, plus the
|
|
27
|
+
* document `targetPath`, whose `.md` rule no descriptor type can state (see below). They stay
|
|
28
|
+
* internal until something asks. Adding one later is additive, which is why the subset is safe.
|
|
29
|
+
*
|
|
30
|
+
* The BOUNDS restate `taskTypeFieldsSchema`'s and must stay in step with it. They are declared
|
|
31
|
+
* rather than derived because a descriptor is data a client READS (the discovery response tells a
|
|
32
|
+
* caller the limit before it sends), where a valibot pipe is only a check. `public-task-types.test.ts`
|
|
33
|
+
* pins the relation that must hold in the direction that matters: every value a descriptor here
|
|
34
|
+
* calls valid is one `taskTypeFieldsSchema` also accepts. It is what caught `targetPath`.
|
|
35
|
+
*/
|
|
36
|
+
export const BUILTIN_PUBLIC_TASK_FIELDS = {
|
|
37
|
+
bug: [
|
|
38
|
+
{
|
|
39
|
+
key: 'severity',
|
|
40
|
+
label: 'Severity',
|
|
41
|
+
type: 'select',
|
|
42
|
+
options: [
|
|
43
|
+
{ value: 'low', label: 'Low' },
|
|
44
|
+
{ value: 'medium', label: 'Medium' },
|
|
45
|
+
{ value: 'high', label: 'High' },
|
|
46
|
+
{ value: 'critical', label: 'Critical' },
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
key: 'stepsToReproduce',
|
|
51
|
+
label: 'Steps to reproduce',
|
|
52
|
+
type: 'textarea',
|
|
53
|
+
help: 'Reproduction steps, or observed versus expected behaviour.',
|
|
54
|
+
maxLength: 2000,
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
spike: [
|
|
58
|
+
{ key: 'timeboxHours', label: 'Timebox (hours)', type: 'number', min: 0, max: 1000 },
|
|
59
|
+
{ key: 'successCriteria', label: 'Success criteria', type: 'textarea', maxLength: 2000 },
|
|
60
|
+
{ key: 'researchQuestion', label: 'Research question', type: 'textarea', maxLength: 2000 },
|
|
61
|
+
{ key: 'optionsToCompare', label: 'Options to compare', type: 'textarea', maxLength: 2000 },
|
|
62
|
+
],
|
|
63
|
+
document: [
|
|
64
|
+
{
|
|
65
|
+
key: 'docKind',
|
|
66
|
+
label: 'Document kind',
|
|
67
|
+
type: 'select',
|
|
68
|
+
options: DOC_KINDS.map((kind) => ({ value: kind, label: kind })),
|
|
69
|
+
},
|
|
70
|
+
{ key: 'audience', label: 'Audience', type: 'text', maxLength: 300 },
|
|
71
|
+
// `targetPath` is deliberately ABSENT. The internal schema holds it to `isSafeDocPath` (a
|
|
72
|
+
// relative in-repo path ENDING IN `.md`), and no descriptor type states that rule: `path` is
|
|
73
|
+
// the directory guard, and plain `text` would advertise a free string that creation then
|
|
74
|
+
// refuses with a raw schema error naming no field. Advertising a bound the surface cannot
|
|
75
|
+
// enforce is worse than omitting the field, and adding it later is additive.
|
|
76
|
+
{ key: 'outlineHints', label: 'Outline hints', type: 'textarea', maxLength: 2000 },
|
|
77
|
+
],
|
|
78
|
+
review: [
|
|
79
|
+
{
|
|
80
|
+
key: 'prNumber',
|
|
81
|
+
label: 'Pull request number',
|
|
82
|
+
type: 'number',
|
|
83
|
+
help: 'The open PR to review, on the service’s linked repository.',
|
|
84
|
+
min: 1,
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
key: 'prUrl',
|
|
88
|
+
label: 'Pull request URL',
|
|
89
|
+
type: 'text',
|
|
90
|
+
help: 'The PR’s full web URL. Wins over the number when both are given.',
|
|
91
|
+
maxLength: 500,
|
|
92
|
+
},
|
|
93
|
+
{ key: 'reviewFocus', label: 'Review focus', type: 'textarea', maxLength: 2000 },
|
|
94
|
+
],
|
|
95
|
+
feature: [],
|
|
96
|
+
ralph: [],
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* The descriptors a built-in type accepts, or an empty list for a type with no public fields.
|
|
100
|
+
* Total, so a caller never has to distinguish "no fields" from "unknown type": the type itself is
|
|
101
|
+
* already validated by `createTaskTypeSchema`.
|
|
102
|
+
*/
|
|
103
|
+
export function builtinPublicTaskFields(taskType) {
|
|
104
|
+
return BUILTIN_PUBLIC_TASK_FIELDS[taskType] ?? [];
|
|
105
|
+
}
|
|
106
|
+
/** Whether `taskType` is one of the built-in create-form types (rather than a namespaced custom one). */
|
|
107
|
+
export function isBuiltinCreateTaskType(taskType) {
|
|
108
|
+
return BUILTIN_CREATE_TASK_TYPES.includes(taskType);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* A built-in type's descriptor-checked values as the internal {@link taskTypeFieldsSchema} shape,
|
|
112
|
+
* PARSED through that schema rather than asserted to match it.
|
|
113
|
+
*
|
|
114
|
+
* The table above restates the schema as descriptors, and a descriptor cannot state every rule a
|
|
115
|
+
* valibot pipe can. `prNumber` is `v.integer()` in the schema and a plain `number` here, because
|
|
116
|
+
* the vocabulary has no integer flag: a caller sending `3.7` satisfied the public surface and the
|
|
117
|
+
* value landed on the block as the pull request to review. `prUrl` likewise loses the schema's
|
|
118
|
+
* `v.trim()`. Casting was what let that through, so the fix is to stop casting: this parse is what
|
|
119
|
+
* makes "everything the public surface accepts, the internal schema also accepts" true at RUN TIME
|
|
120
|
+
* rather than a claim its conformity test samples one value per field.
|
|
121
|
+
*
|
|
122
|
+
* A discriminated result, not a throw: contracts states the RULE and cannot see the error
|
|
123
|
+
* vocabulary that decides how a refusal reaches a caller (the kernel `ValidationError` the public
|
|
124
|
+
* route raises). A failure is a drift between the two tables rather than an ordinary bad request,
|
|
125
|
+
* but the value still came from the request, so the caller is told which field and why.
|
|
126
|
+
*/
|
|
127
|
+
export function parseBuiltinPublicTaskFields(values) {
|
|
128
|
+
const parsed = v.safeParse(taskTypeFieldsSchema, values);
|
|
129
|
+
if (parsed.success)
|
|
130
|
+
return { ok: true, fields: parsed.output };
|
|
131
|
+
return {
|
|
132
|
+
ok: false,
|
|
133
|
+
problems: parsed.issues.map((issue) => {
|
|
134
|
+
const key = issue.path?.map((segment) => String(segment.key)).join('.');
|
|
135
|
+
return key ? `${key}: ${issue.message}.` : `${issue.message}.`;
|
|
136
|
+
}),
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* One entry of `GET /api/v1/task-types`: a type a caller may name in `POST /services/:id/tasks`,
|
|
141
|
+
* with the form it accepts.
|
|
142
|
+
*
|
|
143
|
+
* Deliberately omits `formPanel`. It names a FRONTEND component in the deployment's own SPA layer,
|
|
144
|
+
* which is meaningless to an external client and would advertise an id nothing in this API can act
|
|
145
|
+
* on. A type declaring one still appears here, because it IS creatable, but with an EMPTY `fields`
|
|
146
|
+
* list: its bespoke form owns the whole bag, so neither this API nor the internal create door
|
|
147
|
+
* validates one key of it. Projecting the descriptors it happens to declare would advertise a
|
|
148
|
+
* contract nothing enforces, and `fields` on this entry means exactly one thing everywhere
|
|
149
|
+
* (see {@link PublicTaskType.fields}).
|
|
150
|
+
*/
|
|
151
|
+
export const publicTaskTypeSchema = v.object({
|
|
152
|
+
/** The id to pass as `taskType` (`feature`, `bug`, …, or a namespaced `acme:incident`). */
|
|
153
|
+
taskType: v.string(),
|
|
154
|
+
/** False for a type this deployment registered; true for one cat-factory ships. */
|
|
155
|
+
builtin: v.boolean(),
|
|
156
|
+
/** Human label for the type. Deployment-authored English for a custom type. */
|
|
157
|
+
label: v.string(),
|
|
158
|
+
/** One-line description, when the type carries one. */
|
|
159
|
+
description: v.optional(v.string()),
|
|
160
|
+
/** The picker grouping caption a custom type declares, when it has one. */
|
|
161
|
+
category: v.optional(v.string()),
|
|
162
|
+
/**
|
|
163
|
+
* The descriptors task creation CHECKS a `fields` bag against for this type, in declaration
|
|
164
|
+
* order. Exactly that, on every entry: a client that reads this list knows what the create call
|
|
165
|
+
* will accept, which is the property the one-table design exists to hold.
|
|
166
|
+
*
|
|
167
|
+
* EMPTY therefore means "this API validates nothing per-case here", which covers two different
|
|
168
|
+
* types and neither of them is a lie. A built-in like `feature` takes title and description
|
|
169
|
+
* only, so there is nothing to send. A custom type with a `formPanel`, or one this process does
|
|
170
|
+
* not register, accepts an arbitrary bag NOTHING checks (the internal create door does not
|
|
171
|
+
* either), so there is no list that would describe it. Both answer "do not expect this API to
|
|
172
|
+
* check what you send"; what a `formPanel` type's own form collects is the deployment's to
|
|
173
|
+
* document.
|
|
174
|
+
*/
|
|
175
|
+
fields: v.array(descriptorFieldSchema),
|
|
176
|
+
/**
|
|
177
|
+
* The pipeline a task of this type is pinned to at creation when the caller pins none. Present
|
|
178
|
+
* only where the type declares one; `POST /tasks/:id/start` falls back to it.
|
|
179
|
+
*/
|
|
180
|
+
defaultPipelineId: v.optional(v.string()),
|
|
181
|
+
});
|
|
182
|
+
/**
|
|
183
|
+
* The whole catalog: the built-in types first, then the deployment's registered ones in
|
|
184
|
+
* registration order. Not paginated, because a catalog is a handful of entries even for an org with a
|
|
185
|
+
* large operation library, and a caller reads it whole at startup.
|
|
186
|
+
*
|
|
187
|
+
* SUPPRESSION applies: a type the key's workspace hides is absent, because this endpoint answers
|
|
188
|
+
* "what may I create here", and a client offered a type creation then refuses has been misled.
|
|
189
|
+
*/
|
|
190
|
+
export const publicTaskTypeListSchema = v.object({ taskTypes: v.array(publicTaskTypeSchema) });
|
|
191
|
+
//# sourceMappingURL=public-task-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public-task-types.js","sourceRoot":"","sources":["../src/public-task-types.ts"],"names":[],"mappings":"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"}
|
package/dist/routes/index.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ export * from './mergeTrackRecord.js';
|
|
|
37
37
|
export * from './model-presets.js';
|
|
38
38
|
export * from './agent-prompts.js';
|
|
39
39
|
export * from './agent-settings.js';
|
|
40
|
+
export * from './task-types.js';
|
|
40
41
|
export * from './shared-stacks.js';
|
|
41
42
|
export * from './models.js';
|
|
42
43
|
export * from './notifications.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAGA,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
package/dist/routes/index.js
CHANGED
|
@@ -40,6 +40,7 @@ export * from './mergeTrackRecord.js';
|
|
|
40
40
|
export * from './model-presets.js';
|
|
41
41
|
export * from './agent-prompts.js';
|
|
42
42
|
export * from './agent-settings.js';
|
|
43
|
+
export * from './task-types.js';
|
|
43
44
|
export * from './shared-stacks.js';
|
|
44
45
|
export * from './models.js';
|
|
45
46
|
export * from './notifications.js';
|
package/dist/routes/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oDAAoD;AACpD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,oDAAoD;AACpD,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,yBAAyB,CAAA;AACvC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,sBAAsB,CAAA;AACpC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,gCAAgC,CAAA;AAC9C,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,yBAAyB,CAAA;AACvC,cAAc,wBAAwB,CAAA;AACtC,cAAc,yBAAyB,CAAA;AACvC,cAAc,iBAAiB,CAAA"}
|
|
@@ -400,6 +400,7 @@ export declare const createPublicTaskContract: {
|
|
|
400
400
|
title: string;
|
|
401
401
|
content: string;
|
|
402
402
|
})[], 10, undefined>]>, undefined>;
|
|
403
|
+
readonly fields: import("valibot").OptionalSchema<import("valibot").RecordSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 80, undefined>]>, import("valibot").UnionSchema<[import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 2000, undefined>]>, import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 2000, undefined>]>, undefined>, import("valibot").MaxLengthAction<string[], 50, undefined>]>, import("valibot").BooleanSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, undefined>, undefined>;
|
|
403
404
|
}, undefined>;
|
|
404
405
|
readonly responsesByStatusCode: {
|
|
405
406
|
readonly '4xx': import("valibot").ObjectSchema<{
|
|
@@ -822,6 +823,71 @@ export declare const deletePublicTaskContract: {
|
|
|
822
823
|
readonly 204: typeof ContractNoBody;
|
|
823
824
|
};
|
|
824
825
|
};
|
|
826
|
+
/**
|
|
827
|
+
* List the task types this key's workspace may create, with the form each accepts. The discovery
|
|
828
|
+
* half of `createPublicTaskSchema.fields`: a caller reads the descriptors here and fills them
|
|
829
|
+
* there, rather than guessing at a shape the create call would then refuse.
|
|
830
|
+
*/
|
|
831
|
+
export declare const listPublicTaskTypesContract: {
|
|
832
|
+
readonly method: "get";
|
|
833
|
+
readonly pathResolver: () => string;
|
|
834
|
+
readonly responsesByStatusCode: {
|
|
835
|
+
readonly '4xx': import("valibot").ObjectSchema<{
|
|
836
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
837
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
838
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
839
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
840
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
841
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
842
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
843
|
+
}, undefined>, undefined>, undefined>;
|
|
844
|
+
}, undefined>;
|
|
845
|
+
}, undefined>;
|
|
846
|
+
readonly '5xx': import("valibot").ObjectSchema<{
|
|
847
|
+
readonly error: import("valibot").ObjectSchema<{
|
|
848
|
+
readonly code: import("valibot").StringSchema<undefined>;
|
|
849
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
850
|
+
readonly details: import("valibot").OptionalSchema<import("valibot").UnknownSchema, undefined>;
|
|
851
|
+
readonly issues: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
852
|
+
readonly path: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
853
|
+
readonly message: import("valibot").StringSchema<undefined>;
|
|
854
|
+
}, undefined>, undefined>, undefined>;
|
|
855
|
+
}, undefined>;
|
|
856
|
+
}, undefined>;
|
|
857
|
+
readonly 200: import("valibot").ObjectSchema<{
|
|
858
|
+
readonly taskTypes: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
859
|
+
readonly taskType: import("valibot").StringSchema<undefined>;
|
|
860
|
+
readonly builtin: import("valibot").BooleanSchema<undefined>;
|
|
861
|
+
readonly label: import("valibot").StringSchema<undefined>;
|
|
862
|
+
readonly description: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
863
|
+
readonly category: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
864
|
+
readonly fields: import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
865
|
+
readonly key: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 80, undefined>]>;
|
|
866
|
+
readonly label: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
|
|
867
|
+
readonly help: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 300, undefined>]>, undefined>;
|
|
868
|
+
readonly placeholder: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 200, undefined>]>, undefined>;
|
|
869
|
+
readonly required: import("valibot").OptionalSchema<import("valibot").BooleanSchema<undefined>, undefined>;
|
|
870
|
+
readonly options: import("valibot").OptionalSchema<import("valibot").ArraySchema<import("valibot").ObjectSchema<{
|
|
871
|
+
readonly value: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
|
|
872
|
+
readonly label: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>, import("valibot").MaxLengthAction<string, 120, undefined>]>;
|
|
873
|
+
}, undefined>, undefined>, undefined>;
|
|
874
|
+
readonly default: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 2000, undefined>]>, undefined>;
|
|
875
|
+
readonly defaultValues: import("valibot").OptionalSchema<import("valibot").SchemaWithPipe<readonly [import("valibot").ArraySchema<import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MaxLengthAction<string, 2000, undefined>]>, undefined>, import("valibot").MaxLengthAction<string[], 50, undefined>]>, undefined>;
|
|
876
|
+
readonly showWhen: import("valibot").OptionalSchema<import("valibot").ObjectSchema<{
|
|
877
|
+
readonly key: import("valibot").SchemaWithPipe<readonly [import("valibot").StringSchema<undefined>, import("valibot").MinLengthAction<string, 1, undefined>]>;
|
|
878
|
+
readonly equals: import("valibot").OptionalSchema<import("valibot").UnionSchema<[import("valibot").StringSchema<undefined>, import("valibot").BooleanSchema<undefined>, import("valibot").NumberSchema<undefined>], undefined>, undefined>;
|
|
879
|
+
readonly includes: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
880
|
+
}, undefined>, undefined>;
|
|
881
|
+
readonly maxLength: 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, 2000, undefined>]>, undefined>;
|
|
882
|
+
readonly min: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
883
|
+
readonly max: import("valibot").OptionalSchema<import("valibot").NumberSchema<undefined>, undefined>;
|
|
884
|
+
readonly type: import("valibot").OptionalSchema<import("valibot").PicklistSchema<["text", "password", "select", "number", "checkbox", "textarea", "checkbox-group", "path"], undefined>, undefined>;
|
|
885
|
+
}, undefined>, undefined>;
|
|
886
|
+
readonly defaultPipelineId: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
887
|
+
}, undefined>, undefined>;
|
|
888
|
+
}, undefined>;
|
|
889
|
+
};
|
|
890
|
+
};
|
|
825
891
|
/** List the workspace's pipelines (id/name/steps + a headless-startable flag). */
|
|
826
892
|
export declare const listPublicPipelinesContract: {
|
|
827
893
|
readonly method: "get";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/routes/public-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/routes/public-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { ContractNoBody, defineApiContract } from '@toad-contracts/valibot';
|
|
|
2
2
|
import { createHeadlessPublicApiKeySchema, createPublicApiKeySchema, createdPublicApiKeySchema, publicApiKeyListResultSchema, } from '../public-api-keys.js';
|
|
3
3
|
import { notificationSchema } from '../notifications.js';
|
|
4
4
|
import { createPublicJobSchema, createPublicTaskSchema, listPublicJobsQuerySchema, listPublicServiceTasksQuerySchema, publicJobAcceptedSchema, publicIdentitySchema, publicJobListSchema, publicJobSchema, publicNotificationListSchema, publicPipelineListSchema, publicRunSchema, publicServiceListSchema, publicTaskListSchema, publicTaskSchema, publicUsageSchema, startPublicTaskSchema, updatePublicTaskSchema, } from '../public-api.js';
|
|
5
|
+
import { publicTaskTypeListSchema } from '../public-task-types.js';
|
|
5
6
|
import { errorResponses, singleStringParam } from './_shared.js';
|
|
6
7
|
// ---------------------------------------------------------------------------
|
|
7
8
|
// Public-API route contracts. Two surfaces:
|
|
@@ -162,6 +163,16 @@ export const deletePublicTaskContract = defineApiContract({
|
|
|
162
163
|
responsesByStatusCode: { 204: ContractNoBody, ...errorResponses },
|
|
163
164
|
});
|
|
164
165
|
// ---- pipeline discovery (key-authenticated) --------------------------------
|
|
166
|
+
/**
|
|
167
|
+
* List the task types this key's workspace may create, with the form each accepts. The discovery
|
|
168
|
+
* half of `createPublicTaskSchema.fields`: a caller reads the descriptors here and fills them
|
|
169
|
+
* there, rather than guessing at a shape the create call would then refuse.
|
|
170
|
+
*/
|
|
171
|
+
export const listPublicTaskTypesContract = defineApiContract({
|
|
172
|
+
method: 'get',
|
|
173
|
+
pathResolver: () => '/api/v1/task-types',
|
|
174
|
+
responsesByStatusCode: { 200: publicTaskTypeListSchema, ...errorResponses },
|
|
175
|
+
});
|
|
165
176
|
/** List the workspace's pipelines (id/name/steps + a headless-startable flag). */
|
|
166
177
|
export const listPublicPipelinesContract = defineApiContract({
|
|
167
178
|
method: 'get',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../src/routes/public-api.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../src/routes/public-api.ts"],"names":[],"mappings":"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"}
|