@milehimikey/em 1.13.1 → 1.14.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.
- package/.claude/agents/em-critic.md +26 -0
- package/.claude/agents/em-implementer.md +34 -0
- package/.claude/agents/em-reviewer.md +31 -0
- package/.claude/agents/em-validator.md +27 -0
- package/.claude/skills/event-modeling/SKILL.md +50 -11
- package/.claude/skills/event-modeling-conform/SKILL.md +1 -1
- package/.claude/skills/event-modeling-design/SKILL.md +127 -18
- package/.claude/skills/event-modeling-discover/SKILL.md +1 -1
- package/.claude/skills/event-modeling-engagement/SKILL.md +192 -0
- package/.claude/skills/event-modeling-engagement/reference/engagement.md +143 -0
- package/.claude/skills/event-modeling-implement/SKILL.md +1 -1
- package/.claude/skills/event-modeling-implement/reference/implement.md +38 -11
- package/.claude/skills/event-modeling-review/SKILL.md +2 -2
- package/.claude/skills/event-modeling-shared/reference/em-dsl.md +279 -189
- package/.claude/skills/event-modeling-shared/reference/operating-principles.md +61 -0
- package/.claude/skills/event-modeling-shared/reference/slice-doc-schema.md +116 -5
- package/.claude/skills/event-modeling-shared/templates/constitution.md +18 -1
- package/.claude/skills/event-modeling-shared/templates/slice.md +64 -39
- package/.claude/skills/event-modeling-shared/templates/state.md +5 -1
- package/.claude-plugin/marketplace.json +14 -0
- package/README.md +25 -11
- package/dist/catalog/apiFirst.d.ts +28 -0
- package/dist/catalog/apiFirst.js +49 -0
- package/dist/catalog/apiFirst.js.map +1 -0
- package/dist/catalog/docJoin.d.ts +13 -0
- package/dist/catalog/docJoin.js +11 -0
- package/dist/catalog/docJoin.js.map +1 -1
- package/dist/catalog/docModelConsistencyValidate.js +44 -4
- package/dist/catalog/docModelConsistencyValidate.js.map +1 -1
- package/dist/catalog/invariantsValidate.d.ts +4 -0
- package/dist/catalog/invariantsValidate.js +102 -0
- package/dist/catalog/invariantsValidate.js.map +1 -0
- package/dist/catalog/scenarios.d.ts +15 -0
- package/dist/catalog/scenarios.js +97 -0
- package/dist/catalog/scenarios.js.map +1 -0
- package/dist/catalog/sliceDoc.d.ts +8 -0
- package/dist/catalog/sliceDoc.js +9 -0
- package/dist/catalog/sliceDoc.js.map +1 -1
- package/dist/catalog/sliceReadyValidate.d.ts +31 -4
- package/dist/catalog/sliceReadyValidate.js +66 -8
- package/dist/catalog/sliceReadyValidate.js.map +1 -1
- package/dist/catalog/sliceSections.d.ts +55 -0
- package/dist/catalog/sliceSections.js +317 -0
- package/dist/catalog/sliceSections.js.map +1 -0
- package/dist/cli/agentsMd.js +7 -1
- package/dist/cli/agentsMd.js.map +1 -1
- package/dist/cli/api.d.ts +90 -0
- package/dist/cli/api.js +318 -0
- package/dist/cli/api.js.map +1 -0
- package/dist/cli/ciInit.d.ts +82 -21
- package/dist/cli/ciInit.js +468 -64
- package/dist/cli/ciInit.js.map +1 -1
- package/dist/cli/conformScope.d.ts +28 -0
- package/dist/cli/conformScope.js +67 -0
- package/dist/cli/conformScope.js.map +1 -1
- package/dist/cli/coverage.d.ts +9 -0
- package/dist/cli/coverage.js +60 -8
- package/dist/cli/coverage.js.map +1 -1
- package/dist/cli/defer.d.ts +55 -0
- package/dist/cli/defer.js +244 -0
- package/dist/cli/defer.js.map +1 -0
- package/dist/cli/engagement.d.ts +210 -0
- package/dist/cli/engagement.js +444 -0
- package/dist/cli/engagement.js.map +1 -0
- package/dist/cli/engagementFile.d.ts +86 -0
- package/dist/cli/engagementFile.js +255 -0
- package/dist/cli/engagementFile.js.map +1 -0
- package/dist/cli/metrics.d.ts +10 -0
- package/dist/cli/metrics.js +49 -1
- package/dist/cli/metrics.js.map +1 -1
- package/dist/cli/pluginPin.d.ts +55 -0
- package/dist/cli/pluginPin.js +188 -0
- package/dist/cli/pluginPin.js.map +1 -0
- package/dist/cli/ratify.d.ts +27 -2
- package/dist/cli/ratify.js +112 -13
- package/dist/cli/ratify.js.map +1 -1
- package/dist/cli/reratify.d.ts +4 -2
- package/dist/cli/reratify.js +41 -16
- package/dist/cli/reratify.js.map +1 -1
- package/dist/cli/scopeInputs.d.ts +48 -0
- package/dist/cli/scopeInputs.js +176 -0
- package/dist/cli/scopeInputs.js.map +1 -0
- package/dist/cli/skillCheck.d.ts +15 -1
- package/dist/cli/skillCheck.js +22 -1
- package/dist/cli/skillCheck.js.map +1 -1
- package/dist/cli/skillDirs.d.ts +5 -0
- package/dist/cli/skillDirs.js +13 -1
- package/dist/cli/skillDirs.js.map +1 -1
- package/dist/cli/skillSync.d.ts +4 -0
- package/dist/cli/skillSync.js +23 -0
- package/dist/cli/skillSync.js.map +1 -1
- package/dist/cli/sliceNew.d.ts +11 -7
- package/dist/cli/sliceNew.js +91 -18
- package/dist/cli/sliceNew.js.map +1 -1
- package/dist/cli/sliceSync.d.ts +50 -0
- package/dist/cli/sliceSync.js +170 -0
- package/dist/cli/sliceSync.js.map +1 -0
- package/dist/cli/status.d.ts +24 -1
- package/dist/cli/status.js +20 -1
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/systemInputs.d.ts +53 -10
- package/dist/cli/systemInputs.js +186 -11
- package/dist/cli/systemInputs.js.map +1 -1
- package/dist/cli/upgrade.d.ts +16 -3
- package/dist/cli/upgrade.js +366 -30
- package/dist/cli/upgrade.js.map +1 -1
- package/dist/cli/usageLog.d.ts +4 -2
- package/dist/cli/usageLog.js +4 -2
- package/dist/cli/usageLog.js.map +1 -1
- package/dist/cli.js +599 -94
- package/dist/cli.js.map +1 -1
- package/dist/emit/api.d.ts +29 -0
- package/dist/emit/api.js +220 -0
- package/dist/emit/api.js.map +1 -0
- package/dist/emit/apiCheckJson.d.ts +3 -0
- package/dist/emit/apiCheckJson.js +21 -0
- package/dist/emit/apiCheckJson.js.map +1 -0
- package/dist/emit/codeownersJson.d.ts +3 -0
- package/dist/emit/codeownersJson.js +19 -0
- package/dist/emit/codeownersJson.js.map +1 -0
- package/dist/emit/diffJson.d.ts +1 -1
- package/dist/emit/diffJson.js +8 -1
- package/dist/emit/diffJson.js.map +1 -1
- package/dist/emit/engagementJson.d.ts +8 -0
- package/dist/emit/engagementJson.js +46 -0
- package/dist/emit/engagementJson.js.map +1 -0
- package/dist/emit/glossaryJson.d.ts +1 -1
- package/dist/emit/glossaryJson.js +4 -1
- package/dist/emit/glossaryJson.js.map +1 -1
- package/dist/emit/json.d.ts +17 -1
- package/dist/emit/json.js +30 -1
- package/dist/emit/json.js.map +1 -1
- package/dist/emit/metricsJson.d.ts +1 -1
- package/dist/emit/metricsJson.js +4 -1
- package/dist/emit/metricsJson.js.map +1 -1
- package/dist/emit/queryJson.d.ts +1 -1
- package/dist/emit/queryJson.js +7 -1
- package/dist/emit/queryJson.js.map +1 -1
- package/dist/emit/scopeJson.d.ts +12 -0
- package/dist/emit/scopeJson.js +26 -0
- package/dist/emit/scopeJson.js.map +1 -0
- package/dist/emit/skillCheckJson.d.ts +3 -2
- package/dist/emit/skillCheckJson.js +10 -2
- package/dist/emit/skillCheckJson.js.map +1 -1
- package/dist/emit/statusJson.d.ts +1 -1
- package/dist/emit/statusJson.js +15 -1
- package/dist/emit/statusJson.js.map +1 -1
- package/dist/emit/systemJson.d.ts +15 -8
- package/dist/emit/systemJson.js +28 -13
- package/dist/emit/systemJson.js.map +1 -1
- package/dist/emit/validateJson.d.ts +3 -3
- package/dist/emit/validateJson.js +10 -4
- package/dist/emit/validateJson.js.map +1 -1
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.js +163 -31
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/diff.d.ts +4 -1
- package/dist/model/diff.js +44 -8
- package/dist/model/diff.js.map +1 -1
- package/dist/model/glossary.d.ts +2 -0
- package/dist/model/glossary.js +1 -0
- package/dist/model/glossary.js.map +1 -1
- package/dist/model/model.d.ts +55 -2
- package/dist/model/model.js +57 -0
- package/dist/model/model.js.map +1 -1
- package/dist/model/qualifiedRef.d.ts +18 -0
- package/dist/model/qualifiedRef.js +26 -0
- package/dist/model/qualifiedRef.js.map +1 -1
- package/dist/model/queryIndex.d.ts +9 -1
- package/dist/model/queryIndex.js +18 -2
- package/dist/model/queryIndex.js.map +1 -1
- package/dist/model/rules.d.ts +143 -2
- package/dist/model/rules.js +162 -3
- package/dist/model/rules.js.map +1 -1
- package/dist/model/validate.d.ts +40 -0
- package/dist/model/validate.js +147 -1
- package/dist/model/validate.js.map +1 -1
- package/dist/parser/ast.d.ts +31 -3
- package/dist/parser/parser.js +148 -14
- package/dist/parser/parser.js.map +1 -1
- package/dist/query/format.js +1 -1
- package/dist/query/format.js.map +1 -1
- package/dist/query/verbs.d.ts +6 -0
- package/dist/query/verbs.js +6 -2
- package/dist/query/verbs.js.map +1 -1
- package/dist/system/adaptation.d.ts +14 -0
- package/dist/system/adaptation.js +49 -0
- package/dist/system/adaptation.js.map +1 -0
- package/dist/system/codeowners.d.ts +77 -0
- package/dist/system/codeowners.js +242 -0
- package/dist/system/codeowners.js.map +1 -0
- package/dist/system/manifest.d.ts +10 -5
- package/dist/system/manifest.js +54 -26
- package/dist/system/manifest.js.map +1 -1
- package/dist/system/migrateManifest.d.ts +28 -0
- package/dist/system/migrateManifest.js +155 -0
- package/dist/system/migrateManifest.js.map +1 -0
- package/dist/system/scope.d.ts +46 -0
- package/dist/system/scope.js +132 -0
- package/dist/system/scope.js.map +1 -0
- package/dist/system/verify.d.ts +50 -13
- package/dist/system/verify.js +179 -58
- package/dist/system/verify.js.map +1 -1
- package/dist/templates.d.ts +2 -2
- package/dist/templates.js +23 -2
- package/dist/templates.js.map +1 -1
- package/package.json +5 -2
- package/plugin/.claude-plugin/plugin.json +18 -0
- package/plugin/agents/em-critic.md +27 -0
- package/plugin/agents/em-implementer.md +35 -0
- package/plugin/agents/em-reviewer.md +32 -0
- package/plugin/agents/em-validator.md +28 -0
- package/plugin/shared/reference/em-dsl.md +871 -0
- package/plugin/shared/reference/methodology.md +329 -0
- package/plugin/shared/reference/operating-principles.md +222 -0
- package/plugin/shared/reference/slice-doc-schema.md +574 -0
- package/plugin/shared/templates/conformance-report.md +85 -0
- package/plugin/shared/templates/constitution.md +136 -0
- package/plugin/shared/templates/model-readme.md +46 -0
- package/plugin/shared/templates/slice.md +251 -0
- package/plugin/shared/templates/state.md +77 -0
- package/plugin/skills/conform/SKILL.md +93 -0
- package/plugin/skills/conform/reference/conform.md +428 -0
- package/plugin/skills/design/SKILL.md +298 -0
- package/plugin/skills/discover/SKILL.md +90 -0
- package/plugin/skills/discover/reference/extract.md +147 -0
- package/plugin/skills/engagement/SKILL.md +193 -0
- package/plugin/skills/engagement/reference/engagement.md +144 -0
- package/plugin/skills/event-modeling/SKILL.md +132 -0
- package/plugin/skills/implement/SKILL.md +61 -0
- package/plugin/skills/implement/reference/implement.md +439 -0
- package/plugin/skills/review/SKILL.md +74 -0
- package/dist/emit/typespec.d.ts +0 -26
- package/dist/emit/typespec.js +0 -356
- package/dist/emit/typespec.js.map +0 -1
package/dist/emit/api.js
ADDED
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// `em api generate` (MIL-237, promoted from the MIL-159 `em typespec` POC): the model-owned
|
|
3
|
+
// contract for a model's `public` surface, as TypeSpec (https://typespec.io) source text —
|
|
4
|
+
// plain `model`/`interface`/`op` declarations, core scalars only, no imports, no decorators,
|
|
5
|
+
// no `@versioned` (one release train; versions are Backlog).
|
|
6
|
+
//
|
|
7
|
+
// - public commands -> `interface Commands { op <name>(<params>): void; }` (the write API)
|
|
8
|
+
// - public events -> `model` (async payloads)
|
|
9
|
+
// - public views -> `model` + `interface Views { op get<View>(): <View>; }` (the read API)
|
|
10
|
+
// - declared `type`s reachable from any of those -> `model`
|
|
11
|
+
//
|
|
12
|
+
// Types map through ONE fixed table (`PUBLIC_SCALAR_TYPES`, src/model/model.ts — briefing R7)
|
|
13
|
+
// or a declared `type`; there is no alias map, no generic-wrapper handling and no `unknown`
|
|
14
|
+
// fallback. `em validate`'s `public-field-type-unresolved` guarantees every field on this
|
|
15
|
+
// surface resolves, and the CLI refuses to generate from a model with errors, so an
|
|
16
|
+
// unresolvable type here is a programming error, not a user-facing case.
|
|
17
|
+
//
|
|
18
|
+
// Reuses `buildExportDoc` (emit/json.ts) so `public`/`optional`/`typeRef`/tags/renamedFrom are
|
|
19
|
+
// resolved once, the same way `em export` resolves them. Deterministic: no timestamps, no git
|
|
20
|
+
// data, no absolute paths — the `Source:` line is whatever label the caller passes (the CLI
|
|
21
|
+
// passes the model path relative to the contract file's own directory). Deliberately NO source
|
|
22
|
+
// hash (R12 amended): the text depends only on the public surface, so an internal-only `.em`
|
|
23
|
+
// edit leaves the contract byte-identical and neither CODEOWNERS routing nor the API-first
|
|
24
|
+
// gate fires on it.
|
|
25
|
+
import { resolvePublicType } from "../model/model.js";
|
|
26
|
+
import { dedupe } from "../util/slug.js";
|
|
27
|
+
import { buildExportDoc } from "./json.js";
|
|
28
|
+
/** The sentence every generated `model` carries (MIL-239 relies on it verbatim). */
|
|
29
|
+
export const CONSUMER_TOLERANCE_SENTENCE = "Consumers tolerate unknown fields; additive changes do not break them.";
|
|
30
|
+
export const API_HEADER_LINE = "// GENERATED by em api generate — do not hand-edit.";
|
|
31
|
+
/** em element/type names are free text; TypeSpec model/interface names are PascalCase. */
|
|
32
|
+
function pascalCase(name) {
|
|
33
|
+
const words = name.match(/[A-Za-z0-9]+/g) ?? [];
|
|
34
|
+
const joined = words.map((w) => w[0].toUpperCase() + w.slice(1)).join("");
|
|
35
|
+
if (joined.length === 0)
|
|
36
|
+
return "Unnamed";
|
|
37
|
+
return /^[0-9]/.test(joined) ? `_${joined}` : joined;
|
|
38
|
+
}
|
|
39
|
+
function camelCase(pascal) {
|
|
40
|
+
return pascal.length > 0 ? pascal[0].toLowerCase() + pascal.slice(1) : pascal;
|
|
41
|
+
}
|
|
42
|
+
/** A field name that isn't a bare TypeSpec identifier is backtick-quoted (TypeSpec's own escape). */
|
|
43
|
+
function fieldIdentifier(name) {
|
|
44
|
+
if (/^[A-Za-z_][A-Za-z0-9_]*$/.test(name))
|
|
45
|
+
return name;
|
|
46
|
+
return "`" + name.replace(/\\/g, "\\\\").replace(/`/g, "\\`") + "`";
|
|
47
|
+
}
|
|
48
|
+
// `tag`, `renamed from` and `assigned` are modeling concerns, not wire shape — carried as doc
|
|
49
|
+
// comments, never decorators (a decorator would need its own TypeSpec library).
|
|
50
|
+
function fieldNotes(f) {
|
|
51
|
+
const notes = [];
|
|
52
|
+
if (f.tag)
|
|
53
|
+
notes.push("DCB identity tag");
|
|
54
|
+
if (f.renamedFrom && f.renamedFrom.length > 0) {
|
|
55
|
+
notes.push(`renamed from ${f.renamedFrom.map((n) => JSON.stringify(n)).join(", ")}`);
|
|
56
|
+
}
|
|
57
|
+
if (f.assigned)
|
|
58
|
+
notes.push("system-assigned — not supplied by the triggering command");
|
|
59
|
+
return notes.length > 0 ? notes.join("; ") : null;
|
|
60
|
+
}
|
|
61
|
+
function elementNotes(el) {
|
|
62
|
+
const notes = [];
|
|
63
|
+
if (el.renamedFrom && el.renamedFrom.length > 0) {
|
|
64
|
+
notes.push(`renamed from ${el.renamedFrom.map((n) => JSON.stringify(n)).join(", ")}`);
|
|
65
|
+
}
|
|
66
|
+
for (const t of el.tags ?? []) {
|
|
67
|
+
if (t.kind === "composite")
|
|
68
|
+
notes.push(`DCB composite tag \`${t.key}\` from ${(t.fields ?? []).join(", ")}`);
|
|
69
|
+
else if (t.kind === "external")
|
|
70
|
+
notes.push(`DCB external tag \`${t.key}\`: ${t.description}`);
|
|
71
|
+
}
|
|
72
|
+
return notes;
|
|
73
|
+
}
|
|
74
|
+
/** MIL-265: a public element's model-declared invariants, one `/** INV-X: rule *\/` line each in
|
|
75
|
+
* declaration order — part of the contract, so tightening a rule changes the committed file
|
|
76
|
+
* (and `em api check` annotates it). A `*\/` inside the rule text is escaped so the comment
|
|
77
|
+
* cannot close early. */
|
|
78
|
+
function invariantLines(el) {
|
|
79
|
+
return (el.invariants ?? []).map((inv) => inv.rule === null ? `/** ${inv.id} */` : `/** ${inv.id}: ${inv.rule.replace(/\*\//g, "*\\/")} */`);
|
|
80
|
+
}
|
|
81
|
+
function indent(lines, depth) {
|
|
82
|
+
const pad = " ".repeat(depth);
|
|
83
|
+
return lines.map((l) => (l.length > 0 ? pad + l : l));
|
|
84
|
+
}
|
|
85
|
+
/** The public elements `em api` covers, in export (timeline) order. A repeated view
|
|
86
|
+
* (`view X again`) contributes its first public instance only — one logical read model,
|
|
87
|
+
* one TypeSpec declaration. Shared with `em api check` so both read the same surface. */
|
|
88
|
+
export function publicSurfaceOf(slices) {
|
|
89
|
+
const commands = [];
|
|
90
|
+
const events = [];
|
|
91
|
+
const views = [];
|
|
92
|
+
const seenViews = new Set();
|
|
93
|
+
for (const slice of slices) {
|
|
94
|
+
for (const el of slice.elements) {
|
|
95
|
+
if (!el.public)
|
|
96
|
+
continue;
|
|
97
|
+
if (el.kind === "command")
|
|
98
|
+
commands.push(el);
|
|
99
|
+
else if (el.kind === "event")
|
|
100
|
+
events.push(el);
|
|
101
|
+
else if (el.kind === "view") {
|
|
102
|
+
const key = el.name.trim().toLowerCase();
|
|
103
|
+
if (seenViews.has(key))
|
|
104
|
+
continue;
|
|
105
|
+
seenViews.add(key);
|
|
106
|
+
views.push(el);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return { commands, events, views };
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Build the `em api generate` contract text. Same parameter contract as `buildExport`
|
|
114
|
+
* (already-validated, error-free model; `path` is the `.em` file's real path, used for the doc
|
|
115
|
+
* join); `sourceLabel` is the `Source:` line's path (defaults to `path`).
|
|
116
|
+
*/
|
|
117
|
+
export function buildApiContract(model, refs, diagnostics, source, path, sourceLabel = path) {
|
|
118
|
+
const { doc, diagnostics: allDiagnostics } = buildExportDoc(model, refs, diagnostics, source, path);
|
|
119
|
+
const typesByRef = new Map(doc.model.types.map((t) => [t.ref, t]));
|
|
120
|
+
const surface = publicSurfaceOf(doc.model.slices);
|
|
121
|
+
// 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);
|
|
133
|
+
const usedNames = new Set();
|
|
134
|
+
const typeNameByRef = new Map();
|
|
135
|
+
for (const t of doc.model.types) {
|
|
136
|
+
if (reachable.has(t.ref))
|
|
137
|
+
typeNameByRef.set(t.ref, dedupe(pascalCase(t.name), usedNames, "_"));
|
|
138
|
+
}
|
|
139
|
+
const fieldType = (f, owner) => {
|
|
140
|
+
if (f.typeRef) {
|
|
141
|
+
const name = typeNameByRef.get(f.typeRef.ref) ?? pascalCase(f.typeRef.name);
|
|
142
|
+
return f.typeRef.array ? `${name}[]` : name;
|
|
143
|
+
}
|
|
144
|
+
const r = resolvePublicType(f.type ?? undefined, model.typesByName);
|
|
145
|
+
if (!r || r.kind !== "scalar") {
|
|
146
|
+
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
|
+
}
|
|
148
|
+
return r.array ? `${r.tsType}[]` : r.tsType;
|
|
149
|
+
};
|
|
150
|
+
const member = (f, owner) => `${fieldIdentifier(f.name)}${f.optional ? "?" : ""}: ${fieldType(f, owner)}`;
|
|
151
|
+
const docBlock = (notes) => ["/**", ...notes.map((n) => ` * ${n}`), " */"];
|
|
152
|
+
const renderModel = (name, fields, owner, notes, invariants = []) => {
|
|
153
|
+
const lines = docBlock([CONSUMER_TOLERANCE_SENTENCE, ...notes]);
|
|
154
|
+
const body = [...invariants];
|
|
155
|
+
for (const f of fields ?? []) {
|
|
156
|
+
const n = fieldNotes(f);
|
|
157
|
+
if (n)
|
|
158
|
+
body.push(`/** ${n} */`);
|
|
159
|
+
body.push(`${member(f, owner)};`);
|
|
160
|
+
}
|
|
161
|
+
lines.push(body.length > 0 ? `model ${name} {` : `model ${name} {}`);
|
|
162
|
+
if (body.length > 0)
|
|
163
|
+
lines.push(...indent(body, 1), "}");
|
|
164
|
+
return lines.join("\n");
|
|
165
|
+
};
|
|
166
|
+
const sections = [];
|
|
167
|
+
const typeBlocks = [];
|
|
168
|
+
for (const t of doc.model.types) {
|
|
169
|
+
const name = typeNameByRef.get(t.ref);
|
|
170
|
+
if (name)
|
|
171
|
+
typeBlocks.push(renderModel(name, t.fields, `type "${t.name}"`, []));
|
|
172
|
+
}
|
|
173
|
+
if (typeBlocks.length > 0)
|
|
174
|
+
sections.push(typeBlocks.join("\n\n"));
|
|
175
|
+
const eventBlocks = [];
|
|
176
|
+
for (const el of surface.events) {
|
|
177
|
+
const name = dedupe(pascalCase(el.name), usedNames, "_");
|
|
178
|
+
eventBlocks.push(renderModel(name, el.fields, `event "${el.name}"`, elementNotes(el), invariantLines(el)));
|
|
179
|
+
}
|
|
180
|
+
if (eventBlocks.length > 0)
|
|
181
|
+
sections.push(eventBlocks.join("\n\n"));
|
|
182
|
+
const viewBlocks = [];
|
|
183
|
+
const viewOps = [];
|
|
184
|
+
for (const el of surface.views) {
|
|
185
|
+
const name = dedupe(pascalCase(el.name), usedNames, "_");
|
|
186
|
+
viewBlocks.push(renderModel(name, el.fields, `view "${el.name}"`, elementNotes(el), invariantLines(el)));
|
|
187
|
+
viewOps.push(`op get${name}(): ${name};`);
|
|
188
|
+
}
|
|
189
|
+
if (viewBlocks.length > 0) {
|
|
190
|
+
sections.push(viewBlocks.join("\n\n"));
|
|
191
|
+
sections.push(["interface Views {", ...indent(viewOps, 1), "}"].join("\n"));
|
|
192
|
+
}
|
|
193
|
+
const opNames = new Set();
|
|
194
|
+
const commandOps = [];
|
|
195
|
+
for (const el of surface.commands) {
|
|
196
|
+
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;`);
|
|
207
|
+
}
|
|
208
|
+
if (commandOps.length > 0)
|
|
209
|
+
sections.push(["interface Commands {", ...indent(commandOps, 1), "}"].join("\n"));
|
|
210
|
+
const namespaceName = pascalCase(doc.model.name ?? "Model");
|
|
211
|
+
const header = [
|
|
212
|
+
API_HEADER_LINE,
|
|
213
|
+
`// Source: ${sourceLabel}`,
|
|
214
|
+
"// Scope: the model's `public` commands (write API), events (async) and views (read API).",
|
|
215
|
+
];
|
|
216
|
+
const body = sections.length > 0 ? indent(sections.join("\n\n").split("\n"), 1) : [];
|
|
217
|
+
const ns = body.length > 0 ? [`namespace ${namespaceName} {`, ...body, "}"] : [`namespace ${namespaceName} {}`];
|
|
218
|
+
return { text: [...header, "", ...ns].join("\n"), diagnostics: allDiagnostics };
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/emit/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Builds the `em api check --json` document (MIL-237) — shared by the CLI and the MCP
|
|
3
|
+
// `api_check` tool so the two are byte-identical. Own schema constant, independent of the
|
|
4
|
+
// export `SCHEMA_VERSION`; deterministic for the same inputs (no timestamps, no absolute
|
|
5
|
+
// paths — `file`/`contractPath` are as given on the command line).
|
|
6
|
+
import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
|
|
7
|
+
// 1.0 (MIL-237): initial shape.
|
|
8
|
+
export const API_CHECK_SCHEMA_VERSION = "1.0";
|
|
9
|
+
export function buildApiCheckJson(r) {
|
|
10
|
+
const doc = {
|
|
11
|
+
apiCheckSchemaVersion: API_CHECK_SCHEMA_VERSION,
|
|
12
|
+
generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
|
|
13
|
+
file: r.file,
|
|
14
|
+
contractPath: r.contractPath,
|
|
15
|
+
current: r.current,
|
|
16
|
+
base: r.base,
|
|
17
|
+
changes: r.changes.map((c) => ({ kind: c.kind, element: c.element, field: c.field, what: c.what })),
|
|
18
|
+
};
|
|
19
|
+
return JSON.stringify(doc, null, 2);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=apiCheckJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apiCheckJson.js","sourceRoot":"","sources":["../../src/emit/apiCheckJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,sFAAsF;AACtF,0FAA0F;AAC1F,yFAAyF;AACzF,mEAAmE;AAGnE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,gCAAgC;AAChC,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,UAAU,iBAAiB,CAAC,CAAiB;IACjD,MAAM,GAAG,GAAG;QACV,qBAAqB,EAAE,wBAAwB;QAC/C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,YAAY,EAAE,CAAC,CAAC,YAAY;QAC5B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;KACpG,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Builds the `em system codeowners --json` document (MIL-234) — shared by the CLI and the MCP
|
|
3
|
+
// `system_codeowners` tool so the two are byte-identical. Own schema constant, independent of
|
|
4
|
+
// the export and system schemas; deterministic for the same inputs (no timestamps, no absolute
|
|
5
|
+
// paths — `file` is as given or reached from the command line).
|
|
6
|
+
import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
|
|
7
|
+
// 1.0 (MIL-234): initial shape.
|
|
8
|
+
export const CODEOWNERS_SCHEMA_VERSION = "1.0";
|
|
9
|
+
export function buildCodeownersJson(file, entries, status) {
|
|
10
|
+
const doc = {
|
|
11
|
+
codeownersSchemaVersion: CODEOWNERS_SCHEMA_VERSION,
|
|
12
|
+
generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
|
|
13
|
+
file,
|
|
14
|
+
entries: entries.map((e) => ({ path: e.path, owners: e.owners, reason: e.reason })),
|
|
15
|
+
status,
|
|
16
|
+
};
|
|
17
|
+
return JSON.stringify(doc, null, 2);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=codeownersJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codeownersJson.js","sourceRoot":"","sources":["../../src/emit/codeownersJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,8FAA8F;AAC9F,8FAA8F;AAC9F,+FAA+F;AAC/F,gEAAgE;AAGhE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,gCAAgC;AAChC,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,OAA0B,EAAE,MAAwB;IACpG,MAAM,GAAG,GAAG;QACV,uBAAuB,EAAE,yBAAyB;QAClD,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACnF,MAAM;KACP,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/emit/diffJson.d.ts
CHANGED
|
@@ -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.
|
|
3
|
+
export declare const DIFF_SCHEMA_VERSION = "1.8";
|
|
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
|
package/dist/emit/diffJson.js
CHANGED
|
@@ -19,7 +19,11 @@ import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
|
|
|
19
19
|
// the 1.4->1.5 bump.
|
|
20
20
|
// 1.5 (MIL-91): diagnostics gain `code`/`refs`, same structured-diagnostics retrofit as
|
|
21
21
|
// `em export`'s SCHEMA_VERSION 1.4 — an independent cadence/field, bumped on its own.
|
|
22
|
-
|
|
22
|
+
// 1.8 (1.14.0 release; MIL-237): entries gain `optional` (a field's `name?: Type` marker — that
|
|
23
|
+
// field's own on `*field-added`/`*field-removed`, the new side's on the two new ChangeTypes
|
|
24
|
+
// `field-optionality-changed`/`type-field-optionality-changed`; null elsewhere). Additive-only.
|
|
25
|
+
// `event-marked-public`/`event-unmarked-public` may now carry `kind: "command"`.
|
|
26
|
+
export const DIFF_SCHEMA_VERSION = "1.8";
|
|
23
27
|
/**
|
|
24
28
|
* Coarsens every `ChangeType` onto the Delta vocabulary. A `Record<ChangeType, DeltaOp>` rather
|
|
25
29
|
* than a partial/default mapping so adding a `ChangeType` without deciding its `op` is a compile
|
|
@@ -39,6 +43,7 @@ const CHANGE_TYPE_TO_OP = {
|
|
|
39
43
|
"field-added": "Added",
|
|
40
44
|
"field-removed": "Removed",
|
|
41
45
|
"field-changed": "Modified",
|
|
46
|
+
"field-optionality-changed": "Modified",
|
|
42
47
|
"from-added": "Added",
|
|
43
48
|
"from-removed": "Removed",
|
|
44
49
|
"note-added": "Added",
|
|
@@ -56,6 +61,7 @@ const CHANGE_TYPE_TO_OP = {
|
|
|
56
61
|
"type-field-added": "Added",
|
|
57
62
|
"type-field-removed": "Removed",
|
|
58
63
|
"type-field-changed": "Modified",
|
|
64
|
+
"type-field-optionality-changed": "Modified",
|
|
59
65
|
};
|
|
60
66
|
/** `ChangeEntry` with every optional field present, explicit `null` when unused by `type`. */
|
|
61
67
|
function serializeEntry(e) {
|
|
@@ -73,6 +79,7 @@ function serializeEntry(e) {
|
|
|
73
79
|
toSliceKey: e.toSliceKey ?? null,
|
|
74
80
|
field: e.field ?? null,
|
|
75
81
|
fieldType: e.fieldType ?? null,
|
|
82
|
+
optional: e.optional ?? null,
|
|
76
83
|
oldType: e.oldType ?? null,
|
|
77
84
|
newType: e.newType ?? null,
|
|
78
85
|
source: e.source ?? null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diffJson.js","sourceRoot":"","sources":["../../src/emit/diffJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,4EAA4E;AAC5E,mEAAmE;AACnE,4EAA4E;AAC5E,6EAA6E;AAC7E,+DAA+D;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAsC,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAc,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,6FAA6F;AAC7F,+FAA+F;AAC/F,+FAA+F;AAC/F,gGAAgG;AAChG,mFAAmF;AACnF,yFAAyF;AACzF,+FAA+F;AAC/F,8FAA8F;AAC9F,qBAAqB;AACrB,wFAAwF;AACxF,sFAAsF;AACtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAWzC;;;;GAIG;AACH,MAAM,iBAAiB,GAAgC;IACrD,aAAa,EAAE,OAAO;IACtB,eAAe,EAAE,SAAS;IAC1B,cAAc,EAAE,OAAO;IACvB,gBAAgB,EAAE,SAAS;IAC3B,gBAAgB,EAAE,UAAU;IAC5B,eAAe,EAAE,OAAO;IACxB,iBAAiB,EAAE,SAAS;IAC5B,2FAA2F;IAC3F,4EAA4E;IAC5E,eAAe,EAAE,UAAU;IAC3B,aAAa,EAAE,OAAO;IACtB,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,UAAU;IAC3B,YAAY,EAAE,OAAO;IACrB,cAAc,EAAE,SAAS;IACzB,YAAY,EAAE,OAAO;IACrB,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,UAAU;IAC1B,cAAc,EAAE,OAAO;IACvB,gBAAgB,EAAE,SAAS;IAC3B,eAAe,EAAE,UAAU;IAC3B,qBAAqB,EAAE,UAAU;IACjC,uBAAuB,EAAE,UAAU;IACnC,aAAa,EAAE,OAAO;IACtB,eAAe,EAAE,SAAS;IAC1B,YAAY,EAAE,OAAO;IACrB,cAAc,EAAE,SAAS;IACzB,kBAAkB,EAAE,OAAO;IAC3B,oBAAoB,EAAE,SAAS;IAC/B,oBAAoB,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"diffJson.js","sourceRoot":"","sources":["../../src/emit/diffJson.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EngagementPlan, EngagementStatus } from "../cli/engagement.js";
|
|
2
|
+
/** The engagement FILE's frontmatter contract (`engagementSchemaVersion`, docs/engagement-schema.md).
|
|
3
|
+
* 1.0 (MIL-268): slug, created, createdBy, parallel, status, slices[{key, state, branch, base, pr, heldBy?}]. */
|
|
4
|
+
export declare const ENGAGEMENT_SCHEMA_VERSION = "1.0";
|
|
5
|
+
export declare const ENGAGEMENT_PLAN_SCHEMA_VERSION = "1.0";
|
|
6
|
+
export declare const ENGAGEMENT_STATUS_SCHEMA_VERSION = "1.0";
|
|
7
|
+
export declare function buildEngagementPlanJson(plan: EngagementPlan): string;
|
|
8
|
+
export declare function buildEngagementStatusJson(status: EngagementStatus): string;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// `em engagement` (MIL-268) schema constants and the two JSON documents: `em engagement plan
|
|
3
|
+
// --json` and `em engagement status --json`. Both are also EXACTLY what the MCP
|
|
4
|
+
// `engagement_plan`/`engagement_status` tools return — one builder per surface, so the CLI and
|
|
5
|
+
// MCP can never drift (MCP parity). Pretty-printed (2-space), no trailing newline (the CLI adds
|
|
6
|
+
// it), no timestamps: byte-identical for the same model, docs and engagement file.
|
|
7
|
+
import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
|
|
8
|
+
/** The engagement FILE's frontmatter contract (`engagementSchemaVersion`, docs/engagement-schema.md).
|
|
9
|
+
* 1.0 (MIL-268): slug, created, createdBy, parallel, status, slices[{key, state, branch, base, pr, heldBy?}]. */
|
|
10
|
+
export const ENGAGEMENT_SCHEMA_VERSION = "1.0";
|
|
11
|
+
// 1.0 (MIL-268): initial shape.
|
|
12
|
+
export const ENGAGEMENT_PLAN_SCHEMA_VERSION = "1.0";
|
|
13
|
+
// 1.0 (MIL-268): initial shape.
|
|
14
|
+
export const ENGAGEMENT_STATUS_SCHEMA_VERSION = "1.0";
|
|
15
|
+
export function buildEngagementPlanJson(plan) {
|
|
16
|
+
const doc = {
|
|
17
|
+
engagementPlanSchemaVersion: ENGAGEMENT_PLAN_SCHEMA_VERSION,
|
|
18
|
+
generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
|
|
19
|
+
file: plan.file,
|
|
20
|
+
engagement: plan.engagement,
|
|
21
|
+
slug: plan.slug,
|
|
22
|
+
status: plan.status,
|
|
23
|
+
parallel: plan.parallel,
|
|
24
|
+
levels: plan.levels,
|
|
25
|
+
slices: plan.slices,
|
|
26
|
+
};
|
|
27
|
+
return JSON.stringify(doc, null, 2);
|
|
28
|
+
}
|
|
29
|
+
export function buildEngagementStatusJson(status) {
|
|
30
|
+
const doc = {
|
|
31
|
+
engagementStatusSchemaVersion: ENGAGEMENT_STATUS_SCHEMA_VERSION,
|
|
32
|
+
generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
|
|
33
|
+
file: status.file,
|
|
34
|
+
engagement: status.engagement,
|
|
35
|
+
slug: status.slug,
|
|
36
|
+
status: status.status,
|
|
37
|
+
created: status.created,
|
|
38
|
+
createdBy: status.createdBy,
|
|
39
|
+
parallel: status.parallel,
|
|
40
|
+
slices: status.slices,
|
|
41
|
+
counts: status.counts,
|
|
42
|
+
closable: status.closable,
|
|
43
|
+
};
|
|
44
|
+
return JSON.stringify(doc, null, 2);
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=engagementJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"engagementJson.js","sourceRoot":"","sources":["../../src/emit/engagementJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,6FAA6F;AAC7F,gFAAgF;AAChF,+FAA+F;AAC/F,gGAAgG;AAChG,mFAAmF;AAGnF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D;kHACkH;AAClH,MAAM,CAAC,MAAM,yBAAyB,GAAG,KAAK,CAAC;AAE/C,gCAAgC;AAChC,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AAEpD,gCAAgC;AAChC,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,CAAC;AAEtD,MAAM,UAAU,uBAAuB,CAAC,IAAoB;IAC1D,MAAM,GAAG,GAAG;QACV,2BAA2B,EAAE,8BAA8B;QAC3D,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAwB;IAChE,MAAM,GAAG,GAAG;QACV,6BAA6B,EAAE,gCAAgC;QAC/D,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Glossary, GlossaryConflict } from "../model/glossary.js";
|
|
2
|
-
export declare const GLOSSARY_SCHEMA_VERSION = "1.
|
|
2
|
+
export declare const GLOSSARY_SCHEMA_VERSION = "1.1";
|
|
3
3
|
/** One input file: what it was called on the command line, hashed source. */
|
|
4
4
|
export interface GlossaryFileSide {
|
|
5
5
|
label: string;
|
|
@@ -8,7 +8,10 @@
|
|
|
8
8
|
// recompiles each input file itself, the same way `em diff` does).
|
|
9
9
|
import { createHash } from "node:crypto";
|
|
10
10
|
import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
|
|
11
|
-
|
|
11
|
+
// 1.0: initial shape.
|
|
12
|
+
// 1.1 (1.14.0 release; MIL-237): every field occurrence gains `optional: boolean` (the field's
|
|
13
|
+
// `name?: Type` marker). Additive-only.
|
|
14
|
+
export const GLOSSARY_SCHEMA_VERSION = "1.1";
|
|
12
15
|
function serializeSide(side) {
|
|
13
16
|
return {
|
|
14
17
|
label: side.label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glossaryJson.js","sourceRoot":"","sources":["../../src/emit/glossaryJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,uEAAuE;AACvE,+DAA+D;AAC/D,6EAA6E;AAC7E,uEAAuE;AACvE,8EAA8E;AAC9E,6EAA6E;AAC7E,mEAAmE;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAQ7C,SAAS,aAAa,CAAC,IAAsB;IAC3C,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACvE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAkB,EAClB,SAA6B,EAC7B,OAA2B;IAE3B,MAAM,GAAG,GAAG;QACV,qBAAqB,EAAE,uBAAuB;QAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAClC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,SAAS;KACV,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"glossaryJson.js","sourceRoot":"","sources":["../../src/emit/glossaryJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,uEAAuE;AACvE,+DAA+D;AAC/D,6EAA6E;AAC7E,uEAAuE;AACvE,8EAA8E;AAC9E,6EAA6E;AAC7E,mEAAmE;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,sBAAsB;AACtB,+FAA+F;AAC/F,wCAAwC;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAQ7C,SAAS,aAAa,CAAC,IAAsB;IAC3C,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACvE,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,QAAkB,EAClB,SAA6B,EAC7B,OAA2B;IAE3B,MAAM,GAAG,GAAG;QACV,qBAAqB,EAAE,uBAAuB;QAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;QAClC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,SAAS;KACV,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/emit/json.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { RefsResult } from "../model/refs.js";
|
|
|
4
4
|
import { EdgeSource } from "../model/edges.js";
|
|
5
5
|
export declare const GENERATOR_NAME = "@milehimikey/em";
|
|
6
6
|
export declare const GENERATOR_VERSION: string;
|
|
7
|
-
export declare const SCHEMA_VERSION = "1.
|
|
7
|
+
export declare const SCHEMA_VERSION = "1.15";
|
|
8
8
|
export interface ExportResult {
|
|
9
9
|
/** Pretty-printed JSON, no trailing newline. */
|
|
10
10
|
text: string;
|
|
@@ -55,6 +55,17 @@ export interface ElementExport {
|
|
|
55
55
|
name: string;
|
|
56
56
|
ref: string | null;
|
|
57
57
|
}[] | null;
|
|
58
|
+
/** `consumes` contract refs (MIL-235, schema 1.15) — translation only, `null` on every other
|
|
59
|
+
* kind and on a translation with none. As written: never resolved against another model at
|
|
60
|
+
* export time (`em system` does that, src/system/verify.ts). */
|
|
61
|
+
consumes: string[] | null;
|
|
62
|
+
/** Model-declared invariants (MIL-265, schema 1.15) — command/event only, `null` on every
|
|
63
|
+
* other kind and on an element with none. Declaration order; `rule` is `null` when the
|
|
64
|
+
* `invariant` line gives no quoted rule. */
|
|
65
|
+
invariants: {
|
|
66
|
+
id: string;
|
|
67
|
+
rule: string | null;
|
|
68
|
+
}[] | null;
|
|
58
69
|
}
|
|
59
70
|
/** One semantic edge's exported shape (`model.edges[]`, schema 1.10 / MIL-191): both endpoints
|
|
60
71
|
* are export-stable element refs (`<sliceKey>/<kind>.<slug>` — so each endpoint's kind is
|
|
@@ -122,6 +133,8 @@ export interface ExportDoc {
|
|
|
122
133
|
name: string | null;
|
|
123
134
|
/** The model's own cross-model key (MIL-193, `computeModelKey()`). */
|
|
124
135
|
key: string;
|
|
136
|
+
/** MIL-235, schema 1.15: the header's `owner "Team"[, …]` entries as written; `[]` when none. */
|
|
137
|
+
owner: string[];
|
|
125
138
|
personas: string[];
|
|
126
139
|
contexts: string[];
|
|
127
140
|
hasAutomation: boolean;
|
|
@@ -185,6 +198,9 @@ export interface FieldExport {
|
|
|
185
198
|
* convention. `null` on a bare `derived` field, a non-derived field, and every field of a
|
|
186
199
|
* declared type (the clause can't parse there). */
|
|
187
200
|
derivedFrom: string[] | null;
|
|
201
|
+
/** `true` when the field is written `name?: Type` (MIL-237) — it may be absent. Same
|
|
202
|
+
* `=== true` convention as `tag`; always present, `false` on every required field. */
|
|
203
|
+
optional: boolean;
|
|
188
204
|
}
|
|
189
205
|
export interface TagExport {
|
|
190
206
|
key: string;
|
package/dist/emit/json.js
CHANGED
|
@@ -123,7 +123,29 @@ export const GENERATOR_VERSION = JSON.parse(readFileSync(join(dirname(fileURLToP
|
|
|
123
123
|
// written by a full, non-`--partial` `em state set-conformance`) — which need not equal
|
|
124
124
|
// `design` itself, since a later bump can outrun certification. See src/cli/modelVersion.ts.
|
|
125
125
|
// Additive-only.
|
|
126
|
-
|
|
126
|
+
// 1.15 (1.14.0 release): ONE bump for the whole release — later 1.14.0 tickets append their
|
|
127
|
+
// additions to this paragraph instead of bumping again.
|
|
128
|
+
// - MIL-235: `slice.elements[].consumes: string[] | null` — a translation's `consumes` contract
|
|
129
|
+
// refs (`<modelKey>:<kind>.<slug>`, kind event|view), as written, in declaration order;
|
|
130
|
+
// `null` on every other kind and on a translation with none. Never resolved here (compile
|
|
131
|
+
// isolation) — `em system` resolves them. `model.owner: string[]` — the header's `owner
|
|
132
|
+
// "Team"[, …]` entries as written, `[]` when none (free text; MIL-234 adds a handle shape).
|
|
133
|
+
// - MIL-237: `fields[].optional: boolean` (types' fields too) — `true` when the field is written
|
|
134
|
+
// `name?: Type` (may be absent), `false` otherwise; always present. `elements[].public` may
|
|
135
|
+
// now be `true` on a command (`public` is legal on commands).
|
|
136
|
+
// - MIL-265: `elements[].invariants: { id, rule }[] | null` — the element's model-declared
|
|
137
|
+
// `invariant INV-<MNEMONIC>-<n> "rule"` lines (command/event only), in declaration order;
|
|
138
|
+
// `rule` is null when the line gives none. `null` on every element without one.
|
|
139
|
+
// - MIL-238: `slice.doc.meaningConfirmed: boolean` (frontmatter `meaningConfirmed: true`,
|
|
140
|
+
// `false` when absent) and `slice.doc.contractChange: string | null` (frontmatter
|
|
141
|
+
// `contractChange:`) — the API-first sign-off `em slice ratify`/`reratify` record on a
|
|
142
|
+
// public-touching slice; both always present.
|
|
143
|
+
// - MIL-266: `slice.doc.scenarios: { title, given: string[], when: string[], then: string[] }[]
|
|
144
|
+
// | null` — the doc's authored `### Scenario:` blocks (constrained Given/When/Then grammar,
|
|
145
|
+
// catalog/scenarios.ts), in document order; `null` when the doc has no well-formed block or
|
|
146
|
+
// no usable doc is bound.
|
|
147
|
+
// Additive-only.
|
|
148
|
+
export const SCHEMA_VERSION = "1.15";
|
|
127
149
|
/**
|
|
128
150
|
* Export a single field, additively: `name`/`type` are exactly what today's consumers already
|
|
129
151
|
* see. `typeRef` is the new, purely-additive key — non-null only when `type` (bare or `[]`-
|
|
@@ -145,6 +167,7 @@ function fieldExport(f, typesByName, refByTypeId) {
|
|
|
145
167
|
assigned: f.assigned === true,
|
|
146
168
|
derived: f.derived === true,
|
|
147
169
|
derivedFrom: f.derivedFrom ?? null,
|
|
170
|
+
optional: f.optional === true,
|
|
148
171
|
};
|
|
149
172
|
}
|
|
150
173
|
/** Build the `em export` document for an already-validated (error-free) model. `refs` is
|
|
@@ -318,6 +341,10 @@ export function buildExportDoc(model, refs, diagnostics, source, path) {
|
|
|
318
341
|
renamedFrom: el.renamedFrom ?? null,
|
|
319
342
|
logicalRef: el.kind === "view" && el.again === true ? refOf(el.logicalId) : null,
|
|
320
343
|
loopsTo: loopsToOf(el),
|
|
344
|
+
consumes: el.consumes && el.consumes.length > 0 ? [...el.consumes] : null,
|
|
345
|
+
invariants: el.invariants && el.invariants.length > 0
|
|
346
|
+
? el.invariants.map((inv) => ({ id: inv.id, rule: inv.rule }))
|
|
347
|
+
: null,
|
|
321
348
|
})),
|
|
322
349
|
};
|
|
323
350
|
});
|
|
@@ -334,6 +361,8 @@ export function buildExportDoc(model, refs, diagnostics, source, path) {
|
|
|
334
361
|
model: {
|
|
335
362
|
name: model.name,
|
|
336
363
|
key: computeModelKey(model, path),
|
|
364
|
+
// MIL-235, schema 1.15 — see SCHEMA_VERSION's own doc comment.
|
|
365
|
+
owner: [...(model.owner ?? [])],
|
|
337
366
|
personas: model.personas,
|
|
338
367
|
contexts: model.contexts,
|
|
339
368
|
hasAutomation: model.hasAutomation,
|
package/dist/emit/json.js.map
CHANGED
|
@@ -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":"AAAA,+BAA+B;AAC/B,+EAA+E;AAC/E,4EAA4E;AAC5E,4EAA4E;AAC5E,EAAE;AACF,gFAAgF;AAChF,yEAAyE;AACzE,4EAA4E;AAC5E,iDAAiD;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,WAAW,EAAsC,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnH,OAAO,EAAc,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAc,oBAAoB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAExF,2EAA2E;AAC3E,2EAA2E;AAC3E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAW,IAAI,CAAC,KAAK,CACjD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAChG,CAAC,OAAO,CAAC;AAEV,uFAAuF;AACvF,0FAA0F;AAC1F,8FAA8F;AAC9F,8CAA8C;AAC9C,qFAAqF;AACrF,6FAA6F;AAC7F,oDAAoD;AACpD,sFAAsF;AACtF,6FAA6F;AAC7F,2FAA2F;AAC3F,8DAA8D;AAC9D,+EAA+E;AAC/E,6FAA6F;AAC7F,sFAAsF;AACtF,2FAA2F;AAC3F,qFAAqF;AACrF,sFAAsF;AACtF,wFAAwF;AACxF,kFAAkF;AAClF,+FAA+F;AAC/F,4FAA4F;AAC5F,6FAA6F;AAC7F,+FAA+F;AAC/F,+FAA+F;AAC/F,0FAA0F;AAC1F,6FAA6F;AAC7F,qCAAqC;AACrC,iGAAiG;AACjG,2FAA2F;AAC3F,gGAAgG;AAChG,iGAAiG;AACjG,8DAA8D;AAC9D,mGAAmG;AACnG,kGAAkG;AAClG,6FAA6F;AAC7F,+FAA+F;AAC/F,gGAAgG;AAChG,8FAA8F;AAC9F,gGAAgG;AAChG,+FAA+F;AAC/F,8FAA8F;AAC9F,+FAA+F;AAC/F,kCAAkC;AAClC,8FAA8F;AAC9F,wFAAwF;AACxF,6FAA6F;AAC7F,wFAAwF;AACxF,4FAA4F;AAC5F,+FAA+F;AAC/F,yFAAyF;AACzF,yFAAyF;AACzF,kGAAkG;AAClG,qEAAqE;AACrE,4FAA4F;AAC5F,+FAA+F;AAC/F,+FAA+F;AAC/F,4FAA4F;AAC5F,qDAAqD;AACrD,4FAA4F;AAC5F,2FAA2F;AAC3F,yFAAyF;AACzF,4FAA4F;AAC5F,2FAA2F;AAC3F,uCAAuC;AACvC,8FAA8F;AAC9F,gGAAgG;AAChG,4FAA4F;AAC5F,+DAA+D;AAC/D,4FAA4F;AAC5F,6FAA6F;AAC7F,iBAAiB;AACjB,yFAAyF;AACzF,4FAA4F;AAC5F,+FAA+F;AAC/F,0FAA0F;AAC1F,6FAA6F;AAC7F,8FAA8F;AAC9F,gGAAgG;AAChG,0FAA0F;AAC1F,0FAA0F;AAC1F,0FAA0F;AAC1F,qFAAqF;AACrF,2FAA2F;AAC3F,iBAAiB;AACjB,8EAA8E;AAC9E,gGAAgG;AAChG,mFAAmF;AACnF,gGAAgG;AAChG,gGAAgG;AAChG,gGAAgG;AAChG,+FAA+F;AAC/F,gCAAgC;AAChC,2FAA2F;AAC3F,uFAAuF;AACvF,6FAA6F;AAC7F,0FAA0F;AAC1F,wFAAwF;AACxF,6FAA6F;AAC7F,iBAAiB;AACjB,4FAA4F;AAC5F,wDAAwD;AACxD,iGAAiG;AACjG,2FAA2F;AAC3F,6FAA6F;AAC7F,2FAA2F;AAC3F,+FAA+F;AAC/F,kGAAkG;AAClG,+FAA+F;AAC/F,iEAAiE;AACjE,4FAA4F;AAC5F,6FAA6F;AAC7F,mFAAmF;AACnF,2FAA2F;AAC3F,qFAAqF;AACrF,0FAA0F;AAC1F,iDAAiD;AACjD,iGAAiG;AACjG,+FAA+F;AAC/F,+FAA+F;AAC/F,6BAA6B;AAC7B,iBAAiB;AACjB,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC;AA6LrC;;;;;;;GAOG;AACH,SAAS,WAAW,CAClB,CAAQ,EACR,WAAkC,EAClC,WAAgC;IAEhC,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACrD,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;QACpB,OAAO,EAAE,QAAQ;YACf,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;YACtG,CAAC,CAAC,IAAI;QACR,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI;QACnB,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;QAClC,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;QAC7B,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,IAAI;QAC3B,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,IAAI;QAClC,QAAQ,EAAE,CAAC,CAAC,QAAQ,KAAK,IAAI;KAC9B,CAAC;AACJ,CAAC;AAED;;;;+FAI+F;AAC/F,MAAM,UAAU,WAAW,CACzB,KAAsB,EACtB,IAAgB,EAChB,WAAyB,EACzB,MAAc,EACd,IAAY;IAEZ,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpG,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;;2BAY2B;AAC3B,MAAM,UAAU,gBAAgB,CAC9B,KAAsB,EACtB,IAAgB,EAChB,WAAyB,EACzB,MAAc,EACd,IAAY,EACZ,QAAgB;IAEhB,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpG,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;IAC/D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;IAE7E,MAAM,QAAQ,GAAG;QACf,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,4FAA4F;QAC5F,0EAA0E;QAC1E,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG;QACvB,QAAQ;QACR,KAAK;QACL,sFAAsF;QACtF,sFAAsF;QACtF,mFAAmF;QACnF,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAC3E;KACF,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;AAC/F,CAAC;AAED;;;;;kFAKkF;AAClF,SAAS,kBAAkB,CAAC,OAAe;IACzC,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACrD,OAAO;QACL,MAAM;QACN,SAAS,EAAE,cAAc;YACvB,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,EAAE,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE;YACvG,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC;AAED;;;;;mGAKmG;AACnG,MAAM,UAAU,cAAc,CAC5B,KAAsB,EACtB,IAAgB,EAChB,WAAyB,EACzB,MAAc,EACd,IAAY;IAEZ,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,cAAc,GAAiB,EAAE,CAAC;IAExC,MAAM,KAAK,GAAG,CAAC,EAAsB,EAAiB,EAAE,CACtD,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtC,MAAM,MAAM,GAAG,CAAC,EAAW,EAAiD,EAAE;QAC5E,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC;IAEF,wFAAwF;IACxF,0FAA0F;IAC1F,2FAA2F;IAC3F,gDAAgD;IAChD,MAAM,SAAS,GAAG,CAAC,EAAW,EAAiD,EAAE;QAC/E,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACrG,CAAC,CAAC;IAEF,2FAA2F;IAC3F,6FAA6F;IAC7F,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,2EAA2E;IAC3E,MAAM,YAAY,GAAG,CAAC,KAAwC,EAAqB,EAAE;QACnF,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QAC3F,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ;iBAC7B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,EAAE,CAAC;iBACnG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;YAC/C,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC/C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;oBACvC,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;oBACrD,IAAI,CAAC,GAAG;wBAAE,SAAS,CAAC,mEAAmE;oBACvF,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;oBACtC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;wBAAE,SAAS;oBAClC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,yFAAyF;IACzF,2FAA2F;IAC3F,2FAA2F;IAC3F,+DAA+D;IAC/D,MAAM,MAAM,GAAG,CAAC,EAAW,EAAsB,EAAE;QACjD,MAAM,IAAI,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC,CAAC;IAEF,4FAA4F;IAC5F,gGAAgG;IAChG,mFAAmF;IACnF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,mBAAmB,CAChG,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,OAAO,EACP,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAE,CACzB,CAAC;QACF,cAAc,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QACtC,OAAO;YACL,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,sEAAsE;YACtE,sEAAsE;YACtE,4DAA4D;YAC5D,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;YAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,kFAAkF;YAClF,kFAAkF;YAClF,sDAAsD;YACtD,OAAO,EAAE,oBAAoB,CAAC,KAAK,CAAC;YACpC,2EAA2E;YAC3E,8EAA8E;YAC9E,uDAAuD;YACvD,GAAG;YACH,+DAA+D;YAC/D,cAAc,EAAE,iBAAiB;YACjC,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACpC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAE;gBACxB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,MAAM,EAAE,EAAE,CAAC,MAAM;oBACf,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;oBACtE,CAAC,CAAC,IAAI;gBACR,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI;gBACrB,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI;gBACvB,UAAU,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI;gBACjC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;gBAChB,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI;gBAC3B,OAAO,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI;gBAC3B,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI;gBACxB,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI;gBAC1B,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;gBAChB,WAAW,EAAE,EAAE,CAAC,WAAW,IAAI,IAAI;gBACnC,UAAU,EACR,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;gBACtE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;gBACtB,QAAQ,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;gBACzE,UAAU,EACR,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;oBACvC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9D,CAAC,CAAC,IAAI;aACX,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,wFAAwF;IACxF,4FAA4F;IAC5F,+FAA+F;IAC/F,gFAAgF;IAChF,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAE1E,MAAM,cAAc,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,cAAc,EAAE,GAAG,sBAAsB,CAAC,CAAC;IAEtF,MAAM,SAAS,GAAG;QAChB,aAAa,EAAE,cAAc;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;QACnF,KAAK,EAAE;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,GAAG,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC;YACjC,+DAA+D;YAC/D,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,+DAA+D;YAC/D,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC;YACpC,+EAA+E;YAC/E,iDAAiD;YACjD,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE;gBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;aAC5E,CAAC,CAAC;YACH,MAAM;YACN,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBACxB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC;YACH,qFAAqF;YACrF,0FAA0F;YAC1F,0FAA0F;YAC1F,2EAA2E;YAC3E,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE;gBAC1B,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE;gBACtB,MAAM,EAAE,CAAC,CAAC,MAAM;aACjB,CAAC,CAAC;SACJ;QACD,WAAW,EAAE,cAAc,CAAC,GAAG,CAAC,mBAAmB,CAAC;KACrD,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;AACzD,CAAC"}
|