@memoarchitect/tools 0.6.3 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/README.md +1 -1
  2. package/package.json +2 -2
  3. package/packages/tools/lib/bin/memo.js +38 -2
  4. package/packages/tools/lib/bin/memo.js.map +1 -1
  5. package/packages/tools/lib/browser/index.d.ts +3 -0
  6. package/packages/tools/lib/browser/index.d.ts.map +1 -1
  7. package/packages/tools/lib/commands/dev.d.ts.map +1 -1
  8. package/packages/tools/lib/commands/dev.js +4 -1
  9. package/packages/tools/lib/commands/dev.js.map +1 -1
  10. package/packages/tools/lib/commands/init.d.ts +2 -0
  11. package/packages/tools/lib/commands/init.d.ts.map +1 -1
  12. package/packages/tools/lib/commands/init.js +32 -16
  13. package/packages/tools/lib/commands/init.js.map +1 -1
  14. package/packages/tools/lib/commands/mcp.d.ts +15 -0
  15. package/packages/tools/lib/commands/mcp.d.ts.map +1 -0
  16. package/packages/tools/lib/commands/mcp.js +128 -0
  17. package/packages/tools/lib/commands/mcp.js.map +1 -0
  18. package/packages/tools/lib/commands/validate.js +1 -1
  19. package/packages/tools/lib/commands/validate.js.map +1 -1
  20. package/packages/tools/lib/index.d.ts.map +1 -1
  21. package/packages/tools/lib/index.js +4 -0
  22. package/packages/tools/lib/index.js.map +1 -1
  23. package/packages/tools/lib/llm/chat-engine.d.ts +97 -0
  24. package/packages/tools/lib/llm/chat-engine.d.ts.map +1 -0
  25. package/packages/tools/lib/llm/chat-engine.js +463 -0
  26. package/packages/tools/lib/llm/chat-engine.js.map +1 -0
  27. package/packages/tools/lib/llm/index.d.ts +2 -0
  28. package/packages/tools/lib/llm/index.d.ts.map +1 -1
  29. package/packages/tools/lib/llm/index.js +2 -0
  30. package/packages/tools/lib/llm/index.js.map +1 -1
  31. package/packages/tools/lib/llm/llm-provider.d.ts +40 -4
  32. package/packages/tools/lib/llm/llm-provider.d.ts.map +1 -1
  33. package/packages/tools/lib/llm/llm-provider.js +180 -37
  34. package/packages/tools/lib/llm/llm-provider.js.map +1 -1
  35. package/packages/tools/lib/llm/llm-settings.d.ts +84 -0
  36. package/packages/tools/lib/llm/llm-settings.d.ts.map +1 -0
  37. package/packages/tools/lib/llm/llm-settings.js +249 -0
  38. package/packages/tools/lib/llm/llm-settings.js.map +1 -0
  39. package/packages/tools/lib/mcp/index.d.ts +4 -0
  40. package/packages/tools/lib/mcp/index.d.ts.map +1 -0
  41. package/packages/tools/lib/mcp/index.js +9 -0
  42. package/packages/tools/lib/mcp/index.js.map +1 -0
  43. package/packages/tools/lib/mcp/model-loader.d.ts +11 -0
  44. package/packages/tools/lib/mcp/model-loader.d.ts.map +1 -0
  45. package/packages/tools/lib/mcp/model-loader.js +87 -0
  46. package/packages/tools/lib/mcp/model-loader.js.map +1 -0
  47. package/packages/tools/lib/mcp/server.d.ts +8 -0
  48. package/packages/tools/lib/mcp/server.d.ts.map +1 -0
  49. package/packages/tools/lib/mcp/server.js +132 -0
  50. package/packages/tools/lib/mcp/server.js.map +1 -0
  51. package/packages/tools/lib/mcp/tools.d.ts +18 -0
  52. package/packages/tools/lib/mcp/tools.d.ts.map +1 -0
  53. package/packages/tools/lib/mcp/tools.js +220 -0
  54. package/packages/tools/lib/mcp/tools.js.map +1 -0
  55. package/packages/tools/lib/model/builder.js +8 -2
  56. package/packages/tools/lib/model/builder.js.map +1 -1
  57. package/packages/tools/lib/model/config.d.ts +6 -0
  58. package/packages/tools/lib/model/config.d.ts.map +1 -1
  59. package/packages/tools/lib/model/semantic.d.ts +6 -0
  60. package/packages/tools/lib/model/semantic.d.ts.map +1 -1
  61. package/packages/tools/lib/model/semantic.js.map +1 -1
  62. package/packages/tools/lib/model/view-deriver.d.ts +3 -2
  63. package/packages/tools/lib/model/view-deriver.d.ts.map +1 -1
  64. package/packages/tools/lib/model/view-deriver.js +61 -20
  65. package/packages/tools/lib/model/view-deriver.js.map +1 -1
  66. package/packages/tools/lib/operations/project-snapshot.d.ts.map +1 -1
  67. package/packages/tools/lib/operations/project-snapshot.js +2 -1
  68. package/packages/tools/lib/operations/project-snapshot.js.map +1 -1
  69. package/packages/tools/lib/protocol/messages.d.ts +106 -2
  70. package/packages/tools/lib/protocol/messages.d.ts.map +1 -1
  71. package/packages/tools/lib/server/dev-server.d.ts.map +1 -1
  72. package/packages/tools/lib/server/dev-server.js +205 -11
  73. package/packages/tools/lib/server/dev-server.js.map +1 -1
  74. package/packages/tools/lib/server/dhf-doc-store.d.ts +2 -0
  75. package/packages/tools/lib/server/dhf-doc-store.d.ts.map +1 -1
  76. package/packages/tools/lib/server/dhf-doc-store.js +31 -8
  77. package/packages/tools/lib/server/dhf-doc-store.js.map +1 -1
  78. package/packages/tools/lib/validator/constraint-eval.d.ts +3 -2
  79. package/packages/tools/lib/validator/constraint-eval.d.ts.map +1 -1
  80. package/packages/tools/lib/validator/constraint-eval.js +31 -5
  81. package/packages/tools/lib/validator/constraint-eval.js.map +1 -1
  82. package/packages/tools/lib/validator/rule-engine.d.ts +2 -1
  83. package/packages/tools/lib/validator/rule-engine.d.ts.map +1 -1
  84. package/packages/tools/lib/validator/rule-engine.js +2 -2
  85. package/packages/tools/lib/validator/rule-engine.js.map +1 -1
  86. package/packages/tools/lib/validator/view-validator.d.ts +1 -0
  87. package/packages/tools/lib/validator/view-validator.d.ts.map +1 -1
  88. package/packages/tools/lib/validator/view-validator.js +19 -4
  89. package/packages/tools/lib/validator/view-validator.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../src/validator/rule-engine.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,gFAAgF;AAKhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CACzB,KAAgB,EAChB,oBAA0C,EAAE;IAE5C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,gBAAgB,GAAgB,EAAE,CAAC;IACzC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,sBAAsB,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,YAAY,EAAE,CAAC;QAC5C,gBAAgB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACH,UAAU,EAAE,CAAC,GAAG,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,gBAAgB,CAAC;QAC3E,cAAc,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM;QAC5C,WAAW,EAAE,YAAY;QACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"rule-engine.js","sourceRoot":"","sources":["../../src/validator/rule-engine.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,EAAE;AACF,yEAAyE;AACzE,2EAA2E;AAC3E,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,gFAAgF;AAKhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CACzB,KAAgB,EAChB,oBAA0C,EAAE,EAC5C,YAA2B;IAE3B,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,gBAAgB,GAAgB,EAAE,CAAC;IACzC,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,sBAAsB,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC3F,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,YAAY,EAAE,CAAC;QAC5C,gBAAgB,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACH,UAAU,EAAE,CAAC,GAAG,kBAAkB,EAAE,GAAG,cAAc,EAAE,GAAG,gBAAgB,CAAC;QAC3E,cAAc,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM;QAC5C,WAAW,EAAE,YAAY;QACzB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACxB,CAAC;AACN,CAAC"}
@@ -6,6 +6,7 @@ import type { Violation } from './types.js';
6
6
  * Checks:
7
7
  * 1. VW-001 — diagramType key has no view-kind mapping
8
8
  * 2. VW-002 — declared viewKind on a diagram view is not a spec view kind
9
+ * 3. VW-003 — a view has no viewpoint conformance binding
9
10
  */
10
11
  export declare function validateViews(model: MemoModel): Violation[];
11
12
  //# sourceMappingURL=view-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-validator.d.ts","sourceRoot":"","sources":["../../src/validator/view-validator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAkC3D"}
1
+ {"version":3,"file":"view-validator.d.ts","sourceRoot":"","sources":["../../src/validator/view-validator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,CAiD3D"}
@@ -12,14 +12,28 @@ import { DIAGRAM_TYPE_TO_VIEW_KIND, VIEW_KINDS, normalizeViewKind } from '../mod
12
12
  * Checks:
13
13
  * 1. VW-001 — diagramType key has no view-kind mapping
14
14
  * 2. VW-002 — declared viewKind on a diagram view is not a spec view kind
15
+ * 3. VW-003 — a view has no viewpoint conformance binding
15
16
  */
16
17
  export function validateViews(model) {
17
18
  const violations = [];
18
19
  for (const el of model.elements.values()) {
19
20
  const diagramType = el.attributes['diagramType'];
20
- if (!diagramType)
21
+ const declared = el.attributes['viewKind'];
22
+ if (!diagramType && !declared)
21
23
  continue;
22
- if (!DIAGRAM_TYPE_TO_VIEW_KIND[diagramType]) {
24
+ const viewpointBinding = el.attributes['viewpointDefinition'] || el.attributes['viewpoint'];
25
+ if (!viewpointBinding) {
26
+ violations.push({
27
+ ruleId: 'VW-003',
28
+ description: `View "${el.name}" must conform to at least one viewpoint through viewpointDefinition`,
29
+ severity: 'error',
30
+ elementId: el.id,
31
+ elementKind: el.kind,
32
+ elementName: el.name,
33
+ layer: el.layer,
34
+ });
35
+ }
36
+ if (diagramType && !DIAGRAM_TYPE_TO_VIEW_KIND[diagramType]) {
23
37
  violations.push({
24
38
  ruleId: 'VW-001',
25
39
  description: `View "${el.name}" has unmapped diagramType "${diagramType}" — it does not resolve to a SysML v2 view kind`,
@@ -30,8 +44,9 @@ export function validateViews(model) {
30
44
  layer: el.layer,
31
45
  });
32
46
  }
33
- const declared = el.attributes['viewKind'];
34
- if (declared && !normalizeViewKind(declared)) {
47
+ // Document-backed views use DocumentViewKind on the same attribute;
48
+ // only diagram views must use the eight diagram view kinds.
49
+ if (diagramType && declared && !normalizeViewKind(declared)) {
35
50
  violations.push({
36
51
  ruleId: 'VW-002',
37
52
  description: `View "${el.name}" declares viewKind "${declared}" which is not one of the SysML v2 view kinds (${VIEW_KINDS.join(', ')})`,
@@ -1 +1 @@
1
- {"version":3,"file":"view-validator.js","sourceRoot":"","sources":["../../src/validator/view-validator.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,mCAAmC;AACnC,gFAAgF;AAIhF,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAElG;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB;IAC1C,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW;YAAE,SAAS;QAE3B,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC1C,UAAU,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,SAAS,EAAE,CAAC,IAAI,+BAA+B,WAAW,iDAAiD;gBACxH,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,EAAE,CAAC,EAAE;gBAChB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,KAAK,EAAE,EAAE,CAAC,KAAK;aAClB,CAAC,CAAC;QACP,CAAC;QAED,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,QAAQ,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,UAAU,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,SAAS,EAAE,CAAC,IAAI,wBAAwB,QAAQ,kDAAkD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACvI,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,EAAE,CAAC,EAAE;gBAChB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,KAAK,EAAE,EAAE,CAAC,KAAK;aAClB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"view-validator.js","sourceRoot":"","sources":["../../src/validator/view-validator.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,mCAAmC;AACnC,gFAAgF;AAIhF,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAElG;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB;IAC1C,MAAM,UAAU,GAAgB,EAAE,CAAC;IAEnC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExC,MAAM,gBAAgB,GAAG,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,SAAS,EAAE,CAAC,IAAI,sEAAsE;gBACnG,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,EAAE,CAAC,EAAE;gBAChB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,KAAK,EAAE,EAAE,CAAC,KAAK;aAClB,CAAC,CAAC;QACP,CAAC;QAED,IAAI,WAAW,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,EAAE,CAAC;YACzD,UAAU,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,SAAS,EAAE,CAAC,IAAI,+BAA+B,WAAW,iDAAiD;gBACxH,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,EAAE,CAAC,EAAE;gBAChB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,KAAK,EAAE,EAAE,CAAC,KAAK;aAClB,CAAC,CAAC;QACP,CAAC;QAED,oEAAoE;QACpE,4DAA4D;QAC5D,IAAI,WAAW,IAAI,QAAQ,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1D,UAAU,CAAC,IAAI,CAAC;gBACZ,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,SAAS,EAAE,CAAC,IAAI,wBAAwB,QAAQ,kDAAkD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBACvI,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,EAAE,CAAC,EAAE;gBAChB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,WAAW,EAAE,EAAE,CAAC,IAAI;gBACpB,KAAK,EAAE,EAAE,CAAC,KAAK;aAClB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,OAAO,UAAU,CAAC;AACtB,CAAC"}