@memoarchitect/tools 0.6.6 → 0.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +18 -0
  2. package/package.json +2 -2
  3. package/packages/tools/lib/analysis-starters.d.ts +4 -0
  4. package/packages/tools/lib/analysis-starters.d.ts.map +1 -0
  5. package/packages/tools/lib/analysis-starters.js +425 -0
  6. package/packages/tools/lib/analysis-starters.js.map +1 -0
  7. package/packages/tools/lib/commands/init.d.ts.map +1 -1
  8. package/packages/tools/lib/commands/init.js +3 -0
  9. package/packages/tools/lib/commands/init.js.map +1 -1
  10. package/packages/tools/lib/commands/pack.d.ts.map +1 -1
  11. package/packages/tools/lib/commands/pack.js +5 -2
  12. package/packages/tools/lib/commands/pack.js.map +1 -1
  13. package/packages/tools/lib/mcp/model-loader.d.ts +2 -1
  14. package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -1
  15. package/packages/tools/lib/mcp/model-loader.js +7 -22
  16. package/packages/tools/lib/mcp/model-loader.js.map +1 -1
  17. package/packages/tools/lib/model/builder.d.ts.map +1 -1
  18. package/packages/tools/lib/model/builder.js +33 -7
  19. package/packages/tools/lib/model/builder.js.map +1 -1
  20. package/packages/tools/lib/model/relationship-legality.d.ts +2 -0
  21. package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -1
  22. package/packages/tools/lib/model/relationship-legality.js.map +1 -1
  23. package/packages/tools/lib/model/semantic.d.ts +11 -0
  24. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  25. package/packages/tools/lib/model/semantic.js.map +1 -1
  26. package/packages/tools/lib/model/short-id.d.ts +8 -7
  27. package/packages/tools/lib/model/short-id.d.ts.map +1 -1
  28. package/packages/tools/lib/model/short-id.js +24 -17
  29. package/packages/tools/lib/model/short-id.js.map +1 -1
  30. package/packages/tools/lib/model/sysml-files.d.ts +9 -0
  31. package/packages/tools/lib/model/sysml-files.d.ts.map +1 -1
  32. package/packages/tools/lib/model/sysml-files.js +20 -1
  33. package/packages/tools/lib/model/sysml-files.js.map +1 -1
  34. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
  35. package/packages/tools/lib/model/view-deriver.js +24 -0
  36. package/packages/tools/lib/model/view-deriver.js.map +1 -1
  37. package/packages/tools/lib/protocol/messages.d.ts +13 -0
  38. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  39. package/packages/tools/lib/server/relationship-writer.d.ts +1 -1
  40. package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -1
  41. package/packages/tools/lib/server/relationship-writer.js +8 -4
  42. package/packages/tools/lib/server/relationship-writer.js.map +1 -1
  43. package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
  44. package/packages/tools/lib/server/view-layout-store.js +2 -0
  45. package/packages/tools/lib/server/view-layout-store.js.map +1 -1
  46. package/packages/tools/lib/validator/architecture-validator.d.ts +10 -0
  47. package/packages/tools/lib/validator/architecture-validator.d.ts.map +1 -0
  48. package/packages/tools/lib/validator/architecture-validator.js +77 -0
  49. package/packages/tools/lib/validator/architecture-validator.js.map +1 -0
  50. package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
  51. package/packages/tools/lib/validator/rule-engine.js +4 -2
  52. package/packages/tools/lib/validator/rule-engine.js.map +1 -1
package/README.md CHANGED
@@ -89,6 +89,24 @@ memo rules coverage
89
89
 
90
90
  Run `memo --help` or `memo <command> --help` for the complete command surface.
91
91
 
92
+ ### Jupyter analysis samples
93
+
94
+ Every `memo init` project includes `analysis/Samples/` with seven portable
95
+ Syside notebooks. They cover model overview and quality, architecture hotspots,
96
+ change-impact exploration, semantic charts, an ownership graph, and an HTML/CSV
97
+ inventory table. The notebooks discover either `model/` or `src/` automatically,
98
+ so the same samples work with default templates and worked examples.
99
+
100
+ Run them in a licensed Syside environment:
101
+
102
+ ```bash
103
+ python -m venv analysis/.venv
104
+ source analysis/.venv/bin/activate
105
+ python -m pip install jupyterlab syside
106
+ cd analysis
107
+ jupyter lab --port 8888
108
+ ```
109
+
92
110
  ## Documentation
93
111
 
94
112
  The [published documentation](https://memoarchitect.com/memo-tools/)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memoarchitect/tools",
3
- "version": "0.6.6",
3
+ "version": "0.6.7",
4
4
  "description": "MEMO tools — SysML v2 parser, semantic model, validation, project operations, and CLI",
5
5
  "type": "module",
6
6
  "main": "./packages/tools/lib/index.js",
@@ -44,7 +44,7 @@
44
44
  "ontology:compat": "node tools/ontology-tools/syside-compat.mjs"
45
45
  },
46
46
  "dependencies": {
47
- "@memoarchitect/ontology": "0.6.3",
47
+ "@memoarchitect/ontology": "0.6.5",
48
48
  "chalk": "^5.3.0",
49
49
  "chokidar": "^4.0.0",
50
50
  "commander": "^12.1.0",
@@ -0,0 +1,4 @@
1
+ /** Add model-independent Jupyter samples to a newly initialized project. */
2
+ export declare function scaffoldAnalysisSamples(projectDir: string): void;
3
+ export declare const analysisSampleNames: string[];
4
+ //# sourceMappingURL=analysis-starters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis-starters.d.ts","sourceRoot":"","sources":["../src/analysis-starters.ts"],"names":[],"mappings":"AAibA,4EAA4E;AAC5E,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAShE;AAED,eAAO,MAAM,mBAAmB,UAA4C,CAAC"}
@@ -0,0 +1,425 @@
1
+ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
2
+ import { resolve } from 'node:path';
3
+ const LOAD_MODEL = `from pathlib import Path
4
+ from collections import Counter, defaultdict
5
+ import syside
6
+
7
+ def find_sysml_root(start=Path.cwd()):
8
+ """Find the nearest model/ or src/ folder containing textual SysML."""
9
+ for directory in (start, *start.parents):
10
+ for folder_name in ('model', 'src'):
11
+ candidate = directory / folder_name
12
+ if candidate.is_dir() and next(candidate.rglob('*.sysml'), None):
13
+ return candidate
14
+ raise FileNotFoundError('No model/ or src/ directory containing .sysml files was found')
15
+
16
+ SYSML_ROOT = find_sysml_root()
17
+ SYSML_FILES = sorted(SYSML_ROOT.rglob('*.sysml'))
18
+ model, diagnostics = syside.try_load_model([str(path) for path in SYSML_FILES])
19
+ print(f'Loaded {len(SYSML_FILES)} SysML files from {SYSML_ROOT}')`;
20
+ const SAMPLES_README = `# MEMO analysis samples
21
+
22
+ These notebooks are created by \`memo init\` and are designed to work with any
23
+ MEMO textual SysML v2 project. They locate the nearest \`model/\` or \`src/\`
24
+ directory automatically and query it through the typed Syside API.
25
+
26
+ ## Prerequisites
27
+
28
+ Use Python 3.12 or newer with JupyterLab and Syside installed and licensed:
29
+
30
+ \`\`\`bash
31
+ python -m venv analysis/.venv
32
+ source analysis/.venv/bin/activate
33
+ python -m pip install jupyterlab syside
34
+ cd analysis
35
+ jupyter lab --port 8888
36
+ \`\`\`
37
+
38
+ Configure the Syside license using its supported keyring or environment setup.
39
+ MEMO Architect's **Analysis → Jupyter Notebooks** menu opens the local server at
40
+ \`http://127.0.0.1:8888\`.
41
+
42
+ ## Included notebooks
43
+
44
+ | Notebook | Purpose |
45
+ |---|---|
46
+ | \`01-model-overview.ipynb\` | Model size, semantic composition, and diagnostic summary. |
47
+ | \`02-architecture-hotspots.ipynb\` | Busy containers, deep ownership paths, and dominant types. |
48
+ | \`03-model-quality.ipynb\` | Diagnostics, unnamed elements, repeated names, and empty definitions. |
49
+ | \`04-change-impact-explorer.ipynb\` | Search an element and inspect its structural neighborhood. |
50
+ | \`05-model-charts.ipynb\` | Bar and donut charts rendered without extra plotting packages. |
51
+ | \`06-ownership-graph.ipynb\` | SVG network graph of model ownership relationships. |
52
+ | \`07-model-inventory-table.ipynb\` | Filterable inventory parameters, HTML table, and CSV export. |
53
+
54
+ The notebooks use \`syside.try_load_model()\`, so partial analysis remains
55
+ available while the project contains parser or semantic diagnostics. Review the
56
+ reported diagnostics before treating analysis results as release evidence.
57
+ `;
58
+ const STARTERS = [
59
+ {
60
+ filename: '01-model-overview.ipynb',
61
+ title: 'Model overview',
62
+ description: 'Visual summary of model size, semantic content, and diagnostics.',
63
+ codeCells: [
64
+ `from IPython.display import HTML, display
65
+
66
+ semantic_types = [
67
+ 'Package', 'PartDefinition', 'PartUsage', 'RequirementDefinition',
68
+ 'RequirementUsage', 'ActionDefinition', 'ActionUsage', 'PortDefinition',
69
+ 'PortUsage', 'ConnectionDefinition', 'ConnectionUsage', 'StateDefinition',
70
+ 'StateUsage', 'AttributeDefinition', 'AttributeUsage'
71
+ ]
72
+ counts = {}
73
+ for type_name in semantic_types:
74
+ node_type = getattr(syside, type_name, None)
75
+ if node_type is not None:
76
+ counts[type_name] = len(list(model.elements(node_type)))
77
+
78
+ largest = max(counts.values(), default=1)
79
+ rows = ''.join(
80
+ f'<tr><td>{name}</td><td>{count:,}</td><td><div style="background:#2d8d70;height:12px;width:{max(2, count * 320 / largest):.0f}px"></div></td></tr>'
81
+ for name, count in sorted(counts.items(), key=lambda item: item[1], reverse=True)
82
+ )
83
+ display(HTML(f'<h3>Semantic inventory</h3><table><tr><th>Element type</th><th>Count</th><th>Relative size</th></tr>{rows}</table>'))
84
+
85
+ {
86
+ 'SysML files': len(SYSML_FILES),
87
+ 'Errors': len(list(diagnostics.errors)),
88
+ 'Warnings': len(list(diagnostics.warnings)),
89
+ 'Information': len(list(diagnostics.infos)),
90
+ }`,
91
+ ],
92
+ },
93
+ {
94
+ filename: '02-architecture-hotspots.ipynb',
95
+ title: 'Architecture hotspots',
96
+ description: 'Find busy containers, deep ownership paths, and dominant semantic types.',
97
+ codeCells: [
98
+ `from IPython.display import display
99
+
100
+ semantic_elements = (
101
+ list(model.elements(syside.Usage, include_subtypes=True))
102
+ + list(model.elements(syside.Definition, include_subtypes=True))
103
+ )
104
+
105
+ def safe_name(element):
106
+ value = element.qualified_name or element.name or element.declared_name
107
+ return str(value) if value else '<unnamed>'
108
+
109
+ def ownership_depth(element):
110
+ depth, current, seen = 0, element.owner, set()
111
+ while current is not None and id(current) not in seen:
112
+ seen.add(id(current))
113
+ depth += 1
114
+ current = getattr(current, 'owner', None)
115
+ return depth
116
+
117
+ containers = []
118
+ for element in semantic_elements:
119
+ children = [child for child in element.owned_elements if isinstance(child, (syside.Usage, syside.Definition))]
120
+ if children:
121
+ containers.append((len(children), type(element).__name__, safe_name(element)))
122
+
123
+ print('Top containers by directly owned semantic elements')
124
+ display(sorted(containers, reverse=True)[:25])
125
+
126
+ print('Deepest ownership paths')
127
+ display(sorted(
128
+ ((ownership_depth(item), type(item).__name__, safe_name(item)) for item in semantic_elements),
129
+ reverse=True,
130
+ )[:25])
131
+
132
+ print('Most common semantic types')
133
+ Counter(type(item).__name__ for item in semantic_elements).most_common(30)`,
134
+ ],
135
+ },
136
+ {
137
+ filename: '03-model-quality.ipynb',
138
+ title: 'Model quality review',
139
+ description: 'Review diagnostics, unnamed elements, repeated names, and empty definitions.',
140
+ codeCells: [
141
+ `from IPython.display import display
142
+
143
+ usages = list(model.elements(syside.Usage, include_subtypes=True))
144
+ definitions = list(model.elements(syside.Definition, include_subtypes=True))
145
+ semantic_elements = usages + definitions
146
+
147
+ unnamed = [item for item in semantic_elements if not (item.name or item.declared_name)]
148
+ by_name = defaultdict(list)
149
+ for item in semantic_elements:
150
+ value = item.qualified_name or item.name or item.declared_name
151
+ name = str(value) if value else None
152
+ if name:
153
+ by_name[name].append(item)
154
+ duplicates = [(name, len(items), sorted({type(item).__name__ for item in items})) for name, items in by_name.items() if len(items) > 1]
155
+ empty_definitions = [
156
+ item for item in definitions
157
+ if not any(isinstance(child, (syside.Usage, syside.Definition)) for child in item.owned_elements)
158
+ ]
159
+
160
+ display({
161
+ 'parser/semantic errors': len(list(diagnostics.errors)),
162
+ 'warnings': len(list(diagnostics.warnings)),
163
+ 'unnamed usages or definitions': len(unnamed),
164
+ 'repeated qualified names': len(duplicates),
165
+ 'definitions with no owned usages/definitions': len(empty_definitions),
166
+ })
167
+
168
+ print('Repeated qualified names (first 30)')
169
+ display(sorted(duplicates, key=lambda item: item[1], reverse=True)[:30])
170
+
171
+ print('Empty definition candidates (first 30)')
172
+ [(type(item).__name__, item.qualified_name or item.name) for item in empty_definitions[:30]]`,
173
+ `print('First diagnostics to investigate')
174
+ for diagnostic in list(diagnostics.errors)[:20] + list(diagnostics.warnings)[:20]:
175
+ print(diagnostic)`,
176
+ ],
177
+ },
178
+ {
179
+ filename: '04-change-impact-explorer.ipynb',
180
+ title: 'Change-impact explorer',
181
+ description: 'Search any element and inspect its owner, children, and directly related elements.',
182
+ codeCells: [
183
+ `QUERY = '' # Example: 'pump', 'controller', 'safety', or a requirement name
184
+
185
+ semantic_elements = (
186
+ list(model.elements(syside.Usage, include_subtypes=True))
187
+ + list(model.elements(syside.Definition, include_subtypes=True))
188
+ )
189
+
190
+ def label(element):
191
+ value = element.qualified_name or element.name or element.declared_name
192
+ return str(value) if value else '<unnamed>'
193
+
194
+ if not QUERY:
195
+ print('Set QUERY to a name fragment. Suggestions:')
196
+ for suggestion in [label(item) for item in semantic_elements if item.name][:20]:
197
+ print(' -', suggestion)
198
+ matches = []
199
+ else:
200
+ matches = [item for item in semantic_elements if QUERY.casefold() in label(item).casefold()]
201
+ print(f'{len(matches)} match(es) for {QUERY!r}')
202
+
203
+ [(type(item).__name__, label(item)) for item in matches[:100]]`,
204
+ `def neighborhood(element):
205
+ owner = getattr(element, 'owner', None)
206
+ children = [child for child in element.owned_elements if isinstance(child, (syside.Usage, syside.Definition))]
207
+ related = []
208
+ for relationship in element.owned_relationships:
209
+ for candidate in relationship.related_elements:
210
+ if candidate is not element:
211
+ related.append(candidate)
212
+ return {
213
+ 'selected': (type(element).__name__, label(element)),
214
+ 'owner': None if owner is None else (type(owner).__name__, label(owner)),
215
+ 'children': [(type(child).__name__, label(child)) for child in children[:50]],
216
+ 'directly related': [(type(item).__name__, label(item)) for item in related[:50]],
217
+ }
218
+
219
+ [neighborhood(item) for item in matches[:10]]`,
220
+ ],
221
+ },
222
+ {
223
+ filename: '05-model-charts.ipynb',
224
+ title: 'Model charts',
225
+ description: 'Render semantic composition and diagnostic charts without external plotting packages.',
226
+ codeCells: [
227
+ `from html import escape
228
+ from IPython.display import HTML, display
229
+
230
+ type_names = [
231
+ 'PartUsage', 'RequirementUsage', 'ActionUsage', 'PortUsage',
232
+ 'ConnectionUsage', 'StateUsage', 'AttributeUsage', 'ItemUsage',
233
+ 'PartDefinition', 'RequirementDefinition', 'ActionDefinition', 'PortDefinition'
234
+ ]
235
+ counts = {}
236
+ for type_name in type_names:
237
+ node_type = getattr(syside, type_name, None)
238
+ if node_type is not None:
239
+ counts[type_name] = len(list(model.elements(node_type)))
240
+
241
+ palette = ['#2d8d70', '#3887c7', '#e58a2b', '#8357b6', '#cf5c62', '#4f9d9d']
242
+ largest = max(counts.values(), default=1)
243
+ bars = []
244
+ for index, (name, count) in enumerate(sorted(counts.items(), key=lambda item: item[1], reverse=True)):
245
+ width = max(1, count * 100 / largest)
246
+ color = palette[index % len(palette)]
247
+ bars.append(f'''<div style="display:grid;grid-template-columns:180px 1fr 70px;gap:12px;align-items:center;margin:7px 0">
248
+ <div>{escape(name)}</div><div style="background:#edf2f4;border-radius:6px;overflow:hidden"><div style="width:{width:.1f}%;height:20px;background:{color}"></div></div><strong>{count:,}</strong>
249
+ </div>''')
250
+
251
+ error_count = len(list(diagnostics.errors))
252
+ warning_count = len(list(diagnostics.warnings))
253
+ info_count = len(list(diagnostics.infos))
254
+ total_diagnostics = max(1, error_count + warning_count + info_count)
255
+ diagnostic_gradient = (
256
+ f'#cf5c62 0 {error_count / total_diagnostics * 100:.1f}%, '
257
+ f'#e5a52b {error_count / total_diagnostics * 100:.1f}% {(error_count + warning_count) / total_diagnostics * 100:.1f}%, '
258
+ f'#3887c7 {(error_count + warning_count) / total_diagnostics * 100:.1f}% 100%'
259
+ )
260
+
261
+ display(HTML(f'''<div style="font-family:system-ui;max-width:900px">
262
+ <h2>Semantic composition</h2>{''.join(bars)}
263
+ <h2 style="margin-top:28px">Diagnostics</h2>
264
+ <div style="display:flex;align-items:center;gap:24px">
265
+ <div style="width:150px;height:150px;border-radius:50%;background:conic-gradient({diagnostic_gradient});position:relative">
266
+ <div style="position:absolute;inset:28px;background:white;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:700">{error_count + warning_count + info_count}</div>
267
+ </div>
268
+ <table><tr><th>Severity</th><th>Count</th></tr><tr><td>Errors</td><td>{error_count}</td></tr><tr><td>Warnings</td><td>{warning_count}</td></tr><tr><td>Information</td><td>{info_count}</td></tr></table>
269
+ </div>
270
+ </div>'''))`,
271
+ ],
272
+ },
273
+ {
274
+ filename: '06-ownership-graph.ipynb',
275
+ title: 'Ownership graph',
276
+ description: 'Draw an SVG network of model elements and their ownership relationships.',
277
+ codeCells: [
278
+ `from html import escape
279
+ from IPython.display import SVG, display
280
+
281
+ semantic_elements = (
282
+ list(model.elements(syside.Usage, include_subtypes=True))
283
+ + list(model.elements(syside.Definition, include_subtypes=True))
284
+ )
285
+
286
+ def node_name(element):
287
+ value = element.name or element.declared_name or element.qualified_name
288
+ return str(value) if value else '<unnamed>'
289
+
290
+ # Prefer named elements with semantic children, then fill with other named elements.
291
+ ranked = sorted(
292
+ (item for item in semantic_elements if item.name or item.declared_name),
293
+ key=lambda item: sum(isinstance(child, (syside.Usage, syside.Definition)) for child in item.owned_elements),
294
+ reverse=True,
295
+ )
296
+ selected = ranked[:60]
297
+ selected_ids = {id(item) for item in selected}
298
+
299
+ def depth(element):
300
+ value, current, seen = 0, element.owner, set()
301
+ while current is not None and id(current) not in seen:
302
+ seen.add(id(current)); value += 1; current = getattr(current, 'owner', None)
303
+ return value
304
+
305
+ columns = defaultdict(list)
306
+ for item in selected:
307
+ columns[depth(item)].append(item)
308
+ depths = sorted(columns)
309
+ positions = {}
310
+ for column_index, level in enumerate(depths):
311
+ for row_index, item in enumerate(columns[level]):
312
+ positions[id(item)] = (30 + column_index * 240, 30 + row_index * 58)
313
+
314
+ width = max(500, 260 * max(1, len(depths)))
315
+ height = max(240, 70 + 58 * max((len(items) for items in columns.values()), default=1))
316
+ edges = []
317
+ nodes = []
318
+ colors = {'PartUsage':'#dff4ee', 'RequirementUsage':'#e8eefb', 'ActionUsage':'#fff0dc', 'PortUsage':'#efe5fa'}
319
+ for item in selected:
320
+ x, y = positions[id(item)]
321
+ owner = getattr(item, 'owner', None)
322
+ if owner is not None and id(owner) in selected_ids:
323
+ ox, oy = positions[id(owner)]
324
+ edges.append(f'<path d="M {ox + 190} {oy + 20} C {ox + 215} {oy + 20}, {x - 25} {y + 20}, {x} {y + 20}" fill="none" stroke="#91a7b3" stroke-width="1.5"/>')
325
+ kind = type(item).__name__
326
+ fill = colors.get(kind, '#f4f6f7')
327
+ label = escape(node_name(item)[:27])
328
+ nodes.append(f'<g><rect x="{x}" y="{y}" width="190" height="40" rx="7" fill="{fill}" stroke="#547180"/><text x="{x + 9}" y="{y + 17}" font-size="11" font-weight="700">{label}</text><text x="{x + 9}" y="{y + 32}" font-size="9" fill="#587487">{kind}</text></g>')
329
+
330
+ svg = f'''<svg xmlns="http://www.w3.org/2000/svg" width="100%" viewBox="0 0 {width} {height}" style="background:#fbfcfc;border:1px solid #d9e3e8;border-radius:10px">{''.join(edges)}{''.join(nodes)}</svg>'''
331
+ display(SVG(svg))
332
+ print(f'Displayed {len(selected)} elements and {len(edges)} ownership edges')`,
333
+ ],
334
+ },
335
+ {
336
+ filename: '07-model-inventory-table.ipynb',
337
+ title: 'Model inventory table',
338
+ description: 'Filter a model-independent element table and export the current result to CSV.',
339
+ codeCells: [
340
+ `from html import escape
341
+ from IPython.display import HTML, display
342
+
343
+ KIND_FILTER = '' # Example: 'PartUsage' or 'Requirement'
344
+ NAME_FILTER = '' # Case-insensitive name fragment
345
+ ROW_LIMIT = 250
346
+
347
+ semantic_elements = (
348
+ list(model.elements(syside.Usage, include_subtypes=True))
349
+ + list(model.elements(syside.Definition, include_subtypes=True))
350
+ )
351
+
352
+ def text(value):
353
+ return str(value) if value else ''
354
+
355
+ records = []
356
+ for item in semantic_elements:
357
+ kind = type(item).__name__
358
+ name = text(item.name or item.declared_name)
359
+ qualified_name = text(item.qualified_name)
360
+ owner = getattr(item, 'owner', None)
361
+ owner_name = text(getattr(owner, 'qualified_name', None) or getattr(owner, 'name', None))
362
+ if KIND_FILTER and KIND_FILTER.casefold() not in kind.casefold():
363
+ continue
364
+ if NAME_FILTER and NAME_FILTER.casefold() not in (name + ' ' + qualified_name).casefold():
365
+ continue
366
+ records.append({'kind': kind, 'name': name, 'qualified_name': qualified_name, 'owner': owner_name})
367
+
368
+ records.sort(key=lambda row: (row['kind'], row['qualified_name'], row['name']))
369
+ visible = records[:ROW_LIMIT]
370
+ rows = ''.join(
371
+ '<tr>' + ''.join(f'<td>{escape(row[key])}</td>' for key in ('kind', 'name', 'qualified_name', 'owner')) + '</tr>'
372
+ for row in visible
373
+ )
374
+ display(HTML(f'''<p><strong>{len(records):,}</strong> matching elements; showing {len(visible):,}.</p>
375
+ <div style="max-height:620px;overflow:auto"><table style="font-size:12px"><thead style="position:sticky;top:0;background:white"><tr><th>Kind</th><th>Name</th><th>Qualified name</th><th>Owner</th></tr></thead><tbody>{rows}</tbody></table></div>'''))`,
376
+ `import csv
377
+
378
+ OUTPUT = Path('model-inventory.csv')
379
+ with OUTPUT.open('w', newline='', encoding='utf-8') as stream:
380
+ writer = csv.DictWriter(stream, fieldnames=['kind', 'name', 'qualified_name', 'owner'])
381
+ writer.writeheader()
382
+ writer.writerows(records)
383
+ print(f'Exported {len(records):,} rows to {OUTPUT.resolve()}')`,
384
+ ],
385
+ },
386
+ ];
387
+ function markdownCell(starter) {
388
+ return {
389
+ cell_type: 'markdown',
390
+ metadata: {},
391
+ source: [`# ${starter.title}\n\n${starter.description}\n\nThis sample uses only standard SysML v2 concepts and automatically discovers the project's \`model/\` or \`src/\` directory.`],
392
+ };
393
+ }
394
+ function codeCell(source) {
395
+ return { cell_type: 'code', metadata: {}, source: [source], execution_count: null, outputs: [] };
396
+ }
397
+ function notebook(starter) {
398
+ const cells = [markdownCell(starter), codeCell(LOAD_MODEL), ...starter.codeCells.map(codeCell)]
399
+ .map((cell, index) => ({ ...cell, id: `memo-${index + 1}` }));
400
+ return {
401
+ cells,
402
+ metadata: {
403
+ kernelspec: { display_name: 'Python 3 (ipykernel)', language: 'python', name: 'python3' },
404
+ language_info: { name: 'python', version: '3' },
405
+ memo: { starter: true, description: starter.description },
406
+ },
407
+ nbformat: 4,
408
+ nbformat_minor: 5,
409
+ };
410
+ }
411
+ /** Add model-independent Jupyter samples to a newly initialized project. */
412
+ export function scaffoldAnalysisSamples(projectDir) {
413
+ const samplesDir = resolve(projectDir, 'analysis', 'Samples');
414
+ mkdirSync(samplesDir, { recursive: true });
415
+ const readmePath = resolve(samplesDir, 'README.md');
416
+ if (!existsSync(readmePath))
417
+ writeFileSync(readmePath, SAMPLES_README);
418
+ for (const starter of STARTERS) {
419
+ const path = resolve(samplesDir, starter.filename);
420
+ if (!existsSync(path))
421
+ writeFileSync(path, JSON.stringify(notebook(starter), null, 2) + '\n');
422
+ }
423
+ }
424
+ export const analysisSampleNames = STARTERS.map(starter => starter.filename);
425
+ //# sourceMappingURL=analysis-starters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis-starters.js","sourceRoot":"","sources":["../src/analysis-starters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACtB;AAMD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAsBvE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAwBpE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAUtE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,SAAgB,GAAG,IAAI,CAanE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,SAAgB,GAAG,IAAI,CAWlE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,SAAgB,GAAG,IAAI,CAajE;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAsFD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyF/F"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACtB;AAMD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAsBvE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAwBpE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAUtE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,SAAgB,GAAG,IAAI,CAanE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,SAAgB,GAAG,IAAI,CAWlE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,SAAgB,GAAG,IAAI,CAajE;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAsFD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA2F/F"}
@@ -5,6 +5,7 @@ import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
5
5
  import chalk from 'chalk';
6
6
  import { findConfigFile, findMemoManifests, installContentPackage, resolveManifestPath, } from '@memoarchitect/tools';
7
7
  import { createLockFile } from '../lock.js';
8
+ import { scaffoldAnalysisSamples } from '../analysis-starters.js';
8
9
  function manifests(fromDir) {
9
10
  return findMemoManifests(fromDir);
10
11
  }
@@ -238,6 +239,7 @@ export async function initCommand(name, options) {
238
239
  const target = preparedTarget ?? ensureTarget(name, example.id);
239
240
  console.log(chalk.bold(`\n📦 Creating project from example: ${example.id}\n`));
240
241
  cpSync(example.path, target.projectDir, { recursive: true });
242
+ scaffoldAnalysisSamples(target.projectDir);
241
243
  console.log(chalk.green(target.inPlace ? '\n✅ Project created in current directory' : `\n✅ Project created at ./${name}`));
242
244
  return;
243
245
  }
@@ -253,6 +255,7 @@ export async function initCommand(name, options) {
253
255
  console.log(chalk.bold(`\n📦 Creating MEMO project: ${target.projectName} (template: ${templateId})\n`));
254
256
  const templateDir = resolveManifestPath(loaded, templatePath);
255
257
  cpSync(templateDir, target.projectDir, { recursive: true });
258
+ scaffoldAnalysisSamples(target.projectDir);
256
259
  replaceTokens(target.projectDir, {
257
260
  name: target.projectName,
258
261
  npmName: npmPackageName(target.projectName),
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"AAsEA,wBAAsB,WAAW,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBlF"}
1
+ {"version":3,"file":"pack.d.ts","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"AAyEA,wBAAsB,WAAW,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBlF"}
@@ -4,12 +4,15 @@ import { createGzip } from 'node:zlib';
4
4
  import { pipeline } from 'node:stream/promises';
5
5
  import chalk from 'chalk';
6
6
  import { packageWithConfiguredTool } from '../model/toolchain.js';
7
+ import { isIgnoredDirectory } from '../model/sysml-files.js';
7
8
  import { buildProjectSnapshot } from '../operations/project-snapshot.js';
8
9
  function collectProjectFiles(dir, root) {
9
10
  const files = [];
10
11
  for (const entry of readdirSync(dir, { withFileTypes: true })) {
11
- if (entry.name === 'node_modules' || entry.name === '.git' || entry.name === '.memo'
12
- || entry.name === 'dist' || entry.name === 'output' || entry.name.endsWith('.kpar'))
12
+ // Tool output and vendored dependencies are excluded by the same rule
13
+ // the source walker uses, so a package can never ship (or claim in its
14
+ // manifest) files the rest of the toolchain ignores.
15
+ if (isIgnoredDirectory(entry.name) || entry.name.endsWith('.kpar'))
13
16
  continue;
14
17
  const full = resolve(dir, entry.name);
15
18
  if (entry.isDirectory())
@@ -1 +1 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import { findSysmlFiles } from '../model/sysml-files.js';
1
2
  import type { QueryContext } from '../dhf/query-engine.js';
2
3
  import type { MEMOConfig } from '../model/config.js';
3
- export declare function findSysmlFiles(dir: string): string[];
4
+ export { findSysmlFiles };
4
5
  export interface LoadedProject {
5
6
  ctx: QueryContext;
6
7
  config: MEMOConfig;