@superbee/core 0.2.0-pre.31 → 0.2.0-pre.33

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.
Files changed (120) hide show
  1. package/README.md +7 -0
  2. package/dist/backend.d.ts +3 -1
  3. package/dist/backend.d.ts.map +1 -1
  4. package/dist/backend.js +76 -8
  5. package/dist/backend.js.map +1 -1
  6. package/dist/bundle-health/report.d.ts +5 -0
  7. package/dist/bundle-health/report.d.ts.map +1 -1
  8. package/dist/bundle-health/report.js +17 -1
  9. package/dist/bundle-health/report.js.map +1 -1
  10. package/dist/bundle-ops.d.ts +1 -1
  11. package/dist/bundle-ops.d.ts.map +1 -1
  12. package/dist/bundle-ops.js +2 -2
  13. package/dist/bundle-ops.js.map +1 -1
  14. package/dist/connectors.d.ts +10 -0
  15. package/dist/connectors.d.ts.map +1 -1
  16. package/dist/connectors.js +13 -2
  17. package/dist/connectors.js.map +1 -1
  18. package/dist/document-mutation.d.ts +3 -0
  19. package/dist/document-mutation.d.ts.map +1 -1
  20. package/dist/document-mutation.js +24 -2
  21. package/dist/document-mutation.js.map +1 -1
  22. package/dist/engine.d.ts +3 -1
  23. package/dist/engine.d.ts.map +1 -1
  24. package/dist/engine.js +16 -4
  25. package/dist/engine.js.map +1 -1
  26. package/dist/filesystem-identity.d.ts +9 -7
  27. package/dist/filesystem-identity.d.ts.map +1 -1
  28. package/dist/filesystem-identity.js +58 -5
  29. package/dist/filesystem-identity.js.map +1 -1
  30. package/dist/index.d.ts +4 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +2 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/inventory-guard.d.ts +58 -0
  35. package/dist/inventory-guard.d.ts.map +1 -0
  36. package/dist/inventory-guard.js +169 -0
  37. package/dist/inventory-guard.js.map +1 -0
  38. package/dist/kind-authoring.d.ts.map +1 -1
  39. package/dist/kind-authoring.js +1 -0
  40. package/dist/kind-authoring.js.map +1 -1
  41. package/dist/kind-deprecation.d.ts +32 -0
  42. package/dist/kind-deprecation.d.ts.map +1 -0
  43. package/dist/kind-deprecation.js +141 -0
  44. package/dist/kind-deprecation.js.map +1 -0
  45. package/dist/kinds.d.ts +31 -1
  46. package/dist/kinds.d.ts.map +1 -1
  47. package/dist/kinds.js +13 -0
  48. package/dist/kinds.js.map +1 -1
  49. package/dist/link-types.d.ts +3 -2
  50. package/dist/link-types.d.ts.map +1 -1
  51. package/dist/link-types.js +6 -3
  52. package/dist/link-types.js.map +1 -1
  53. package/dist/memory-backend.d.ts +3 -0
  54. package/dist/memory-backend.d.ts.map +1 -1
  55. package/dist/memory-backend.js +38 -0
  56. package/dist/memory-backend.js.map +1 -1
  57. package/dist/okf-standard-fields.d.ts +3 -0
  58. package/dist/okf-standard-fields.d.ts.map +1 -1
  59. package/dist/okf-standard-fields.js +3 -0
  60. package/dist/okf-standard-fields.js.map +1 -1
  61. package/dist/recipe-lifecycle/evolution.d.ts +13 -1
  62. package/dist/recipe-lifecycle/evolution.d.ts.map +1 -1
  63. package/dist/recipe-lifecycle/evolution.js +88 -9
  64. package/dist/recipe-lifecycle/evolution.js.map +1 -1
  65. package/dist/recipe-lifecycle/index.d.ts +4 -0
  66. package/dist/recipe-lifecycle/index.d.ts.map +1 -1
  67. package/dist/recipe-lifecycle/index.js +2 -0
  68. package/dist/recipe-lifecycle/index.js.map +1 -1
  69. package/dist/recipe-lifecycle/install.d.ts.map +1 -1
  70. package/dist/recipe-lifecycle/install.js +11 -1
  71. package/dist/recipe-lifecycle/install.js.map +1 -1
  72. package/dist/recipe-lifecycle/retirement-apply.d.ts +59 -0
  73. package/dist/recipe-lifecycle/retirement-apply.d.ts.map +1 -0
  74. package/dist/recipe-lifecycle/retirement-apply.js +165 -0
  75. package/dist/recipe-lifecycle/retirement-apply.js.map +1 -0
  76. package/dist/recipe-lifecycle/retirement.d.ts +89 -0
  77. package/dist/recipe-lifecycle/retirement.d.ts.map +1 -0
  78. package/dist/recipe-lifecycle/retirement.js +347 -0
  79. package/dist/recipe-lifecycle/retirement.js.map +1 -0
  80. package/dist/record-overlay/index.d.ts +1 -1
  81. package/dist/record-overlay/index.d.ts.map +1 -1
  82. package/dist/record-overlay/index.js +1 -1
  83. package/dist/record-overlay/index.js.map +1 -1
  84. package/dist/record-overlay/policy.d.ts +5 -0
  85. package/dist/record-overlay/policy.d.ts.map +1 -1
  86. package/dist/record-overlay/policy.js +10 -3
  87. package/dist/record-overlay/policy.js.map +1 -1
  88. package/dist/source-engine/driver.d.ts +40 -0
  89. package/dist/source-engine/driver.d.ts.map +1 -0
  90. package/dist/source-engine/driver.js +392 -0
  91. package/dist/source-engine/driver.js.map +1 -0
  92. package/dist/source-engine/evidence.d.ts +39 -0
  93. package/dist/source-engine/evidence.d.ts.map +1 -0
  94. package/dist/source-engine/evidence.js +54 -0
  95. package/dist/source-engine/evidence.js.map +1 -0
  96. package/dist/source-engine/index.d.ts +7 -0
  97. package/dist/source-engine/index.d.ts.map +1 -1
  98. package/dist/source-engine/index.js +5 -0
  99. package/dist/source-engine/index.js.map +1 -1
  100. package/dist/source-engine/observe.d.ts +1 -9
  101. package/dist/source-engine/observe.d.ts.map +1 -1
  102. package/dist/source-engine/observe.js +14 -374
  103. package/dist/source-engine/observe.js.map +1 -1
  104. package/dist/source-engine/overlay.d.ts +2 -1
  105. package/dist/source-engine/overlay.d.ts.map +1 -1
  106. package/dist/source-engine/overlay.js +3 -3
  107. package/dist/source-engine/overlay.js.map +1 -1
  108. package/dist/source-engine/snapshot.d.ts +104 -0
  109. package/dist/source-engine/snapshot.d.ts.map +1 -0
  110. package/dist/source-engine/snapshot.js +240 -0
  111. package/dist/source-engine/snapshot.js.map +1 -0
  112. package/dist/source-profiles/index.d.ts +1 -1
  113. package/dist/source-profiles/index.js +1 -1
  114. package/dist/storage.d.ts +2 -0
  115. package/dist/storage.d.ts.map +1 -1
  116. package/dist/storage.js +1 -0
  117. package/dist/storage.js.map +1 -1
  118. package/dist/types.d.ts +2 -0
  119. package/dist/types.d.ts.map +1 -1
  120. package/package.json +1 -1
@@ -0,0 +1,347 @@
1
+ /** Read-only retirement evidence. No plan returned here is an instruction or token for mutation. */
2
+ import { backendFor, readBundleOkfVersion, readDocVersioned } from "../bundle-ops.js";
3
+ import { declaredBundleId, BUNDLE_NAME_DOC_ID } from "../dependencies.js";
4
+ import { parseMarkdown } from "../frontmatter.js";
5
+ import { buildKindRegistry, isConventionId, kindDeprecationProblems, parseConventionDoc, inspectKindDeprecatedUsage } from "../kinds.js";
6
+ import { isOkfRecord, okfValuesEqual } from "../okf-authored-values.js";
7
+ import { parseRecipeFiles } from "../recipes.js";
8
+ import { preflightRecipeSet, recipePreflightDigest } from "../recipe-set-preflight.js";
9
+ import { contentVersion } from "../versioning.js";
10
+ import { materializeRecipeForEdition, prepareRecipeInstall, sameInstalledDoc } from "./install.js";
11
+ import { planRecipeEvolution } from "./evolution.js";
12
+ import { conventionStampState, definitionDigest, readRecipeStamp, recipeSourceDigest } from "./stamp.js";
13
+ const compare = (a, b) => a < b ? -1 : a > b ? 1 : 0;
14
+ const sorted = (ids) => [...ids].sort(compare);
15
+ const record = (value) => isOkfRecord(value) ? value : {};
16
+ const own = (value, key) => Object.hasOwn(value, key) ? value[key] : undefined;
17
+ function put(target, key, value) {
18
+ Object.defineProperty(target, key, { value, enumerable: true, configurable: true, writable: true });
19
+ }
20
+ /** Restore only each approved omission for the existing additive engine to inspect every OTHER
21
+ * change. This comparison recipe is never returned as an apply plan or passed to an apply API. */
22
+ function restoreOmission(target, current, coordinate, name, value) {
23
+ const child = (parent, key) => {
24
+ const next = { ...record(own(parent, key)) };
25
+ put(parent, key, next);
26
+ return next;
27
+ };
28
+ const restoreMap = (parent, key, previous, field) => {
29
+ const old = record(previous);
30
+ if (!Object.hasOwn(old, field))
31
+ return;
32
+ const next = child(parent, key);
33
+ if (!Object.hasOwn(next, field))
34
+ put(next, field, structuredClone(old[field]));
35
+ };
36
+ const append = (parent, key, entry) => {
37
+ const list = own(parent, key);
38
+ put(parent, key, [...(Array.isArray(list) ? list : []), structuredClone(entry)]);
39
+ };
40
+ const currentFields = record(current.frontmatter.fields);
41
+ const fields = child(target.frontmatter, "fields");
42
+ const deprecated = child(target.frontmatter, "deprecated");
43
+ if (coordinate === "field") {
44
+ append(fields, "optional", name);
45
+ for (const key of ["values", "types", "descriptions", "value_descriptions"])
46
+ restoreMap(fields, key, own(currentFields, key), name);
47
+ append(deprecated, "fields", name);
48
+ restoreMap(deprecated, "values", record(current.frontmatter.deprecated).values, name);
49
+ }
50
+ else if (coordinate === "value") {
51
+ const values = child(fields, "values");
52
+ const original = own(record(currentFields.values), name);
53
+ const member = Array.isArray(original) ? original.find(v => String(v) === value) : value;
54
+ append(values, name, member);
55
+ const descriptions = record(own(record(currentFields.value_descriptions), name));
56
+ if (Object.hasOwn(descriptions, value))
57
+ restoreMap(child(fields, "value_descriptions"), name, descriptions, value);
58
+ append(child(deprecated, "values"), name, value);
59
+ }
60
+ else {
61
+ restoreMap(target.frontmatter, "links", current.frontmatter.links, name);
62
+ restoreMap(target.frontmatter, "link_descriptions", current.frontmatter.link_descriptions, name);
63
+ append(deprecated, "links", name);
64
+ }
65
+ }
66
+ function candidateOwned(prepared) {
67
+ return [...prepared.docs, ...prepared.connectors.map(c => c.doc), ...prepared.references.map(r => r.doc)];
68
+ }
69
+ /** Optional supplied evidence is evaluated by the existing preflight, then bound to THIS source
70
+ * and this observed local store. A plausible but unrelated preflight cannot certify this report. */
71
+ async function consumersFor(supplied, present, source, prepared, snapshots, local) {
72
+ const out = { status: "unassessed", scope: "supplied-declared-structural-only", model: "final-selected-source-hypothesis", binding_issues: [],
73
+ unsupported_semantics: ["enum-value-compatibility", "type-compatibility", "write-intent-compatibility"] };
74
+ if (!present)
75
+ return out;
76
+ const issue = (level, code, at) => { out.binding_issues.push({ level, code, at }); };
77
+ out.result = await preflightRecipeSet(supplied);
78
+ try {
79
+ out.evidence_digest = recipePreflightDigest(supplied);
80
+ }
81
+ catch {
82
+ issue("refused", "RETIREMENT_EVIDENCE_SHAPE", "input");
83
+ }
84
+ if (out.result.issues.some(i => i.code === "INPUT_SHAPE")) {
85
+ out.status = "refused";
86
+ return out;
87
+ }
88
+ const input = supplied;
89
+ if (!prepared || local.okf_version !== "0.2")
90
+ issue("partial", "RETIREMENT_PREFLIGHT_EDITION_UNSUPPORTED", local.okf_version);
91
+ if (!local.complete)
92
+ issue("partial", "RETIREMENT_LOCAL_INVENTORY_UNKNOWN", "local");
93
+ const providers = input.selected.filter(s => s.recipeId === source.id && s.release === source.version);
94
+ if (providers.length !== 1)
95
+ issue("refused", "RETIREMENT_CANDIDATE_PROVIDER", source.id);
96
+ const provider = providers[0];
97
+ if (provider && !provider.artifact)
98
+ issue("partial", "RETIREMENT_CANDIDATE_ARTIFACT_UNAVAILABLE", provider.key);
99
+ else if (provider?.artifact) {
100
+ const parsed = parseRecipeFiles(provider.artifact.files, "retirement:supplied-candidate", { okfVersion: "0.2" });
101
+ if (!parsed.ok || recipeSourceDigest(parsed.recipe) !== recipeSourceDigest(source))
102
+ issue("refused", "RETIREMENT_CANDIDATE_SOURCE_MISMATCH", provider.key);
103
+ }
104
+ if (provider && prepared) {
105
+ const observations = input.observations.filter(o => o.provider === provider.key && o.scope === "local");
106
+ if (observations.length !== 1)
107
+ issue(observations.length ? "refused" : "partial", "RETIREMENT_CANDIDATE_OBSERVATION", provider.key);
108
+ for (const observed of observations) {
109
+ if (observed.availability !== "available" || !observed.complete) {
110
+ issue("partial", "RETIREMENT_CANDIDATE_OBSERVATION_UNKNOWN", observed.id);
111
+ continue;
112
+ }
113
+ const expected = candidateOwned(prepared);
114
+ if (!okfValuesEqual(sorted(observed.definitions.map(d => d.id)), sorted(expected.map(d => d.id))))
115
+ issue("refused", "RETIREMENT_CANDIDATE_DEFINITION_SET", observed.id);
116
+ for (const def of observed.definitions) {
117
+ const wanted = expected.find(d => d.id === def.id);
118
+ try {
119
+ const actual = { id: def.id, ...parseMarkdown(def.bytes, def.id, { okfVersion: "0.2" }) };
120
+ if (!wanted || definitionDigest(actual) !== definitionDigest(wanted))
121
+ issue("refused", "RETIREMENT_CANDIDATE_DEFINITION", `${observed.id}:${def.id}`);
122
+ }
123
+ catch {
124
+ issue("refused", "RETIREMENT_CANDIDATE_DEFINITION", `${observed.id}:${def.id}`);
125
+ }
126
+ }
127
+ }
128
+ const expected = new Map([...snapshots].map(([id, read]) => [`${id}.md`, read.doc]));
129
+ for (const doc of [...candidateOwned(prepared), ...prepared.pages.map(p => p.registry)])
130
+ expected.set(`${doc.id}.md`, doc);
131
+ const placements = (input.placementInventories ?? []).filter(p => p.scope === "local");
132
+ if (placements.length !== 1)
133
+ issue(placements.length ? "refused" : "partial", "RETIREMENT_LOCAL_PLACEMENT", "local");
134
+ for (const placement of placements) {
135
+ if (placement.availability !== "available" || !placement.complete)
136
+ issue("partial", "RETIREMENT_LOCAL_PLACEMENT_UNKNOWN", placement.id);
137
+ const docs = placement.files.filter(f => f.path.endsWith(".md"));
138
+ if (!okfValuesEqual(sorted(docs.map(f => f.path)), sorted([...expected.keys()])))
139
+ issue("refused", "RETIREMENT_LOCAL_PLACEMENT_SET", placement.id);
140
+ for (const file of docs) {
141
+ const wanted = expected.get(file.path);
142
+ try {
143
+ const actual = { id: file.path.slice(0, -3), ...parseMarkdown(file.bytes, undefined, { okfVersion: "0.2" }) };
144
+ const candidate = candidateOwned(prepared).some(d => `${d.id}.md` === file.path);
145
+ if (!wanted || (candidate ? !sameInstalledDoc(actual, wanted, "0.2") : contentVersion(actual) !== contentVersion(wanted)))
146
+ issue("refused", "RETIREMENT_LOCAL_PLACEMENT_CONTENT", file.path);
147
+ }
148
+ catch {
149
+ issue("refused", "RETIREMENT_LOCAL_PLACEMENT_CONTENT", file.path);
150
+ }
151
+ }
152
+ // Concept inventory does not establish ordinary blob bytes. Preserve that missing scope.
153
+ if (placement.files.some(f => !f.path.endsWith(".md")))
154
+ issue("partial", "RETIREMENT_BLOB_BINDING_UNSUPPORTED", placement.id);
155
+ }
156
+ }
157
+ for (const row of [...input.observations, ...(input.placementInventories ?? [])].filter(row => row.scope === "local")) {
158
+ if (!row.observedVersion)
159
+ issue("partial", "RETIREMENT_OBSERVATION_VERSION_UNKNOWN", row.id);
160
+ else if (row.observedVersion !== local.observation_digest)
161
+ issue("refused", "RETIREMENT_OBSERVATION_VERSION_MISMATCH", row.id);
162
+ if (row.bundleId && row.bundleId !== local.bundle_id)
163
+ issue("refused", "RETIREMENT_BUNDLE_IDENTITY", row.id);
164
+ }
165
+ out.binding_issues.sort((a, b) => compare(JSON.stringify(a), JSON.stringify(b)));
166
+ out.status = out.result.verdict === "refused" || out.binding_issues.some(i => i.level === "refused") ? "refused"
167
+ : out.result.verdict === "partial" || out.binding_issues.length ? "partial" : input.consumers.length ? "valid" : "unassessed";
168
+ return out;
169
+ }
170
+ export async function prepareRecipeDeclarationRetirement(bundle, recipe, options = {}) {
171
+ const source = structuredClone(recipe);
172
+ const backend = backendFor(bundle), selected = { root: bundle.root, backend };
173
+ const evidencePresent = Object.hasOwn(options, "consumerEvidence");
174
+ let evidence = options.consumerEvidence;
175
+ try {
176
+ if (evidencePresent)
177
+ evidence = structuredClone(evidence);
178
+ }
179
+ catch { /* Existing preflight returns the shape refusal. */ }
180
+ const issues = [], blockers = [];
181
+ const snapshots = new Map();
182
+ const inventory = [];
183
+ let initial = [], final = [], indexVersion = null, edition = "0.1";
184
+ const unknown = (code, id, error) => { issues.push({ code, id, message: error instanceof Error ? error.message : String(error) }); };
185
+ try {
186
+ indexVersion = (await backend.readReserved("", "index.md"))?.version ?? null;
187
+ edition = await readBundleOkfVersion(selected) ?? "0.1";
188
+ }
189
+ catch (error) {
190
+ unknown("RETIREMENT_EDITION_UNREADABLE", "index.md", error);
191
+ }
192
+ try {
193
+ initial = sorted(await backend.list());
194
+ }
195
+ catch (error) {
196
+ unknown("RETIREMENT_INVENTORY_UNAVAILABLE", "*", error);
197
+ }
198
+ if (new Set(initial).size !== initial.length)
199
+ unknown("RETIREMENT_INVENTORY_AMBIGUOUS", "*", "duplicate concept IDs");
200
+ for (const id of [...new Set(initial)]) {
201
+ try {
202
+ const read = await readDocVersioned(selected, id);
203
+ if (read.doc.id !== id || typeof read.version !== "string" || !read.version)
204
+ throw new Error("backend returned an invalid concept identity/version");
205
+ snapshots.set(id, read);
206
+ inventory.push({ id, version: read.version });
207
+ }
208
+ catch (error) {
209
+ inventory.push({ id, version: null });
210
+ unknown("RETIREMENT_CONCEPT_UNREADABLE", id, error);
211
+ }
212
+ }
213
+ const currentDocs = [...snapshots.values()].map(r => r.doc);
214
+ const registry = buildKindRegistry(currentDocs.filter(d => isConventionId(d.id) && d.frontmatter.type === "Convention"), [], { okfVersion: edition });
215
+ for (const warning of registry.warnings)
216
+ blockers.push({ code: warning.code, id: "conventions/", message: warning.message, ...(warning.field ? { field: warning.field } : {}) });
217
+ const declarations = [];
218
+ let prepared;
219
+ try {
220
+ if (edition !== "0.1" && edition !== "0.2")
221
+ throw new Error(`unsupported bundle edition '${edition}'`);
222
+ prepared = prepareRecipeInstall(source, { okfVersion: edition, now: "1970-01-01T00:00:00.000Z" });
223
+ const comparison = materializeRecipeForEdition(structuredClone(source), edition);
224
+ const proposed = buildKindRegistry(prepared.docs, [], { okfVersion: edition });
225
+ for (const warning of proposed.warnings)
226
+ blockers.push({ code: warning.code, id: source.id, message: warning.message, ...(warning.field ? { field: warning.field } : {}) });
227
+ for (const target of comparison.docs) {
228
+ const installed = snapshots.get(target.id), current = installed?.doc;
229
+ const next = parseConventionDoc(target, { okfVersion: edition });
230
+ if (!current || !installed || !next.ok) {
231
+ blockers.push({ code: "RETIREMENT_DEFINITION_UNAVAILABLE", id: target.id, message: "retirement requires a readable installed and proposed convention" });
232
+ continue;
233
+ }
234
+ const parsed = parseConventionDoc(current, { okfVersion: edition });
235
+ if (!parsed.ok || current.frontmatter.type !== "Convention" || parsed.kind.governs !== next.kind.governs) {
236
+ blockers.push({ code: "RETIREMENT_DEFINITION_IDENTITY", id: target.id, message: "installed and proposed convention identities differ" });
237
+ continue;
238
+ }
239
+ const kind = parsed.kind;
240
+ if (readRecipeStamp(current)?.id !== source.id || conventionStampState(current) !== "current") {
241
+ blockers.push({ code: "RETIREMENT_OWNERSHIP_UNPROVEN", id: target.id, message: "an unchanged readable same-recipe ownership stamp is required" });
242
+ continue;
243
+ }
244
+ if (kindDeprecationProblems(kind, registry).length)
245
+ continue;
246
+ const retiredFields = new Set();
247
+ const add = (coordinate, name, value) => {
248
+ const candidate = { definition: target.id, kind: kind.governs, coordinate, name, ...(value === undefined ? {} : { value }), installed_version: installed.version,
249
+ proposed_definition_digest: definitionDigest(prepared.docs.find(d => d.id === target.id)), usage: [] };
250
+ for (const doc of currentDocs.filter(d => d.frontmatter.type === kind.governs)) {
251
+ for (const row of inspectKindDeprecatedUsage(doc, kind)) {
252
+ if (row.field !== name || row.code !== (coordinate === "field" ? "KIND_DEPRECATED_FIELD" : coordinate === "value" ? "KIND_DEPRECATED_VALUE" : "KIND_DEPRECATED_LINK"))
253
+ continue;
254
+ if (coordinate === "value" && row.value !== value)
255
+ continue;
256
+ candidate.usage.push({ id: doc.id, count: row.count, ...(row.unknown ? { unknown: true } : {}) });
257
+ }
258
+ }
259
+ declarations.push(candidate);
260
+ restoreOmission(target, current, coordinate, name, value);
261
+ };
262
+ const desiredFields = new Set([...next.kind.fields.required, ...next.kind.fields.optional]);
263
+ for (const name of kind.fields.optional)
264
+ if (!desiredFields.has(name) && kind.deprecated?.fields.includes(name)) {
265
+ if (Object.hasOwn(kind.fields.terminal, name) && kind.fields.terminal[name].length) {
266
+ blockers.push({ code: "RETIREMENT_TERMINAL_CHANGE_UNSUPPORTED", id: target.id, field: name, message: "terminal coordinates require a separate migration" });
267
+ continue;
268
+ }
269
+ retiredFields.add(name);
270
+ add("field", name);
271
+ }
272
+ for (const [name, values] of Object.entries(kind.fields.values))
273
+ if (!retiredFields.has(name)) {
274
+ const remaining = Object.hasOwn(next.kind.fields.values, name) ? next.kind.fields.values[name] : undefined;
275
+ if (!remaining)
276
+ continue; // Whole vocabulary removal remains the additive owner's unsupported omission.
277
+ const deprecatedValues = kind.deprecated && Object.hasOwn(kind.deprecated.values, name) ? kind.deprecated.values[name] : [];
278
+ for (const value of values)
279
+ if (!remaining.includes(value) && deprecatedValues.includes(value))
280
+ add("value", name, value);
281
+ }
282
+ for (const name of Object.keys(kind.links ?? {}))
283
+ if (!Object.hasOwn(next.kind.links ?? {}, name) && kind.deprecated?.links.includes(name))
284
+ add("link", name);
285
+ const restored = parseConventionDoc(target, { okfVersion: edition });
286
+ if (restored.ok)
287
+ for (const [field, before, after] of [
288
+ ["fields.types", kind.fields.types ?? {}, restored.kind.fields.types ?? {}],
289
+ ["fields.required", sorted(kind.fields.required), sorted(restored.kind.fields.required)],
290
+ ["fields.terminal", kind.fields.terminal, restored.kind.fields.terminal], ["claim", kind.claim ?? {}, restored.kind.claim ?? {}],
291
+ ["sections", kind.sections ?? [], restored.kind.sections ?? []],
292
+ ])
293
+ if (!okfValuesEqual(before, after))
294
+ blockers.push({ code: "RETIREMENT_MIGRATION_UNSUPPORTED", id: target.id, field, message: "retirement inspection does not authorize unrelated type, required, terminal or claim migrations" });
295
+ }
296
+ for (const doc of currentDocs.filter(d => isConventionId(d.id) && readRecipeStamp(d)?.id === source.id)) {
297
+ if (!comparison.docs.some(d => d.id === doc.id))
298
+ blockers.push({ code: "RETIREMENT_DEFINITION_OMISSION_UNSUPPORTED", id: doc.id, message: "whole convention removal is not declaration retirement" });
299
+ }
300
+ // Existing evolution owns all non-retirement omissions, replacements, source warnings and instance validation.
301
+ const compatibility = await planRecipeEvolution(selected, comparison);
302
+ blockers.push(...compatibility.blockers);
303
+ }
304
+ catch (error) {
305
+ blockers.push({ code: "RETIREMENT_SOURCE_UNVERIFIABLE", id: source.id, message: error instanceof Error ? error.message : String(error) });
306
+ }
307
+ try {
308
+ final = sorted(await backend.list());
309
+ if (!okfValuesEqual(initial, final))
310
+ unknown("RETIREMENT_INVENTORY_CHANGED", "*", "concept membership changed while scanning");
311
+ for (const row of inventory)
312
+ if (row.version !== null) {
313
+ try {
314
+ if ((await readDocVersioned(selected, row.id)).version !== row.version)
315
+ unknown("RETIREMENT_CONCEPT_CHANGED", row.id, "concept version changed while scanning");
316
+ }
317
+ catch (error) {
318
+ unknown("RETIREMENT_CONCEPT_CHANGED", row.id, error);
319
+ }
320
+ }
321
+ if (((await backend.readReserved("", "index.md"))?.version ?? null) !== indexVersion)
322
+ unknown("RETIREMENT_EDITION_CHANGED", "index.md", "root index changed while scanning");
323
+ }
324
+ catch (error) {
325
+ unknown("RETIREMENT_INVENTORY_UNVERIFIABLE", "*", error);
326
+ }
327
+ issues.sort((a, b) => compare(JSON.stringify(a), JSON.stringify(b)));
328
+ blockers.sort((a, b) => compare(JSON.stringify(a), JSON.stringify(b)));
329
+ const bundleId = declaredBundleId(snapshots.get(BUNDLE_NAME_DOC_ID)?.doc);
330
+ const complete = issues.length === 0;
331
+ const localBase = { complete, consistency: "observed-stable-reads-not-an-atomic-snapshot", target_root: selected.root,
332
+ ...(bundleId ? { bundle_id: bundleId } : {}), okf_version: edition, root_index_version: indexVersion, initial_ids: initial, final_ids: final, inventory, issues };
333
+ const local = { ...localBase,
334
+ verdict: declarations.some(d => d.usage.some(u => !u.unknown)) ? "used" : !complete || blockers.length > 0 || declarations.some(d => d.usage.some(u => u.unknown)) ? "unknown" : "complete-clean",
335
+ observation_digest: recipePreflightDigest(localBase) };
336
+ const consumers = await consumersFor(evidence, evidencePresent, source, prepared, snapshots, local);
337
+ const report = { recipe: "declaration retirement inspection", id: source.id, version: source.version, source: source.source, source_digest: recipeSourceDigest(source),
338
+ scope: "observed-local-concepts-and-supplied-structural-consumers", can_apply: false, apply_blocker: "RETIREMENT_APPLY_NOT_IMPLEMENTED",
339
+ analysis: blockers.length || consumers.status === "refused" ? "refused" : !complete || local.verdict === "unknown" || consumers.status === "partial" ? "partial" : "complete",
340
+ declarations, blockers, local, consumers, external_consumers: "unknown-unenumerated-offline-and-arbitrary-code",
341
+ proposed_definitions: (prepared ? candidateOwned(prepared) : []).map(doc => ({ id: doc.id, definition_digest: definitionDigest(doc), hypothetical_content_version: contentVersion(doc) })) };
342
+ return { report, source, ...(prepared ? { installation: prepared } : {}), snapshots, bundle: selected };
343
+ }
344
+ export async function planRecipeDeclarationRetirement(bundle, source, options = {}) {
345
+ return (await prepareRecipeDeclarationRetirement(bundle, source, options)).report;
346
+ }
347
+ //# sourceMappingURL=retirement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retirement.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/retirement.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  * correlation, `sources` properties, site candidate rules and derived fields. Storage-neutral: no
13
13
  * Node globals or builtins.
14
14
  */
15
- export { DEFAULT_AUTO_APPLY, DEFAULT_NEEDS_REVIEW, NEVER_OWNED, decideChange, gateSafeValue, isExcludedRecord, readOverlayPolicy, } from "./policy.js";
15
+ export { DEFAULT_AUTO_APPLY, DEFAULT_NEEDS_REVIEW, NEVER_OWNED, decideChange, gateSafeValue, isExcludedRecord, readOverlayPolicy, readOverlayPolicyForResource, } from "./policy.js";
16
16
  export { disappearedPhase, planRecordOverlay, summarizeChange } from "./plan.js";
17
17
  export { FINDING_CHANGE_KIND, findingDigest, planFindings } from "./findings.js";
18
18
  export { applyRecordOverlay, composeGuards, ownershipGuard } from "./apply.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/record-overlay/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,IAAI,EACJ,QAAQ,GACT,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/record-overlay/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACnF,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EACV,YAAY,EACZ,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,IAAI,EACJ,QAAQ,GACT,MAAM,YAAY,CAAC"}
@@ -12,7 +12,7 @@
12
12
  * correlation, `sources` properties, site candidate rules and derived fields. Storage-neutral: no
13
13
  * Node globals or builtins.
14
14
  */
15
- export { DEFAULT_AUTO_APPLY, DEFAULT_NEEDS_REVIEW, NEVER_OWNED, decideChange, gateSafeValue, isExcludedRecord, readOverlayPolicy, } from "./policy.js";
15
+ export { DEFAULT_AUTO_APPLY, DEFAULT_NEEDS_REVIEW, NEVER_OWNED, decideChange, gateSafeValue, isExcludedRecord, readOverlayPolicy, readOverlayPolicyForResource, } from "./policy.js";
16
16
  export { disappearedPhase, planRecordOverlay, summarizeChange } from "./plan.js";
17
17
  export { FINDING_CHANGE_KIND, findingDigest, planFindings } from "./findings.js";
18
18
  export { applyRecordOverlay, composeGuards, ownershipGuard } from "./apply.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/record-overlay/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/record-overlay/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -29,6 +29,11 @@ export declare function readOverlayPolicy(doc: {
29
29
  id: ConceptId;
30
30
  frontmatter: Frontmatter;
31
31
  }, ctx?: PolicyContext): OverlayPolicy;
32
+ /** Read the same field policy at an explicit identity coordinate, without a transport URL. */
33
+ export declare function readOverlayPolicyForResource(doc: {
34
+ id: ConceptId;
35
+ frontmatter: Frontmatter;
36
+ }, resource: string, ctx?: PolicyContext): OverlayPolicy;
32
37
  /**
33
38
  * Whether a record is editorially excluded: its title matches `exclude`, or its source id (or, for
34
39
  * a recurrence occurrence `<series id>#<date>`, its series id) is in `exclude_ids`. Excluded records
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/record-overlay/policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAiE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACjH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE7G,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAA+B,CAAC;AAChF,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAAsE,CAAC;AACzH,kGAAkG;AAClG,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAE1C,CAAC;AAEH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAInH;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,CAI7F;AAUD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,EAAE,GAAG,GAAE,aAAkB,GAAG,aAAa,CA8C1H;AASD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAO/G;AAGD,eAAO,MAAM,QAAQ,GAAI,MAAM,OAAO,KAAG,MAAuC,CAAC;AAEjF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,CAAqF,CAAC;AAElI;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,EACpB,EAAE,OAAc,EAAE,QAAgB,EAAE,QAAQ,EAAE,GAAE;IAAE,OAAO,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAO,GAC1J,cAAc,CAgDhB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,QAAQ,GAAE,QAAuB,GAChC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,CAiBhD"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/record-overlay/policy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAiE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACjH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE7G,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAA+B,CAAC;AAChF,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAAsE,CAAC;AACzH,kGAAkG;AAClG,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,MAAM,CAE1C,CAAC;AAEH;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAInH;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,GAAG,MAAM,EAAE,CAI7F;AAUD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,EAAE,GAAG,GAAE,aAAkB,GAAG,aAAa,CAE1H;AAED,8FAA8F;AAC9F,wBAAgB,4BAA4B,CAAC,GAAG,EAAE;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,aAAkB,GAAG,aAAa,CAEvJ;AAyDD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAO/G;AAGD,eAAO,MAAM,QAAQ,GAAI,MAAM,OAAO,KAAG,MAAuC,CAAC;AAEjF,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,CAAqF,CAAC;AAElI;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,YAAY,EACpB,EAAE,OAAc,EAAE,QAAgB,EAAE,QAAQ,EAAE,GAAE;IAAE,OAAO,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;CAAO,GAC1J,cAAc,CAgDhB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,QAAQ,GAAE,QAAuB,GAChC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,IAAI,EAAE,CAAA;CAAE,CAiBhD"}
@@ -44,6 +44,13 @@ const identityGate = (text) => ({ text, ok: true, tells: [], changed: false });
44
44
  * Condition's `status`) are plain record fields there, and its policy carries no `target_kind`.
45
45
  */
46
46
  export function readOverlayPolicy(doc, ctx = {}) {
47
+ return policyAt(doc, doc.frontmatter?.url, ctx, "url");
48
+ }
49
+ /** Read the same field policy at an explicit identity coordinate, without a transport URL. */
50
+ export function readOverlayPolicyForResource(doc, resource, ctx = {}) {
51
+ return policyAt(doc, resource, ctx, "resource");
52
+ }
53
+ function policyAt(doc, resource, ctx, coordinateKey) {
47
54
  const fm = (doc.frontmatter ?? {});
48
55
  const refuse = (message, details = {}) => {
49
56
  throw new OverlayRefusal(REFUSAL_CODES.POLICY_INVALID, `${doc.id}: ${message}`, { feed: doc.id, ...details });
@@ -79,14 +86,14 @@ export function readOverlayPolicy(doc, ctx = {}) {
79
86
  const threshold = fm.missing_threshold === undefined || fm.missing_threshold === null ? undefined : Number(fm.missing_threshold);
80
87
  if (threshold !== undefined && !(Number.isInteger(threshold) && threshold >= 1))
81
88
  refuse("missing_threshold must be a whole number >= 1", { key: "missing_threshold" });
82
- if (typeof fm.url !== "string" || !fm.url)
83
- refuse("url (provider identity) is required", { key: "url" });
89
+ if (typeof resource !== "string" || !resource)
90
+ refuse(`${coordinateKey} (provider identity) is required`, { key: coordinateKey });
84
91
  const zone = fm.wall_time_zone === undefined || fm.wall_time_zone === null ? undefined : String(fm.wall_time_zone).trim();
85
92
  const targetKind = !presentation && typeof fm.target_kind === "string" && fm.target_kind ? fm.target_kind : undefined;
86
93
  const listFields = declaredListFields(ctx.targetKind);
87
94
  return {
88
95
  feed: doc.id,
89
- provider: fm.url,
96
+ provider: resource,
90
97
  ...(targetKind ? { target_kind: targetKind } : {}),
91
98
  owned_fields: ownedFields,
92
99
  auto_apply: list(fm.auto_apply) ?? [...DEFAULT_AUTO_APPLY],
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/record-overlay/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/record-overlay/policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /** Internal observation owner shared by network and finite acquisition wrappers. */
2
+ import { type BoundFeed } from "../connectors.js";
3
+ import type { Finding } from "../record-overlay/types.js";
4
+ import { type Stop } from "./guard.js";
5
+ import type { MachineState, SourceState } from "./machine-state.js";
6
+ import type { CommitResult, PageCommit, SourceRunReceipt } from "./types.js";
7
+ export declare const DEFAULT_MISSING_THRESHOLD = 2;
8
+ export declare const MAX_CURSOR_CHARS = 8192;
9
+ export declare const MAX_REPLAY_FAILURES = 5;
10
+ export declare const UNSUPPORTED_CONTENT = "SOURCE_UNSUPPORTED_CONTENT";
11
+ /** JSON data only: finite numbers, plain objects and arrays, no undefined members. */
12
+ export declare function isJsonData(value: unknown, depth?: number): boolean;
13
+ interface DriverOptions {
14
+ bound: BoundFeed;
15
+ state: MachineState;
16
+ initial: SourceState;
17
+ version: string | null;
18
+ receipt: SourceRunReceipt;
19
+ observedAt: string;
20
+ mode: "incremental" | "complete";
21
+ resumed: boolean;
22
+ signal: AbortSignal;
23
+ pages: number;
24
+ /** Replay admission ends after pending work, without manufacturing an observation page. */
25
+ replayOnly?: boolean;
26
+ acquire(input: {
27
+ cursor: unknown;
28
+ resumed: boolean;
29
+ mode: "incremental" | "complete";
30
+ validators: Readonly<Record<string, string>> | null;
31
+ }): Promise<unknown>;
32
+ stopped?(): Stop | undefined;
33
+ lastUrl?(): string | undefined;
34
+ stop(stop: Stop, url?: string): void;
35
+ extraFindings: Finding[];
36
+ commit(page: PageCommit): Promise<CommitResult | void>;
37
+ }
38
+ export declare function driveObservation(options: DriverOptions): Promise<void>;
39
+ export {};
40
+ //# sourceMappingURL=driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../src/source-engine/driver.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,OAAO,EAA4B,KAAK,SAAS,EAA0B,MAAM,kBAAkB,CAAC;AAEpG,OAAO,KAAK,EAAE,OAAO,EAAgB,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAA8B,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,KAAK,EAAE,YAAY,EAAe,UAAU,EAAqB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7G,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAMhE,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO,CAU7D;AAiGD,UAAU,aAAa;IACrB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,aAAa,GAAG,UAAU,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,2FAA2F;IAC3F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,aAAa,GAAG,UAAU,CAAC;QAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/J,OAAO,CAAC,IAAI,IAAI,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,IAAI,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CACxD;AACD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0N5E"}