@superbee/core 0.2.0-pre.23 → 0.2.0-pre.25
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/README.md +28 -0
- package/dist/domain-model.d.ts +73 -0
- package/dist/domain-model.d.ts.map +1 -0
- package/dist/domain-model.js +169 -0
- package/dist/domain-model.js.map +1 -0
- package/dist/recipe-lifecycle/index.d.ts +6 -3
- package/dist/recipe-lifecycle/index.d.ts.map +1 -1
- package/dist/recipe-lifecycle/index.js +4 -1
- package/dist/recipe-lifecycle/index.js.map +1 -1
- package/dist/recipe-lifecycle/install.d.ts +30 -2
- package/dist/recipe-lifecycle/install.d.ts.map +1 -1
- package/dist/recipe-lifecycle/install.js +71 -20
- package/dist/recipe-lifecycle/install.js.map +1 -1
- package/dist/source-profiles/index.d.ts +1 -1
- package/dist/source-profiles/index.js +1 -1
- package/package.json +5 -1
package/README.md
CHANGED
|
@@ -149,6 +149,20 @@ if (plan.ready && plan.writes > 0) {
|
|
|
149
149
|
}
|
|
150
150
|
```
|
|
151
151
|
|
|
152
|
+
`prepareRecipeInstall(recipe, { okfVersion, now })` prepares those same edition-specific candidates
|
|
153
|
+
without a backend or target reads. Retain the explicit `now` across preview and replay; v0.1 uses
|
|
154
|
+
it for the existing install timestamp, while v0.2 adds no legacy clock. The returned `identity`
|
|
155
|
+
contains the source digest taken before materialization; Convention, Connector and Reference
|
|
156
|
+
candidates already carry their recipe stamps. Preparation does not mutate the parsed source.
|
|
157
|
+
|
|
158
|
+
`inspectRecipeInstallTarget(existingOrNull, candidate, prepared)` separately reports existence,
|
|
159
|
+
source-content equality, recipe stamp identity and stamp integrity. For a matching installed
|
|
160
|
+
artifact, require `sameContent`, `stamp: "current"` and `stampIntegrity: "current"`; an identity match
|
|
161
|
+
alone does not establish readable digest rules or an intact definition stamp. Neither function
|
|
162
|
+
installs, adopts stamps, validates the target registry or grants write authority. An admitted host
|
|
163
|
+
can use the candidates with its existing canonical writer after its own coherent target and
|
|
164
|
+
compatibility checks; preparation is not an approved-preview transaction or a new apply API.
|
|
165
|
+
|
|
152
166
|
`installRecipe` is create-only: each convention, Connector, View pair and Reference is written with
|
|
153
167
|
an expect-absent compare-and-swap, an existing convention or Connector is left untouched (its row
|
|
154
168
|
reports `source_differs` when it differs from the recipe), and a differing View or Reference target
|
|
@@ -1052,3 +1066,17 @@ and bound String/ID inputs. GraphQL execution is deferred to the later GraphQL p
|
|
|
1052
1066
|
`graphql_scope_unsupported` refuses even a well-formed read body before transport. Syntax alone
|
|
1053
1067
|
does not establish resource-scoped traversal. Mutations and malformed extension bodies are refused
|
|
1054
1068
|
by the engine wrapper; caller hooks cannot enable them.
|
|
1069
|
+
|
|
1070
|
+
## Declared Kind model
|
|
1071
|
+
|
|
1072
|
+
`@superbee/core/domain-model` exports `projectDomainModelV0(registry)` and its
|
|
1073
|
+
readonly input/output types. Pass a canonical registry from `buildKindRegistry`
|
|
1074
|
+
(`@superbee/core/kinds`) or `loadKinds`; the projection performs no parsing or I/O.
|
|
1075
|
+
It returns deeply frozen JSON with deterministically ordered Kind definitions,
|
|
1076
|
+
declared relationships, registry warnings and informational outside-scope endpoints.
|
|
1077
|
+
Structurally malformed inputs throw `TypeError`.
|
|
1078
|
+
|
|
1079
|
+
The v0 shape preserves authored array order and warning metadata. It does not
|
|
1080
|
+
include `fields.types` or derived `freshnessHorizonMs`; adapters that already add
|
|
1081
|
+
these fields keep that enrichment. Projection does not establish snapshot coherence,
|
|
1082
|
+
authorization or permission to disclose a bundle's declarations.
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/** Consumed structural shape of Superbee's canonical KindConvention; not a convention schema. */
|
|
2
|
+
export interface CanonicalKindInputV0 {
|
|
3
|
+
readonly id: string;
|
|
4
|
+
readonly title: string;
|
|
5
|
+
readonly governs: string;
|
|
6
|
+
readonly description?: string;
|
|
7
|
+
readonly path?: string;
|
|
8
|
+
readonly fields: {
|
|
9
|
+
readonly required: readonly string[];
|
|
10
|
+
readonly optional: readonly string[];
|
|
11
|
+
readonly values: Readonly<Record<string, readonly string[]>>;
|
|
12
|
+
readonly terminal: Readonly<Record<string, readonly string[]>>;
|
|
13
|
+
readonly descriptions: Readonly<Record<string, string>>;
|
|
14
|
+
readonly valueDescriptions?: Readonly<Record<string, Readonly<Record<string, string>>>>;
|
|
15
|
+
};
|
|
16
|
+
readonly links?: Readonly<Record<string, string>>;
|
|
17
|
+
readonly linkDescriptions?: Readonly<Record<string, string>>;
|
|
18
|
+
readonly expectsInbound?: Readonly<Record<string, string>>;
|
|
19
|
+
readonly sections?: readonly string[];
|
|
20
|
+
readonly freshnessHorizon?: string;
|
|
21
|
+
readonly browseCollapsed?: boolean;
|
|
22
|
+
readonly claim?: {
|
|
23
|
+
readonly ownerField?: string;
|
|
24
|
+
readonly stateField?: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/** Pass buildKindRegistry/loadKinds output; CLI `kinds --json` is not a lossless substitute. */
|
|
28
|
+
export interface CanonicalKindRegistryInputV0 {
|
|
29
|
+
readonly kinds: ReadonlyMap<string, CanonicalKindInputV0>;
|
|
30
|
+
readonly warnings: readonly {
|
|
31
|
+
readonly code: string;
|
|
32
|
+
readonly message: string;
|
|
33
|
+
readonly field?: string;
|
|
34
|
+
readonly severity?: string;
|
|
35
|
+
}[];
|
|
36
|
+
}
|
|
37
|
+
export interface DomainRelationshipV0 {
|
|
38
|
+
readonly id: string;
|
|
39
|
+
readonly kind: "outbound" | "inbound-expectation";
|
|
40
|
+
readonly declaredBy: string;
|
|
41
|
+
/** Declaration key and exact relationship label, relative to its Convention frontmatter. */
|
|
42
|
+
readonly path: readonly ["links" | "expects_inbound", string];
|
|
43
|
+
readonly label: string;
|
|
44
|
+
readonly fromKind: string;
|
|
45
|
+
readonly toKind: string;
|
|
46
|
+
/** Null means undeclared within this input scope, not globally invalid. */
|
|
47
|
+
readonly fromId: string | null;
|
|
48
|
+
readonly toId: string | null;
|
|
49
|
+
readonly description?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface DomainModelDiagnosticV0 {
|
|
52
|
+
readonly code: "KIND_OUTSIDE_SCOPE";
|
|
53
|
+
readonly severity: "info";
|
|
54
|
+
readonly relationshipId: string;
|
|
55
|
+
readonly declaredBy: string;
|
|
56
|
+
readonly path: DomainRelationshipV0["path"];
|
|
57
|
+
readonly endpoint: "from" | "to";
|
|
58
|
+
readonly kind: string;
|
|
59
|
+
readonly message: string;
|
|
60
|
+
}
|
|
61
|
+
export interface DomainModelV0 {
|
|
62
|
+
readonly schemaVersion: 0;
|
|
63
|
+
readonly kinds: readonly CanonicalKindInputV0[];
|
|
64
|
+
readonly relationships: readonly DomainRelationshipV0[];
|
|
65
|
+
readonly registryWarnings: CanonicalKindRegistryInputV0["warnings"];
|
|
66
|
+
readonly diagnostics: readonly DomainModelDiagnosticV0[];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Project admitted canonical definitions, not CLI authoring rows or raw Markdown.
|
|
70
|
+
* Structural checks protect the projection boundary; core remains semantic authority.
|
|
71
|
+
*/
|
|
72
|
+
export declare function projectDomainModelV0(registry: CanonicalKindRegistryInputV0): DomainModelV0;
|
|
73
|
+
//# sourceMappingURL=domain-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-model.d.ts","sourceRoot":"","sources":["../src/domain-model.ts"],"names":[],"mappings":"AACA,iGAAiG;AACjG,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;QACrC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/D,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACxD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACzF,CAAC;IACF,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjF;AAED,gGAAgG;AAChG,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxI;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,qBAAqB,CAAC;IAClD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,4FAA4F;IAC5F,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,OAAO,GAAG,iBAAiB,EAAE,MAAM,CAAC,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAChD,QAAQ,CAAC,aAAa,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACxD,QAAQ,CAAC,gBAAgB,EAAE,4BAA4B,CAAC,UAAU,CAAC,CAAC;IACpE,QAAQ,CAAC,WAAW,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC1D;AAgGD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,4BAA4B,GAAG,aAAa,CA2D1F"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/** Read-only projection of a caller-built canonical Superbee KindRegistry. No parsing or I/O. */
|
|
2
|
+
const compare = (a, b) => a < b ? -1 : a > b ? 1 : 0;
|
|
3
|
+
function invalid(path, expected) {
|
|
4
|
+
throw new TypeError(`Invalid canonical Kind registry: ${path} must be ${expected}`);
|
|
5
|
+
}
|
|
6
|
+
function record(value, path) {
|
|
7
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)
|
|
8
|
+
|| ![Object.prototype, null].includes(Object.getPrototypeOf(value))) {
|
|
9
|
+
invalid(path, "a plain record");
|
|
10
|
+
}
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
function string(value, path) {
|
|
14
|
+
if (typeof value !== "string")
|
|
15
|
+
invalid(path, "a string");
|
|
16
|
+
return value;
|
|
17
|
+
}
|
|
18
|
+
function strings(value, path) {
|
|
19
|
+
if (!Array.isArray(value))
|
|
20
|
+
invalid(path, "an array of strings");
|
|
21
|
+
return Object.freeze(Array.from(value, (entry, i) => string(entry, `${path}[${i}]`)));
|
|
22
|
+
}
|
|
23
|
+
function dictionary(value, path, convert) {
|
|
24
|
+
record(value, path);
|
|
25
|
+
return Object.freeze(Object.fromEntries(Object.keys(value).sort(compare)
|
|
26
|
+
.map((key) => [key, convert(value[key], `${path}[${JSON.stringify(key)}]`)])));
|
|
27
|
+
}
|
|
28
|
+
function textMap(value, path) { return dictionary(value, path, string); }
|
|
29
|
+
function listMap(value, path) { return dictionary(value, path, strings); }
|
|
30
|
+
// Canonical warnings are preserved, including future JSON metadata. Never parse their messages.
|
|
31
|
+
function jsonCopy(value, path, ancestors = new Set()) {
|
|
32
|
+
if (value === null || typeof value === "string" || typeof value === "boolean")
|
|
33
|
+
return value;
|
|
34
|
+
if (typeof value === "number" && Number.isFinite(value))
|
|
35
|
+
return value;
|
|
36
|
+
if (typeof value !== "object")
|
|
37
|
+
invalid(path, "JSON data");
|
|
38
|
+
if (ancestors.has(value))
|
|
39
|
+
invalid(path, "acyclic JSON data");
|
|
40
|
+
ancestors.add(value);
|
|
41
|
+
try {
|
|
42
|
+
if (Array.isArray(value))
|
|
43
|
+
return Object.freeze(Array.from(value, (item, i) => jsonCopy(item, `${path}[${i}]`, ancestors)));
|
|
44
|
+
record(value, path);
|
|
45
|
+
return Object.freeze(Object.fromEntries(Object.keys(value).sort(compare)
|
|
46
|
+
.filter((key) => value[key] !== undefined)
|
|
47
|
+
.map((key) => [key, jsonCopy(value[key], `${path}[${JSON.stringify(key)}]`, ancestors)])));
|
|
48
|
+
}
|
|
49
|
+
finally {
|
|
50
|
+
ancestors.delete(value);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function kindCopy(input) {
|
|
54
|
+
record(input, "kind");
|
|
55
|
+
const id = string(input.id, "kind.id");
|
|
56
|
+
const governs = string(input.governs, `${id}.governs`);
|
|
57
|
+
if (!id.trim() || !governs.trim())
|
|
58
|
+
invalid("kind.id and governs", "non-empty strings");
|
|
59
|
+
const fields = record(input.fields, `${id}.fields`);
|
|
60
|
+
const node = {
|
|
61
|
+
id,
|
|
62
|
+
title: string(input.title, `${id}.title`),
|
|
63
|
+
governs,
|
|
64
|
+
fields: {
|
|
65
|
+
required: strings(fields.required, `${id}.fields.required`),
|
|
66
|
+
optional: strings(fields.optional, `${id}.fields.optional`),
|
|
67
|
+
values: listMap(fields.values, `${id}.fields.values`),
|
|
68
|
+
terminal: listMap(fields.terminal, `${id}.fields.terminal`),
|
|
69
|
+
descriptions: textMap(fields.descriptions, `${id}.fields.descriptions`),
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
if (fields.valueDescriptions !== undefined) {
|
|
73
|
+
node.fields.valueDescriptions = dictionary(fields.valueDescriptions, `${id}.fields.valueDescriptions`, textMap);
|
|
74
|
+
}
|
|
75
|
+
Object.freeze(node.fields);
|
|
76
|
+
for (const key of ["description", "path", "freshnessHorizon"]) {
|
|
77
|
+
if (input[key] !== undefined)
|
|
78
|
+
node[key] = string(input[key], `${id}.${key}`);
|
|
79
|
+
}
|
|
80
|
+
for (const key of ["links", "linkDescriptions", "expectsInbound"]) {
|
|
81
|
+
if (input[key] !== undefined)
|
|
82
|
+
node[key] = textMap(input[key], `${id}.${key}`);
|
|
83
|
+
}
|
|
84
|
+
if (input.sections !== undefined)
|
|
85
|
+
node.sections = strings(input.sections, `${id}.sections`);
|
|
86
|
+
if (input.browseCollapsed !== undefined) {
|
|
87
|
+
if (typeof input.browseCollapsed !== "boolean")
|
|
88
|
+
invalid(`${id}.browseCollapsed`, "a boolean");
|
|
89
|
+
node.browseCollapsed = input.browseCollapsed;
|
|
90
|
+
}
|
|
91
|
+
if (input.claim !== undefined) {
|
|
92
|
+
record(input.claim, `${id}.claim`);
|
|
93
|
+
node.claim = Object.freeze(Object.fromEntries(["ownerField", "stateField"]
|
|
94
|
+
.filter((key) => input.claim[key] !== undefined)
|
|
95
|
+
.map((key) => [key, string(input.claim[key], `${id}.claim.${key}`)])));
|
|
96
|
+
}
|
|
97
|
+
return Object.freeze(node);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Project admitted canonical definitions, not CLI authoring rows or raw Markdown.
|
|
101
|
+
* Structural checks protect the projection boundary; core remains semantic authority.
|
|
102
|
+
*/
|
|
103
|
+
export function projectDomainModelV0(registry) {
|
|
104
|
+
record(registry, "registry");
|
|
105
|
+
if (!(registry.kinds instanceof Map))
|
|
106
|
+
invalid("registry.kinds", "a Map");
|
|
107
|
+
if (!Array.isArray(registry.warnings))
|
|
108
|
+
invalid("registry.warnings", "an array");
|
|
109
|
+
const byName = new Map();
|
|
110
|
+
const ids = new Set();
|
|
111
|
+
for (const [name, input] of registry.kinds) {
|
|
112
|
+
const node = kindCopy(input);
|
|
113
|
+
if (name !== node.governs)
|
|
114
|
+
invalid(`Map key ${String(name)}`, "equal to its Kind's governs");
|
|
115
|
+
if (ids.has(node.id))
|
|
116
|
+
invalid(`kind.id ${node.id}`, "unique in the registry");
|
|
117
|
+
ids.add(node.id);
|
|
118
|
+
byName.set(name, node);
|
|
119
|
+
}
|
|
120
|
+
const kinds = Object.freeze([...byName.values()].sort((a, b) => compare(a.id, b.id)));
|
|
121
|
+
const relationships = [];
|
|
122
|
+
const diagnostics = [];
|
|
123
|
+
for (const node of kinds) {
|
|
124
|
+
for (const [key, kind] of [["links", "outbound"], ["expectsInbound", "inbound-expectation"]]) {
|
|
125
|
+
for (const [label, other] of Object.entries(node[key] ?? {}).sort(([a], [b]) => compare(a, b))) {
|
|
126
|
+
const fromKind = kind === "outbound" ? node.governs : other;
|
|
127
|
+
const toKind = kind === "outbound" ? other : node.governs;
|
|
128
|
+
const id = JSON.stringify([kind, node.id, label]);
|
|
129
|
+
// Source paths address canonical declarations, not JS property names or filesystem paths.
|
|
130
|
+
const path = Object.freeze([key === "links" ? "links" : "expects_inbound", label]);
|
|
131
|
+
const edge = {
|
|
132
|
+
id, kind, declaredBy: node.id, path, label, fromKind, toKind,
|
|
133
|
+
fromId: byName.get(fromKind)?.id ?? null,
|
|
134
|
+
toId: byName.get(toKind)?.id ?? null,
|
|
135
|
+
};
|
|
136
|
+
if (kind === "outbound" && Object.hasOwn(node.linkDescriptions ?? {}, label)) {
|
|
137
|
+
edge.description = node.linkDescriptions[label];
|
|
138
|
+
}
|
|
139
|
+
relationships.push(Object.freeze(edge));
|
|
140
|
+
for (const [endpoint, name] of [["from", fromKind], ["to", toKind]]) {
|
|
141
|
+
if (byName.has(name))
|
|
142
|
+
continue;
|
|
143
|
+
diagnostics.push(Object.freeze({
|
|
144
|
+
code: "KIND_OUTSIDE_SCOPE", severity: "info", relationshipId: id,
|
|
145
|
+
declaredBy: node.id, path, endpoint, kind: name,
|
|
146
|
+
message: `Kind ${JSON.stringify(name)} is not declared in the supplied registry.`,
|
|
147
|
+
}));
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const registryWarnings = Object.freeze(Array.from(registry.warnings, (warning, i) => {
|
|
153
|
+
record(warning, `warnings[${i}]`);
|
|
154
|
+
string(warning.code, `warnings[${i}].code`);
|
|
155
|
+
string(warning.message, `warnings[${i}].message`);
|
|
156
|
+
for (const key of ["field", "severity"]) {
|
|
157
|
+
if (warning[key] !== undefined)
|
|
158
|
+
string(warning[key], `warnings[${i}].${key}`);
|
|
159
|
+
}
|
|
160
|
+
return jsonCopy(warning, `warnings[${i}]`);
|
|
161
|
+
}));
|
|
162
|
+
return Object.freeze({
|
|
163
|
+
schemaVersion: 0, kinds,
|
|
164
|
+
relationships: Object.freeze(relationships),
|
|
165
|
+
registryWarnings,
|
|
166
|
+
diagnostics: Object.freeze(diagnostics),
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=domain-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain-model.js","sourceRoot":"","sources":["../src/domain-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `@superbee/core/recipe-lifecycle`: install and evolve a parsed recipe on any bundle.
|
|
3
3
|
*
|
|
4
|
+
* `prepareRecipeInstall` materializes the same stamped candidates without target reads or writes;
|
|
5
|
+
* `inspectRecipeInstallTarget` separates target content, recipe identity and stamp integrity.
|
|
6
|
+
* Neither confers readiness, authority or a new persistent apply path.
|
|
4
7
|
* `installRecipe` creates a recipe's conventions, Connectors, View pairs and References
|
|
5
8
|
* create-only, never overwriting what a bundle already holds, after checking every Connector
|
|
6
9
|
* against the Kinds the bundle will hold. `planRecipeEvolution` is a read-only, state-bound
|
|
@@ -15,12 +18,12 @@
|
|
|
15
18
|
* `installedRecipes` retains its convention/Connector projection; Reference ownership is inspected
|
|
16
19
|
* through evolution's optional `reference_assets` rows.
|
|
17
20
|
*/
|
|
18
|
-
export { installRecipe, installedConnectorDocs, installedConventionDocs, isRecipeApplied, materializeRecipeForEdition, recipeDrifts, } from "./install.js";
|
|
19
|
-
export type { RecipeConnectorResult, RecipeDocResult, RecipeInstallCounts, RecipeInstallResult, RecipePageResult, RecipeReferenceResult, } from "./install.js";
|
|
21
|
+
export { installRecipe, prepareRecipeInstall, inspectRecipeInstallTarget, installedConnectorDocs, installedConventionDocs, isRecipeApplied, materializeRecipeForEdition, recipeDrifts, } from "./install.js";
|
|
22
|
+
export type { PreparedRecipeInstall, RecipeInstallTargetInspection, RecipeConnectorResult, RecipeDocResult, RecipeInstallCounts, RecipeInstallResult, RecipePageResult, RecipeReferenceResult, } from "./install.js";
|
|
20
23
|
export { applyRecipeEvolution, planRecipeEvolution } from "./evolution.js";
|
|
21
24
|
export type { RecipeEvolutionApplyResult, RecipeEvolutionBlocker, RecipeEvolutionDefinition, RecipeEvolutionReference, RecipeEvolutionReferenceAssets, RecipeEvolutionPlan, } from "./evolution.js";
|
|
22
25
|
export { ConnectorTargetUnsatisfied, RecipeAssetConflict, RecipeEditionChanged, RecipeEvolutionBlocked, RecipeEvolutionInterrupted, RecipeEvolutionPlanChanged, RecipeEvolutionPostcondition, RecipeInputError, RecipeLifecycleError, } from "./errors.js";
|
|
23
26
|
export type { RecipeEvolutionCompletedDefinition, RecipeEvolutionInterruptionReason } from "./errors.js";
|
|
24
27
|
export { DEFINITION_DIGEST_RULES, RECIPE_STAMP_KEY, definitionDigest, installedRecipes, readRecipeStamp, recipeSourceDigest, } from "./stamp.js";
|
|
25
|
-
export type { ConventionStampState, InstalledRecipeRow, RecipeInstallState, RecipeStamp, RecipeStampState, } from "./stamp.js";
|
|
28
|
+
export type { ConventionStampState, RecipeStampIdentity, InstalledRecipeRow, RecipeInstallState, RecipeStamp, RecipeStampState, } from "./stamp.js";
|
|
26
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,qBAAqB,EACrB,6BAA6B,EAC7B,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,8BAA8B,EAC9B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kCAAkC,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AACzG,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* `@superbee/core/recipe-lifecycle`: install and evolve a parsed recipe on any bundle.
|
|
3
3
|
*
|
|
4
|
+
* `prepareRecipeInstall` materializes the same stamped candidates without target reads or writes;
|
|
5
|
+
* `inspectRecipeInstallTarget` separates target content, recipe identity and stamp integrity.
|
|
6
|
+
* Neither confers readiness, authority or a new persistent apply path.
|
|
4
7
|
* `installRecipe` creates a recipe's conventions, Connectors, View pairs and References
|
|
5
8
|
* create-only, never overwriting what a bundle already holds, after checking every Connector
|
|
6
9
|
* against the Kinds the bundle will hold. `planRecipeEvolution` is a read-only, state-bound
|
|
@@ -15,7 +18,7 @@
|
|
|
15
18
|
* `installedRecipes` retains its convention/Connector projection; Reference ownership is inspected
|
|
16
19
|
* through evolution's optional `reference_assets` rows.
|
|
17
20
|
*/
|
|
18
|
-
export { installRecipe, installedConnectorDocs, installedConventionDocs, isRecipeApplied, materializeRecipeForEdition, recipeDrifts, } from "./install.js";
|
|
21
|
+
export { installRecipe, prepareRecipeInstall, inspectRecipeInstallTarget, installedConnectorDocs, installedConventionDocs, isRecipeApplied, materializeRecipeForEdition, recipeDrifts, } from "./install.js";
|
|
19
22
|
export { applyRecipeEvolution, planRecipeEvolution } from "./evolution.js";
|
|
20
23
|
export { ConnectorTargetUnsatisfied, RecipeAssetConflict, RecipeEditionChanged, RecipeEvolutionBlocked, RecipeEvolutionInterrupted, RecipeEvolutionPlanChanged, RecipeEvolutionPostcondition, RecipeInputError, RecipeLifecycleError, } from "./errors.js";
|
|
21
24
|
export { DEFINITION_DIGEST_RULES, RECIPE_STAMP_KEY, definitionDigest, installedRecipes, readRecipeStamp, recipeSourceDigest, } from "./stamp.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,YAAY,GACb,MAAM,cAAc,CAAC;AAWtB,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAS3E,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type LoadedRecipe } from "../recipes.js";
|
|
1
|
+
import { type LoadedRecipe, type RecipeConnector, type RecipePage, type RecipeReference } from "../recipes.js";
|
|
2
2
|
import type { Bundle, ConceptId, OkfDocument } from "../types.js";
|
|
3
3
|
import type { ValidationWarning } from "../validation.js";
|
|
4
|
-
import { type RecipeStampState } from "./stamp.js";
|
|
4
|
+
import { type RecipeStampIdentity, type RecipeStampState, type ConventionStampState } from "./stamp.js";
|
|
5
5
|
/** Per-doc apply outcome: `changed: false` means the doc already existed (idempotent no-op), or —
|
|
6
6
|
* when `legacy_present`/`migration_required` names a doc — that a legacy-LOCATED counterpart
|
|
7
7
|
* already occupies the artifact's slot (working, or awaiting migration, respectively). */
|
|
@@ -87,6 +87,34 @@ export interface RecipeInstallResult {
|
|
|
87
87
|
/** Materialize explicit logical recipe fields into the target edition's physical convention keys. */
|
|
88
88
|
export declare function materializeRecipeForEdition(recipe: LoadedRecipe, okfVersion: string): LoadedRecipe;
|
|
89
89
|
export declare function recipeDocumentForApply(doc: OkfDocument, okfVersion: string, now: string): OkfDocument;
|
|
90
|
+
/** Edition-specific candidates only: no target reads, permission decision or persistent writes.
|
|
91
|
+
* Connector and Reference wrappers retain the parsed recipe's public carrier shapes. */
|
|
92
|
+
export interface PreparedRecipeInstall {
|
|
93
|
+
okfVersion: "0.1" | "0.2";
|
|
94
|
+
now: string;
|
|
95
|
+
identity: RecipeStampIdentity;
|
|
96
|
+
docs: OkfDocument[];
|
|
97
|
+
connectors: RecipeConnector[];
|
|
98
|
+
pages: RecipePage[];
|
|
99
|
+
references: RecipeReference[];
|
|
100
|
+
}
|
|
101
|
+
/** Prepare the same candidates installRecipe creates. The caller retains the explicit preparation
|
|
102
|
+
* time across preview/replay; source identity is calculated before edition materialization.
|
|
103
|
+
* The result shares no mutable data with the parsed source. It is proposal data, not authority. */
|
|
104
|
+
export declare function prepareRecipeInstall(recipe: LoadedRecipe, options: {
|
|
105
|
+
okfVersion: "0.1" | "0.2";
|
|
106
|
+
now: string;
|
|
107
|
+
}): PreparedRecipeInstall;
|
|
108
|
+
export interface RecipeInstallTargetInspection {
|
|
109
|
+
exists: boolean;
|
|
110
|
+
sameContent: boolean;
|
|
111
|
+
stamp: RecipeStampState;
|
|
112
|
+
/** A matching recipe identity alone does not prove that the definition stamp is readable or intact. */
|
|
113
|
+
stampIntegrity: ConventionStampState;
|
|
114
|
+
}
|
|
115
|
+
/** Inspect one candidate's exact target without changing content or adopting a stamp. Registry,
|
|
116
|
+
* compatibility, permission and storage admission remain the committing caller's responsibility. */
|
|
117
|
+
export declare function inspectRecipeInstallTarget(existing: OkfDocument | null, desired: OkfDocument, prepared: Pick<PreparedRecipeInstall, "okfVersion" | "identity">): RecipeInstallTargetInspection;
|
|
90
118
|
/**
|
|
91
119
|
* Install `recipe` through the shared document-mutation boundary using expect-absent CAS. Recipe
|
|
92
120
|
* conventions may declare Superbee's logical `progress_status`; this installer materializes the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/install.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAgC,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ import { PAGE_REGISTRY_PREFIX, parseRegistration, VIEW_REGISTRY_PREFIX } from ".
|
|
|
14
14
|
import { RECIPE_PROGRESS_STATUS_TOKEN } from "../recipes.js";
|
|
15
15
|
import { VersionConflict } from "../versioning.js";
|
|
16
16
|
import { ConnectorTargetUnsatisfied, RecipeAssetConflict, RecipeEditionChanged, RecipeInputError } from "./errors.js";
|
|
17
|
-
import { RECIPE_STAMP_KEY, normalizeDefinitionBody, recipeStampIdentity, recipeStampState, withRecipeStamp, worstRecipeStampState, } from "./stamp.js";
|
|
17
|
+
import { RECIPE_STAMP_KEY, normalizeDefinitionBody, recipeStampIdentity, recipeStampState, conventionStampState, withRecipeStamp, worstRecipeStampState, } from "./stamp.js";
|
|
18
18
|
import { findLegacyViewConvention, governsKind, legacyEntryAlias, legacyRegistryAlias, VIEW_KIND_NAME, } from "./legacy-aliases.js";
|
|
19
19
|
function materializeRecipeBody(body, storageField) {
|
|
20
20
|
return body.replaceAll(RECIPE_PROGRESS_STATUS_TOKEN, storageField);
|
|
@@ -80,6 +80,57 @@ export function recipeDocumentForApply(doc, okfVersion, now) {
|
|
|
80
80
|
? { ...doc, frontmatter: { ...doc.frontmatter, timestamp: now } }
|
|
81
81
|
: { ...doc, frontmatter: { ...doc.frontmatter } };
|
|
82
82
|
}
|
|
83
|
+
/** Parsed recipe carriers contain YAML values. Copy mappings locally so preparation neither
|
|
84
|
+
* aliases its source nor changes the record realm used by the owning OKF value comparator. */
|
|
85
|
+
function cloneRecipeData(value) {
|
|
86
|
+
if (value instanceof Date)
|
|
87
|
+
return new Date(value.getTime());
|
|
88
|
+
if (value instanceof Uint8Array)
|
|
89
|
+
return Uint8Array.from(value);
|
|
90
|
+
if (Array.isArray(value))
|
|
91
|
+
return value.map((item) => cloneRecipeData(item));
|
|
92
|
+
if (value !== null && typeof value === "object") {
|
|
93
|
+
return Object.fromEntries(Object.entries(value).map(([key, item]) => [key, cloneRecipeData(item)]));
|
|
94
|
+
}
|
|
95
|
+
return value;
|
|
96
|
+
}
|
|
97
|
+
/** Prepare the same candidates installRecipe creates. The caller retains the explicit preparation
|
|
98
|
+
* time across preview/replay; source identity is calculated before edition materialization.
|
|
99
|
+
* The result shares no mutable data with the parsed source. It is proposal data, not authority. */
|
|
100
|
+
export function prepareRecipeInstall(recipe, options) {
|
|
101
|
+
if (typeof options.now !== "string") {
|
|
102
|
+
throw new RecipeInputError("recipe installation preparation requires an explicit retained time");
|
|
103
|
+
}
|
|
104
|
+
const source = cloneRecipeData(recipe);
|
|
105
|
+
const materialized = materializeRecipeForEdition(source, options.okfVersion);
|
|
106
|
+
const identity = recipeStampIdentity(source, materialized);
|
|
107
|
+
const document = (doc) => recipeDocumentForApply(doc, options.okfVersion, options.now);
|
|
108
|
+
const stamped = (doc) => withRecipeStamp(document(doc), identity);
|
|
109
|
+
return {
|
|
110
|
+
okfVersion: options.okfVersion,
|
|
111
|
+
now: options.now,
|
|
112
|
+
identity,
|
|
113
|
+
docs: materialized.docs.map(stamped),
|
|
114
|
+
connectors: (materialized.connectors ?? []).map((connector) => ({ ...connector, doc: stamped(connector.doc) })),
|
|
115
|
+
pages: materialized.pages.map((page) => ({ ...page, registry: document(page.registry) })),
|
|
116
|
+
references: materialized.references.map((reference) => ({ ...reference, doc: stamped(reference.doc) })),
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/** Inspect one candidate's exact target without changing content or adopting a stamp. Registry,
|
|
120
|
+
* compatibility, permission and storage admission remain the committing caller's responsibility. */
|
|
121
|
+
export function inspectRecipeInstallTarget(existing, desired, prepared) {
|
|
122
|
+
if (existing === null)
|
|
123
|
+
return { exists: false, sameContent: false, stamp: "missing", stampIntegrity: "unknown" };
|
|
124
|
+
if (existing.id !== desired.id) {
|
|
125
|
+
throw new RecipeInputError(`recipe installation target '${existing.id}' does not match candidate '${desired.id}'`);
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
exists: true,
|
|
129
|
+
sameContent: sameInstalledDoc(existing, desired, prepared.okfVersion),
|
|
130
|
+
stamp: recipeStampState(existing, prepared.identity),
|
|
131
|
+
stampIntegrity: conventionStampState(existing),
|
|
132
|
+
};
|
|
133
|
+
}
|
|
83
134
|
async function createRecipeDocument(bundle, doc, okfVersion, now, actor) {
|
|
84
135
|
const result = await mutateDocument({
|
|
85
136
|
bundle,
|
|
@@ -117,12 +168,11 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
117
168
|
if (okfVersion === "0.2" && options.actor !== undefined && !isOkfActor(options.actor)) {
|
|
118
169
|
throw new OkfActorError(options.actor, `OKF v0.2 mutation actor '${options.actor}' must be human:<id>, process:<id>, or <producer>/<version>`);
|
|
119
170
|
}
|
|
120
|
-
const
|
|
121
|
-
recipe =
|
|
122
|
-
|
|
123
|
-
assertConnectorsWritable(recipe, identity, okfVersion, now);
|
|
171
|
+
const prepared = prepareRecipeInstall(recipe, { okfVersion: okfVersion, now });
|
|
172
|
+
recipe = { ...recipe, docs: prepared.docs, connectors: prepared.connectors, pages: prepared.pages, references: prepared.references };
|
|
173
|
+
assertConnectorsWritable(recipe, okfVersion);
|
|
124
174
|
await assertConnectorTargets(bundle, recipe, okfVersion);
|
|
125
|
-
await assertPortableTargetsCompatible(bundle, recipe,
|
|
175
|
+
await assertPortableTargetsCompatible(bundle, recipe, okfVersion);
|
|
126
176
|
// Legacy-alias probes (see the module comment above the alias helpers): resolved lazily, once.
|
|
127
177
|
const legacyConventionId = recipe.docs.some((d) => governsKind(d, VIEW_KIND_NAME))
|
|
128
178
|
? await findLegacyViewConvention(bundle)
|
|
@@ -154,7 +204,7 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
154
204
|
continue;
|
|
155
205
|
}
|
|
156
206
|
// The stamp lands in the convention's own create: it exists exactly when the convention does.
|
|
157
|
-
let doc =
|
|
207
|
+
let doc = d;
|
|
158
208
|
let changed = true;
|
|
159
209
|
let sourceDiffers = false;
|
|
160
210
|
try {
|
|
@@ -164,13 +214,14 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
164
214
|
catch (err) {
|
|
165
215
|
if (err instanceof VersionConflict) {
|
|
166
216
|
const existing = await readDoc(bundle, doc.id);
|
|
167
|
-
const
|
|
217
|
+
const inspection = inspectRecipeInstallTarget(existing, doc, prepared);
|
|
218
|
+
const existingStamp = inspection.stamp;
|
|
168
219
|
stamps.push(existingStamp);
|
|
169
220
|
if (existingStamp === "stale" || existingStamp === "missing")
|
|
170
221
|
restampIds.push(doc.id);
|
|
171
222
|
else if (existingStamp === "foreign")
|
|
172
223
|
foreignIds.push(doc.id);
|
|
173
|
-
if (!
|
|
224
|
+
if (!inspection.sameContent) {
|
|
174
225
|
sourceDiffers = true;
|
|
175
226
|
migrationWarnings.push({
|
|
176
227
|
code: "RECIPE_SOURCE_DIFFERS",
|
|
@@ -190,7 +241,7 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
190
241
|
// After the conventions, so a Kind the recipe declares exists before the Connector that maps onto it.
|
|
191
242
|
const connectors = [];
|
|
192
243
|
for (const { doc: authored } of recipe.connectors ?? []) {
|
|
193
|
-
const doc =
|
|
244
|
+
const doc = authored;
|
|
194
245
|
let changed = true;
|
|
195
246
|
let sourceDiffers = false;
|
|
196
247
|
try {
|
|
@@ -201,13 +252,14 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
201
252
|
if (!(err instanceof VersionConflict))
|
|
202
253
|
throw err;
|
|
203
254
|
const existing = await readDoc(bundle, doc.id);
|
|
204
|
-
const
|
|
255
|
+
const inspection = inspectRecipeInstallTarget(existing, doc, prepared);
|
|
256
|
+
const existingStamp = inspection.stamp;
|
|
205
257
|
stamps.push(existingStamp);
|
|
206
258
|
if (existingStamp === "stale" || existingStamp === "missing")
|
|
207
259
|
restampIds.push(doc.id);
|
|
208
260
|
else if (existingStamp === "foreign")
|
|
209
261
|
foreignIds.push(doc.id);
|
|
210
|
-
if (!
|
|
262
|
+
if (!inspection.sameContent) {
|
|
211
263
|
sourceDiffers = true;
|
|
212
264
|
migrationWarnings.push({
|
|
213
265
|
code: "RECIPE_SOURCE_DIFFERS",
|
|
@@ -281,7 +333,7 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
281
333
|
throw new RecipeAssetConflict(recipe.id, page.entry);
|
|
282
334
|
entryChanged = false;
|
|
283
335
|
}
|
|
284
|
-
let registry =
|
|
336
|
+
let registry = page.registry;
|
|
285
337
|
let registryChanged = true;
|
|
286
338
|
try {
|
|
287
339
|
registry = await createRecipeDocument(bundle, registry, okfVersion, now, options.actor);
|
|
@@ -304,7 +356,7 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
304
356
|
}
|
|
305
357
|
const references = [];
|
|
306
358
|
for (const reference of recipe.references) {
|
|
307
|
-
let desired =
|
|
359
|
+
let desired = reference.doc;
|
|
308
360
|
let changed = true;
|
|
309
361
|
try {
|
|
310
362
|
desired = await createRecipeDocument(bundle, desired, okfVersion, now, options.actor);
|
|
@@ -359,13 +411,12 @@ export async function installRecipe(bundle, recipe, options = {}) {
|
|
|
359
411
|
* edition. The parser tolerates unknown top-level keys, so one OKF v0.2 owns (a `tags` that is not
|
|
360
412
|
* a list, say) would otherwise be refused at the Connector's create, after the conventions.
|
|
361
413
|
*/
|
|
362
|
-
function assertConnectorsWritable(recipe,
|
|
414
|
+
function assertConnectorsWritable(recipe, okfVersion) {
|
|
363
415
|
if (okfVersion !== "0.2")
|
|
364
416
|
return;
|
|
365
417
|
for (const { doc } of recipe.connectors ?? []) {
|
|
366
|
-
const candidate = withRecipeStamp(recipeDocumentForApply(doc, okfVersion, now), identity);
|
|
367
418
|
try {
|
|
368
|
-
assertAuthoredOkfStandardFields(
|
|
419
|
+
assertAuthoredOkfStandardFields(doc.frontmatter, undefined, { phase: "input" });
|
|
369
420
|
}
|
|
370
421
|
catch (error) {
|
|
371
422
|
if (!(error instanceof InvalidInputError))
|
|
@@ -404,7 +455,7 @@ async function assertConnectorTargets(bundle, recipe, okfVersion) {
|
|
|
404
455
|
throw new ConnectorTargetUnsatisfied(recipe.id, connector.id, source.name, source.target_kind, errors[0].code, fields, ofSource.map((error) => error.message).join("; "));
|
|
405
456
|
}
|
|
406
457
|
}
|
|
407
|
-
async function assertPortableTargetsCompatible(bundle, recipe,
|
|
458
|
+
async function assertPortableTargetsCompatible(bundle, recipe, okfVersion) {
|
|
408
459
|
const registries = new Map();
|
|
409
460
|
if (recipe.pages.length > 0) {
|
|
410
461
|
// Both accepted registry prefixes (views-registry/ current, pages-registry/ legacy) — the
|
|
@@ -426,7 +477,7 @@ async function assertPortableTargetsCompatible(bundle, recipe, now, okfVersion)
|
|
|
426
477
|
}
|
|
427
478
|
const existingRegistry = registries.get(page.registry.id);
|
|
428
479
|
if (existingRegistry) {
|
|
429
|
-
const desiredRegistry =
|
|
480
|
+
const desiredRegistry = page.registry;
|
|
430
481
|
if (!sameInstalledDoc(existingRegistry, desiredRegistry, okfVersion)) {
|
|
431
482
|
throw new RecipeAssetConflict(recipe.id, `${page.registry.id}.md`);
|
|
432
483
|
}
|
|
@@ -445,7 +496,7 @@ async function assertPortableTargetsCompatible(bundle, recipe, now, okfVersion)
|
|
|
445
496
|
const existing = installedReferences.get(reference.doc.id);
|
|
446
497
|
if (!existing)
|
|
447
498
|
continue;
|
|
448
|
-
const desired =
|
|
499
|
+
const desired = reference.doc;
|
|
449
500
|
if (!sameInstalledDoc(existing, desired, okfVersion)) {
|
|
450
501
|
throw new RecipeAssetConflict(recipe.id, `${reference.doc.id}.md`);
|
|
451
502
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/install.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/install.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,gGAAgG;AAChG,2FAA2F;AAC3F,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,0BAA0B,GAE3B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,cAAc,EAAkB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAkF,MAAM,eAAe,CAAC;AAG7I,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtH,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,GAItB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAE7B,SAAS,qBAAqB,CAAC,IAAY,EAAE,YAAoB;IAC/D,OAAO,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAoFD,MAAM,qBAAqB,GAAiB,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAE/E,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,KAAgC;QAClC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,KAAc,EACd,YAAoB,EACpB,QAAgB,EAChB,KAAgB;IAEhB,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC;QAAE,OAAO,KAAK,CAAC;IAClG,IACE,YAAY,KAAK,qBAAqB;WACnC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAC7D,CAAC;QACD,MAAM,IAAI,gBAAgB,CACxB,WAAW,QAAQ,iBAAiB,KAAK,4BAA4B,qBAAqB,wBAAwB,YAAY,GAAG,CAClI,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;QAClD,KAAK,KAAK,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK;QACtD,UAAU;KACX,CAAC,CACH,CAAC;AACJ,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,2BAA2B,CACzC,MAAoB,EACpB,UAAkB;IAElB,MAAM,YAAY,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,gBAAgB,CACxB,WAAW,MAAM,CAAC,EAAE,qDAAqD,UAAU,GAAG,CACvF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,OAAO,GAAG,CAAC;QACxB,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE;YAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBAAE,OAAO,KAAK,CAAC;YAClF,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,gBAAgB,CACxB,WAAW,MAAM,CAAC,EAAE,iBAAiB,GAAG,CAAC,EAAE,4BAA4B,qBAAqB,wBAAwB,YAAY,GAAG,CACpI,CAAC;YACJ,CAAC;YACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,qBAAqB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtF,CAAC,CAAC;QACF,MAAM,kBAAkB,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;QAClE,KAAK,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YAC3C,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtD,kBAAkB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC;YACxF,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBACtD,kBAAkB,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QACD,OAAO;YACL,GAAG,GAAG;YACN,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE;YAC/D,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC;SACpD,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,GAAgB,EAChB,UAAkB,EAClB,GAAW;IAEX,OAAO,UAAU,KAAK,KAAK;QACzB,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;QACjE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;AACtD,CAAC;AAED;8FAC8F;AAC9F,SAAS,eAAe,CAAI,KAAQ;IAClC,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAM,CAAC;IACjE,IAAI,KAAK,YAAY,UAAU;QAAE,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAM,CAAC;IACpE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAM,CAAC;IACjF,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAM,CAAC;IAC3G,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAcD;;mGAEmG;AACnG,MAAM,UAAU,oBAAoB,CAClC,MAAoB,EACpB,OAAmD;IAEnD,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,gBAAgB,CAAC,oEAAoE,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,CAAC,GAAgB,EAAe,EAAE,CAAC,sBAAsB,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACjH,MAAM,OAAO,GAAG,CAAC,GAAgB,EAAe,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC5F,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,QAAQ;QACR,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,UAAU,EAAE,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/G,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzF,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;KACxG,CAAC;AACJ,CAAC;AAUD;oGACoG;AACpG,MAAM,UAAU,0BAA0B,CACxC,QAA4B,EAC5B,OAAoB,EACpB,QAAgE;IAEhE,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;IACjH,IAAI,QAAQ,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;QAC/B,MAAM,IAAI,gBAAgB,CAAC,+BAA+B,QAAQ,CAAC,EAAE,+BAA+B,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;IACrH,CAAC;IACD,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC;QACrE,KAAK,EAAE,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;QACpD,cAAc,EAAE,oBAAoB,CAAC,QAAQ,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,MAAc,EACd,GAAgB,EAChB,UAAkB,EAClB,GAAW,EACX,KAAc;IAEd,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAClC,MAAM;QACN,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,qBAAqB;QAC/B,MAAM,EAAE,KAAK;QACb,KAAK;QACL,2FAA2F;QAC3F,6FAA6F;QAC7F,6EAA6E;QAC7E,mBAAmB,EAAE,KAAK;QAC1B,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG;QACd,cAAc,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;YACrC,IAAI,OAAO,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACtC,MAAM,IAAI,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YACjF,CAAC;YACD,OAAO,EAAE,WAAW,EAAE,EAAE,GAAG,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACjE,CAAC;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,GAAG,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,MAAoB,EACpB,UAA4C,EAAE;IAE9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;IAC/D,wFAAwF;IACxF,IAAI,UAAU,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,4BAA4B,OAAO,CAAC,KAAK,6DAA6D,CAAC,CAAC;IACjJ,CAAC;IACD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,UAA2B,EAAE,GAAG,EAAE,CAAC,CAAC;IAChG,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC;IACrI,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC7C,MAAM,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACzD,MAAM,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAElE,+FAA+F;IAC/F,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAChF,CAAC,CAAC,MAAM,wBAAwB,CAAC,MAAM,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC;IACT,IAAI,kBAAkB,GAAuC,IAAI,CAAC;IAClE,MAAM,iBAAiB,GAAG,KAAK,EAAE,EAAa,EAAoC,EAAE;QAClF,kBAAkB,KAAK,IAAI,GAAG,CAC5B,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CACpF,CAAC;QACF,OAAO,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC;IACF,MAAM,iBAAiB,GAAwB,EAAE,CAAC;IAClD,MAAM,aAAa,GACjB,+HAA+H,CAAC;IAElI,MAAM,IAAI,GAAsB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,kBAAkB,KAAK,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;YAClE,0FAA0F;YAC1F,uFAAuF;YACvF,8CAA8C;YAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,iBAAiB,CAAC,IAAI,CAAC;gBACrB,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EACL,IAAI,kBAAkB,wDAAwD;oBAC9E,IAAI,CAAC,CAAC,EAAE,wBAAwB,aAAa,EAAE;gBACjD,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,8FAA8F;QAC9F,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC9E,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/C,MAAM,UAAU,GAAG,0BAA0B,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACvE,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;gBACvC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC3B,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,SAAS;oBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;qBACjF,IAAI,aAAa,KAAK,SAAS;oBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC9D,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;oBAC5B,aAAa,GAAG,IAAI,CAAC;oBACrB,iBAAiB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,uBAAuB;wBAC7B,OAAO,EACL,WAAW,MAAM,CAAC,EAAE,iBAAiB,GAAG,CAAC,EAAE,6CAA6C;4BACxF,kIAAkI;wBACpI,QAAQ,EAAE,SAAS;qBACpB,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,GAAG,KAAK,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAED,sGAAsG;IACtG,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,KAAK,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,QAAQ,CAAC;QACrB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,eAAe,CAAC;gBAAE,MAAM,GAAG,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,0BAA0B,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YACvE,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3B,IAAI,aAAa,KAAK,OAAO,IAAI,aAAa,KAAK,SAAS;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACjF,IAAI,aAAa,KAAK,SAAS;gBAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;gBAC5B,aAAa,GAAG,IAAI,CAAC;gBACrB,iBAAiB,CAAC,IAAI,CAAC;oBACrB,IAAI,EAAE,uBAAuB;oBAC7B,OAAO,EACL,WAAW,MAAM,CAAC,EAAE,iBAAiB,GAAG,CAAC,EAAE,4CAA4C;wBACvF,gKAAgK;oBAClK,QAAQ,EAAE,SAAS;iBACpB,CAAC,CAAC;YACL,CAAC;YACD,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxG,CAAC;IAED,MAAM,KAAK,GAAuB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,aAAa,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpH,IAAI,aAAa,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5E,2FAA2F;YAC3F,qFAAqF;YACrF,yFAAyF;YACzF,4EAA4E;YAC5E,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBACxB,wEAAwE;gBACxE,kFAAkF;gBAClF,iFAAiF;gBACjF,0EAA0E;gBAC1E,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;gBAChF,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC;wBACT,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;wBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,gBAAgB,EAAE,KAAK;wBACvB,aAAa,EAAE,KAAK;wBACpB,OAAO,EAAE,KAAK;wBACd,cAAc,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;qBAC/D,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,IAAI,CAAC;wBACT,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;wBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,gBAAgB,EAAE,KAAK;wBACvB,aAAa,EAAE,KAAK;wBACpB,OAAO,EAAE,KAAK;wBACd,kBAAkB,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE;qBACnE,CAAC,CAAC;oBACH,iBAAiB,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,oBAAoB;wBAC1B,OAAO,EACL,IAAI,aAAa,0EAA0E;4BAC3F,4BAA4B,IAAI,CAAC,QAAQ,CAAC,EAAE,wBAAwB,aAAa,EAAE;wBACrF,QAAQ,EAAE,SAAS;qBACpB,CAAC,CAAC;gBACL,CAAC;gBACD,SAAS;YACX,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,eAAe,CAAC;gBAAE,MAAM,GAAG,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,UAAU,GAAG,QAAQ,KAAK,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAChF,MAAM,eAAe,GAAG,QAAQ,EAAE,WAAW,KAAK,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjF,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe;gBAAE,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1F,YAAY,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,IAAI,eAAe,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,eAAe,CAAC;gBAAE,MAAM,GAAG,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;gBAAE,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;YACrH,eAAe,GAAG,KAAK,CAAC;QAC1B,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,WAAW,EAAE,QAAQ,CAAC,EAAE;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,gBAAgB,EAAE,eAAe;YACjC,aAAa,EAAE,YAAY;YAC3B,OAAO,EAAE,eAAe,IAAI,YAAY;SACzC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACxF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,CAAC,GAAG,YAAY,eAAe,CAAC;gBAAE,MAAM,GAAG,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;gBAAE,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YACnH,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,SAAS,GAAwF;QACrG,GAAG,IAAI;QACP,GAAG,UAAU;QACb,GAAG,KAAK;QACR,GAAG,UAAU;KACd,CAAC;IACF,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IAC1F,MAAM,MAAM,GAAwB;QAClC,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM;QAClD,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,kBAAkB,KAAK,SAAS;YAClF,CAAC,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,KAAK,IAAI,CAAC,CACtD;aACE,MAAM;QACT,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,MAAM;QAC9E,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,MAAM;QACtF,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI;QACJ,UAAU;QACV,KAAK;QACL,UAAU;QACV,MAAM;QACN,OAAO,EACL,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3B,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;QACnD,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC;QACpC,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE;QAC9B,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE;QAC9B,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,iBAAiB,CAAC;KACrD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,MAAoB,EAAE,UAAkB;IACxE,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO;IACjC,KAAK,MAAM,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,+BAA+B,CAAC,GAAG,CAAC,WAAmC,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1G,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,iBAAiB,CAAC;gBAAE,MAAM,KAAK,CAAC;YACvD,MAAM,IAAI,gBAAgB,CAAC,WAAW,MAAM,CAAC,EAAE,+BAA+B,GAAG,CAAC,EAAE,MAAM,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;QAClI,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,sBAAsB,CAAC,MAAc,EAAE,MAAoB,EAAE,UAAkB;IAC5F,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IACpC,MAAM,WAAW,GAAG,IAAI,GAAG,CACzB,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CACzG,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI;QAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAClF,sGAAsG;IACtG,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAY,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAClJ,KAAK,MAAM,EAAE,SAAS,EAAE,IAAI,UAAU,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,0BAA0B,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAClC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACpD,MAAM,CAAC,EAAE,AAAD,EAAG,KAAK,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,CAAC,CAAC,CAAC,CAAC,CAAC;QACL,MAAM,IAAI,0BAA0B,CAClC,MAAM,CAAC,EAAE,EACT,SAAS,CAAC,EAAE,EACZ,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,EACf,MAAM,EACN,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAClD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,+BAA+B,CAC5C,MAAc,EACd,MAAoB,EACpB,UAAkB;IAElB,MAAM,UAAU,GAAG,IAAI,GAAG,EAA0B,CAAC;IACrD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,0FAA0F;QAC1F,8FAA8F;QAC9F,KAAK,MAAM,MAAM,IAAI,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,EAAE,CAAC;YAClE,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACrD,KAAK,MAAM,GAAG,IAAI,YAAY;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC/D,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,KAAK,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpF,IAAI,CAAC,UAAU,IAAI,CAAC,eAAe;gBAAE,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1D,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC;gBACrE,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9D,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,aAAa;YAAE,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnD,MAAM,IAAI,gBAAgB,CAAC,WAAW,MAAM,CAAC,EAAE,YAAY,SAAS,CAAC,GAAG,CAAC,EAAE,8BAA8B,CAAC,CAAC;QAC7G,CAAC;QACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,SAAS,SAAS,CAAC,CAAa,EAAE,CAAa;IAC7C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAqB,EAAE,OAAoB,EAAE,UAAkB;IAC9F,kEAAkE;IAClE,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,EAAE,cAAc,EAAE,GAAG,mBAAmB,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;IAC3H,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,gBAAgB,CAAC,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IACvH,uFAAuF;IACvF,wFAAwF;IACxF,MAAM,UAAU,GAAG,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1E,OAAO,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACvC,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACtC,0FAA0F;IAC1F,yFAAyF;IACzF,IAAI,kBAAkB,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,mBAAmB,CAAC,KAAK,CAAC;IAC7E,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,WAAW,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACpE,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,CAAC,SAAS;gBAAE,SAAS;YACzB,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC;YACvC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,cAAc,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,IAAI,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACrJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,MAAc;IAC1D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACjE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAAc;IACzD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAChE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAoB,EACpB,SAAsC,EACtC,UAAkB,EAClB,GAAW;IAEX,MAAM,YAAY,GAAG,2BAA2B,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrE,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvC,OAAO,QAAQ,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IACzH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,eAAe,CAAC,MAAoB,EAAE,UAA0B;IAC9E,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -14,7 +14,7 @@ export interface RestJsonCursor {
|
|
|
14
14
|
}
|
|
15
15
|
export declare const restJsonProfile: SourceProfile<ConnectorSource, RestJsonCursor>;
|
|
16
16
|
/** Contract-1 composition helpers for explicitly trusted standalone source plugins. */
|
|
17
|
-
export declare const SOURCE_PLUGIN_CORE_VERSION = "0.2.0-pre.
|
|
17
|
+
export declare const SOURCE_PLUGIN_CORE_VERSION = "0.2.0-pre.25";
|
|
18
18
|
export interface SourcePluginHelpers {
|
|
19
19
|
readonly restJsonProfile: typeof restJsonProfile;
|
|
20
20
|
readonly nextLinkTarget: typeof nextLinkTarget;
|
|
@@ -196,7 +196,7 @@ export const restJsonProfile = Object.freeze({
|
|
|
196
196
|
},
|
|
197
197
|
});
|
|
198
198
|
/** Contract-1 composition helpers for explicitly trusted standalone source plugins. */
|
|
199
|
-
export const SOURCE_PLUGIN_CORE_VERSION = "0.2.0-pre.
|
|
199
|
+
export const SOURCE_PLUGIN_CORE_VERSION = "0.2.0-pre.25";
|
|
200
200
|
export { nextLinkTarget };
|
|
201
201
|
export const SOURCE_PROFILES = Object.freeze([restJsonProfile].map(profile => Object.freeze({ id: profile.id, version: profile.version, kind: profile.kind })));
|
|
202
202
|
/** Inert lookup. Extensions are explicit caller imports, never discovered or executed here. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superbee/core",
|
|
3
|
-
"version": "0.2.0-pre.
|
|
3
|
+
"version": "0.2.0-pre.25",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "OKF store engine \u2014 bundle I/O, cross-links, derived backlinks, freshness, and versioned writes.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -210,6 +210,10 @@
|
|
|
210
210
|
"./source-profiles": {
|
|
211
211
|
"types": "./dist/source-profiles/index.d.ts",
|
|
212
212
|
"default": "./dist/source-profiles/index.js"
|
|
213
|
+
},
|
|
214
|
+
"./domain-model": {
|
|
215
|
+
"types": "./dist/domain-model.d.ts",
|
|
216
|
+
"default": "./dist/domain-model.js"
|
|
213
217
|
}
|
|
214
218
|
},
|
|
215
219
|
"files": [
|