@cat-factory/server 0.241.0 → 0.242.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/modules/publicApi/PublicApiController.d.ts.map +1 -1
- package/dist/modules/publicApi/PublicApiController.js +15 -5
- package/dist/modules/publicApi/PublicApiController.js.map +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.d.ts +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.d.ts.map +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.js +1 -1
- package/dist/modules/publicApi/openapiDocument.generated.js.map +1 -1
- package/dist/modules/publicApi/taskTypeFields.d.ts +29 -1
- package/dist/modules/publicApi/taskTypeFields.d.ts.map +1 -1
- package/dist/modules/publicApi/taskTypeFields.js +93 -2
- package/dist/modules/publicApi/taskTypeFields.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapiDocument.generated.js","sourceRoot":"","sources":["../../../src/modules/publicApi/openapiDocument.generated.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,EAAE;AACF,0FAA0F;AAC1F,8FAA8F;AAC9F,8FAA8F;AAC9F,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"openapiDocument.generated.js","sourceRoot":"","sources":["../../../src/modules/publicApi/openapiDocument.generated.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,EAAE;AACF,0FAA0F;AAC1F,8FAA8F;AAC9F,8FAA8F;AAC9F,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG,slkbAAslkb,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CreatePublicTaskInput, PublicTaskType, TaskTypeFields } from '@cat-factory/contracts';
|
|
1
|
+
import type { Block, CreatePublicTaskInput, DescriptorFieldValues, PublicTaskType, TaskTypeFields, UpdateBlockInput } from '@cat-factory/contracts';
|
|
2
2
|
import type { TaskTypeRegistry } from '@cat-factory/kernel';
|
|
3
3
|
/**
|
|
4
4
|
* The catalog for one workspace: the built-in create types, then the deployment's registered custom
|
|
@@ -23,4 +23,32 @@ export declare function publicTaskTypeCatalog(registry: TaskTypeRegistry | undef
|
|
|
23
23
|
* field per round trip against a form it cannot see is the experience this surface exists to avoid.
|
|
24
24
|
*/
|
|
25
25
|
export declare function resolveTaskTypeFields(body: CreatePublicTaskInput, registry: TaskTypeRegistry | undefined): TaskTypeFields | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Turn a caller's PARTIAL `fields` bag on `PATCH /api/v1/tasks/:taskId` into the internal patch
|
|
28
|
+
* keys, checked against the same descriptors creation uses.
|
|
29
|
+
*
|
|
30
|
+
* The public surface MERGES where the internal one replaces, and the asymmetry is the point: this
|
|
31
|
+
* API does not serve the bag back (see `updatePublicTaskSchema.fields`), so a replacing patch
|
|
32
|
+
* would ask a caller to restate values it cannot read. The merge therefore happens HERE, at the
|
|
33
|
+
* door that offers the ergonomic, and what reaches `updateBlock` is a whole half exactly as the
|
|
34
|
+
* app's own form sends one. Validation runs on the MERGED bag rather than the fragment, or a type
|
|
35
|
+
* whose descriptor declares a required field would refuse every patch that does not restate it.
|
|
36
|
+
*
|
|
37
|
+
* A built-in type's INTERNAL-only keys (a document's `targetPath`, the per-`DocKind` prose the
|
|
38
|
+
* public descriptors deliberately omit) are carried through untouched: the caller cannot name
|
|
39
|
+
* them, and a replace that dropped what it could not see would delete a value the app collected.
|
|
40
|
+
*
|
|
41
|
+
* Two things the merge is careful about, both of them cases where "what is stored" is not simply
|
|
42
|
+
* "what the caller kept":
|
|
43
|
+
*
|
|
44
|
+
* - Values the caller did NOT name are not re-judged (`validatePatchedDescriptorFields`). The
|
|
45
|
+
* public descriptors for a built-in type are a deliberately NARROWER restatement of
|
|
46
|
+
* `taskTypeFieldsSchema` (`stepsToReproduce` is 2000 here against the schema's 4000), so judging
|
|
47
|
+
* a stored value by them refuses a patch for something the patch did not do, and refuses every
|
|
48
|
+
* later one identically: a task authored in the app with a 2500-character reproduction would be
|
|
49
|
+
* permanently un-repairable over the surface that exists to repair it.
|
|
50
|
+
* - Keys the request SUPERSEDES are dropped before merging rather than merged back in. Today that
|
|
51
|
+
* is a `review` task's two spellings of one target; see {@link supersededBuiltinFieldKeys}.
|
|
52
|
+
*/
|
|
53
|
+
export declare function resolveTaskTypeFieldsPatch(block: Block, fields: DescriptorFieldValues, registry: TaskTypeRegistry | undefined): Pick<UpdateBlockInput, 'customTaskTypeFields' | 'builtinTaskTypeFields'>;
|
|
26
54
|
//# sourceMappingURL=taskTypeFields.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskTypeFields.d.ts","sourceRoot":"","sources":["../../../src/modules/publicApi/taskTypeFields.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taskTypeFields.d.ts","sourceRoot":"","sources":["../../../src/modules/publicApi/taskTypeFields.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,KAAK,EACL,qBAAqB,EAErB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAsB3D;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,EACtC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,cAAc,EAAE,CAyBlB;AAuBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,qBAAqB,EAC3B,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GACrC,cAAc,GAAG,SAAS,CA8B5B;AAkDD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GACrC,IAAI,CAAC,gBAAgB,EAAE,sBAAsB,GAAG,uBAAuB,CAAC,CAyB1E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BUILTIN_CREATE_TASK_TYPES, builtinPublicTaskFields, isBuiltinCreateTaskType, parseBuiltinPublicTaskFields, sanitizeDescriptorFields, validateDescriptorFields, withDescriptorFieldDefaults, } from '@cat-factory/contracts';
|
|
1
|
+
import { BUILTIN_CREATE_TASK_TYPES, builtinPublicTaskFields, isBuiltinCreateTaskType, parseBuiltinPublicTaskFields, sanitizeDescriptorFields, supersededBuiltinFieldKeys, validateDescriptorFields, validatePatchedDescriptorFields, withDescriptorFieldDefaults, } from '@cat-factory/contracts';
|
|
2
2
|
import { ValidationError } from '@cat-factory/kernel';
|
|
3
3
|
// The public API's task-type half: the CATALOG `GET /api/v1/task-types` serves, and the mapping
|
|
4
4
|
// from a caller's `fields` bag onto the internal `taskTypeFields` the board writes.
|
|
@@ -110,8 +110,99 @@ export function resolveTaskTypeFields(body, registry) {
|
|
|
110
110
|
// `prNumber` of `3.7` passed the descriptor and landed on the block as the PR to review.
|
|
111
111
|
const parsed = parseBuiltinPublicTaskFields(sanitized);
|
|
112
112
|
if (!parsed.ok) {
|
|
113
|
-
throw
|
|
113
|
+
throw refusal(taskType, parsed.problems);
|
|
114
114
|
}
|
|
115
115
|
return parsed.fields;
|
|
116
116
|
}
|
|
117
|
+
/** The ONE refusal shape for a `fields` bag, at either door and for either half. */
|
|
118
|
+
function refusal(taskType, problems) {
|
|
119
|
+
return new ValidationError(`The fields supplied for task type '${taskType}' do not match what it accepts: ${problems.join(' ')}`, { reason: 'task_type_fields_invalid', problems });
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* The values a task's stored bag already carries for the descriptors this type declares, minus the
|
|
123
|
+
* keys this request SUPERSEDES (see {@link supersededBuiltinFieldKeys}).
|
|
124
|
+
*/
|
|
125
|
+
function storedValuesFor(descriptors, stored, superseded) {
|
|
126
|
+
const current = {};
|
|
127
|
+
for (const { key } of descriptors) {
|
|
128
|
+
const value = stored[key];
|
|
129
|
+
if (value !== undefined && !superseded.has(key)) {
|
|
130
|
+
current[key] = value;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return current;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* The stored built-in keys to carry under a settled patch: everything on the row that is not the
|
|
137
|
+
* `custom` sub-bag and not superseded.
|
|
138
|
+
*
|
|
139
|
+
* The carry-through is what keeps a built-in type's INTERNAL-only keys (a document's `targetPath`,
|
|
140
|
+
* the per-`DocKind` prose the public descriptors deliberately omit) alive across a patch that
|
|
141
|
+
* cannot name them. Supersession is the one exception, and it has to be applied HERE as well as to
|
|
142
|
+
* the validated bag: a `prNumber` dropped from the values but left on the carry-through would be
|
|
143
|
+
* spread straight back over the caller's `prUrl`, which is the revert this exists to prevent.
|
|
144
|
+
*/
|
|
145
|
+
function carriedBuiltinKeys(stored, superseded) {
|
|
146
|
+
const carried = {};
|
|
147
|
+
for (const [key, value] of Object.entries(stored)) {
|
|
148
|
+
if (key !== 'custom' && !superseded.has(key))
|
|
149
|
+
carried[key] = value;
|
|
150
|
+
}
|
|
151
|
+
return carried;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Turn a caller's PARTIAL `fields` bag on `PATCH /api/v1/tasks/:taskId` into the internal patch
|
|
155
|
+
* keys, checked against the same descriptors creation uses.
|
|
156
|
+
*
|
|
157
|
+
* The public surface MERGES where the internal one replaces, and the asymmetry is the point: this
|
|
158
|
+
* API does not serve the bag back (see `updatePublicTaskSchema.fields`), so a replacing patch
|
|
159
|
+
* would ask a caller to restate values it cannot read. The merge therefore happens HERE, at the
|
|
160
|
+
* door that offers the ergonomic, and what reaches `updateBlock` is a whole half exactly as the
|
|
161
|
+
* app's own form sends one. Validation runs on the MERGED bag rather than the fragment, or a type
|
|
162
|
+
* whose descriptor declares a required field would refuse every patch that does not restate it.
|
|
163
|
+
*
|
|
164
|
+
* A built-in type's INTERNAL-only keys (a document's `targetPath`, the per-`DocKind` prose the
|
|
165
|
+
* public descriptors deliberately omit) are carried through untouched: the caller cannot name
|
|
166
|
+
* them, and a replace that dropped what it could not see would delete a value the app collected.
|
|
167
|
+
*
|
|
168
|
+
* Two things the merge is careful about, both of them cases where "what is stored" is not simply
|
|
169
|
+
* "what the caller kept":
|
|
170
|
+
*
|
|
171
|
+
* - Values the caller did NOT name are not re-judged (`validatePatchedDescriptorFields`). The
|
|
172
|
+
* public descriptors for a built-in type are a deliberately NARROWER restatement of
|
|
173
|
+
* `taskTypeFieldsSchema` (`stepsToReproduce` is 2000 here against the schema's 4000), so judging
|
|
174
|
+
* a stored value by them refuses a patch for something the patch did not do, and refuses every
|
|
175
|
+
* later one identically: a task authored in the app with a 2500-character reproduction would be
|
|
176
|
+
* permanently un-repairable over the surface that exists to repair it.
|
|
177
|
+
* - Keys the request SUPERSEDES are dropped before merging rather than merged back in. Today that
|
|
178
|
+
* is a `review` task's two spellings of one target; see {@link supersededBuiltinFieldKeys}.
|
|
179
|
+
*/
|
|
180
|
+
export function resolveTaskTypeFieldsPatch(block, fields, registry) {
|
|
181
|
+
const taskType = block.taskType ?? 'feature';
|
|
182
|
+
const stored = block.taskTypeFields ?? {};
|
|
183
|
+
const descriptors = descriptorsFor(taskType, registry);
|
|
184
|
+
const named = Object.keys(fields);
|
|
185
|
+
// Nothing to check against (an unregistered namespaced type, or one whose bespoke form owns the
|
|
186
|
+
// bag): carry the values verbatim, as creation does, merged over what is there.
|
|
187
|
+
if (!descriptors)
|
|
188
|
+
return { customTaskTypeFields: { ...stored.custom, ...fields } };
|
|
189
|
+
const builtin = isBuiltinCreateTaskType(taskType);
|
|
190
|
+
const superseded = new Set(builtin ? supersededBuiltinFieldKeys(taskType, named) : []);
|
|
191
|
+
const current = builtin ? storedValuesFor(descriptors, stored, superseded) : (stored.custom ?? {});
|
|
192
|
+
const merged = withDescriptorFieldDefaults(descriptors, { ...current, ...fields });
|
|
193
|
+
const problems = validatePatchedDescriptorFields(descriptors, merged, named);
|
|
194
|
+
if (problems.length > 0)
|
|
195
|
+
throw refusal(taskType, problems);
|
|
196
|
+
const sanitized = sanitizeDescriptorFields(descriptors, merged);
|
|
197
|
+
// A stored CUSTOM key the descriptor no longer declares does not survive: `sanitizeDescriptorFields`
|
|
198
|
+
// keeps the declared keys only, which is what the internal door writes on every save from the
|
|
199
|
+
// app's own form, and what `checkCustomFields` (the authority behind that door) would refuse to
|
|
200
|
+
// accept back. Carrying it here would diverge the two doors and then be rejected one layer down.
|
|
201
|
+
if (!builtin)
|
|
202
|
+
return { customTaskTypeFields: sanitized };
|
|
203
|
+
const parsed = parseBuiltinPublicTaskFields(sanitized);
|
|
204
|
+
if (!parsed.ok)
|
|
205
|
+
throw refusal(taskType, parsed.problems);
|
|
206
|
+
return { builtinTaskTypeFields: { ...carriedBuiltinKeys(stored, superseded), ...parsed.fields } };
|
|
207
|
+
}
|
|
117
208
|
//# sourceMappingURL=taskTypeFields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taskTypeFields.js","sourceRoot":"","sources":["../../../src/modules/publicApi/taskTypeFields.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"taskTypeFields.js","sourceRoot":"","sources":["../../../src/modules/publicApi/taskTypeFields.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.242.0",
|
|
4
4
|
"description": "Runtime-neutral HTTP layer for the Agent Architecture Board: the Hono controllers, middleware (auth/authz/CORS/error), request helpers and the gateway seams shared by every deployment facade (Cloudflare Worker, Node service).",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
"jose": "^6.2.8",
|
|
32
32
|
"pino": "^10.3.1",
|
|
33
33
|
"valibot": "^1.4.2",
|
|
34
|
-
"@cat-factory/
|
|
35
|
-
"@cat-factory/
|
|
36
|
-
"@cat-factory/integrations": "0.141.1",
|
|
34
|
+
"@cat-factory/integrations": "0.141.2",
|
|
35
|
+
"@cat-factory/agents": "0.117.2",
|
|
37
36
|
"@cat-factory/mcp-server": "0.17.0",
|
|
38
|
-
"@cat-factory/
|
|
39
|
-
"@cat-factory/
|
|
40
|
-
"@cat-factory/spend": "0.15.
|
|
37
|
+
"@cat-factory/orchestration": "0.232.0",
|
|
38
|
+
"@cat-factory/contracts": "0.264.0",
|
|
39
|
+
"@cat-factory/spend": "0.15.30",
|
|
40
|
+
"@cat-factory/kernel": "0.262.2"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/node": "^26.1.2",
|