@memoarchitect/tools 0.8.8 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +3 -3
- package/packages/tools/lib/analysis/dsm.d.ts.map +1 -1
- package/packages/tools/lib/analysis/dsm.js +9 -4
- package/packages/tools/lib/analysis/dsm.js.map +1 -1
- package/packages/tools/lib/commands/export.js +1 -1
- package/packages/tools/lib/commands/export.js.map +1 -1
- package/packages/tools/lib/commands/init.d.ts.map +1 -1
- package/packages/tools/lib/commands/init.js +16 -5
- package/packages/tools/lib/commands/init.js.map +1 -1
- package/packages/tools/lib/commands/rules.d.ts.map +1 -1
- package/packages/tools/lib/commands/rules.js +3 -2
- package/packages/tools/lib/commands/rules.js.map +1 -1
- package/packages/tools/lib/commands/validate.d.ts.map +1 -1
- package/packages/tools/lib/commands/validate.js +71 -4
- package/packages/tools/lib/commands/validate.js.map +1 -1
- package/packages/tools/lib/completeness/tracker.d.ts.map +1 -1
- package/packages/tools/lib/completeness/tracker.js +11 -4
- package/packages/tools/lib/completeness/tracker.js.map +1 -1
- package/packages/tools/lib/dhf/document-registry.js +1 -1
- package/packages/tools/lib/dhf/document-registry.js.map +1 -1
- package/packages/tools/lib/dhf/query-executor.d.ts +1 -1
- package/packages/tools/lib/dhf/query-executor.d.ts.map +1 -1
- package/packages/tools/lib/dhf/query-executor.js +4 -4
- package/packages/tools/lib/dhf/query-executor.js.map +1 -1
- package/packages/tools/lib/dhf/standards-library.d.ts.map +1 -1
- package/packages/tools/lib/dhf/standards-library.js +53 -10
- package/packages/tools/lib/dhf/standards-library.js.map +1 -1
- package/packages/tools/lib/dhf/template-lint.js +1 -1
- package/packages/tools/lib/dhf/template-lint.js.map +1 -1
- package/packages/tools/lib/language/generated/ast.d.ts +75 -34
- package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
- package/packages/tools/lib/language/generated/ast.js +36 -2
- package/packages/tools/lib/language/generated/ast.js.map +1 -1
- package/packages/tools/lib/language/generated/grammar.d.ts.map +1 -1
- package/packages/tools/lib/language/generated/grammar.js +516 -384
- package/packages/tools/lib/language/generated/grammar.js.map +1 -1
- package/packages/tools/lib/mcp/tools.d.ts.map +1 -1
- package/packages/tools/lib/mcp/tools.js +2 -1
- package/packages/tools/lib/mcp/tools.js.map +1 -1
- package/packages/tools/lib/model/builder.d.ts +2 -0
- package/packages/tools/lib/model/builder.d.ts.map +1 -1
- package/packages/tools/lib/model/builder.js +303 -42
- package/packages/tools/lib/model/builder.js.map +1 -1
- package/packages/tools/lib/model/config-loader.d.ts.map +1 -1
- package/packages/tools/lib/model/config-loader.js +7 -1
- package/packages/tools/lib/model/config-loader.js.map +1 -1
- package/packages/tools/lib/model/config.d.ts +9 -0
- package/packages/tools/lib/model/config.d.ts.map +1 -1
- package/packages/tools/lib/model/identity-registry.d.ts +39 -0
- package/packages/tools/lib/model/identity-registry.d.ts.map +1 -0
- package/packages/tools/lib/model/identity-registry.js +118 -0
- package/packages/tools/lib/model/identity-registry.js.map +1 -0
- package/packages/tools/lib/model/native-project.d.ts +6 -0
- package/packages/tools/lib/model/native-project.d.ts.map +1 -1
- package/packages/tools/lib/model/native-project.js +6 -0
- package/packages/tools/lib/model/native-project.js.map +1 -1
- package/packages/tools/lib/model/relationship-registry.d.ts.map +1 -1
- package/packages/tools/lib/model/relationship-registry.js +22 -0
- package/packages/tools/lib/model/relationship-registry.js.map +1 -1
- package/packages/tools/lib/model/semantic.d.ts +57 -2
- package/packages/tools/lib/model/semantic.d.ts.map +1 -1
- package/packages/tools/lib/model/semantic.js +38 -0
- package/packages/tools/lib/model/semantic.js.map +1 -1
- package/packages/tools/lib/model/short-id.d.ts +22 -4
- package/packages/tools/lib/model/short-id.d.ts.map +1 -1
- package/packages/tools/lib/model/short-id.js +46 -7
- package/packages/tools/lib/model/short-id.js.map +1 -1
- package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
- package/packages/tools/lib/model/view-deriver.js +71 -22
- package/packages/tools/lib/model/view-deriver.js.map +1 -1
- package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
- package/packages/tools/lib/operations/project-snapshot.js +24 -2
- package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
- package/packages/tools/lib/protocol/messages.d.ts +29 -0
- package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
- package/packages/tools/lib/server/config-resolver.d.ts.map +1 -1
- package/packages/tools/lib/server/config-resolver.js +6 -1
- package/packages/tools/lib/server/config-resolver.js.map +1 -1
- package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
- package/packages/tools/lib/server/dev-server.js +40 -4
- package/packages/tools/lib/server/dev-server.js.map +1 -1
- package/packages/tools/lib/server/dhf-doc-store.d.ts.map +1 -1
- package/packages/tools/lib/server/dhf-doc-store.js +10 -2
- package/packages/tools/lib/server/dhf-doc-store.js.map +1 -1
- package/packages/tools/lib/server/package-source.d.ts +20 -1
- package/packages/tools/lib/server/package-source.d.ts.map +1 -1
- package/packages/tools/lib/server/package-source.js +23 -4
- package/packages/tools/lib/server/package-source.js.map +1 -1
- package/packages/tools/lib/server/package-writer.d.ts +18 -0
- package/packages/tools/lib/server/package-writer.d.ts.map +1 -1
- package/packages/tools/lib/server/package-writer.js +58 -5
- package/packages/tools/lib/server/package-writer.js.map +1 -1
- package/packages/tools/lib/server/persistor.d.ts.map +1 -1
- package/packages/tools/lib/server/persistor.js +4 -1
- package/packages/tools/lib/server/persistor.js.map +1 -1
- package/packages/tools/lib/server/view-layout-store.d.ts.map +1 -1
- package/packages/tools/lib/server/view-layout-store.js +6 -3
- package/packages/tools/lib/server/view-layout-store.js.map +1 -1
- package/packages/tools/lib/validator/behavior-validator.d.ts +3 -5
- package/packages/tools/lib/validator/behavior-validator.d.ts.map +1 -1
- package/packages/tools/lib/validator/behavior-validator.js +28 -54
- package/packages/tools/lib/validator/behavior-validator.js.map +1 -1
- package/packages/tools/lib/validator/builtin-rules.js +12 -12
- package/packages/tools/lib/validator/builtin-rules.js.map +1 -1
- package/packages/tools/lib/validator/constraint-eval.d.ts +39 -2
- package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
- package/packages/tools/lib/validator/constraint-eval.js +104 -4
- package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
- package/packages/tools/lib/validator/constraint-loader.js +37 -2
- package/packages/tools/lib/validator/constraint-loader.js.map +1 -1
- package/packages/tools/lib/validator/rule-engine.d.ts +3 -1
- package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
- package/packages/tools/lib/validator/rule-engine.js +4 -2
- package/packages/tools/lib/validator/rule-engine.js.map +1 -1
- package/packages/tools/src/grammar/memo-sysml.langium +41 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-source.js","sourceRoot":"","sources":["../../src/server/package-source.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,4EAA4E;AAC5E,4EAA4E;AAC5E,+EAA+E;AAC/E,6EAA6E;AAC7E,6CAA6C;AAC7C,gFAAgF;AAEhF,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"package-source.js","sourceRoot":"","sources":["../../src/server/package-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,24 @@ export declare function deletePackage(cwd: string, request: {
|
|
|
74
74
|
file: string;
|
|
75
75
|
qualifiedName: string;
|
|
76
76
|
}): Promise<PackageWriteResult>;
|
|
77
|
+
/**
|
|
78
|
+
* Move a nested declaration into a grouping package beside it.
|
|
79
|
+
*
|
|
80
|
+
* Addressed by qualified name rather than by IR identity, for the same reason
|
|
81
|
+
* the package operations are: the IR does not ingest a declaration nested in a
|
|
82
|
+
* usage body, so it has no identity to quote — and a name path IS an address,
|
|
83
|
+
* because two members of one namespace cannot share a name.
|
|
84
|
+
*
|
|
85
|
+
* The move stays inside one file. A grouping package groups what its OWNER
|
|
86
|
+
* declares, so a member arriving from another file would be a containment
|
|
87
|
+
* change wearing a grouping change's clothes; `moveElementToPackage` is the
|
|
88
|
+
* operation for that.
|
|
89
|
+
*/
|
|
90
|
+
export declare function moveIntoGroupingPackage(cwd: string, request: {
|
|
91
|
+
file: string;
|
|
92
|
+
qualifiedName: string;
|
|
93
|
+
targetPackage: string;
|
|
94
|
+
}): Promise<PackageWriteResult>;
|
|
77
95
|
/**
|
|
78
96
|
* Move one element's declaration into another package.
|
|
79
97
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-writer.d.ts","sourceRoot":"","sources":["../../src/server/package-writer.ts"],"names":[],"mappings":"AA0BA,OAAO,EAIH,KAAK,eAAe,EACvB,MAAM,yBAAyB,CAAC;AAMjC;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,QAGA,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,2BAA2B,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC,kBAAkB,CAAC,
|
|
1
|
+
{"version":3,"file":"package-writer.d.ts","sourceRoot":"","sources":["../../src/server/package-writer.ts"],"names":[],"mappings":"AA0BA,OAAO,EAIH,KAAK,eAAe,EACvB,MAAM,yBAAyB,CAAC;AAMjC;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,QAGA,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,QAAQ,CAAC,EAAE;QAAE,IAAI,EAAE,2BAA2B,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzD,OAAO,CAAC,kBAAkB,CAAC,CAgC7B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/D,OAAO,CAAC,kBAAkB,CAAC,CAqC7B;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACL,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACtB,GACF,OAAO,CAAC,kBAAkB,CAAC,CA2D7B;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACjD,OAAO,CAAC,kBAAkB,CAAC,CA8B7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,uBAAuB,CACzC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACxE,OAAO,CAAC,kBAAkB,CAAC,CAsC7B;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,EACD,KAAK,EAAE,eAAe,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAyD7B"}
|
|
@@ -25,7 +25,7 @@ import { resolve } from 'node:path';
|
|
|
25
25
|
import { parseText } from '../model/parser-utils.js';
|
|
26
26
|
import { requireIrIdentity, resolveDeclarationByIdentity, StaleIrIdentityError, } from '../model/ir-identity.js';
|
|
27
27
|
import { commitSource } from './persistor.js';
|
|
28
|
-
import { dedent, insertIntoBody, locatePackages, removeLine, spliceIndented, } from './package-source.js';
|
|
28
|
+
import { dedent, insertIntoBody, locateContainers, locatePackages, removeLine, spliceIndented, } from './package-source.js';
|
|
29
29
|
/**
|
|
30
30
|
* Why a package rename or delete is only a text edit.
|
|
31
31
|
*
|
|
@@ -55,15 +55,17 @@ export async function createPackage(cwd, request) {
|
|
|
55
55
|
const qualifiedName = parent ? `${parent}::${name}` : name;
|
|
56
56
|
const absolute = resolve(cwd, file);
|
|
57
57
|
const source = existsSync(absolute) ? readFileSync(absolute, 'utf8') : '';
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
// Containers, not only packages: a grouping package is declared inside a
|
|
59
|
+
// usage body, so the parent named here may be the part being grouped.
|
|
60
|
+
const existing = await locateContainers(source);
|
|
61
|
+
if (existing.some(pkg => pkg.isPackage && pkg.qualifiedName === qualifiedName)) {
|
|
60
62
|
return { success: false, filePaths: [], error: `Package "${qualifiedName}" already exists in ${file}.` };
|
|
61
63
|
}
|
|
62
64
|
let updated;
|
|
63
65
|
if (parent) {
|
|
64
|
-
const target = existing.find(
|
|
66
|
+
const target = existing.find(container => container.qualifiedName === parent);
|
|
65
67
|
if (!target) {
|
|
66
|
-
return { success: false, filePaths: [], error: `${file} does not declare
|
|
68
|
+
return { success: false, filePaths: [], error: `${file} does not declare "${parent}".` };
|
|
67
69
|
}
|
|
68
70
|
updated = insertIntoBody(source, target, `package ${name} {\n}\n`);
|
|
69
71
|
}
|
|
@@ -223,6 +225,57 @@ export async function deletePackage(cwd, request) {
|
|
|
223
225
|
...(lifted ? { warnings: [{ code: 'package-edit-is-text-only', message: PACKAGE_EDIT_IS_TEXT_ONLY }] } : {}),
|
|
224
226
|
};
|
|
225
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* Move a nested declaration into a grouping package beside it.
|
|
230
|
+
*
|
|
231
|
+
* Addressed by qualified name rather than by IR identity, for the same reason
|
|
232
|
+
* the package operations are: the IR does not ingest a declaration nested in a
|
|
233
|
+
* usage body, so it has no identity to quote — and a name path IS an address,
|
|
234
|
+
* because two members of one namespace cannot share a name.
|
|
235
|
+
*
|
|
236
|
+
* The move stays inside one file. A grouping package groups what its OWNER
|
|
237
|
+
* declares, so a member arriving from another file would be a containment
|
|
238
|
+
* change wearing a grouping change's clothes; `moveElementToPackage` is the
|
|
239
|
+
* operation for that.
|
|
240
|
+
*/
|
|
241
|
+
export async function moveIntoGroupingPackage(cwd, request) {
|
|
242
|
+
const { file, qualifiedName, targetPackage } = request;
|
|
243
|
+
const absolute = resolve(cwd, file);
|
|
244
|
+
if (!existsSync(absolute))
|
|
245
|
+
return { success: false, filePaths: [], error: `${file} does not exist.` };
|
|
246
|
+
const source = readFileSync(absolute, 'utf8');
|
|
247
|
+
const containers = await locateContainers(source);
|
|
248
|
+
const moved = containers.find(container => container.qualifiedName === qualifiedName);
|
|
249
|
+
if (!moved) {
|
|
250
|
+
return { success: false, filePaths: [], error: `${file} does not declare "${qualifiedName}".` };
|
|
251
|
+
}
|
|
252
|
+
const target = containers.find(container => container.qualifiedName === targetPackage);
|
|
253
|
+
if (!target || !target.isPackage) {
|
|
254
|
+
return { success: false, filePaths: [], error: `${file} does not declare package "${targetPackage}".` };
|
|
255
|
+
}
|
|
256
|
+
// A declaration cannot be filed inside itself, and a package inside the
|
|
257
|
+
// declaration being moved would be spliced away with it.
|
|
258
|
+
if (target.start >= moved.start && target.end <= moved.end) {
|
|
259
|
+
return {
|
|
260
|
+
success: false, filePaths: [],
|
|
261
|
+
error: `"${targetPackage}" is declared inside "${qualifiedName}"; a declaration cannot group itself.`,
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
const declaration = dedent(source.slice(moved.start, moved.end).replace(/\s+$/, ''));
|
|
265
|
+
const withoutElement = removeLine(source, moved.start, moved.end);
|
|
266
|
+
// The removal shifted every offset after it, so the target is located
|
|
267
|
+
// again in the text the insertion will actually be applied to.
|
|
268
|
+
const relocated = (await locateContainers(withoutElement))
|
|
269
|
+
.find(container => container.qualifiedName === targetPackage);
|
|
270
|
+
if (!relocated) {
|
|
271
|
+
return { success: false, filePaths: [], error: `Removing "${qualifiedName}" would leave "${targetPackage}" unreachable.` };
|
|
272
|
+
}
|
|
273
|
+
const updated = insertIntoBody(withoutElement, relocated, `${declaration}\n`);
|
|
274
|
+
const committed = await commitSource(absolute, file, updated);
|
|
275
|
+
if (!committed.success)
|
|
276
|
+
return { success: false, filePaths: [], error: committed.error };
|
|
277
|
+
return { success: true, filePaths: [file], qualifiedName: targetPackage };
|
|
278
|
+
}
|
|
226
279
|
/**
|
|
227
280
|
* Move one element's declaration into another package.
|
|
228
281
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-writer.js","sourceRoot":"","sources":["../../src/server/package-writer.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,2EAA2E;AAC3E,oEAAoE;AACpE,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,uEAAuE;AACvE,8EAA8E;AAC9E,gFAAgF;AAChF,8EAA8E;AAC9E,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,2EAA2E;AAC3E,6EAA6E;AAC7E,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACH,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,GAEvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACH,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,GACrE,MAAM,qBAAqB,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAClC,yGAAyG;MACvG,sGAAsG;MACtG,gCAAgC,CAAC;AAevC,gFAAgF;AAChF,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,GAAW,EACX,OAAwD;IAExD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACvC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,gCAAgC,EAAE,CAAC;IAC9F,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAE3D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1E,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,aAAa,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,aAAa,uBAAuB,IAAI,GAAG,EAAE,CAAC;IAC7G,CAAC;IAED,IAAI,OAAe,CAAC;IACpB,IAAI,MAAM,EAAE,CAAC;QACT,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,8BAA8B,MAAM,IAAI,EAAE,CAAC;QACrG,CAAC;QACD,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,IAAI,SAAS,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACJ,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpG,OAAO,GAAG,GAAG,MAAM,GAAG,SAAS,WAAW,IAAI,SAAS,CAAC;IAC5D,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,CAAC,SAAS,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;IACzF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,GAAW,EACX,OAA8D;IAE9D,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC9C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,IAAI,gCAAgC,EAAE,CAAC;IAC9F,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACtG,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE9C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,8BAA8B,aAAa,IAAI,EAAE,CAAC;IAC5G,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;IAEjF,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,OAAO,CAAC,EAAE,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,YAAY,OAAO,uBAAuB,IAAI,GAAG,EAAE,CAAC;IACvG,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,oBAAoB,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5F,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,wCAAwC,aAAa,IAAI,EAAE,CAAC;IAC/G,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjG,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,CAAC,SAAS,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;IACzF,OAAO;QACH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,OAAO;QACxD,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC;KACxF,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,GAAW,EACX,OAMC;IAED,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAClE,IAAI,YAAY,KAAK,aAAa,IAAI,YAAY,EAAE,UAAU,CAAC,GAAG,aAAa,IAAI,CAAC,EAAE,CAAC;QACnF,OAAO;YACH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YAC7B,KAAK,EAAE,IAAI,aAAa,8DAA8D;SACzF,CAAC;IACN,CAAC;IACD,IAAI,YAAY,KAAK,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;IAErG,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACtG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,kBAAkB,EAAE,CAAC;IAElH,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC;IAC/F,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,8BAA8B,aAAa,IAAI,EAAE,CAAC;IAC5G,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAEnE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACvF,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAG,QAAQ,KAAK,cAAc,CAAC;IAC7C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAEtF,IAAI,aAAqB,CAAC;IAC1B,IAAI,YAAY,EAAE,CAAC;QACf,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,YAAY,CAAC,CAAC;QACpG,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,8BAA8B,YAAY,IAAI,EAAE,CAAC;QACjH,CAAC;QACD,aAAa,GAAG,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,IAAI,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACJ,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,aAAa,GAAG,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,IAAI,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,2BAAoC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACtG,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QACpE,IAAI,CAAC,SAAS,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;QACzF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAClF,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACtF,IAAI,CAAC,eAAe,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC;IACrG,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC3E,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO;YACH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC;YACvC,KAAK,EAAE,GAAG,eAAe,CAAC,KAAK,KAAK,aAAa,6BAA6B,IAAI,QAAQ,UAAU,IAAI;kBAClG,iCAAiC;SAC1C,CAAC;IACN,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC9F,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAC/B,GAAW,EACX,OAAgD;IAEhD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,kBAAkB,EAAE,CAAC;IACtG,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC;IAC/F,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,8BAA8B,aAAa,IAAI,EAAE,CAAC;IAC5G,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QAC3B,OAAO;YACH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YAC7B,KAAK,EAAE,IAAI,aAAa,wEAAwE;kBAC1F,+CAA+C;SACxD,CAAC;IACN,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACnE,MAAM,OAAO,GAAG,MAAM;QAClB,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC;QAC1D,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,CAAC,SAAS,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;IACzF,OAAO;QACH,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,aAAa;QAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,2BAAoC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxH,CAAC;AACN,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,GAAW,EACX,OAOC,EACD,KAAsB;IAEtB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IACjF,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,kBAAkB,EAAE,CAAC;IAClH,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,kBAAkB,EAAE,CAAC;IAElH,MAAM,MAAM,GAAG,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACpD,IAAI,OAAuC,CAAC;IAC5C,IAAI,CAAC;QACD,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,CAAC,YAAY,oBAAoB;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/G,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;IACzF,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAEtE,wEAAwE;IACxE,2EAA2E;IAC3E,oDAAoD;IACpD,MAAM,QAAQ,GAAG,cAAc,KAAK,cAAc,CAAC;IACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAEtF,IAAI,aAAqB,CAAC;IAC1B,IAAI,aAAa,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,CAAC,MAAM,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,KAAK,aAAa,CAAC,CAAC;QACrG,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,UAAU,8BAA8B,aAAa,IAAI,EAAE,CAAC;QAClH,CAAC;QACD,aAAa,GAAG,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,WAAW,IAAI,CAAC,CAAC;IAC7E,CAAC;SAAM,CAAC;QACJ,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,aAAa,GAAG,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,IAAI,CAAC;IAClE,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS,CAAC,OAAO;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;QACzF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;IACpF,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,oBAAoB;IACpB,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACtF,IAAI,CAAC,eAAe,CAAC,OAAO;QAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC;IACrG,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;IACvF,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO;YACH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC;YACvC,KAAK,EAAE,GAAG,eAAe,CAAC,KAAK,KAAK,SAAS,6BAA6B,UAAU,QAAQ,UAAU,IAAI;kBACpG,iCAAiC;SAC1C,CAAC;IACN,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAChG,CAAC;AAED,gFAAgF;AAEhF,iFAAiF;AACjF,KAAK,UAAU,gBAAgB,CAC3B,MAAc,EAAE,KAAsB,EAAE,UAAkB,EAAE,SAAiB;IAE7E,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,oBAAoB,CAAC,UAAU,EAAE,8BAA8B,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,IAAI,GAAG,4BAA4B,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC1B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,oBAAoB,CAAC,UAAU,EAAE,8CAA8C,CAAC,CAAC;IACrG,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;AAC/D,CAAC;AAED,gFAAgF;AAEhF,8EAA8E;AAC9E,SAAS,QAAQ,CAAC,aAAqB;IACnC,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IAC/B,OAAO,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC"}
|
|
1
|
+
{"version":3,"file":"package-writer.js","sourceRoot":"","sources":["../../src/server/package-writer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistor.d.ts","sourceRoot":"","sources":["../../src/server/persistor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"persistor.d.ts","sourceRoot":"","sources":["../../src/server/persistor.ts"],"names":[],"mappings":"AA6BA,OAAO,EAIH,KAAK,eAAe,EACvB,MAAM,yBAAyB,CAAC;AAGjC,8DAA8D;AAC9D,eAAO,MAAM,oBAAoB,gCAAgC,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,QAGI,CAAC;AAErC;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACnC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,mBAAmB,EAC5B,KAAK,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,kBAAkB,CAAC,CA2E7B;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAC9B,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAC5D,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAc/C"}
|
|
@@ -25,6 +25,7 @@ import { existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileS
|
|
|
25
25
|
import { dirname, resolve } from 'node:path';
|
|
26
26
|
import { generateUsage } from '../serializer/sysml-generator.js';
|
|
27
27
|
import { parseText } from '../model/parser-utils.js';
|
|
28
|
+
import { usageKeyword } from '../model/semantic.js';
|
|
28
29
|
import { requireIrIdentity, resolveDeclarationByIdentity, StaleIrIdentityError, } from '../model/ir-identity.js';
|
|
29
30
|
import { insertIntoBody, locatePackages } from './package-source.js';
|
|
30
31
|
/** Default home for an element the request does not place. */
|
|
@@ -65,7 +66,9 @@ export async function saveElementToFile(cwd, element, index) {
|
|
|
65
66
|
id: element.id,
|
|
66
67
|
name: element.name,
|
|
67
68
|
kind: element.kind,
|
|
68
|
-
|
|
69
|
+
// Normalized at the boundary: a caller holding a kind definition has
|
|
70
|
+
// `part def`, and this text is a USAGE. See `usageKeyword`.
|
|
71
|
+
construct: usageKeyword(element.construct),
|
|
69
72
|
layer: element.layer || '',
|
|
70
73
|
doc: element.doc || '',
|
|
71
74
|
attributes: element.attributes || {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistor.js","sourceRoot":"","sources":["../../src/server/persistor.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,gEAAgE;AAChE,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,uEAAuE;AACvE,gFAAgF;AAChF,8EAA8E;AAC9E,EAAE;AACF,2EAA2E;AAC3E,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,wEAAwE;AACxE,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,6BAA6B;AAC7B,EAAE;AACF,6EAA6E;AAC7E,+DAA+D;AAC/D,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EACH,iBAAiB,EACjB,4BAA4B,EAC5B,oBAAoB,GAEvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErE,8DAA8D;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,6BAA6B,CAAC;AAyDlE;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAC5B,iGAAiG;MAC/F,sGAAsG;MACtG,8BAA8B,CAAC;AAErC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACnC,GAAW,EACX,OAA4B,EAC5B,KAAuB;IAEvB,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,IAAI,oBAAoB,CAAC;IAC1D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAE5C,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACrG,aAAa,CAAC,QAAQ,EAAE,WAAW,OAAO,IAAI,WAAW,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,aAAa,CAAC;QACxB,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"persistor.js","sourceRoot":"","sources":["../../src/server/persistor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-layout-store.d.ts","sourceRoot":"","sources":["../../src/server/view-layout-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAUnD,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CAO/E;AAMD,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI,CAgB7F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAelE;AAeD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"view-layout-store.d.ts","sourceRoot":"","sources":["../../src/server/view-layout-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtE,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAUnD,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CAO/E;AAMD,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,aAAa,GAAG,IAAI,CAgB7F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAelE;AAeD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,IAAI,CAkC7G;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAO1G"}
|
|
@@ -20,7 +20,7 @@ export function loadViewLayout(projectRoot, diagram) {
|
|
|
20
20
|
if (existsSync(companion)) {
|
|
21
21
|
try {
|
|
22
22
|
const artifact = parse(readFileSync(companion, 'utf8'));
|
|
23
|
-
if (artifact.format === 'memo.viewlayout/v1' || artifact.format === 'memo.sysmlview/v2')
|
|
23
|
+
if (artifact.format === 'memo.viewlayout/v2' || artifact.format === 'memo.viewlayout/v1' || artifact.format === 'memo.sysmlview/v2')
|
|
24
24
|
return artifact.layouts?.[diagram.id] ?? null;
|
|
25
25
|
if (artifact.format === 'memo.sysmlview/v1' && artifact.diagramId === diagram.id)
|
|
26
26
|
return artifact.layout ?? null;
|
|
@@ -71,7 +71,7 @@ function readViewLayouts(path) {
|
|
|
71
71
|
return {};
|
|
72
72
|
try {
|
|
73
73
|
const existing = parse(readFileSync(path, 'utf8'));
|
|
74
|
-
if (existing.format === 'memo.viewlayout/v1' || existing.format === 'memo.sysmlview/v2')
|
|
74
|
+
if (existing.format === 'memo.viewlayout/v2' || existing.format === 'memo.viewlayout/v1' || existing.format === 'memo.sysmlview/v2')
|
|
75
75
|
return existing.layouts ?? {};
|
|
76
76
|
if (existing.diagramId && existing.layout)
|
|
77
77
|
return { [existing.diagramId]: existing.layout };
|
|
@@ -109,7 +109,10 @@ export function saveViewLayout(projectRoot, diagram, layout) {
|
|
|
109
109
|
}
|
|
110
110
|
mkdirSync(dirname(path), { recursive: true });
|
|
111
111
|
const artifact = {
|
|
112
|
-
|
|
112
|
+
// v2 records each node's coordinate frame (`parent`). v1 files still
|
|
113
|
+
// load — a node with no recorded frame is left where it is rather than
|
|
114
|
+
// rebased on a guess — and are rewritten as v2 on the next save.
|
|
115
|
+
format: 'memo.viewlayout/v2',
|
|
113
116
|
...(diagram.sourceFile ? { viewSource: diagram.sourceFile } : {}),
|
|
114
117
|
layouts: { ...existingLayouts, [diagram.id]: layout },
|
|
115
118
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-layout-store.js","sourceRoot":"","sources":["../../src/server/view-layout-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;AAQnD,MAAM,MAAM,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AAE3E,sEAAsE;AACtE,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,OAAmB;IACnE,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,GAAG,qBAAqB,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,qBAAqB,EAAE,CAAC,CAAC;AACnG,CAAC;AAED,SAAS,gBAAgB,CAAC,WAAmB,EAAE,SAAiB;IAC5D,OAAO,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,OAAO,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,OAAmB;IACnE,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAErD,CAAC;YACF,IAAI,QAAQ,CAAC,MAAM,KAAK,oBAAoB,IAAI,QAAQ,CAAC,MAAM,KAAK,mBAAmB;gBAAE,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"view-layout-store.js","sourceRoot":"","sources":["../../src/server/view-layout-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import type { MemoModel } from '../model/semantic.js';
|
|
2
2
|
import type { Violation } from './types.js';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Check every flow's payload against the parameters at its ends.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* 2. Orphan ActionUsage — warning if an action has no flow or succession edges
|
|
9
|
-
* 3. Incompatible flow types — error if flow source/target params don't match flow item
|
|
6
|
+
* An error, not a warning: a flow of something the source never emits or the
|
|
7
|
+
* target never accepts is not an omission, it is a contradiction.
|
|
10
8
|
*/
|
|
11
9
|
export declare function validateBehavior(model: MemoModel): Violation[];
|
|
12
10
|
//# sourceMappingURL=behavior-validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior-validator.d.ts","sourceRoot":"","sources":["../../src/validator/behavior-validator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"behavior-validator.d.ts","sourceRoot":"","sources":["../../src/validator/behavior-validator.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,SAAS,EAAgC,MAAM,sBAAsB,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAmE9D"}
|
|
@@ -1,69 +1,43 @@
|
|
|
1
1
|
// ─── Behavior Validator ──────────────────────────────────────────────────────
|
|
2
2
|
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
3
|
+
// One check: a flow's payload against the parameters at its ends.
|
|
4
|
+
//
|
|
5
|
+
// There were three. The other two invented rules a validator has no business
|
|
6
|
+
// inventing — "an action is allocated" and "an action is sequenced" are claims
|
|
7
|
+
// about a METHODOLOGY, and MEMO declares those in the ontology, where a rule
|
|
8
|
+
// carries its own subject set, severity, rationale, and can be tailored by a
|
|
9
|
+
// project. Written here instead, they applied to every action usage in the
|
|
10
|
+
// model, so an operative scenario and a flow step were reported as defects for
|
|
11
|
+
// not being wired like a function. CR-MED-022 and CR-ONT-074 already required
|
|
12
|
+
// the allocation, properly scoped; CR-MED-023 now requires the connection.
|
|
13
|
+
//
|
|
14
|
+
// This one stays because it is neither: it is a TYPE check, and it is not the
|
|
15
|
+
// ontology's to make. SysIDE — the compiler of record — accepts a flow whose
|
|
16
|
+
// payload matches neither end's parameters (measured, not assumed), and the
|
|
17
|
+
// constraint grammar cannot compare a flow's item type against the direction
|
|
18
|
+
// and type of a parameter on the action at each end.
|
|
6
19
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
7
20
|
/**
|
|
8
|
-
*
|
|
21
|
+
* Check every flow's payload against the parameters at its ends.
|
|
9
22
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* 2. Orphan ActionUsage — warning if an action has no flow or succession edges
|
|
13
|
-
* 3. Incompatible flow types — error if flow source/target params don't match flow item
|
|
23
|
+
* An error, not a warning: a flow of something the source never emits or the
|
|
24
|
+
* target never accepts is not an omission, it is a contradiction.
|
|
14
25
|
*/
|
|
15
26
|
export function validateBehavior(model) {
|
|
16
27
|
const violations = [];
|
|
17
|
-
|
|
18
|
-
//
|
|
28
|
+
// A flow endpoint resolves its parameters through its definition, so the
|
|
29
|
+
// definitions are indexed by both id and name — a usage names its def in
|
|
30
|
+
// `actionType`, and older content names it by display name.
|
|
19
31
|
const defParams = new Map();
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
if (def.parameters && def.parameters.length > 0) {
|
|
23
|
-
defParams.set(def.id, def.parameters);
|
|
24
|
-
defParams.set(def.name, def.parameters);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
// Composite actions (those with nested action steps) are allocated and
|
|
28
|
-
// connected through their children — exempt from BV-001/BV-002
|
|
29
|
-
const compositeIds = new Set();
|
|
30
|
-
for (const el of model.elements.values()) {
|
|
31
|
-
if (el.parentAction)
|
|
32
|
-
compositeIds.add(el.parentAction);
|
|
33
|
-
}
|
|
34
|
-
for (const action of actionUsages) {
|
|
35
|
-
if (compositeIds.has(action.id))
|
|
32
|
+
for (const element of model.elements.values()) {
|
|
33
|
+
if (element.construct !== 'action' || !element.isDefinition)
|
|
36
34
|
continue;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
ruleId: 'BV-001',
|
|
41
|
-
description: `Action "${action.name}" is not allocated to any structural element`,
|
|
42
|
-
severity: 'warning',
|
|
43
|
-
elementId: action.id,
|
|
44
|
-
elementKind: action.kind,
|
|
45
|
-
elementName: action.name,
|
|
46
|
-
layer: action.layer,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
// 2. Orphan action — no flow or succession edges
|
|
50
|
-
const outgoing = model.outgoing.get(action.id) || [];
|
|
51
|
-
const incoming = model.incoming.get(action.id) || [];
|
|
52
|
-
const allRels = [...outgoing, ...incoming];
|
|
53
|
-
const hasFlowOrSuccession = allRels.some(r => r.type === 'flow' || r.type === 'succession');
|
|
54
|
-
if (!hasFlowOrSuccession) {
|
|
55
|
-
violations.push({
|
|
56
|
-
ruleId: 'BV-002',
|
|
57
|
-
description: `Action "${action.name}" is not connected by any flow or succession`,
|
|
58
|
-
severity: 'warning',
|
|
59
|
-
elementId: action.id,
|
|
60
|
-
elementKind: action.kind,
|
|
61
|
-
elementName: action.name,
|
|
62
|
-
layer: action.layer,
|
|
63
|
-
});
|
|
35
|
+
if (element.parameters && element.parameters.length > 0) {
|
|
36
|
+
defParams.set(element.id, element.parameters);
|
|
37
|
+
defParams.set(element.name, element.parameters);
|
|
64
38
|
}
|
|
65
39
|
}
|
|
66
|
-
//
|
|
40
|
+
// Check that the flow item matches the parameter types at both ends.
|
|
67
41
|
// Flow endpoints are action usages. Resolve each to its definition via the
|
|
68
42
|
// actionType attribute stored during build.
|
|
69
43
|
for (const rel of model.relationships) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior-validator.js","sourceRoot":"","sources":["../../src/validator/behavior-validator.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,
|
|
1
|
+
{"version":3,"file":"behavior-validator.js","sourceRoot":"","sources":["../../src/validator/behavior-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,20 +26,20 @@
|
|
|
26
26
|
// puts a rule on this list. Conflating them double-counted it.
|
|
27
27
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
28
28
|
export const BUILTIN_RULES = [
|
|
29
|
+
// BV-001 (an action is allocated) and BV-002 (an action is sequenced) were
|
|
30
|
+
// here and are not rules a validator should be inventing: both are
|
|
31
|
+
// methodology claims, and the ontology declares those — CR-MED-022 and
|
|
32
|
+
// CR-ONT-074 for the allocation, CR-MED-023 for the connection. Declared
|
|
33
|
+
// there they carry a subject set, a rationale, and the tailorability this
|
|
34
|
+
// list exists to admit these rules lack.
|
|
29
35
|
{
|
|
30
|
-
id: 'BV-
|
|
36
|
+
id: 'BV-003', name: 'FlowPayloadMatchesParametersRule', validator: 'behavior', severity: 'error',
|
|
31
37
|
tailorable: false,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
description: 'An action participates in a succession or flow.',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
id: 'BV-003', name: 'BehaviorReferenceResolvableRule', validator: 'behavior', severity: 'error',
|
|
41
|
-
tailorable: false,
|
|
42
|
-
description: 'A succession or flow references an action that exists.',
|
|
38
|
+
// What it actually checks. The old description said it verified that a
|
|
39
|
+
// flow references an action that exists, which is neither what the code
|
|
40
|
+
// does nor something that can fail: an unresolvable end never becomes a
|
|
41
|
+
// relationship in the first place.
|
|
42
|
+
description: 'A flow\u2019s payload matches an output parameter at its source and an input parameter at its target.',
|
|
43
43
|
},
|
|
44
44
|
{
|
|
45
45
|
id: 'VW-001', name: 'ViewExposesContentRule', validator: 'views', severity: 'warning',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin-rules.js","sourceRoot":"","sources":["../../src/validator/builtin-rules.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,uCAAuC;AACvC,EAAE;AACF,qEAAqE;AACrE,+EAA+E;AAC/E,wEAAwE;AACxE,2DAA2D;AAC3D,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,gFAAgF;AAChF,8DAA8D;AAC9D,EAAE;AACF,+EAA+E;AAC/E,yEAAyE;AACzE,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,+DAA+D;AAC/D,gFAAgF;AAgBhF,MAAM,CAAC,MAAM,aAAa,GAA2B;IACjD;
|
|
1
|
+
{"version":3,"file":"builtin-rules.js","sourceRoot":"","sources":["../../src/validator/builtin-rules.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,EAAE;AACF,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,gFAAgF;AAChF,8EAA8E;AAC9E,uCAAuC;AACvC,EAAE;AACF,qEAAqE;AACrE,+EAA+E;AAC/E,wEAAwE;AACxE,2DAA2D;AAC3D,EAAE;AACF,6EAA6E;AAC7E,yEAAyE;AACzE,gFAAgF;AAChF,8DAA8D;AAC9D,EAAE;AACF,+EAA+E;AAC/E,yEAAyE;AACzE,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,+DAA+D;AAC/D,gFAAgF;AAgBhF,MAAM,CAAC,MAAM,aAAa,GAA2B;IACjD,2EAA2E;IAC3E,mEAAmE;IACnE,uEAAuE;IACvE,yEAAyE;IACzE,0EAA0E;IAC1E,yCAAyC;IACzC;QACI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,kCAAkC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO;QAChG,UAAU,EAAE,KAAK;QACjB,uEAAuE;QACvE,wEAAwE;QACxE,wEAAwE;QACxE,mCAAmC;QACnC,WAAW,EAAE,uGAAuG;KACvH;IACD;QACI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS;QACrF,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,4CAA4C;KAC5D;IACD;QACI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS;QACjF,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,yDAAyD;KACzE;IACD;QACI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,6BAA6B,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;QACxF,UAAU,EAAE,KAAK;QACjB,WAAW,EAAE,wEAAwE;KACxF;CACJ,CAAC;AAEF,kDAAkD;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAsB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MemoModel } from '../model/semantic.js';
|
|
1
|
+
import type { MemoModel, MemoElement } from '../model/semantic.js';
|
|
2
2
|
import type { Violation } from './types.js';
|
|
3
3
|
import type { ConstraintExpr } from '../language/generated/ast.js';
|
|
4
4
|
import type { KindRegistry } from '../model/kind-registry.js';
|
|
@@ -40,7 +40,7 @@ export declare function evaluateNativeConstraint(constraint: NativeConstraint, m
|
|
|
40
40
|
* This is the shared core used by both the string entry point (above) and the
|
|
41
41
|
* ontology loader, which compiles `constraint def` bodies via {@link langiumExprToNode}.
|
|
42
42
|
*/
|
|
43
|
-
export declare function evaluateConstraintNode(meta: ConstraintMeta, ast: ConstraintNode, model: MemoModel, kindRegistry?: KindRegistry): Violation[];
|
|
43
|
+
export declare function evaluateConstraintNode(meta: ConstraintMeta, ast: ConstraintNode, model: MemoModel, kindRegistry?: KindRegistry, inScope?: (element: MemoElement) => boolean): Violation[];
|
|
44
44
|
type CmpOp = '==' | '!=' | '>=' | '<=' | '>' | '<';
|
|
45
45
|
type ArithOp = '+' | '-' | '*' | '/';
|
|
46
46
|
type Node = {
|
|
@@ -82,6 +82,43 @@ type Node = {
|
|
|
82
82
|
| {
|
|
83
83
|
kind: 'conformsTo';
|
|
84
84
|
kindName: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Transitive DIRECTIONAL navigation from the current element.
|
|
88
|
+
*
|
|
89
|
+
* The bare relation-name segment is bidirectional on purpose (see
|
|
90
|
+
* `navigate`), which is right for "is this hazard mitigated" but useless
|
|
91
|
+
* for a chain: from a requirement, `derivesFrom` returns its drivers AND
|
|
92
|
+
* everything derived from it in one undifferentiated collection, so no rule
|
|
93
|
+
* can ask "what is upstream of this".
|
|
94
|
+
*
|
|
95
|
+
* These are the additive directional tokens `navigate`'s comment
|
|
96
|
+
* prescribes. `upstream` walks incoming edges (this element as target),
|
|
97
|
+
* `downstream` walks outgoing edges (this element as source); both are
|
|
98
|
+
* transitive and both exclude the element itself, so a cycle terminates
|
|
99
|
+
* rather than hanging.
|
|
100
|
+
*/
|
|
101
|
+
| {
|
|
102
|
+
kind: 'reach';
|
|
103
|
+
relationshipType: string;
|
|
104
|
+
direction: 'upstream' | 'downstream';
|
|
105
|
+
}
|
|
106
|
+
/** True when two collections share at least one element, compared by id. */
|
|
107
|
+
| {
|
|
108
|
+
kind: 'intersects';
|
|
109
|
+
target: Node;
|
|
110
|
+
other: Node;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* A feature chain hanging off an arbitrary expression rather than off a
|
|
114
|
+
* bare identifier root — `downstream(derivesFrom).satisfiedBy`. Without it
|
|
115
|
+
* a directional walk is a dead end: you can reach the ancestors but not
|
|
116
|
+
* navigate on from them, and the trace rules need exactly that second hop.
|
|
117
|
+
*/
|
|
118
|
+
| {
|
|
119
|
+
kind: 'chain';
|
|
120
|
+
target: Node;
|
|
121
|
+
segments: string[];
|
|
85
122
|
} | {
|
|
86
123
|
kind: 'method';
|
|
87
124
|
target: Node;
|