@superbee/core 0.2.0-pre.20 → 0.2.0-pre.22
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 +50 -0
- package/dist/connector-request.d.ts +87 -0
- package/dist/connector-request.d.ts.map +1 -0
- package/dist/connector-request.js +370 -0
- package/dist/connector-request.js.map +1 -0
- package/dist/connectors.d.ts +32 -0
- package/dist/connectors.d.ts.map +1 -1
- package/dist/connectors.js +30 -1
- package/dist/connectors.js.map +1 -1
- package/dist/recipe-lifecycle/errors.d.ts +3 -1
- package/dist/recipe-lifecycle/errors.d.ts.map +1 -1
- package/dist/recipe-lifecycle/errors.js.map +1 -1
- package/dist/recipe-lifecycle/evolution.d.ts +36 -3
- package/dist/recipe-lifecycle/evolution.d.ts.map +1 -1
- package/dist/recipe-lifecycle/evolution.js +160 -29
- package/dist/recipe-lifecycle/evolution.js.map +1 -1
- package/dist/recipe-lifecycle/index.d.ts +7 -5
- package/dist/recipe-lifecycle/index.d.ts.map +1 -1
- package/dist/recipe-lifecycle/index.js +6 -4
- package/dist/recipe-lifecycle/index.js.map +1 -1
- package/dist/recipe-lifecycle/install.d.ts +1 -0
- package/dist/recipe-lifecycle/install.d.ts.map +1 -1
- package/dist/recipe-lifecycle/install.js +25 -10
- package/dist/recipe-lifecycle/install.js.map +1 -1
- package/dist/recipe-lifecycle/stamp.d.ts +2 -0
- package/dist/recipe-lifecycle/stamp.d.ts.map +1 -1
- package/dist/recipe-lifecycle/stamp.js +8 -4
- package/dist/recipe-lifecycle/stamp.js.map +1 -1
- package/dist/source-engine/guard.d.ts +4 -8
- package/dist/source-engine/guard.d.ts.map +1 -1
- package/dist/source-engine/guard.js +32 -5
- package/dist/source-engine/guard.js.map +1 -1
- package/dist/source-engine/index.d.ts +2 -0
- package/dist/source-engine/index.d.ts.map +1 -1
- package/dist/source-engine/index.js +1 -0
- package/dist/source-engine/index.js.map +1 -1
- package/dist/source-engine/observe.d.ts.map +1 -1
- package/dist/source-engine/observe.js +29 -7
- package/dist/source-engine/observe.js.map +1 -1
- package/dist/source-engine/overlay.d.ts +49 -0
- package/dist/source-engine/overlay.d.ts.map +1 -0
- package/dist/source-engine/overlay.js +114 -0
- package/dist/source-engine/overlay.js.map +1 -0
- package/dist/source-engine/types.d.ts +2 -0
- package/dist/source-engine/types.d.ts.map +1 -1
- package/dist/source-harness/conformance.d.ts.map +1 -1
- package/dist/source-harness/conformance.js +13 -12
- package/dist/source-harness/conformance.js.map +1 -1
- package/dist/source-harness/fixture.d.ts.map +1 -1
- package/dist/source-harness/fixture.js +30 -18
- package/dist/source-harness/fixture.js.map +1 -1
- package/dist/source-profiles/index.d.ts +32 -0
- package/dist/source-profiles/index.d.ts.map +1 -0
- package/dist/source-profiles/index.js +326 -0
- package/dist/source-profiles/index.js.map +1 -0
- package/dist/source-profiles/link-header.d.ts +6 -0
- package/dist/source-profiles/link-header.d.ts.map +1 -0
- package/dist/source-profiles/link-header.js +131 -0
- package/dist/source-profiles/link-header.js.map +1 -0
- package/package.json +6 -1
|
@@ -13,6 +13,7 @@ import { resolveContentType } from "../content-type.js";
|
|
|
13
13
|
import { DocumentNotFoundError, mutateDocument } from "../document-mutation.js";
|
|
14
14
|
import { applyV02MutationMetadata } from "../document-write-policy.js";
|
|
15
15
|
import { InvalidInputError, OkfActorError } from "../errors.js";
|
|
16
|
+
import { normalizeDocumentBodyForStorage } from "../frontmatter.js";
|
|
16
17
|
import { CONVENTIONS_PREFIX, buildKindRegistry, parseConventionDoc, projectKindValidationWarnings, validateAgainstKind, } from "../kinds.js";
|
|
17
18
|
import { collectLinkDeclarations } from "../link-types.js";
|
|
18
19
|
import { parseLinksFromDoc } from "../links.js";
|
|
@@ -20,7 +21,7 @@ import { okfValuesEqual } from "../okf-authored-values.js";
|
|
|
20
21
|
import { VersionConflict, blobVersion, contentVersion, sha256Hex } from "../versioning.js";
|
|
21
22
|
import { RecipeEditionChanged, RecipeEvolutionBlocked, RecipeEvolutionInterrupted, RecipeEvolutionPlanChanged, RecipeEvolutionPostcondition, } from "./errors.js";
|
|
22
23
|
import { materializeRecipeForEdition, recipeDocumentForApply, sameInstalledDoc, } from "./install.js";
|
|
23
|
-
import { RECIPE_STAMP_KEY, conventionStampState, definitionDigest, recipeStampIdentity, recipeStampState, withRecipeStamp, } from "./stamp.js";
|
|
24
|
+
import { RECIPE_STAMP_KEY, conventionStampState, definitionDigest, normalizeDefinitionBody, recipeStampIdentity, recipeStampState, withRecipeStamp, } from "./stamp.js";
|
|
24
25
|
const RECIPE_EVOLUTION_WRITE_REGISTRY = { kinds: new Map(), warnings: [] };
|
|
25
26
|
function plainRecord(value) {
|
|
26
27
|
return value !== null && typeof value === "object" && !Array.isArray(value)
|
|
@@ -59,14 +60,32 @@ function setOwn(record, key, value) {
|
|
|
59
60
|
writable: true,
|
|
60
61
|
});
|
|
61
62
|
}
|
|
63
|
+
/** The ordered declaration lists the Kind parser consumes; extension arrays keep their policy. */
|
|
64
|
+
function isOrderedDeclarationList(pointer) {
|
|
65
|
+
return pointer === "/frontmatter/sections"
|
|
66
|
+
|| /^\/frontmatter\/fields\/(?:required|optional)$/.test(pointer)
|
|
67
|
+
|| /^\/frontmatter\/fields\/(?:values|terminal)\/[^/]+$/.test(pointer);
|
|
68
|
+
}
|
|
69
|
+
/** Each installed occurrence must survive in the same relative order, including duplicates. */
|
|
70
|
+
function isOccurrenceSubsequence(current, next) {
|
|
71
|
+
let index = 0;
|
|
72
|
+
for (const value of next) {
|
|
73
|
+
if (index < current.length && okfValuesEqual(current[index], value))
|
|
74
|
+
index += 1;
|
|
75
|
+
}
|
|
76
|
+
return index === current.length;
|
|
77
|
+
}
|
|
62
78
|
/**
|
|
63
79
|
* Merge recipe declarations into a user-owned convention without deleting or replacing any
|
|
64
|
-
* existing semantic value
|
|
65
|
-
*
|
|
66
|
-
*
|
|
80
|
+
* existing semantic value, except field guidance whose whole-definition stamp proves recipe
|
|
81
|
+
* ownership. Kind declaration lists follow recipe order when existing occurrences can be
|
|
82
|
+
* preserved or the stamp proves an unchanged recipe baseline; omitted values remain blockers.
|
|
83
|
+
* Extension arrays retain their append-only merge. Root mutation/provenance metadata is preserved
|
|
84
|
+
* by the shared write policy instead of being treated as recipe-owned schema.
|
|
67
85
|
*/
|
|
68
|
-
function additiveConventionCandidate(existing, desired, blockers) {
|
|
86
|
+
function additiveConventionCandidate(existing, desired, blockers, hasUnchangedRecipeBaseline) {
|
|
69
87
|
const addedPaths = [];
|
|
88
|
+
const descriptionReplacements = [];
|
|
70
89
|
const merge = (current, next, pointer) => {
|
|
71
90
|
if (current === undefined) {
|
|
72
91
|
addedPaths.push(pointer);
|
|
@@ -78,13 +97,34 @@ function additiveConventionCandidate(existing, desired, blockers) {
|
|
|
78
97
|
}
|
|
79
98
|
if (okfValuesEqual(current, next))
|
|
80
99
|
return current;
|
|
100
|
+
if (hasUnchangedRecipeBaseline
|
|
101
|
+
&& /^\/frontmatter\/fields\/descriptions\/[^/]+$/.test(pointer)
|
|
102
|
+
&& typeof current === "string"
|
|
103
|
+
&& typeof next === "string") {
|
|
104
|
+
descriptionReplacements.push({ path: pointer, old: current, new: next });
|
|
105
|
+
return next;
|
|
106
|
+
}
|
|
81
107
|
if (Array.isArray(current) && Array.isArray(next)) {
|
|
82
108
|
const merged = [...current];
|
|
109
|
+
let removesValue = false;
|
|
83
110
|
for (const value of current) {
|
|
84
111
|
if (!next.some((candidate) => okfValuesEqual(candidate, value))) {
|
|
112
|
+
removesValue = true;
|
|
85
113
|
evolutionBlocker(blockers, "RECIPE_EVOLUTION_REMOVAL_UNSUPPORTED", desired.id, `automatic evolution preserves the existing declaration value at '${pointer}'`, pointer);
|
|
86
114
|
}
|
|
87
115
|
}
|
|
116
|
+
if (isOrderedDeclarationList(pointer) && !removesValue) {
|
|
117
|
+
if (!hasUnchangedRecipeBaseline && !isOccurrenceSubsequence(current, next)) {
|
|
118
|
+
evolutionBlocker(blockers, "RECIPE_EVOLUTION_LIST_ORDER_UNPROVEN", desired.id, `automatic evolution cannot reorder or remove installed occurrences at '${pointer}' without an unchanged recipe baseline; existing order and duplicates are preserved`, pointer);
|
|
119
|
+
return current;
|
|
120
|
+
}
|
|
121
|
+
for (const value of next) {
|
|
122
|
+
if (!current.some((candidate) => okfValuesEqual(candidate, value))) {
|
|
123
|
+
addedPaths.push(`${pointer}/${pointerSegment(String(value))}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return next;
|
|
127
|
+
}
|
|
88
128
|
for (const value of next) {
|
|
89
129
|
if (merged.some((candidate) => okfValuesEqual(candidate, value)))
|
|
90
130
|
continue;
|
|
@@ -118,24 +158,27 @@ function additiveConventionCandidate(existing, desired, blockers) {
|
|
|
118
158
|
setOwn(candidateFrontmatter, key, merge(currentFrontmatter[key], desiredFrontmatter[key], `/frontmatter/${pointerSegment(key)}`));
|
|
119
159
|
}
|
|
120
160
|
let body = existing.body;
|
|
121
|
-
|
|
161
|
+
const existingBody = normalizeDefinitionBody(existing.body);
|
|
162
|
+
const desiredBody = normalizeDefinitionBody(desired.body);
|
|
163
|
+
if (existingBody === "\n" && desiredBody !== "\n") {
|
|
122
164
|
body = desired.body;
|
|
123
165
|
addedPaths.push("/body");
|
|
124
166
|
}
|
|
125
|
-
else if (
|
|
167
|
+
else if (existingBody !== desiredBody) {
|
|
126
168
|
evolutionBlocker(blockers, "RECIPE_EVOLUTION_BODY_REPLACEMENT_UNSUPPORTED", desired.id, "automatic evolution will not replace an existing convention body; update it manually after review", "/body");
|
|
127
169
|
}
|
|
128
170
|
return {
|
|
129
171
|
candidate: { id: desired.id, frontmatter: candidateFrontmatter, body },
|
|
130
172
|
addedPaths: [...new Set(addedPaths)].sort(),
|
|
173
|
+
descriptionReplacements: descriptionReplacements.sort((a, b) => a.path.localeCompare(b.path)),
|
|
131
174
|
};
|
|
132
175
|
}
|
|
133
176
|
/**
|
|
134
|
-
*
|
|
177
|
+
* A recipe-owned Connector or Reference as the replacement of the installed one: every content key and the body
|
|
135
178
|
* from the recipe, the root metadata and a bundle-local `order` from the installed document, as a
|
|
136
179
|
* convention update keeps them.
|
|
137
180
|
*/
|
|
138
|
-
function
|
|
181
|
+
function ownedAssetReplacement(existing, desired) {
|
|
139
182
|
const frontmatter = {};
|
|
140
183
|
for (const [key, value] of Object.entries(desired.frontmatter)) {
|
|
141
184
|
if (!PRESERVED_ROOT_METADATA.has(key))
|
|
@@ -248,7 +291,10 @@ function monotonicEvolutionBlockers(current, desired, blockers) {
|
|
|
248
291
|
if (!okfValuesEqual(current.expectsInbound ?? {}, desired.expectsInbound ?? {})) {
|
|
249
292
|
evolutionBlocker(blockers, "RECIPE_EVOLUTION_RELATIONSHIP_CHANGE", desired.id, `automatic evolution does not change inbound relationship expectations for '${desired.governs}'`, "expects_inbound");
|
|
250
293
|
}
|
|
251
|
-
|
|
294
|
+
const sameTerminalOccurrences = Object.keys(current.fields.terminal).length === Object.keys(desired.fields.terminal).length
|
|
295
|
+
&& Object.entries(current.fields.terminal).every(([field, values]) => Object.hasOwn(desired.fields.terminal, field)
|
|
296
|
+
&& okfValuesEqual([...values].sort(), [...desired.fields.terminal[field]].sort()));
|
|
297
|
+
if (!sameTerminalOccurrences) {
|
|
252
298
|
evolutionBlocker(blockers, "RECIPE_EVOLUTION_TERMINAL_CHANGE", desired.id, `automatic evolution does not change terminal workflow values for '${desired.governs}' because open-work visibility can change`, "fields.terminal");
|
|
253
299
|
}
|
|
254
300
|
}
|
|
@@ -330,6 +376,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
330
376
|
...(warning.field ? { field: warning.field } : {}),
|
|
331
377
|
}));
|
|
332
378
|
const definitions = [];
|
|
379
|
+
const references = [];
|
|
333
380
|
const writes = new Map();
|
|
334
381
|
const proofs = [];
|
|
335
382
|
const desiredKinds = new Map();
|
|
@@ -399,7 +446,11 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
399
446
|
? `existing '${target.id}' is not a valid convention: ${parsedCurrent.reason}`
|
|
400
447
|
: `existing '${target.id}' governs '${parsedCurrent.kind.governs}', not '${parsedDesired.kind.governs}'`, "governs");
|
|
401
448
|
}
|
|
402
|
-
const
|
|
449
|
+
const identityState = recipeStampState(existing.doc, identity);
|
|
450
|
+
// A whole-definition stamp proves an unchanged baseline, not individual field history.
|
|
451
|
+
const hasUnchangedRecipeBaseline = (identityState === "current" || identityState === "stale")
|
|
452
|
+
&& conventionStampState(existing.doc) === "current";
|
|
453
|
+
const merged = additiveConventionCandidate(existing.doc, target, blockers, hasUnchangedRecipeBaseline);
|
|
403
454
|
let candidate = merged.candidate;
|
|
404
455
|
if (okfVersion === "0.2") {
|
|
405
456
|
try {
|
|
@@ -424,7 +475,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
424
475
|
}
|
|
425
476
|
else {
|
|
426
477
|
desiredKinds.set(parsedCandidate.kind.governs, parsedCandidate.kind);
|
|
427
|
-
//
|
|
478
|
+
// Omitted declarations remain in the candidate even when they block applying the plan.
|
|
428
479
|
for (const warning of parsedCandidate.warnings) {
|
|
429
480
|
if (warning.code !== "OKF_WORKFLOW_STATUS_COLLISION" || blockers.some(blocker => blocker.id === target.id && blocker.code === warning.code))
|
|
430
481
|
continue;
|
|
@@ -435,9 +486,8 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
435
486
|
const unchanged = sameInstalledDoc(existing.doc, candidate, okfVersion);
|
|
436
487
|
// A current identity whose definition disagrees with the stored content is re-stamped only when
|
|
437
488
|
// that content's definition digest equals the digest of the recipe's own convention: a fresh
|
|
438
|
-
// stamp is then the honest record.
|
|
439
|
-
//
|
|
440
|
-
const identityState = recipeStampState(existing.doc, identity);
|
|
489
|
+
// stamp is then the honest record. `unchanged` alone must not re-baseline preserved local
|
|
490
|
+
// content that differs from the selected recipe.
|
|
441
491
|
const stamp = unchanged &&
|
|
442
492
|
identityState === "current" &&
|
|
443
493
|
conventionStampState(existing.doc) === "diverged" &&
|
|
@@ -452,6 +502,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
452
502
|
expected_version: existing.version,
|
|
453
503
|
desired_version: desiredVersion,
|
|
454
504
|
added_paths: unchanged ? [] : merged.addedPaths,
|
|
505
|
+
...(merged.descriptionReplacements.length > 0 ? { description_replacements: merged.descriptionReplacements } : {}),
|
|
455
506
|
});
|
|
456
507
|
// The write set: a content update (which takes ownership of a foreign stamp), or a stale or
|
|
457
508
|
// missing stamp on unchanged content. A foreign stamp alone is another recipe's to keep.
|
|
@@ -512,7 +563,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
512
563
|
evolutionBlocker(blockers, "RECIPE_EVOLUTION_ASSET_MISSING", target.id, `recipe Connector '${target.id}' is not installed; install the complete recipe with 'recipe add' first`);
|
|
513
564
|
continue;
|
|
514
565
|
}
|
|
515
|
-
let candidate =
|
|
566
|
+
let candidate = ownedAssetReplacement(existing.doc, target);
|
|
516
567
|
if (okfVersion === "0.2") {
|
|
517
568
|
try {
|
|
518
569
|
const withMetadata = applyV02MutationMetadata({
|
|
@@ -561,11 +612,63 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
561
612
|
evolutionBlocker(blockers, "RECIPE_EVOLUTION_ASSET_MISSING", target.id, `recipe asset '${target.id}' is not installed; install the complete recipe with 'recipe add' first`);
|
|
562
613
|
}
|
|
563
614
|
else if (!sameInstalledDoc(existing.doc, target, okfVersion)) {
|
|
564
|
-
evolutionBlocker(blockers, "RECIPE_EVOLUTION_ASSET_CHANGE_UNSUPPORTED", target.id,
|
|
615
|
+
evolutionBlocker(blockers, "RECIPE_EVOLUTION_ASSET_CHANGE_UNSUPPORTED", target.id, "recipe evolution does not replace an existing View registry asset");
|
|
565
616
|
}
|
|
566
617
|
};
|
|
567
|
-
for (const reference of recipe.references)
|
|
568
|
-
|
|
618
|
+
for (const reference of recipe.references) {
|
|
619
|
+
const target = recipeDocumentForApply({ ...reference.doc, body: normalizeDocumentBodyForStorage(reference.doc.body) }, okfVersion, "1970-01-01T00:00:00.000Z");
|
|
620
|
+
const existing = await readRecipeDocIfPresent(bundle, target.id);
|
|
621
|
+
let candidate = existing ? ownedAssetReplacement(existing.doc, target) : target;
|
|
622
|
+
if (existing && okfVersion === "0.2") {
|
|
623
|
+
const producer = plainRecord(existing.doc.frontmatter.generated)?.by;
|
|
624
|
+
try {
|
|
625
|
+
candidate = { id: target.id, ...applyV02MutationMetadata({
|
|
626
|
+
existing: existing.doc,
|
|
627
|
+
candidate: { frontmatter: candidate.frontmatter, body: candidate.body },
|
|
628
|
+
...(typeof producer === "string" ? { producer } : {}),
|
|
629
|
+
meaningfulChangeAt: "1970-01-01T00:00:00.000Z",
|
|
630
|
+
allowGeneratedProvenanceSeed: false,
|
|
631
|
+
}) };
|
|
632
|
+
}
|
|
633
|
+
catch (error) {
|
|
634
|
+
if (!(error instanceof InvalidInputError))
|
|
635
|
+
throw error;
|
|
636
|
+
evolutionBlocker(blockers, "RECIPE_EVOLUTION_WRITE_POLICY_INVALID", target.id, `prospective Reference cannot satisfy the OKF v0.2 write policy: ${error.message}`);
|
|
637
|
+
}
|
|
638
|
+
}
|
|
639
|
+
const wanted = contentVersion(comparableRecipeDoc(candidate, okfVersion));
|
|
640
|
+
const stamp = recipeStampState(existing?.doc ?? null, identity);
|
|
641
|
+
const unchanged = existing !== null && sameInstalledDoc(existing.doc, candidate, okfVersion);
|
|
642
|
+
references.push({ id: target.id, action: !existing ? "missing" : unchanged ? "unchanged" : "update", stamp, expected_version: existing?.version ?? null, desired_version: wanted });
|
|
643
|
+
proofs.push({ kind: "reference", id: target.id, current_version: existing?.version ?? null, desired_version: wanted });
|
|
644
|
+
if (!existing) {
|
|
645
|
+
evolutionBlocker(blockers, "RECIPE_EVOLUTION_ASSET_MISSING", target.id, `recipe asset '${target.id}' is not installed; install the complete recipe with 'recipe add' first`);
|
|
646
|
+
continue;
|
|
647
|
+
}
|
|
648
|
+
let reason;
|
|
649
|
+
if (existing.doc.frontmatter.type !== "Reference" || target.frontmatter.type !== "Reference")
|
|
650
|
+
reason = "is not a Reference";
|
|
651
|
+
else if (stamp === "foreign")
|
|
652
|
+
reason = "belongs to another recipe";
|
|
653
|
+
else if (stamp === "missing") {
|
|
654
|
+
if (Object.hasOwn(existing.doc.frontmatter, RECIPE_STAMP_KEY))
|
|
655
|
+
reason = "has an unreadable recipe stamp";
|
|
656
|
+
// Adoption proves equality with selected source NOW, not an inferred historical install.
|
|
657
|
+
else if (!sameInstalledDoc(existing.doc, target, okfVersion))
|
|
658
|
+
reason = "has no ownership stamp and differs from the selected source";
|
|
659
|
+
}
|
|
660
|
+
else if (conventionStampState(existing.doc) !== "current")
|
|
661
|
+
reason = "has locally changed content or unreadable digest rules";
|
|
662
|
+
if (reason) {
|
|
663
|
+
evolutionBlocker(blockers, "RECIPE_EVOLUTION_REFERENCE_UNPROVEN", target.id, `Reference '${target.id}' ${reason}; evolution cannot prove recipe ownership and leaves it untouched`);
|
|
664
|
+
continue;
|
|
665
|
+
}
|
|
666
|
+
if (!unchanged)
|
|
667
|
+
writes.set(target.id, withRecipeStamp(candidate, identity));
|
|
668
|
+
else if (stamp === "missing" || stamp === "stale")
|
|
669
|
+
writes.set(target.id, withRecipeStamp(existing.doc, identity));
|
|
670
|
+
}
|
|
671
|
+
references.sort((a, b) => a.id.localeCompare(b.id));
|
|
569
672
|
for (const page of recipe.pages) {
|
|
570
673
|
await assetDocProof("view-registry", page.registry);
|
|
571
674
|
const existing = await readBlob(bundle, page.entry);
|
|
@@ -657,6 +760,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
657
760
|
recipe: { id: recipe.id, version: recipe.version, source: recipe.source, source_digest: identity.source_digest },
|
|
658
761
|
okfVersion,
|
|
659
762
|
definitions,
|
|
763
|
+
...(references.length > 0 ? { references } : {}),
|
|
660
764
|
proofs,
|
|
661
765
|
blockers,
|
|
662
766
|
});
|
|
@@ -672,10 +776,19 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
672
776
|
source: recipe.source,
|
|
673
777
|
okf_version: okfVersion,
|
|
674
778
|
ready: blockers.length === 0,
|
|
675
|
-
changed: updates > 0,
|
|
779
|
+
changed: updates > 0 || references.some(row => row.action === "update"),
|
|
676
780
|
writes: writes.size,
|
|
677
781
|
plan_token: token,
|
|
678
782
|
definitions,
|
|
783
|
+
...(references.length > 0 ? { reference_assets: {
|
|
784
|
+
rows: references,
|
|
785
|
+
counts: {
|
|
786
|
+
updates: references.filter(row => row.action === "update").length,
|
|
787
|
+
stamp_writes: references.filter(row => writes.has(row.id) && row.action !== "update").length,
|
|
788
|
+
unchanged: references.filter(row => row.action === "unchanged").length,
|
|
789
|
+
missing: references.filter(row => row.action === "missing").length,
|
|
790
|
+
},
|
|
791
|
+
} } : {}),
|
|
679
792
|
counts: {
|
|
680
793
|
definitions: definitions.length,
|
|
681
794
|
updates,
|
|
@@ -690,7 +803,7 @@ async function prepareRecipeEvolution(bundle, sourceRecipe) {
|
|
|
690
803
|
writes,
|
|
691
804
|
};
|
|
692
805
|
}
|
|
693
|
-
/** Build a read-only, state-bound preflight for
|
|
806
|
+
/** Build a read-only, state-bound preflight for recipe definitions and Reference ownership. */
|
|
694
807
|
export async function planRecipeEvolution(bundle, recipe) {
|
|
695
808
|
return (await prepareRecipeEvolution(bundle, recipe)).plan;
|
|
696
809
|
}
|
|
@@ -706,15 +819,18 @@ export async function applyRecipeEvolution(bundle, recipe, expectedPlanToken, op
|
|
|
706
819
|
throw new RecipeEvolutionBlocked(plan.id, plan.blockers);
|
|
707
820
|
}
|
|
708
821
|
const completed = [];
|
|
709
|
-
const
|
|
710
|
-
|
|
822
|
+
const targets = [...plan.definitions, ...(plan.reference_assets?.rows ?? []).map(row => ({ ...row, asset_kind: "reference" }))];
|
|
823
|
+
const pending = targets.filter((definition) => prepared.writes.has(definition.id)).map((definition) => definition.id);
|
|
824
|
+
for (const definition of targets) {
|
|
825
|
+
const asset = "asset_kind" in definition ? { asset_kind: definition.asset_kind } : {};
|
|
711
826
|
const planned = prepared.writes.get(definition.id);
|
|
712
827
|
if (planned === undefined) {
|
|
713
|
-
completed.push({ id: definition.id, changed: false, stamped: false, version: definition.expected_version });
|
|
828
|
+
completed.push({ id: definition.id, ...asset, changed: false, stamped: false, version: definition.expected_version });
|
|
714
829
|
continue;
|
|
715
830
|
}
|
|
716
831
|
const now = new Date().toISOString();
|
|
717
832
|
const desired = recipeDocumentForApply(planned, plan.okf_version, now);
|
|
833
|
+
const sourceProducer = "asset_kind" in definition ? plainRecord(desired.frontmatter.generated)?.by : undefined;
|
|
718
834
|
try {
|
|
719
835
|
const result = await mutateDocument({
|
|
720
836
|
bundle,
|
|
@@ -729,7 +845,9 @@ export async function applyRecipeEvolution(bundle, recipe, expectedPlanToken, op
|
|
|
729
845
|
// explicitly opts out of seeding provenance when the installed definition has none.
|
|
730
846
|
seedGenerationClock: false,
|
|
731
847
|
// Evolution preserves source-comparable attribution; the backend still records its writer.
|
|
732
|
-
persistActor:
|
|
848
|
+
persistActor: "asset_kind" in definition,
|
|
849
|
+
// Reference replacement retains its existing content producer; actor is advisory.
|
|
850
|
+
...(typeof sourceProducer === "string" ? { producer: sourceProducer } : {}),
|
|
733
851
|
actor,
|
|
734
852
|
now: () => now,
|
|
735
853
|
buildCandidate: (_existing, context) => {
|
|
@@ -741,6 +859,7 @@ export async function applyRecipeEvolution(bundle, recipe, expectedPlanToken, op
|
|
|
741
859
|
});
|
|
742
860
|
completed.push({
|
|
743
861
|
id: definition.id,
|
|
862
|
+
...asset,
|
|
744
863
|
changed: definition.action === "update" && result.changed,
|
|
745
864
|
stamped: true,
|
|
746
865
|
version: result.version,
|
|
@@ -770,10 +889,10 @@ export async function applyRecipeEvolution(bundle, recipe, expectedPlanToken, op
|
|
|
770
889
|
postcondition = await prepareRecipeEvolution(bundle, recipe);
|
|
771
890
|
}
|
|
772
891
|
catch (error) {
|
|
773
|
-
throw new RecipeEvolutionPostcondition("unverifiable", `recipe evolution wrote ${written} definition(s), but its postcondition could not be verified: ${error instanceof Error ? error.message : String(error)}`, completed, { cause: error });
|
|
892
|
+
throw new RecipeEvolutionPostcondition("unverifiable", `recipe evolution wrote ${written} ${plan.reference_assets ? "target(s)" : "definition(s)"}, but its postcondition could not be verified: ${error instanceof Error ? error.message : String(error)}`, completed, { cause: error });
|
|
774
893
|
}
|
|
775
894
|
if (!postcondition.plan.ready || postcondition.plan.changed || postcondition.plan.writes > 0) {
|
|
776
|
-
throw new RecipeEvolutionPostcondition("changed", `recipe evolution wrote ${written} definition(s), but the bundle changed (a definition or its stamp) before the postcondition check; a fresh recipe evolve plan shows the current state`, completed, { blockers: postcondition.plan.blockers, postcondition_plan: postcondition.plan.plan_token });
|
|
895
|
+
throw new RecipeEvolutionPostcondition("changed", `recipe evolution wrote ${written} ${plan.reference_assets ? "target(s)" : "definition(s)"}, but the bundle changed (${plan.reference_assets ? "a target" : "a definition"} or its stamp) before the postcondition check; a fresh recipe evolve plan shows the current state`, completed, { blockers: postcondition.plan.blockers, postcondition_plan: postcondition.plan.plan_token });
|
|
777
896
|
}
|
|
778
897
|
return {
|
|
779
898
|
recipe: updated > 0 ? "evolved" : stamped > 0 ? "stamped" : "already current",
|
|
@@ -782,8 +901,20 @@ export async function applyRecipeEvolution(bundle, recipe, expectedPlanToken, op
|
|
|
782
901
|
source: plan.source,
|
|
783
902
|
changed: written > 0,
|
|
784
903
|
plan_token: plan.plan_token,
|
|
785
|
-
definitions: completed,
|
|
786
|
-
|
|
904
|
+
definitions: completed.filter(row => row.asset_kind !== "reference"),
|
|
905
|
+
...(plan.reference_assets ? { reference_assets: {
|
|
906
|
+
rows: completed.filter(row => row.asset_kind === "reference"),
|
|
907
|
+
counts: {
|
|
908
|
+
updated: completed.filter(row => row.asset_kind === "reference" && row.changed).length,
|
|
909
|
+
stamped: completed.filter(row => row.asset_kind === "reference" && row.stamped && !row.changed).length,
|
|
910
|
+
unchanged: completed.filter(row => row.asset_kind === "reference" && !row.stamped).length,
|
|
911
|
+
},
|
|
912
|
+
} } : {}),
|
|
913
|
+
counts: {
|
|
914
|
+
updated: completed.filter(row => row.asset_kind !== "reference" && row.changed).length,
|
|
915
|
+
stamped: completed.filter(row => row.asset_kind !== "reference" && row.stamped && !row.changed).length,
|
|
916
|
+
unchanged: completed.filter(row => row.asset_kind !== "reference" && !row.stamped).length,
|
|
917
|
+
},
|
|
787
918
|
};
|
|
788
919
|
}
|
|
789
920
|
//# sourceMappingURL=evolution.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evolution.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/evolution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evolution.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/evolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,19 +4,21 @@
|
|
|
4
4
|
* `installRecipe` creates a recipe's conventions, Connectors, View pairs and References
|
|
5
5
|
* create-only, never overwriting what a bundle already holds, after checking every Connector
|
|
6
6
|
* against the Kinds the bundle will hold. `planRecipeEvolution` is a read-only, state-bound
|
|
7
|
-
* preflight of an additive upgrade to installed conventions and of the replacement of Connectors
|
|
7
|
+
* preflight of an additive upgrade to installed conventions and of the replacement of Connectors and References
|
|
8
8
|
* this recipe wrote and nobody changed since, and `applyRecipeEvolution` applies exactly the plan
|
|
9
|
-
* whose token the caller observed, one exact-version CAS write per changed
|
|
9
|
+
* whose token the caller observed, one exact-version CAS write per changed target. The caller acquires the recipe (`@superbee/core/recipes` parses files into a
|
|
10
10
|
* `LoadedRecipe`) and presents results and typed errors. Storage-neutral: it runs in Node,
|
|
11
11
|
* Workers and browsers over any `StorageBackend`.
|
|
12
12
|
*
|
|
13
|
-
* Every convention and
|
|
14
|
-
*
|
|
13
|
+
* Every convention, Connector and Reference either path writes carries an `x_recipe` stamp in the
|
|
14
|
+
* same write. Exact-source unstamped References may be explicitly adopted without replacing content.
|
|
15
|
+
* `installedRecipes` retains its convention/Connector projection; Reference ownership is inspected
|
|
16
|
+
* through evolution's optional `reference_assets` rows.
|
|
15
17
|
*/
|
|
16
18
|
export { installRecipe, installedConnectorDocs, installedConventionDocs, isRecipeApplied, materializeRecipeForEdition, recipeDrifts, } from "./install.js";
|
|
17
19
|
export type { RecipeConnectorResult, RecipeDocResult, RecipeInstallCounts, RecipeInstallResult, RecipePageResult, RecipeReferenceResult, } from "./install.js";
|
|
18
20
|
export { applyRecipeEvolution, planRecipeEvolution } from "./evolution.js";
|
|
19
|
-
export type { RecipeEvolutionApplyResult, RecipeEvolutionBlocker, RecipeEvolutionDefinition, RecipeEvolutionPlan, } from "./evolution.js";
|
|
21
|
+
export type { RecipeEvolutionApplyResult, RecipeEvolutionBlocker, RecipeEvolutionDefinition, RecipeEvolutionReference, RecipeEvolutionReferenceAssets, RecipeEvolutionPlan, } from "./evolution.js";
|
|
20
22
|
export { ConnectorTargetUnsatisfied, RecipeAssetConflict, RecipeEditionChanged, RecipeEvolutionBlocked, RecipeEvolutionInterrupted, RecipeEvolutionPlanChanged, RecipeEvolutionPostcondition, RecipeInputError, RecipeLifecycleError, } from "./errors.js";
|
|
21
23
|
export type { RecipeEvolutionCompletedDefinition, RecipeEvolutionInterruptionReason } from "./errors.js";
|
|
22
24
|
export { DEFINITION_DIGEST_RULES, RECIPE_STAMP_KEY, definitionDigest, installedRecipes, readRecipeStamp, recipeSourceDigest, } from "./stamp.js";
|
|
@@ -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;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,2BAA2B,EAC3B,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,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,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
|
|
@@ -4,14 +4,16 @@
|
|
|
4
4
|
* `installRecipe` creates a recipe's conventions, Connectors, View pairs and References
|
|
5
5
|
* create-only, never overwriting what a bundle already holds, after checking every Connector
|
|
6
6
|
* against the Kinds the bundle will hold. `planRecipeEvolution` is a read-only, state-bound
|
|
7
|
-
* preflight of an additive upgrade to installed conventions and of the replacement of Connectors
|
|
7
|
+
* preflight of an additive upgrade to installed conventions and of the replacement of Connectors and References
|
|
8
8
|
* this recipe wrote and nobody changed since, and `applyRecipeEvolution` applies exactly the plan
|
|
9
|
-
* whose token the caller observed, one exact-version CAS write per changed
|
|
9
|
+
* whose token the caller observed, one exact-version CAS write per changed target. The caller acquires the recipe (`@superbee/core/recipes` parses files into a
|
|
10
10
|
* `LoadedRecipe`) and presents results and typed errors. Storage-neutral: it runs in Node,
|
|
11
11
|
* Workers and browsers over any `StorageBackend`.
|
|
12
12
|
*
|
|
13
|
-
* Every convention and
|
|
14
|
-
*
|
|
13
|
+
* Every convention, Connector and Reference either path writes carries an `x_recipe` stamp in the
|
|
14
|
+
* same write. Exact-source unstamped References may be explicitly adopted without replacing content.
|
|
15
|
+
* `installedRecipes` retains its convention/Connector projection; Reference ownership is inspected
|
|
16
|
+
* through evolution's optional `reference_assets` rows.
|
|
15
17
|
*/
|
|
16
18
|
export { installRecipe, installedConnectorDocs, installedConventionDocs, isRecipeApplied, materializeRecipeForEdition, recipeDrifts, } from "./install.js";
|
|
17
19
|
export { applyRecipeEvolution, planRecipeEvolution } from "./evolution.js";
|