@memoarchitect/tools 0.4.5 → 0.6.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/README.md +5 -5
- package/package.json +8 -8
- package/packages/tools/lib/bin/memo.js +1 -1
- package/packages/tools/lib/browser/index.d.ts +2 -0
- package/packages/tools/lib/browser/index.d.ts.map +1 -1
- package/packages/tools/lib/browser/index.js +2 -0
- package/packages/tools/lib/browser/index.js.map +1 -1
- package/packages/tools/lib/commands/create-package.js +1 -1
- package/packages/tools/lib/commands/dev.d.ts.map +1 -1
- package/packages/tools/lib/commands/dev.js +46 -6
- package/packages/tools/lib/commands/dev.js.map +1 -1
- package/packages/tools/lib/commands/install.js +1 -1
- package/packages/tools/lib/commands/ontology.js +1 -1
- package/packages/tools/lib/commands/ontology.js.map +1 -1
- package/packages/tools/lib/dhf/document-registry.js +5 -5
- package/packages/tools/lib/dhf/document-registry.js.map +1 -1
- package/packages/tools/lib/dhf/template-engine.js +3 -3
- package/packages/tools/lib/dhf/template-engine.js.map +1 -1
- package/packages/tools/lib/importer/cameo-importer.d.ts.map +1 -1
- package/packages/tools/lib/importer/cameo-importer.js +5 -2
- package/packages/tools/lib/importer/cameo-importer.js.map +1 -1
- package/packages/tools/lib/importer/ea-importer.d.ts +1 -1
- package/packages/tools/lib/importer/ea-importer.d.ts.map +1 -1
- package/packages/tools/lib/importer/ea-importer.js +6 -4
- package/packages/tools/lib/importer/ea-importer.js.map +1 -1
- package/packages/tools/lib/index.d.ts +2 -0
- package/packages/tools/lib/index.d.ts.map +1 -1
- package/packages/tools/lib/index.js +2 -0
- package/packages/tools/lib/index.js.map +1 -1
- package/packages/tools/lib/language/generated/ast.d.ts +1774 -142
- package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
- package/packages/tools/lib/language/generated/ast.js +1776 -845
- package/packages/tools/lib/language/generated/ast.js.map +1 -1
- package/packages/tools/lib/language/generated/grammar.d.ts +1 -1
- package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -1
- package/packages/tools/lib/language/generated/grammar.js +1831 -844
- package/packages/tools/lib/language/generated/grammar.js.map +1 -1
- package/packages/tools/lib/language/generated/module.d.ts +1 -1
- package/packages/tools/lib/language/generated/module.js +1 -1
- package/packages/tools/lib/model/builder.d.ts.map +1 -1
- package/packages/tools/lib/model/builder.js +38 -14
- package/packages/tools/lib/model/builder.js.map +1 -1
- package/packages/tools/lib/model/config.d.ts +11 -1
- package/packages/tools/lib/model/config.d.ts.map +1 -1
- package/packages/tools/lib/model/kind-registry.d.ts +9 -0
- package/packages/tools/lib/model/kind-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/kind-registry.js +26 -3
- package/packages/tools/lib/model/kind-registry.js.map +1 -1
- package/packages/tools/lib/model/layer-resolver.d.ts.map +1 -1
- package/packages/tools/lib/model/layer-resolver.js +15 -0
- package/packages/tools/lib/model/layer-resolver.js.map +1 -1
- package/packages/tools/lib/model/ontology-loader.d.ts +2 -0
- package/packages/tools/lib/model/ontology-loader.d.ts.map +1 -1
- package/packages/tools/lib/model/ontology-loader.js +92 -28
- package/packages/tools/lib/model/ontology-loader.js.map +1 -1
- package/packages/tools/lib/model/parser-utils.d.ts +9 -0
- package/packages/tools/lib/model/parser-utils.d.ts.map +1 -1
- package/packages/tools/lib/model/parser-utils.js +24 -0
- package/packages/tools/lib/model/parser-utils.js.map +1 -1
- package/packages/tools/lib/model/paths.d.ts +0 -2
- package/packages/tools/lib/model/paths.d.ts.map +1 -1
- package/packages/tools/lib/model/paths.js +0 -2
- package/packages/tools/lib/model/paths.js.map +1 -1
- package/packages/tools/lib/model/relationship-legality.d.ts +261 -0
- package/packages/tools/lib/model/relationship-legality.d.ts.map +1 -0
- package/packages/tools/lib/model/relationship-legality.js +391 -0
- package/packages/tools/lib/model/relationship-legality.js.map +1 -0
- package/packages/tools/lib/model/relationship-registry.d.ts +38 -4
- package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/relationship-registry.js +109 -1
- package/packages/tools/lib/model/relationship-registry.js.map +1 -1
- package/packages/tools/lib/model/semantic.d.ts +42 -0
- package/packages/tools/lib/model/semantic.d.ts.map +1 -1
- package/packages/tools/lib/model/semantic.js +3 -0
- package/packages/tools/lib/model/semantic.js.map +1 -1
- package/packages/tools/lib/model/short-id.js +1 -1
- package/packages/tools/lib/model/short-id.js.map +1 -1
- package/packages/tools/lib/model/source-affinity.d.ts +21 -0
- package/packages/tools/lib/model/source-affinity.d.ts.map +1 -0
- package/packages/tools/lib/model/source-affinity.js +42 -0
- package/packages/tools/lib/model/source-affinity.js.map +1 -0
- package/packages/tools/lib/model/source-graph.d.ts +30 -0
- package/packages/tools/lib/model/source-graph.d.ts.map +1 -0
- package/packages/tools/lib/model/source-graph.js +154 -0
- package/packages/tools/lib/model/source-graph.js.map +1 -0
- package/packages/tools/lib/model/view-kinds.d.ts.map +1 -1
- package/packages/tools/lib/model/view-kinds.js +1 -0
- package/packages/tools/lib/model/view-kinds.js.map +1 -1
- package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
- package/packages/tools/lib/operations/project-snapshot.js +2 -15
- package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
- package/packages/tools/lib/protocol/messages.d.ts +92 -8
- package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
- package/packages/tools/lib/server/dev-server.d.ts +16 -0
- package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
- package/packages/tools/lib/server/dev-server.js +190 -16
- package/packages/tools/lib/server/dev-server.js.map +1 -1
- package/packages/tools/lib/server/file-watcher.d.ts +21 -2
- package/packages/tools/lib/server/file-watcher.d.ts.map +1 -1
- package/packages/tools/lib/server/file-watcher.js +55 -23
- package/packages/tools/lib/server/file-watcher.js.map +1 -1
- package/packages/tools/lib/server/persistor.d.ts +0 -13
- package/packages/tools/lib/server/persistor.d.ts.map +1 -1
- package/packages/tools/lib/server/persistor.js +3 -31
- package/packages/tools/lib/server/persistor.js.map +1 -1
- package/packages/tools/lib/server/relationship-writer.d.ts +104 -0
- package/packages/tools/lib/server/relationship-writer.d.ts.map +1 -0
- package/packages/tools/lib/server/relationship-writer.js +402 -0
- package/packages/tools/lib/server/relationship-writer.js.map +1 -0
- package/packages/tools/lib/server/view-layout-store.d.ts +14 -1
- package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
- package/packages/tools/lib/server/view-layout-store.js +63 -11
- package/packages/tools/lib/server/view-layout-store.js.map +1 -1
- package/packages/tools/src/grammar/memo-sysml.langium +102 -18
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationship-legality.js","sourceRoot":"","sources":["../../src/model/relationship-legality.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import type { RelationshipType } from './config.js';
|
|
2
2
|
import type { ParsedDocument } from './parser-utils.js';
|
|
3
|
+
import type { MultiplicityDTO, RelationshipDefinitionDTO } from './relationship-legality.js';
|
|
4
|
+
/** One `end` declaration on a connection definition */
|
|
5
|
+
export interface RelationshipEnd {
|
|
6
|
+
name: string;
|
|
7
|
+
type?: string;
|
|
8
|
+
/** Declared multiplicity, e.g. `end owner : Requirement [0..1];` */
|
|
9
|
+
multiplicity?: MultiplicityDTO;
|
|
10
|
+
}
|
|
3
11
|
/** Entry in the RelationshipRegistry */
|
|
4
12
|
export interface RelationshipRegistryEntry {
|
|
5
13
|
/** Relationship name in PascalCase as defined in SysML (e.g. "Mitigates") */
|
|
@@ -10,11 +18,24 @@ export interface RelationshipRegistryEntry {
|
|
|
10
18
|
label: string;
|
|
11
19
|
/** Architecture layer derived from directory path */
|
|
12
20
|
layer: string;
|
|
21
|
+
/** Doc comment on the connection definition */
|
|
22
|
+
description?: string;
|
|
23
|
+
/** Abstract definitions (e.g. MemoRelationship) are not instantiable */
|
|
24
|
+
isAbstract?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Whether an element may be related to itself by this relation, from the
|
|
27
|
+
* `isReflexive` attribute. Undefined when the ontology does not say.
|
|
28
|
+
*/
|
|
29
|
+
isReflexive?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the same ordered pair may be linked more than once, from the
|
|
32
|
+
* `isUnique` attribute. Undefined when the ontology does not say.
|
|
33
|
+
*/
|
|
34
|
+
isUnique?: boolean;
|
|
35
|
+
/** Supertype connection definition, when the relationship specializes one */
|
|
36
|
+
superType?: string;
|
|
13
37
|
/** End names from the connection definition */
|
|
14
|
-
ends:
|
|
15
|
-
name: string;
|
|
16
|
-
type?: string;
|
|
17
|
-
}>;
|
|
38
|
+
ends: RelationshipEnd[];
|
|
18
39
|
}
|
|
19
40
|
/**
|
|
20
41
|
* Convert PascalCase to camelCase.
|
|
@@ -51,6 +72,19 @@ export declare class RelationshipRegistry {
|
|
|
51
72
|
relTypeNames(): string[];
|
|
52
73
|
/** Get all entries */
|
|
53
74
|
entries(): RelationshipRegistryEntry[];
|
|
75
|
+
/**
|
|
76
|
+
* Project the registry into serializable definitions for the web client.
|
|
77
|
+
* The first declared end becomes the source, the second the target; a
|
|
78
|
+
* definition with fewer than two ends still yields a definition with the
|
|
79
|
+
* missing end untyped, so it accepts any kind rather than disappearing.
|
|
80
|
+
*/
|
|
81
|
+
toDefinitionDTOs(): RelationshipDefinitionDTO[];
|
|
82
|
+
/**
|
|
83
|
+
* Resolve a structural property up the specialization chain: a connection
|
|
84
|
+
* def that says nothing inherits whatever its supertype declared, so a
|
|
85
|
+
* value set once on MemoRelationship reaches every relation.
|
|
86
|
+
*/
|
|
87
|
+
private inherited;
|
|
54
88
|
/** Register a relationship type manually (for testing or config fallback) */
|
|
55
89
|
register(entry: RelationshipRegistryEntry): void;
|
|
56
90
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-registry.d.ts","sourceRoot":"","sources":["../../src/model/relationship-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relationship-registry.d.ts","sourceRoot":"","sources":["../../src/model/relationship-registry.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,KAAK,EACR,eAAe,EACf,yBAAyB,EAE5B,MAAM,4BAA4B,CAAC;AAEpC,uDAAuD;AACvD,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,YAAY,CAAC,EAAE,eAAe,CAAC;CAClC;AAED,wCAAwC;AACxC,MAAM,WAAW,yBAAyB;IACtC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,IAAI,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGtD;AAyDD;;;GAGG;AACH,qBAAa,oBAAoB;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgD;IAEzE,8CAA8C;IAC9C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,yBAAyB,GAAG,SAAS;IAI/D;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAW9D;;;OAGG;IACH,wBAAwB,IAAI,gBAAgB,EAAE;IAS9C,iDAAiD;IACjD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,kDAAkD;IAClD,YAAY,IAAI,MAAM,EAAE;IAIxB,sBAAsB;IACtB,OAAO,IAAI,yBAAyB,EAAE;IAItC;;;;;OAKG;IACH,gBAAgB,IAAI,yBAAyB,EAAE;IAe/C;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAkBjB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI;IAIhD;;;OAGG;IACH,qBAAqB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,IAAI;IAaxD,6EAA6E;IAC7E,OAAO,CAAC,WAAW;CAsDtB"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// registry.populateFromDocuments(parsedDocs);
|
|
11
11
|
// const rel = registry.getRelType("mitigates");
|
|
12
12
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
13
|
-
import { isConnectionDefinition, isEndDeclaration, isPackageDeclaration, } from '../language/generated/ast.js';
|
|
13
|
+
import { isAttributeMember, isConnectionDefinition, isDocComment, isEndDeclaration, isPackageDeclaration, } from '../language/generated/ast.js';
|
|
14
14
|
import { resolveLayerFromPath } from './layer-resolver.js';
|
|
15
15
|
/**
|
|
16
16
|
* Convert PascalCase to camelCase.
|
|
@@ -28,6 +28,52 @@ export function pascalToCamelCase(name) {
|
|
|
28
28
|
function pascalToLabel(name) {
|
|
29
29
|
return name.replace(/([a-z])([A-Z])/g, '$1 $2');
|
|
30
30
|
}
|
|
31
|
+
/** Strip the `doc /* … */` wrapper and per-line asterisks from a doc comment. */
|
|
32
|
+
function cleanDocComment(content) {
|
|
33
|
+
const text = content
|
|
34
|
+
.replace(/^doc\s+\/\*\s*/, '')
|
|
35
|
+
.replace(/\s*\*\/$/, '')
|
|
36
|
+
.replace(/\n\s*\*\s?/g, ' ')
|
|
37
|
+
.trim();
|
|
38
|
+
return text || undefined;
|
|
39
|
+
}
|
|
40
|
+
/** Convert a parsed Multiplicity node into its serializable bounds. */
|
|
41
|
+
function toMultiplicityDTO(multiplicity) {
|
|
42
|
+
if (!multiplicity)
|
|
43
|
+
return undefined;
|
|
44
|
+
// `[3]` — an exact bound pins both ends.
|
|
45
|
+
if (multiplicity.exact !== undefined) {
|
|
46
|
+
const exact = Number(multiplicity.exact);
|
|
47
|
+
return { lower: exact, upper: exact };
|
|
48
|
+
}
|
|
49
|
+
// `[*]` — no lower bound was written, so it stays 0.
|
|
50
|
+
if (multiplicity.lower === undefined) {
|
|
51
|
+
return { lower: 0, upper: multiplicity.unbounded ? null : null };
|
|
52
|
+
}
|
|
53
|
+
// `[0..1]` / `[1..*]`
|
|
54
|
+
return {
|
|
55
|
+
lower: Number(multiplicity.lower),
|
|
56
|
+
upper: multiplicity.unbounded || multiplicity.upper === undefined
|
|
57
|
+
? null
|
|
58
|
+
: Number(multiplicity.upper),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Read a Boolean attribute value, or undefined when the attribute declares a
|
|
63
|
+
* type rather than stating a value. Undefined is meaningful: it means the
|
|
64
|
+
* ontology is silent, and the caller applies the documented default.
|
|
65
|
+
*/
|
|
66
|
+
function booleanAttributeValue(value) {
|
|
67
|
+
if (!value || value.$type !== 'BooleanValue')
|
|
68
|
+
return undefined;
|
|
69
|
+
return value.value === 'true';
|
|
70
|
+
}
|
|
71
|
+
/** Project one registry end (possibly absent) into its DTO. */
|
|
72
|
+
function toEndDTO(end, fallbackName) {
|
|
73
|
+
if (!end)
|
|
74
|
+
return { name: fallbackName };
|
|
75
|
+
return { name: end.name || fallbackName, type: end.type, multiplicity: end.multiplicity };
|
|
76
|
+
}
|
|
31
77
|
/**
|
|
32
78
|
* Registry that discovers relationship types from SysML AST ConnectionDefinition nodes.
|
|
33
79
|
* Replaces config.relationshipTypes lookups in the builder.
|
|
@@ -85,6 +131,46 @@ export class RelationshipRegistry {
|
|
|
85
131
|
entries() {
|
|
86
132
|
return Array.from(this.relTypes.values());
|
|
87
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Project the registry into serializable definitions for the web client.
|
|
136
|
+
* The first declared end becomes the source, the second the target; a
|
|
137
|
+
* definition with fewer than two ends still yields a definition with the
|
|
138
|
+
* missing end untyped, so it accepts any kind rather than disappearing.
|
|
139
|
+
*/
|
|
140
|
+
toDefinitionDTOs() {
|
|
141
|
+
return Array.from(this.relTypes.values()).map(entry => ({
|
|
142
|
+
name: entry.name,
|
|
143
|
+
sysmlName: entry.sysmlName,
|
|
144
|
+
label: entry.label,
|
|
145
|
+
description: entry.description,
|
|
146
|
+
layer: entry.layer,
|
|
147
|
+
isAbstract: entry.isAbstract,
|
|
148
|
+
isReflexive: this.inherited(entry, 'isReflexive'),
|
|
149
|
+
isUnique: this.inherited(entry, 'isUnique'),
|
|
150
|
+
sourceEnd: toEndDTO(entry.ends[0], 'source'),
|
|
151
|
+
targetEnd: toEndDTO(entry.ends[1], 'target'),
|
|
152
|
+
}));
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Resolve a structural property up the specialization chain: a connection
|
|
156
|
+
* def that says nothing inherits whatever its supertype declared, so a
|
|
157
|
+
* value set once on MemoRelationship reaches every relation.
|
|
158
|
+
*/
|
|
159
|
+
inherited(entry, property) {
|
|
160
|
+
let current = entry;
|
|
161
|
+
const seen = new Set();
|
|
162
|
+
while (current && !seen.has(current.sysmlName)) {
|
|
163
|
+
if (current[property] !== undefined)
|
|
164
|
+
return current[property];
|
|
165
|
+
seen.add(current.sysmlName);
|
|
166
|
+
const superName = current.superType;
|
|
167
|
+
// Supertypes are keyed by camelCase name like every other entry.
|
|
168
|
+
current = superName
|
|
169
|
+
? this.relTypes.get(pascalToCamelCase(superName))
|
|
170
|
+
: undefined;
|
|
171
|
+
}
|
|
172
|
+
return undefined;
|
|
173
|
+
}
|
|
88
174
|
/** Register a relationship type manually (for testing or config fallback) */
|
|
89
175
|
register(entry) {
|
|
90
176
|
this.relTypes.set(entry.name, entry);
|
|
@@ -119,19 +205,41 @@ export class RelationshipRegistry {
|
|
|
119
205
|
const label = pascalToLabel(sysmlName);
|
|
120
206
|
// Extract end declarations
|
|
121
207
|
const ends = [];
|
|
208
|
+
let description;
|
|
209
|
+
let isReflexive;
|
|
210
|
+
let isUnique;
|
|
122
211
|
for (const bodyMember of member.body) {
|
|
123
212
|
if (isEndDeclaration(bodyMember)) {
|
|
124
213
|
ends.push({
|
|
125
214
|
name: bodyMember.name || '',
|
|
126
215
|
type: bodyMember.type || undefined,
|
|
216
|
+
multiplicity: toMultiplicityDTO(bodyMember.multiplicity),
|
|
127
217
|
});
|
|
128
218
|
}
|
|
219
|
+
else if (isDocComment(bodyMember) && description === undefined) {
|
|
220
|
+
description = cleanDocComment(bodyMember.content);
|
|
221
|
+
}
|
|
222
|
+
else if (isAttributeMember(bodyMember)) {
|
|
223
|
+
// Only a valued attribute states anything — a bare
|
|
224
|
+
// `attribute isUnique : Boolean;` declares the slot.
|
|
225
|
+
if (bodyMember.name === 'isReflexive') {
|
|
226
|
+
isReflexive = booleanAttributeValue(bodyMember.value) ?? isReflexive;
|
|
227
|
+
}
|
|
228
|
+
else if (bodyMember.name === 'isUnique') {
|
|
229
|
+
isUnique = booleanAttributeValue(bodyMember.value) ?? isUnique;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
129
232
|
}
|
|
130
233
|
this.relTypes.set(name, {
|
|
131
234
|
sysmlName,
|
|
132
235
|
name,
|
|
133
236
|
label,
|
|
134
237
|
layer,
|
|
238
|
+
description,
|
|
239
|
+
isAbstract: member.isAbstract || undefined,
|
|
240
|
+
superType: member.specialization?.superType || undefined,
|
|
241
|
+
isReflexive,
|
|
242
|
+
isUnique,
|
|
135
243
|
ends,
|
|
136
244
|
});
|
|
137
245
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-registry.js","sourceRoot":"","sources":["../../src/model/relationship-registry.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,uEAAuE;AACvE,+DAA+D;AAC/D,EAAE;AACF,SAAS;AACT,iDAAiD;AACjD,gDAAgD;AAChD,kDAAkD;AAClD,gFAAgF;
|
|
1
|
+
{"version":3,"file":"relationship-registry.js","sourceRoot":"","sources":["../../src/model/relationship-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { OntologyRegistriesDTO } from './relationship-legality.js';
|
|
1
2
|
/** Direction of a port or action parameter */
|
|
2
3
|
export type ParameterDirection = 'in' | 'out' | 'inout';
|
|
3
4
|
/** Port specification on a port usage element */
|
|
@@ -69,6 +70,12 @@ export interface MemoRelationship {
|
|
|
69
70
|
targetEnd: string;
|
|
70
71
|
/** Source file path (relative) */
|
|
71
72
|
file: string;
|
|
73
|
+
/**
|
|
74
|
+
* True when `id` is the connection usage's declared name in SysML, so it
|
|
75
|
+
* addresses exactly one declaration and survives a rebuild. Anonymous
|
|
76
|
+
* connections get a positional id instead and cannot be edited by id.
|
|
77
|
+
*/
|
|
78
|
+
named?: boolean;
|
|
72
79
|
/** Item type being transported (for flow relationships) */
|
|
73
80
|
flowItem?: string;
|
|
74
81
|
/** Source port element ID (when connection endpoint is a port) */
|
|
@@ -130,6 +137,21 @@ export interface DiagramDTO {
|
|
|
130
137
|
relationshipTypes?: string[];
|
|
131
138
|
/** SysML source containing the view definition (project-relative). */
|
|
132
139
|
sourceFile?: string;
|
|
140
|
+
/**
|
|
141
|
+
* Every project-relative file whose change can alter what this view
|
|
142
|
+
* renders: its own source, the files owning its elements, and the
|
|
143
|
+
* transitive import closure of both. See model/source-graph.ts.
|
|
144
|
+
*/
|
|
145
|
+
sourceFiles?: string[];
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* File-level dependency graph of the model's SysML sources.
|
|
149
|
+
*
|
|
150
|
+
* `dependsOn[file]` lists the files `file` can draw names from, transitively
|
|
151
|
+
* through package imports. Files with no dependencies are omitted.
|
|
152
|
+
*/
|
|
153
|
+
export interface SourceGraphDTO {
|
|
154
|
+
dependsOn: Record<string, string[]>;
|
|
133
155
|
}
|
|
134
156
|
/** Architecture layer info (serializable subset of config) */
|
|
135
157
|
export interface ArchLayerDTO {
|
|
@@ -163,12 +185,32 @@ export interface MemoModelDTO {
|
|
|
163
185
|
diagrams?: DiagramDTO[];
|
|
164
186
|
/** Model metadata for versioning and attribution */
|
|
165
187
|
metadata?: ModelMetadata;
|
|
188
|
+
/**
|
|
189
|
+
* Ontology relationship and kind definitions. The client needs these to
|
|
190
|
+
* decide relationship legality from the ontology rather than a hardcoded
|
|
191
|
+
* table — see model/relationship-legality.ts.
|
|
192
|
+
*/
|
|
193
|
+
registries?: OntologyRegistriesDTO;
|
|
194
|
+
/**
|
|
195
|
+
* Build counter for this model. Increments on every rebuild, so a client
|
|
196
|
+
* can tell a fresh model from a re-delivered one and order source-change
|
|
197
|
+
* notifications against it.
|
|
198
|
+
*/
|
|
199
|
+
revision?: number;
|
|
200
|
+
/**
|
|
201
|
+
* Import dependencies between source files, so any surface can decide
|
|
202
|
+
* whether a changed file affects what it is showing.
|
|
203
|
+
*/
|
|
204
|
+
sourceGraph?: SourceGraphDTO;
|
|
166
205
|
}
|
|
167
206
|
/** Convert MemoModel to a plain JSON-serializable object */
|
|
168
207
|
export declare function modelToDTO(model: MemoModel, options?: {
|
|
169
208
|
viewpoints?: ViewpointDTO[];
|
|
170
209
|
architectureLayers?: ArchLayerDTO[];
|
|
171
210
|
diagrams?: DiagramDTO[];
|
|
211
|
+
registries?: OntologyRegistriesDTO;
|
|
212
|
+
revision?: number;
|
|
213
|
+
sourceGraph?: SourceGraphDTO;
|
|
172
214
|
}): MemoModelDTO;
|
|
173
215
|
/** Reconstruct a MemoModel from a DTO (e.g. received over WebSocket) */
|
|
174
216
|
export declare function dtoToModel(dto: MemoModelDTO): MemoModel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/model/semantic.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/model/semantic.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,9 @@ export function modelToDTO(model, options) {
|
|
|
17
17
|
viewpoints: options?.viewpoints,
|
|
18
18
|
architectureLayers: options?.architectureLayers,
|
|
19
19
|
diagrams: options?.diagrams,
|
|
20
|
+
registries: options?.registries,
|
|
21
|
+
revision: options?.revision,
|
|
22
|
+
sourceGraph: options?.sourceGraph,
|
|
20
23
|
};
|
|
21
24
|
}
|
|
22
25
|
/** Reconstruct a MemoModel from a DTO (e.g. received over WebSocket) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/model/semantic.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,oEAAoE;AACpE,gEAAgE;AAChE,yEAAyE;AACzE,gFAAgF;
|
|
1
|
+
{"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/model/semantic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"short-id.js","sourceRoot":"","sources":["../../src/model/short-id.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,mDAAmD;AACnD,EAAE;AACF,gFAAgF;AAChF,0EAA0E;AAC1E,0EAA0E;AAC1E,EAAE;AACF,qEAAqE;AACrE,4DAA4D;AAC5D,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,qBAAqB,GAA2B;IAClD,OAAO;IACP,MAAM,EAAE,KAAK;IACb,cAAc,EAAE,SAAS;IACzB,kBAAkB,EAAE,SAAS;IAC7B,IAAI,EAAE,MAAM;IACZ,
|
|
1
|
+
{"version":3,"file":"short-id.js","sourceRoot":"","sources":["../../src/model/short-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SourceGraphDTO } from './semantic.js';
|
|
2
|
+
/**
|
|
3
|
+
* Every file whose change can alter what `file` means: the file itself plus
|
|
4
|
+
* everything it imports, transitively.
|
|
5
|
+
*/
|
|
6
|
+
export declare function affectingFiles(file: string, graph?: SourceGraphDTO): Set<string>;
|
|
7
|
+
/**
|
|
8
|
+
* Whether any changed file is one the given files depend on.
|
|
9
|
+
*
|
|
10
|
+
* `dependencies` is the already-expanded closure — a view's `sourceFiles`, or
|
|
11
|
+
* the result of `affectingFiles` for a single file. An empty closure never
|
|
12
|
+
* matches: a surface that cannot state what it depends on should not claim
|
|
13
|
+
* every change as its own.
|
|
14
|
+
*/
|
|
15
|
+
export declare function changeAffects(changedFiles: readonly string[], dependencies: Iterable<string>): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The subset of `changedFiles` the dependency closure actually covers, for
|
|
18
|
+
* telling the user which file moved rather than only that something did.
|
|
19
|
+
*/
|
|
20
|
+
export declare function affectedBy(changedFiles: readonly string[], dependencies: Iterable<string>): string[];
|
|
21
|
+
//# sourceMappingURL=source-affinity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-affinity.d.ts","sourceRoot":"","sources":["../../src/model/source-affinity.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAKpD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,CAEhF;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CACzB,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC/B,OAAO,CAIT;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACtB,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC/B,MAAM,EAAE,CAGV"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// ─── Source Affinity ──────────────────────────────────────────────────────────
|
|
2
|
+
//
|
|
3
|
+
// "Does this file change affect what I am showing?"
|
|
4
|
+
//
|
|
5
|
+
// Pure DTO reasoning over the source graph shipped with the model, so the same
|
|
6
|
+
// answer is available in the browser (an open editor, a rendered view, an
|
|
7
|
+
// element inspector) as on the server. Building the graph needs the parser;
|
|
8
|
+
// consuming it does not — that split is what lets these live in the browser
|
|
9
|
+
// entrypoint.
|
|
10
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
11
|
+
/** Empty graph, so callers can ask before the model has arrived. */
|
|
12
|
+
const EMPTY_GRAPH = { dependsOn: {} };
|
|
13
|
+
/**
|
|
14
|
+
* Every file whose change can alter what `file` means: the file itself plus
|
|
15
|
+
* everything it imports, transitively.
|
|
16
|
+
*/
|
|
17
|
+
export function affectingFiles(file, graph) {
|
|
18
|
+
return new Set([file, ...((graph ?? EMPTY_GRAPH).dependsOn[file] ?? [])]);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Whether any changed file is one the given files depend on.
|
|
22
|
+
*
|
|
23
|
+
* `dependencies` is the already-expanded closure — a view's `sourceFiles`, or
|
|
24
|
+
* the result of `affectingFiles` for a single file. An empty closure never
|
|
25
|
+
* matches: a surface that cannot state what it depends on should not claim
|
|
26
|
+
* every change as its own.
|
|
27
|
+
*/
|
|
28
|
+
export function changeAffects(changedFiles, dependencies) {
|
|
29
|
+
const watched = dependencies instanceof Set ? dependencies : new Set(dependencies);
|
|
30
|
+
if (watched.size === 0)
|
|
31
|
+
return false;
|
|
32
|
+
return changedFiles.some(file => watched.has(file));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The subset of `changedFiles` the dependency closure actually covers, for
|
|
36
|
+
* telling the user which file moved rather than only that something did.
|
|
37
|
+
*/
|
|
38
|
+
export function affectedBy(changedFiles, dependencies) {
|
|
39
|
+
const watched = dependencies instanceof Set ? dependencies : new Set(dependencies);
|
|
40
|
+
return changedFiles.filter(file => watched.has(file));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=source-affinity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-affinity.js","sourceRoot":"","sources":["../../src/model/source-affinity.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,oDAAoD;AACpD,EAAE;AACF,+EAA+E;AAC/E,0EAA0E;AAC1E,4EAA4E;AAC5E,4EAA4E;AAC5E,cAAc;AACd,gFAAgF;AAIhF,oEAAoE;AACpE,MAAM,WAAW,GAAmB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAEtD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,KAAsB;IAC/D,OAAO,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CACzB,YAA+B,EAC/B,YAA8B;IAE9B,MAAM,OAAO,GAAG,YAAY,YAAY,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACnF,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACtB,YAA+B,EAC/B,YAA8B;IAE9B,MAAM,OAAO,GAAG,YAAY,YAAY,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IACnF,OAAO,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ParsedDocument } from './parser-utils.js';
|
|
2
|
+
import type { DiagramDTO, MemoElement, SourceGraphDTO } from './semantic.js';
|
|
3
|
+
/** A file and the files it can draw names from. */
|
|
4
|
+
export interface SourceGraph {
|
|
5
|
+
/** file → files it depends on, transitively (never includes itself). */
|
|
6
|
+
dependsOn: Map<string, Set<string>>;
|
|
7
|
+
/** file → files that depend on it, transitively. */
|
|
8
|
+
dependents: Map<string, Set<string>>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Build the file-level dependency graph from parsed documents.
|
|
12
|
+
*
|
|
13
|
+
* Import paths name packages, not files, so resolution goes
|
|
14
|
+
* package → declaring file. A package declared across several files
|
|
15
|
+
* contributes all of them: any one can supply the imported name.
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildSourceGraph(documents: ParsedDocument[]): SourceGraph;
|
|
18
|
+
/**
|
|
19
|
+
* Every file that can change what a view renders.
|
|
20
|
+
*
|
|
21
|
+
* That is the view's own source, the files owning the elements it displays,
|
|
22
|
+
* and the transitive import closure of both. A view with no explicit element
|
|
23
|
+
* selection shows whatever the model gives it, so its own closure is all that
|
|
24
|
+
* can be stated.
|
|
25
|
+
*/
|
|
26
|
+
export declare function viewSourceFiles(diagram: Pick<DiagramDTO, 'sourceFile' | 'elementIds'>, elements: ReadonlyMap<string, MemoElement> | Record<string, MemoElement>, graph: SourceGraph): string[];
|
|
27
|
+
/** Serializable form of the graph, shipped with the model DTO. */
|
|
28
|
+
export declare function sourceGraphToDTO(graph: SourceGraph): SourceGraphDTO;
|
|
29
|
+
export { affectedBy, affectingFiles, changeAffects } from './source-affinity.js';
|
|
30
|
+
//# sourceMappingURL=source-graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-graph.d.ts","sourceRoot":"","sources":["../../src/model/source-graph.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE7E,mDAAmD;AACnD,MAAM,WAAW,WAAW;IACxB,wEAAwE;IACxE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,oDAAoD;IACpD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACxC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,WAAW,CA2CzE;AA0CD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC3B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,GAAG,YAAY,CAAC,EACtD,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACxE,KAAK,EAAE,WAAW,GACnB,MAAM,EAAE,CAiBV;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,CAMnE;AAaD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
|