@milehimikey/em 1.21.0 → 1.22.1

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 (102) hide show
  1. package/.claude/agents/em-implementer.md +10 -0
  2. package/.claude/agents/em-validator.md +1 -0
  3. package/.claude/skills/event-modeling/SKILL.md +1 -1
  4. package/.claude/skills/event-modeling-conform/SKILL.md +7 -4
  5. package/.claude/skills/event-modeling-conform/reference/conform.md +82 -4
  6. package/.claude/skills/event-modeling-design/SKILL.md +5 -2
  7. package/.claude/skills/event-modeling-discover/SKILL.md +1 -1
  8. package/.claude/skills/event-modeling-engagement/SKILL.md +1 -1
  9. package/.claude/skills/event-modeling-engagement/reference/engagement.md +1 -0
  10. package/.claude/skills/event-modeling-implement/SKILL.md +5 -3
  11. package/.claude/skills/event-modeling-implement/reference/implement.md +14 -0
  12. package/.claude/skills/event-modeling-review/SKILL.md +1 -1
  13. package/.claude/skills/event-modeling-shared/reference/em-dsl.md +55 -6
  14. package/.claude/skills/event-modeling-shared/reference/operating-principles.md +26 -15
  15. package/.claude-plugin/marketplace.json +2 -2
  16. package/dist/cli/api.d.ts +136 -9
  17. package/dist/cli/api.js +278 -27
  18. package/dist/cli/api.js.map +1 -1
  19. package/dist/cli/bindings.d.ts +152 -0
  20. package/dist/cli/bindings.js +462 -0
  21. package/dist/cli/bindings.js.map +1 -0
  22. package/dist/cli/conformScope.d.ts +32 -0
  23. package/dist/cli/conformScope.js +68 -5
  24. package/dist/cli/conformScope.js.map +1 -1
  25. package/dist/cli/engagement.d.ts +24 -1
  26. package/dist/cli/engagement.js +50 -6
  27. package/dist/cli/engagement.js.map +1 -1
  28. package/dist/cli/engagementBrief.d.ts +127 -0
  29. package/dist/cli/engagementBrief.js +313 -0
  30. package/dist/cli/engagementBrief.js.map +1 -0
  31. package/dist/cli/engagementFile.d.ts +14 -0
  32. package/dist/cli/engagementFile.js +54 -0
  33. package/dist/cli/engagementFile.js.map +1 -1
  34. package/dist/cli/scopeInputs.js +2 -2
  35. package/dist/cli/scopeInputs.js.map +1 -1
  36. package/dist/cli/status.d.ts +5 -0
  37. package/dist/cli/status.js +1 -0
  38. package/dist/cli/status.js.map +1 -1
  39. package/dist/cli/upgrade.js +9 -10
  40. package/dist/cli/upgrade.js.map +1 -1
  41. package/dist/cli.js +143 -11
  42. package/dist/cli.js.map +1 -1
  43. package/dist/emit/api.d.ts +26 -1
  44. package/dist/emit/api.js +183 -25
  45. package/dist/emit/api.js.map +1 -1
  46. package/dist/emit/apiSurfaceJson.d.ts +3 -0
  47. package/dist/emit/apiSurfaceJson.js +43 -0
  48. package/dist/emit/apiSurfaceJson.js.map +1 -0
  49. package/dist/emit/diffJson.d.ts +1 -1
  50. package/dist/emit/diffJson.js +20 -1
  51. package/dist/emit/diffJson.js.map +1 -1
  52. package/dist/emit/engagementJson.d.ts +8 -3
  53. package/dist/emit/engagementJson.js +31 -4
  54. package/dist/emit/engagementJson.js.map +1 -1
  55. package/dist/emit/json.d.ts +42 -1
  56. package/dist/emit/json.js +65 -6
  57. package/dist/emit/json.js.map +1 -1
  58. package/dist/mcp/server.js +92 -3
  59. package/dist/mcp/server.js.map +1 -1
  60. package/dist/model/diff.d.ts +19 -1
  61. package/dist/model/diff.js +99 -0
  62. package/dist/model/diff.js.map +1 -1
  63. package/dist/model/model.d.ts +105 -9
  64. package/dist/model/model.js +116 -20
  65. package/dist/model/model.js.map +1 -1
  66. package/dist/model/refs.d.ts +4 -0
  67. package/dist/model/refs.js +35 -1
  68. package/dist/model/refs.js.map +1 -1
  69. package/dist/model/rules.d.ts +61 -0
  70. package/dist/model/rules.js +72 -0
  71. package/dist/model/rules.js.map +1 -1
  72. package/dist/model/validate.js +137 -4
  73. package/dist/model/validate.js.map +1 -1
  74. package/dist/parser/ast.d.ts +30 -0
  75. package/dist/parser/parser.js +67 -1
  76. package/dist/parser/parser.js.map +1 -1
  77. package/dist/render/sliceDiagram.js +6 -0
  78. package/dist/render/sliceDiagram.js.map +1 -1
  79. package/dist/render/storylineDiagram.js +6 -0
  80. package/dist/render/storylineDiagram.js.map +1 -1
  81. package/dist/system/adaptation.d.ts +5 -2
  82. package/dist/system/adaptation.js +5 -3
  83. package/dist/system/adaptation.js.map +1 -1
  84. package/dist/templates.d.ts +4 -0
  85. package/dist/templates.js +29 -0
  86. package/dist/templates.js.map +1 -1
  87. package/package.json +2 -1
  88. package/plugin/.claude-plugin/plugin.json +2 -2
  89. package/plugin/agents/em-implementer.md +10 -0
  90. package/plugin/agents/em-validator.md +1 -0
  91. package/plugin/shared/reference/em-dsl.md +55 -6
  92. package/plugin/shared/reference/operating-principles.md +26 -15
  93. package/plugin/skills/conform/SKILL.md +7 -4
  94. package/plugin/skills/conform/reference/conform.md +82 -4
  95. package/plugin/skills/design/SKILL.md +5 -2
  96. package/plugin/skills/discover/SKILL.md +1 -1
  97. package/plugin/skills/engagement/SKILL.md +1 -1
  98. package/plugin/skills/engagement/reference/engagement.md +1 -0
  99. package/plugin/skills/event-modeling/SKILL.md +1 -1
  100. package/plugin/skills/implement/SKILL.md +5 -3
  101. package/plugin/skills/implement/reference/implement.md +14 -0
  102. package/plugin/skills/review/SKILL.md +1 -1
@@ -1,7 +1,7 @@
1
1
  import { NormalizedModel } from "../model/model.js";
2
2
  import { RefsResult } from "../model/refs.js";
3
3
  import { Diagnostic } from "../model/validate.js";
4
- import { ElementExport } from "./json.js";
4
+ import { ElementExport, FieldExport, TypeExport } from "./json.js";
5
5
  /** The sentence every generated `model` carries (MIL-239 relies on it verbatim). */
6
6
  export declare const CONSUMER_TOLERANCE_SENTENCE = "Consumers tolerate unknown fields; additive changes do not break them.";
7
7
  export declare const API_HEADER_LINE = "// GENERATED by em api generate \u2014 do not hand-edit.";
@@ -11,6 +11,31 @@ export interface ApiContractResult {
11
11
  /** Same diagnostics `buildExport` would raise for this model. */
12
12
  diagnostics: Diagnostic[];
13
13
  }
14
+ /** Declared types reachable (transitively) from any of the given elements' fields, as the set of
15
+ * their export refs — same walk `em api generate`'s contract body and `em api surface` (GH #448)
16
+ * use to decide which declared types belong on the public surface, shared so neither re-derives
17
+ * it with a subtly different recursion. */
18
+ export declare function reachableTypeRefs(elements: {
19
+ fields: FieldExport[] | null;
20
+ }[], typesByRef: Map<string, TypeExport>): Set<string>;
21
+ /** Declared identity scalars (GH #477) reachable from any of the given elements' fields,
22
+ * directly or through a reachable declared type's own fields — the scalar-namespace sibling of
23
+ * `reachableTypeRefs` above, same "no dead declarations" rule (#444's rule extended to GH #477):
24
+ * only a scalar some field on the public surface actually uses gets declared. Scalars have no
25
+ * fields of their own (always a leaf alias over a table entry), so there's no recursion through
26
+ * a scalar itself — only through the declared types `reachableTypeRefs` already walks. Shared
27
+ * with `em api surface` (`cli/api.ts`'s `buildApiSurfaceReport`), same reasoning as
28
+ * `reachableTypeRefs`. */
29
+ export declare function reachableScalarRefs(elements: {
30
+ fields: FieldExport[] | null;
31
+ }[], typesByRef: Map<string, TypeExport>): Set<string>;
32
+ /** Declared enums (GH #478) reachable from any of the given elements' fields, directly or
33
+ * through a reachable declared type's own fields — the enum-namespace sibling of
34
+ * `reachableScalarRefs` above, same "no dead declarations" rule. Enums have no fields of their
35
+ * own either, so there's no recursion through an enum itself. Shared with `em api surface`. */
36
+ export declare function reachableEnumRefs(elements: {
37
+ fields: FieldExport[] | null;
38
+ }[], typesByRef: Map<string, TypeExport>): Set<string>;
14
39
  /** The public elements `em api` covers, in export (timeline) order. A repeated view
15
40
  * (`view X again`) contributes its first public instance only — one logical read model,
16
41
  * one TypeSpec declaration. Shared with `em api check` so both read the same surface. */
package/dist/emit/api.js CHANGED
@@ -4,8 +4,12 @@
4
4
  // plain `model`/`interface`/`op` declarations, core scalars only, no imports, no decorators,
5
5
  // no `@versioned` (one release train; versions are Backlog).
6
6
  //
7
- // - public commands -> `interface Commands { op <name>(<params>): void; }` (the write API)
8
- // - public events -> `model` (async payloads)
7
+ // - public commands -> `model` (payload) + `interface Commands { op <name>(payload: <Model>): void; }`
8
+ // (the write API; GH #445 — same payload-model shape as events/views, so field notes and
9
+ // `INV-*` lines ride along and the payload is decoratable by a binding file's `@@`)
10
+ // - public events -> `model` (async payload) + `interface Events { op on<Event>(payload): void; }`
11
+ // (GH #446 — one op per public event, so a binding file has a declaration to `@@channel`/
12
+ // `@@publish` against instead of re-stating the payload shape)
9
13
  // - public views -> `model` + `interface Views { op get<View>(): <View>; }` (the read API)
10
14
  // - declared `type`s reachable from any of those -> `model`
11
15
  //
@@ -22,7 +26,7 @@
22
26
  // hash (R12 amended): the text depends only on the public surface, so an internal-only `.em`
23
27
  // edit leaves the contract byte-identical and neither CODEOWNERS routing nor the API-first
24
28
  // gate fires on it.
25
- import { resolvePublicType } from "../model/model.js";
29
+ import { PUBLIC_SCALAR_TYPE_NAMES, PUBLIC_SCALAR_TYPES, resolvePublicType } from "../model/model.js";
26
30
  import { dedupe } from "../util/slug.js";
27
31
  import { buildExportDoc } from "./json.js";
28
32
  /** The sentence every generated `model` carries (MIL-239 relies on it verbatim). */
@@ -39,12 +43,85 @@ function pascalCase(name) {
39
43
  function camelCase(pascal) {
40
44
  return pascal.length > 0 ? pascal[0].toLowerCase() + pascal.slice(1) : pascal;
41
45
  }
46
+ /** Declared types reachable (transitively) from any of the given elements' fields, as the set of
47
+ * their export refs — same walk `em api generate`'s contract body and `em api surface` (GH #448)
48
+ * use to decide which declared types belong on the public surface, shared so neither re-derives
49
+ * it with a subtly different recursion. */
50
+ export function reachableTypeRefs(elements, typesByRef) {
51
+ const reachable = new Set();
52
+ const walk = (fields) => {
53
+ for (const f of fields ?? []) {
54
+ if (f.typeRef && !reachable.has(f.typeRef.ref)) {
55
+ reachable.add(f.typeRef.ref);
56
+ walk(typesByRef.get(f.typeRef.ref)?.fields ?? null);
57
+ }
58
+ }
59
+ };
60
+ for (const el of elements)
61
+ walk(el.fields);
62
+ return reachable;
63
+ }
64
+ /** Declared identity scalars (GH #477) reachable from any of the given elements' fields,
65
+ * directly or through a reachable declared type's own fields — the scalar-namespace sibling of
66
+ * `reachableTypeRefs` above, same "no dead declarations" rule (#444's rule extended to GH #477):
67
+ * only a scalar some field on the public surface actually uses gets declared. Scalars have no
68
+ * fields of their own (always a leaf alias over a table entry), so there's no recursion through
69
+ * a scalar itself — only through the declared types `reachableTypeRefs` already walks. Shared
70
+ * with `em api surface` (`cli/api.ts`'s `buildApiSurfaceReport`), same reasoning as
71
+ * `reachableTypeRefs`. */
72
+ export function reachableScalarRefs(elements, typesByRef) {
73
+ const reachable = new Set();
74
+ const seenTypes = new Set();
75
+ const walk = (fields) => {
76
+ for (const f of fields ?? []) {
77
+ if (f.scalarRef)
78
+ reachable.add(f.scalarRef.ref);
79
+ if (f.typeRef && !seenTypes.has(f.typeRef.ref)) {
80
+ seenTypes.add(f.typeRef.ref);
81
+ walk(typesByRef.get(f.typeRef.ref)?.fields ?? null);
82
+ }
83
+ }
84
+ };
85
+ for (const el of elements)
86
+ walk(el.fields);
87
+ return reachable;
88
+ }
89
+ /** Declared enums (GH #478) reachable from any of the given elements' fields, directly or
90
+ * through a reachable declared type's own fields — the enum-namespace sibling of
91
+ * `reachableScalarRefs` above, same "no dead declarations" rule. Enums have no fields of their
92
+ * own either, so there's no recursion through an enum itself. Shared with `em api surface`. */
93
+ export function reachableEnumRefs(elements, typesByRef) {
94
+ const reachable = new Set();
95
+ const seenTypes = new Set();
96
+ const walk = (fields) => {
97
+ for (const f of fields ?? []) {
98
+ if (f.enumRef)
99
+ reachable.add(f.enumRef.ref);
100
+ if (f.typeRef && !seenTypes.has(f.typeRef.ref)) {
101
+ seenTypes.add(f.typeRef.ref);
102
+ walk(typesByRef.get(f.typeRef.ref)?.fields ?? null);
103
+ }
104
+ }
105
+ };
106
+ for (const el of elements)
107
+ walk(el.fields);
108
+ return reachable;
109
+ }
42
110
  /** A field name that isn't a bare TypeSpec identifier is backtick-quoted (TypeSpec's own escape). */
43
111
  function fieldIdentifier(name) {
44
112
  if (/^[A-Za-z_][A-Za-z0-9_]*$/.test(name))
45
113
  return name;
46
114
  return "`" + name.replace(/\\/g, "\\\\").replace(/`/g, "\\`") + "`";
47
115
  }
116
+ /** GH #478: an enum member that is itself a bare TypeSpec identifier emits unquoted (`placed`);
117
+ * anything else — a dash, a space, a leading digit, punctuation — emits as a quoted string
118
+ * literal instead (`"out-of-stock"`), TypeSpec's own enum string-member form (verified against
119
+ * the installed @typespec/compiler; see REPORT.md's probe: `enum X { "a-b", c }` compiles).
120
+ * Unlike `fieldIdentifier` above, there is no backtick escape for an enum member — a non-
121
+ * identifier member is always a plain value, never a name that needs quoting-as-identifier. */
122
+ function enumMemberText(member) {
123
+ return /^[A-Za-z_][A-Za-z0-9_]*$/.test(member) ? member : JSON.stringify(member);
124
+ }
48
125
  // `tag`, `renamed from` and `assigned` are modeling concerns, not wire shape — carried as doc
49
126
  // comments, never decorators (a decorator would need its own TypeSpec library).
50
127
  function fieldNotes(f) {
@@ -119,32 +196,57 @@ export function buildApiContract(model, refs, diagnostics, source, path, sourceL
119
196
  const typesByRef = new Map(doc.model.types.map((t) => [t.ref, t]));
120
197
  const surface = publicSurfaceOf(doc.model.slices);
121
198
  // Declared types reachable (transitively) from a public element's fields.
122
- const reachable = new Set();
123
- const walk = (fields) => {
124
- for (const f of fields ?? []) {
125
- if (f.typeRef && !reachable.has(f.typeRef.ref)) {
126
- reachable.add(f.typeRef.ref);
127
- walk(typesByRef.get(f.typeRef.ref)?.fields ?? null);
128
- }
129
- }
130
- };
131
- for (const el of [...surface.commands, ...surface.events, ...surface.views])
132
- walk(el.fields);
199
+ const reachable = reachableTypeRefs([...surface.commands, ...surface.events, ...surface.views], typesByRef);
133
200
  const usedNames = new Set();
134
201
  const typeNameByRef = new Map();
135
202
  for (const t of doc.model.types) {
136
203
  if (reachable.has(t.ref))
137
204
  typeNameByRef.set(t.ref, dedupe(pascalCase(t.name), usedNames, "_"));
138
205
  }
206
+ // GH #477: identity scalars reachable from the public surface, named through the SAME
207
+ // `usedNames` dedup set as types/events/views/commands (one TypeSpec namespace, one set of
208
+ // identifiers — a scalar named the same as a model/event would otherwise silently collide),
209
+ // allocated up front in declaration order like `typeNameByRef` above (not at first use —
210
+ // scalars never nest, so there's no walk-order dependency, but staying consistent with the
211
+ // type precedent keeps this predictable too).
212
+ const reachableScalars = reachableScalarRefs([...surface.commands, ...surface.events, ...surface.views], typesByRef);
213
+ const scalarNameByRef = new Map();
214
+ for (const s of doc.model.scalars) {
215
+ if (reachableScalars.has(s.ref))
216
+ scalarNameByRef.set(s.ref, dedupe(pascalCase(s.name), usedNames, "_"));
217
+ }
218
+ // GH #478: declared enums reachable from the public surface, named through the SAME
219
+ // `usedNames` dedup set, same allocate-up-front-in-declaration-order posture as scalars above.
220
+ const reachableEnums = reachableEnumRefs([...surface.commands, ...surface.events, ...surface.views], typesByRef);
221
+ const enumNameByRef = new Map();
222
+ for (const e of doc.model.enums) {
223
+ if (reachableEnums.has(e.ref))
224
+ enumNameByRef.set(e.ref, dedupe(pascalCase(e.name), usedNames, "_"));
225
+ }
226
+ // GH #444 (#443 ask 1): which table entries this contract actually uses, so the namespace
227
+ // declares exactly the scalars its own fields need — never a dead declaration. GH #477: an
228
+ // identity scalar's own base counts as "used" too (via the branch below), so the base's
229
+ // table scalar declaration (e.g. `Uuid`) co-emits even when no field uses the bare table type.
230
+ const usedScalars = new Set();
139
231
  const fieldType = (f, owner) => {
140
232
  if (f.typeRef) {
141
233
  const name = typeNameByRef.get(f.typeRef.ref) ?? pascalCase(f.typeRef.name);
142
234
  return f.typeRef.array ? `${name}[]` : name;
143
235
  }
144
- const r = resolvePublicType(f.type ?? undefined, model.typesByName);
236
+ if (f.scalarRef) {
237
+ const name = scalarNameByRef.get(f.scalarRef.ref) ?? pascalCase(f.scalarRef.name);
238
+ usedScalars.add(f.scalarRef.base);
239
+ return f.scalarRef.array ? `${name}[]` : name;
240
+ }
241
+ if (f.enumRef) {
242
+ const name = enumNameByRef.get(f.enumRef.ref) ?? pascalCase(f.enumRef.name);
243
+ return f.enumRef.array ? `${name}[]` : name;
244
+ }
245
+ const r = resolvePublicType(f.type ?? undefined, model.typesByName, model.scalarsByName, model.enumsByName);
145
246
  if (!r || r.kind !== "scalar") {
146
247
  throw new Error(`em api generate: ${owner} field "${f.name}" has no public type — em validate's public-field-type-unresolved should have refused this model`);
147
248
  }
249
+ usedScalars.add(r.scalar);
148
250
  return r.array ? `${r.tsType}[]` : r.tsType;
149
251
  };
150
252
  const member = (f, owner) => `${fieldIdentifier(f.name)}${f.optional ? "?" : ""}: ${fieldType(f, owner)}`;
@@ -172,13 +274,28 @@ export function buildApiContract(model, refs, diagnostics, source, path, sourceL
172
274
  }
173
275
  if (typeBlocks.length > 0)
174
276
  sections.push(typeBlocks.join("\n\n"));
277
+ // GH #446: an event op's payload reuses the exact model name chosen above for its `model`
278
+ // block — never re-derived — so the op always points at the declaration a binding file would
279
+ // `@@channel`/`@@publish` against. Op names dedupe through their own set (like `opNames` does
280
+ // for commands), even though in practice they can only collide if the (already-deduped) model
281
+ // names do too.
175
282
  const eventBlocks = [];
283
+ const eventNames = [];
176
284
  for (const el of surface.events) {
177
285
  const name = dedupe(pascalCase(el.name), usedNames, "_");
286
+ eventNames.push(name);
178
287
  eventBlocks.push(renderModel(name, el.fields, `event "${el.name}"`, elementNotes(el), invariantLines(el)));
179
288
  }
180
289
  if (eventBlocks.length > 0)
181
290
  sections.push(eventBlocks.join("\n\n"));
291
+ const eventOpNames = new Set();
292
+ const eventOps = [];
293
+ for (const name of eventNames) {
294
+ const opName = dedupe(`on${name}`, eventOpNames, "_");
295
+ eventOps.push(`op ${opName}(payload: ${name}): void;`);
296
+ }
297
+ if (eventOps.length > 0)
298
+ sections.push(["interface Events {", ...indent(eventOps, 1), "}"].join("\n"));
182
299
  const viewBlocks = [];
183
300
  const viewOps = [];
184
301
  for (const el of surface.views) {
@@ -190,23 +307,64 @@ export function buildApiContract(model, refs, diagnostics, source, path, sourceL
190
307
  sections.push(viewBlocks.join("\n\n"));
191
308
  sections.push(["interface Views {", ...indent(viewOps, 1), "}"].join("\n"));
192
309
  }
310
+ // GH #445 (#443 ask 2): a command's payload rides the same `renderModel` path as an event's or
311
+ // a view's — so field notes and `INV-*` lines live on the payload model, the same home
312
+ // events/views already use, not the op. That is also what makes the fields decoratable at
313
+ // all: TypeSpec `@@` augment decorators target models and model properties, never positional
314
+ // op parameters.
193
315
  const opNames = new Set();
316
+ const commandModelBlocks = [];
194
317
  const commandOps = [];
195
318
  for (const el of surface.commands) {
196
319
  const opName = dedupe(camelCase(pascalCase(el.name)), opNames, "_");
197
- const notes = elementNotes(el);
198
- if (notes.length > 0)
199
- commandOps.push(`/** ${notes.join("; ")} */`);
200
- commandOps.push(...invariantLines(el));
201
- const params = (el.fields ?? []).map((f) => {
202
- const n = fieldNotes(f);
203
- const line = member(f, `command "${el.name}"`);
204
- return n ? `/** ${n} */ ${line}` : line;
205
- });
206
- commandOps.push(`op ${opName}(${params.join(", ")}): void;`);
320
+ const payloadName = dedupe(pascalCase(el.name), usedNames, "_");
321
+ commandModelBlocks.push(renderModel(payloadName, el.fields, `command "${el.name}"`, elementNotes(el), invariantLines(el)));
322
+ commandOps.push(`op ${opName}(payload: ${payloadName}): void;`);
207
323
  }
324
+ if (commandModelBlocks.length > 0)
325
+ sections.push(commandModelBlocks.join("\n\n"));
208
326
  if (commandOps.length > 0)
209
327
  sections.push(["interface Commands {", ...indent(commandOps, 1), "}"].join("\n"));
328
+ // Scalar declarations go first, in table order (not order of first use) — every field type
329
+ // above is already computed by this point, so `usedScalars` is complete. GH #477: identity
330
+ // scalars follow, in DECLARATION order, each extending either the formatted table scalar
331
+ // (`scalar OrderId extends Uuid;`, the table entry's own `tsType` when it has a `scalarDecl`)
332
+ // or the bare core type (`scalar Sku extends string;`) — `PublicTypeResolution`'s `identity`
333
+ // kind and `ScalarExport.base` both already resolve to the table KEY, not the TypeSpec name,
334
+ // so `PUBLIC_SCALAR_TYPES[s.base].tsType` is the one lookup that picks the right target either
335
+ // way. Pinned by test: a model declaring no `scalar` contributes nothing here — byte-identical
336
+ // to before GH #477.
337
+ const scalarDecls = [];
338
+ for (const name of PUBLIC_SCALAR_TYPE_NAMES) {
339
+ if (!usedScalars.has(name))
340
+ continue;
341
+ const decl = PUBLIC_SCALAR_TYPES[name].scalarDecl;
342
+ if (decl)
343
+ scalarDecls.push(decl);
344
+ }
345
+ for (const s of doc.model.scalars) {
346
+ const name = scalarNameByRef.get(s.ref);
347
+ if (!name)
348
+ continue; // not reachable from the public surface — no dead declaration
349
+ scalarDecls.push(`scalar ${name} extends ${PUBLIC_SCALAR_TYPES[s.base].tsType};`);
350
+ }
351
+ // GH #478: a reachable enum emits once, members in declaration order, right after the scalar
352
+ // declarations and ahead of the type blocks (the two unshifts below, called in this order,
353
+ // land the sections as [scalars, enums, types, …]). Members join on a single line like the
354
+ // issue's own example (`enum OrderStatus { placed, shipped }`) — joined with ", " since every
355
+ // member is short; a bare identifier emits unquoted, anything else as a quoted string literal
356
+ // (`enumMemberText`). Pinned by test: a model declaring no `enum` contributes nothing here.
357
+ const enumBlocks = [];
358
+ for (const e of doc.model.enums) {
359
+ const name = enumNameByRef.get(e.ref);
360
+ if (!name)
361
+ continue; // not reachable from the public surface — no dead declaration
362
+ enumBlocks.push(`enum ${name} { ${e.members.map(enumMemberText).join(", ")} }`);
363
+ }
364
+ if (enumBlocks.length > 0)
365
+ sections.unshift(enumBlocks.join("\n"));
366
+ if (scalarDecls.length > 0)
367
+ sections.unshift(scalarDecls.join("\n"));
210
368
  const namespaceName = pascalCase(doc.model.name ?? "Model");
211
369
  const header = [
212
370
  API_HEADER_LINE,
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/emit/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/emit/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ApiSurfaceReport } from "../cli/api.js";
2
+ export declare const API_SURFACE_SCHEMA_VERSION = "1.2";
3
+ export declare function buildApiSurfaceJson(r: ApiSurfaceReport): string;
@@ -0,0 +1,43 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Builds the `em api surface --json` document (GH #448) — the model's public commands, events,
3
+ // views and reachable declared types, as a versioned JSON document for companion tools (contract
4
+ // bridges, augment generators) that today re-derive this from `em export --json` and risk
5
+ // drifting from em's own notion of the surface. Shared by the CLI and the MCP `api_surface` tool
6
+ // so the two are byte-identical. Own schema constant, independent of the export `SCHEMA_VERSION`
7
+ // and `API_CHECK_SCHEMA_VERSION` (apiCheckJson.ts); deterministic for the same inputs (no
8
+ // timestamps, no absolute paths — `file` is as given on the command line, same convention
9
+ // `apiCheckJson.ts` follows).
10
+ import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
11
+ // 1.0 (GH #448): initial shape.
12
+ // 1.1 (GH #477, "identity scalars"): a field's `type` gains the `"scalar-alias"` kind — a
13
+ // declared `scalar Name: base` identity alias, resolved the same way `em api generate`'s
14
+ // emitter picks what to extend (`tsType` is the alias's own name, e.g. `"OrderId"`; `base` is
15
+ // the `PUBLIC_SCALAR_TYPES` key it extends, e.g. `"uuid"` — `null` on the other two kinds).
16
+ // Report gains top-level `scalars`: every identity scalar reachable from the public surface
17
+ // (same reachability `em api generate` uses to decide what to declare), `{ name, slug, base }`
18
+ // in declaration order — so a companion tool learns the OrderId -> uuid mapping without parsing
19
+ // the generated `.tsp`. Additive only.
20
+ // 1.2 (GH #478, "enums"): a field's `type` gains the `"enum"` kind (`tsType` is the enum's own
21
+ // name; `scalar`/`base` stay `null`, same convention `"scalar-alias"` already established).
22
+ // Report gains top-level `enums`: every declared enum reachable from the public surface (same
23
+ // reachability rule), `{ name, slug, members }` in declaration order — so a companion tool
24
+ // learns the member set without parsing the generated `.tsp`. Bumped on its own, same per-
25
+ // ticket cadence this file has followed since 1.0 (no "one bump per release" precedent here,
26
+ // unlike `em export`'s `SCHEMA_VERSION`). Additive only.
27
+ export const API_SURFACE_SCHEMA_VERSION = "1.2";
28
+ export function buildApiSurfaceJson(r) {
29
+ const doc = {
30
+ apiSurfaceSchemaVersion: API_SURFACE_SCHEMA_VERSION,
31
+ generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
32
+ file: r.file,
33
+ modelKey: r.modelKey,
34
+ commands: r.commands,
35
+ events: r.events,
36
+ views: r.views,
37
+ types: r.types,
38
+ scalars: r.scalars,
39
+ enums: r.enums,
40
+ };
41
+ return JSON.stringify(doc, null, 2);
42
+ }
43
+ //# sourceMappingURL=apiSurfaceJson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiSurfaceJson.js","sourceRoot":"","sources":["../../src/emit/apiSurfaceJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,+FAA+F;AAC/F,iGAAiG;AACjG,0FAA0F;AAC1F,iGAAiG;AACjG,iGAAiG;AACjG,0FAA0F;AAC1F,0FAA0F;AAC1F,8BAA8B;AAG9B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,gCAAgC;AAChC,0FAA0F;AAC1F,yFAAyF;AACzF,8FAA8F;AAC9F,4FAA4F;AAC5F,4FAA4F;AAC5F,+FAA+F;AAC/F,gGAAgG;AAChG,uCAAuC;AACvC,+FAA+F;AAC/F,4FAA4F;AAC5F,8FAA8F;AAC9F,2FAA2F;AAC3F,2FAA2F;AAC3F,6FAA6F;AAC7F,yDAAyD;AACzD,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAEhD,MAAM,UAAU,mBAAmB,CAAC,CAAmB;IACrD,MAAM,GAAG,GAAG;QACV,uBAAuB,EAAE,0BAA0B;QACnD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,KAAK,EAAE,CAAC,CAAC,KAAK;KACf,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { ModelDiff } from "../model/diff.js";
2
2
  import { Diagnostic } from "../model/validate.js";
3
- export declare const DIFF_SCHEMA_VERSION = "1.8";
3
+ export declare const DIFF_SCHEMA_VERSION = "1.10";
4
4
  /**
5
5
  * The `## Delta` section's own vocabulary (MIL-88): four Title Case operations, matching the
6
6
  * doc's literal `### Added`/`### Modified`/`### Removed`/`### Renamed` headings exactly — not
@@ -23,7 +23,18 @@ import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
23
23
  // field's own on `*field-added`/`*field-removed`, the new side's on the two new ChangeTypes
24
24
  // `field-optionality-changed`/`type-field-optionality-changed`; null elsewhere). Additive-only.
25
25
  // `event-marked-public`/`event-unmarked-public` may now carry `kind: "command"`.
26
- export const DIFF_SCHEMA_VERSION = "1.8";
26
+ // 1.9 (GH #477, "identity scalars"): three new ChangeTypes — `scalar-added`/`scalar-removed`
27
+ // (declared `scalar Name: base` additions/removals, `name`/`ref` populated) and
28
+ // `scalar-base-changed` (a surviving scalar's `base` changed, `name`/`ref` plus `oldType`/
29
+ // `newType` carrying the old/new base). No new fields; existing ones widen their meaning for
30
+ // the new types (documented on `ChangeEntry` itself). Additive-only.
31
+ // 1.10 (GH #478, "enums"): four new ChangeTypes — `enum-added`/`enum-removed` (declared
32
+ // `enum Name { member, … }` additions/removals, `name`/`ref` populated) and
33
+ // `enum-member-added`/`enum-member-removed` (a surviving enum's member set changed, `name`/
34
+ // `ref` plus the new `member` key carrying the raw member string). Bumped on its own, same
35
+ // per-ticket cadence `DIFF_SCHEMA_VERSION` has followed since 1.5 (unlike `em export`'s
36
+ // `SCHEMA_VERSION`, this file has no "one bump per release" precedent to ride). Additive-only.
37
+ export const DIFF_SCHEMA_VERSION = "1.10";
27
38
  /**
28
39
  * Coarsens every `ChangeType` onto the Delta vocabulary. A `Record<ChangeType, DeltaOp>` rather
29
40
  * than a partial/default mapping so adding a `ChangeType` without deciding its `op` is a compile
@@ -62,6 +73,13 @@ const CHANGE_TYPE_TO_OP = {
62
73
  "type-field-removed": "Removed",
63
74
  "type-field-changed": "Modified",
64
75
  "type-field-optionality-changed": "Modified",
76
+ "scalar-added": "Added",
77
+ "scalar-removed": "Removed",
78
+ "scalar-base-changed": "Modified",
79
+ "enum-added": "Added",
80
+ "enum-removed": "Removed",
81
+ "enum-member-added": "Modified",
82
+ "enum-member-removed": "Modified",
65
83
  };
66
84
  /** `ChangeEntry` with every optional field present, explicit `null` when unused by `type`. */
67
85
  function serializeEntry(e) {
@@ -79,6 +97,7 @@ function serializeEntry(e) {
79
97
  toSliceKey: e.toSliceKey ?? null,
80
98
  field: e.field ?? null,
81
99
  fieldType: e.fieldType ?? null,
100
+ member: e.member ?? null,
82
101
  optional: e.optional ?? null,
83
102
  oldType: e.oldType ?? null,
84
103
  newType: e.newType ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"diffJson.js","sourceRoot":"","sources":["../../src/emit/diffJson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diffJson.js","sourceRoot":"","sources":["../../src/emit/diffJson.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
1
  import type { EngagementPlan, EngagementStatus } from "../cli/engagement.js";
2
2
  import type { FoundationCheck } from "../cli/engagementFoundation.js";
3
+ import type { EngagementBrief } from "../cli/engagementBrief.js";
3
4
  /** The engagement FILE's frontmatter contract (`engagementSchemaVersion`, docs/engagement-schema.md).
4
5
  * 1.0 (MIL-268): slug, created, createdBy, parallel, status, slices[{key, state, branch, base, pr, heldBy?}].
5
6
  * 1.1 (GH #241): optional `tracking` — the engagement-level ticket key or URL. A 1.0 file still reads.
6
- * 1.2 (GH #334): optional `prTitle` — the PR title template (`{key}`, `{slice}`). 1.0 and 1.1 files still read. */
7
- export declare const ENGAGEMENT_SCHEMA_VERSION = "1.2";
7
+ * 1.2 (GH #334): optional `prTitle` — the PR title template (`{key}`, `{slice}`). 1.0 and 1.1 files still read.
8
+ * 1.3 (GH #455): optional `context` — a list of repo-relative paths to documents an implementer
9
+ * needs beyond the slice doc (constitution, NFR docs, ADRs). 1.0, 1.1 and 1.2 files still read. */
10
+ export declare const ENGAGEMENT_SCHEMA_VERSION = "1.3";
8
11
  /** Every `engagementSchemaVersion` this em reads; it always writes {@link ENGAGEMENT_SCHEMA_VERSION}. */
9
12
  export declare const ENGAGEMENT_READABLE_VERSIONS: readonly string[];
10
- export declare const ENGAGEMENT_PLAN_SCHEMA_VERSION = "1.4";
13
+ export declare const ENGAGEMENT_PLAN_SCHEMA_VERSION = "1.5";
11
14
  export declare const ENGAGEMENT_STATUS_SCHEMA_VERSION = "1.1";
12
15
  export declare function buildEngagementPlanJson(plan: EngagementPlan): string;
13
16
  export declare const ENGAGEMENT_FOUNDATION_SCHEMA_VERSION = "1.0";
14
17
  export declare function buildEngagementFoundationJson(file: string, slug: string, check: FoundationCheck): string;
18
+ export declare const ENGAGEMENT_BRIEF_SCHEMA_VERSION = "1.0";
19
+ export declare function buildEngagementBriefJson(brief: EngagementBrief): string;
15
20
  export declare function buildEngagementStatusJson(status: EngagementStatus): string;
@@ -8,10 +8,12 @@ import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
8
8
  /** The engagement FILE's frontmatter contract (`engagementSchemaVersion`, docs/engagement-schema.md).
9
9
  * 1.0 (MIL-268): slug, created, createdBy, parallel, status, slices[{key, state, branch, base, pr, heldBy?}].
10
10
  * 1.1 (GH #241): optional `tracking` — the engagement-level ticket key or URL. A 1.0 file still reads.
11
- * 1.2 (GH #334): optional `prTitle` — the PR title template (`{key}`, `{slice}`). 1.0 and 1.1 files still read. */
12
- export const ENGAGEMENT_SCHEMA_VERSION = "1.2";
11
+ * 1.2 (GH #334): optional `prTitle` — the PR title template (`{key}`, `{slice}`). 1.0 and 1.1 files still read.
12
+ * 1.3 (GH #455): optional `context` — a list of repo-relative paths to documents an implementer
13
+ * needs beyond the slice doc (constitution, NFR docs, ADRs). 1.0, 1.1 and 1.2 files still read. */
14
+ export const ENGAGEMENT_SCHEMA_VERSION = "1.3";
13
15
  /** Every `engagementSchemaVersion` this em reads; it always writes {@link ENGAGEMENT_SCHEMA_VERSION}. */
14
- export const ENGAGEMENT_READABLE_VERSIONS = ["1.0", "1.1", "1.2"];
16
+ export const ENGAGEMENT_READABLE_VERSIONS = ["1.0", "1.1", "1.2", "1.3"];
15
17
  // 1.0 (MIL-268): initial shape.
16
18
  // 1.1 (GH #241): additive `tracking` on the document and on each slice.
17
19
  // 1.2 (GH #239): additive `preflight: [{ kind, subject, slices, message }]` — the model-wide gaps
@@ -22,7 +24,10 @@ export const ENGAGEMENT_READABLE_VERSIONS = ["1.0", "1.1", "1.2"];
22
24
  // 1.4 (GH #334): additive `prTitle` on the document (the engagement's template, or `null`) and on
23
25
  // each slice (the resolved PR title the implementer is handed), and a `preflight[].kind:
24
26
  // "pr-title-fallback"` per keyless slice whose `{key}` template fell back to the default.
25
- export const ENGAGEMENT_PLAN_SCHEMA_VERSION = "1.4";
27
+ // 1.5 (GH #455): additive `context` on the document — the engagement's repo-relative document
28
+ // paths, `[]` when absent — and a `preflight[].kind: "context-missing"` per context path that
29
+ // does not exist on disk at plan time.
30
+ export const ENGAGEMENT_PLAN_SCHEMA_VERSION = "1.5";
26
31
  // 1.0 (MIL-268): initial shape.
27
32
  // 1.1 (GH #241): additive `tracking` on the document and on each slice.
28
33
  export const ENGAGEMENT_STATUS_SCHEMA_VERSION = "1.1";
@@ -37,6 +42,7 @@ export function buildEngagementPlanJson(plan) {
37
42
  parallel: plan.parallel,
38
43
  tracking: plan.tracking,
39
44
  prTitle: plan.prTitle,
45
+ context: plan.context,
40
46
  levels: plan.levels,
41
47
  slices: plan.slices,
42
48
  preflight: plan.preflight,
@@ -63,6 +69,27 @@ export function buildEngagementFoundationJson(file, slug, check) {
63
69
  };
64
70
  return JSON.stringify(doc, null, 2);
65
71
  }
72
+ // 1.0 (GH #454): `{ engagementBriefSchemaVersion, generator, file, engagement, slug,
73
+ // inlineContext, slices[{ key, sliceName, pattern, docStatus, tracking, prTitle, branch, base,
74
+ // ledgerState, ledgerBranch, ledgerBase, ledgerPr, doc: { found, path, content }, fallbackElements,
75
+ // modelContext: { consumes, produces, neighborUnits, repeatedViews }, contract: { publicTouching,
76
+ // contractPath, publicElements }, definitionOfDone: { invariantIds, scenarioTitles, bindingsPath,
77
+ // bindingsExample, conformCheckCommand, isolationNote, prTitle }, context[{ path, inline, content,
78
+ // missing }] }] }` — one brief per engagement slice (model/Ledger order), `slices` has exactly one
79
+ // entry when `--slice` narrowed it. The MCP `engagement_brief` tool returns the same document.
80
+ export const ENGAGEMENT_BRIEF_SCHEMA_VERSION = "1.0";
81
+ export function buildEngagementBriefJson(brief) {
82
+ const doc = {
83
+ engagementBriefSchemaVersion: ENGAGEMENT_BRIEF_SCHEMA_VERSION,
84
+ generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
85
+ file: brief.file,
86
+ engagement: brief.engagement,
87
+ slug: brief.slug,
88
+ inlineContext: brief.inlineContext,
89
+ slices: brief.slices,
90
+ };
91
+ return JSON.stringify(doc, null, 2);
92
+ }
66
93
  export function buildEngagementStatusJson(status) {
67
94
  const doc = {
68
95
  engagementStatusSchemaVersion: ENGAGEMENT_STATUS_SCHEMA_VERSION,
@@ -1 +1 @@
1
- {"version":3,"file":"engagementJson.js","sourceRoot":"","sources":["../../src/emit/engagementJson.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engagementJson.js","sourceRoot":"","sources":["../../src/emit/engagementJson.ts"],"names":[],"mappings":"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"}