@milehimikey/em 1.11.0 → 1.13.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 (154) hide show
  1. package/.claude/skills/event-modeling/SKILL.md +4 -2
  2. package/.claude/skills/event-modeling-conform/SKILL.md +20 -9
  3. package/.claude/skills/event-modeling-conform/reference/conform.md +107 -10
  4. package/.claude/skills/event-modeling-design/SKILL.md +22 -6
  5. package/.claude/skills/event-modeling-discover/SKILL.md +1 -1
  6. package/.claude/skills/event-modeling-implement/SKILL.md +12 -6
  7. package/.claude/skills/event-modeling-implement/reference/implement.md +165 -18
  8. package/.claude/skills/event-modeling-review/SKILL.md +5 -1
  9. package/.claude/skills/event-modeling-shared/reference/em-dsl.md +57 -8
  10. package/.claude/skills/event-modeling-shared/reference/operating-principles.md +13 -3
  11. package/.claude/skills/event-modeling-shared/reference/slice-doc-schema.md +69 -0
  12. package/.claude/skills/event-modeling-shared/templates/conformance-report.md +8 -1
  13. package/.claude/skills/event-modeling-shared/templates/constitution.md +8 -1
  14. package/.claude/skills/event-modeling-shared/templates/state.md +3 -0
  15. package/README.md +1 -0
  16. package/dist/catalog/build.js +42 -1
  17. package/dist/catalog/build.js.map +1 -1
  18. package/dist/catalog/coverage.d.ts +15 -0
  19. package/dist/catalog/coverage.js +34 -0
  20. package/dist/catalog/coverage.js.map +1 -0
  21. package/dist/catalog/docJoin.d.ts +20 -2
  22. package/dist/catalog/docJoin.js +32 -4
  23. package/dist/catalog/docJoin.js.map +1 -1
  24. package/dist/catalog/docModelConsistencyValidate.js +1 -1
  25. package/dist/catalog/docModelConsistencyValidate.js.map +1 -1
  26. package/dist/catalog/driftSignal.d.ts +11 -5
  27. package/dist/catalog/driftSignal.js +18 -4
  28. package/dist/catalog/driftSignal.js.map +1 -1
  29. package/dist/catalog/modelVersionValidate.d.ts +9 -0
  30. package/dist/catalog/modelVersionValidate.js +38 -0
  31. package/dist/catalog/modelVersionValidate.js.map +1 -0
  32. package/dist/catalog/noteBindingValidate.js +18 -0
  33. package/dist/catalog/noteBindingValidate.js.map +1 -1
  34. package/dist/catalog/orphanedSliceDocValidate.d.ts +8 -1
  35. package/dist/catalog/orphanedSliceDocValidate.js +33 -6
  36. package/dist/catalog/orphanedSliceDocValidate.js.map +1 -1
  37. package/dist/catalog/pages.d.ts +16 -1
  38. package/dist/catalog/pages.js +16 -4
  39. package/dist/catalog/pages.js.map +1 -1
  40. package/dist/catalog/sliceDoc.d.ts +12 -0
  41. package/dist/catalog/sliceDoc.js +15 -0
  42. package/dist/catalog/sliceDoc.js.map +1 -1
  43. package/dist/catalog/sliceReadyValidate.d.ts +12 -1
  44. package/dist/catalog/sliceReadyValidate.js +4 -4
  45. package/dist/catalog/sliceReadyValidate.js.map +1 -1
  46. package/dist/cli/agentsMd.js +9 -3
  47. package/dist/cli/agentsMd.js.map +1 -1
  48. package/dist/cli/ciInit.js +20 -0
  49. package/dist/cli/ciInit.js.map +1 -1
  50. package/dist/cli/conformScope.d.ts +1 -0
  51. package/dist/cli/conformScope.js +13 -4
  52. package/dist/cli/conformScope.js.map +1 -1
  53. package/dist/cli/conformSupersede.d.ts +24 -2
  54. package/dist/cli/conformSupersede.js +44 -3
  55. package/dist/cli/conformSupersede.js.map +1 -1
  56. package/dist/cli/coverage.d.ts +34 -9
  57. package/dist/cli/coverage.js +61 -24
  58. package/dist/cli/coverage.js.map +1 -1
  59. package/dist/cli/findings.d.ts +134 -0
  60. package/dist/cli/findings.js +355 -0
  61. package/dist/cli/findings.js.map +1 -0
  62. package/dist/cli/markImplemented.js +12 -1
  63. package/dist/cli/markImplemented.js.map +1 -1
  64. package/dist/cli/metrics.d.ts +93 -0
  65. package/dist/cli/metrics.js +331 -0
  66. package/dist/cli/metrics.js.map +1 -0
  67. package/dist/cli/modelVersion.d.ts +139 -0
  68. package/dist/cli/modelVersion.js +256 -0
  69. package/dist/cli/modelVersion.js.map +1 -0
  70. package/dist/cli/ratify.js +17 -1
  71. package/dist/cli/ratify.js.map +1 -1
  72. package/dist/cli/reratify.d.ts +17 -0
  73. package/dist/cli/reratify.js +37 -2
  74. package/dist/cli/reratify.js.map +1 -1
  75. package/dist/cli/review.js +12 -1
  76. package/dist/cli/review.js.map +1 -1
  77. package/dist/cli/skillCheck.js +2 -2
  78. package/dist/cli/skillCheck.js.map +1 -1
  79. package/dist/cli/sliceConform.d.ts +50 -0
  80. package/dist/cli/sliceConform.js +206 -0
  81. package/dist/cli/sliceConform.js.map +1 -0
  82. package/dist/cli/sliceIndex.d.ts +2 -0
  83. package/dist/cli/sliceIndex.js +24 -7
  84. package/dist/cli/sliceIndex.js.map +1 -1
  85. package/dist/cli/sliceLink.js +16 -0
  86. package/dist/cli/sliceLink.js.map +1 -1
  87. package/dist/cli/sliceNew.d.ts +12 -0
  88. package/dist/cli/sliceNew.js +23 -0
  89. package/dist/cli/sliceNew.js.map +1 -1
  90. package/dist/cli/sliceStubAll.d.ts +76 -0
  91. package/dist/cli/sliceStubAll.js +189 -0
  92. package/dist/cli/sliceStubAll.js.map +1 -0
  93. package/dist/cli/stateFile.d.ts +63 -7
  94. package/dist/cli/stateFile.js +179 -18
  95. package/dist/cli/stateFile.js.map +1 -1
  96. package/dist/cli/status.d.ts +90 -1
  97. package/dist/cli/status.js +151 -16
  98. package/dist/cli/status.js.map +1 -1
  99. package/dist/cli/upgrade.d.ts +122 -0
  100. package/dist/cli/upgrade.js +476 -0
  101. package/dist/cli/upgrade.js.map +1 -0
  102. package/dist/cli.js +586 -66
  103. package/dist/cli.js.map +1 -1
  104. package/dist/emit/coverageJson.d.ts +2 -2
  105. package/dist/emit/coverageJson.js +6 -2
  106. package/dist/emit/coverageJson.js.map +1 -1
  107. package/dist/emit/freshnessJson.d.ts +1 -1
  108. package/dist/emit/freshnessJson.js +3 -1
  109. package/dist/emit/freshnessJson.js.map +1 -1
  110. package/dist/emit/json.d.ts +34 -1
  111. package/dist/emit/json.js +84 -2
  112. package/dist/emit/json.js.map +1 -1
  113. package/dist/emit/metricsJson.d.ts +7 -0
  114. package/dist/emit/metricsJson.js +27 -0
  115. package/dist/emit/metricsJson.js.map +1 -0
  116. package/dist/emit/statusJson.d.ts +1 -1
  117. package/dist/emit/statusJson.js +22 -1
  118. package/dist/emit/statusJson.js.map +1 -1
  119. package/dist/emit/upgradeJson.d.ts +5 -0
  120. package/dist/emit/upgradeJson.js +26 -0
  121. package/dist/emit/upgradeJson.js.map +1 -0
  122. package/dist/emit/validateJson.d.ts +10 -5
  123. package/dist/emit/validateJson.js +22 -8
  124. package/dist/emit/validateJson.js.map +1 -1
  125. package/dist/mcp/server.d.ts +1 -1
  126. package/dist/mcp/server.js +151 -22
  127. package/dist/mcp/server.js.map +1 -1
  128. package/dist/model/continuation.d.ts +23 -0
  129. package/dist/model/continuation.js +49 -0
  130. package/dist/model/continuation.js.map +1 -0
  131. package/dist/model/queryIndex.js +1 -1
  132. package/dist/model/queryIndex.js.map +1 -1
  133. package/dist/model/rules.d.ts +13 -0
  134. package/dist/model/rules.js +18 -0
  135. package/dist/model/rules.js.map +1 -1
  136. package/dist/model/sliceDocIndex.d.ts +12 -5
  137. package/dist/model/sliceDocIndex.js +18 -7
  138. package/dist/model/sliceDocIndex.js.map +1 -1
  139. package/dist/model/validate.d.ts +20 -0
  140. package/dist/model/validate.js +94 -45
  141. package/dist/model/validate.js.map +1 -1
  142. package/dist/render/sliceStatus.d.ts +3 -3
  143. package/dist/render/sliceStatus.js +27 -29
  144. package/dist/render/sliceStatus.js.map +1 -1
  145. package/dist/templates.d.ts +3 -3
  146. package/dist/templates.js +15 -2
  147. package/dist/templates.js.map +1 -1
  148. package/dist/util/localDate.d.ts +2 -0
  149. package/dist/util/localDate.js +17 -0
  150. package/dist/util/localDate.js.map +1 -0
  151. package/dist/util/semver.d.ts +19 -0
  152. package/dist/util/semver.js +54 -0
  153. package/dist/util/semver.js.map +1 -0
  154. package/package.json +1 -1
package/dist/emit/json.js CHANGED
@@ -18,6 +18,7 @@ import { resolveLoopsToTarget, semanticEdges } from "../model/edges.js";
18
18
  import { classifySlicePattern } from "../catalog/classify.js";
19
19
  import { resolveSliceDocJoin } from "../catalog/docJoin.js";
20
20
  import { validateNoteBindings } from "../catalog/noteBindingValidate.js";
21
+ import { findCertifiedVersion, latestModelVersionNumber } from "../cli/modelVersion.js";
21
22
  // Read once from package.json (two levels up from src/emit/ and dist/emit/
22
23
  // alike) so `generator.version` can never drift from the released version.
23
24
  // tsconfig targets NodeNext without resolveJsonModule, hence fs over import.
@@ -94,7 +95,35 @@ export const GENERATOR_VERSION = JSON.parse(readFileSync(join(dirname(fileURLToP
94
95
  // `fields-completeness/view-field-no-source`; the traced form's names must resolve among
95
96
  // the view's actual sources (`derived-from-unresolved` otherwise). See model/validate.ts.
96
97
  // Additive-only.
97
- export const SCHEMA_VERSION = "1.11";
98
+ // 1.12 (MIL-208, "an `again` view instance is a continuation of its originating slice"):
99
+ // - `slice.continuationOf: string | null` — non-null when this slice is a continuation (an
100
+ // again-view-only slice with no legacy doc of its own): the originating slice's export key.
101
+ // `slice.doc` is byte-identical to the originating slice's own `doc` in that case (see
102
+ // `catalog/docJoin.ts`'s `resolveSliceDocJoin`) — `continuationOf` is what says why. Null
103
+ // for every ordinary slice, and for a continuation slice that still carries its own legacy
104
+ // doc (migration path — a `continuation-has-own-doc` warning fires instead, model/rules.ts).
105
+ // - `slice.alsoReads: { event, atSlice }[]` — for the slice holding a view's ORIGINATING
106
+ // declaration, the union of events every later `again` instance of that view reads via
107
+ // `from`, in timeline order, deduped by `(event, atSlice)`. `[]` for every other slice
108
+ // (including an again-slice's own entry — only the origin carries the union). See
109
+ // `model/continuation.ts` for the shared predicate/resolution both fields are built on.
110
+ // Additive-only.
111
+ // 1.13 (MIL-214, "certification is per slice per version"): `slice.doc` gains
112
+ // `conformedVersion`/`conformedAt`/`conformedOn` — the version, target-repo revision, and local
113
+ // date a conform sweep last certified this slice (frontmatter `conformedVersion:`/
114
+ // `conformedAt:`/`conformedOn:`), written only by `em slice conform`. All three null when never
115
+ // certified. Also: `slice.doc.driftSignal` gains a new possible value, `"uncertified"` (status:
116
+ // implemented, implementedIn set, but `conformedVersion` is absent or doesn't match the current
117
+ // `version`) — see catalog/driftSignal.ts. Additive-only (new optional fields, new enum member
118
+ // on an existing string field).
119
+ // 1.14 (MIL-218, "model-level version"): `model.version` — `{ design: N|null, certified: {
120
+ // version, at, on } | null }`. `design` is the highest `em model version bump`-written
121
+ // `model-versions/v<N>.json` beside the `.em` file (null if never bumped); `certified` names
122
+ // the most recently CERTIFIED design version (from that manifest's own `certified` field,
123
+ // written by a full, non-`--partial` `em state set-conformance`) — which need not equal
124
+ // `design` itself, since a later bump can outrun certification. See src/cli/modelVersion.ts.
125
+ // Additive-only.
126
+ export const SCHEMA_VERSION = "1.14";
98
127
  /**
99
128
  * Export a single field, additively: `name`/`type` are exactly what today's consumers already
100
129
  * see. `typeRef` is the new, purely-additive key — non-null only when `type` (bare or `[]`-
@@ -161,6 +190,22 @@ export function buildSliceExport(model, refs, diagnostics, source, path, sliceKe
161
190
  };
162
191
  return { text: JSON.stringify(sliceDoc, null, 2), found: true, diagnostics: allDiagnostics };
163
192
  }
193
+ /** MIL-218, schema 1.14: `model.version` — read straight from `model-versions/*.json` beside
194
+ * the `.em` file (never from the model/refs themselves; a design version is a human-bumped
195
+ * fact, not derived from the model's own content). `design` is the highest bumped version, or
196
+ * `null` if `em model version bump` has never run here. `certified` names the most recently
197
+ * CERTIFIED design version — `findCertifiedVersion`'s own "newest certified wins, not
198
+ * necessarily newest bumped" contract — which need not equal `design` itself. */
199
+ function modelVersionExport(baseDir) {
200
+ const design = latestModelVersionNumber(baseDir);
201
+ const certifiedFound = findCertifiedVersion(baseDir);
202
+ return {
203
+ design,
204
+ certified: certifiedFound
205
+ ? { version: certifiedFound.version, at: certifiedFound.certified.at, on: certifiedFound.certified.on }
206
+ : null,
207
+ };
208
+ }
164
209
  /** The shared body of `buildExport`/`buildSliceExport`: builds the full export document as a
165
210
  * JS object (pre-stringify) so a scoped export can pick one slice back out without
166
211
  * re-parsing JSON text or re-deriving the doc join. See `buildExport`'s own docstring for the
@@ -186,6 +231,38 @@ export function buildExportDoc(model, refs, diagnostics, source, path) {
186
231
  return null;
187
232
  return el.loopsTo.map((name) => ({ name, ref: refOf(resolveLoopsToTarget(model, el, name)?.id) }));
188
233
  };
234
+ // MIL-208: `slice.alsoReads` — for each view element THIS slice declares that is itself an
235
+ // originating (non-`again`) declaration, the union of events every later `again` instance of
236
+ // that view reads via `from`, across the whole model, merged in origin-view declaration order
237
+ // and then instance timeline order (`sliceIndex` ascending). A slice with no originating view
238
+ // element (an ordinary command/event/processor slice, or an `again`-only continuation slice —
239
+ // only the ORIGIN carries the union, never a later instance) returns `[]`.
240
+ const alsoReadsFor = (slice) => {
241
+ const originViews = slice.elements.filter((el) => el.kind === "view" && el.again !== true);
242
+ if (originViews.length === 0)
243
+ return [];
244
+ const seen = new Set();
245
+ const result = [];
246
+ for (const originEl of originViews) {
247
+ const followers = model.elements
248
+ .filter((other) => other.kind === "view" && other.again === true && other.logicalId === originEl.id)
249
+ .sort((a, b) => a.sliceIndex - b.sliceIndex);
250
+ for (const follower of followers) {
251
+ const atSlice = sliceKeys[follower.sliceIndex];
252
+ for (const name of follower.from ?? []) {
253
+ const ref = refOf(resolveByName(model.byName, name));
254
+ if (!ref)
255
+ continue; // unresolved `from` — validate.ts already errors on this elsewhere
256
+ const dedupeKey = `${ref}|${atSlice}`;
257
+ if (seen.has(dedupeKey))
258
+ continue;
259
+ seen.add(dedupeKey);
260
+ result.push({ event: ref, atSlice });
261
+ }
262
+ }
263
+ }
264
+ return result;
265
+ };
189
266
  // Identity/composite/external DCB tag metadata (MIL-66) — events only in practice (`tag`
190
267
  // clauses are a parse error on any other kind), `null` when the event carries none. Order:
191
268
  // inline field identity tags in field order, then element-level composite/external clauses
@@ -199,7 +276,7 @@ export function buildExportDoc(model, refs, diagnostics, source, path) {
199
276
  // concatenation for both the JSON diagnostics field and the returned ExportResult.
200
277
  const slices = model.slices.map((slice, sliceIndex) => {
201
278
  const sliceKey = sliceKeys[sliceIndex];
202
- const { doc, diagnostics: sliceDocDiags } = resolveSliceDocJoin(slice, sliceKey, baseDir, (id) => refById.get(id));
279
+ const { doc, diagnostics: sliceDocDiags, continuationOf: continuationOfKey } = resolveSliceDocJoin(model, refs, slice, sliceKey, baseDir, (id) => refById.get(id));
203
280
  docDiagnostics.push(...sliceDocDiags);
204
281
  return {
205
282
  key: sliceKey,
@@ -218,6 +295,9 @@ export function buildExportDoc(model, refs, diagnostics, source, path) {
218
295
  // found/reason state machine. Never the markdown body: doc.html/doc.raw never
219
296
  // appear here (the hard boundary the ticket requires).
220
297
  doc,
298
+ // MIL-208, schema 1.12 — see SliceExport's own field comments.
299
+ continuationOf: continuationOfKey,
300
+ alsoReads: alsoReadsFor(slice),
221
301
  elements: slice.elements.map((el) => ({
222
302
  ref: refById.get(el.id),
223
303
  kind: el.kind,
@@ -257,6 +337,8 @@ export function buildExportDoc(model, refs, diagnostics, source, path) {
257
337
  personas: model.personas,
258
338
  contexts: model.contexts,
259
339
  hasAutomation: model.hasAutomation,
340
+ // MIL-218, schema 1.14 — see SCHEMA_VERSION's own doc comment.
341
+ version: modelVersionExport(baseDir),
260
342
  // Declared named types (MIL-64) — independent of the slice timeline, so listed
261
343
  // once here rather than nested inside any slice.
262
344
  types: model.types.map((t) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/emit/json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/emit/json.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { MetricsResult } from "../cli/metrics.js";
2
+ export declare const METRICS_SCHEMA_VERSION = "1.0";
3
+ /** Build the `em metrics <file> --from <rev> [--to <rev>] --json` document. Pretty-printed
4
+ * (2-space), no trailing newline — the caller adds it, same convention as buildStatusJson/
5
+ * buildFreshnessJson. No timestamps or other non-deterministic fields: byte-identical for the
6
+ * same repository state and range. */
7
+ export declare function buildMetricsJson(result: MetricsResult): string;
@@ -0,0 +1,27 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Builds the `em metrics --from <rev> --json` document (MIL-170): a versioned envelope around
3
+ // `MetricsResult` (see ../cli/metrics.ts). Same conventions as statusJson.ts/freshnessJson.ts/
4
+ // ledgerJson.ts: a schema field versioned independently of both the npm package and every other
5
+ // command's own schema — also the exact document the MCP `metrics` tool returns (src/mcp/
6
+ // server.ts), so there is exactly one schema for this surface (MCP parity).
7
+ import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
8
+ // 1.0 (MIL-170): initial shape.
9
+ export const METRICS_SCHEMA_VERSION = "1.0";
10
+ /** Build the `em metrics <file> --from <rev> [--to <rev>] --json` document. Pretty-printed
11
+ * (2-space), no trailing newline — the caller adds it, same convention as buildStatusJson/
12
+ * buildFreshnessJson. No timestamps or other non-deterministic fields: byte-identical for the
13
+ * same repository state and range. */
14
+ export function buildMetricsJson(result) {
15
+ const doc = {
16
+ metricsSchemaVersion: METRICS_SCHEMA_VERSION,
17
+ generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
18
+ from: result.from,
19
+ to: result.to,
20
+ ratificationTurnaround: result.ratificationTurnaround,
21
+ conformCadence: result.conformCadence,
22
+ statusVsReality: result.statusVsReality,
23
+ readinessGateEffect: result.readinessGateEffect,
24
+ };
25
+ return JSON.stringify(doc, null, 2);
26
+ }
27
+ //# sourceMappingURL=metricsJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metricsJson.js","sourceRoot":"","sources":["../../src/emit/metricsJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,8FAA8F;AAC9F,+FAA+F;AAC/F,gGAAgG;AAChG,0FAA0F;AAC1F,4EAA4E;AAG5E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,gCAAgC;AAChC,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAE5C;;;uCAGuC;AACvC,MAAM,UAAU,gBAAgB,CAAC,MAAqB;IACpD,MAAM,GAAG,GAAG;QACV,oBAAoB,EAAE,sBAAsB;QAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;QACrD,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;KAChD,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { StatusReport } from "../cli/status.js";
2
- export declare const STATUS_SCHEMA_VERSION = "1.3";
2
+ export declare const STATUS_SCHEMA_VERSION = "1.7";
3
3
  /** Build the `em status <files...> --json` document. Pretty-printed (2-space), no trailing
4
4
  * newline — the caller adds it, same convention as buildCoverageJson/buildLedgerJson. No
5
5
  * timestamps or other non-deterministic fields: byte-identical for the same models/git state
@@ -17,7 +17,25 @@ import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
17
17
  // the project's implementation constitution exists, and its expected location relative to that
18
18
  // entry's own `modelDir` (`/`-separated, never absolute). Existence only; the document's content
19
19
  // is never read. See ../cli/status.ts's ConstitutionEntry/resolveConstitution.
20
- export const STATUS_SCHEMA_VERSION = "1.3";
20
+ // 1.4 (MIL-208): a new top-level `continuations` (number) — count of continuation slices
21
+ // (again-view-only slices with no legacy doc of their own) across every input file, excluded
22
+ // from every `slices.byStatus`/`driftSignal` bucket (the originating slice's own fact already
23
+ // counts once). See ../cli/status.ts's StatusReport.continuations.
24
+ // 1.5 (MIL-214): `driftSignal` gains `uncertified` (number) — status: implemented slices whose
25
+ // current version has no matching conformance certification (see catalog/driftSignal.ts). Each
26
+ // `conformance[]` entry gains `unruledFindings` (number | null) — unruled conformance findings
27
+ // in scope for that model's last conformance run (null when no findings JSON exists beside the
28
+ // recorded report), and `lastConformance` gains `partial` (boolean) — whether the marker was
29
+ // recorded with `em state set-conformance --partial`. See ../cli/status.ts's
30
+ // StatusDriftCounts.uncertified/ConformanceEntry.unruledFindings/ConformanceEntry.lastConformance.
31
+ // 1.6 (MIL-218): a new top-level `modelVersion` array — one entry per input file: design
32
+ // version (from `model-versions/*.json`, or null if never bumped), the most recently certified
33
+ // version (if any), and whether the vector has drifted since the design version was bumped.
34
+ // See ../cli/status.ts's ModelVersionStatusEntry.
35
+ // 1.7 (MIL-219): a new top-level `emVersion` array — one entry per input file whose state file
36
+ // resolved: the recorded `Em version:` bullet (null when absent/unknown), the em actually
37
+ // running, and whether the recorded one is behind. See ../cli/status.ts's EmVersionStatusEntry.
38
+ export const STATUS_SCHEMA_VERSION = "1.7";
21
39
  /** Build the `em status <files...> --json` document. Pretty-printed (2-space), no trailing
22
40
  * newline — the caller adds it, same convention as buildCoverageJson/buildLedgerJson. No
23
41
  * timestamps or other non-deterministic fields: byte-identical for the same models/git state
@@ -28,10 +46,13 @@ export function buildStatusJson(report) {
28
46
  generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
29
47
  files: report.files,
30
48
  slices: report.slices,
49
+ continuations: report.continuations,
31
50
  driftSignal: report.driftSignal,
32
51
  invariants: report.invariants,
33
52
  issues: report.issues,
34
53
  conformance: report.conformance,
54
+ modelVersion: report.modelVersion,
55
+ emVersion: report.emVersion,
35
56
  owners: report.owners,
36
57
  // Doc-join diagnostics (binding-missing-file/frontmatter-invalid), tagged with the file
37
58
  // each concerns — same serialized diagnostic shape em export/em diff use (severity, code,
@@ -1 +1 @@
1
- {"version":3,"file":"statusJson.js","sourceRoot":"","sources":["../../src/emit/statusJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,0FAA0F;AAC1F,uFAAuF;AACvF,2FAA2F;AAC3F,4FAA4F;AAC5F,6FAA6F;AAC7F,mFAAmF;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,gCAAgC;AAChC,yFAAyF;AACzF,8FAA8F;AAC9F,6FAA6F;AAC7F,2FAA2F;AAC3F,6EAA6E;AAC7E,8FAA8F;AAC9F,+FAA+F;AAC/F,iGAAiG;AACjG,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C;;;mDAGmD;AACnD,MAAM,UAAU,eAAe,CAAC,MAAoB;IAClD,MAAM,GAAG,GAAG;QACV,mBAAmB,EAAE,qBAAqB;QAC1C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,wFAAwF;QACxF,0FAA0F;QAC1F,yEAAyE;QACzE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC1F,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"statusJson.js","sourceRoot":"","sources":["../../src/emit/statusJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,0FAA0F;AAC1F,uFAAuF;AACvF,2FAA2F;AAC3F,4FAA4F;AAC5F,6FAA6F;AAC7F,mFAAmF;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,gCAAgC;AAChC,yFAAyF;AACzF,8FAA8F;AAC9F,6FAA6F;AAC7F,2FAA2F;AAC3F,6EAA6E;AAC7E,8FAA8F;AAC9F,+FAA+F;AAC/F,iGAAiG;AACjG,+EAA+E;AAC/E,yFAAyF;AACzF,6FAA6F;AAC7F,8FAA8F;AAC9F,mEAAmE;AACnE,+FAA+F;AAC/F,+FAA+F;AAC/F,+FAA+F;AAC/F,+FAA+F;AAC/F,6FAA6F;AAC7F,6EAA6E;AAC7E,mGAAmG;AACnG,yFAAyF;AACzF,+FAA+F;AAC/F,4FAA4F;AAC5F,kDAAkD;AAClD,+FAA+F;AAC/F,0FAA0F;AAC1F,gGAAgG;AAChG,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C;;;mDAGmD;AACnD,MAAM,UAAU,eAAe,CAAC,MAAoB;IAClD,MAAM,GAAG,GAAG;QACV,mBAAmB,EAAE,qBAAqB;QAC1C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,wFAAwF;QACxF,0FAA0F;QAC1F,yEAAyE;QACzE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC1F,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { UpgradeReport } from "../cli/upgrade.js";
2
+ export declare const UPGRADE_SCHEMA_VERSION = "1.0";
3
+ /** Build the `em upgrade <file> --json` document. Pretty-printed (2-space), no trailing newline
4
+ * — the caller adds it, same convention as buildLedgerJson/buildDiffJson/buildSkillCheckJson. */
5
+ export declare function buildUpgradeJson(file: string, report: UpgradeReport): string;
@@ -0,0 +1,26 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Builds the `em upgrade --json` document (dry-run report, MIL-219): a versioned envelope
3
+ // around `UpgradeReport` (see ../cli/upgrade.ts). Follows em ledger/em diff/em skill check's
4
+ // conventions (ledgerJson.ts, diffJson.ts, skillCheckJson.ts): a schema field versioned
5
+ // independently of both the npm package and every other command's own schema. `--apply` never
6
+ // prints this document — it's a dry-run/`--check` artifact only (MCP's `upgrade` tool is
7
+ // dry-run-only for the same reason, ruling F).
8
+ import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
9
+ // 1.0: initial shape (MIL-219).
10
+ export const UPGRADE_SCHEMA_VERSION = "1.0";
11
+ /** Build the `em upgrade <file> --json` document. Pretty-printed (2-space), no trailing newline
12
+ * — the caller adds it, same convention as buildLedgerJson/buildDiffJson/buildSkillCheckJson. */
13
+ export function buildUpgradeJson(file, report) {
14
+ const doc = {
15
+ upgradeSchemaVersion: UPGRADE_SCHEMA_VERSION,
16
+ generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
17
+ file,
18
+ from: report.from,
19
+ to: report.to,
20
+ stateFileError: report.stateFileError,
21
+ steps: report.steps,
22
+ human: report.human,
23
+ };
24
+ return JSON.stringify(doc, null, 2);
25
+ }
26
+ //# sourceMappingURL=upgradeJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upgradeJson.js","sourceRoot":"","sources":["../../src/emit/upgradeJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,0FAA0F;AAC1F,6FAA6F;AAC7F,wFAAwF;AACxF,8FAA8F;AAC9F,yFAAyF;AACzF,+CAA+C;AAG/C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,gCAAgC;AAChC,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAE5C;kGACkG;AAClG,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,MAAqB;IAClE,MAAM,GAAG,GAAG;QACV,oBAAoB,EAAE,sBAAsB;QAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI;QACJ,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -8,7 +8,7 @@ export declare const VALIDATE_SCHEMA_VERSION = "1.0";
8
8
  * a model with errors; `ok` mirrors `!hasErrors(diagnostics)`, the same predicate that gates
9
9
  * `em validate`'s exit code. */
10
10
  export declare function buildValidateJson(file: string, diagnostics: Diagnostic[]): string;
11
- export declare const VALIDATE_SLICE_READY_SCHEMA_VERSION = "1.0";
11
+ export declare const VALIDATE_SLICE_READY_SCHEMA_VERSION = "1.1";
12
12
  /** Build the `em validate <file> --slice-ready <key> --json` document — the machine verdict
13
13
  * replacing the two hand-parsed English sentences ("is ready-to-implement" /
14
14
  * "is NOT ready-to-implement") plus scraped warning prose. `gates` names each of the 4
@@ -18,14 +18,18 @@ export declare const VALIDATE_SLICE_READY_SCHEMA_VERSION = "1.0";
18
18
  * for `--slice-ready` (scoped diagnostics empty) — it is the AND of the 4 gates only when
19
19
  * `gates` is non-null AND nothing else concerning this slice is broken (e.g. a plain
20
20
  * both-ends-of-a-flow diagnostic on one of its own elements); `diagnostics` carries that full
21
- * scoped list so a consumer sees exactly why, never just the 4 named gates. */
22
- export declare function buildSliceReadyJson(file: string, sliceKey: string, gates: SliceReadyGates | null, diagnostics: Diagnostic[], ready: boolean): string;
23
- export declare const VALIDATE_LIST_SCHEMA_VERSION = "1.0";
21
+ * scoped list so a consumer sees exactly why, never just the 4 named gates. `continuationOf`
22
+ * (MIL-208) is `null` for an ordinary slice or when `gates` is `null`. */
23
+ export declare function buildSliceReadyJson(file: string, sliceKey: string, gates: SliceReadyGates | null, diagnostics: Diagnostic[], ready: boolean, continuationOf: string | null): string;
24
+ export declare const VALIDATE_LIST_SCHEMA_VERSION = "1.1";
24
25
  /** One `--list-issues`/`--list-divergences`/`--list-public` entry — the structured replacement
25
26
  * for the ` issue :12 slice "X" command "Y": text` eyeball format. `elementRef` is the same
26
27
  * export-stable ref (`<sliceKey>/<kind>.<slug>`) `em export`/`em diff` use — never a second
27
28
  * identifier scheme. `text` is the `issue`/`divergence` annotation's own text; `null` for a
28
- * `public` marker, which carries no text. */
29
+ * `public` marker, which carries no text. `noInModelReader` (MIL-215) is the `--list-public`
30
+ * audit note ("no in-model reader") for a `public` `view` marker — see
31
+ * `publicViewsWithoutInModelReader` (model/validate.ts) for why this is an audit annotation,
32
+ * not a validate warning; `null` for an `event` marker or any `issue`/`divergence` marker. */
29
33
  export interface MarkerEntry {
30
34
  markerKind: "issue" | "divergence" | "public";
31
35
  sliceKey: string;
@@ -34,6 +38,7 @@ export interface MarkerEntry {
34
38
  elementKind: string;
35
39
  elementName: string;
36
40
  text: string | null;
41
+ noInModelReader: boolean | null;
37
42
  line: number;
38
43
  }
39
44
  /** Collects `--list-issues`/`--list-divergences`/`--list-public` markers straight off the
@@ -15,7 +15,7 @@
15
15
  // registry (model/rules.ts) — the same fixed vocabulary docs/usage-data.md's Categories tables
16
16
  // already draw from. No new judgment: this module only reshapes what the validator and
17
17
  // `RULES` already compute, never adds a check of its own.
18
- import { serializeDiagnostic } from "../model/validate.js";
18
+ import { serializeDiagnostic, publicViewsWithoutInModelReader } from "../model/validate.js";
19
19
  import { RULES } from "../model/rules.js";
20
20
  import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
21
21
  /** `serializeDiagnostic()`'s shape plus `usageCategory`, looked up from `RULES` — every
@@ -44,7 +44,12 @@ export function buildValidateJson(file, diagnostics) {
44
44
  return JSON.stringify(doc, null, 2);
45
45
  }
46
46
  // 1.0 (MIL-128): initial shape.
47
- export const VALIDATE_SLICE_READY_SCHEMA_VERSION = "1.0";
47
+ // 1.1 (MIL-208): `continuationOf` — non-null when `sliceKey` names a continuation slice (an
48
+ // again-view-only slice with no legacy doc of its own), naming the originating slice whose doc
49
+ // the `gates` above actually verify. `gates` themselves already resolve straight through to the
50
+ // originating slice's own doc/status (see `computeSliceReadyGates`); this field only explains
51
+ // why. Additive-only.
52
+ export const VALIDATE_SLICE_READY_SCHEMA_VERSION = "1.1";
48
53
  /** Build the `em validate <file> --slice-ready <key> --json` document — the machine verdict
49
54
  * replacing the two hand-parsed English sentences ("is ready-to-implement" /
50
55
  * "is NOT ready-to-implement") plus scraped warning prose. `gates` names each of the 4
@@ -54,28 +59,33 @@ export const VALIDATE_SLICE_READY_SCHEMA_VERSION = "1.0";
54
59
  * for `--slice-ready` (scoped diagnostics empty) — it is the AND of the 4 gates only when
55
60
  * `gates` is non-null AND nothing else concerning this slice is broken (e.g. a plain
56
61
  * both-ends-of-a-flow diagnostic on one of its own elements); `diagnostics` carries that full
57
- * scoped list so a consumer sees exactly why, never just the 4 named gates. */
58
- export function buildSliceReadyJson(file, sliceKey, gates, diagnostics, ready) {
62
+ * scoped list so a consumer sees exactly why, never just the 4 named gates. `continuationOf`
63
+ * (MIL-208) is `null` for an ordinary slice or when `gates` is `null`. */
64
+ export function buildSliceReadyJson(file, sliceKey, gates, diagnostics, ready, continuationOf) {
59
65
  const doc = {
60
66
  validateSliceReadySchemaVersion: VALIDATE_SLICE_READY_SCHEMA_VERSION,
61
67
  generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
62
68
  file,
63
69
  sliceKey,
64
70
  gates,
71
+ continuationOf,
65
72
  ready,
66
73
  diagnostics: diagnostics.map(serializeDiagnosticWithUsage),
67
74
  };
68
75
  return JSON.stringify(doc, null, 2);
69
76
  }
70
77
  // 1.0 (MIL-128): initial shape.
71
- export const VALIDATE_LIST_SCHEMA_VERSION = "1.0";
78
+ // 1.1 (MIL-215): `noInModelReader` on `public` markers — true for a `view` no `ui`/reaction
79
+ // reads anywhere on its timeline, false for one that is read, `null` for `event` markers and
80
+ // every `issue`/`divergence` marker (the signal only applies to views). Additive-only.
81
+ export const VALIDATE_LIST_SCHEMA_VERSION = "1.1";
72
82
  /** Collects `--list-issues`/`--list-divergences`/`--list-public` markers straight off the
73
83
  * model, in document order — the same element sets cli.ts's `printIssues`/`printDivergences`/
74
84
  * `printPublicElements` already walk, just refs-aware and machine-shaped instead of printed.
75
85
  * Each `kinds` flag independently gates its own marker kind, same as the text-mode flags. */
76
86
  export function collectMarkers(model, refs, kinds) {
77
87
  const markers = [];
78
- const entryFor = (el, markerKind, text) => ({
88
+ const entryFor = (el, markerKind, text, noInModelReader = null) => ({
79
89
  markerKind,
80
90
  sliceKey: refs.sliceKeys[el.sliceIndex],
81
91
  sliceName: model.slices[el.sliceIndex].name,
@@ -83,6 +93,7 @@ export function collectMarkers(model, refs, kinds) {
83
93
  elementKind: el.kind,
84
94
  elementName: el.name,
85
95
  text,
96
+ noInModelReader,
86
97
  line: el.line,
87
98
  });
88
99
  if (kinds.issues) {
@@ -96,9 +107,12 @@ export function collectMarkers(model, refs, kinds) {
96
107
  markers.push(entryFor(el, "divergence", el.divergence));
97
108
  }
98
109
  if (kinds.public) {
110
+ const noReader = publicViewsWithoutInModelReader(model);
99
111
  for (const el of model.elements) {
100
- if (el.public && (el.kind === "event" || el.kind === "view"))
101
- markers.push(entryFor(el, "public", null));
112
+ if (el.public && (el.kind === "event" || el.kind === "view")) {
113
+ const flag = el.kind === "view" ? noReader.has(el.logicalId) : null;
114
+ markers.push(entryFor(el, "public", null, flag));
115
+ }
102
116
  }
103
117
  }
104
118
  return markers;
@@ -1 +1 @@
1
- {"version":3,"file":"validateJson.js","sourceRoot":"","sources":["../../src/emit/validateJson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateJson.js","sourceRoot":"","sources":["../../src/emit/validateJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,yFAAyF;AACzF,gFAAgF;AAChF,+FAA+F;AAC/F,+FAA+F;AAC/F,6FAA6F;AAC7F,iDAAiD;AACjD,EAAE;AACF,qFAAqF;AACrF,gGAAgG;AAChG,6FAA6F;AAC7F,oFAAoF;AACpF,EAAE;AACF,uFAAuF;AACvF,+FAA+F;AAC/F,uFAAuF;AACvF,0DAA0D;AAE1D,OAAO,EAAc,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AACxG,OAAO,EAAE,KAAK,EAAY,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D;;;2FAG2F;AAC3F,SAAS,4BAA4B,CAAC,CAAa;IACjD,OAAO,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,IAAgB,CAAC,CAAC,aAAa,EAAE,CAAC;AAC/F,CAAC;AAED,gCAAgC;AAChC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAE7C;;;iCAGiC;AACjC,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,WAAyB;IACvE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,CAAC;IACxE,MAAM,GAAG,GAAG;QACV,qBAAqB,EAAE,uBAAuB;QAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI;QACJ,EAAE,EAAE,MAAM,KAAK,CAAC;QAChB,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE;QACrF,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,4BAA4B,CAAC;KAC3D,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,gCAAgC;AAChC,4FAA4F;AAC5F,+FAA+F;AAC/F,gGAAgG;AAChG,8FAA8F;AAC9F,sBAAsB;AACtB,MAAM,CAAC,MAAM,mCAAmC,GAAG,KAAK,CAAC;AAEzD;;;;;;;;;;2EAU2E;AAC3E,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,QAAgB,EAChB,KAA6B,EAC7B,WAAyB,EACzB,KAAc,EACd,cAA6B;IAE7B,MAAM,GAAG,GAAG;QACV,+BAA+B,EAAE,mCAAmC;QACpE,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI;QACJ,QAAQ;QACR,KAAK;QACL,cAAc;QACd,KAAK;QACL,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,4BAA4B,CAAC;KAC3D,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,gCAAgC;AAChC,4FAA4F;AAC5F,6FAA6F;AAC7F,uFAAuF;AACvF,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAsBlD;;;8FAG8F;AAC9F,MAAM,UAAU,cAAc,CAC5B,KAAsB,EACtB,IAAgB,EAChB,KAAoE;IAEpE,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,CACf,EAAW,EACX,UAAqC,EACrC,IAAmB,EACnB,kBAAkC,IAAI,EACzB,EAAE,CAAC,CAAC;QACjB,UAAU;QACV,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,UAAU,CAAC;QACvC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI;QAC3C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAE;QACpC,WAAW,EAAE,EAAE,CAAC,IAAI;QACpB,WAAW,EAAE,EAAE,CAAC,IAAI;QACpB,IAAI;QACJ,eAAe;QACf,IAAI,EAAE,EAAE,CAAC,IAAI;KACd,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ;YAAE,IAAI,EAAE,CAAC,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ;YAAE,IAAI,EAAE,CAAC,UAAU;gBAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,+BAA+B,CAAC,KAAK,CAAC,CAAC;QACxD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAChC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC;gBAC7D,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;8DAG8D;AAC9D,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,OAAsB,EAAE,WAAyB;IACnG,MAAM,GAAG,GAAG;QACV,yBAAyB,EAAE,4BAA4B;QACvD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI;QACJ,OAAO;QACP,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,4BAA4B,CAAC;KAC3D,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -4,7 +4,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
4
  * so `em --version`/`em export`'s `generator.version`/this server's version never drift apart. */
5
5
  export declare const SERVER_NAME = "em";
6
6
  export declare const SERVER_VERSION: string;
7
- /** Registers all fifteen MCP tools on a fresh McpServer instance and returns it, unconnected — the
7
+ /** Registers all eighteen MCP tools on a fresh McpServer instance and returns it, unconnected — the
8
8
  * caller (src/mcp/main.ts's stdio entry, or a test harness using an in-memory transport)
9
9
  * decides how to connect it. Building the server is a pure, side-effect-free function so tests
10
10
  * can exercise it directly with the SDK's in-memory transport, no child process required. */