@memoarchitect/tools 0.8.7 → 0.10.8
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/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/dhf/document-registry.js +1 -1
- package/packages/tools/lib/dhf/document-registry.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/language/generated/ast.d.ts +93 -34
- package/packages/tools/lib/language/generated/ast.d.ts.map +1 -1
- package/packages/tools/lib/language/generated/ast.js +51 -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 +578 -393
- package/packages/tools/lib/language/generated/grammar.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 +157 -41
- 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 +16 -7
- package/packages/tools/lib/model/native-project.d.ts.map +1 -1
- package/packages/tools/lib/model/native-project.js +72 -21
- package/packages/tools/lib/model/native-project.js.map +1 -1
- package/packages/tools/lib/model/package-manifest.d.ts +4 -0
- package/packages/tools/lib/model/package-manifest.d.ts.map +1 -1
- package/packages/tools/lib/model/package-manifest.js +2 -0
- package/packages/tools/lib/model/package-manifest.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 +10 -0
- package/packages/tools/lib/model/semantic.d.ts.map +1 -1
- package/packages/tools/lib/model/semantic.js.map +1 -1
- package/packages/tools/lib/model/settings-boundary.js +1 -1
- package/packages/tools/lib/model/settings-boundary.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 +7 -3
- 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 +5 -2
- 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/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/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 +100 -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 +51 -7
|
@@ -310,7 +310,8 @@ UsageMember:
|
|
|
310
310
|
| InterfaceUsage
|
|
311
311
|
| ActionUsage
|
|
312
312
|
| PortUsage
|
|
313
|
-
| ViewUsage
|
|
313
|
+
| ViewUsage
|
|
314
|
+
| ViewpointUsage;
|
|
314
315
|
|
|
315
316
|
PartUsage:
|
|
316
317
|
isVariation?='variation'? 'part' name=ID (':' type=QualifiedName multiplicity=Multiplicity?)?
|
|
@@ -401,6 +402,15 @@ ViewUsage:
|
|
|
401
402
|
'view' name=ID (':' type=QualifiedName)?
|
|
402
403
|
('{' body+=ViewBodyMember* '}' | ';');
|
|
403
404
|
|
|
405
|
+
// `ViewpointUsage = OccurrenceUsagePrefix 'viewpoint' ConstraintUsageDeclaration
|
|
406
|
+
// RequirementBody` (SysML :1640). The definition form was here and the usage
|
|
407
|
+
// form was not, so `viewpoint vpModelContent : MemoViewpoint { … }` could not
|
|
408
|
+
// parse — and that is how the ontology's whole viewpoint catalog is written.
|
|
409
|
+
// Same definition/usage pairing as ViewDefinition/ViewUsage above.
|
|
410
|
+
ViewpointUsage:
|
|
411
|
+
'viewpoint' name=ID (':' type=QualifiedName)?
|
|
412
|
+
('{' body+=UsageBodyMember* '}' | ';');
|
|
413
|
+
|
|
404
414
|
ViewBodyMember:
|
|
405
415
|
UsageBodyMember | ExposeMember;
|
|
406
416
|
|
|
@@ -425,8 +435,12 @@ ConnectionUsage:
|
|
|
425
435
|
'}'
|
|
426
436
|
);
|
|
427
437
|
|
|
438
|
+
// The end NAME is optional. `connect a to b` is the normative binary-connector
|
|
439
|
+
// shorthand — SysIDE accepts it and, since the compiler of record wins, so must
|
|
440
|
+
// this grammar. Requiring `endName ::>` here rejected every untyped `connect`,
|
|
441
|
+
// which is the form a relation migrated to native `connect` now takes.
|
|
428
442
|
ConnectionEnd:
|
|
429
|
-
endName=FeatureName '::>' ref=ReferenceName;
|
|
443
|
+
(endName=FeatureName '::>')? ref=ReferenceName;
|
|
430
444
|
|
|
431
445
|
// The BASE FEATURE of a connection definition — `abstract connection derivations
|
|
432
446
|
// : Derivation[*];` in the OMG's DerivationConnections. It is not a link; it is
|
|
@@ -517,8 +531,17 @@ DottedNameSegment returns string:
|
|
|
517
531
|
// ─── Behavior: Succession usage ─────────────────────────────────────────────
|
|
518
532
|
// Syntax: first start then action1 then action2 then done ;
|
|
519
533
|
|
|
534
|
+
// KerML `SuccessionDeclaration` (:845) is
|
|
535
|
+
// ( 'first' ConnectorEndMember 'then' ConnectorEndMember )?
|
|
536
|
+
// — exactly ONE `then`. A chain is written as consecutive pairwise statements,
|
|
537
|
+
// `first a then b; first b then c;`, which is how every succession in the
|
|
538
|
+
// ontology and its examples is already written.
|
|
539
|
+
//
|
|
540
|
+
// This used to be `('then' …)+`, which accepted `first a then b then c;`. That
|
|
541
|
+
// is not valid SysML and SysIDE — the compiler of record — rejects it, so the
|
|
542
|
+
// permissive form let a model parse here and fail the gate that matters.
|
|
520
543
|
SuccessionUsage:
|
|
521
|
-
'succession'? 'first' steps+=SuccessionStep
|
|
544
|
+
'succession'? 'first' steps+=SuccessionStep 'then' steps+=SuccessionStep ';';
|
|
522
545
|
|
|
523
546
|
SuccessionStep:
|
|
524
547
|
ref=SuccessionRef ('if' guard=OrExpr)?;
|
|
@@ -631,7 +654,14 @@ ExhibitStateUsage:
|
|
|
631
654
|
// That is what memo-native-requirement-relations decision 1 remodels 61 of 99
|
|
632
655
|
// VerifiedBy links onto, and it is also what makes that training file parse.
|
|
633
656
|
SubjectMember:
|
|
634
|
-
|
|
657
|
+
// `redefines?` comes BEFORE the name, as in RefMember and AttributeMember.
|
|
658
|
+
// Without it, `subject :>> supportingSystem = X;` — an unnamed usage that
|
|
659
|
+
// redefines an inherited subject — cannot parse, because `name` was
|
|
660
|
+
// mandatory. `Identification` (KerML :152) makes BOTH name parts optional,
|
|
661
|
+
// so the unnamed redefining form is well-formed SysML and SysIDE accepts
|
|
662
|
+
// it. Any UseCase specialization that binds the inherited
|
|
663
|
+
// `subject supportingSystem` hits this.
|
|
664
|
+
'subject' (redefines?=(':>>' | 'redefines'))? name=MemberName (':' type=QualifiedName multiplicity=Multiplicity?)?
|
|
635
665
|
(bindingOp=('=' | ':>' | ':>>')
|
|
636
666
|
('(' boundRefs+=ReferenceName (',' boundRefs+=ReferenceName)* ')'
|
|
637
667
|
| boundRefs+=ReferenceName))?
|
|
@@ -737,7 +767,7 @@ ReferenceName returns string:
|
|
|
737
767
|
// ─── Body members ────────────────────────────────────────────────────────────
|
|
738
768
|
|
|
739
769
|
DefinitionBodyMember:
|
|
740
|
-
AttributeMember | PartMember | PortUsage | ItemUsage | ViewUsage | RefMember | FeatureMembershipMember | RequireConstraintMember | RequirementVerificationMember | ArcadiaMember | MetadataApplication | DocComment;
|
|
770
|
+
AttributeMember | PartMember | PortUsage | ItemUsage | ViewUsage | ViewpointUsage | RefMember | FeatureMembershipMember | RequireConstraintMember | RequirementVerificationMember | ArcadiaMember | MetadataApplication | DocComment;
|
|
741
771
|
|
|
742
772
|
// The fourteen native mechanisms, gathered once so both body rules stay
|
|
743
773
|
// readable and neither can drift out of step with the other.
|
|
@@ -802,8 +832,13 @@ PrimaryExpr infers ConstraintExpr:
|
|
|
802
832
|
// it landed when that reinvention was retired. TransitionUsage is NOT listed
|
|
803
833
|
// here: it already arrives through ArcadiaMember, and naming it twice makes
|
|
804
834
|
// the alternation ambiguous.
|
|
835
|
+
// `PackageDeclaration` is a legal usage-body member: SysIDE accepts
|
|
836
|
+
// `part scrHome : UIElement { package grpHeader { part btnBack : UIElement; } }`
|
|
837
|
+
// and the grammar rejected it. Grouping UI elements inside a screen is the case
|
|
838
|
+
// that needed it — a package groups without asserting the part decomposition a
|
|
839
|
+
// nested part would.
|
|
805
840
|
UsageBodyMember:
|
|
806
|
-
AttributeMember | PartMember | PortUsage | ItemUsage | RefMember | ViewUsage | FlowConnectionUsage | MessageUsage | SuccessionUsage | ConnectionUsage | SatisfyRequirementUsage | RequirementVerificationMember | ArcadiaMember | Dependency | MetadataApplication | StateUsage | DocComment;
|
|
841
|
+
AttributeMember | PartMember | PortUsage | ItemUsage | RefMember | ViewUsage | ViewpointUsage | FlowConnectionUsage | MessageUsage | SuccessionUsage | ConnectionUsage | SatisfyRequirementUsage | RequirementVerificationMember | ArcadiaMember | Dependency | MetadataApplication | StateUsage | PackageDeclaration | DocComment;
|
|
807
842
|
|
|
808
843
|
// ─── Attribute member ────────────────────────────────────────────────────────
|
|
809
844
|
// Three forms:
|
|
@@ -912,11 +947,20 @@ PartMember:
|
|
|
912
947
|
// ref function : SystemFunction[0..1]; (keyword-named reference)
|
|
913
948
|
// ref item exchangedItem : ExchangeItem; (item-typed reference payload)
|
|
914
949
|
// ref :>> definition = syringeDef; (redefining a reference to a value)
|
|
950
|
+
// ref vpLogical :> viewpointDefinition = logicalArchitectureViewpoint;
|
|
951
|
+
// (subset a feature and bind its value)
|
|
952
|
+
//
|
|
953
|
+
// The last form is the native spelling used by document views. `ref` is a
|
|
954
|
+
// reference feature, so it must support the same subsetting-and-value shape as
|
|
955
|
+
// `part`; accepting only the latter made the in-browser parser reject SysIDE-
|
|
956
|
+
// valid view declarations at `:>`.
|
|
915
957
|
|
|
916
958
|
RefMember:
|
|
917
959
|
'ref' (isItem?='item')? (redefines?=':>>')? name=FeatureName
|
|
918
960
|
(':' isConjugated?='~'? type=QualifiedName multiplicity=Multiplicity?)?
|
|
919
|
-
('='
|
|
961
|
+
( (bindingOp=':>' boundRef=QualifiedName ('=' subsetValue=QualifiedName)?)
|
|
962
|
+
| ('=' value=AttributeValue)
|
|
963
|
+
)?
|
|
920
964
|
';';
|
|
921
965
|
|
|
922
966
|
// ─── Bare feature-membership member ──────────────────────────────────────────
|