@bett3r-dev/blueprint-schema 1.6.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/build/cjs/apply-design.d.ts +5 -5
  3. package/build/cjs/apply-design.d.ts.map +1 -1
  4. package/build/cjs/apply-design.js +21 -5
  5. package/build/cjs/apply-design.js.map +1 -1
  6. package/build/cjs/apply-overrides.d.ts +3 -3
  7. package/build/cjs/apply-overrides.d.ts.map +1 -1
  8. package/build/cjs/apply-overrides.js +5 -1
  9. package/build/cjs/apply-overrides.js.map +1 -1
  10. package/build/cjs/card-channel.d.ts +18 -0
  11. package/build/cjs/card-channel.d.ts.map +1 -0
  12. package/build/cjs/card-channel.js +30 -0
  13. package/build/cjs/card-channel.js.map +1 -0
  14. package/build/cjs/convergence.d.ts +2 -2
  15. package/build/cjs/convergence.d.ts.map +1 -1
  16. package/build/cjs/coverage-links.d.ts +27 -0
  17. package/build/cjs/coverage-links.d.ts.map +1 -0
  18. package/build/cjs/coverage-links.js +117 -0
  19. package/build/cjs/coverage-links.js.map +1 -0
  20. package/build/cjs/design.d.ts +44 -2
  21. package/build/cjs/design.d.ts.map +1 -1
  22. package/build/cjs/design.js +42 -2
  23. package/build/cjs/design.js.map +1 -1
  24. package/build/cjs/diagnostics.d.ts +2 -2
  25. package/build/cjs/diagnostics.d.ts.map +1 -1
  26. package/build/cjs/edge-endpoints.d.ts +33 -0
  27. package/build/cjs/edge-endpoints.d.ts.map +1 -0
  28. package/build/cjs/edge-endpoints.js +83 -0
  29. package/build/cjs/edge-endpoints.js.map +1 -0
  30. package/build/cjs/edges.d.ts +2 -2
  31. package/build/cjs/edges.d.ts.map +1 -1
  32. package/build/cjs/edges.js +2 -1
  33. package/build/cjs/edges.js.map +1 -1
  34. package/build/cjs/effective-design.d.ts +21 -0
  35. package/build/cjs/effective-design.d.ts.map +1 -0
  36. package/build/cjs/effective-design.js +172 -0
  37. package/build/cjs/effective-design.js.map +1 -0
  38. package/build/cjs/entry-points.d.ts +2 -2
  39. package/build/cjs/entry-points.d.ts.map +1 -1
  40. package/build/cjs/find-orphan-nodes.d.ts +3 -3
  41. package/build/cjs/find-orphan-nodes.d.ts.map +1 -1
  42. package/build/cjs/flow-traversal.d.ts +3 -3
  43. package/build/cjs/flow-traversal.d.ts.map +1 -1
  44. package/build/cjs/fork-scenarios.d.ts +44 -0
  45. package/build/cjs/fork-scenarios.d.ts.map +1 -0
  46. package/build/cjs/fork-scenarios.js +83 -0
  47. package/build/cjs/fork-scenarios.js.map +1 -0
  48. package/build/cjs/graph.d.ts +27 -2
  49. package/build/cjs/graph.d.ts.map +1 -1
  50. package/build/cjs/graph.js +36 -0
  51. package/build/cjs/graph.js.map +1 -1
  52. package/build/cjs/handler-scope.d.ts +3 -3
  53. package/build/cjs/handler-scope.d.ts.map +1 -1
  54. package/build/cjs/index.d.ts +9 -0
  55. package/build/cjs/index.d.ts.map +1 -1
  56. package/build/cjs/index.js +9 -0
  57. package/build/cjs/index.js.map +1 -1
  58. package/build/cjs/invariants.d.ts +26 -0
  59. package/build/cjs/invariants.d.ts.map +1 -0
  60. package/build/cjs/invariants.js +39 -0
  61. package/build/cjs/invariants.js.map +1 -0
  62. package/build/cjs/map-links.d.ts +1 -0
  63. package/build/cjs/map-links.d.ts.map +1 -1
  64. package/build/cjs/map-links.js +14 -1
  65. package/build/cjs/map-links.js.map +1 -1
  66. package/build/cjs/map-structure.d.ts +172 -3
  67. package/build/cjs/map-structure.d.ts.map +1 -1
  68. package/build/cjs/map-structure.js +46 -4
  69. package/build/cjs/map-structure.js.map +1 -1
  70. package/build/cjs/map-vocabulary.d.ts +29 -1
  71. package/build/cjs/map-vocabulary.d.ts.map +1 -1
  72. package/build/cjs/map-vocabulary.js +72 -2
  73. package/build/cjs/map-vocabulary.js.map +1 -1
  74. package/build/cjs/nodes.d.ts +11 -1
  75. package/build/cjs/nodes.d.ts.map +1 -1
  76. package/build/cjs/nodes.js +4 -2
  77. package/build/cjs/nodes.js.map +1 -1
  78. package/build/cjs/ops.d.ts +43 -10
  79. package/build/cjs/ops.d.ts.map +1 -1
  80. package/build/cjs/ops.js +1 -1
  81. package/build/cjs/ops.js.map +1 -1
  82. package/build/cjs/overrides.d.ts +5 -2
  83. package/build/cjs/overrides.d.ts.map +1 -1
  84. package/build/cjs/overrides.js.map +1 -1
  85. package/build/cjs/package.json +1 -0
  86. package/build/cjs/reachability.d.ts +4 -4
  87. package/build/cjs/reachability.d.ts.map +1 -1
  88. package/build/cjs/reachability.js +5 -1
  89. package/build/cjs/reachability.js.map +1 -1
  90. package/build/cjs/reality-check.d.ts +4 -4
  91. package/build/cjs/reality-check.d.ts.map +1 -1
  92. package/build/cjs/reality-check.js +52 -9
  93. package/build/cjs/reality-check.js.map +1 -1
  94. package/build/cjs/session-phase.d.ts +80 -0
  95. package/build/cjs/session-phase.d.ts.map +1 -0
  96. package/build/cjs/session-phase.js +97 -0
  97. package/build/cjs/session-phase.js.map +1 -0
  98. package/build/cjs/session.d.ts +21 -0
  99. package/build/cjs/session.d.ts.map +1 -1
  100. package/build/cjs/session.js +19 -0
  101. package/build/cjs/session.js.map +1 -1
  102. package/build/cjs/spec.d.ts +140 -0
  103. package/build/cjs/spec.d.ts.map +1 -0
  104. package/build/cjs/spec.js +514 -0
  105. package/build/cjs/spec.js.map +1 -0
  106. package/build/cjs/topology.d.ts +2 -2
  107. package/build/cjs/topology.d.ts.map +1 -1
  108. package/build/cjs/topology.js +2 -0
  109. package/build/cjs/topology.js.map +1 -1
  110. package/build/cjs/unproduced-events.d.ts +10 -0
  111. package/build/cjs/unproduced-events.d.ts.map +1 -0
  112. package/build/cjs/unproduced-events.js +37 -0
  113. package/build/cjs/unproduced-events.js.map +1 -0
  114. package/build/cjs/validate-design.d.ts +3 -3
  115. package/build/cjs/validate-design.d.ts.map +1 -1
  116. package/build/cjs/validate-design.js +40 -3
  117. package/build/cjs/validate-design.js.map +1 -1
  118. package/build/esm/apply-design.d.ts +5 -5
  119. package/build/esm/apply-design.d.ts.map +1 -1
  120. package/build/esm/apply-design.js +21 -5
  121. package/build/esm/apply-design.js.map +1 -1
  122. package/build/esm/apply-overrides.d.ts +3 -3
  123. package/build/esm/apply-overrides.d.ts.map +1 -1
  124. package/build/esm/apply-overrides.js +5 -1
  125. package/build/esm/apply-overrides.js.map +1 -1
  126. package/build/esm/card-channel.d.ts +18 -0
  127. package/build/esm/card-channel.d.ts.map +1 -0
  128. package/build/esm/card-channel.js +25 -0
  129. package/build/esm/card-channel.js.map +1 -0
  130. package/build/esm/convergence.d.ts +2 -2
  131. package/build/esm/convergence.d.ts.map +1 -1
  132. package/build/esm/coverage-links.d.ts +27 -0
  133. package/build/esm/coverage-links.d.ts.map +1 -0
  134. package/build/esm/coverage-links.js +113 -0
  135. package/build/esm/coverage-links.js.map +1 -0
  136. package/build/esm/design.d.ts +44 -2
  137. package/build/esm/design.d.ts.map +1 -1
  138. package/build/esm/design.js +38 -1
  139. package/build/esm/design.js.map +1 -1
  140. package/build/esm/diagnostics.d.ts +2 -2
  141. package/build/esm/diagnostics.d.ts.map +1 -1
  142. package/build/esm/edge-endpoints.d.ts +33 -0
  143. package/build/esm/edge-endpoints.d.ts.map +1 -0
  144. package/build/esm/edge-endpoints.js +77 -0
  145. package/build/esm/edge-endpoints.js.map +1 -0
  146. package/build/esm/edges.d.ts +2 -2
  147. package/build/esm/edges.d.ts.map +1 -1
  148. package/build/esm/edges.js +2 -1
  149. package/build/esm/edges.js.map +1 -1
  150. package/build/esm/effective-design.d.ts +21 -0
  151. package/build/esm/effective-design.d.ts.map +1 -0
  152. package/build/esm/effective-design.js +169 -0
  153. package/build/esm/effective-design.js.map +1 -0
  154. package/build/esm/entry-points.d.ts +2 -2
  155. package/build/esm/entry-points.d.ts.map +1 -1
  156. package/build/esm/find-orphan-nodes.d.ts +3 -3
  157. package/build/esm/find-orphan-nodes.d.ts.map +1 -1
  158. package/build/esm/flow-traversal.d.ts +3 -3
  159. package/build/esm/flow-traversal.d.ts.map +1 -1
  160. package/build/esm/fork-scenarios.d.ts +44 -0
  161. package/build/esm/fork-scenarios.d.ts.map +1 -0
  162. package/build/esm/fork-scenarios.js +78 -0
  163. package/build/esm/fork-scenarios.js.map +1 -0
  164. package/build/esm/graph.d.ts +27 -2
  165. package/build/esm/graph.d.ts.map +1 -1
  166. package/build/esm/graph.js +33 -0
  167. package/build/esm/graph.js.map +1 -1
  168. package/build/esm/handler-scope.d.ts +3 -3
  169. package/build/esm/handler-scope.d.ts.map +1 -1
  170. package/build/esm/index.d.ts +9 -0
  171. package/build/esm/index.d.ts.map +1 -1
  172. package/build/esm/index.js +9 -0
  173. package/build/esm/index.js.map +1 -1
  174. package/build/esm/invariants.d.ts +26 -0
  175. package/build/esm/invariants.d.ts.map +1 -0
  176. package/build/esm/invariants.js +36 -0
  177. package/build/esm/invariants.js.map +1 -0
  178. package/build/esm/map-links.d.ts +1 -0
  179. package/build/esm/map-links.d.ts.map +1 -1
  180. package/build/esm/map-links.js +14 -1
  181. package/build/esm/map-links.js.map +1 -1
  182. package/build/esm/map-structure.d.ts +172 -3
  183. package/build/esm/map-structure.d.ts.map +1 -1
  184. package/build/esm/map-structure.js +42 -3
  185. package/build/esm/map-structure.js.map +1 -1
  186. package/build/esm/map-vocabulary.d.ts +29 -1
  187. package/build/esm/map-vocabulary.d.ts.map +1 -1
  188. package/build/esm/map-vocabulary.js +64 -1
  189. package/build/esm/map-vocabulary.js.map +1 -1
  190. package/build/esm/nodes.d.ts +11 -1
  191. package/build/esm/nodes.d.ts.map +1 -1
  192. package/build/esm/nodes.js +4 -2
  193. package/build/esm/nodes.js.map +1 -1
  194. package/build/esm/ops.d.ts +43 -10
  195. package/build/esm/ops.d.ts.map +1 -1
  196. package/build/esm/ops.js +1 -1
  197. package/build/esm/ops.js.map +1 -1
  198. package/build/esm/overrides.d.ts +5 -2
  199. package/build/esm/overrides.d.ts.map +1 -1
  200. package/build/esm/overrides.js.map +1 -1
  201. package/build/esm/reachability.d.ts +4 -4
  202. package/build/esm/reachability.d.ts.map +1 -1
  203. package/build/esm/reachability.js +5 -1
  204. package/build/esm/reachability.js.map +1 -1
  205. package/build/esm/reality-check.d.ts +4 -4
  206. package/build/esm/reality-check.d.ts.map +1 -1
  207. package/build/esm/reality-check.js +53 -10
  208. package/build/esm/reality-check.js.map +1 -1
  209. package/build/esm/session-phase.d.ts +80 -0
  210. package/build/esm/session-phase.d.ts.map +1 -0
  211. package/build/esm/session-phase.js +93 -0
  212. package/build/esm/session-phase.js.map +1 -0
  213. package/build/esm/session.d.ts +21 -0
  214. package/build/esm/session.d.ts.map +1 -1
  215. package/build/esm/session.js +17 -0
  216. package/build/esm/session.js.map +1 -1
  217. package/build/esm/spec.d.ts +140 -0
  218. package/build/esm/spec.d.ts.map +1 -0
  219. package/build/esm/spec.js +501 -0
  220. package/build/esm/spec.js.map +1 -0
  221. package/build/esm/topology.d.ts +2 -2
  222. package/build/esm/topology.d.ts.map +1 -1
  223. package/build/esm/topology.js +2 -0
  224. package/build/esm/topology.js.map +1 -1
  225. package/build/esm/unproduced-events.d.ts +10 -0
  226. package/build/esm/unproduced-events.d.ts.map +1 -0
  227. package/build/esm/unproduced-events.js +32 -0
  228. package/build/esm/unproduced-events.js.map +1 -0
  229. package/build/esm/validate-design.d.ts +3 -3
  230. package/build/esm/validate-design.d.ts.map +1 -1
  231. package/build/esm/validate-design.js +41 -4
  232. package/build/esm/validate-design.js.map +1 -1
  233. package/build/tsconfig.tsbuildinfo +1 -1
  234. package/package.json +14 -4
  235. package/schema/map.schema.json +62 -1
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Judges every invariant of the merged graph against the coverage join (joinCoverageLinks). Pure:
3
+ * it reads its inputs and returns a fresh record keyed by invariant id; it never refuses a write
4
+ * (ADR-106). A removed invariant or a removed guarded-by edge takes no part.
5
+ */
6
+ export function judgeInvariants(merged, coverage) {
7
+ const invariants = merged.nodes.filter(node => node.type === 'invariant' && node.status !== 'removed');
8
+ const codesOf = new Map(invariants.map(node => [node.id, new Set(node.errorCodes ?? [])]));
9
+ const guardedBy = new Map();
10
+ for (const edge of merged.edges) {
11
+ if (edge.kind !== 'guarded-by' || edge.status === 'removed' || !codesOf.has(edge.to))
12
+ continue;
13
+ guardedBy.set(edge.from, (guardedBy.get(edge.from) ?? new Set()).add(edge.to));
14
+ }
15
+ const neighboursOf = (id) => {
16
+ const neighbours = new Set();
17
+ for (const guards of guardedBy.values()) {
18
+ if (!guards.has(id))
19
+ continue;
20
+ for (const other of guards)
21
+ if (other !== id)
22
+ neighbours.add(other);
23
+ }
24
+ return neighbours;
25
+ };
26
+ const judged = {};
27
+ for (const { id } of invariants) {
28
+ const coveredBy = [...(coverage.coveredBy[id] ?? [])];
29
+ const unproven = coveredBy.length === 0;
30
+ const codes = [...codesOf.get(id)];
31
+ const indistinct = !unproven && (codes.length === 0 || [...neighboursOf(id)].some(other => codes.every(code => codesOf.get(other).has(code))));
32
+ judged[id] = { coveredBy, unproven, indistinct };
33
+ }
34
+ return judged;
35
+ }
36
+ //# sourceMappingURL=invariants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invariants.js","sourceRoot":"","sources":["../../src/invariants.ts"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAsB,EACtB,QAA2C;IAE3C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAE,CAAC;IACzG,MAAM,OAAO,GAAG,IAAI,GAAG,CAAE,UAAU,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAC,CAAE,IAAI,CAAC,EAAE,EAAE,IAAI,GAAG,CAAE,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAE,CAAE,CAAC,CAAC;IAEjG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IACjD,KAAM,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjC,IAAK,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAE;YAAE,SAAS;QAClG,SAAS,CAAC,GAAG,CAAE,IAAI,CAAC,IAAI,EAAE,CAAE,SAAS,CAAC,GAAG,CAAE,IAAI,CAAC,IAAI,CAAE,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAE,IAAI,CAAC,EAAE,CAAE,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,YAAY,GAAG,CAAE,EAAU,EAAgB,EAAE;QACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAM,MAAM,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAK,CAAC,MAAM,CAAC,GAAG,CAAE,EAAE,CAAE;gBAAE,SAAS;YACjC,KAAM,MAAM,KAAK,IAAI,MAAM;gBAAG,IAAK,KAAK,KAAK,EAAE;oBAAG,UAAU,CAAC,GAAG,CAAE,KAAK,CAAE,CAAC;QAC5E,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAuC,EAAE,CAAC;IACtD,KAAM,MAAM,EAAE,EAAE,EAAE,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,SAAS,GAAG,CAAE,GAAG,CAAE,QAAQ,CAAC,SAAS,CAAE,EAAE,CAAE,IAAI,EAAE,CAAC,CAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAE,GAAG,OAAO,CAAC,GAAG,CAAE,EAAE,CAAiB,CAAE,CAAC;QACtD,MAAM,UAAU,GAAG,CAAC,QAAQ,IAAI,CAAE,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAE,GAAG,YAAY,CAAE,EAAE,CAAE,CAAE,CAAC,IAAI,CAAE,KAAK,CAAC,EAAE,CAC9F,KAAK,CAAC,KAAK,CAAE,IAAI,CAAC,EAAE,CAAG,OAAO,CAAC,GAAG,CAAE,KAAK,CAAmB,CAAC,GAAG,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAE,EAAE,CAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -7,6 +7,7 @@ export type MapLinkReport = {
7
7
  orphanedBy: Record<MapEntryId, string[]>;
8
8
  dangling: MapLink[];
9
9
  removed: MapLink[];
10
+ unserved: MapEntryId[];
10
11
  };
11
12
  export declare function joinMapLinks(merged: BlueprintGraph, design: DesignFile, map: MapFile): MapLinkReport;
12
13
  //# sourceMappingURL=map-links.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-links.d.ts","sourceRoot":"","sources":["../../src/map-links.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB,CAAC;AAgBF,wBAAgB,YAAY,CAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,GAAI,aAAa,CA2CtG"}
1
+ {"version":3,"file":"map-links.d.ts","sourceRoot":"","sources":["../../src/map-links.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,CAAC;AAgBF,wBAAgB,YAAY,CAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,GAAI,aAAa,CAwDtG"}
@@ -51,6 +51,19 @@ export function joinMapLinks(merged, design, map) {
51
51
  .filter(link => mapNodes.has(link.deliverableId) && removedIds.has(link.esId))
52
52
  .map(link => ({ esId: link.esId, deliverableId: link.deliverableId }))
53
53
  .sort((a, b) => byString(a.esId, b.esId) || byString(a.deliverableId, b.deliverableId));
54
- return { unlinked, orphaned, orphanedBy, dangling, removed };
54
+ // ESAS-330 D3: a link serves its deliverable when it names a live graph node. A1: under a graph
55
+ // that knows no node (the Design done check joins against emptyGraph()) liveness cannot be judged,
56
+ // so any link serves; struck deliverables are excluded.
57
+ const graphKnown = merged.nodes.length > 0;
58
+ const served = new Set(map.links
59
+ .filter(link => !graphKnown || (nodeIds.has(link.esId) && !removedIds.has(link.esId)))
60
+ .map(link => link.deliverableId));
61
+ const unserved = [];
62
+ for (const node of [...map.nodes].sort((a, b) => byString(a.id, b.id))) {
63
+ if (node.level !== 'deliverable' || node.struck !== undefined || served.has(node.id))
64
+ continue;
65
+ unserved.push(node.id);
66
+ }
67
+ return { unlinked, orphaned, orphanedBy, dangling, removed, unserved };
55
68
  }
56
69
  //# sourceMappingURL=map-links.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"map-links.js","sourceRoot":"","sources":["../../src/map-links.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map-links.js","sourceRoot":"","sources":["../../src/map-links.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- import { type DecidedSource, type MapNodeLevel, type MapShape } from './map-vocabulary.js';
1
+ import { type DecidedSource, type KpiDirection, type KpiFilterOutcome, type KpiKind, type MapNodeLevel, type MapShape, type WalkKind } from './map-vocabulary.js';
2
+ import type { DesignAuthor } from './nodes.js';
3
+ import type { OpVerb } from './ops.js';
2
4
  export type MapStructureVersion = 1;
3
5
  export declare const MAP_STRUCTURE_VERSION: MapStructureVersion;
4
6
  export declare const LEGACY_MAP_STRUCTURE_VERSIONS: readonly number[];
@@ -9,6 +11,7 @@ export type MapNode = {
9
11
  level: MapNodeLevel;
10
12
  title: string;
11
13
  parents: MapEntryId[];
14
+ description?: string;
12
15
  struck?: {
13
16
  reason: string;
14
17
  };
@@ -27,6 +30,10 @@ export declare function isMapForkStatus(value: unknown): value is MapForkStatus;
27
30
  export type MapOptionWalk = {
28
31
  scenario: string;
29
32
  text: string;
33
+ kind?: WalkKind;
34
+ given?: string;
35
+ when?: string;
36
+ then?: string;
30
37
  };
31
38
  export type MapOption = {
32
39
  id: MapOptionId;
@@ -59,6 +66,119 @@ export type MapLink = {
59
66
  esId: string;
60
67
  deliverableId: MapEntryId;
61
68
  };
69
+ export type ExampleStatus = {
70
+ kind: 'proposed';
71
+ } | {
72
+ kind: 'agreed';
73
+ seq: number;
74
+ at: string;
75
+ principal?: string;
76
+ } | {
77
+ kind: 'struck';
78
+ reason: string;
79
+ };
80
+ export declare function isExampleStatus(value: unknown): value is ExampleStatus;
81
+ export type ExampleStatusRestore = {
82
+ id: MapEntryId;
83
+ status: ExampleStatus;
84
+ };
85
+ export type GherkinStep = {
86
+ text: string;
87
+ };
88
+ export type ExamplesTable = {
89
+ columns: string[];
90
+ rows: string[][];
91
+ };
92
+ export type ScenarioDerivationBasis = Omit<MapOptionWalk, 'scenario'>;
93
+ export type ScenarioDerivation = {
94
+ forkId: MapEntryId;
95
+ optionId: MapOptionId;
96
+ walk?: string;
97
+ basis?: ScenarioDerivationBasis;
98
+ };
99
+ export type MapScenario = {
100
+ id: MapEntryId;
101
+ title: string;
102
+ anchors: MapEntryId[];
103
+ given: GherkinStep[];
104
+ when: GherkinStep[];
105
+ then: GherkinStep[];
106
+ examples?: ExamplesTable;
107
+ derivedFrom?: ScenarioDerivation;
108
+ supersedes?: MapEntryId;
109
+ proposedBy: DesignAuthor;
110
+ status: ExampleStatus;
111
+ };
112
+ export type KpiEventFilters = {
113
+ outcome?: KpiFilterOutcome;
114
+ errorCode?: string;
115
+ };
116
+ export type KpiEventSide = {
117
+ esIds: string[];
118
+ filters?: KpiEventFilters;
119
+ };
120
+ export type KpiSource = {
121
+ kind: 'events';
122
+ numerator: KpiEventSide;
123
+ denominator?: KpiEventSide;
124
+ } | {
125
+ kind: 'query';
126
+ datasource: string;
127
+ expr: string;
128
+ };
129
+ export type KpiDefinition = {
130
+ kind: KpiKind;
131
+ unit: string;
132
+ percentile?: number;
133
+ source: KpiSource;
134
+ };
135
+ export type ObservationKpi = {
136
+ mode: 'define';
137
+ definition: KpiDefinition;
138
+ } | {
139
+ mode: 'reference';
140
+ ref: string;
141
+ label?: string;
142
+ };
143
+ export type KpiExpectation = {
144
+ direction: KpiDirection;
145
+ target: number;
146
+ baseline?: number;
147
+ window: string;
148
+ };
149
+ export type MapObservation = {
150
+ id: MapEntryId;
151
+ title: string;
152
+ anchors: MapEntryId[];
153
+ kpi: ObservationKpi;
154
+ expect: KpiExpectation;
155
+ supersedes?: MapEntryId;
156
+ proposedBy: DesignAuthor;
157
+ status: ExampleStatus;
158
+ };
159
+ export type MapExample = MapScenario | MapObservation;
160
+ export type MapExampleLevel = 'scenario' | 'observation';
161
+ export declare const MAP_EXAMPLE_ID_PREFIX: {
162
+ readonly [Level in MapExampleLevel]: string;
163
+ };
164
+ export declare const MAP_EXAMPLE_ID_PATTERN: RegExp;
165
+ export declare function isMapExampleLevel(value: unknown): value is MapExampleLevel;
166
+ export type CoverageLink = {
167
+ esId: string;
168
+ scenarioId: MapEntryId;
169
+ };
170
+ export type MapAgreedSnapshot = {
171
+ seq: number;
172
+ at: string;
173
+ ids: MapEntryId[];
174
+ decided: Record<MapEntryId, MapOptionId>;
175
+ };
176
+ export type ReviewFlag = {
177
+ esId: string;
178
+ deliverableId: MapEntryId;
179
+ cause: string;
180
+ verb: OpVerb;
181
+ };
62
182
  export type MapFile = {
63
183
  structureVersion: MapStructureVersion;
64
184
  shape?: MapShape;
@@ -66,11 +186,18 @@ export type MapFile = {
66
186
  nodes: MapNode[];
67
187
  forks: MapFork[];
68
188
  links: MapLink[];
189
+ scenarios: MapScenario[];
190
+ observations: MapObservation[];
191
+ coverage: CoverageLink[];
192
+ agreedAt?: MapAgreedSnapshot;
193
+ review?: ReviewFlag[];
69
194
  };
70
195
  export type MapGroundOpPayload = {
71
196
  shape: MapShape;
72
197
  };
73
- export type MapPostNodeEntry = Omit<MapNode, 'struck'>;
198
+ export type MapPostNodeEntry = Omit<MapNode, 'struck'> & {
199
+ byFork?: MapEntryId;
200
+ };
74
201
  export type MapPostForkEntry = Omit<MapFork, 'status'> & {
75
202
  level: 'fork';
76
203
  };
@@ -78,17 +205,51 @@ export type MapPostEntry = MapPostNodeEntry | MapPostForkEntry;
78
205
  export type MapPostOpPayload = MapPostEntry & {
79
206
  prior?: MapEntry;
80
207
  };
208
+ export type MapPostScenarioEntry = Omit<MapScenario, 'id' | 'proposedBy' | 'status'> & {
209
+ level: 'scenario';
210
+ id?: MapEntryId;
211
+ covers?: string[];
212
+ };
213
+ export type MapPostObservationEntry = Omit<MapObservation, 'id' | 'proposedBy' | 'status'> & {
214
+ level: 'observation';
215
+ id?: MapEntryId;
216
+ };
217
+ export type MapPostExampleEntry = MapPostScenarioEntry | MapPostObservationEntry;
218
+ export type MapPostExampleOpPayload = (Omit<MapPostScenarioEntry, 'id'> & {
219
+ id: MapEntryId;
220
+ proposedBy: DesignAuthor;
221
+ prior?: MapScenario;
222
+ }) | (Omit<MapPostObservationEntry, 'id'> & {
223
+ id: MapEntryId;
224
+ proposedBy: DesignAuthor;
225
+ prior?: MapObservation;
226
+ });
227
+ export type MapAgreeOpPayload = {
228
+ id: MapEntryId;
229
+ seenSeq: number;
230
+ seq: number;
231
+ at: string;
232
+ principal?: string;
233
+ };
234
+ export type MapExampleWithdrawal = {
235
+ level: MapExampleLevel;
236
+ id: MapEntryId;
237
+ prior?: MapExample;
238
+ coverage?: CoverageLink[];
239
+ };
81
240
  export type MapWithdrawal = {
82
241
  entries: MapEntry[];
83
242
  prior?: MapEntry[];
243
+ example?: MapExampleWithdrawal;
84
244
  };
85
245
  export type MapStrikeOpPayload = {
86
246
  id: MapEntryId;
87
247
  reason: string;
248
+ byFork?: MapEntryId;
88
249
  };
89
250
  export type MapChooseOpPayload = {
90
251
  fork: MapEntryId;
91
- option: MapOptionId;
252
+ option: MapOptionId | null;
92
253
  seenSeq: number;
93
254
  source: DecidedSource;
94
255
  prior?: MapForkStatus;
@@ -96,10 +257,18 @@ export type MapChooseOpPayload = {
96
257
  export type MapLinkOpPayload = MapLink & {
97
258
  added?: false;
98
259
  };
260
+ export type MapCoverOpPayload = CoverageLink & {
261
+ added?: false;
262
+ };
263
+ export type MapUncoverRequest = CoverageLink;
264
+ export type MapUncoverOpPayload = CoverageLink & {
265
+ removed: CoverageLink[];
266
+ };
99
267
  export declare const MAP_ID_PATTERN: RegExp;
100
268
  export declare function isMapId(value: unknown): value is MapEntryId;
101
269
  export declare function isMapFork(entry: MapEntry): entry is MapFork;
102
270
  export declare function emptyMap(): MapFile;
271
+ export declare function withExampleArrays<Map extends Partial<Pick<MapFile, 'scenarios' | 'observations' | 'coverage'>>>(map: Map): Map & Pick<MapFile, 'scenarios' | 'observations' | 'coverage'>;
103
272
  export type MapReadStatus = 'ok' | 'migrated' | 'unreadable' | 'unsupported-structure-version';
104
273
  export type MapRead = {
105
274
  map: MapFile;
@@ -1 +1 @@
1
- {"version":3,"file":"map-structure.d.ts","sourceRoot":"","sources":["../../src/map-structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map-structure.d.ts","sourceRoot":"","sources":["../../src/map-structure.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,26 @@ export function isMapForkStatus(value) {
12
12
  default: return false;
13
13
  }
14
14
  }
15
+ export function isExampleStatus(value) {
16
+ if (value === null || typeof value !== 'object')
17
+ return false;
18
+ const status = value;
19
+ switch (status.kind) {
20
+ case 'proposed': return true;
21
+ case 'agreed': return Number.isInteger(status.seq) && typeof status.at === 'string'
22
+ && (status.principal === undefined || typeof status.principal === 'string');
23
+ case 'struck': return typeof status.reason === 'string';
24
+ default: return false;
25
+ }
26
+ }
27
+ export const MAP_EXAMPLE_ID_PREFIX = Object.freeze({
28
+ scenario: 'SCN',
29
+ observation: 'OBS'
30
+ });
31
+ export const MAP_EXAMPLE_ID_PATTERN = /^(SCN|OBS)-[0-9A-HJKMNP-TV-Z]{8}$/;
32
+ export function isMapExampleLevel(value) {
33
+ return value === 'scenario' || value === 'observation';
34
+ }
15
35
  export const MAP_ID_PATTERN = /^[A-Za-z0-9-]+$/;
16
36
  export function isMapId(value) {
17
37
  return typeof value === 'string' && MAP_ID_PATTERN.test(value);
@@ -20,7 +40,26 @@ export function isMapFork(entry) {
20
40
  return !('level' in entry);
21
41
  }
22
42
  export function emptyMap() {
23
- return { structureVersion: MAP_STRUCTURE_VERSION, grounded: false, nodes: [], forks: [], links: [] };
43
+ return {
44
+ structureVersion: MAP_STRUCTURE_VERSION,
45
+ grounded: false,
46
+ nodes: [],
47
+ forks: [],
48
+ links: [],
49
+ scenarios: [],
50
+ observations: [],
51
+ coverage: []
52
+ };
53
+ }
54
+ // ESAS-287 (F11): the example arrays are required on MapFile but absent from anything stored before
55
+ // them, so a read boundary defaults them to [] (additive; no structureVersion bump).
56
+ export function withExampleArrays(map) {
57
+ return {
58
+ ...map,
59
+ scenarios: Array.isArray(map.scenarios) ? map.scenarios : [],
60
+ observations: Array.isArray(map.observations) ? map.observations : [],
61
+ coverage: Array.isArray(map.coverage) ? map.coverage : []
62
+ };
24
63
  }
25
64
  export function readMapDocument(value) {
26
65
  if (typeof value !== 'object' || value === null || Array.isArray(value)) {
@@ -29,10 +68,10 @@ export function readMapDocument(value) {
29
68
  const document = value;
30
69
  const observed = document.structureVersion;
31
70
  if (observed === MAP_STRUCTURE_VERSION)
32
- return { map: document, status: 'ok' };
71
+ return { map: withExampleArrays(document), status: 'ok' };
33
72
  if (observed === undefined || LEGACY_MAP_STRUCTURE_VERSIONS.includes(observed)) {
34
73
  return {
35
- map: { ...document, structureVersion: MAP_STRUCTURE_VERSION },
74
+ map: { ...withExampleArrays(document), structureVersion: MAP_STRUCTURE_VERSION },
36
75
  status: 'migrated'
37
76
  };
38
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"map-structure.js","sourceRoot":"","sources":["../../src/map-structure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI5G,MAAM,CAAC,MAAM,qBAAqB,GAAwB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,6BAA6B,GAAsB,CAAE,CAAC,CAAE,CAAC;AAmBtE,MAAM,UAAU,eAAe,CAAE,KAAc;IAC7C,IAAK,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAG,OAAO,KAAK,CAAC;IAChE,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,QAAS,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC;QACzB,KAAK,SAAS,CAAC,CAAC,OAAO,eAAe,CAAE,MAAM,CAAC,MAAM,CAAE,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC7F,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;QACtD,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;IACxB,CAAC;AACH,CAAC;AAmFD,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEhD,MAAM,UAAU,OAAO,CAAE,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,SAAS,CAAE,KAAe;IACxC,OAAO,CAAC,CAAE,OAAO,IAAI,KAAK,CAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACvG,CAAC;AAcD,MAAM,UAAU,eAAe,CAAE,KAAc;IAC7C,IAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAE,KAAK,CAAE,EAAC,CAAC;QAC1E,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;IAC/F,CAAC;IAED,MAAM,QAAQ,GAAG,KAA0D,CAAC;IAC5E,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC;IAE3C,IAAK,QAAQ,KAAK,qBAAqB;QAAG,OAAO,EAAE,GAAG,EAAE,QAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAE5F,IAAK,QAAQ,KAAK,SAAS,IAAI,6BAA6B,CAAC,QAAQ,CAAE,QAAkB,CAAE,EAAC,CAAC;QAC3F,OAAO;YACL,GAAG,EAAE,EAAE,GAAK,QAAqB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE;YAC5E,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,QAAQ,EAAE;QACf,MAAM,EAAE,+BAA+B;QACvC,KAAK,EAAE,yCAA0C,IAAI,CAAC,SAAS,CAAE,QAAQ,CAAG,qBAAqB;cAC7F,GAAI,CAAE,GAAG,6BAA6B,EAAE,qBAAqB,CAAE,CAAC,IAAI,CAAE,IAAI,CAAG,EAAE;KACpF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"map-structure.js","sourceRoot":"","sources":["../../src/map-structure.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAM7B,MAAM,CAAC,MAAM,qBAAqB,GAAwB,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,6BAA6B,GAAsB,CAAE,CAAC,CAAE,CAAC;AAqBtE,MAAM,UAAU,eAAe,CAAE,KAAc;IAC7C,IAAK,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAG,OAAO,KAAK,CAAC;IAChE,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,QAAS,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,CAAC,OAAO,IAAI,CAAC;QACzB,KAAK,SAAS,CAAC,CAAC,OAAO,eAAe,CAAE,MAAM,CAAC,MAAM,CAAE,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC7F,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;QACtD,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;IACxB,CAAC;AACH,CAAC;AAuDD,MAAM,UAAU,eAAe,CAAE,KAAc;IAC7C,IAAK,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAG,OAAO,KAAK,CAAC;IAChE,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,QAAS,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC;QAC7B,KAAK,QAAQ,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,CAAE,MAAM,CAAC,GAAG,CAAE,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,QAAQ;eAChF,CAAE,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAE,CAAC;QAChF,KAAK,QAAQ,CAAC,CAAC,OAAO,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC;QACxD,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC;IACxB,CAAC;AACH,CAAC;AAyFD,MAAM,CAAC,MAAM,qBAAqB,GAAsD,MAAM,CAAC,MAAM,CAAC;IACpG,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,KAAK;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,mCAAmC,CAAC;AAE1E,MAAM,UAAU,iBAAiB,CAAE,KAAc;IAC/C,OAAO,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,aAAa,CAAC;AACzD,CAAC;AAiID,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEhD,MAAM,UAAU,OAAO,CAAE,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,SAAS,CAAE,KAAe;IACxC,OAAO,CAAC,CAAE,OAAO,IAAI,KAAK,CAAE,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,QAAQ;IACtB,OAAO;QACL,gBAAgB,EAAE,qBAAqB;QACvC,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED,oGAAoG;AACpG,qFAAqF;AACrF,MAAM,UAAU,iBAAiB,CAAiF,GAAQ;IACxH,OAAO;QACL,GAAG,GAAG;QACN,SAAS,EAAE,KAAK,CAAC,OAAO,CAAE,GAAG,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;QAC9D,YAAY,EAAE,KAAK,CAAC,OAAO,CAAE,GAAG,CAAC,YAAY,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;QACvE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAE,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;KAC5D,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,eAAe,CAAE,KAAc;IAC7C,IAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAE,KAAK,CAAE,EAAC,CAAC;QAC1E,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;IAC/F,CAAC;IAED,MAAM,QAAQ,GAAG,KAA0D,CAAC;IAC5E,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC;IAE3C,IAAK,QAAQ,KAAK,qBAAqB;QAAG,OAAO,EAAE,GAAG,EAAE,iBAAiB,CAAE,QAAmB,CAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAEjH,IAAK,QAAQ,KAAK,SAAS,IAAI,6BAA6B,CAAC,QAAQ,CAAE,QAAkB,CAAE,EAAC,CAAC;QAC3F,OAAO;YACL,GAAG,EAAE,EAAE,GAAG,iBAAiB,CAAE,QAAmB,CAAE,EAAE,gBAAgB,EAAE,qBAAqB,EAAE;YAC7F,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,EAAE,QAAQ,EAAE;QACf,MAAM,EAAE,+BAA+B;QACvC,KAAK,EAAE,yCAA0C,IAAI,CAAC,SAAS,CAAE,QAAQ,CAAG,qBAAqB;cAC7F,GAAI,CAAE,GAAG,6BAA6B,EAAE,qBAAqB,CAAE,CAAC,IAAI,CAAE,IAAI,CAAG,EAAE;KACpF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- export type MapSchemaVersion = 2;
1
+ export type MapSchemaVersion = 3;
2
2
  export declare const MAP_SCHEMA_VERSION: MapSchemaVersion;
3
3
  export type ForkStatusKind = 'open' | 'decided' | 'moot';
4
4
  export declare const FORK_STATUS_KINDS: readonly ForkStatusKind[];
@@ -12,6 +12,27 @@ export declare function isMapNodeLevel(value: unknown): value is MapNodeLevel;
12
12
  export type MapShape = 'impact' | 'decision';
13
13
  export declare const MAP_SHAPES: readonly MapShape[];
14
14
  export declare function isMapShape(value: unknown): value is MapShape;
15
+ export type ExampleStatusKind = 'proposed' | 'agreed' | 'struck';
16
+ export declare const EXAMPLE_STATUS_KINDS: readonly ExampleStatusKind[];
17
+ export declare function isExampleStatusKind(value: unknown): value is ExampleStatusKind;
18
+ export type KpiMode = 'define' | 'reference';
19
+ export declare const KPI_MODES: readonly KpiMode[];
20
+ export declare function isKpiMode(value: unknown): value is KpiMode;
21
+ export type KpiKind = 'counter' | 'rate' | 'ratio' | 'duration-percentile' | 'gauge';
22
+ export declare const KPI_KINDS: readonly KpiKind[];
23
+ export declare function isKpiKind(value: unknown): value is KpiKind;
24
+ export type KpiDirection = 'up' | 'down' | 'hold';
25
+ export declare const KPI_DIRECTIONS: readonly KpiDirection[];
26
+ export declare function isKpiDirection(value: unknown): value is KpiDirection;
27
+ export type KpiSourceKind = 'events' | 'query';
28
+ export declare const KPI_SOURCE_KINDS: readonly KpiSourceKind[];
29
+ export declare function isKpiSourceKind(value: unknown): value is KpiSourceKind;
30
+ export type KpiFilterOutcome = 'ok' | 'rejected';
31
+ export declare const KPI_FILTER_OUTCOMES: readonly KpiFilterOutcome[];
32
+ export declare function isKpiFilterOutcome(value: unknown): value is KpiFilterOutcome;
33
+ export type WalkKind = 'behavioral' | 'structural';
34
+ export declare const WALK_KINDS: readonly WalkKind[];
35
+ export declare function isWalkKind(value: unknown): value is WalkKind;
15
36
  export type MapSchemaVocabulary = {
16
37
  type: 'string';
17
38
  description: string;
@@ -27,6 +48,13 @@ export type MapSchemaDocument = {
27
48
  decidedSource: MapSchemaVocabulary;
28
49
  mapNodeLevel: MapSchemaVocabulary;
29
50
  mapShape: MapSchemaVocabulary;
51
+ exampleStatusKind: MapSchemaVocabulary;
52
+ kpiMode: MapSchemaVocabulary;
53
+ kpiKind: MapSchemaVocabulary;
54
+ kpiDirection: MapSchemaVocabulary;
55
+ kpiSourceKind: MapSchemaVocabulary;
56
+ kpiFilterOutcome: MapSchemaVocabulary;
57
+ walkKind: MapSchemaVocabulary;
30
58
  };
31
59
  };
32
60
  export declare function mapSchemaDocument(): MapSchemaDocument;
@@ -1 +1 @@
1
- {"version":3,"file":"map-vocabulary.d.ts","sourceRoot":"","sources":["../../src/map-vocabulary.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAEjC,eAAO,MAAM,kBAAkB,EAAE,gBAAoB,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAEtD,CAAC;AAEF,wBAAgB,gBAAgB,CAAE,KAAK,EAAE,OAAO,GAAI,KAAK,IAAI,cAAc,CAE1E;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAEhE,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAEnD,CAAC;AAEF,wBAAgB,eAAe,CAAE,KAAK,EAAE,OAAO,GAAI,KAAK,IAAI,aAAa,CAExE;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE1E,eAAO,MAAM,eAAe,EAAE,SAAS,YAAY,EAKhD,CAAC;AAEJ,wBAAgB,cAAc,CAAE,KAAK,EAAE,OAAO,GAAI,KAAK,IAAI,YAAY,CAEtE;AAED,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE7C,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAA8C,CAAC;AAEzF,wBAAgB,UAAU,CAAE,KAAK,EAAE,OAAO,GAAI,KAAK,IAAI,QAAQ,CAE9D;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,gBAAgB,CAAC;IAChC,KAAK,EAAE;QACL,cAAc,EAAE,mBAAmB,CAAC;QACpC,aAAa,EAAE,mBAAmB,CAAC;QACnC,YAAY,EAAE,mBAAmB,CAAC;QAClC,QAAQ,EAAE,mBAAmB,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,wBAAgB,iBAAiB,IAAI,iBAAiB,CAgCrD;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,eAAe,GAAG,cAAc,GAAG,UAAU,CAAC;AAEjG,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC9C,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAChD,CAAC;AA8BF,wBAAgB,qBAAqB,CAAE,QAAQ,EAAE,OAAO,GAAI,uBAAuB,CAyElF"}
1
+ {"version":3,"file":"map-vocabulary.d.ts","sourceRoot":"","sources":["../../src/map-vocabulary.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export const MAP_SCHEMA_VERSION = 2;
1
+ export const MAP_SCHEMA_VERSION = 3;
2
2
  export const FORK_STATUS_KINDS = Object.freeze(['open', 'decided', 'moot']);
3
3
  export function isForkStatusKind(value) {
4
4
  return typeof value === 'string' && FORK_STATUS_KINDS.includes(value);
@@ -20,6 +20,34 @@ export const MAP_SHAPES = Object.freeze(['impact', 'decision']);
20
20
  export function isMapShape(value) {
21
21
  return typeof value === 'string' && MAP_SHAPES.includes(value);
22
22
  }
23
+ export const EXAMPLE_STATUS_KINDS = Object.freeze(['proposed', 'agreed', 'struck']);
24
+ export function isExampleStatusKind(value) {
25
+ return typeof value === 'string' && EXAMPLE_STATUS_KINDS.includes(value);
26
+ }
27
+ export const KPI_MODES = Object.freeze(['define', 'reference']);
28
+ export function isKpiMode(value) {
29
+ return typeof value === 'string' && KPI_MODES.includes(value);
30
+ }
31
+ export const KPI_KINDS = Object.freeze(['counter', 'rate', 'ratio', 'duration-percentile', 'gauge']);
32
+ export function isKpiKind(value) {
33
+ return typeof value === 'string' && KPI_KINDS.includes(value);
34
+ }
35
+ export const KPI_DIRECTIONS = Object.freeze(['up', 'down', 'hold']);
36
+ export function isKpiDirection(value) {
37
+ return typeof value === 'string' && KPI_DIRECTIONS.includes(value);
38
+ }
39
+ export const KPI_SOURCE_KINDS = Object.freeze(['events', 'query']);
40
+ export function isKpiSourceKind(value) {
41
+ return typeof value === 'string' && KPI_SOURCE_KINDS.includes(value);
42
+ }
43
+ export const KPI_FILTER_OUTCOMES = Object.freeze(['ok', 'rejected']);
44
+ export function isKpiFilterOutcome(value) {
45
+ return typeof value === 'string' && KPI_FILTER_OUTCOMES.includes(value);
46
+ }
47
+ export const WALK_KINDS = Object.freeze(['behavioral', 'structural']);
48
+ export function isWalkKind(value) {
49
+ return typeof value === 'string' && WALK_KINDS.includes(value);
50
+ }
23
51
  export function mapSchemaDocument() {
24
52
  return {
25
53
  $schema: 'https://json-schema.org/draft/2020-12/schema',
@@ -48,6 +76,41 @@ export function mapSchemaDocument() {
48
76
  type: 'string',
49
77
  description: 'How a map is drawn: impact columns or a decision tree.',
50
78
  enum: [...MAP_SHAPES]
79
+ },
80
+ exampleStatusKind: {
81
+ type: 'string',
82
+ description: 'Where a scenario or observation stands; only a human agrees one.',
83
+ enum: [...EXAMPLE_STATUS_KINDS]
84
+ },
85
+ kpiMode: {
86
+ type: 'string',
87
+ description: 'Whether an observation defines a new KPI or references one the APM already tracks.',
88
+ enum: [...KPI_MODES]
89
+ },
90
+ kpiKind: {
91
+ type: 'string',
92
+ description: 'What a defined KPI measures.',
93
+ enum: [...KPI_KINDS]
94
+ },
95
+ kpiDirection: {
96
+ type: 'string',
97
+ description: 'Which way an observation expects its KPI to move.',
98
+ enum: [...KPI_DIRECTIONS]
99
+ },
100
+ kpiSourceKind: {
101
+ type: 'string',
102
+ description: 'Where a defined KPI is read from: eventstorming ids, or a query on a logical datasource role.',
103
+ enum: [...KPI_SOURCE_KINDS]
104
+ },
105
+ kpiFilterOutcome: {
106
+ type: 'string',
107
+ description: 'The logical outcome a KPI event side may be filtered on.',
108
+ enum: [...KPI_FILTER_OUTCOMES]
109
+ },
110
+ walkKind: {
111
+ type: 'string',
112
+ description: 'Whether a fork option\'s walk describes behaviour or structure.',
113
+ enum: [...WALK_KINDS]
51
114
  }
52
115
  }
53
116
  };
@@ -1 +1 @@
1
- {"version":3,"file":"map-vocabulary.js","sourceRoot":"","sources":["../../src/map-vocabulary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map-vocabulary.js","sourceRoot":"","sources":["../../src/map-vocabulary.ts"],"names":[],"mappings":"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"}