@sdd-method/sdd-cli 0.26.1 → 0.27.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/dist/lib/catalogue/build.d.ts.map +1 -1
- package/dist/lib/catalogue/build.js +105 -1
- package/dist/lib/catalogue/build.js.map +1 -1
- package/dist/lib/catalogue/builders/c4-entity-rollups.d.ts +12 -0
- package/dist/lib/catalogue/builders/c4-entity-rollups.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/c4-entity-rollups.js +87 -0
- package/dist/lib/catalogue/builders/c4-entity-rollups.js.map +1 -0
- package/dist/lib/catalogue/builders/entities-manifest.d.ts +18 -0
- package/dist/lib/catalogue/builders/entities-manifest.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/entities-manifest.js +157 -0
- package/dist/lib/catalogue/builders/entities-manifest.js.map +1 -0
- package/dist/lib/catalogue/builders/entities-mermaid.d.ts +16 -0
- package/dist/lib/catalogue/builders/entities-mermaid.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/entities-mermaid.js +166 -0
- package/dist/lib/catalogue/builders/entities-mermaid.js.map +1 -0
- package/dist/lib/catalogue/builders/entity-slug.d.ts +2 -0
- package/dist/lib/catalogue/builders/entity-slug.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/entity-slug.js +34 -0
- package/dist/lib/catalogue/builders/entity-slug.js.map +1 -0
- package/dist/lib/catalogue/builders/glossary-xref.d.ts +3 -0
- package/dist/lib/catalogue/builders/glossary-xref.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/glossary-xref.js +6 -0
- package/dist/lib/catalogue/builders/glossary-xref.js.map +1 -1
- package/dist/lib/catalogue/builders/index.d.ts +9 -0
- package/dist/lib/catalogue/builders/index.d.ts.map +1 -1
- package/dist/lib/catalogue/builders/index.js +5 -0
- package/dist/lib/catalogue/builders/index.js.map +1 -1
- package/dist/lib/catalogue/builders/service-entity-tables.d.ts +17 -0
- package/dist/lib/catalogue/builders/service-entity-tables.d.ts.map +1 -0
- package/dist/lib/catalogue/builders/service-entity-tables.js +212 -0
- package/dist/lib/catalogue/builders/service-entity-tables.js.map +1 -0
- package/dist/lib/catalogue/canonical-schema.yaml +58 -1
- package/dist/lib/mcp/tools/cascade-impact.d.ts +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// Reverse-method walker for the entities catalogue per ADR 0159 §4.3.
|
|
2
|
+
// Parses `erDiagram` blocks in `docs/domains/{domain}/architecture/data-model.mermaid.md`
|
|
3
|
+
// (or whatever file domain_models.csv references for that domain).
|
|
4
|
+
//
|
|
5
|
+
// Phase Pre findings (research/adr-0159-prototypes/connect-mermaid-authoring-quirks.md):
|
|
6
|
+
// - Multi-erDiagram-per-file is the norm (asset has 7 blocks; identity has 4).
|
|
7
|
+
// Walker merges entities across all `erDiagram` fences in the file.
|
|
8
|
+
// - Naming style varies within a single file: UPPER_SNAKE_CASE, PascalCase,
|
|
9
|
+
// ALLCAPS-no-underscores, lowercase / camelCase. Regex accepts [A-Za-z_]
|
|
10
|
+
// as first char with explicit Mermaid-keyword exclusion.
|
|
11
|
+
// - Relationship lines (`A ||--o{ B : "label"`) start with an identifier but
|
|
12
|
+
// are not entity declarations; detected via arrow-token pattern + skipped.
|
|
13
|
+
// - Mermaid comments (`%% ...`) are tolerated inside entity blocks.
|
|
14
|
+
// - Files may mix `erDiagram` with other Mermaid diagram types (flowchart,
|
|
15
|
+
// sequenceDiagram). Each fenced block is independently checked for the
|
|
16
|
+
// erDiagram opener; non-ER blocks are skipped.
|
|
17
|
+
import { readFile } from "node:fs/promises";
|
|
18
|
+
import { entitySlug } from "./entity-slug.js";
|
|
19
|
+
const RE_MERMAID_OPEN = /^```\s*mermaid\s*$/i;
|
|
20
|
+
const RE_FENCE_CLOSE = /^```\s*$/;
|
|
21
|
+
const RE_COMMENT = /^\s*%%/;
|
|
22
|
+
const RE_ENTITY_OPEN = /^\s*([A-Za-z_][A-Za-z0-9_]*)\s*\{\s*$/;
|
|
23
|
+
const RE_REL_LINE = /^\s*[A-Za-z_][A-Za-z0-9_]*\s+\|?\|?[o|\-]+\{?\s+[A-Za-z]/;
|
|
24
|
+
const MERMAID_KEYWORDS = new Set(["erdiagram", "subgraph", "classdef", "style", "class"]);
|
|
25
|
+
export async function buildEntitiesFromMermaid(inputs) {
|
|
26
|
+
const rows = [];
|
|
27
|
+
const seenAcrossFiles = new Map(); // id → originating doc_path
|
|
28
|
+
for (const dm of inputs.domainModels) {
|
|
29
|
+
if (!dm.doc_path.endsWith(".mermaid.md"))
|
|
30
|
+
continue;
|
|
31
|
+
const docPath = dm.doc_path.startsWith("/")
|
|
32
|
+
? dm.doc_path
|
|
33
|
+
: `${inputs.sddPath}/${dm.doc_path}`;
|
|
34
|
+
let text;
|
|
35
|
+
try {
|
|
36
|
+
text = await readFile(docPath, "utf-8");
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
if (err.code === "ENOENT")
|
|
40
|
+
continue;
|
|
41
|
+
throw err;
|
|
42
|
+
}
|
|
43
|
+
const parsed = parseFile(text, dm, inputs.findings);
|
|
44
|
+
// Within-file dedup by id is enforced inside parseFile via seen-set;
|
|
45
|
+
// cross-file dedup is enforced here (shouldn't fire in current Adopter A,
|
|
46
|
+
// defensive against future authoring that splits a domain across files).
|
|
47
|
+
for (const p of parsed) {
|
|
48
|
+
const id = `${p.domainId}-${entitySlug(p.name)}`;
|
|
49
|
+
const existing = seenAcrossFiles.get(id);
|
|
50
|
+
if (existing) {
|
|
51
|
+
inputs.findings.add("divergence", `entities: cross-file id collision on "${id}" — declared in ${existing} and ${dm.doc_path}; keeping first`);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
seenAcrossFiles.set(id, dm.doc_path);
|
|
55
|
+
const glossaryTerm = resolveGlossaryTermBySlug(p.name, inputs.knownGlossaryIds);
|
|
56
|
+
rows.push({
|
|
57
|
+
id,
|
|
58
|
+
name: p.name,
|
|
59
|
+
domain_id: p.domainId,
|
|
60
|
+
source_domain_model_id: p.sourceDomainModelId,
|
|
61
|
+
persistence_kind: "",
|
|
62
|
+
glossary_term: glossaryTerm,
|
|
63
|
+
notes: `columns=${p.columnCount}`,
|
|
64
|
+
source_sdd_id: "",
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return rows;
|
|
69
|
+
}
|
|
70
|
+
function parseFile(text, dm, findings) {
|
|
71
|
+
const lines = text.split(/\r?\n/);
|
|
72
|
+
const out = [];
|
|
73
|
+
const seenInFile = new Set();
|
|
74
|
+
let inMermaid = false;
|
|
75
|
+
let isEr = false;
|
|
76
|
+
let firstKeywordSeen = false;
|
|
77
|
+
let inEntity = false;
|
|
78
|
+
let entityName = null;
|
|
79
|
+
let entityColumns = 0;
|
|
80
|
+
for (let i = 0; i < lines.length; i++) {
|
|
81
|
+
const raw = lines[i] ?? "";
|
|
82
|
+
if (!inMermaid) {
|
|
83
|
+
if (RE_MERMAID_OPEN.test(raw)) {
|
|
84
|
+
inMermaid = true;
|
|
85
|
+
isEr = false;
|
|
86
|
+
firstKeywordSeen = false;
|
|
87
|
+
}
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
// in_mermaid == true
|
|
91
|
+
if (RE_FENCE_CLOSE.test(raw)) {
|
|
92
|
+
inMermaid = false;
|
|
93
|
+
isEr = false;
|
|
94
|
+
firstKeywordSeen = false;
|
|
95
|
+
// If we exit mid-entity, drop it silently — malformed block.
|
|
96
|
+
inEntity = false;
|
|
97
|
+
entityName = null;
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
const stripped = raw.trim();
|
|
101
|
+
if (!firstKeywordSeen && stripped !== "" && !RE_COMMENT.test(raw)) {
|
|
102
|
+
firstKeywordSeen = true;
|
|
103
|
+
isEr = stripped.toLowerCase().startsWith("erdiagram");
|
|
104
|
+
}
|
|
105
|
+
if (!isEr)
|
|
106
|
+
continue;
|
|
107
|
+
if (inEntity) {
|
|
108
|
+
if (stripped.startsWith("}")) {
|
|
109
|
+
if (entityName !== null) {
|
|
110
|
+
const slug = entitySlug(entityName);
|
|
111
|
+
if (!seenInFile.has(slug)) {
|
|
112
|
+
seenInFile.add(slug);
|
|
113
|
+
out.push({
|
|
114
|
+
name: entityName,
|
|
115
|
+
domainId: dm.domain_id,
|
|
116
|
+
sourceDomainModelId: dm.id,
|
|
117
|
+
columnCount: entityColumns,
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
inEntity = false;
|
|
122
|
+
entityName = null;
|
|
123
|
+
entityColumns = 0;
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
if (RE_COMMENT.test(raw))
|
|
127
|
+
continue;
|
|
128
|
+
if (stripped)
|
|
129
|
+
entityColumns++;
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
// Not in an entity block — look for an opener.
|
|
133
|
+
if (RE_COMMENT.test(raw))
|
|
134
|
+
continue;
|
|
135
|
+
if (RE_REL_LINE.test(raw))
|
|
136
|
+
continue;
|
|
137
|
+
const m = RE_ENTITY_OPEN.exec(raw);
|
|
138
|
+
if (m) {
|
|
139
|
+
const ident = m[1] ?? "";
|
|
140
|
+
if (MERMAID_KEYWORDS.has(ident.toLowerCase()))
|
|
141
|
+
continue;
|
|
142
|
+
entityName = ident;
|
|
143
|
+
inEntity = true;
|
|
144
|
+
entityColumns = 0;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// Defensive: if a block ended without closing an entity, log it once.
|
|
148
|
+
if (inEntity && entityName !== null) {
|
|
149
|
+
findings.add("convention", `entities-mermaid: ${dm.doc_path}: unclosed entity block for "${entityName}" — discarded`);
|
|
150
|
+
}
|
|
151
|
+
return out;
|
|
152
|
+
}
|
|
153
|
+
function resolveGlossaryTermBySlug(entityName, knownGlossaryIds) {
|
|
154
|
+
const slug = entitySlug(entityName);
|
|
155
|
+
if (!slug)
|
|
156
|
+
return "";
|
|
157
|
+
// Glossary ids follow {owning_domain_id}-{term_slug} or {slug} shape.
|
|
158
|
+
// Suffix-match keeps cross-domain ids resolvable while avoiding random
|
|
159
|
+
// substring collisions.
|
|
160
|
+
for (const id of knownGlossaryIds) {
|
|
161
|
+
if (id === slug || id.endsWith(`-${slug}`))
|
|
162
|
+
return id;
|
|
163
|
+
}
|
|
164
|
+
return ""; // Most data-model entities have no glossary term; no orphan finding.
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=entities-mermaid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entities-mermaid.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/entities-mermaid.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-slug.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/entity-slug.ts"],"names":[],"mappings":"AA0BA,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO5C"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Entity-aware slug helper used by the data-model-entity walkers
|
|
2
|
+
// (entities-manifest, entities-mermaid, service-entity-tables) per ADR 0159 §4.6.
|
|
3
|
+
//
|
|
4
|
+
// Differs from the base `slugify` in events / capabilities / contracts: adds
|
|
5
|
+
// an ALLCAPS-then-Pascal split rule so naming-style variation across
|
|
6
|
+
// UPPER_SNAKE_CASE Mermaid authoring and PascalCase data-store-table
|
|
7
|
+
// authoring resolves to a single canonical slug.
|
|
8
|
+
//
|
|
9
|
+
// Examples:
|
|
10
|
+
// entitySlug("OBUConfigurationTemplate") → "obu-configuration-template"
|
|
11
|
+
// entitySlug("OBU_CONFIGURATION_TEMPLATE") → "obu-configuration-template"
|
|
12
|
+
// entitySlug("Vehicle") → "vehicle"
|
|
13
|
+
// entitySlug("APIKeyRotationRecord") → "api-key-rotation-record"
|
|
14
|
+
// entitySlug("customer") → "customer" (lowercase Mermaid)
|
|
15
|
+
// entitySlug("accountFeatures") → "account-features"
|
|
16
|
+
//
|
|
17
|
+
// Phase Pre finding (research/adr-0159-prototypes/PHASE-PRE-SYNTHESIS.md):
|
|
18
|
+
// without the ALLCAPS-then-Pascal rule, the Data Store Mapping table form
|
|
19
|
+
// (`OBUConfigurationTemplate`) never resolves to the Mermaid form
|
|
20
|
+
// (`OBU_CONFIGURATION_TEMPLATE`), breaking ~50% of expected service_entity
|
|
21
|
+
// edges in Adopter A.
|
|
22
|
+
//
|
|
23
|
+
// Kept local to the entity walkers to avoid affecting events / contracts /
|
|
24
|
+
// capability id generation. Promote to a shared module only if a fourth
|
|
25
|
+
// walker needs it (per ADR 0159 §4.6 deferred decision).
|
|
26
|
+
export function entitySlug(s) {
|
|
27
|
+
return s
|
|
28
|
+
.replace(/([A-Z]+)([A-Z][a-z])/g, "$1-$2")
|
|
29
|
+
.replace(/([a-z0-9])([A-Z])/g, "$1-$2")
|
|
30
|
+
.toLowerCase()
|
|
31
|
+
.replace(/[^a-z0-9]+/g, "-")
|
|
32
|
+
.replace(/^-+|-+$/g, "");
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=entity-slug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-slug.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/entity-slug.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,kFAAkF;AAClF,EAAE;AACF,6EAA6E;AAC7E,qEAAqE;AACrE,qEAAqE;AACrE,iDAAiD;AACjD,EAAE;AACF,YAAY;AACZ,4EAA4E;AAC5E,4EAA4E;AAC5E,yDAAyD;AACzD,yEAAyE;AACzE,8EAA8E;AAC9E,kEAAkE;AAClE,EAAE;AACF,2EAA2E;AAC3E,0EAA0E;AAC1E,kEAAkE;AAClE,2EAA2E;AAC3E,sBAAsB;AACtB,EAAE;AACF,2EAA2E;AAC3E,wEAAwE;AACxE,yDAAyD;AAEzD,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,OAAO,CAAC;SACL,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;SACzC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { CatalogueRow } from "../csv-writer.js";
|
|
2
2
|
import type { FindingsLog } from "../findings.js";
|
|
3
|
+
import type { Profile } from "../manifest-loader.js";
|
|
3
4
|
export interface GlossaryXrefInputs {
|
|
4
5
|
readonly sddPath: string;
|
|
5
6
|
readonly findings: FindingsLog;
|
|
7
|
+
/** Profile of the SDD; the walker emits 0 rows for non-platform profiles per ADR 0158 §amendment. */
|
|
8
|
+
readonly profile: Profile;
|
|
6
9
|
/** From the glossary builder: `<domain>:<term>` (lower-case term) → glossary_items.id. */
|
|
7
10
|
readonly idByDomainTerm: ReadonlyMap<string, string>;
|
|
8
11
|
/** Term name (case-insensitive) → set of (domain, id) for resolving raw term names. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glossary-xref.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/glossary-xref.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"glossary-xref.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/glossary-xref.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,qGAAqG;IACrG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,0FAA0F;IAC1F,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,uFAAuF;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC5F,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/C,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,YAAY,EAAE,CAAC;CACzC;AAWD,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAuU7B"}
|
|
@@ -42,6 +42,12 @@ import { join } from "node:path";
|
|
|
42
42
|
import { parse as parseYaml } from "yaml";
|
|
43
43
|
const MANIFEST_REL_PATH = join("docs", "platform", "reference", "glossary-alignment-manifest.yaml");
|
|
44
44
|
export async function buildGlossaryXref(inputs) {
|
|
45
|
+
// Profile gate per ADR 0158 §amendment: the manifest is platform-owned;
|
|
46
|
+
// sibling SDDs that syndicate it for documentation accessibility should
|
|
47
|
+
// not re-emit rows. Mirrors the entities-manifest profile gate.
|
|
48
|
+
if (inputs.profile !== "platform-profile") {
|
|
49
|
+
return { glossaryXref: [], entityGlossary: [] };
|
|
50
|
+
}
|
|
45
51
|
const path = join(inputs.sddPath, MANIFEST_REL_PATH);
|
|
46
52
|
let text;
|
|
47
53
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glossary-xref.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/glossary-xref.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"glossary-xref.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/glossary-xref.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,4 +78,13 @@ export { buildSystemExternalDependency } from "./system-external-dependency.js";
|
|
|
78
78
|
export type { SystemExternalDependencyInputs } from "./system-external-dependency.js";
|
|
79
79
|
export { buildPersonaC4System } from "./persona-c4system.js";
|
|
80
80
|
export type { PersonaC4SystemInputs } from "./persona-c4system.js";
|
|
81
|
+
export { entitySlug } from "./entity-slug.js";
|
|
82
|
+
export { buildEntitiesFromManifest } from "./entities-manifest.js";
|
|
83
|
+
export type { EntitiesManifestInputs } from "./entities-manifest.js";
|
|
84
|
+
export { buildEntitiesFromMermaid } from "./entities-mermaid.js";
|
|
85
|
+
export type { EntitiesMermaidInputs, DomainModelInput, } from "./entities-mermaid.js";
|
|
86
|
+
export { buildServiceEntityFromTables } from "./service-entity-tables.js";
|
|
87
|
+
export type { ServiceEntityTablesInputs } from "./service-entity-tables.js";
|
|
88
|
+
export { buildC4ContainerEntity, buildC4SystemEntity, } from "./c4-entity-rollups.js";
|
|
89
|
+
export type { C4ContainerEntityInputs, C4SystemEntityInputs, } from "./c4-entity-rollups.js";
|
|
81
90
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,4 +42,9 @@ export { buildProductPlatformDependencies } from "./product-platform-dependencie
|
|
|
42
42
|
export { buildC4ExternalSystems } from "./c4-external-systems.js";
|
|
43
43
|
export { buildSystemExternalDependency } from "./system-external-dependency.js";
|
|
44
44
|
export { buildPersonaC4System } from "./persona-c4system.js";
|
|
45
|
+
export { entitySlug } from "./entity-slug.js";
|
|
46
|
+
export { buildEntitiesFromManifest } from "./entities-manifest.js";
|
|
47
|
+
export { buildEntitiesFromMermaid } from "./entities-mermaid.js";
|
|
48
|
+
export { buildServiceEntityFromTables } from "./service-entity-tables.js";
|
|
49
|
+
export { buildC4ContainerEntity, buildC4SystemEntity, } from "./c4-entity-rollups.js";
|
|
45
50
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAMtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAKzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAK3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAKnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAKlE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAMtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAKzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1C,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAK3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAKnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAKvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAO/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAKlE,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAKjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { CatalogueRow } from "../csv-writer.js";
|
|
2
|
+
import type { FindingsLog } from "../findings.js";
|
|
3
|
+
import type { DomainModelInput } from "./entities-mermaid.js";
|
|
4
|
+
export interface ServiceEntityTablesInputs {
|
|
5
|
+
readonly sddPath: string;
|
|
6
|
+
readonly findings: FindingsLog;
|
|
7
|
+
readonly domainModels: readonly DomainModelInput[];
|
|
8
|
+
/** From the entities builder: (domain, entitySlug(name)) → entities.id. */
|
|
9
|
+
readonly entityIdByDomainSlug: ReadonlyMap<string, string>;
|
|
10
|
+
/** All entity ids, for cross-domain fallback lookup. Key = entitySlug(name); value = first matching entities.id. */
|
|
11
|
+
readonly entityIdBySlug: ReadonlyMap<string, string>;
|
|
12
|
+
/** From the services builder. */
|
|
13
|
+
readonly services: readonly CatalogueRow[];
|
|
14
|
+
readonly knownServiceIds: ReadonlySet<string>;
|
|
15
|
+
}
|
|
16
|
+
export declare function buildServiceEntityFromTables(inputs: ServiceEntityTablesInputs): Promise<CatalogueRow[]>;
|
|
17
|
+
//# sourceMappingURL=service-entity-tables.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-entity-tables.d.ts","sourceRoot":"","sources":["../../../../src/lib/catalogue/builders/service-entity-tables.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM9D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACnD,2EAA2E;IAC3E,QAAQ,CAAC,oBAAoB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,oHAAoH;IACpH,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,iCAAiC;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC/C;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,YAAY,EAAE,CAAC,CAqHzB"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
// Primary reverse-method walker for the service_entity edge catalogue per
|
|
2
|
+
// ADR 0159 §4.5. Reads per-domain `## Data Store Mapping` markdown tables in
|
|
3
|
+
// `docs/domains/{domain}/architecture/data-model.mermaid.md` files.
|
|
4
|
+
//
|
|
5
|
+
// Phase Pre findings (research/adr-0159-prototypes/connect-data-store-mapping-table-variations.md):
|
|
6
|
+
// - Two heading variants: `## Data Store Mapping` and `## Data Store Inventory`
|
|
7
|
+
// (the latter is store-centric — different schema, no Entity column — and
|
|
8
|
+
// gets skipped with a convention finding).
|
|
9
|
+
// - Three column-shape variants: standard (Entity | Store | Schema/Collection
|
|
10
|
+
// | Owning Service | PPT/Notes), developer's first col = `Entity / Artefact`,
|
|
11
|
+
// and vehicle's lack of `Owning Service` column (skipped).
|
|
12
|
+
// - Compound owning-service cells split on ` / ` — emit one edge per part.
|
|
13
|
+
// - Trailing `(annotation)` on entity texts stripped before slug-lookup.
|
|
14
|
+
// - Cross-domain entity references in tables resolve against entities.csv
|
|
15
|
+
// from any domain (not just the table's own domain) — same-domain first.
|
|
16
|
+
//
|
|
17
|
+
// Service-name resolution rules (ADR 0159 §4.7):
|
|
18
|
+
// 1. Try alias-map exact match (case-insensitive on display name).
|
|
19
|
+
// 2. Try entitySlug(display_name) ⋈ entitySlug(services.name).
|
|
20
|
+
// 3. Try entitySlug(display_name) ⋈ last_segment(services.id).
|
|
21
|
+
// 4. Fire [finding] orphan; skip edge.
|
|
22
|
+
import { readFile } from "node:fs/promises";
|
|
23
|
+
import { join } from "node:path";
|
|
24
|
+
import { parse as parseYaml } from "yaml";
|
|
25
|
+
import { entitySlug } from "./entity-slug.js";
|
|
26
|
+
const RE_DATA_STORE_HEADING = /^##\s+Data Store\s+(Mapping|Inventory)\s*$/i;
|
|
27
|
+
const ALIAS_REL_PATH = join("docs", "platform", "reference", "service-name-aliases.yaml");
|
|
28
|
+
export async function buildServiceEntityFromTables(inputs) {
|
|
29
|
+
const aliasMap = await loadAliasMap(inputs.sddPath, inputs.findings);
|
|
30
|
+
// Pre-compute service lookups.
|
|
31
|
+
const serviceIdBySlugName = new Map();
|
|
32
|
+
const serviceIdByTrailSegment = new Map();
|
|
33
|
+
for (const s of inputs.services) {
|
|
34
|
+
const id = String(s["id"]);
|
|
35
|
+
const name = String(s["name"] ?? "");
|
|
36
|
+
if (name)
|
|
37
|
+
serviceIdBySlugName.set(entitySlug(name), id);
|
|
38
|
+
const lastSeg = id.split("-").pop() ?? "";
|
|
39
|
+
if (lastSeg && !serviceIdByTrailSegment.has(lastSeg)) {
|
|
40
|
+
serviceIdByTrailSegment.set(lastSeg, id);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const rowsByPk = new Map();
|
|
44
|
+
for (const dm of inputs.domainModels) {
|
|
45
|
+
if (!dm.doc_path.endsWith(".mermaid.md"))
|
|
46
|
+
continue;
|
|
47
|
+
const fullPath = dm.doc_path.startsWith("/")
|
|
48
|
+
? dm.doc_path
|
|
49
|
+
: join(inputs.sddPath, dm.doc_path);
|
|
50
|
+
let text;
|
|
51
|
+
try {
|
|
52
|
+
text = await readFile(fullPath, "utf-8");
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
if (err.code === "ENOENT")
|
|
56
|
+
continue;
|
|
57
|
+
throw err;
|
|
58
|
+
}
|
|
59
|
+
const lines = text.split(/\r?\n/);
|
|
60
|
+
const headingIdx = lines.findIndex((l) => RE_DATA_STORE_HEADING.test(l));
|
|
61
|
+
if (headingIdx === -1)
|
|
62
|
+
continue;
|
|
63
|
+
const tableLines = collectTableLines(lines, headingIdx + 1);
|
|
64
|
+
if (tableLines === null || tableLines.length < 2) {
|
|
65
|
+
inputs.findings.add("convention", `service-entity-tables: ${dm.doc_path}: Data Store heading present but no markdown table follows — skipped`);
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
const headers = splitRow(tableLines[0]);
|
|
69
|
+
let entityColIdx = -1;
|
|
70
|
+
let serviceColIdx = -1;
|
|
71
|
+
for (let i = 0; i < headers.length; i++) {
|
|
72
|
+
const h = headers[i].toLowerCase();
|
|
73
|
+
if (entityColIdx === -1 && (h === "entity" || h.startsWith("entity"))) {
|
|
74
|
+
entityColIdx = i;
|
|
75
|
+
}
|
|
76
|
+
if (serviceColIdx === -1 && h.includes("owning service")) {
|
|
77
|
+
serviceColIdx = i;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (entityColIdx === -1 || serviceColIdx === -1) {
|
|
81
|
+
inputs.findings.add("convention", `service-entity-tables: ${dm.doc_path}: Data Store table missing Entity or Owning Service column (headers: ${headers.join(" | ")}) — skipped`);
|
|
82
|
+
continue;
|
|
83
|
+
}
|
|
84
|
+
// Skip the |---|---| separator row (lineLine[1]); data rows start at index 2.
|
|
85
|
+
for (let i = 2; i < tableLines.length; i++) {
|
|
86
|
+
const cells = splitRow(tableLines[i]);
|
|
87
|
+
if (cells.length <= Math.max(entityColIdx, serviceColIdx))
|
|
88
|
+
continue;
|
|
89
|
+
const entityText = cells[entityColIdx].trim();
|
|
90
|
+
const serviceText = cells[serviceColIdx].trim();
|
|
91
|
+
if (!entityText || !serviceText)
|
|
92
|
+
continue;
|
|
93
|
+
// Strip trailing parenthetical annotation: "Role (fleet)" → "Role".
|
|
94
|
+
const entityNorm = entityText.replace(/\s*\([^)]+\)\s*$/, "").trim();
|
|
95
|
+
const entSlug = entitySlug(entityNorm);
|
|
96
|
+
let entityId = inputs.entityIdByDomainSlug.get(`${dm.domain_id}|${entSlug}`);
|
|
97
|
+
if (entityId === undefined) {
|
|
98
|
+
entityId = inputs.entityIdBySlug.get(entSlug);
|
|
99
|
+
}
|
|
100
|
+
if (entityId === undefined) {
|
|
101
|
+
inputs.findings.add("orphan", `service-entity-tables: ${dm.doc_path}: entity "${entityText}" doesn't resolve to an entities.csv row — edge skipped`);
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
// Compound owning-service: split on " / ".
|
|
105
|
+
const serviceParts = serviceText
|
|
106
|
+
.split(/\s+\/\s+/)
|
|
107
|
+
.map((s) => s.trim())
|
|
108
|
+
.filter((s) => s.length > 0);
|
|
109
|
+
for (const sp of serviceParts) {
|
|
110
|
+
const serviceId = resolveService(sp, aliasMap, serviceIdBySlugName, serviceIdByTrailSegment, inputs.knownServiceIds);
|
|
111
|
+
if (serviceId === undefined) {
|
|
112
|
+
inputs.findings.add("orphan", `service-entity-tables: ${dm.doc_path}: owning-service "${sp}" doesn't resolve to a services.csv row — edge skipped`);
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
const pk = `${serviceId}__${entityId}__owns`;
|
|
116
|
+
if (rowsByPk.has(pk))
|
|
117
|
+
continue;
|
|
118
|
+
rowsByPk.set(pk, {
|
|
119
|
+
id: pk,
|
|
120
|
+
service_id: serviceId,
|
|
121
|
+
entity_id: entityId,
|
|
122
|
+
relation: "owns",
|
|
123
|
+
evidence_path: dm.doc_path,
|
|
124
|
+
source_sdd_id: "",
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return [...rowsByPk.values()];
|
|
130
|
+
}
|
|
131
|
+
async function loadAliasMap(sddPath, findings) {
|
|
132
|
+
const empty = { byDisplayLower: new Map() };
|
|
133
|
+
const path = join(sddPath, ALIAS_REL_PATH);
|
|
134
|
+
let text;
|
|
135
|
+
try {
|
|
136
|
+
text = await readFile(path, "utf-8");
|
|
137
|
+
}
|
|
138
|
+
catch (err) {
|
|
139
|
+
if (err.code === "ENOENT")
|
|
140
|
+
return empty;
|
|
141
|
+
throw err;
|
|
142
|
+
}
|
|
143
|
+
let raw;
|
|
144
|
+
try {
|
|
145
|
+
raw = parseYaml(text);
|
|
146
|
+
}
|
|
147
|
+
catch (err) {
|
|
148
|
+
findings.add("convention", `${ALIAS_REL_PATH}: failed to parse YAML — ${err.message}`);
|
|
149
|
+
return empty;
|
|
150
|
+
}
|
|
151
|
+
if (!raw || typeof raw !== "object")
|
|
152
|
+
return empty;
|
|
153
|
+
const obj = raw;
|
|
154
|
+
const aliases = obj["aliases"];
|
|
155
|
+
if (!Array.isArray(aliases))
|
|
156
|
+
return empty;
|
|
157
|
+
const map = new Map();
|
|
158
|
+
for (const a of aliases) {
|
|
159
|
+
if (!a || typeof a !== "object")
|
|
160
|
+
continue;
|
|
161
|
+
const e = a;
|
|
162
|
+
const display = String(e["display"] ?? "").trim();
|
|
163
|
+
const canonical = String(e["canonical"] ?? "").trim();
|
|
164
|
+
if (display && canonical)
|
|
165
|
+
map.set(display.toLowerCase(), canonical);
|
|
166
|
+
}
|
|
167
|
+
return { byDisplayLower: map };
|
|
168
|
+
}
|
|
169
|
+
function resolveService(display, alias, serviceIdBySlugName, serviceIdByTrailSegment, knownServiceIds) {
|
|
170
|
+
// 1. Alias map exact (case-insensitive).
|
|
171
|
+
const aliased = alias.byDisplayLower.get(display.toLowerCase());
|
|
172
|
+
if (aliased && knownServiceIds.has(aliased))
|
|
173
|
+
return aliased;
|
|
174
|
+
// 2. Slug-of-name match.
|
|
175
|
+
const slug = entitySlug(display);
|
|
176
|
+
if (!slug)
|
|
177
|
+
return undefined;
|
|
178
|
+
const bySlugName = serviceIdBySlugName.get(slug);
|
|
179
|
+
if (bySlugName && knownServiceIds.has(bySlugName))
|
|
180
|
+
return bySlugName;
|
|
181
|
+
// 3. Trailing-id-segment match.
|
|
182
|
+
const byTrail = serviceIdByTrailSegment.get(slug);
|
|
183
|
+
if (byTrail && knownServiceIds.has(byTrail))
|
|
184
|
+
return byTrail;
|
|
185
|
+
return undefined;
|
|
186
|
+
}
|
|
187
|
+
function splitRow(line) {
|
|
188
|
+
// Strip leading/trailing `|`, split on `|`, trim cells.
|
|
189
|
+
const trimmed = line.trim();
|
|
190
|
+
const parts = trimmed.split("|");
|
|
191
|
+
// Drop the empty cells from leading/trailing `|`.
|
|
192
|
+
return parts.slice(1, parts.length - 1).map((c) => c.trim());
|
|
193
|
+
}
|
|
194
|
+
function collectTableLines(lines, startIdx) {
|
|
195
|
+
let i = startIdx;
|
|
196
|
+
while (i < lines.length) {
|
|
197
|
+
const l = lines[i] ?? "";
|
|
198
|
+
if (l.startsWith("## "))
|
|
199
|
+
return null;
|
|
200
|
+
if (l.trimStart().startsWith("|")) {
|
|
201
|
+
const out = [];
|
|
202
|
+
while (i < lines.length && lines[i].trimStart().startsWith("|")) {
|
|
203
|
+
out.push(lines[i]);
|
|
204
|
+
i++;
|
|
205
|
+
}
|
|
206
|
+
return out;
|
|
207
|
+
}
|
|
208
|
+
i++;
|
|
209
|
+
}
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=service-entity-tables.js.map
|