@superbee/core 0.2.0-pre.15 → 0.2.0-pre.16

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 (141) hide show
  1. package/README.md +213 -0
  2. package/dist/backend.d.ts +3 -0
  3. package/dist/backend.d.ts.map +1 -1
  4. package/dist/backend.js +7 -0
  5. package/dist/backend.js.map +1 -1
  6. package/dist/blob-contract.d.ts +80 -0
  7. package/dist/blob-contract.d.ts.map +1 -0
  8. package/dist/blob-contract.js +131 -0
  9. package/dist/blob-contract.js.map +1 -0
  10. package/dist/blob-journal.d.ts +117 -0
  11. package/dist/blob-journal.d.ts.map +1 -0
  12. package/dist/blob-journal.js +168 -0
  13. package/dist/blob-journal.js.map +1 -0
  14. package/dist/engine.d.ts +1 -1
  15. package/dist/engine.d.ts.map +1 -1
  16. package/dist/engine.js.map +1 -1
  17. package/dist/file-journaled-backend-internal.d.ts +2 -0
  18. package/dist/file-journaled-backend-internal.d.ts.map +1 -1
  19. package/dist/file-journaled-backend-internal.js +2 -0
  20. package/dist/file-journaled-backend-internal.js.map +1 -1
  21. package/dist/file-journaled-backend.d.ts +14 -2
  22. package/dist/file-journaled-backend.d.ts.map +1 -1
  23. package/dist/file-journaled-backend.js +245 -37
  24. package/dist/file-journaled-backend.js.map +1 -1
  25. package/dist/hosted-client/binding.d.ts +7 -0
  26. package/dist/hosted-client/binding.d.ts.map +1 -0
  27. package/dist/hosted-client/binding.js +10 -0
  28. package/dist/hosted-client/binding.js.map +1 -0
  29. package/dist/hosted-client/blob-delivery.d.ts +61 -0
  30. package/dist/hosted-client/blob-delivery.d.ts.map +1 -0
  31. package/dist/hosted-client/blob-delivery.js +147 -0
  32. package/dist/hosted-client/blob-delivery.js.map +1 -0
  33. package/dist/hosted-client/bundle-listing.d.ts +46 -0
  34. package/dist/hosted-client/bundle-listing.d.ts.map +1 -0
  35. package/dist/hosted-client/bundle-listing.js +36 -0
  36. package/dist/hosted-client/bundle-listing.js.map +1 -0
  37. package/dist/hosted-client/client.d.ts +155 -0
  38. package/dist/hosted-client/client.d.ts.map +1 -0
  39. package/dist/hosted-client/client.js +278 -0
  40. package/dist/hosted-client/client.js.map +1 -0
  41. package/dist/hosted-client/errors.d.ts +16 -0
  42. package/dist/hosted-client/errors.d.ts.map +1 -0
  43. package/dist/hosted-client/errors.js +22 -0
  44. package/dist/hosted-client/errors.js.map +1 -0
  45. package/dist/hosted-client/index.d.ts +23 -0
  46. package/dist/hosted-client/index.d.ts.map +1 -0
  47. package/dist/hosted-client/index.js +25 -0
  48. package/dist/hosted-client/index.js.map +1 -0
  49. package/dist/hosted-client/node.d.ts +70 -0
  50. package/dist/hosted-client/node.d.ts.map +1 -0
  51. package/dist/hosted-client/node.js +214 -0
  52. package/dist/hosted-client/node.js.map +1 -0
  53. package/dist/hosted-client/reference.d.ts +12 -0
  54. package/dist/hosted-client/reference.d.ts.map +1 -0
  55. package/dist/hosted-client/reference.js +29 -0
  56. package/dist/hosted-client/reference.js.map +1 -0
  57. package/dist/hosted-client/write.d.ts +191 -0
  58. package/dist/hosted-client/write.d.ts.map +1 -0
  59. package/dist/hosted-client/write.js +396 -0
  60. package/dist/hosted-client/write.js.map +1 -0
  61. package/dist/hosted-transport/answer-rows.d.ts +26 -0
  62. package/dist/hosted-transport/answer-rows.d.ts.map +1 -1
  63. package/dist/hosted-transport/answer-rows.js +59 -1
  64. package/dist/hosted-transport/answer-rows.js.map +1 -1
  65. package/dist/hosted-transport/blob-reads.d.ts +35 -0
  66. package/dist/hosted-transport/blob-reads.d.ts.map +1 -0
  67. package/dist/hosted-transport/blob-reads.js +179 -0
  68. package/dist/hosted-transport/blob-reads.js.map +1 -0
  69. package/dist/hosted-transport/blob-write.d.ts +34 -0
  70. package/dist/hosted-transport/blob-write.d.ts.map +1 -0
  71. package/dist/hosted-transport/blob-write.js +115 -0
  72. package/dist/hosted-transport/blob-write.js.map +1 -0
  73. package/dist/hosted-transport/carrier.d.ts +8 -9
  74. package/dist/hosted-transport/carrier.d.ts.map +1 -1
  75. package/dist/hosted-transport/carrier.js +40 -41
  76. package/dist/hosted-transport/carrier.js.map +1 -1
  77. package/dist/hosted-transport/index.d.ts +4 -4
  78. package/dist/hosted-transport/index.d.ts.map +1 -1
  79. package/dist/hosted-transport/index.js +4 -4
  80. package/dist/hosted-transport/index.js.map +1 -1
  81. package/dist/hosted-transport/read-adapter.d.ts +6 -0
  82. package/dist/hosted-transport/read-adapter.d.ts.map +1 -1
  83. package/dist/hosted-transport/read-adapter.js +11 -0
  84. package/dist/hosted-transport/read-adapter.js.map +1 -1
  85. package/dist/index.d.ts +3 -1
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +4 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/journaled-backend.d.ts +10 -2
  90. package/dist/journaled-backend.d.ts.map +1 -1
  91. package/dist/journaled-backend.js +3 -3
  92. package/dist/journaled-backend.js.map +1 -1
  93. package/dist/link-types.d.ts +26 -0
  94. package/dist/link-types.d.ts.map +1 -0
  95. package/dist/link-types.js +57 -0
  96. package/dist/link-types.js.map +1 -0
  97. package/dist/platform.d.ts +4 -0
  98. package/dist/platform.d.ts.map +1 -1
  99. package/dist/platform.js +16 -0
  100. package/dist/platform.js.map +1 -1
  101. package/dist/recipe-lifecycle/errors.d.ts +77 -0
  102. package/dist/recipe-lifecycle/errors.d.ts.map +1 -0
  103. package/dist/recipe-lifecycle/errors.js +96 -0
  104. package/dist/recipe-lifecycle/errors.js.map +1 -0
  105. package/dist/recipe-lifecycle/evolution.d.ts +71 -0
  106. package/dist/recipe-lifecycle/evolution.d.ts.map +1 -0
  107. package/dist/recipe-lifecycle/evolution.js +659 -0
  108. package/dist/recipe-lifecycle/evolution.js.map +1 -0
  109. package/dist/recipe-lifecycle/index.d.ts +23 -0
  110. package/dist/recipe-lifecycle/index.d.ts.map +1 -0
  111. package/dist/recipe-lifecycle/index.js +19 -0
  112. package/dist/recipe-lifecycle/index.js.map +1 -0
  113. package/dist/recipe-lifecycle/install.d.ts +111 -0
  114. package/dist/recipe-lifecycle/install.d.ts.map +1 -0
  115. package/dist/recipe-lifecycle/install.js +412 -0
  116. package/dist/recipe-lifecycle/install.js.map +1 -0
  117. package/dist/recipe-lifecycle/legacy-aliases.d.ts +16 -0
  118. package/dist/recipe-lifecycle/legacy-aliases.d.ts.map +1 -0
  119. package/dist/recipe-lifecycle/legacy-aliases.js +51 -0
  120. package/dist/recipe-lifecycle/legacy-aliases.js.map +1 -0
  121. package/dist/recipe-lifecycle/stamp.d.ts +98 -0
  122. package/dist/recipe-lifecycle/stamp.d.ts.map +1 -0
  123. package/dist/recipe-lifecycle/stamp.js +260 -0
  124. package/dist/recipe-lifecycle/stamp.js.map +1 -0
  125. package/dist/recipes.d.ts +5 -0
  126. package/dist/recipes.d.ts.map +1 -1
  127. package/dist/recipes.js +5 -0
  128. package/dist/recipes.js.map +1 -1
  129. package/dist/storage.d.ts +3 -0
  130. package/dist/storage.d.ts.map +1 -1
  131. package/dist/storage.js +3 -0
  132. package/dist/storage.js.map +1 -1
  133. package/dist/uncertain-write.d.ts +70 -2
  134. package/dist/uncertain-write.d.ts.map +1 -1
  135. package/dist/uncertain-write.js +45 -32
  136. package/dist/uncertain-write.js.map +1 -1
  137. package/dist/write-identity.d.ts +5 -0
  138. package/dist/write-identity.d.ts.map +1 -0
  139. package/dist/write-identity.js +9 -0
  140. package/dist/write-identity.js.map +1 -0
  141. package/package.json +13 -1
@@ -122,7 +122,7 @@ export function captureJournalValue(value) {
122
122
  check(value);
123
123
  return structuredClone(value);
124
124
  }
125
- function equalJournalValue(a, b) {
125
+ export function equalJournalValue(a, b) {
126
126
  if (Object.is(a, b))
127
127
  return true;
128
128
  if (!a || !b || typeof a !== "object" || typeof b !== "object" || Array.isArray(a) !== Array.isArray(b))
@@ -132,7 +132,7 @@ function equalJournalValue(a, b) {
132
132
  const keys = Object.keys(a);
133
133
  return keys.length === Object.keys(b).length && keys.every(key => Object.hasOwn(b, key) && equalJournalValue(a[key], b[key]));
134
134
  }
135
- function assertMetaExpectation(value) {
135
+ export function assertMetaExpectation(value) {
136
136
  if (!value || typeof value !== "object" || typeof value.present !== "boolean" ||
137
137
  !equalJournalValue(Object.keys(value).sort(), (value.present ? ["present", "value"] : ["present"]).sort()))
138
138
  throw new JournalGuardConflict("meta");
@@ -150,7 +150,7 @@ export function captureJournalGuard(value, target) {
150
150
  throw new JournalGuardConflict(target);
151
151
  const requests = new Set(), sequences = new Set(), keys = new Set();
152
152
  for (const row of guard.intents) {
153
- if (!row || row.target !== target || typeof row.requestId !== "string" || requests.has(row.requestId) || !Number.isSafeInteger(row.sequence) || sequences.has(row.sequence))
153
+ if (!row || "recordFamily" in row || row.target !== target || typeof row.requestId !== "string" || requests.has(row.requestId) || !Number.isSafeInteger(row.sequence) || sequences.has(row.sequence))
154
154
  throw new JournalGuardConflict(target);
155
155
  requests.add(row.requestId);
156
156
  sequences.add(row.sequence);
@@ -1 +1 @@
1
- {"version":3,"file":"journaled-backend.js","sourceRoot":"","sources":["../src/journaled-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journaled-backend.js","sourceRoot":"","sources":["../src/journaled-backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { KindRegistry } from "./kinds.js";
2
+ /** One kind's declared `links` entry for a given link-type text: the declaring kind + its required target kind. */
3
+ export interface LinkTypeDeclaration {
4
+ governs: string;
5
+ target: string;
6
+ }
7
+ /**
8
+ * Flatten every declared kind's `links` map into `link-type text -> declaring kind(s)`, across the
9
+ * WHOLE registry (a bundle may reuse a link-type name for more than one kind — e.g. both a Roadmap
10
+ * Item and an Epic declaring `contains: Task`). Pure derivation over an already-loaded registry, no
11
+ * I/O.
12
+ */
13
+ export declare function collectLinkDeclarations(registry: KindRegistry): Map<string, LinkTypeDeclaration[]>;
14
+ /**
15
+ * A LOCAL edge under a qualified declaration (`links: {pours: "beers:Beer"}` and a link to a doc in
16
+ * this bundle): the declaration it violates, else null. Qualified targets are parsed here, at use;
17
+ * `KindConvention.links` stays raw strings.
18
+ */
19
+ export declare function localEdgeQualifiedDeclaration(declared: readonly LinkTypeDeclaration[] | undefined, sourceType: string): LinkTypeDeclaration | null;
20
+ /**
21
+ * A qualified edge (`okf://<alias>/...`) whose text is a declared type: the declaration it violates
22
+ * (wrong source kind, or a target that is local or names another alias), else null. The target's
23
+ * kind in the other bundle is not checked.
24
+ */
25
+ export declare function qualifiedEdgeViolation(declared: readonly LinkTypeDeclaration[] | undefined, sourceType: string, alias: string): LinkTypeDeclaration | null;
26
+ //# sourceMappingURL=link-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-types.d.ts","sourceRoot":"","sources":["../src/link-types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,mHAAmH;AACnH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAWlG;AAUD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,EACpD,UAAU,EAAE,MAAM,GACjB,mBAAmB,GAAG,IAAI,CAI5B;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,mBAAmB,EAAE,GAAG,SAAS,EACpD,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,mBAAmB,GAAG,IAAI,CAM5B"}
@@ -0,0 +1,57 @@
1
+ // Shared typed-edge vocabulary derivation: flattens a loaded `KindRegistry`'s per-kind `links`
2
+ // declarations into one `link-type text -> declaring kind(s)` index. Consumed by the CLI's `link`
3
+ // (write-time lint on a just-added edge) and `status` (bundle-wide `link_type_violations` sweep),
4
+ // and by recipe evolution's link-type addition check, so every consumer shares ONE derivation
5
+ // instead of each carrying its own copy (one registry, no parallel logic).
6
+ import { parseQualifiedKindTarget } from "./qualified-links.js";
7
+ /**
8
+ * Flatten every declared kind's `links` map into `link-type text -> declaring kind(s)`, across the
9
+ * WHOLE registry (a bundle may reuse a link-type name for more than one kind — e.g. both a Roadmap
10
+ * Item and an Epic declaring `contains: Task`). Pure derivation over an already-loaded registry, no
11
+ * I/O.
12
+ */
13
+ export function collectLinkDeclarations(registry) {
14
+ const byText = new Map();
15
+ for (const kind of registry.kinds.values()) {
16
+ if (!kind.links)
17
+ continue;
18
+ for (const [text, target] of Object.entries(kind.links)) {
19
+ const list = byText.get(text) ?? [];
20
+ list.push({ governs: kind.governs, target });
21
+ byText.set(text, list);
22
+ }
23
+ }
24
+ return byText;
25
+ }
26
+ /**
27
+ * The declaration a typed edge from `sourceType` is checked against: the one its source kind
28
+ * declares, else the first. Shared by the local and qualified checks so both pick the same one.
29
+ */
30
+ function declarationFor(declared, sourceType) {
31
+ return declared.find((d) => d.governs === sourceType) ?? declared[0];
32
+ }
33
+ /**
34
+ * A LOCAL edge under a qualified declaration (`links: {pours: "beers:Beer"}` and a link to a doc in
35
+ * this bundle): the declaration it violates, else null. Qualified targets are parsed here, at use;
36
+ * `KindConvention.links` stays raw strings.
37
+ */
38
+ export function localEdgeQualifiedDeclaration(declared, sourceType) {
39
+ if (!declared || declared.length === 0)
40
+ return null;
41
+ const matched = declarationFor(declared, sourceType);
42
+ return parseQualifiedKindTarget(matched.target) === null ? null : matched;
43
+ }
44
+ /**
45
+ * A qualified edge (`okf://<alias>/...`) whose text is a declared type: the declaration it violates
46
+ * (wrong source kind, or a target that is local or names another alias), else null. The target's
47
+ * kind in the other bundle is not checked.
48
+ */
49
+ export function qualifiedEdgeViolation(declared, sourceType, alias) {
50
+ if (!declared || declared.length === 0)
51
+ return null;
52
+ const matched = declarationFor(declared, sourceType);
53
+ const sourceOk = declared.some((d) => d.governs === sourceType);
54
+ const target = parseQualifiedKindTarget(matched.target);
55
+ return sourceOk && target !== null && target.alias === alias ? null : matched;
56
+ }
57
+ //# sourceMappingURL=link-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-types.js","sourceRoot":"","sources":["../src/link-types.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,kGAAkG;AAClG,kGAAkG;AAClG,8FAA8F;AAC9F,2EAA2E;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAShE;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAsB;IAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAiC,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,SAAS;QAC1B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,QAAwC,EAAE,UAAkB;IAClF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,QAAoD,EACpD,UAAkB;IAElB,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrD,OAAO,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAC5E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAoD,EACpD,UAAkB,EAClB,KAAa;IAEb,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,OAAO,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AAChF,CAAC"}
@@ -236,4 +236,8 @@ export declare function isSharedConfirmed(provenance: Provenance): provenance is
236
236
  export declare function sharedConfirmed(version: Version, acknowledged?: Version): Provenance;
237
237
  export declare function localPending(version: Version, base: Version | null, requestId: string): Provenance;
238
238
  export declare function localConflict(version: Version, base: Version | null, remote: Version | null, requestId: string): Provenance;
239
+ /** Shared catastrophic-listing decision. Held/unknown targets must be excluded by the caller. */
240
+ export declare function deletionBound(listedCount: number, presentCount: number, candidates: number, digest: string): RefusedDeletions | undefined;
241
+ /** An acceptance names precisely the refusal currently proposed. */
242
+ export declare function acceptsRefusal(refused: RefusedDeletions, accepted: RefusedDeletions | undefined): boolean;
239
243
  //# sourceMappingURL=platform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
package/dist/platform.js CHANGED
@@ -79,4 +79,20 @@ export function localPending(version, base, requestId) {
79
79
  export function localConflict(version, base, remote, requestId) {
80
80
  return { state: "local-conflict", version, base, remote, requestId };
81
81
  }
82
+ /** Shared catastrophic-listing decision. Held/unknown targets must be excluded by the caller. */
83
+ export function deletionBound(listedCount, presentCount, candidates, digest) {
84
+ if (![listedCount, presentCount, candidates].every(n => Number.isSafeInteger(n) && n >= 0) || candidates > presentCount || typeof digest !== "string" || digest.length === 0)
85
+ throw new TypeError("invalid deletion bound inputs");
86
+ if (candidates < 8)
87
+ return undefined;
88
+ if (listedCount === 0)
89
+ return { deletions: candidates, reason: "empty-listing", digest };
90
+ if (candidates * 2 > presentCount)
91
+ return { deletions: candidates, reason: "over-half", digest };
92
+ return undefined;
93
+ }
94
+ /** An acceptance names precisely the refusal currently proposed. */
95
+ export function acceptsRefusal(refused, accepted) {
96
+ return accepted !== undefined && accepted.digest === refused.digest && accepted.deletions === refused.deletions && accepted.reason === refused.reason;
97
+ }
82
98
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAkLH,sDAAsD;AACtD,MAAM,UAAU,eAAe,CAAC,UAAsB;IACpD,QAAQ,UAAU,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,kBAAkB;YACrB,OAAO,QAAQ,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,SAAS,CAAC;QACnB,KAAK,gBAAgB;YACnB,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACtD,OAAO,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,eAAwB,OAAO;IAC/E,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAoB,EAAE,SAAiB;IACpF,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,IAAoB,EAAE,MAAsB,EAAE,SAAiB;IAC7G,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAkLH,sDAAsD;AACtD,MAAM,UAAU,eAAe,CAAC,UAAsB;IACpD,QAAQ,UAAU,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,kBAAkB;YACrB,OAAO,QAAQ,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,SAAS,CAAC;QACnB,KAAK,gBAAgB;YACnB,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED,+GAA+G;AAC/G,MAAM,UAAU,iBAAiB,CAAC,UAAsB;IACtD,OAAO,UAAU,CAAC,KAAK,KAAK,kBAAkB,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB,EAAE,eAAwB,OAAO;IAC/E,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB,EAAE,IAAoB,EAAE,SAAiB;IACpF,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,IAAoB,EAAE,MAAsB,EAAE,SAAiB;IAC7G,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;AACvE,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,aAAa,CAAC,WAAmB,EAAE,YAAoB,EAAE,UAAkB,EAAE,MAAc;IACzG,IAAI,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,UAAU,GAAG,YAAY,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAC;IACnO,IAAI,UAAU,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IACzF,IAAI,UAAU,GAAG,CAAC,GAAG,YAAY;QAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IACjG,OAAO,SAAS,CAAC;AACnB,CAAC;AACD,oEAAoE;AACpE,MAAM,UAAU,cAAc,CAAC,OAAyB,EAAE,QAAsC;IAC9F,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;AACxJ,CAAC"}
@@ -0,0 +1,77 @@
1
+ import type { ConceptId, Version } from "../types.js";
2
+ import type { RecipeEvolutionBlocker } from "./evolution.js";
3
+ /**
4
+ * One definition the evolution apply has handled, in plan order: `changed` when its content was
5
+ * updated, `stamped` when this apply wrote it (a content update or a stamp alone).
6
+ */
7
+ export interface RecipeEvolutionCompletedDefinition {
8
+ id: ConceptId;
9
+ changed: boolean;
10
+ stamped: boolean;
11
+ version: Version;
12
+ }
13
+ /** The common base: every recipe lifecycle failure is one of the subclasses below. */
14
+ export declare class RecipeLifecycleError extends Error {
15
+ constructor(message: string, options?: {
16
+ cause?: unknown;
17
+ });
18
+ }
19
+ /** The recipe itself cannot target this bundle: an unsupported edition or a contradictory field declaration. */
20
+ export declare class RecipeInputError extends RecipeLifecycleError {
21
+ constructor(message: string);
22
+ }
23
+ /** A recipe asset (View entry, View registry or Reference) differs from what the bundle already holds there. */
24
+ export declare class RecipeAssetConflict extends RecipeLifecycleError {
25
+ readonly recipe: string;
26
+ readonly key: string;
27
+ constructor(recipe: string, key: string);
28
+ }
29
+ /** The bundle's OKF edition changed between the lifecycle's read of it and a write. */
30
+ export declare class RecipeEditionChanged extends RecipeLifecycleError {
31
+ readonly from: string;
32
+ readonly to: string;
33
+ readonly operation: "installation" | "evolution";
34
+ constructor(from: string, to: string, operation: "installation" | "evolution");
35
+ }
36
+ /** The plan token the caller observed no longer matches the bundle's current plan. */
37
+ export declare class RecipeEvolutionPlanChanged extends RecipeLifecycleError {
38
+ readonly expected: string;
39
+ readonly current: string;
40
+ constructor(expected: string, current: string);
41
+ }
42
+ /** The observed plan is not ready: it carries blockers, so nothing was written. */
43
+ export declare class RecipeEvolutionBlocked extends RecipeLifecycleError {
44
+ readonly recipe: string;
45
+ readonly blockers: readonly RecipeEvolutionBlocker[];
46
+ constructor(recipe: string, blockers: readonly RecipeEvolutionBlocker[]);
47
+ }
48
+ /**
49
+ * Why a write loop stopped part way. `race`: a target's exact-version CAS failed or the target
50
+ * disappeared. `write_policy`: the write policy rejected a candidate after preflight.
51
+ * `edition_changed`: the bundle edition moved during the loop. `other`: any other failure, kept
52
+ * as `cause` for the presenting boundary to classify.
53
+ */
54
+ export type RecipeEvolutionInterruptionReason = "race" | "write_policy" | "edition_changed" | "other";
55
+ /** The evolution apply stopped after writing `completed`; `pending` names the targets still unwritten. */
56
+ export declare class RecipeEvolutionInterrupted extends RecipeLifecycleError {
57
+ readonly reason: RecipeEvolutionInterruptionReason;
58
+ readonly completed: RecipeEvolutionCompletedDefinition[];
59
+ readonly pending: ConceptId[];
60
+ constructor(reason: RecipeEvolutionInterruptionReason, message: string, completed: RecipeEvolutionCompletedDefinition[], pending: ConceptId[], cause: unknown);
61
+ }
62
+ /**
63
+ * Every write succeeded, but the re-plan after the loop could not run (`unverifiable`) or no longer
64
+ * reads ready and unchanged (`changed`), because the bundle has no cross-document transaction.
65
+ */
66
+ export declare class RecipeEvolutionPostcondition extends RecipeLifecycleError {
67
+ readonly reason: "unverifiable" | "changed";
68
+ readonly completed: RecipeEvolutionCompletedDefinition[];
69
+ readonly blockers?: readonly RecipeEvolutionBlocker[];
70
+ readonly postcondition_plan?: string;
71
+ constructor(reason: "unverifiable" | "changed", message: string, completed: RecipeEvolutionCompletedDefinition[], details?: {
72
+ blockers?: readonly RecipeEvolutionBlocker[];
73
+ postcondition_plan?: string;
74
+ cause?: unknown;
75
+ });
76
+ }
77
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /** The common base: every recipe lifecycle failure is one of the subclasses below. */
2
+ export class RecipeLifecycleError extends Error {
3
+ constructor(message, options) {
4
+ super(message, options);
5
+ this.name = "RecipeLifecycleError";
6
+ }
7
+ }
8
+ /** The recipe itself cannot target this bundle: an unsupported edition or a contradictory field declaration. */
9
+ export class RecipeInputError extends RecipeLifecycleError {
10
+ constructor(message) {
11
+ super(message);
12
+ this.name = "RecipeInputError";
13
+ }
14
+ }
15
+ /** A recipe asset (View entry, View registry or Reference) differs from what the bundle already holds there. */
16
+ export class RecipeAssetConflict extends RecipeLifecycleError {
17
+ recipe;
18
+ key;
19
+ constructor(recipe, key) {
20
+ super(`recipe '${recipe}' cannot install '${key}' because a different target already exists; ` +
21
+ "the existing bundle content was left untouched");
22
+ this.name = "RecipeAssetConflict";
23
+ this.recipe = recipe;
24
+ this.key = key;
25
+ }
26
+ }
27
+ /** The bundle's OKF edition changed between the lifecycle's read of it and a write. */
28
+ export class RecipeEditionChanged extends RecipeLifecycleError {
29
+ from;
30
+ to;
31
+ operation;
32
+ constructor(from, to, operation) {
33
+ super(`bundle OKF version changed from '${from}' to '${to}' during recipe ${operation}` +
34
+ (operation === "installation" ? "; retry" : ""));
35
+ this.name = "RecipeEditionChanged";
36
+ this.from = from;
37
+ this.to = to;
38
+ this.operation = operation;
39
+ }
40
+ }
41
+ /** The plan token the caller observed no longer matches the bundle's current plan. */
42
+ export class RecipeEvolutionPlanChanged extends RecipeLifecycleError {
43
+ expected;
44
+ current;
45
+ constructor(expected, current) {
46
+ super(`recipe evolution plan changed (expected ${expected}, current ${current}); inspect a fresh plan before applying`);
47
+ this.name = "RecipeEvolutionPlanChanged";
48
+ this.expected = expected;
49
+ this.current = current;
50
+ }
51
+ }
52
+ /** The observed plan is not ready: it carries blockers, so nothing was written. */
53
+ export class RecipeEvolutionBlocked extends RecipeLifecycleError {
54
+ recipe;
55
+ blockers;
56
+ constructor(recipe, blockers) {
57
+ super(`recipe '${recipe}' cannot evolve automatically (${blockers.length} blocker${blockers.length === 1 ? "" : "s"})`);
58
+ this.name = "RecipeEvolutionBlocked";
59
+ this.recipe = recipe;
60
+ this.blockers = blockers;
61
+ }
62
+ }
63
+ /** The evolution apply stopped after writing `completed`; `pending` names the targets still unwritten. */
64
+ export class RecipeEvolutionInterrupted extends RecipeLifecycleError {
65
+ reason;
66
+ completed;
67
+ pending;
68
+ constructor(reason, message, completed, pending, cause) {
69
+ super(message, { cause });
70
+ this.name = "RecipeEvolutionInterrupted";
71
+ this.reason = reason;
72
+ this.completed = completed;
73
+ this.pending = pending;
74
+ }
75
+ }
76
+ /**
77
+ * Every write succeeded, but the re-plan after the loop could not run (`unverifiable`) or no longer
78
+ * reads ready and unchanged (`changed`), because the bundle has no cross-document transaction.
79
+ */
80
+ export class RecipeEvolutionPostcondition extends RecipeLifecycleError {
81
+ reason;
82
+ completed;
83
+ blockers;
84
+ postcondition_plan;
85
+ constructor(reason, message, completed, details = {}) {
86
+ super(message, details.cause === undefined ? undefined : { cause: details.cause });
87
+ this.name = "RecipeEvolutionPostcondition";
88
+ this.reason = reason;
89
+ this.completed = completed;
90
+ if (details.blockers !== undefined)
91
+ this.blockers = details.blockers;
92
+ if (details.postcondition_plan !== undefined)
93
+ this.postcondition_plan = details.postcondition_plan;
94
+ }
95
+ }
96
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/recipe-lifecycle/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import type { LoadedRecipe } from "../recipes.js";
2
+ import type { Bundle, ConceptId, Version } from "../types.js";
3
+ import { type RecipeEvolutionCompletedDefinition } from "./errors.js";
4
+ import { type RecipeStampState } from "./stamp.js";
5
+ export interface RecipeEvolutionDefinition {
6
+ id: ConceptId;
7
+ governs: string;
8
+ /** Content only: whether the convention's declarations change. */
9
+ action: "missing" | "unchanged" | "update";
10
+ /** The installed convention's recipe stamp relative to this recipe. */
11
+ stamp: RecipeStampState;
12
+ expected_version: Version | null;
13
+ desired_version: Version;
14
+ /** Exact additive semantic paths this automatic plan will introduce. */
15
+ added_paths: string[];
16
+ }
17
+ export interface RecipeEvolutionBlocker {
18
+ code: string;
19
+ id: string;
20
+ message: string;
21
+ field?: string;
22
+ }
23
+ /** Public representation of one read-only, state-bound preflight decision. */
24
+ export interface RecipeEvolutionPlan {
25
+ recipe: "evolution plan";
26
+ id: string;
27
+ version: string;
28
+ source: string;
29
+ okf_version: string;
30
+ ready: boolean;
31
+ /** Content only: whether any convention's declarations change. */
32
+ changed: boolean;
33
+ /** How many conventions the apply writes: every content update and every stale or missing stamp. */
34
+ writes: number;
35
+ plan_token: string;
36
+ definitions: RecipeEvolutionDefinition[];
37
+ counts: {
38
+ definitions: number;
39
+ updates: number;
40
+ /** Writes that only record the stamp: write-set members whose action is not `update`. */
41
+ stamp_writes: number;
42
+ unchanged: number;
43
+ missing: number;
44
+ instances_checked: number;
45
+ blockers: number;
46
+ };
47
+ blockers: RecipeEvolutionBlocker[];
48
+ }
49
+ export interface RecipeEvolutionApplyResult {
50
+ /** `evolved`: a content update was written; `stamped`: only stamps were; `already current`: nothing. */
51
+ recipe: "evolved" | "stamped" | "already current";
52
+ id: string;
53
+ version: string;
54
+ source: string;
55
+ /** True whenever anything was written. */
56
+ changed: boolean;
57
+ plan_token: string;
58
+ definitions: RecipeEvolutionCompletedDefinition[];
59
+ counts: {
60
+ updated: number;
61
+ stamped: number;
62
+ unchanged: number;
63
+ };
64
+ }
65
+ /** Build a read-only, state-bound preflight for installed recipe convention evolution. */
66
+ export declare function planRecipeEvolution(bundle: Bundle, recipe: LoadedRecipe): Promise<RecipeEvolutionPlan>;
67
+ /** Apply only the exact ready plan the caller previously observed. */
68
+ export declare function applyRecipeEvolution(bundle: Bundle, recipe: LoadedRecipe, expectedPlanToken: string, options?: {
69
+ actor?: string;
70
+ }): Promise<RecipeEvolutionApplyResult>;
71
+ //# sourceMappingURL=evolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evolution.d.ts","sourceRoot":"","sources":["../../src/recipe-lifecycle/evolution.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAe,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EAML,KAAK,kCAAkC,EACxC,MAAM,aAAa,CAAC;AAMrB,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,YAAY,CAAC;AAUpB,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,SAAS,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,uEAAuE;IACvE,KAAK,EAAE,gBAAgB,CAAC;IACxB,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,eAAe,EAAE,OAAO,CAAC;IACzB,wEAAwE;IACxE,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,CAAC;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,oGAAoG;IACpG,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACzC,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,yFAAyF;QACzF,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,QAAQ,EAAE,sBAAsB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,0BAA0B;IACzC,wGAAwG;IACxG,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,kCAAkC,EAAE,CAAC;IAClD,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE;AAgwBD,0FAA0F;AAC1F,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAE9B;AAED,sEAAsE;AACtE,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,iBAAiB,EAAE,MAAM,EACzB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAsHrC"}