@milehimikey/em 1.9.1 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/event-modeling/SKILL.md +1 -1
- package/.claude/skills/event-modeling-conform/SKILL.md +5 -1
- package/.claude/skills/event-modeling-design/SKILL.md +31 -12
- package/.claude/skills/event-modeling-discover/SKILL.md +1 -1
- package/.claude/skills/event-modeling-implement/SKILL.md +14 -3
- package/.claude/skills/event-modeling-implement/reference/implement.md +73 -6
- package/.claude/skills/event-modeling-review/SKILL.md +14 -3
- package/.claude/skills/event-modeling-shared/reference/em-dsl.md +110 -11
- package/.claude/skills/event-modeling-shared/reference/slice-doc-schema.md +4 -1
- package/.claude/skills/event-modeling-shared/templates/constitution.md +111 -0
- package/.claude/skills/event-modeling-shared/templates/model-readme.md +2 -2
- package/.claude/skills/event-modeling-shared/templates/slice.md +4 -0
- package/README.md +8 -1
- package/dist/catalog/docJoin.d.ts +8 -0
- package/dist/catalog/docJoin.js +4 -0
- package/dist/catalog/docJoin.js.map +1 -1
- package/dist/catalog/sliceDoc.d.ts +8 -0
- package/dist/catalog/sliceDoc.js +2 -0
- package/dist/catalog/sliceDoc.js.map +1 -1
- package/dist/cli/ciInit.d.ts +10 -3
- package/dist/cli/ciInit.js +22 -14
- package/dist/cli/ciInit.js.map +1 -1
- package/dist/cli/ledgerCheck.d.ts +72 -0
- package/dist/cli/ledgerCheck.js +122 -1
- package/dist/cli/ledgerCheck.js.map +1 -1
- package/dist/cli/ratify.d.ts +37 -5
- package/dist/cli/ratify.js +106 -9
- package/dist/cli/ratify.js.map +1 -1
- package/dist/cli/reratify.js +14 -5
- package/dist/cli/reratify.js.map +1 -1
- package/dist/cli/review.d.ts +38 -0
- package/dist/cli/review.js +160 -0
- package/dist/cli/review.js.map +1 -0
- package/dist/cli/sliceIndex.d.ts +3 -0
- package/dist/cli/sliceIndex.js +5 -4
- package/dist/cli/sliceIndex.js.map +1 -1
- package/dist/cli/stateFile.d.ts +10 -0
- package/dist/cli/stateFile.js +14 -0
- package/dist/cli/stateFile.js.map +1 -1
- package/dist/cli/status.d.ts +44 -3
- package/dist/cli/status.js +75 -18
- package/dist/cli/status.js.map +1 -1
- package/dist/cli/systemInputs.d.ts +34 -0
- package/dist/cli/systemInputs.js +129 -0
- package/dist/cli/systemInputs.js.map +1 -0
- package/dist/cli.js +362 -23
- package/dist/cli.js.map +1 -1
- package/dist/emit/freshnessJson.d.ts +1 -1
- package/dist/emit/freshnessJson.js +5 -1
- package/dist/emit/freshnessJson.js.map +1 -1
- package/dist/emit/json.d.ts +37 -1
- package/dist/emit/json.js +67 -1
- package/dist/emit/json.js.map +1 -1
- package/dist/emit/ledgerJson.d.ts +1 -1
- package/dist/emit/ledgerJson.js +6 -1
- package/dist/emit/ledgerJson.js.map +1 -1
- package/dist/emit/queryJson.d.ts +6 -0
- package/dist/emit/queryJson.js +33 -0
- package/dist/emit/queryJson.js.map +1 -0
- package/dist/emit/statusJson.d.ts +1 -1
- package/dist/emit/statusJson.js +5 -1
- package/dist/emit/statusJson.js.map +1 -1
- package/dist/emit/systemJson.d.ts +8 -0
- package/dist/emit/systemJson.js +38 -0
- package/dist/emit/systemJson.js.map +1 -0
- package/dist/mcp/server.d.ts +1 -1
- package/dist/mcp/server.js +195 -9
- package/dist/mcp/server.js.map +1 -1
- package/dist/model/edges.d.ts +28 -1
- package/dist/model/edges.js +77 -15
- package/dist/model/edges.js.map +1 -1
- package/dist/model/model.d.ts +6 -0
- package/dist/model/model.js +2 -0
- package/dist/model/model.js.map +1 -1
- package/dist/model/qualifiedRef.d.ts +47 -0
- package/dist/model/qualifiedRef.js +100 -0
- package/dist/model/qualifiedRef.js.map +1 -0
- package/dist/model/queryIndex.d.ts +53 -0
- package/dist/model/queryIndex.js +114 -0
- package/dist/model/queryIndex.js.map +1 -0
- package/dist/model/rules.d.ts +88 -0
- package/dist/model/rules.js +101 -0
- package/dist/model/rules.js.map +1 -1
- package/dist/model/sliceDocIndex.d.ts +30 -0
- package/dist/model/sliceDocIndex.js +110 -0
- package/dist/model/sliceDocIndex.js.map +1 -0
- package/dist/model/validate.js +85 -11
- package/dist/model/validate.js.map +1 -1
- package/dist/parser/ast.d.ts +25 -0
- package/dist/parser/parser.d.ts +2 -0
- package/dist/parser/parser.js +104 -34
- package/dist/parser/parser.js.map +1 -1
- package/dist/query/format.d.ts +8 -0
- package/dist/query/format.js +80 -0
- package/dist/query/format.js.map +1 -0
- package/dist/query/pipeline.d.ts +17 -0
- package/dist/query/pipeline.js +38 -0
- package/dist/query/pipeline.js.map +1 -0
- package/dist/query/system.d.ts +60 -0
- package/dist/query/system.js +87 -0
- package/dist/query/system.js.map +1 -0
- package/dist/query/verbs.d.ts +100 -0
- package/dist/query/verbs.js +306 -0
- package/dist/query/verbs.js.map +1 -0
- package/dist/render/drawEdges.js +15 -4
- package/dist/render/drawEdges.js.map +1 -1
- package/dist/render/drawNotes.d.ts +13 -3
- package/dist/render/drawNotes.js +96 -20
- package/dist/render/drawNotes.js.map +1 -1
- package/dist/render/render.js +6 -5
- package/dist/render/render.js.map +1 -1
- package/dist/render/sliceDiagram.js +1 -0
- package/dist/render/sliceDiagram.js.map +1 -1
- package/dist/system/manifest.d.ts +45 -0
- package/dist/system/manifest.js +178 -0
- package/dist/system/manifest.js.map +1 -0
- package/dist/system/verify.d.ts +88 -0
- package/dist/system/verify.js +263 -0
- package/dist/system/verify.js.map +1 -0
- package/dist/templates.d.ts +14 -1
- package/dist/templates.js +134 -5
- package/dist/templates.js.map +1 -1
- package/dist/util/slug.js +16 -10
- package/dist/util/slug.js.map +1 -1
- package/package.json +10 -1
package/dist/emit/ledgerJson.js
CHANGED
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
// can destructure without sniffing.
|
|
7
7
|
import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
|
|
8
8
|
// 1.0: initial shape (MIL-89).
|
|
9
|
-
|
|
9
|
+
// 1.1 (MIL-185): additive `waived` field — findings excused by `--waive <slice-key>` or an
|
|
10
|
+
// `Em-Ledger-Waive: <slice-key>` commit trailer, each carrying `waivedBy: { source: "flag" } |
|
|
11
|
+
// { source: "trailer", commit }`. A run with no waivers is byte-identical to the 1.0 shape
|
|
12
|
+
// except for the new empty `waived: []` array — every other field is unchanged.
|
|
13
|
+
export const LEDGER_SCHEMA_VERSION = "1.1";
|
|
10
14
|
/** Build the `em ledger --json` document. Pretty-printed (2-space), no trailing newline — the
|
|
11
15
|
* caller adds it, same convention as buildDiffJson/buildGlossaryJson. */
|
|
12
16
|
export function buildLedgerJson(result, from, to) {
|
|
@@ -17,6 +21,7 @@ export function buildLedgerJson(result, from, to) {
|
|
|
17
21
|
to,
|
|
18
22
|
checkedCount: result.checkedCount,
|
|
19
23
|
findings: result.findings,
|
|
24
|
+
waived: result.waived,
|
|
20
25
|
skipped: result.skipped,
|
|
21
26
|
ok: result.findings.length === 0,
|
|
22
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledgerJson.js","sourceRoot":"","sources":["../../src/emit/ledgerJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,0FAA0F;AAC1F,gGAAgG;AAChG,4FAA4F;AAC5F,+FAA+F;AAC/F,oCAAoC;AAGpC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,+BAA+B;AAC/B,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C;0EAC0E;AAC1E,MAAM,UAAU,eAAe,CAAC,MAAyB,EAAE,IAAY,EAAE,EAAiB;IACxF,MAAM,GAAG,GAAG;QACV,mBAAmB,EAAE,qBAAqB;QAC1C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI;QACJ,EAAE;QACF,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;KACjC,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ledgerJson.js","sourceRoot":"","sources":["../../src/emit/ledgerJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,0FAA0F;AAC1F,gGAAgG;AAChG,4FAA4F;AAC5F,+FAA+F;AAC/F,oCAAoC;AAGpC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,+BAA+B;AAC/B,2FAA2F;AAC3F,+FAA+F;AAC/F,2FAA2F;AAC3F,gFAAgF;AAChF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C;0EAC0E;AAC1E,MAAM,UAAU,eAAe,CAAC,MAAyB,EAAE,IAAY,EAAE,EAAiB;IACxF,MAAM,GAAG,GAAG;QACV,mBAAmB,EAAE,qBAAqB;QAC1C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI;QACJ,EAAE;QACF,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;KACjC,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const QUERY_SCHEMA_VERSION = "1.1";
|
|
2
|
+
/** Build the `em query <verb> ... --json` document. Pretty-printed (2-space), no trailing
|
|
3
|
+
* newline — the caller adds it, same convention as every other `em` JSON surface. No
|
|
4
|
+
* timestamps or other non-deterministic fields: byte-identical for the same models/args
|
|
5
|
+
* (the project-wide "deterministic core" constraint). */
|
|
6
|
+
export declare function buildQueryJson(verb: string, files: string[], args: Record<string, unknown>, results: unknown[]): string;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Builds the `em query <verb> --json` document (MIL-168): one schema for all eight verbs, a
|
|
3
|
+
// `verb` discriminator field, and a `results` array whose entries are verb-shaped (see
|
|
4
|
+
// query/verbs.ts's per-verb result interfaces) — same "one versioned envelope over whatever the
|
|
5
|
+
// builder already computed" convention as `emit/statusJson.ts`/`emit/coverageJson.ts`. This is
|
|
6
|
+
// the EXACT document the MCP `query` tool returns for the same inputs (src/mcp/server.ts) — both
|
|
7
|
+
// callers build it by handing this function the same verb function's result, so there is exactly
|
|
8
|
+
// one schema for this surface (MCP parity, docs/mcp.md).
|
|
9
|
+
import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
|
|
10
|
+
// 1.0 (MIL-168): initial shape — verb, files, args, results.
|
|
11
|
+
// 1.1 (MIL-199): new `QueryEdgeKind` enum value `"loops-to"` — an event's `loops-to "View"`
|
|
12
|
+
// edge, distinct from an ordinary `from`-derived `event->view` connection (model/queryIndex.ts).
|
|
13
|
+
// `downstream`/`upstream` results crossing one carry `via: "loops-to"`. Additive-only (new enum
|
|
14
|
+
// value on an existing string field, not a new key).
|
|
15
|
+
export const QUERY_SCHEMA_VERSION = "1.1";
|
|
16
|
+
/** Build the `em query <verb> ... --json` document. Pretty-printed (2-space), no trailing
|
|
17
|
+
* newline — the caller adds it, same convention as every other `em` JSON surface. No
|
|
18
|
+
* timestamps or other non-deterministic fields: byte-identical for the same models/args
|
|
19
|
+
* (the project-wide "deterministic core" constraint). */
|
|
20
|
+
export function buildQueryJson(verb, files, args, results) {
|
|
21
|
+
const doc = {
|
|
22
|
+
querySchemaVersion: QUERY_SCHEMA_VERSION,
|
|
23
|
+
generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
|
|
24
|
+
verb,
|
|
25
|
+
files,
|
|
26
|
+
// An omitted optional parameter echoes as an explicit `null` on a stable key (docs/cli.md's
|
|
27
|
+
// documented `args` contract) — JSON.stringify would otherwise drop an `undefined` key.
|
|
28
|
+
args: Object.fromEntries(Object.entries(args).map(([k, v]) => [k, v === undefined ? null : v])),
|
|
29
|
+
results,
|
|
30
|
+
};
|
|
31
|
+
return JSON.stringify(doc, null, 2);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=queryJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queryJson.js","sourceRoot":"","sources":["../../src/emit/queryJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,4FAA4F;AAC5F,uFAAuF;AACvF,gGAAgG;AAChG,+FAA+F;AAC/F,iGAAiG;AACjG,iGAAiG;AACjG,yDAAyD;AAEzD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,6DAA6D;AAC7D,4FAA4F;AAC5F,iGAAiG;AACjG,gGAAgG;AAChG,qDAAqD;AACrD,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAE1C;;;0DAG0D;AAC1D,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,KAAe,EAAE,IAA6B,EAAE,OAAkB;IAC7G,MAAM,GAAG,GAAG;QACV,kBAAkB,EAAE,oBAAoB;QACxC,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,IAAI;QACJ,KAAK;QACL,4FAA4F;QAC5F,wFAAwF;QACxF,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,OAAO;KACR,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { StatusReport } from "../cli/status.js";
|
|
2
|
-
export declare const STATUS_SCHEMA_VERSION = "1.
|
|
2
|
+
export declare const STATUS_SCHEMA_VERSION = "1.3";
|
|
3
3
|
/** Build the `em status <files...> --json` document. Pretty-printed (2-space), no trailing
|
|
4
4
|
* newline — the caller adds it, same convention as buildCoverageJson/buildLedgerJson. No
|
|
5
5
|
* timestamps or other non-deterministic fields: byte-identical for the same models/git state
|
package/dist/emit/statusJson.js
CHANGED
|
@@ -13,7 +13,11 @@ import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
|
|
|
13
13
|
// 1.2 (MIL-171): a new top-level `owners` array — one `{ file, key, owner }` entry per slice
|
|
14
14
|
// across every input file, `owner` verbatim from the doc's frontmatter `owner:` (null when
|
|
15
15
|
// absent or when no doc was found). See ../cli/status.ts's StatusOwnerEntry.
|
|
16
|
-
|
|
16
|
+
// 1.3 (MIL-202): each `conformance[]` entry gains `constitution: { present, path }` — whether
|
|
17
|
+
// the project's implementation constitution exists, and its expected location relative to that
|
|
18
|
+
// entry's own `modelDir` (`/`-separated, never absolute). Existence only; the document's content
|
|
19
|
+
// is never read. See ../cli/status.ts's ConstitutionEntry/resolveConstitution.
|
|
20
|
+
export const STATUS_SCHEMA_VERSION = "1.3";
|
|
17
21
|
/** Build the `em status <files...> --json` document. Pretty-printed (2-space), no trailing
|
|
18
22
|
* newline — the caller adds it, same convention as buildCoverageJson/buildLedgerJson. No
|
|
19
23
|
* timestamps or other non-deterministic fields: byte-identical for the same models/git state
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statusJson.js","sourceRoot":"","sources":["../../src/emit/statusJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,0FAA0F;AAC1F,uFAAuF;AACvF,2FAA2F;AAC3F,4FAA4F;AAC5F,6FAA6F;AAC7F,mFAAmF;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,gCAAgC;AAChC,yFAAyF;AACzF,8FAA8F;AAC9F,6FAA6F;AAC7F,2FAA2F;AAC3F,6EAA6E;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C;;;mDAGmD;AACnD,MAAM,UAAU,eAAe,CAAC,MAAoB;IAClD,MAAM,GAAG,GAAG;QACV,mBAAmB,EAAE,qBAAqB;QAC1C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,wFAAwF;QACxF,0FAA0F;QAC1F,yEAAyE;QACzE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC1F,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"statusJson.js","sourceRoot":"","sources":["../../src/emit/statusJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,0FAA0F;AAC1F,uFAAuF;AACvF,2FAA2F;AAC3F,4FAA4F;AAC5F,6FAA6F;AAC7F,mFAAmF;AAGnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,gCAAgC;AAChC,yFAAyF;AACzF,8FAA8F;AAC9F,6FAA6F;AAC7F,2FAA2F;AAC3F,6EAA6E;AAC7E,8FAA8F;AAC9F,+FAA+F;AAC/F,iGAAiG;AACjG,+EAA+E;AAC/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C;;;mDAGmD;AACnD,MAAM,UAAU,eAAe,CAAC,MAAoB;IAClD,MAAM,GAAG,GAAG;QACV,mBAAmB,EAAE,qBAAqB;QAC1C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,wFAAwF;QACxF,0FAA0F;QAC1F,yEAAyE;QACzE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC1F,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SystemReport } from "../system/verify.js";
|
|
2
|
+
export declare const SYSTEM_SCHEMA_VERSION = "1.0";
|
|
3
|
+
/** Build the `em system <manifest> --json` document. Pretty-printed (2-space), no trailing
|
|
4
|
+
* newline — the caller adds it, same convention as every other `em` JSON surface. No
|
|
5
|
+
* timestamps or other non-deterministic fields: byte-identical for the same manifest + models
|
|
6
|
+
* (the project-wide "deterministic core" constraint). `manifestPath` is echoed as given on the
|
|
7
|
+
* command line (not resolved), same as `em export`'s `source.path`. */
|
|
8
|
+
export declare function buildSystemJson(manifestPath: string, manifestText: string, report: SystemReport): string;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Builds the `em system <manifest> --json` document (MIL-194): a versioned envelope around
|
|
3
|
+
// `SystemReport` (src/system/verify.ts) — the verified seam list, each model's public surface,
|
|
4
|
+
// and the org-level context map (models as nodes, seams as edges) em-portal 0.4.0 renders.
|
|
5
|
+
// Same "one versioned envelope over what the builder already computed" convention as
|
|
6
|
+
// `emit/statusJson.ts`/`emit/queryJson.ts`, and the EXACT document the MCP `system` tool
|
|
7
|
+
// returns for the same manifest (src/mcp/server.ts) — both callers hand this one function the
|
|
8
|
+
// same `SystemReport`, so there is exactly one schema for this surface (MCP parity, docs/mcp.md).
|
|
9
|
+
import { createHash } from "node:crypto";
|
|
10
|
+
import { serializeDiagnostic } from "../model/validate.js";
|
|
11
|
+
import { GENERATOR_NAME, GENERATOR_VERSION } from "./json.js";
|
|
12
|
+
// 1.0 (MIL-194): initial shape — manifest, models, seams, contextMap, diagnostics.
|
|
13
|
+
export const SYSTEM_SCHEMA_VERSION = "1.0";
|
|
14
|
+
/** Build the `em system <manifest> --json` document. Pretty-printed (2-space), no trailing
|
|
15
|
+
* newline — the caller adds it, same convention as every other `em` JSON surface. No
|
|
16
|
+
* timestamps or other non-deterministic fields: byte-identical for the same manifest + models
|
|
17
|
+
* (the project-wide "deterministic core" constraint). `manifestPath` is echoed as given on the
|
|
18
|
+
* command line (not resolved), same as `em export`'s `source.path`. */
|
|
19
|
+
export function buildSystemJson(manifestPath, manifestText, report) {
|
|
20
|
+
const doc = {
|
|
21
|
+
systemSchemaVersion: SYSTEM_SCHEMA_VERSION,
|
|
22
|
+
generator: { name: GENERATOR_NAME, version: GENERATOR_VERSION },
|
|
23
|
+
manifest: {
|
|
24
|
+
path: manifestPath,
|
|
25
|
+
sha256: createHash("sha256").update(manifestText, "utf8").digest("hex"),
|
|
26
|
+
name: report.name,
|
|
27
|
+
},
|
|
28
|
+
models: report.models,
|
|
29
|
+
seams: report.seams,
|
|
30
|
+
contextMap: report.contextMap,
|
|
31
|
+
// Same serialized diagnostic shape em export/em diff use (severity, code, message, line,
|
|
32
|
+
// refs), plus `file` since this is a multi-model surface (`em status --json`'s convention):
|
|
33
|
+
// manifest-level findings point at the manifest, per-element ones at the model's source.
|
|
34
|
+
diagnostics: report.diagnostics.map((d) => ({ file: d.file, ...serializeDiagnostic(d) })),
|
|
35
|
+
};
|
|
36
|
+
return JSON.stringify(doc, null, 2);
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=systemJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemJson.js","sourceRoot":"","sources":["../../src/emit/systemJson.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,2FAA2F;AAC3F,+FAA+F;AAC/F,2FAA2F;AAC3F,qFAAqF;AACrF,yFAAyF;AACzF,8FAA8F;AAC9F,kGAAkG;AAElG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9D,mFAAmF;AACnF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AAE3C;;;;wEAIwE;AACxE,MAAM,UAAU,eAAe,CAAC,YAAoB,EAAE,YAAoB,EAAE,MAAoB;IAC9F,MAAM,GAAG,GAAG;QACV,mBAAmB,EAAE,qBAAqB;QAC1C,SAAS,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,EAAE;QAC/D,QAAQ,EAAE;YACR,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACvE,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB;QACD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,yFAAyF;QACzF,4FAA4F;QAC5F,yFAAyF;QACzF,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KAC1F,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/mcp/server.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
4
4
|
* so `em --version`/`em export`'s `generator.version`/this server's version never drift apart. */
|
|
5
5
|
export declare const SERVER_NAME = "em";
|
|
6
6
|
export declare const SERVER_VERSION: string;
|
|
7
|
-
/** Registers all
|
|
7
|
+
/** Registers all fifteen MCP tools on a fresh McpServer instance and returns it, unconnected — the
|
|
8
8
|
* caller (src/mcp/main.ts's stdio entry, or a test harness using an in-memory transport)
|
|
9
9
|
* decides how to connect it. Building the server is a pure, side-effect-free function so tests
|
|
10
10
|
* can exercise it directly with the SDK's in-memory transport, no child process required. */
|
package/dist/mcp/server.js
CHANGED
|
@@ -50,8 +50,15 @@ import { buildGlossaryJson } from "../emit/glossaryJson.js";
|
|
|
50
50
|
import { listModelCommits } from "../cli/changelog-git.js";
|
|
51
51
|
import { buildChangelogDoc } from "../cli/changelogBuild.js";
|
|
52
52
|
import { buildConformScope, changedPathsSince, resolveSliceDocFacts } from "../cli/conformScope.js";
|
|
53
|
-
import { loadStateFile, parseState } from "../cli/stateFile.js";
|
|
53
|
+
import { loadStateFile, parseState, modelPathMismatch } from "../cli/stateFile.js";
|
|
54
54
|
import { buildFreshnessJson } from "../emit/freshnessJson.js";
|
|
55
|
+
import { compileForQuery } from "../query/pipeline.js";
|
|
56
|
+
import { buildQuerySystem } from "../query/system.js";
|
|
57
|
+
import { queryConsumers, queryProducers, queryDownstream, queryUpstream, querySlices, queryInvariant, queryField, queryPath, } from "../query/verbs.js";
|
|
58
|
+
import { buildQueryJson } from "../emit/queryJson.js";
|
|
59
|
+
import { loadSystem } from "../cli/systemInputs.js";
|
|
60
|
+
import { verifySystem } from "../system/verify.js";
|
|
61
|
+
import { buildSystemJson } from "../emit/systemJson.js";
|
|
55
62
|
/** MCP server identity: name "em", version = the installed package's own version — same
|
|
56
63
|
* `GENERATOR_VERSION` `em export`'s `generator.version` field already reads from package.json,
|
|
57
64
|
* so `em --version`/`em export`'s `generator.version`/this server's version never drift apart. */
|
|
@@ -130,11 +137,43 @@ function compileWithValidation(file) {
|
|
|
130
137
|
];
|
|
131
138
|
return { ...compiled, allDiagnostics };
|
|
132
139
|
}
|
|
140
|
+
/** Same compile-and-diagnose scaffolding `compileFile()`/`compileWithValidation()` give every
|
|
141
|
+
* other tool, but pointed at `query/pipeline.ts`'s lighter sub-pipeline (no layout allocation,
|
|
142
|
+
* no DOT emission — see that module's header) and returning a built `QuerySystem` (the exact
|
|
143
|
+
* same one `src/cli.ts`'s `query` command builds — MCP parity) instead of a single compiled
|
|
144
|
+
* model. Refuses (an `{ error }`, never a crash) the same way every other tool does when any
|
|
145
|
+
* input file fails to compile or has errors. */
|
|
146
|
+
function compileFilesForQueryMcp(files) {
|
|
147
|
+
const entries = [];
|
|
148
|
+
for (const file of files) {
|
|
149
|
+
let source;
|
|
150
|
+
try {
|
|
151
|
+
source = readFileSync(file, "utf8");
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return { error: `cannot read ${file}` };
|
|
155
|
+
}
|
|
156
|
+
let compiled;
|
|
157
|
+
try {
|
|
158
|
+
compiled = compileForQuery(source, dirname(file));
|
|
159
|
+
}
|
|
160
|
+
catch (e) {
|
|
161
|
+
if (e instanceof ParseError)
|
|
162
|
+
return { error: `parse error in ${file} ${e.message}` };
|
|
163
|
+
throw e;
|
|
164
|
+
}
|
|
165
|
+
if (hasErrors(compiled.diagnostics)) {
|
|
166
|
+
return { error: `not querying: "${file}" has errors — run \`validate\` first and fix them` };
|
|
167
|
+
}
|
|
168
|
+
entries.push({ file, model: compiled.model, refs: compiled.refs, index: compiled.index });
|
|
169
|
+
}
|
|
170
|
+
return { system: buildQuerySystem(entries) };
|
|
171
|
+
}
|
|
133
172
|
const fileParam = z.string().describe("path to the .em model file, resolved relative to the server's working directory");
|
|
134
173
|
const sliceKeyParam = z
|
|
135
174
|
.string()
|
|
136
175
|
.describe('the slice\'s export key (its stable JSON identity, e.g. "place-order" — see `em export`\'s slice.key)');
|
|
137
|
-
/** Registers all
|
|
176
|
+
/** Registers all fifteen MCP tools on a fresh McpServer instance and returns it, unconnected — the
|
|
138
177
|
* caller (src/mcp/main.ts's stdio entry, or a test harness using an in-memory transport)
|
|
139
178
|
* decides how to connect it. Building the server is a pure, side-effect-free function so tests
|
|
140
179
|
* can exercise it directly with the SDK's in-memory transport, no child process required. */
|
|
@@ -202,7 +241,9 @@ export function createServer() {
|
|
|
202
241
|
title: "Export the full normalized model",
|
|
203
242
|
description: "Return the same JSON document `em export <file>` prints: a versioned, deterministic " +
|
|
204
243
|
"snapshot of the whole normalized model — types, slices (pattern, fields, doc, " +
|
|
205
|
-
"elements), arrows,
|
|
244
|
+
"elements), arrows, the complete semantic edge list (`model.edges`, the canonical graph " +
|
|
245
|
+
"— read it rather than re-deriving connections from slice membership), and export-stable " +
|
|
246
|
+
"refs. Refuses (tool error) when the model has " +
|
|
206
247
|
"errors, same as the CLI — call `validate` first, or use `export_slice` to read one " +
|
|
207
248
|
"already-ratified slice while the rest of the model is still broken.",
|
|
208
249
|
inputSchema: { file: fileParam },
|
|
@@ -263,10 +304,10 @@ export function createServer() {
|
|
|
263
304
|
return errorResult(`not checking coverage: "${file}" has errors — run \`validate\` first and fix them`);
|
|
264
305
|
}
|
|
265
306
|
if (!existsSync(testsDir)) {
|
|
266
|
-
return errorResult(
|
|
307
|
+
return errorResult(`testsDir not found: ${testsDir}`);
|
|
267
308
|
}
|
|
268
309
|
if (!statSync(testsDir).isDirectory()) {
|
|
269
|
-
return errorResult(
|
|
310
|
+
return errorResult(`testsDir is not a directory: ${testsDir}`);
|
|
270
311
|
}
|
|
271
312
|
const report = buildCoverageReport(model, refs, dirname(file), testsDir);
|
|
272
313
|
return textResult(buildCoverageJson(file, testsDir, report));
|
|
@@ -308,9 +349,9 @@ export function createServer() {
|
|
|
308
349
|
}, async ({ files, testsDir, repo }) => {
|
|
309
350
|
if (testsDir !== undefined) {
|
|
310
351
|
if (!existsSync(testsDir))
|
|
311
|
-
return errorResult(
|
|
352
|
+
return errorResult(`testsDir not found: ${testsDir}`);
|
|
312
353
|
if (!statSync(testsDir).isDirectory())
|
|
313
|
-
return errorResult(
|
|
354
|
+
return errorResult(`testsDir is not a directory: ${testsDir}`);
|
|
314
355
|
}
|
|
315
356
|
const compiledFiles = [];
|
|
316
357
|
for (const file of files) {
|
|
@@ -509,7 +550,10 @@ export function createServer() {
|
|
|
509
550
|
const parsed = parseState(loaded.text);
|
|
510
551
|
if (!parsed.ok)
|
|
511
552
|
return errorResult(`em conform-scope: ${parsed.message}`);
|
|
512
|
-
|
|
553
|
+
// MIL-179: same state-file-mismatch check the CLI runs — keeps this tool byte-identical
|
|
554
|
+
// to `em conform-scope --json` on the mismatch path too.
|
|
555
|
+
const stateFileMismatch = modelPathMismatch(parsed.state.modelPath, file);
|
|
556
|
+
const lastConformance = stateFileMismatch ? null : parsed.state.lastConformance;
|
|
513
557
|
const { facts } = resolveSliceDocFacts(model, refs, dirname(file));
|
|
514
558
|
const skipGit = full || lastConformance === null;
|
|
515
559
|
let changedPaths = [];
|
|
@@ -520,7 +564,11 @@ export function createServer() {
|
|
|
520
564
|
changedPaths = result.paths;
|
|
521
565
|
}
|
|
522
566
|
const scope = buildConformScope(facts, lastConformance, changedPaths, full);
|
|
523
|
-
|
|
567
|
+
const output = { ...scope };
|
|
568
|
+
if (stateFileMismatch) {
|
|
569
|
+
output.stateFile = { error: stateFileMismatch };
|
|
570
|
+
}
|
|
571
|
+
return textResult(JSON.stringify(output, null, 2));
|
|
524
572
|
});
|
|
525
573
|
server.registerTool("freshness", {
|
|
526
574
|
title: "Standalone conformance freshness signal",
|
|
@@ -545,6 +593,144 @@ export function createServer() {
|
|
|
545
593
|
const entry = resolveConformanceEntry(file, repo, facts);
|
|
546
594
|
return textResult(buildFreshnessJson(entry));
|
|
547
595
|
});
|
|
596
|
+
server.registerTool("query", {
|
|
597
|
+
title: "Deterministic graph queries over the compiled model",
|
|
598
|
+
description: "Return the same JSON document `em query <verb> <files...> --json` prints (MIL-168): " +
|
|
599
|
+
"scoped, token-cheap graph answers instead of a whole-model `export_model` — 8 verbs " +
|
|
600
|
+
"selected by `verb`: consumers/producers (who reads/writes an event), downstream/" +
|
|
601
|
+
"upstream (transitive closure along the six legal connections, optionally depth-" +
|
|
602
|
+
"limited), slices (filtered list — pattern/status/context/persona/tag AND-combine), " +
|
|
603
|
+
"invariant (an INV-* id's declaring slice + doc facts, and with `testsDir` its test " +
|
|
604
|
+
"citations), field (one field's type/tag/assigned/renamed-from facts), and path " +
|
|
605
|
+
"(shortest path between two elements). `event`/`of`/`from`/`to` accept a stable export " +
|
|
606
|
+
"ref or a bare display name — an ambiguous bare name is a tool error listing every " +
|
|
607
|
+
"candidate ref, never a guess. Refs in `results` are `<modelKey>:<ref>`-qualified " +
|
|
608
|
+
"whenever `files` has more than one entry, bare otherwise. Refuses (tool error) when " +
|
|
609
|
+
"any input model has errors, same as every other tool; a legitimately empty answer " +
|
|
610
|
+
"(e.g. an event with no consumers) is `results: []`, not an error.",
|
|
611
|
+
inputSchema: {
|
|
612
|
+
files: z.array(fileParam).min(1).describe("one or more .em model file paths"),
|
|
613
|
+
verb: z
|
|
614
|
+
.enum(["consumers", "producers", "downstream", "upstream", "slices", "invariant", "field", "path"])
|
|
615
|
+
.describe("which query to run"),
|
|
616
|
+
event: z.string().optional().describe("consumers/producers: the event's export ref or display name"),
|
|
617
|
+
of: z.string().optional().describe("downstream/upstream/field: the element's export ref or display name"),
|
|
618
|
+
depth: z.number().int().positive().optional().describe("downstream/upstream: limit traversal to n hops (default: unlimited)"),
|
|
619
|
+
pattern: z.string().optional().describe("slices: state-change | state-view | automation | translation | unclassified"),
|
|
620
|
+
status: z.string().optional().describe("slices: the slice's joined doc status"),
|
|
621
|
+
context: z.string().optional().describe("slices: match a slice with an event in this @Context"),
|
|
622
|
+
persona: z.string().optional().describe("slices: match a slice with a ui in this @Persona"),
|
|
623
|
+
tag: z.string().optional().describe("slices: match a slice with an event carrying this tag key"),
|
|
624
|
+
id: z.string().optional().describe("invariant: the INV-* id to look up"),
|
|
625
|
+
testsDir: z.string().optional().describe("invariant: directory to scan for test files citing this id"),
|
|
626
|
+
name: z.string().optional().describe("field: the field's name"),
|
|
627
|
+
from: z.string().optional().describe("path: the starting element's export ref or display name"),
|
|
628
|
+
to: z.string().optional().describe("path: the ending element's export ref or display name"),
|
|
629
|
+
},
|
|
630
|
+
}, async ({ files, verb, event, of, depth, pattern, status, context, persona, tag, id, testsDir, name, from, to }) => {
|
|
631
|
+
if (testsDir !== undefined) {
|
|
632
|
+
if (!existsSync(testsDir))
|
|
633
|
+
return errorResult(`testsDir not found: ${testsDir}`);
|
|
634
|
+
if (!statSync(testsDir).isDirectory())
|
|
635
|
+
return errorResult(`testsDir is not a directory: ${testsDir}`);
|
|
636
|
+
}
|
|
637
|
+
const compiled = compileFilesForQueryMcp(files);
|
|
638
|
+
if ("error" in compiled)
|
|
639
|
+
return errorResult(compiled.error);
|
|
640
|
+
const { system } = compiled;
|
|
641
|
+
switch (verb) {
|
|
642
|
+
case "consumers": {
|
|
643
|
+
if (!event)
|
|
644
|
+
return errorResult("query consumers: `event` is required");
|
|
645
|
+
const result = queryConsumers(system, event);
|
|
646
|
+
if (!result.ok)
|
|
647
|
+
return errorResult(result.error);
|
|
648
|
+
return textResult(buildQueryJson(verb, files, { event }, result.results));
|
|
649
|
+
}
|
|
650
|
+
case "producers": {
|
|
651
|
+
if (!event)
|
|
652
|
+
return errorResult("query producers: `event` is required");
|
|
653
|
+
const result = queryProducers(system, event);
|
|
654
|
+
if (!result.ok)
|
|
655
|
+
return errorResult(result.error);
|
|
656
|
+
return textResult(buildQueryJson(verb, files, { event }, result.results));
|
|
657
|
+
}
|
|
658
|
+
case "downstream": {
|
|
659
|
+
if (!of)
|
|
660
|
+
return errorResult("query downstream: `of` is required");
|
|
661
|
+
const result = queryDownstream(system, of, depth);
|
|
662
|
+
if (!result.ok)
|
|
663
|
+
return errorResult(result.error);
|
|
664
|
+
return textResult(buildQueryJson(verb, files, { of, depth: depth ?? null }, result.results));
|
|
665
|
+
}
|
|
666
|
+
case "upstream": {
|
|
667
|
+
if (!of)
|
|
668
|
+
return errorResult("query upstream: `of` is required");
|
|
669
|
+
const result = queryUpstream(system, of, depth);
|
|
670
|
+
if (!result.ok)
|
|
671
|
+
return errorResult(result.error);
|
|
672
|
+
return textResult(buildQueryJson(verb, files, { of, depth: depth ?? null }, result.results));
|
|
673
|
+
}
|
|
674
|
+
case "slices": {
|
|
675
|
+
const filters = { pattern, status, context, persona, tag };
|
|
676
|
+
const result = querySlices(system, filters);
|
|
677
|
+
if (!result.ok)
|
|
678
|
+
return errorResult(result.error);
|
|
679
|
+
return textResult(buildQueryJson(verb, files, filters, result.results));
|
|
680
|
+
}
|
|
681
|
+
case "invariant": {
|
|
682
|
+
if (!id)
|
|
683
|
+
return errorResult("query invariant: `id` is required");
|
|
684
|
+
const result = queryInvariant(system, id, testsDir);
|
|
685
|
+
if (!result.ok)
|
|
686
|
+
return errorResult(result.error);
|
|
687
|
+
return textResult(buildQueryJson(verb, files, { id, tests: testsDir ?? null }, result.results));
|
|
688
|
+
}
|
|
689
|
+
case "field": {
|
|
690
|
+
if (!of || !name)
|
|
691
|
+
return errorResult("query field: `of` and `name` are required");
|
|
692
|
+
const result = queryField(system, of, name);
|
|
693
|
+
if (!result.ok)
|
|
694
|
+
return errorResult(result.error);
|
|
695
|
+
return textResult(buildQueryJson(verb, files, { of, name }, result.results));
|
|
696
|
+
}
|
|
697
|
+
case "path": {
|
|
698
|
+
if (!from || !to)
|
|
699
|
+
return errorResult("query path: `from` and `to` are required");
|
|
700
|
+
const result = queryPath(system, from, to);
|
|
701
|
+
if (!result.ok)
|
|
702
|
+
return errorResult(result.error);
|
|
703
|
+
return textResult(buildQueryJson(verb, files, { from, to }, result.results));
|
|
704
|
+
}
|
|
705
|
+
}
|
|
706
|
+
});
|
|
707
|
+
server.registerTool("system", {
|
|
708
|
+
title: "Verify a seam manifest across models (context map)",
|
|
709
|
+
description: "Return the same JSON document `em system <manifest> --json` prints (MIL-194): the seam " +
|
|
710
|
+
"manifest (system.yaml — which model's `public` event/view feeds which other model's " +
|
|
711
|
+
"translation/automation slice) verified against each model's export document — both " +
|
|
712
|
+
"endpoints resolve, the source is `public`, the consumer is a reaction — plus the " +
|
|
713
|
+
"cross-model lints (`dangling-public-event`, `unbound-translation`, " +
|
|
714
|
+
"`undeclared-seam-candidate`) and the org-level context map (models as nodes, seams as " +
|
|
715
|
+
"edges). Verification reads export JSON only: a `.em` source is compiled to the same " +
|
|
716
|
+
"document `export_model` returns, a `.json` source is read as one (schema >= 1.10). " +
|
|
717
|
+
"Refuses (tool error) when the manifest is unreadable/invalid or any source can't be " +
|
|
718
|
+
"loaded or has errors, same as the CLI; seam-level errors are reported INSIDE the " +
|
|
719
|
+
"document (`diagnostics`, `seams[].status`), not as a tool error.",
|
|
720
|
+
inputSchema: {
|
|
721
|
+
manifest: z
|
|
722
|
+
.string()
|
|
723
|
+
.describe("path to the seam manifest (system.yaml; YAML or JSON), resolved relative to the server's " +
|
|
724
|
+
"working directory — each model's `source` resolves relative to the manifest itself"),
|
|
725
|
+
},
|
|
726
|
+
}, async ({ manifest }) => {
|
|
727
|
+
const loaded = loadSystem(manifest);
|
|
728
|
+
if (!loaded.ok) {
|
|
729
|
+
return errorResult(`not verifying: ${manifest} could not be loaded — ${loaded.diagnostics.map((d) => `${d.file}${d.line ? `:${d.line}` : ""}: ${d.message}`).join("; ")}`);
|
|
730
|
+
}
|
|
731
|
+
const report = verifySystem(loaded.manifest, loaded.models, manifest);
|
|
732
|
+
return textResult(buildSystemJson(manifest, loaded.manifestText, report));
|
|
733
|
+
});
|
|
548
734
|
return server;
|
|
549
735
|
}
|
|
550
736
|
//# sourceMappingURL=server.js.map
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
|
package/dist/model/edges.d.ts
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
|
+
import { ElementKind } from "../parser/ast.js";
|
|
1
2
|
import { Element, NormalizedModel } from "./model.js";
|
|
3
|
+
/** Where an edge came from: inferred from a slice's pattern shape, resolved from an explicit
|
|
4
|
+
* `from "Name"` clause, declared by an `arrow`, or resolved from an event's `loops-to "View"`
|
|
5
|
+
* clause (MIL-199) — a later fact re-feeding an earlier read model, deliberately never drawn
|
|
6
|
+
* as an arrow (`render/drawEdges.ts` skips this source explicitly; see `render/drawNotes.ts`'s
|
|
7
|
+
* legend instead). First-wins on a duplicate (from, to) pair in exactly this order — an
|
|
8
|
+
* `arrow` restating an inferred connection is the same line. */
|
|
9
|
+
export type EdgeSource = "pattern" | "from" | "arrow" | "loops-to";
|
|
2
10
|
export interface SemanticEdge {
|
|
3
11
|
from: string;
|
|
4
12
|
to: string;
|
|
5
|
-
|
|
13
|
+
source: EdgeSource;
|
|
6
14
|
}
|
|
15
|
+
/** The six legal connection types, named by their endpoint kinds. */
|
|
16
|
+
export type ConnectionKind = "ui->command" | "command->event" | "event->view" | "view->ui" | "view->reaction" | "reaction->command";
|
|
17
|
+
/** The legal connection type for an endpoint-kind pair, or undefined when no such connection
|
|
18
|
+
* is legal — the relationship is a pure function of the two kinds, so edges carry no `kind`
|
|
19
|
+
* of their own (validate.ts's illegal-pair rule and query's edge labels both derive from
|
|
20
|
+
* here). */
|
|
21
|
+
export declare function connectionKind(from: ElementKind, to: ElementKind): ConnectionKind | undefined;
|
|
7
22
|
/** Infer pattern arrows from each slice plus cross-slice `from` sources. */
|
|
8
23
|
export declare function semanticEdges(model: NormalizedModel): SemanticEdge[];
|
|
9
24
|
/**
|
|
@@ -17,3 +32,15 @@ export declare function semanticEdges(model: NormalizedModel): SemanticEdge[];
|
|
|
17
32
|
* reaction reads whatever read-model state exists at that point in the timeline.
|
|
18
33
|
*/
|
|
19
34
|
export declare function resolveFromSource(model: NormalizedModel, el: Element, name: string): Element | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Resolve one event's `loops-to "View"` target (MIL-199): the LATEST `view` instance strictly
|
|
37
|
+
* EARLIER on the timeline (`sliceIndex < event.sliceIndex`) sharing the normalized name — the
|
|
38
|
+
* opposite selection direction from a reaction's `from` (which wants the nearest instance
|
|
39
|
+
* at-or-before its own slice, `nearestViewAtOrBefore` above): a loop back must land on a
|
|
40
|
+
* genuinely earlier instance, never the same slice, since same-slice-or-later is what an
|
|
41
|
+
* ordinary forward `from` on a later `view … again` instance is for. Returns `undefined` both
|
|
42
|
+
* when no view of that name exists at all and when one exists but only at-or-after the
|
|
43
|
+
* event's own slice — `validate.ts` tells those two cases apart for its own error messages by
|
|
44
|
+
* checking whether ANY view shares the name before calling this.
|
|
45
|
+
*/
|
|
46
|
+
export declare function resolveLoopsToTarget(model: NormalizedModel, event: Element, name: string): Element | undefined;
|