@cat-factory/kernel 0.240.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/domain/change-class.d.ts +1 -43
- package/dist/domain/change-class.d.ts.map +1 -1
- package/dist/domain/change-class.js +0 -44
- package/dist/domain/change-class.js.map +1 -1
- package/dist/domain/errors.d.ts +9 -1
- package/dist/domain/errors.d.ts.map +1 -1
- package/dist/domain/errors.js +10 -2
- package/dist/domain/errors.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/ports/board-operations.d.ts +9 -3
- package/dist/ports/board-operations.d.ts.map +1 -1
- package/dist/ports/operational-metrics.d.ts +13 -1
- package/dist/ports/operational-metrics.d.ts.map +1 -1
- package/dist/ports/operational-metrics.js.map +1 -1
- package/dist/ports/public-api-key-repositories.d.ts +21 -0
- package/dist/ports/public-api-key-repositories.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ChangeClass
|
|
1
|
+
import type { ChangeClass } from '@cat-factory/contracts';
|
|
2
2
|
/**
|
|
3
3
|
* Risk rank per class — HIGHER means riskier, and a mixed diff resolves to the highest rank
|
|
4
4
|
* present. That precedence is what makes a per-class rule safe by construction: "always
|
|
@@ -48,46 +48,4 @@ export interface ChangeClassification {
|
|
|
48
48
|
* never matches a per-class rule, so a diff we could not read can never widen the merge policy.
|
|
49
49
|
*/
|
|
50
50
|
export declare function classifyChangedFiles(paths: readonly string[]): ChangeClassification;
|
|
51
|
-
/**
|
|
52
|
-
* The rule a preset applies to a given change class: the explicit entry when there is one, else
|
|
53
|
-
* `thresholds` (so an empty/absent rule map behaves exactly as it did before per-class rules).
|
|
54
|
-
*
|
|
55
|
-
* `unknown` ALWAYS resolves to `thresholds` — no rule may match it. This is the invariant that
|
|
56
|
-
* keeps a classification failure inert: a transient VCS outage falls back to the score
|
|
57
|
-
* comparison instead of silently adopting a widened (or tightened) policy.
|
|
58
|
-
*/
|
|
59
|
-
export declare function resolveMergeClassRule(rules: MergeClassRules | null | undefined, changeClass: ChangeClass): MergeClassRule;
|
|
60
|
-
/** The rule that governs a run, before and after its initiator's role narrowed it. */
|
|
61
|
-
export interface RoleScopedMergeClassRule {
|
|
62
|
-
/** What the preset's base `classRules` say for this change class. */
|
|
63
|
-
base: MergeClassRule;
|
|
64
|
-
/** What actually applies: `base` narrowed by the initiator's role entry. */
|
|
65
|
-
effective: MergeClassRule;
|
|
66
|
-
/**
|
|
67
|
-
* Whether the role CHANGED the outcome. False both when no role was pinned and when the role's
|
|
68
|
-
* entry was no stricter than the base, so a caller can report "a role narrowed this" without
|
|
69
|
-
* re-comparing — and never attributes to a role a refusal the base map would have made anyway.
|
|
70
|
-
*/
|
|
71
|
-
narrowedByRole: boolean;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Resolve the per-class rule that governs one run: the preset's base rule for the run's change
|
|
75
|
-
* class, narrowed by the entry (if any) its initiator's ROLE carries.
|
|
76
|
-
*
|
|
77
|
-
* Two absences pass straight through to the base rule, deliberately and for the same reason:
|
|
78
|
-
* an unattributed run (no pinned role — a schedule fire, a public-API start, auth-disabled dev)
|
|
79
|
-
* and a role with no authored entry. Neither is evidence about how much review the work needs,
|
|
80
|
-
* and inventing a tier for the first would either hand it the preset's widest rules or sandbox
|
|
81
|
-
* every scheduled run in the deployment the day someone first authors a role entry.
|
|
82
|
-
*
|
|
83
|
-
* `unknown` remains inert through both layers: {@link resolveMergeClassRule} already forces it to
|
|
84
|
-
* `thresholds`, and narrowing `thresholds` by a rule authored for some OTHER class cannot reach
|
|
85
|
-
* it, so a diff we could not read still falls back to the score comparison whoever started it.
|
|
86
|
-
*/
|
|
87
|
-
export declare function resolveRoleScopedMergeClassRule(input: {
|
|
88
|
-
rules: MergeClassRules | null | undefined;
|
|
89
|
-
byRole: ClassRulesByRole | null | undefined;
|
|
90
|
-
role: WorkspaceRole | null | undefined;
|
|
91
|
-
changeClass: ChangeClass;
|
|
92
|
-
}): RoleScopedMergeClassRule;
|
|
93
51
|
//# sourceMappingURL=change-class.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-class.d.ts","sourceRoot":"","sources":["../../src/domain/change-class.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"change-class.d.ts","sourceRoot":"","sources":["../../src/domain/change-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAiBzD;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAQzD,CAAA;AAqLD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAwCjF;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,+FAA+F;IAC/F,WAAW,EAAE,WAAW,CAAA;IACxB,yEAAyE;IACzE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,oBAAoB,CAUnF"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { narrowMergeClassRule } from '@cat-factory/contracts';
|
|
2
1
|
// ---------------------------------------------------------------------------
|
|
3
2
|
// Pure, DETERMINISTIC change classification: given the paths a pull request
|
|
4
3
|
// changed, decide WHAT KIND of change it is. Lives in kernel (pure logic, no
|
|
@@ -291,47 +290,4 @@ export function classifyChangedFiles(paths) {
|
|
|
291
290
|
}
|
|
292
291
|
return { changeClass: winner, fileCount };
|
|
293
292
|
}
|
|
294
|
-
/**
|
|
295
|
-
* The rule a preset applies to a given change class: the explicit entry when there is one, else
|
|
296
|
-
* `thresholds` (so an empty/absent rule map behaves exactly as it did before per-class rules).
|
|
297
|
-
*
|
|
298
|
-
* `unknown` ALWAYS resolves to `thresholds` — no rule may match it. This is the invariant that
|
|
299
|
-
* keeps a classification failure inert: a transient VCS outage falls back to the score
|
|
300
|
-
* comparison instead of silently adopting a widened (or tightened) policy.
|
|
301
|
-
*/
|
|
302
|
-
export function resolveMergeClassRule(rules, changeClass) {
|
|
303
|
-
if (changeClass === 'unknown')
|
|
304
|
-
return 'thresholds';
|
|
305
|
-
return rules?.[changeClass] ?? 'thresholds';
|
|
306
|
-
}
|
|
307
|
-
/**
|
|
308
|
-
* Resolve the per-class rule that governs one run: the preset's base rule for the run's change
|
|
309
|
-
* class, narrowed by the entry (if any) its initiator's ROLE carries.
|
|
310
|
-
*
|
|
311
|
-
* Two absences pass straight through to the base rule, deliberately and for the same reason:
|
|
312
|
-
* an unattributed run (no pinned role — a schedule fire, a public-API start, auth-disabled dev)
|
|
313
|
-
* and a role with no authored entry. Neither is evidence about how much review the work needs,
|
|
314
|
-
* and inventing a tier for the first would either hand it the preset's widest rules or sandbox
|
|
315
|
-
* every scheduled run in the deployment the day someone first authors a role entry.
|
|
316
|
-
*
|
|
317
|
-
* `unknown` remains inert through both layers: {@link resolveMergeClassRule} already forces it to
|
|
318
|
-
* `thresholds`, and narrowing `thresholds` by a rule authored for some OTHER class cannot reach
|
|
319
|
-
* it, so a diff we could not read still falls back to the score comparison whoever started it.
|
|
320
|
-
*/
|
|
321
|
-
export function resolveRoleScopedMergeClassRule(input) {
|
|
322
|
-
const base = resolveMergeClassRule(input.rules, input.changeClass);
|
|
323
|
-
if (!input.role || input.changeClass === 'unknown') {
|
|
324
|
-
return { base, effective: base, narrowedByRole: false };
|
|
325
|
-
}
|
|
326
|
-
// Read the role's entry as an OPTIONAL lookup, NOT through `resolveMergeClassRule`. That helper
|
|
327
|
-
// substitutes `thresholds` for an absent class, which is right when it IS the policy and wrong
|
|
328
|
-
// here: a role that authored nothing has said nothing, and folding its silence in as
|
|
329
|
-
// `thresholds` would narrow every `always` in the base map the moment a preset gained its first
|
|
330
|
-
// role entry — for the roles that entry is not even about. Absent is not a rule.
|
|
331
|
-
const roleRule = input.byRole?.[input.role]?.[input.changeClass];
|
|
332
|
-
if (!roleRule)
|
|
333
|
-
return { base, effective: base, narrowedByRole: false };
|
|
334
|
-
const effective = narrowMergeClassRule(base, roleRule);
|
|
335
|
-
return { base, effective, narrowedByRole: effective !== base };
|
|
336
|
-
}
|
|
337
293
|
//# sourceMappingURL=change-class.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-class.js","sourceRoot":"","sources":["../../src/domain/change-class.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"change-class.js","sourceRoot":"","sources":["../../src/domain/change-class.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/errors.d.ts
CHANGED
|
@@ -26,7 +26,15 @@ export declare class DomainError extends Error {
|
|
|
26
26
|
}
|
|
27
27
|
/** A referenced entity does not exist (→ 404). */
|
|
28
28
|
export declare class NotFoundError extends DomainError {
|
|
29
|
-
constructor(entity: string, id: string
|
|
29
|
+
constructor(entity: string, id: string,
|
|
30
|
+
/**
|
|
31
|
+
* Optional machine-readable context (a `reason` code), mirroring {@link ValidationError} and
|
|
32
|
+
* {@link UnavailableError}. It earns its place where ONE endpoint answers 404 for causes that
|
|
33
|
+
* need different reactions: the artifact blob route refuses both an id its workspace does not
|
|
34
|
+
* hold and a row whose bytes are gone from the blob backend, and only a reason tells a caller
|
|
35
|
+
* whether to stop asking or to report a storage fault.
|
|
36
|
+
*/
|
|
37
|
+
details?: Record<string, unknown>);
|
|
30
38
|
}
|
|
31
39
|
/** Structurally valid but violates a domain rule (→ 422). */
|
|
32
40
|
export declare class ValidationError extends DomainError {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/domain/errors.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAE7D,qBAAa,WAAY,SAAQ,KAAK;IAElC,QAAQ,CAAC,IAAI,EAAE,eAAe;IAE9B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAT5C,YACW,IAAI,EAAE,eAAe,EAC9B,OAAO,EAAE,MAAM;IACf;;;;;OAKG;IACM,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EAI3C;CACF;AAED,kDAAkD;AAClD,qBAAa,aAAc,SAAQ,WAAW;IAC5C,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/domain/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/errors.js
CHANGED
|
@@ -20,8 +20,16 @@ export class DomainError extends Error {
|
|
|
20
20
|
}
|
|
21
21
|
/** A referenced entity does not exist (→ 404). */
|
|
22
22
|
export class NotFoundError extends DomainError {
|
|
23
|
-
constructor(entity, id
|
|
24
|
-
|
|
23
|
+
constructor(entity, id,
|
|
24
|
+
/**
|
|
25
|
+
* Optional machine-readable context (a `reason` code), mirroring {@link ValidationError} and
|
|
26
|
+
* {@link UnavailableError}. It earns its place where ONE endpoint answers 404 for causes that
|
|
27
|
+
* need different reactions: the artifact blob route refuses both an id its workspace does not
|
|
28
|
+
* hold and a row whose bytes are gone from the blob backend, and only a reason tells a caller
|
|
29
|
+
* whether to stop asking or to report a storage fault.
|
|
30
|
+
*/
|
|
31
|
+
details) {
|
|
32
|
+
super('not_found', `${entity} '${id}' not found`, details);
|
|
25
33
|
}
|
|
26
34
|
}
|
|
27
35
|
/** Structurally valid but violates a domain rule (→ 422). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/domain/errors.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAWhF,MAAM,OAAO,WAAY,SAAQ,KAAK;IAEzB,IAAI;IAQJ,OAAO;IATlB,YACW,IAAqB,EAC9B,OAAe;IACf;;;;;OAKG;IACM,OAAiC;QAE1C,KAAK,CAAC,OAAO,CAAC,CAAA;oBAVL,IAAI;uBAQJ,OAAO;QAGhB,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAA;IAC7B,CAAC;CACF;AAED,kDAAkD;AAClD,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/domain/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export { DomainError, NotFoundError, ValidationError, ConflictError, CredentialR
|
|
|
3
3
|
export { sameSubtasks, sameSubtaskItems, parseSubtasks } from './domain/subtasks.logic.js';
|
|
4
4
|
export { type CachePolicy, providerCachePolicy, providerCachesPrompts, } from './domain/cache-policy.js';
|
|
5
5
|
export { resolveWritebackFlag } from './domain/writeback.js';
|
|
6
|
-
export { CHANGE_CLASS_RANK, classifyChangedPath, classifyChangedFiles,
|
|
6
|
+
export { CHANGE_CLASS_RANK, classifyChangedPath, classifyChangedFiles, type ChangeClassification, } from './domain/change-class.js';
|
|
7
7
|
export { extractJson } from './domain/llm-output.js';
|
|
8
8
|
export { detectValidationChecks, RepoView, type DetectedCheck, type ValidationDetectionResult, type EcosystemDetection, type EcosystemDetector, type RepoRootEntry, type RepoSurface, type ValidationCheckRole, } from './domain/validation-detection.js';
|
|
9
9
|
export { DEFAULT_VALIDATION_DETECTORS, LANGUAGE_DETECTORS, TASK_RUNNER_DETECTORS, VALIDATION_DETECTION_CONTENT_FILES, } from './domain/validation-detectors.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,mBAAmB,CAAA;AACjC,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1F,OAAO,EACL,KAAK,WAAW,EAChB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,8 +8,11 @@ export { resolveWritebackFlag } from './domain/writeback.js';
|
|
|
8
8
|
// `narrowMergeClassRule` is NOT re-exported from here: it moved to `@cat-factory/contracts` beside
|
|
9
9
|
// the rule maps it composes, so the preset editor in the SPA narrows by the same implementation the
|
|
10
10
|
// engine applies. A convenience re-export would put two import paths on one rule, which is the
|
|
11
|
-
// shape that lets a second hand-written copy exist.
|
|
12
|
-
|
|
11
|
+
// shape that lets a second hand-written copy exist. `resolveMergeClassRule` /
|
|
12
|
+
// `resolveRoleScopedMergeClassRule` followed it there when the SPA's risk-policy picker had to
|
|
13
|
+
// agree about what a role's entry costs that role, and are not re-exported for the same reason.
|
|
14
|
+
// What stays here is the CLASSIFICATION of a diff, which nothing in the SPA decides.
|
|
15
|
+
export { CHANGE_CLASS_RANK, classifyChangedPath, classifyChangedFiles, } from './domain/change-class.js';
|
|
13
16
|
export { extractJson } from './domain/llm-output.js';
|
|
14
17
|
export { detectValidationChecks, RepoView, } from './domain/validation-detection.js';
|
|
15
18
|
export { DEFAULT_VALIDATION_DETECTORS, LANGUAGE_DETECTORS, TASK_RUNNER_DETECTORS, VALIDATION_DETECTION_CONTENT_FILES, } from './domain/validation-detectors.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,8DAA8D;AAE9D,cAAc,mBAAmB,CAAA;AACjC,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,cAAc,GAIf,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1F,OAAO,EAEL,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,mGAAmG;AACnG,oGAAoG;AACpG,+FAA+F;AAC/F,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,22 @@
|
|
|
1
|
-
import type { AddEpicInput, AddFrameInput, AddModuleInput, AddTaskInput, UpdateBlockInput } from '@cat-factory/contracts';
|
|
1
|
+
import type { AddEpicInput, AddFrameInput, AddModuleInput, AddTaskInput, BlockEditActor, UpdateBlockInput } from '@cat-factory/contracts';
|
|
2
2
|
import type { Block } from '../domain/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* The write-side board operations needed by integration packages (e.g.
|
|
5
5
|
* DocumentLinkService) that materialise external structure onto the board.
|
|
6
6
|
* A narrow port so the integrations package does not depend on the full
|
|
7
7
|
* BoardService class.
|
|
8
|
+
*
|
|
9
|
+
* The two writes that can carry a task's merge preset take the {@link BlockEditActor} making
|
|
10
|
+
* them, which is what refuses a selection relaxing the editor's own role policy (ADR 0037). It is
|
|
11
|
+
* REQUIRED rather than defaulted so a new caller has to answer the question: an integration
|
|
12
|
+
* materialising external structure has no workspace tier behind it and passes
|
|
13
|
+
* `UNATTRIBUTED_BLOCK_EDITOR`, but that has to be said rather than inherited from a default.
|
|
8
14
|
*/
|
|
9
15
|
export interface BoardWritePort {
|
|
10
16
|
addFrame(workspaceId: string, input: AddFrameInput): Promise<Block>;
|
|
11
17
|
addModule(workspaceId: string, frameId: string, input: AddModuleInput): Promise<Block>;
|
|
12
|
-
addTask(workspaceId: string, containerId: string, input: AddTaskInput, createdBy?: string | null): Promise<Block>;
|
|
13
|
-
updateBlock(workspaceId: string, blockId: string, patch: UpdateBlockInput): Promise<Block>;
|
|
18
|
+
addTask(workspaceId: string, containerId: string, input: AddTaskInput, editor: BlockEditActor, createdBy?: string | null): Promise<Block>;
|
|
19
|
+
updateBlock(workspaceId: string, blockId: string, patch: UpdateBlockInput, editor: BlockEditActor): Promise<Block>;
|
|
14
20
|
/** Create an `epic`-level grouping node (used by the epic-import spawn). */
|
|
15
21
|
addEpic(workspaceId: string, input: AddEpicInput): Promise<Block>;
|
|
16
22
|
/** Assign a task to an epic, or detach it (`epicId: null`). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"board-operations.d.ts","sourceRoot":"","sources":["../../src/ports/board-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C
|
|
1
|
+
{"version":3,"file":"board-operations.d.ts","sourceRoot":"","sources":["../../src/ports/board-operations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,cAAc,EACd,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IACnE,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IACtF,OAAO,CACL,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,cAAc,EACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,KAAK,CAAC,CAAA;IACjB,WAAW,CACT,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,KAAK,CAAC,CAAA;IACjB,4EAA4E;IAC5E,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IACjE,+DAA+D;IAC/D,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;IACxF,iEAAiE;IACjE,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;CAC1F"}
|
|
@@ -65,7 +65,19 @@ export type OperationalCounter =
|
|
|
65
65
|
* pipeline's id is whatever a deployment named it, so it is exactly the unbounded dimension
|
|
66
66
|
* the rule above bans. The id rides the log line at the increment site.
|
|
67
67
|
*/
|
|
68
|
-
| 'pipeline.adopted'
|
|
68
|
+
| 'pipeline.adopted'
|
|
69
|
+
/**
|
|
70
|
+
* A container dispatch's job token was minted INSTALLATION-WIDE after the run named a repo
|
|
71
|
+
* scope that could not be expressed as provider repo ids (`buildDispatchTokenMint`). The
|
|
72
|
+
* dispatch still runs, deliberately: a scope that dropped a leg would mint a token unable to
|
|
73
|
+
* clone a repo the job body still names. So the widening is invisible in every run-level
|
|
74
|
+
* signal, and only a standing rate says a repo projection is carrying ids the provider would
|
|
75
|
+
* not recognise, which is a security property quietly degrading rather than a run failing.
|
|
76
|
+
*
|
|
77
|
+
* UNDIMENSIONED: the interesting split would be by installation or repo, both unbounded. The
|
|
78
|
+
* ids and the run ride the log line at the increment site.
|
|
79
|
+
*/
|
|
80
|
+
| 'dispatch.token_scope_widened';
|
|
69
81
|
/** The closed set of operational gauges — point-in-time readings, never accumulated. */
|
|
70
82
|
export type OperationalGauge =
|
|
71
83
|
/** Jobs waiting in a durable queue right now. Dimensioned by `queue`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational-metrics.d.ts","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,MAAM,kBAAkB;AAC5B,mFAAmF;AACjF,oBAAoB;AACtB,0FAA0F;GACxF,qBAAqB;AACvB,sFAAsF;GACpF,mBAAmB;AACrB,yFAAyF;GACvF,cAAc;AAChB,wFAAwF;GACtF,2BAA2B;AAC7B,oFAAoF;GAClF,mBAAmB;AACrB,0EAA0E;GACxE,0BAA0B;AAC5B,kEAAkE;GAChE,8BAA8B;AAChC,uEAAuE;GACrE,WAAW;AACb,+EAA+E;GAC7E,YAAY;AACd;;;;GAIG;GACD,uBAAuB;AACzB;;;GAGG;GACD,iCAAiC;AACnC;;;;;;;;;;;;;;;;GAgBG;GACD,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB;AAC3B;;;;;;;;;;;GAWG;GACD,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"operational-metrics.d.ts","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,MAAM,kBAAkB;AAC5B,mFAAmF;AACjF,oBAAoB;AACtB,0FAA0F;GACxF,qBAAqB;AACvB,sFAAsF;GACpF,mBAAmB;AACrB,yFAAyF;GACvF,cAAc;AAChB,wFAAwF;GACtF,2BAA2B;AAC7B,oFAAoF;GAClF,mBAAmB;AACrB,0EAA0E;GACxE,0BAA0B;AAC5B,kEAAkE;GAChE,8BAA8B;AAChC,uEAAuE;GACrE,WAAW;AACb,+EAA+E;GAC7E,YAAY;AACd;;;;GAIG;GACD,uBAAuB;AACzB;;;GAGG;GACD,iCAAiC;AACnC;;;;;;;;;;;;;;;;GAgBG;GACD,uBAAuB,GACvB,yBAAyB,GACzB,yBAAyB;AAC3B;;;;;;;;;;;GAWG;GACD,kBAAkB;AACpB;;;;;;;;;;GAUG;GACD,8BAA8B,CAAA;AAUlC,wFAAwF;AACxF,MAAM,MAAM,gBAAgB;AAC1B,yEAAyE;AACzE,aAAa,CAAA;AAEf;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAEpE,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,kBAAkB,CAAA;IAC3B,UAAU,EAAE,qBAAqB,CAAA;IACjC,+FAA+F;IAC/F,KAAK,EAAE,MAAM,CAAA;CACd;AAED,uCAAuC;AACvC,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,gBAAgB,CAAA;IACvB,UAAU,EAAE,qBAAqB,CAAA;IACjC,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjG;AAED;;;;;GAKG;AACH,MAAM,WAAW,2BAA4B,SAAQ,kBAAkB;IACrE;;;;;OAKG;IACH,KAAK,IAAI,wBAAwB,EAAE,CAAA;CACpC;AAED,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB,EAAE,kBAA4C,CAAA;AAYjF;;;;;GAKG;AACH,wBAAgB,iCAAiC,IAAI,2BAA2B,CA8B/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational-metrics.js","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,0CAA0C;AAC1C,EAAE;AACF,sFAAsF;AACtF,yFAAyF;AACzF,0FAA0F;AAC1F,4FAA4F;AAC5F,2FAA2F;AAC3F,6CAA6C;AAC7C,EAAE;AACF,8DAA8D;AAC9D,yFAAyF;AACzF,4FAA4F;AAC5F,iDAAiD;AACjD,yFAAyF;AACzF,qEAAqE;AACrE,EAAE;AACF,6FAA6F;AAC7F,mFAAmF;
|
|
1
|
+
{"version":3,"file":"operational-metrics.js","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,0CAA0C;AAC1C,EAAE;AACF,sFAAsF;AACtF,yFAAyF;AACzF,0FAA0F;AAC1F,4FAA4F;AAC5F,2FAA2F;AAC3F,6CAA6C;AAC7C,EAAE;AACF,8DAA8D;AAC9D,yFAAyF;AACzF,4FAA4F;AAC5F,iDAAiD;AACjD,yFAAyF;AACzF,qEAAqE;AACrE,EAAE;AACF,6FAA6F;AAC7F,mFAAmF;AAsJnF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAuB,EAAE,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;AAEjF;;;;GAIG;AACH,SAAS,YAAY,CAAC,UAAiC;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC;IAC/C,wFAAwF;IACxF,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAGrB,CAAA;IACH,OAAO;QACL,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC;YAC3C,IAAI,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAA;gBACxB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YACrC,CAAC;YACD,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;YACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACtC,IAAI,QAAQ;gBAAE,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAA;;gBAChC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,KAAK;YACH,MAAM,OAAO,GAA+B,EAAE,CAAA;YAC9C,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC/C,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBACpD,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,KAAK,EAAE,CAAA;YAChB,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -17,6 +17,16 @@ export interface PublicApiKeyRecord {
|
|
|
17
17
|
* admin action), so this is provenance, never an authorization input.
|
|
18
18
|
*/
|
|
19
19
|
createdByUserId: string | null;
|
|
20
|
+
/**
|
|
21
|
+
* The KEY that minted this one, for a key provisioned headlessly through `POST /api/v1/keys`;
|
|
22
|
+
* `null` for one a person minted in the app (and for every key predating the column).
|
|
23
|
+
*
|
|
24
|
+
* Unlike {@link PublicApiKeyRecord.createdByUserId} this is also a LIFECYCLE link, not only
|
|
25
|
+
* provenance: revoking a key revokes everything it minted, which is what keeps a leaked
|
|
26
|
+
* provisioning key from outliving its own revocation through the keys it left behind. It is
|
|
27
|
+
* still never an authorization input: what a key may do is its own `scope`, nothing else.
|
|
28
|
+
*/
|
|
29
|
+
createdByKeyId: string | null;
|
|
20
30
|
createdAt: number;
|
|
21
31
|
/** When the key last authenticated a call (null = never used). */
|
|
22
32
|
lastUsedAt: number | null;
|
|
@@ -43,5 +53,16 @@ export interface PublicApiKeyRepository {
|
|
|
43
53
|
markUsed(id: string, at: number): Promise<void>;
|
|
44
54
|
/** Revoke a key (stamp `revokedAt`), scoped to its workspace. */
|
|
45
55
|
revoke(workspaceId: string, id: string, at: number): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Revoke every LIVE key that `minterId` minted (one statement, never a read-then-loop), scoped
|
|
58
|
+
* to the minter's workspace. Idempotent, and a no-op for the ordinary key that minted none.
|
|
59
|
+
*
|
|
60
|
+
* A separate method rather than a flag on {@link PublicApiKeyRepository.revoke} because the two
|
|
61
|
+
* are different statements about the world: revoking a key is an operator's decision about that
|
|
62
|
+
* credential, and cascading is the invariant that a minted key never outlives its minter. A
|
|
63
|
+
* caller that had to remember the second call is a caller that eventually forgets it, so
|
|
64
|
+
* `PublicApiKeyService.revoke` issues both and nothing else may revoke.
|
|
65
|
+
*/
|
|
66
|
+
revokeMintedBy(workspaceId: string, minterId: string, at: number): Promise<void>;
|
|
46
67
|
}
|
|
47
68
|
//# sourceMappingURL=public-api-key-repositories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api-key-repositories.d.ts","sourceRoot":"","sources":["../../src/ports/public-api-key-repositories.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,2FAA2F;AAC3F,MAAM,WAAW,kBAAkB;IACjC,2FAA2F;IAC3F,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,KAAK,EAAE,cAAc,CAAA;IACrB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,mCAAmC;IACnC,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAA;IACvD;;;;;OAKG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IACnE,oFAAoF;IACpF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,iEAAiE;IACjE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"public-api-key-repositories.d.ts","sourceRoot":"","sources":["../../src/ports/public-api-key-repositories.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,2FAA2F;AAC3F,MAAM,WAAW,kBAAkB;IACjC,2FAA2F;IAC3F,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,+DAA+D;IAC/D,KAAK,EAAE,cAAc,CAAA;IACrB,6EAA6E;IAC7E,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B;;;;;;;;OAQG;IACH,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,mCAAmC;IACnC,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAA;IACvD;;;;;OAKG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IACnE,oFAAoF;IACpF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C,iEAAiE;IACjE,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE;;;;;;;;;OASG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/kernel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.242.0",
|
|
4
4
|
"description": "Shared vocabulary, pure logic, and port interfaces for the Agent Architecture Board.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"ai": "^7.0.
|
|
27
|
+
"ai": "^7.0.51",
|
|
28
28
|
"yaml": "^2.9.0",
|
|
29
|
-
"@cat-factory/contracts": "0.
|
|
29
|
+
"@cat-factory/contracts": "0.243.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@vitest/coverage-v8": "^4.1.10",
|