@cat-factory/kernel 0.209.0 → 0.210.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/binary-outputs.d.ts +14 -17
- package/dist/domain/binary-outputs.d.ts.map +1 -1
- package/dist/domain/binary-outputs.js +14 -17
- package/dist/domain/binary-outputs.js.map +1 -1
- package/dist/domain/catalog.d.ts.map +1 -1
- package/dist/domain/catalog.js +4 -0
- package/dist/domain/catalog.js.map +1 -1
- package/dist/domain/foundational-service-registry.d.ts +58 -0
- package/dist/domain/foundational-service-registry.d.ts.map +1 -0
- package/dist/domain/foundational-service-registry.js +86 -0
- package/dist/domain/foundational-service-registry.js.map +1 -0
- package/dist/domain/foundational-services.d.ts +88 -1
- package/dist/domain/foundational-services.d.ts.map +1 -1
- package/dist/domain/foundational-services.js +194 -7
- package/dist/domain/foundational-services.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/ports/account-settings-repositories.d.ts +16 -0
- package/dist/ports/account-settings-repositories.d.ts.map +1 -1
- package/dist/ports/caching.d.ts +1 -1
- package/dist/ports/github-client.d.ts +54 -0
- package/dist/ports/github-client.d.ts.map +1 -1
- package/dist/ports/index.d.ts +2 -2
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/user-secret-repositories.d.ts +22 -6
- package/dist/ports/user-secret-repositories.d.ts.map +1 -1
- package/dist/shared/initiator-pat-gate.d.ts +56 -0
- package/dist/shared/initiator-pat-gate.d.ts.map +1 -0
- package/dist/shared/initiator-pat-gate.js +22 -0
- package/dist/shared/initiator-pat-gate.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,25 +1,22 @@
|
|
|
1
1
|
import type { BinaryOutputConfig, BinaryOutputReport } from '@cat-factory/contracts';
|
|
2
|
+
import { ASSET_STORAGE_CAPABILITY, GENERATION_CONTEXT_CAPABILITY } from '@cat-factory/contracts';
|
|
2
3
|
import type { FoundationalCatalogView } from './foundational-services.js';
|
|
3
4
|
/**
|
|
4
|
-
* The capability
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* The well-known capability tags, re-exported from the WIRE vocabulary that defines them
|
|
6
|
+
* (`@cat-factory/contracts`). They moved there because the people who must spell them exactly
|
|
7
|
+
* are outside the backend — a deployment registering its estate, the SPA rendering a picker —
|
|
8
|
+
* and a client that cannot import a tag re-declares it, where a re-declaration's failure is
|
|
9
|
+
* silent (`asset_storage` registers cleanly and surfaces much later as a refused run). The
|
|
10
|
+
* catalog write boundary now refuses a near-miss of either one.
|
|
7
11
|
*
|
|
8
|
-
*
|
|
9
|
-
* `BINARY_STORAGE_TRAIT` — a marker on a KIND that needs the PLATFORM's own artifact
|
|
10
|
-
* run EVIDENCE (the UI Tester's screenshots). The two mean opposite things about
|
|
11
|
-
* subjects, and while they shared one literal, `RunAdmission` imported both, a swap
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* `ASSET_STORAGE_CAPABILITY` is deliberately NOT spelled `binary-storage`, which is the agents
|
|
13
|
+
* package's `BINARY_STORAGE_TRAIT` — a marker on a KIND that needs the PLATFORM's own artifact
|
|
14
|
+
* store for run EVIDENCE (the UI Tester's screenshots). The two mean opposite things about
|
|
15
|
+
* opposite subjects, and while they shared one literal, `RunAdmission` imported both, a swap
|
|
16
|
+
* typechecked, and no test could tell. `binary-outputs.spec.ts` in `@cat-factory/agents` — the
|
|
17
|
+
* one package that can see both — pins them apart.
|
|
14
18
|
*/
|
|
15
|
-
export
|
|
16
|
-
/**
|
|
17
|
-
* The CONVENTIONAL capability tag for a service that can scope a generation — an inventory
|
|
18
|
-
* that answers "what entities exist, which lack an asset, and how is each described". A picker
|
|
19
|
-
* lists services carrying it first, but it is deliberately NOT enforced: any service with a
|
|
20
|
-
* readable contract can inform scope, and refusing one would push the information into prose.
|
|
21
|
-
*/
|
|
22
|
-
export declare const GENERATION_CONTEXT_CAPABILITY = "generation-context";
|
|
19
|
+
export { ASSET_STORAGE_CAPABILITY, GENERATION_CONTEXT_CAPABILITY };
|
|
23
20
|
/** The `.cat-context/` directory the binary-output brief and contract documents live under. */
|
|
24
21
|
export declare const BINARY_OUTPUT_CONTEXT_DIR = "binary-output";
|
|
25
22
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-outputs.d.ts","sourceRoot":"","sources":["../../src/domain/binary-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"binary-outputs.d.ts","sourceRoot":"","sources":["../../src/domain/binary-outputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAA;AAEhG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAiBzE;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,wBAAwB,EAAE,6BAA6B,EAAE,CAAA;AAElE,+FAA+F;AAC/F,eAAO,MAAM,yBAAyB,kBAAkB,CAAA;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,2BAA0C,CAAA;AAE/E;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,mBAAmB,CAAA;AAE7D;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAS5C,0FAA0F;AAC1F,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAID,uEAAuE;AACvE,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,IAAI,EAAE,SAAS,GAAG,SAAS,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,iBAAiB,GAAG,qBAAqB,CAAA;CACnD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,EAAE,SAAS,IAAI,CAAC,uBAAuB,EAAE,IAAI,GAAG,cAAc,CAAC,EAAE,GACvE,uBAAuB,EAAE,CAqB3B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,uBAAuB,EAAE,GACzC,MAAM,CAcR;AAID;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GACtB,kBAAkB,CA0CpB;AA0CD,kFAAkF;AAClF,MAAM,WAAW,sBAAsB;IACrC,8FAA8F;IAC9F,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAA;IACtC,kGAAkG;IAClG,OAAO,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACvC,yDAAyD;IACzD,eAAe,EAAE,uBAAuB,EAAE,CAAA;IAC1C,0DAA0D;IAC1D,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,sBAAsB,GAAG,MAAM,CAmD7E"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ASSET_STORAGE_CAPABILITY, GENERATION_CONTEXT_CAPABILITY } from '@cat-factory/contracts';
|
|
1
2
|
import { extractFencedDeclaration } from './fenced-declaration.js';
|
|
2
3
|
// ---------------------------------------------------------------------------
|
|
3
4
|
// Pure logic for BINARY-OUTPUT agent steps
|
|
@@ -14,25 +15,21 @@ import { extractFencedDeclaration } from './fenced-declaration.js';
|
|
|
14
15
|
// by construction.
|
|
15
16
|
// ---------------------------------------------------------------------------
|
|
16
17
|
/**
|
|
17
|
-
* The capability
|
|
18
|
-
*
|
|
19
|
-
*
|
|
18
|
+
* The well-known capability tags, re-exported from the WIRE vocabulary that defines them
|
|
19
|
+
* (`@cat-factory/contracts`). They moved there because the people who must spell them exactly
|
|
20
|
+
* are outside the backend — a deployment registering its estate, the SPA rendering a picker —
|
|
21
|
+
* and a client that cannot import a tag re-declares it, where a re-declaration's failure is
|
|
22
|
+
* silent (`asset_storage` registers cleanly and surfaces much later as a refused run). The
|
|
23
|
+
* catalog write boundary now refuses a near-miss of either one.
|
|
20
24
|
*
|
|
21
|
-
*
|
|
22
|
-
* `BINARY_STORAGE_TRAIT` — a marker on a KIND that needs the PLATFORM's own artifact
|
|
23
|
-
* run EVIDENCE (the UI Tester's screenshots). The two mean opposite things about
|
|
24
|
-
* subjects, and while they shared one literal, `RunAdmission` imported both, a swap
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* `ASSET_STORAGE_CAPABILITY` is deliberately NOT spelled `binary-storage`, which is the agents
|
|
26
|
+
* package's `BINARY_STORAGE_TRAIT` — a marker on a KIND that needs the PLATFORM's own artifact
|
|
27
|
+
* store for run EVIDENCE (the UI Tester's screenshots). The two mean opposite things about
|
|
28
|
+
* opposite subjects, and while they shared one literal, `RunAdmission` imported both, a swap
|
|
29
|
+
* typechecked, and no test could tell. `binary-outputs.spec.ts` in `@cat-factory/agents` — the
|
|
30
|
+
* one package that can see both — pins them apart.
|
|
27
31
|
*/
|
|
28
|
-
export
|
|
29
|
-
/**
|
|
30
|
-
* The CONVENTIONAL capability tag for a service that can scope a generation — an inventory
|
|
31
|
-
* that answers "what entities exist, which lack an asset, and how is each described". A picker
|
|
32
|
-
* lists services carrying it first, but it is deliberately NOT enforced: any service with a
|
|
33
|
-
* readable contract can inform scope, and refusing one would push the information into prose.
|
|
34
|
-
*/
|
|
35
|
-
export const GENERATION_CONTEXT_CAPABILITY = 'generation-context';
|
|
32
|
+
export { ASSET_STORAGE_CAPABILITY, GENERATION_CONTEXT_CAPABILITY };
|
|
36
33
|
/** The `.cat-context/` directory the binary-output brief and contract documents live under. */
|
|
37
34
|
export const BINARY_OUTPUT_CONTEXT_DIR = 'binary-output';
|
|
38
35
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-outputs.js","sourceRoot":"","sources":["../../src/domain/binary-outputs.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAGlE,8EAA8E;AAC9E,2CAA2C;AAC3C,yFAAyF;AACzF,kFAAkF;AAClF,wFAAwF;AACxF,2FAA2F;AAC3F,4BAA4B;AAC5B,EAAE;AACF,wFAAwF;AACxF,4FAA4F;AAC5F,0FAA0F;AAC1F,0FAA0F;AAC1F,mBAAmB;AACnB,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"binary-outputs.js","sourceRoot":"","sources":["../../src/domain/binary-outputs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/domain/catalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,UAAU,EACV,iBAAiB,EAClB,MAAM,YAAY,CAAA;AAkBnB;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/domain/catalog.ts"],"names":[],"mappings":"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"}
|
package/dist/domain/catalog.js
CHANGED
|
@@ -40,6 +40,10 @@ export const DEFAULT_WORKSPACE_SETTINGS = {
|
|
|
40
40
|
// "no environments" choice (which is `infraless`, and silences the banner).
|
|
41
41
|
defaultProvisionType: null,
|
|
42
42
|
defaultProvisionManifestId: null,
|
|
43
|
+
// On: a run authenticates as its initiator when they stored a PAT, so pushes and PRs are
|
|
44
|
+
// attributed to the human who started it. An operator who would rather bound every run to
|
|
45
|
+
// the App installation's scope turns it off (see the field's contract doc).
|
|
46
|
+
allowInitiatorPat: true,
|
|
43
47
|
// Empty, not seeded: which metadata FIELDS exist is declared by the deployment's app,
|
|
44
48
|
// and a value only ever arrives by someone typing it in.
|
|
45
49
|
metadata: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/domain/catalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/domain/catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { ApiContractDocument, ApiContractSummary, CreateFoundationalServiceInput } from '@cat-factory/contracts';
|
|
2
|
+
/**
|
|
3
|
+
* A foundational service a deployment registers in code.
|
|
4
|
+
*
|
|
5
|
+
* Deliberately the SAME shape the REST write boundary accepts
|
|
6
|
+
* ({@link CreateFoundationalServiceInput}), so a definition is validated by the same schema and
|
|
7
|
+
* the same document checks wherever it comes from, and so a service can be moved between code
|
|
8
|
+
* and a stored tier without being rewritten.
|
|
9
|
+
*/
|
|
10
|
+
export type FoundationalServiceDefinition = CreateFoundationalServiceInput;
|
|
11
|
+
/** A registered definition, projected for the catalog merge (identity, never a body). */
|
|
12
|
+
export interface FoundationalServiceRegistryEntry {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
summary: string;
|
|
16
|
+
description: string;
|
|
17
|
+
capabilities: string[];
|
|
18
|
+
contracts: ApiContractSummary[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* App-owned registry of deployment-registered foundational services. The composition root news
|
|
22
|
+
* ONE instance and a deployment registers its services on it by reference; the catalog service
|
|
23
|
+
* merges them under the account tier and serves their documents to the lazy contract read.
|
|
24
|
+
*/
|
|
25
|
+
export declare class FoundationalServiceRegistry {
|
|
26
|
+
private readonly definitions;
|
|
27
|
+
/**
|
|
28
|
+
* Memoised projection. Building it parses every registered OpenAPI document, and the catalog
|
|
29
|
+
* is resolved per workspace — on the Worker, per isolate — so doing it once per registration
|
|
30
|
+
* set keeps that cost off the request path without pinning it to boot, where a deployment
|
|
31
|
+
* that registers nothing would still pay it.
|
|
32
|
+
*
|
|
33
|
+
* The catalog manifests and the lazy read's documents are built TOGETHER, from one summary
|
|
34
|
+
* per contract: a consumer must never see a document whose operation list disagrees with the
|
|
35
|
+
* one the design was chosen from, and two independent projections is exactly how that drifts.
|
|
36
|
+
*/
|
|
37
|
+
private projection;
|
|
38
|
+
/** Register a service. A registration whose id matches an earlier one replaces it. */
|
|
39
|
+
register(definition: FoundationalServiceDefinition): void;
|
|
40
|
+
/** Register several services at once. */
|
|
41
|
+
registerAll(definitions: Iterable<FoundationalServiceDefinition>): void;
|
|
42
|
+
/** The registered definitions, contract bodies included (registration order). */
|
|
43
|
+
all(): FoundationalServiceDefinition[];
|
|
44
|
+
/** The registered definition for `id`, or undefined. */
|
|
45
|
+
get(id: string): FoundationalServiceDefinition | undefined;
|
|
46
|
+
/** The catalog projection of every registered service — identity and manifests, no bodies. */
|
|
47
|
+
entries(): FoundationalServiceRegistryEntry[];
|
|
48
|
+
/** The full contract documents of one registered service — the lazy read's `builtin` half. */
|
|
49
|
+
documentsFor(id: string): ApiContractDocument[];
|
|
50
|
+
private build;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* A fresh, EMPTY foundational-service registry. Each facade news one and a deployment registers
|
|
54
|
+
* its estate on it; the platform ships no built-in foundational services (there is no shared
|
|
55
|
+
* capability every organisation runs), so the default catalog stays empty.
|
|
56
|
+
*/
|
|
57
|
+
export declare function defaultFoundationalServiceRegistry(): FoundationalServiceRegistry;
|
|
58
|
+
//# sourceMappingURL=foundational-service-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"foundational-service-registry.d.ts","sourceRoot":"","sources":["../../src/domain/foundational-service-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,8BAA8B,EAC/B,MAAM,wBAAwB,CAAA;AAqB/B;;;;;;;GAOG;AACH,MAAM,MAAM,6BAA6B,GAAG,8BAA8B,CAAA;AAE1E,yFAAyF;AACzF,MAAM,WAAW,gCAAgC;IAC/C,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,kBAAkB,EAAE,CAAA;CAChC;AAED;;;;GAIG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmD;IAC/E;;;;;;;;;OASG;IACH,OAAO,CAAC,UAAU,CAGH;IAEf,sFAAsF;IACtF,QAAQ,CAAC,UAAU,EAAE,6BAA6B,GAAG,IAAI,CAGxD;IAED,yCAAyC;IACzC,WAAW,CAAC,WAAW,EAAE,QAAQ,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAEtE;IAED,iFAAiF;IACjF,GAAG,IAAI,6BAA6B,EAAE,CAErC;IAED,wDAAwD;IACxD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,6BAA6B,GAAG,SAAS,CAEzD;IAED,8FAA8F;IAC9F,OAAO,IAAI,gCAAgC,EAAE,CAE5C;IAED,8FAA8F;IAC9F,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,EAAE,CAE9C;IAED,OAAO,CAAC,KAAK;CAoCd;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,IAAI,2BAA2B,CAEhF"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { summarizeContract } from './foundational-services.js';
|
|
2
|
+
/**
|
|
3
|
+
* App-owned registry of deployment-registered foundational services. The composition root news
|
|
4
|
+
* ONE instance and a deployment registers its services on it by reference; the catalog service
|
|
5
|
+
* merges them under the account tier and serves their documents to the lazy contract read.
|
|
6
|
+
*/
|
|
7
|
+
export class FoundationalServiceRegistry {
|
|
8
|
+
definitions = new Map();
|
|
9
|
+
/**
|
|
10
|
+
* Memoised projection. Building it parses every registered OpenAPI document, and the catalog
|
|
11
|
+
* is resolved per workspace — on the Worker, per isolate — so doing it once per registration
|
|
12
|
+
* set keeps that cost off the request path without pinning it to boot, where a deployment
|
|
13
|
+
* that registers nothing would still pay it.
|
|
14
|
+
*
|
|
15
|
+
* The catalog manifests and the lazy read's documents are built TOGETHER, from one summary
|
|
16
|
+
* per contract: a consumer must never see a document whose operation list disagrees with the
|
|
17
|
+
* one the design was chosen from, and two independent projections is exactly how that drifts.
|
|
18
|
+
*/
|
|
19
|
+
projection = null;
|
|
20
|
+
/** Register a service. A registration whose id matches an earlier one replaces it. */
|
|
21
|
+
register(definition) {
|
|
22
|
+
this.definitions.set(definition.id, definition);
|
|
23
|
+
this.projection = null;
|
|
24
|
+
}
|
|
25
|
+
/** Register several services at once. */
|
|
26
|
+
registerAll(definitions) {
|
|
27
|
+
for (const definition of definitions)
|
|
28
|
+
this.register(definition);
|
|
29
|
+
}
|
|
30
|
+
/** The registered definitions, contract bodies included (registration order). */
|
|
31
|
+
all() {
|
|
32
|
+
return [...this.definitions.values()];
|
|
33
|
+
}
|
|
34
|
+
/** The registered definition for `id`, or undefined. */
|
|
35
|
+
get(id) {
|
|
36
|
+
return this.definitions.get(id);
|
|
37
|
+
}
|
|
38
|
+
/** The catalog projection of every registered service — identity and manifests, no bodies. */
|
|
39
|
+
entries() {
|
|
40
|
+
return this.build().entries;
|
|
41
|
+
}
|
|
42
|
+
/** The full contract documents of one registered service — the lazy read's `builtin` half. */
|
|
43
|
+
documentsFor(id) {
|
|
44
|
+
return this.build().documents.get(id) ?? [];
|
|
45
|
+
}
|
|
46
|
+
build() {
|
|
47
|
+
if (this.projection)
|
|
48
|
+
return this.projection;
|
|
49
|
+
const entries = [];
|
|
50
|
+
const documents = new Map();
|
|
51
|
+
for (const definition of this.definitions.values()) {
|
|
52
|
+
const summarized = (definition.contracts ?? []).map((contract) => ({
|
|
53
|
+
summary: summarizeContract({
|
|
54
|
+
contractId: contract.contractId,
|
|
55
|
+
format: contract.format,
|
|
56
|
+
title: contract.title,
|
|
57
|
+
// A registered definition has no repo provenance: its source of truth is the
|
|
58
|
+
// deployment's own code, which no path of ours can name.
|
|
59
|
+
path: null,
|
|
60
|
+
body: contract.body,
|
|
61
|
+
}),
|
|
62
|
+
body: contract.body,
|
|
63
|
+
}));
|
|
64
|
+
entries.push({
|
|
65
|
+
id: definition.id,
|
|
66
|
+
name: definition.name,
|
|
67
|
+
summary: definition.summary,
|
|
68
|
+
description: definition.description,
|
|
69
|
+
capabilities: definition.capabilities ?? [],
|
|
70
|
+
contracts: summarized.map((c) => c.summary),
|
|
71
|
+
});
|
|
72
|
+
documents.set(definition.id, summarized.map((c) => ({ ...c.summary, body: c.body })));
|
|
73
|
+
}
|
|
74
|
+
this.projection = { entries, documents };
|
|
75
|
+
return this.projection;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* A fresh, EMPTY foundational-service registry. Each facade news one and a deployment registers
|
|
80
|
+
* its estate on it; the platform ships no built-in foundational services (there is no shared
|
|
81
|
+
* capability every organisation runs), so the default catalog stays empty.
|
|
82
|
+
*/
|
|
83
|
+
export function defaultFoundationalServiceRegistry() {
|
|
84
|
+
return new FoundationalServiceRegistry();
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=foundational-service-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"foundational-service-registry.js","sourceRoot":"","sources":["../../src/domain/foundational-service-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ApiContractFormat, ApiContractSummary, FoundationalServiceSelection } from '@cat-factory/contracts';
|
|
1
|
+
import type { ApiContractFormat, ApiContractSummary, FoundationalServiceSelection, UploadApiContract } from '@cat-factory/contracts';
|
|
2
2
|
/**
|
|
3
3
|
* How many operations of one OpenAPI document ride the CATALOG. The catalog is folded into
|
|
4
4
|
* the Architect's prompt for EVERY registered service, so this is multiplied by the whole
|
|
@@ -57,6 +57,16 @@ export declare function detectContractFormat(path: string, content: string): Api
|
|
|
57
57
|
* never a contract we serve.
|
|
58
58
|
*/
|
|
59
59
|
export declare function isContractCandidatePath(path: string): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Whether `path` names a TypeScript/JavaScript contract MODULE rather than an OpenAPI document,
|
|
62
|
+
* derived from the same extension list {@link detectContractFormat} branches on.
|
|
63
|
+
*
|
|
64
|
+
* Exported so a caller asking "could this file be part of a contract module GRAPH?" — the repo
|
|
65
|
+
* source's supporting-module admission — asks the one list instead of re-declaring it. A second
|
|
66
|
+
* copy drifts silently, and the drift surfaces as a linked file skipped as `unrecognised` for an
|
|
67
|
+
* extension the detector beside it already recognises.
|
|
68
|
+
*/
|
|
69
|
+
export declare function isContractModulePath(path: string): boolean;
|
|
60
70
|
/** Whether `content` parses as an OpenAPI **3.x** document (JSON or YAML). */
|
|
61
71
|
export declare function isOpenApiDocument(content: string): boolean;
|
|
62
72
|
/**
|
|
@@ -72,6 +82,83 @@ export declare function indexOpenApiOperations(content: string): {
|
|
|
72
82
|
operations: string[];
|
|
73
83
|
omitted: number;
|
|
74
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Index a document's operations by its FORMAT — the one dispatch, so every write site indexes
|
|
87
|
+
* a document the same way. A format {@link operationsAreIndexable} says nothing about indexes
|
|
88
|
+
* to nothing, which is a different statement from "declares nothing" and is rendered as such.
|
|
89
|
+
*/
|
|
90
|
+
export declare function indexContractOperations(format: ApiContractFormat, body: string): {
|
|
91
|
+
operations: string[];
|
|
92
|
+
omitted: number;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* The operations a `@toad-contracts/core` module declares, read STATICALLY from its source.
|
|
96
|
+
*
|
|
97
|
+
* A contract module cannot be evaluated (no code generation in a Worker isolate, and executing
|
|
98
|
+
* an uploaded module would be a remote-code-execution hole), so this is a deliberately partial
|
|
99
|
+
* parse of the one shape the library documents: a `defineApiContract({ method, pathResolver })`
|
|
100
|
+
* call whose resolver returns a string or template literal. `${param}` holes become `{param}`,
|
|
101
|
+
* which is the same rendering an OpenAPI path template uses.
|
|
102
|
+
*
|
|
103
|
+
* Two properties make a partial parse honest rather than a guess:
|
|
104
|
+
*
|
|
105
|
+
* - the ANCHOR count is the declaration count. `defineApiContract(` is the only way the
|
|
106
|
+
* library declares an operation, so what could not be read is `declared - extracted` and is
|
|
107
|
+
* reported as `omitted` — the same channel the OpenAPI cap uses. A reader is never shown a
|
|
108
|
+
* subset that looks complete.
|
|
109
|
+
* - anything the extractor is not certain of is NOT emitted: a computed path, a resolver built
|
|
110
|
+
* elsewhere, a method held in a variable. An invented operation name is worse than a missing
|
|
111
|
+
* one, because a coder writes against it.
|
|
112
|
+
*/
|
|
113
|
+
export declare function indexToadContractOperations(content: string): {
|
|
114
|
+
operations: string[];
|
|
115
|
+
omitted: number;
|
|
116
|
+
};
|
|
117
|
+
/** Something wrong with a service definition, whoever supplied it. */
|
|
118
|
+
export type FoundationalDefinitionProblem = {
|
|
119
|
+
reason: 'duplicate_contract_id';
|
|
120
|
+
contractId: string;
|
|
121
|
+
} | {
|
|
122
|
+
reason: 'invalid_openapi_document';
|
|
123
|
+
contractId: string;
|
|
124
|
+
} | {
|
|
125
|
+
reason: 'contract_library_not_referenced';
|
|
126
|
+
format: ApiContractFormat;
|
|
127
|
+
expected: string;
|
|
128
|
+
contractIds: string[];
|
|
129
|
+
} | {
|
|
130
|
+
reason: 'capability_tag_near_miss';
|
|
131
|
+
capability: string;
|
|
132
|
+
expected: string;
|
|
133
|
+
};
|
|
134
|
+
/**
|
|
135
|
+
* Refuse a service definition whose documents will read as garbage to a downstream agent, at
|
|
136
|
+
* the moment it is supplied rather than the moment a coder is handed it. Returns every problem
|
|
137
|
+
* rather than the first, so a registrant fixes one round of them.
|
|
138
|
+
*
|
|
139
|
+
* ONE function for both suppliers — the REST write boundary and a deployment's code
|
|
140
|
+
* registration — because the failure it prevents is identical and a second copy is a second
|
|
141
|
+
* place to relax a rule.
|
|
142
|
+
*
|
|
143
|
+
* The checks are deliberately shallow and per-format. `openapi` is PARSED: a document claiming
|
|
144
|
+
* to be OpenAPI but which is not produces a service whose catalog entry lists zero operations
|
|
145
|
+
* while looking perfectly registered. The TypeScript formats cannot be evaluated, so the honest
|
|
146
|
+
* check is that the SET is what it says it is.
|
|
147
|
+
*
|
|
148
|
+
* **The set, not each document.** A contract module is a module GRAPH — a
|
|
149
|
+
* `defineApiContract` module plus the schema modules it imports — and only the first of those
|
|
150
|
+
* names the contract library. Validating per document refuses the halves of one contract that
|
|
151
|
+
* are not the entry point, which leaves a registrant concatenating source files to get past the
|
|
152
|
+
* boundary; validating the set keeps the anchor requirement (a set declared as
|
|
153
|
+
* `@toad-contracts/core` must contain a `@toad-contracts/core` module) while letting the
|
|
154
|
+
* modules it imports be registered as what they are.
|
|
155
|
+
*/
|
|
156
|
+
export declare function validateFoundationalDefinition(input: {
|
|
157
|
+
capabilities?: string[];
|
|
158
|
+
contracts?: UploadApiContract[];
|
|
159
|
+
}): FoundationalDefinitionProblem[];
|
|
160
|
+
/** A human-readable statement of one problem, shared by every caller that reports one. */
|
|
161
|
+
export declare function describeFoundationalProblem(problem: FoundationalDefinitionProblem): string;
|
|
75
162
|
/** Build the catalog-facing summary of one stored contract document. */
|
|
76
163
|
export declare function summarizeContract(input: {
|
|
77
164
|
contractId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../../src/domain/foundational-services.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,4BAA4B,
|
|
1
|
+
{"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../../src/domain/foundational-services.ts"],"names":[],"mappings":"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"}
|