@cat-factory/contracts 0.227.0 → 0.230.1

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 (82) hide show
  1. package/dist/entities.d.ts +1 -1
  2. package/dist/errors.d.ts +1 -1
  3. package/dist/errors.d.ts.map +1 -1
  4. package/dist/errors.js +15 -0
  5. package/dist/errors.js.map +1 -1
  6. package/dist/execution.d.ts +25 -1
  7. package/dist/execution.d.ts.map +1 -1
  8. package/dist/execution.js +16 -1
  9. package/dist/execution.js.map +1 -1
  10. package/dist/form-fields.d.ts +203 -0
  11. package/dist/form-fields.d.ts.map +1 -0
  12. package/dist/form-fields.js +315 -0
  13. package/dist/form-fields.js.map +1 -0
  14. package/dist/index.d.ts +2 -0
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/initiative-preset.d.ts +34 -93
  19. package/dist/initiative-preset.d.ts.map +1 -1
  20. package/dist/initiative-preset.js +30 -182
  21. package/dist/initiative-preset.js.map +1 -1
  22. package/dist/initiative.d.ts +14 -9
  23. package/dist/initiative.d.ts.map +1 -1
  24. package/dist/initiative.js +15 -15
  25. package/dist/initiative.js.map +1 -1
  26. package/dist/input-gate.d.ts +115 -0
  27. package/dist/input-gate.d.ts.map +1 -0
  28. package/dist/input-gate.js +131 -0
  29. package/dist/input-gate.js.map +1 -0
  30. package/dist/merge.d.ts +2 -2
  31. package/dist/merge.js +2 -2
  32. package/dist/primitives.d.ts +10 -5
  33. package/dist/primitives.d.ts.map +1 -1
  34. package/dist/primitives.js +11 -5
  35. package/dist/primitives.js.map +1 -1
  36. package/dist/public-decisions.d.ts +65 -1
  37. package/dist/public-decisions.d.ts.map +1 -1
  38. package/dist/public-decisions.js +45 -6
  39. package/dist/public-decisions.js.map +1 -1
  40. package/dist/requests.d.ts +1 -1
  41. package/dist/routes/agent-runs.d.ts +22 -0
  42. package/dist/routes/agent-runs.d.ts.map +1 -1
  43. package/dist/routes/board.d.ts +14 -14
  44. package/dist/routes/bug-hunt.d.ts +24 -2
  45. package/dist/routes/bug-hunt.d.ts.map +1 -1
  46. package/dist/routes/execution.d.ts +90 -2
  47. package/dist/routes/execution.d.ts.map +1 -1
  48. package/dist/routes/human-review.d.ts +11 -0
  49. package/dist/routes/human-review.d.ts.map +1 -1
  50. package/dist/routes/human-test.d.ts +55 -0
  51. package/dist/routes/human-test.d.ts.map +1 -1
  52. package/dist/routes/index.d.ts +1 -0
  53. package/dist/routes/index.d.ts.map +1 -1
  54. package/dist/routes/index.js +1 -0
  55. package/dist/routes/index.js.map +1 -1
  56. package/dist/routes/initiative.d.ts +17 -17
  57. package/dist/routes/input-gate.d.ts +48 -0
  58. package/dist/routes/input-gate.d.ts.map +1 -0
  59. package/dist/routes/input-gate.js +24 -0
  60. package/dist/routes/input-gate.js.map +1 -0
  61. package/dist/routes/public-decisions.d.ts +193 -0
  62. package/dist/routes/public-decisions.d.ts.map +1 -1
  63. package/dist/routes/public-decisions.js +20 -1
  64. package/dist/routes/public-decisions.js.map +1 -1
  65. package/dist/routes/tasks.d.ts +3 -3
  66. package/dist/routes/visual-confirm.d.ts +33 -0
  67. package/dist/routes/visual-confirm.d.ts.map +1 -1
  68. package/dist/routes/workspace-settings.d.ts +3 -0
  69. package/dist/routes/workspace-settings.d.ts.map +1 -1
  70. package/dist/routes/workspaces.d.ts +70 -26
  71. package/dist/routes/workspaces.d.ts.map +1 -1
  72. package/dist/snapshot.d.ts +35 -13
  73. package/dist/snapshot.d.ts.map +1 -1
  74. package/dist/task-types.d.ts +69 -28
  75. package/dist/task-types.d.ts.map +1 -1
  76. package/dist/task-types.js +50 -25
  77. package/dist/task-types.js.map +1 -1
  78. package/dist/workspace-settings.d.ts +13 -0
  79. package/dist/workspace-settings.d.ts.map +1 -1
  80. package/dist/workspace-settings.js +14 -0
  81. package/dist/workspace-settings.js.map +1 -1
  82. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import * as v from 'valibot';
2
+ import { type DescriptorFieldOption } from './form-fields.js';
2
3
  /** Card-badge + create-form presentation for a custom task type (mirrors `agentPresentationSchema`). */
3
4
  export declare const taskTypePresentationSchema: v.ObjectSchema<{
4
5
  /** Human label, e.g. `Incident`. */
@@ -9,40 +10,60 @@ export declare const taskTypePresentationSchema: v.ObjectSchema<{
9
10
  readonly color: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 40, undefined>]>;
10
11
  /** One-line description shown in the create-task type picker. */
11
12
  readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
13
+ /**
14
+ * Optional grouping caption for the create-task type picker (e.g. `API delivery`), mirroring
15
+ * `agentPresentationSchema.category`, which already drives the pipeline builder's palette. An
16
+ * org registering twenty reusable operations needs the picker to group them; types sharing a
17
+ * category render under one caption, and an uncategorized type renders flat after them.
18
+ */
19
+ readonly category: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 60, undefined>]>, undefined>;
12
20
  }, undefined>;
13
21
  export type TaskTypePresentation = v.InferOutput<typeof taskTypePresentationSchema>;
14
- /** One choice of a `select` {@link taskTypeFieldDescriptorSchema}. */
22
+ /** One choice of a `select` / `checkbox-group` field (the shared {@link descriptorFieldOptionSchema}). */
15
23
  export declare const taskTypeFieldOptionSchema: v.ObjectSchema<{
16
24
  readonly value: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
17
25
  readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
18
26
  }, undefined>;
19
- export type TaskTypeFieldOption = v.InferOutput<typeof taskTypeFieldOptionSchema>;
27
+ export type TaskTypeFieldOption = DescriptorFieldOption;
20
28
  /**
21
- * One data-driven field on a custom task type's create-form — the descriptor-driven form
22
- * vocabulary (the `credentialFieldSchema` / `agentConfigDescriptorSchema` shape generalized):
23
- * a label + input kind + options. Its value lands in the sparse `taskTypeFields.custom` bag
24
- * keyed by {@link key}, so adding a field never needs a schema migration.
29
+ * Which of the shared descriptor-form input types a task-type field may declare.
30
+ *
31
+ * Everything the initiative-preset form admits EXCEPT `password`, excluded by construction rather
32
+ * than by convention: a collected task field value is folded into agent prompts, projected onto the
33
+ * board snapshot, and captured in agent-context telemetry, so it is the wrong home for a secret. A
34
+ * capability an operation's agents need credentials for declares them by NAME against the
35
+ * per-workspace capability-credential store, where the value never reaches a prompt.
36
+ */
37
+ export declare const taskTypeFieldTypeSchema: v.PicklistSchema<["text", "textarea", "number", "select", "checkbox", "checkbox-group", "path"], undefined>;
38
+ export type TaskTypeFieldType = v.InferOutput<typeof taskTypeFieldTypeSchema>;
39
+ /**
40
+ * One data-driven field on a custom task type's create-form: the SHARED descriptor-form vocabulary
41
+ * (`form-fields.ts`, which the initiative-preset form fills too), narrowed to the types above. Its
42
+ * value lands in the sparse `taskTypeFields.custom` bag keyed by `key`, so adding a field never
43
+ * needs a schema migration, and the shared `validateDescriptorFields` /
44
+ * `sanitizeDescriptorFields` / `renderDescriptorFieldValue` rules apply verbatim: one renderer, one
45
+ * validator, one prose projection across both surfaces.
25
46
  */
26
47
  export declare const taskTypeFieldDescriptorSchema: v.ObjectSchema<{
27
- /** Stable key the collected value is stored under in `taskTypeFields.custom`. */
28
48
  readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>;
29
- /** Human label shown next to the field. */
30
49
  readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
31
- /** The control type: free text, multi-line text, a number, or one of {@link options}. */
32
- readonly type: v.PicklistSchema<["text", "textarea", "number", "select"], undefined>;
33
- /** One-line helper text shown under the field. */
34
50
  readonly help: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 300, undefined>]>, undefined>;
35
- /** Placeholder shown in an empty `text`/`textarea`/`number` input. */
36
51
  readonly placeholder: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
37
- /** The choices for a `select` descriptor; absent (and ignored) for the other types. */
52
+ readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
38
53
  readonly options: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
39
54
  readonly value: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
40
55
  readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
41
56
  }, undefined>, undefined>, undefined>;
42
- /** Whether the field must be filled before the task can be created. */
43
- readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
44
- /** Max length for a `text`/`textarea` value (characters). */
45
- readonly maxLength: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 10000, undefined>]>, undefined>;
57
+ readonly default: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
58
+ 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>;
59
+ readonly showWhen: v.OptionalSchema<v.ObjectSchema<{
60
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
61
+ readonly equals: v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>;
62
+ readonly includes: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
63
+ }, undefined>, undefined>;
64
+ 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>;
65
+ /** The control type; absent is treated as `text`. */
66
+ readonly type: v.OptionalSchema<v.PicklistSchema<["text", "textarea", "number", "select", "checkbox", "checkbox-group", "path"], undefined>, undefined>;
46
67
  }, undefined>;
47
68
  export type TaskTypeFieldDescriptor = v.InferOutput<typeof taskTypeFieldDescriptorSchema>;
48
69
  /**
@@ -63,28 +84,35 @@ export declare const customTaskTypeSchema: v.ObjectSchema<{
63
84
  readonly color: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 40, undefined>]>;
64
85
  /** One-line description shown in the create-task type picker. */
65
86
  readonly description: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 500, undefined>]>;
87
+ /**
88
+ * Optional grouping caption for the create-task type picker (e.g. `API delivery`), mirroring
89
+ * `agentPresentationSchema.category`, which already drives the pipeline builder's palette. An
90
+ * org registering twenty reusable operations needs the picker to group them; types sharing a
91
+ * category render under one caption, and an uncategorized type renders flat after them.
92
+ */
93
+ readonly category: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 60, undefined>]>, undefined>;
66
94
  }, undefined>;
67
95
  /** Data-driven create-form fields (optional; none ⇒ title + description only). */
68
96
  readonly fields: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
69
- /** Stable key the collected value is stored under in `taskTypeFields.custom`. */
70
97
  readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 80, undefined>]>;
71
- /** Human label shown next to the field. */
72
98
  readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
73
- /** The control type: free text, multi-line text, a number, or one of {@link options}. */
74
- readonly type: v.PicklistSchema<["text", "textarea", "number", "select"], undefined>;
75
- /** One-line helper text shown under the field. */
76
99
  readonly help: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 300, undefined>]>, undefined>;
77
- /** Placeholder shown in an empty `text`/`textarea`/`number` input. */
78
100
  readonly placeholder: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
79
- /** The choices for a `select` descriptor; absent (and ignored) for the other types. */
101
+ readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
80
102
  readonly options: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
81
103
  readonly value: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
82
104
  readonly label: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 120, undefined>]>;
83
105
  }, undefined>, undefined>, undefined>;
84
- /** Whether the field must be filled before the task can be created. */
85
- readonly required: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
86
- /** Max length for a `text`/`textarea` value (characters). */
87
- readonly maxLength: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 10000, undefined>]>, undefined>;
106
+ readonly default: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MaxLengthAction<string, 2000, undefined>]>, undefined>;
107
+ 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>;
108
+ readonly showWhen: v.OptionalSchema<v.ObjectSchema<{
109
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
110
+ readonly equals: v.OptionalSchema<v.UnionSchema<[v.StringSchema<undefined>, v.BooleanSchema<undefined>, v.NumberSchema<undefined>], undefined>, undefined>;
111
+ readonly includes: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
112
+ }, undefined>, undefined>;
113
+ 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>;
114
+ /** The control type; absent is treated as `text`. */
115
+ readonly type: v.OptionalSchema<v.PicklistSchema<["text", "textarea", "number", "select", "checkbox", "checkbox-group", "path"], undefined>, undefined>;
88
116
  }, undefined>, undefined>, undefined>;
89
117
  /**
90
118
  * The pipeline a task of this type defaults to when the creator pins none — pairs with a
@@ -92,6 +120,19 @@ export declare const customTaskTypeSchema: v.ObjectSchema<{
92
120
  * positional default, exactly like an unmapped built-in type.
93
121
  */
94
122
  readonly defaultPipelineId: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
123
+ /**
124
+ * The STANDING CONTEXT a task of this type carries: best-practice fragment ids unioned onto
125
+ * every new task's own `fragmentIds` at creation, beside whatever it inherits from its service.
126
+ * This is what makes a reusable operation consistent: an org's API guidelines and auth
127
+ * requirements reach every "introduce an API" run without per-task picking.
128
+ *
129
+ * Only the id SET freezes at creation (matching `serviceFragmentIds` semantics); the BODIES
130
+ * live-resolve per run against the merged builtin ⊕ account ⊕ workspace catalog, so editing a
131
+ * guideline reaches every future run of an already-created task. Ids resolve against the
132
+ * universal code pool AND the tenant tiers, which is why boot validation WARNS rather than
133
+ * refuses on an id it cannot see (a workspace-tier id is structurally invisible at boot).
134
+ */
135
+ readonly defaultFragmentIds: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>, undefined>;
95
136
  /**
96
137
  * Optional id of a bespoke create-form section component (`<ns>:<name>`) the deployment
97
138
  * contributes to the frontend `taskTypeFormPanels` slot, shown INSTEAD of the descriptor
@@ -1 +1 @@
1
- {"version":3,"file":"task-types.d.ts","sourceRoot":"","sources":["../src/task-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAkB5B,wGAAwG;AACxG,eAAO,MAAM,0BAA0B;IACrC,oCAAoC;;IAEpC,2CAA2C;;IAE3C,uCAAuC;;IAEvC,iEAAiE;;aAEjE,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF,sEAAsE;AACtE,eAAO,MAAM,yBAAyB;;;aAGpC,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;IACxC,iFAAiF;;IAEjF,2CAA2C;;IAE3C,yFAAyF;;IAEzF,kDAAkD;;IAElD,sEAAsE;;IAEtE,uFAAuF;;;;;IAEvF,uEAAuE;;IAEvE,6DAA6D;;aAE7D,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;IAC/B,yEAAyE;;IAEzE,6CAA6C;;QApD7C,oCAAoC;;QAEpC,2CAA2C;;QAE3C,uCAAuC;;QAEvC,iEAAiE;;;IAgDjE,kFAAkF;;QA7BlF,iFAAiF;;QAEjF,2CAA2C;;QAE3C,yFAAyF;;QAEzF,kDAAkD;;QAElD,sEAAsE;;QAEtE,uFAAuF;;;;;QAEvF,uEAAuE;;QAEvE,6DAA6D;;;IAiB7D;;;;OAIG;;IAEH;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
1
+ {"version":3,"file":"task-types.d.ts","sourceRoot":"","sources":["../src/task-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAC5B,OAAO,EAGL,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAA;AAkBzB,wGAAwG;AACxG,eAAO,MAAM,0BAA0B;IACrC,oCAAoC;;IAEpC,2CAA2C;;IAE3C,uCAAuC;;IAEvC,iEAAiE;;IAEjE;;;;;OAKG;;aAEH,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF,0GAA0G;AAC1G,eAAO,MAAM,yBAAyB;;;aAA8B,CAAA;AACpE,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,CAAA;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,6GAQlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;IAExC,qDAAqD;;aAErD,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;IAC/B,yEAAyE;;IAEzE,6CAA6C;;QAjE7C,oCAAoC;;QAEpC,2CAA2C;;QAE3C,uCAAuC;;QAEvC,iEAAiE;;QAEjE;;;;;WAKG;;;IAsDH,kFAAkF;;;;;;;;;;;;;;;;;;;QAflF,qDAAqD;;;IAiBrD;;;;OAIG;;IAEH;;;;;;;;;;;OAWG;;IAEH;;;;OAIG;;aAEH,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import * as v from 'valibot';
2
+ import { descriptorFieldEntries, descriptorFieldOptionSchema, } from './form-fields.js';
2
3
  import { namespacedIdSchema } from './primitives.js';
3
4
  // ---------------------------------------------------------------------------
4
5
  // The wire projection of a CUSTOM (deployment-registered) task type — the frontend analogue
@@ -24,35 +25,46 @@ export const taskTypePresentationSchema = v.object({
24
25
  color: v.pipe(v.string(), v.minLength(1), v.maxLength(40)),
25
26
  /** One-line description shown in the create-task type picker. */
26
27
  description: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(500)),
28
+ /**
29
+ * Optional grouping caption for the create-task type picker (e.g. `API delivery`), mirroring
30
+ * `agentPresentationSchema.category`, which already drives the pipeline builder's palette. An
31
+ * org registering twenty reusable operations needs the picker to group them; types sharing a
32
+ * category render under one caption, and an uncategorized type renders flat after them.
33
+ */
34
+ category: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(60))),
27
35
  });
28
- /** One choice of a `select` {@link taskTypeFieldDescriptorSchema}. */
29
- export const taskTypeFieldOptionSchema = v.object({
30
- value: v.pipe(v.string(), v.minLength(1), v.maxLength(120)),
31
- label: v.pipe(v.string(), v.minLength(1), v.maxLength(120)),
32
- });
36
+ /** One choice of a `select` / `checkbox-group` field (the shared {@link descriptorFieldOptionSchema}). */
37
+ export const taskTypeFieldOptionSchema = descriptorFieldOptionSchema;
33
38
  /**
34
- * One data-driven field on a custom task type's create-form — the descriptor-driven form
35
- * vocabulary (the `credentialFieldSchema` / `agentConfigDescriptorSchema` shape generalized):
36
- * a label + input kind + options. Its value lands in the sparse `taskTypeFields.custom` bag
37
- * keyed by {@link key}, so adding a field never needs a schema migration.
39
+ * Which of the shared descriptor-form input types a task-type field may declare.
40
+ *
41
+ * Everything the initiative-preset form admits EXCEPT `password`, excluded by construction rather
42
+ * than by convention: a collected task field value is folded into agent prompts, projected onto the
43
+ * board snapshot, and captured in agent-context telemetry, so it is the wrong home for a secret. A
44
+ * capability an operation's agents need credentials for declares them by NAME against the
45
+ * per-workspace capability-credential store, where the value never reaches a prompt.
46
+ */
47
+ export const taskTypeFieldTypeSchema = v.picklist([
48
+ 'text',
49
+ 'textarea',
50
+ 'number',
51
+ 'select',
52
+ 'checkbox',
53
+ 'checkbox-group',
54
+ 'path',
55
+ ]);
56
+ /**
57
+ * One data-driven field on a custom task type's create-form: the SHARED descriptor-form vocabulary
58
+ * (`form-fields.ts`, which the initiative-preset form fills too), narrowed to the types above. Its
59
+ * value lands in the sparse `taskTypeFields.custom` bag keyed by `key`, so adding a field never
60
+ * needs a schema migration, and the shared `validateDescriptorFields` /
61
+ * `sanitizeDescriptorFields` / `renderDescriptorFieldValue` rules apply verbatim: one renderer, one
62
+ * validator, one prose projection across both surfaces.
38
63
  */
39
64
  export const taskTypeFieldDescriptorSchema = v.object({
40
- /** Stable key the collected value is stored under in `taskTypeFields.custom`. */
41
- key: v.pipe(v.string(), v.minLength(1), v.maxLength(80)),
42
- /** Human label shown next to the field. */
43
- label: v.pipe(v.string(), v.minLength(1), v.maxLength(120)),
44
- /** The control type: free text, multi-line text, a number, or one of {@link options}. */
45
- type: v.picklist(['text', 'textarea', 'number', 'select']),
46
- /** One-line helper text shown under the field. */
47
- help: v.optional(v.pipe(v.string(), v.maxLength(300))),
48
- /** Placeholder shown in an empty `text`/`textarea`/`number` input. */
49
- placeholder: v.optional(v.pipe(v.string(), v.maxLength(200))),
50
- /** The choices for a `select` descriptor; absent (and ignored) for the other types. */
51
- options: v.optional(v.array(taskTypeFieldOptionSchema)),
52
- /** Whether the field must be filled before the task can be created. */
53
- required: v.optional(v.boolean()),
54
- /** Max length for a `text`/`textarea` value (characters). */
55
- maxLength: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(10000))),
65
+ ...descriptorFieldEntries,
66
+ /** The control type; absent is treated as `text`. */
67
+ type: v.optional(taskTypeFieldTypeSchema),
56
68
  });
57
69
  /**
58
70
  * A registered custom task type's wire projection — the snapshot entry the SPA merges into its
@@ -72,6 +84,19 @@ export const customTaskTypeSchema = v.object({
72
84
  * positional default, exactly like an unmapped built-in type.
73
85
  */
74
86
  defaultPipelineId: v.optional(v.string()),
87
+ /**
88
+ * The STANDING CONTEXT a task of this type carries: best-practice fragment ids unioned onto
89
+ * every new task's own `fragmentIds` at creation, beside whatever it inherits from its service.
90
+ * This is what makes a reusable operation consistent: an org's API guidelines and auth
91
+ * requirements reach every "introduce an API" run without per-task picking.
92
+ *
93
+ * Only the id SET freezes at creation (matching `serviceFragmentIds` semantics); the BODIES
94
+ * live-resolve per run against the merged builtin ⊕ account ⊕ workspace catalog, so editing a
95
+ * guideline reaches every future run of an already-created task. Ids resolve against the
96
+ * universal code pool AND the tenant tiers, which is why boot validation WARNS rather than
97
+ * refuses on an id it cannot see (a workspace-tier id is structurally invisible at boot).
98
+ */
99
+ defaultFragmentIds: v.optional(v.array(v.pipe(v.string(), v.minLength(1), v.maxLength(200)))),
75
100
  /**
76
101
  * Optional id of a bespoke create-form section component (`<ns>:<name>`) the deployment
77
102
  * contributes to the frontend `taskTypeFormPanels` slot, shown INSTEAD of the descriptor
@@ -1 +1 @@
1
- {"version":3,"file":"task-types.js","sourceRoot":"","sources":["../src/task-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-types.js","sourceRoot":"","sources":["../src/task-types.ts"],"names":[],"mappings":"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"}
@@ -104,6 +104,18 @@ export declare const workspaceSettingsSchema: v.ObjectSchema<{
104
104
  * inert there. Enabling it with no runner pool registered fails the run loudly.
105
105
  */
106
106
  readonly delegateAgentsToRunnerPool: v.BooleanSchema<undefined>;
107
+ /**
108
+ * Whether/how the PRE-DISPATCH INPUT GATE applies to this workspace's runs: the deterministic
109
+ * structural check of a task's authored input, run before the first agent step is dispatched
110
+ * so a task nobody could act on parks having spent nothing.
111
+ *
112
+ * `standard` (the default) parks a run on a blocking finding: an empty or placeholder-only
113
+ * description, a `bug` with no reproduction context, a `review` task naming no pull request.
114
+ * Each of those is unambiguous: no model reading them could produce work, so buying that
115
+ * verdict from the requirements reviewer costs a call to be told what a string comparison
116
+ * already knew. `advisory` records the same findings and never parks; `off` skips the check.
117
+ */
118
+ readonly inputGateMode: v.PicklistSchema<["standard", "advisory", "off"], undefined>;
107
119
  /** Whether/how review-debt friction is applied when authoring a new task. */
108
120
  readonly reviewFrictionMode: v.PicklistSchema<["off", "warn", "enforce"], undefined>;
109
121
  /**
@@ -188,6 +200,7 @@ export declare const updateWorkspaceSettingsSchema: v.ObjectSchema<{
188
200
  readonly artifactRetentionDays: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 3650, undefined>]>, undefined>;
189
201
  readonly kaizenEnabled: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
190
202
  readonly delegateAgentsToRunnerPool: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
203
+ readonly inputGateMode: v.OptionalSchema<v.PicklistSchema<["standard", "advisory", "off"], undefined>, undefined>;
191
204
  readonly reviewFrictionMode: v.OptionalSchema<v.PicklistSchema<["off", "warn", "enforce"], undefined>, undefined>;
192
205
  readonly reviewFrictionWarnCount: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>;
193
206
  readonly reviewFrictionBlockCount: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 1000, undefined>]>, undefined>, undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAY5B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,4DAA4C,CAAA;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAIrE,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,oeAA8C,CAAA;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAW3E;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,yDAAyC,CAAA;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AA0D/E,iDAAiD;AACjD,eAAO,MAAM,8BAA8B,KAAK,CAAA;AAChD,oDAAoD;AACpD,eAAO,MAAM,mCAAmC,OAAO,CAAA;AAEvD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,2LAMtC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;uDASnC,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,sCAAsC;AACtC,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH,kEAAkE;;IAElE,8EAA8E;;IAE9E,mFAAmF;;IAEnF;;;;;;;OAOG;;IAEH;;;;;;;;;;;OAWG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH,6EAA6E;;IAE7E;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;IAIH,6EAA6E;;IAE7E;;;;;;;;;;OAUG;;IAEH;;;;OAIG;;IAEH;;;;;OAKG;;IAEH;;;;;;;;;;;;;;;;;OAiBG;;IAEH;;;OAGG;;;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,mFAAmF;AACnF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;IA2BxC;;;;;;OAMG;;;;aAEH,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
1
+ {"version":3,"file":"workspace-settings.d.ts","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAa5B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,4DAA4C,CAAA;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAIrE,6FAA6F;AAC7F,eAAO,MAAM,sBAAsB,oeAA8C,CAAA;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAW3E;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,yDAAyC,CAAA;AAC9E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,wBAAwB,CAAC,CAAA;AA0D/E,iDAAiD;AACjD,eAAO,MAAM,8BAA8B,KAAK,CAAA;AAChD,oDAAoD;AACpD,eAAO,MAAM,mCAAmC,OAAO,CAAA;AAEvD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B,2LAMtC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;uDASnC,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,sCAAsC;AACtC,eAAO,MAAM,uBAAuB;IAClC;;;OAGG;;IAEH,kEAAkE;;IAElE,8EAA8E;;IAE9E,mFAAmF;;IAEnF;;;;;;;OAOG;;IAEH;;;;;;;;;;;OAWG;;IAEH;;;;OAIG;;IAEH;;;;OAIG;;IAEH;;;;;;OAMG;;IAEH;;;;;;;;;;OAUG;;IAEH,6EAA6E;;IAE7E;;;OAGG;;IAEH;;;;OAIG;;IAEH;;;OAGG;;IAIH,6EAA6E;;IAE7E;;;;;;;;;;OAUG;;IAEH;;;;OAIG;;IAEH;;;;;OAKG;;IAEH;;;;;;;;;;;;;;;;;OAiBG;;IAEH;;;OAGG;;;;aAEH,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,mFAAmF;AACnF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;IA4BxC;;;;;;OAMG;;;;aAEH,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,6BAA6B,CAAC,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import * as v from 'valibot';
2
2
  import { manifestIdSchema, provisionTypeSchema } from './environments.js';
3
3
  import { createTaskTypeSchema } from './primitives.js';
4
+ import { inputGateModeSchema } from './input-gate.js';
4
5
  // ---------------------------------------------------------------------------
5
6
  // Per-workspace runtime settings. A single settings object per workspace (lazily
6
7
  // seeded from the defaults) holding the operator-tunable policies that aren't
@@ -162,6 +163,18 @@ export const workspaceSettingsSchema = v.object({
162
163
  * inert there. Enabling it with no runner pool registered fails the run loudly.
163
164
  */
164
165
  delegateAgentsToRunnerPool: v.boolean(),
166
+ /**
167
+ * Whether/how the PRE-DISPATCH INPUT GATE applies to this workspace's runs: the deterministic
168
+ * structural check of a task's authored input, run before the first agent step is dispatched
169
+ * so a task nobody could act on parks having spent nothing.
170
+ *
171
+ * `standard` (the default) parks a run on a blocking finding: an empty or placeholder-only
172
+ * description, a `bug` with no reproduction context, a `review` task naming no pull request.
173
+ * Each of those is unambiguous: no model reading them could produce work, so buying that
174
+ * verdict from the requirements reviewer costs a call to be told what a string comparison
175
+ * already knew. `advisory` records the same findings and never parks; `off` skips the check.
176
+ */
177
+ inputGateMode: inputGateModeSchema,
165
178
  /** Whether/how review-debt friction is applied when authoring a new task. */
166
179
  reviewFrictionMode: reviewFrictionModeSchema,
167
180
  /**
@@ -243,6 +256,7 @@ export const updateWorkspaceSettingsSchema = v.object({
243
256
  artifactRetentionDays: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(3650))),
244
257
  kaizenEnabled: v.optional(v.boolean()),
245
258
  delegateAgentsToRunnerPool: v.optional(v.boolean()),
259
+ inputGateMode: v.optional(inputGateModeSchema),
246
260
  reviewFrictionMode: v.optional(reviewFrictionModeSchema),
247
261
  reviewFrictionWarnCount: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1), v.maxValue(1000))),
248
262
  reviewFrictionBlockCount: v.optional(v.nullable(limitSchema)),
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-settings.js","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-settings.js","sourceRoot":"","sources":["../src/workspace-settings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/contracts",
3
- "version": "0.227.0",
3
+ "version": "0.230.1",
4
4
  "description": "Valibot wire contract shared between the Agent Architecture Board frontend and backend.",
5
5
  "repository": {
6
6
  "type": "git",