wabachi 0.1.0 → 0.2.1

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 (34) hide show
  1. package/.codex-plugin/plugin.json +6 -0
  2. package/LICENSE +1 -1
  3. package/README.md +13 -22
  4. package/dist/architecture/canon/codec.js +26 -2
  5. package/dist/architecture/canon/codec.js.map +1 -1
  6. package/dist/architecture/canon/elements.d.ts +8 -1
  7. package/dist/architecture/canon/elements.js +56 -1
  8. package/dist/architecture/canon/elements.js.map +1 -1
  9. package/dist/architecture/canon/validate.d.ts +1 -1
  10. package/dist/architecture/canon/validate.js +37 -1
  11. package/dist/architecture/canon/validate.js.map +1 -1
  12. package/dist/architecture/canon/views.d.ts +5 -0
  13. package/dist/architecture/canon/views.js +4 -0
  14. package/dist/architecture/canon/views.js.map +1 -1
  15. package/dist/architecture/cli.js +5 -5
  16. package/dist/architecture/cli.js.map +1 -1
  17. package/dist/architecture/documentation/project.js +1 -1
  18. package/dist/architecture/documentation/project.js.map +1 -1
  19. package/dist/architecture/projection/structurizr-export.js +5 -4
  20. package/dist/architecture/projection/structurizr-export.js.map +1 -1
  21. package/dist/architecture/projection/structurizr.d.ts +1 -1
  22. package/dist/architecture/projection/structurizr.js +156 -54
  23. package/dist/architecture/projection/structurizr.js.map +1 -1
  24. package/dist/cli.js +53 -14
  25. package/dist/cli.js.map +1 -1
  26. package/dist/command-contract.d.ts +77 -0
  27. package/dist/command-contract.js +193 -0
  28. package/dist/command-contract.js.map +1 -0
  29. package/dist/skill.d.ts +47 -0
  30. package/dist/skill.js +160 -0
  31. package/dist/skill.js.map +1 -0
  32. package/docs/USAGE.md +110 -0
  33. package/package.json +21 -21
  34. package/skills/wabachi/SKILL.md +30 -0
@@ -1 +1 @@
1
- {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/architecture/canon/views.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/architecture/canon/views.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,15 @@ import { parseCanonicalArchitectureDocument } from "./canon/codec.js";
4
4
  import { projectArchitectureDocument } from "./documentation/project.js";
5
5
  import { ArchitectureSiteError, buildArchitectureSite } from "./documentation/site.js";
6
6
  import { projectArchitectureDocumentToStructurizr } from "./projection/structurizr.js";
7
+ import { commandUsage } from "../command-contract.js";
7
8
  const DEFAULT_STRUCTURIZR_COMMAND = "structurizr";
8
9
  const MAX_DIAGNOSTIC_LENGTH = 240;
9
10
  function usage(command) {
10
11
  if (command === "validate")
11
- return "usage: PACKAGE_NAME architecture validate <file> [--json]";
12
- if (command === "render") {
13
- return "usage: PACKAGE_NAME architecture render <file> --out <dir> [--structurizr-command <executable-path>] [--json]";
14
- }
15
- return "usage: PACKAGE_NAME architecture <validate|render> ...";
12
+ return commandUsage("architecture.validate");
13
+ if (command === "render")
14
+ return commandUsage("architecture.render");
15
+ return commandUsage("architecture.help");
16
16
  }
17
17
  function bounded(value) {
18
18
  const message = value.replace(/\s+/gu, " ").trim();
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/architecture/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/architecture/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,wCAAwC,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,2BAA2B,GAAG,aAAa,CAAC;AAClD,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAiBlC,SAAS,KAAK,CAAC,OAA6B;IAC1C,IAAI,OAAO,KAAK,UAAU;QAAE,OAAO,YAAY,CAAC,uBAAuB,CAAC,CAAC;IACzE,IAAI,OAAO,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,qBAAqB,CAAC,CAAC;IACrE,OAAO,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,IAAI,qBAAqB;QAAE,OAAO,OAAO,CAAC;IAC5D,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,GAAG,CAAC,CAAC,GAAG,CAAC;AAC3D,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,cAAc,CACrB,IAAuB;IAIvB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACxB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACrC,IAAI,OAAO,KAAK,UAAU,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED,IAAI,IAAwB,CAAC;IAC7B,IAAI,UAA8B,CAAC;IACnC,IAAI,kBAAsC,CAAC;IAE3C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,QAAQ,KAAK,QAAQ;YAAE,SAAS;QAEpC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;YACpE,CAAC;YACD,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC;YACrG,UAAU,GAAG,KAAK,CAAC;YACnB,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,KAAK,uBAAuB,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC;YAC3F,CAAC;YACD,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC;YACzF,CAAC;YACD,kBAAkB,GAAG,KAAK,CAAC;YAC3B,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,QAAQ,EAAE,EAAE,CAAC;QAClG,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,gDAAgD,EAAE,CAAC;QAC9G,IAAI,GAAG,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5E,IAAI,OAAO,KAAK,UAAU,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,kBAAkB,KAAK,SAAS,CAAC,EAAE,CAAC;QAC7F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;IACjF,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACrD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC;IACrE,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,CAAC;AACtF,CAAC;AAED,SAAS,YAAY,CAAC,OAA4B,EAAE,IAAa,EAAE,UAAkC;IACnG,MAAM,MAAM,GAAG;QACb,EAAE,EAAE,KAAK;QACT,OAAO,EAAE,gBAAgB,OAAO,EAAE;QAClC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;KACxF,CAAC;IACF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACtC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,gBAAgB,EAAE,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAa,EAAE,OAAe;IACvD,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IAC5E,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACjG,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAuB;IAC9D,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEtE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC;IAC7C,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,kCAAkC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;QAC3B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,wCAAwC,CAAC,QAAQ,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;YACzC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAoB,CAAC;YAC3D,aAAa;YACb,WAAW;YACX,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,2BAA2B,EAAE;SACzF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE;gBACjC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,kCAAkC;aACjF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC;gBACb,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,qBAAqB;gBAC9B,IAAI;gBACJ,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;aACvC,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,KAAK,YAAY,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;QACnF,OAAO,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC"}
@@ -83,7 +83,7 @@ function referenceAttachmentEntry(attachment) {
83
83
  }
84
84
  function viewEntry(view) {
85
85
  const references = [...view.scope.include, ...view.scope.exclude];
86
- return createEntry(view.key, view, references.map((reference) => reference.id));
86
+ return createEntry(view.key, view, [view.root?.id, ...references.map((reference) => reference.id)]);
87
87
  }
88
88
  function createSections(document) {
89
89
  const structure = createSection("structure", [
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/architecture/documentation/project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../../../src/architecture/documentation/project.ts"],"names":[],"mappings":"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"}
@@ -75,11 +75,12 @@ function failureResult(base, status, phase, code, message, exitCode, signal) {
75
75
  return { ...base, status, exitCode, signal, diagnostic: { code, phase, message } };
76
76
  }
77
77
  function versionFromOutput(output) {
78
- const version = output
78
+ const lines = output
79
79
  .split(/\r?\n/u)
80
80
  .map((line) => line.trim())
81
- .find((line) => line.length > 0);
82
- return version ?? null;
81
+ .filter((line) => line.length > 0);
82
+ const releaseLine = lines.find((line) => /\bstructurizr:\s+\S+/iu.test(line));
83
+ return releaseLine?.replace(/^.*?\b(structurizr:\s+\S+).*$/iu, "$1") ?? lines[0] ?? null;
83
84
  }
84
85
  /**
85
86
  * Run the current Structurizr static export surface against an existing
@@ -87,7 +88,7 @@ function versionFromOutput(output) {
87
88
  */
88
89
  export async function runStructurizrStaticExport(request) {
89
90
  const launcherArgs = request.launcher.args === undefined ? [] : [...request.launcher.args];
90
- const versionArgs = [...launcherArgs, "--version"];
91
+ const versionArgs = [...launcherArgs, "version"];
91
92
  const exportArgs = [
92
93
  ...launcherArgs,
93
94
  "export",
@@ -1 +1 @@
1
- {"version":3,"file":"structurizr-export.js","sourceRoot":"","sources":["../../../src/architecture/projection/structurizr-export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAuF3C,MAAM,YAAY,GAA6B,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;AAEzF,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAY;IACvC,OAAO,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC;AACpD,CAAC;AAED,SAAS,OAAO,CAAC,UAAkB,EAAE,IAAuB;IAC1D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;gBACnC,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;aAClC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE;YACnC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;YACvC,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,UAAU,CAAC,UAAkB,EAAE,IAAuB;IAC7D,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,KAAc,EAAE,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,UAAU,CACjB,OAAuC,EACvC,YAA+B,EAC/B,iBAA+C,EAC/C,gBAA8C,EAC9C,OAAsB,EACtB,aAAuC,EACvC,MAAgC;IAEhC,OAAO;QACL,IAAI,EAAE;YACJ,EAAE,EAAE,aAAa;YACjB,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU;YACvC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;YAC9C,OAAO;SACR;QACD,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,WAAW,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,EAAE;QACrE,aAAa;QACb,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,OAAuC,EACvC,YAA+B,EAC/B,iBAA+C,EAC/C,gBAA8C,EAC9C,OAAe;IAEf,OAAO;QACL,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC;QAC3G,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,IAAiC,EACjC,MAA0C,EAC1C,KAA2C,EAC3C,IAAkC,EAClC,OAAe,EACf,QAAuB,EACvB,MAA6B;IAE7B,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc;IACvC,MAAM,OAAO,GAAG,MAAM;SACnB,KAAK,CAAC,QAAQ,CAAC;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,OAAO,OAAO,IAAI,IAAI,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAuC;IAEvC,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3F,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,EAAE,WAAW,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG;QACjB,GAAG,YAAY;QACf,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,OAAO,CAAC,aAAa;QACrB,SAAS;QACT,OAAO,CAAC,eAAe;KACxB,CAAC;IACF,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC/E,MAAM,gBAAgB,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAE7E,IACE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QACxC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC;QAC7D,OAAO,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAClC,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EACpC,CAAC;QACD,OAAO,kBAAkB,CACvB,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,4GAA4G,CAC7G,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC9E,IAAI,aAAa,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,UAAU,CACrB,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,IAAI,EACJ,aAAa,CAAC,MAAM,EACpB,YAAY,CACb,CAAC;QACF,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,aAAa,CAClB,IAAI,EACJ,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,EACxC,SAAS,EACT,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,EACxC,qDAAqD,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAClF,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,UAAU,CAC5B,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,aAAa,CAAC,MAAM,EACpB,YAAY,CACb,CAAC;IACF,IAAI,aAAa,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,aAAa,CAClB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,eAAe,EACf,gDAAgD,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,EAChF,aAAa,CAAC,QAAQ,EACtB,aAAa,CAAC,MAAM,CACrB,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,aAAa,CAClB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,wBAAwB,EACxB,wEAAwE,EACxE,aAAa,CAAC,QAAQ,EACtB,aAAa,CAAC,MAAM,CACrB,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5E,IAAI,YAAY,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,UAAU,CACrB,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,aAAa,CAAC,MAAM,EACpB,YAAY,CAAC,MAAM,CACpB,CAAC;QACF,MAAM,OAAO,GAAG,mBAAmB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,aAAa,CAClB,IAAI,EACJ,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,EACxC,QAAQ,EACR,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,EACxC,oDAAoD,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,EAChF,IAAI,EACJ,IAAI,CACL,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CACrB,OAAO,EACP,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,aAAa,CAAC,MAAM,EACpB,YAAY,CAAC,MAAM,CACpB,CAAC;IACF,IAAI,YAAY,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,aAAa,CAClB,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,+CAA+C,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAC9E,YAAY,CAAC,QAAQ,EACrB,YAAY,CAAC,MAAM,CACpB,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAChF,CAAC;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"structurizr-export.js","sourceRoot":"","sources":["../../../src/architecture/projection/structurizr-export.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ArchitectureDocumentV1 } from "../canon/document.js";
2
2
  import type { ViewSpec } from "../canon/views.js";
3
- export declare const PROJECTION_LOSS_CODES: readonly ["unsupported-authority", "unsupported-ownership", "unsupported-boundary", "unsupported-responsibility", "unsupported-constraint", "unsupported-repository-mapping", "unsupported-decision", "unsupported-reference", "unsupported-reference-attachment", "unsupported-interface", "unsupported-containment", "unsupported-flow", "unsupported-deployment-instance", "unsupported-deployment-mapping", "unsupported-infrastructure-reference", "unsupported-view-reference", "unsupported-view-exclusion", "unsupported-view-scope", "unsupported-presentation", "ambiguous-flow-step"];
3
+ export declare const PROJECTION_LOSS_CODES: readonly ["unsupported-authority", "unsupported-ownership", "unsupported-boundary", "unsupported-responsibility", "unsupported-constraint", "unsupported-repository-mapping", "unsupported-decision", "unsupported-reference", "unsupported-reference-attachment", "unsupported-interface", "unsupported-element-annotation", "unsupported-containment", "unsupported-relationship", "unsupported-flow", "unsupported-deployment-instance", "unsupported-deployment-mapping", "unsupported-infrastructure-reference", "unsupported-view-reference", "unsupported-view-exclusion", "unsupported-view-scope", "unsupported-view-root", "unsupported-presentation", "ambiguous-flow-step"];
4
4
  export type ProjectionLossCode = (typeof PROJECTION_LOSS_CODES)[number];
5
5
  /** A machine-readable explanation of a Canon fact not represented losslessly by Structurizr. */
6
6
  export interface ProjectionLoss {
@@ -10,7 +10,9 @@ export const PROJECTION_LOSS_CODES = [
10
10
  "unsupported-reference",
11
11
  "unsupported-reference-attachment",
12
12
  "unsupported-interface",
13
+ "unsupported-element-annotation",
13
14
  "unsupported-containment",
15
+ "unsupported-relationship",
14
16
  "unsupported-flow",
15
17
  "unsupported-deployment-instance",
16
18
  "unsupported-deployment-mapping",
@@ -18,6 +20,7 @@ export const PROJECTION_LOSS_CODES = [
18
20
  "unsupported-view-reference",
19
21
  "unsupported-view-exclusion",
20
22
  "unsupported-view-scope",
23
+ "unsupported-view-root",
21
24
  "unsupported-presentation",
22
25
  "ambiguous-flow-step",
23
26
  ];
@@ -69,13 +72,29 @@ function compareStrings(left, right) {
69
72
  return 1;
70
73
  return 0;
71
74
  }
72
- function relationshipEntries(document) {
73
- return Object.freeze(document.relationships.map((record) => {
75
+ function isAncestor(elements, ancestorId, descendantId) {
76
+ let current = elements.get(descendantId);
77
+ while (current?.parentId !== undefined) {
78
+ if (current.parentId === ancestorId)
79
+ return true;
80
+ current = elements.get(current.parentId);
81
+ }
82
+ return false;
83
+ }
84
+ function relationshipEntries(document, losses) {
85
+ const elements = indexById(document.elements);
86
+ return Object.freeze(document.relationships.flatMap((record, relationshipIndex) => {
87
+ if (isAncestor(elements, record.source, record.target) || isAncestor(elements, record.target, record.source)) {
88
+ losses.add("unsupported-relationship", `relationships[${relationshipIndex}]`, [record.source, record.target], `Structurizr cannot represent a relationship between a Canon element and its containment parent: ${record.source} -> ${record.target}`);
89
+ return [];
90
+ }
74
91
  const candidate = record;
75
- return Object.freeze({
76
- record,
77
- ...(typeof candidate.id === "string" ? { explicitId: candidate.id } : {}),
78
- });
92
+ return [
93
+ Object.freeze({
94
+ record,
95
+ ...(typeof candidate.id === "string" ? { explicitId: candidate.id } : {}),
96
+ }),
97
+ ];
79
98
  }));
80
99
  }
81
100
  function indexById(records) {
@@ -147,7 +166,7 @@ function addIdentityMappings(document) {
147
166
  return Object.freeze(mappings.map((mapping) => Object.freeze(mapping)));
148
167
  }
149
168
  function createContext(document, losses) {
150
- const entries = relationshipEntries(document);
169
+ const entries = relationshipEntries(document, losses);
151
170
  const explicit = new Map();
152
171
  const byInterface = new Map();
153
172
  for (const entry of entries) {
@@ -176,6 +195,8 @@ function elementTag(element) {
176
195
  return `CanonElement,CanonKind-${identifierPart(element.kind)}`;
177
196
  }
178
197
  function childKind(parent, element) {
198
+ if (parent === "person")
199
+ return "element";
179
200
  if (parent === "softwareSystem")
180
201
  return "container";
181
202
  if (parent === "container")
@@ -185,6 +206,8 @@ function childKind(parent, element) {
185
206
  return element.kind === "system" || element.kind === "service" ? "softwareSystem" : "element";
186
207
  }
187
208
  function rootKind(element) {
209
+ if (element.kind === "actor")
210
+ return "person";
188
211
  return element.kind === "system" || element.kind === "service" ? "softwareSystem" : "element";
189
212
  }
190
213
  function renderElement(context, element, children, indent, parentKind) {
@@ -197,8 +220,34 @@ function renderElement(context, element, children, indent, parentKind) {
197
220
  const isUnnested = element.parentId !== undefined && kind === "element";
198
221
  const declarationIndent = isUnnested ? 2 : indent;
199
222
  const identifier = context.elementIdentifiers.get(element.id);
200
- const lines = [`${" ".repeat(declarationIndent)}${identifier} = ${kind} ${quote(element.id)} {`];
201
- lines.push(`${" ".repeat(declarationIndent + 1)}tags ${quote(elementTag(element))}`);
223
+ const name = element.displayName ?? element.id;
224
+ const lines = [`${" ".repeat(declarationIndent)}${identifier} = ${kind} ${quote(name)} {`];
225
+ const elementIndex = context.document.elements.findIndex((candidate) => candidate.id === element.id);
226
+ const tags = [elementTag(element)];
227
+ for (let tagIndex = 0; tagIndex < (element.tags?.length ?? 0); tagIndex += 1) {
228
+ const tag = element.tags?.[tagIndex];
229
+ if (tag.includes(",")) {
230
+ context.losses.add("unsupported-element-annotation", `elements[${elementIndex}].tags[${tagIndex}]`, [element.id], `Structurizr cannot preserve Canon element tag containing a comma: ${tag}`);
231
+ }
232
+ else
233
+ tags.push(tag);
234
+ }
235
+ lines.push(`${" ".repeat(declarationIndent + 1)}tags ${quote(tags.join(","))}`);
236
+ const properties = Object.entries(element.properties ?? {});
237
+ if (element.technology !== undefined) {
238
+ if (Object.hasOwn(element.properties ?? {}, "canon.technology")) {
239
+ context.losses.add("unsupported-element-annotation", `elements[${elementIndex}].technology`, [element.id], "Structurizr property canon.technology conflicts with the Canon element technology annotation");
240
+ }
241
+ else
242
+ properties.unshift(["canon.technology", element.technology]);
243
+ }
244
+ if (properties.length > 0) {
245
+ lines.push(`${" ".repeat(declarationIndent + 1)}properties {`);
246
+ for (const [key, value] of properties) {
247
+ lines.push(`${" ".repeat(declarationIndent + 2)}${quote(key)} ${quote(value)}`);
248
+ }
249
+ lines.push(`${" ".repeat(declarationIndent + 1)}}`);
250
+ }
202
251
  const unnestedChildren = [];
203
252
  if (kind !== "element") {
204
253
  for (const child of children.get(element.id) ?? []) {
@@ -382,10 +431,67 @@ function viewPath(viewIndex, mode, referenceIndex) {
382
431
  function addUnsupportedViewReference(context, view, path, reference) {
383
432
  context.losses.add("unsupported-view-reference", path, [view.key, reference.id], `Structurizr cannot represent ${reference.kind} ${reference.id} in a ${view.kind} view scope`);
384
433
  }
385
- function renderStructuralView(context, view, viewIndex) {
386
- const lines = [` systemLandscape ${quote(viewKey(view.key))} {`];
434
+ function addUnsupportedViewRoot(context, view, viewIndex, message) {
435
+ context.losses.add("unsupported-view-root", `views[${viewIndex}].root`, [view.key, view.root?.id ?? ""], message);
436
+ }
437
+ function renderViewMetadata(view, lines) {
387
438
  if (view.title !== undefined)
388
439
  lines.push(` title ${quote(view.title)}`);
440
+ if (view.description !== undefined)
441
+ lines.push(` description ${quote(view.description)}`);
442
+ }
443
+ function declaredElementRoot(context, view, viewIndex) {
444
+ if (view.root === undefined)
445
+ return undefined;
446
+ if (view.root.kind !== "element") {
447
+ addUnsupportedViewRoot(context, view, viewIndex, `Structurizr ${view.kind} views require an element root, but Canon declared ${view.root.kind} ${view.root.id}`);
448
+ return undefined;
449
+ }
450
+ const root = context.document.elements.find((element) => element.id === view.root?.id);
451
+ if (root === undefined) {
452
+ addUnsupportedViewRoot(context, view, viewIndex, `Structurizr cannot resolve Canon view root ${view.root.id}`);
453
+ }
454
+ return root;
455
+ }
456
+ function structuralViewForm(context, root) {
457
+ const rootIdentifier = context.elementIdentifiers.get(root.id);
458
+ const rootKind = context.elementDslKinds.get(root.id);
459
+ if (rootIdentifier === undefined)
460
+ return undefined;
461
+ if (rootKind === "softwareSystem")
462
+ return { type: "systemContext", scope: rootIdentifier };
463
+ const parent = root.parentId === undefined ? undefined : context.document.elements.find((element) => element.id === root.parentId);
464
+ const parentIdentifier = parent === undefined ? undefined : context.elementIdentifiers.get(parent.id);
465
+ const parentKind = parent === undefined ? undefined : context.elementDslKinds.get(parent.id);
466
+ if (rootKind === "container" && parentIdentifier !== undefined) {
467
+ if (parentKind === "softwareSystem")
468
+ return { type: "container", scope: parentIdentifier };
469
+ if (parentKind === "container")
470
+ return { type: "component", scope: parentIdentifier };
471
+ }
472
+ if (rootKind === "component" && parentIdentifier !== undefined && parentKind === "container") {
473
+ return { type: "component", scope: parentIdentifier };
474
+ }
475
+ return undefined;
476
+ }
477
+ function renderStructuralView(context, view, viewIndex) {
478
+ let declaration = { type: "systemLandscape", scope: "*" };
479
+ if (view.root !== undefined) {
480
+ const root = declaredElementRoot(context, view, viewIndex);
481
+ if (root === undefined)
482
+ return [];
483
+ const form = structuralViewForm(context, root);
484
+ if (form === undefined) {
485
+ addUnsupportedViewRoot(context, view, viewIndex, `Structurizr cannot represent Canon structural view root ${root.id} at its hierarchy level`);
486
+ return [];
487
+ }
488
+ declaration = form;
489
+ }
490
+ const header = declaration.type === "systemLandscape"
491
+ ? ` ${declaration.type} ${viewKey(view.key)} {`
492
+ : ` ${declaration.type} ${declaration.scope} ${viewKey(view.key)} {`;
493
+ const lines = [header];
494
+ renderViewMetadata(view, lines);
389
495
  renderPresentation(context, view, viewIndex, lines);
390
496
  for (const [mode, references] of [
391
497
  ["include", view.scope.include],
@@ -454,21 +560,20 @@ function renderDynamicFlow(context, flow, flowIndex, order, lines, viewKeyValue)
454
560
  }
455
561
  function renderDynamicView(context, view, viewIndex) {
456
562
  const flowIds = view.scope.include.filter((reference) => reference.kind === "flow").map((reference) => reference.id);
457
- const includedElements = view.scope.include.filter((reference) => reference.kind === "element");
458
- const supportedScopes = includedElements.filter((reference) => {
459
- const kind = context.elementDslKinds.get(reference.id);
460
- return kind === "softwareSystem" || kind === "container";
461
- });
462
563
  let scope = "*";
463
- if (supportedScopes.length === 1 && includedElements.length === 1) {
464
- scope = context.elementIdentifiers.get(supportedScopes[0].id);
465
- }
466
- else if (includedElements.length > 0) {
467
- context.losses.add("unsupported-view-scope", `views[${viewIndex}].scope.include`, includedElements.map((reference) => reference.id), `Structurizr dynamic views have one scope, but Canon view ${view.key} declares multiple or incompatible element scopes`);
564
+ if (view.root !== undefined) {
565
+ const root = declaredElementRoot(context, view, viewIndex);
566
+ if (root === undefined)
567
+ return [];
568
+ const rootKind = context.elementDslKinds.get(root.id);
569
+ if (rootKind !== "softwareSystem" && rootKind !== "container") {
570
+ addUnsupportedViewRoot(context, view, viewIndex, `Structurizr dynamic views cannot use Canon element ${root.id} as a view scope at hierarchy kind ${rootKind ?? "unknown"}`);
571
+ return [];
572
+ }
573
+ scope = context.elementIdentifiers.get(root.id);
468
574
  }
469
- const lines = [` dynamic ${scope} ${quote(viewKey(view.key))} {`];
470
- if (view.title !== undefined)
471
- lines.push(` title ${quote(view.title)}`);
575
+ const lines = [` dynamic ${scope} ${viewKey(view.key)} {`];
576
+ renderViewMetadata(view, lines);
472
577
  renderPresentation(context, view, viewIndex, lines);
473
578
  for (let referenceIndex = 0; referenceIndex < view.scope.include.length; referenceIndex += 1) {
474
579
  const reference = view.scope.include[referenceIndex];
@@ -490,38 +595,30 @@ function renderDynamicView(context, view, viewIndex) {
490
595
  lines.push(" }");
491
596
  return lines;
492
597
  }
493
- function deploymentEnvironmentForReference(context, reference) {
494
- if (reference.kind === "runtime-environment")
495
- return reference.id;
496
- if (reference.kind === "deployment-node") {
497
- return context.document.deployment.deploymentNodes.find((node) => node.id === reference.id)?.environmentId;
598
+ function renderDeploymentView(context, view, viewIndex) {
599
+ let environment;
600
+ if (view.root !== undefined) {
601
+ if (view.root.kind !== "runtime-environment") {
602
+ addUnsupportedViewRoot(context, view, viewIndex, `Structurizr deployment views require a runtime environment root, but Canon declared ${view.root.kind} ${view.root.id}`);
603
+ return [];
604
+ }
605
+ environment = view.root.id;
498
606
  }
499
- if (reference.kind === "deployment-instance") {
500
- const instance = context.document.deployment.deploymentInstances.find((candidate) => candidate.id === reference.id);
501
- return context.document.deployment.deploymentNodes.find((node) => node.id === instance?.nodeId)?.environmentId;
607
+ else {
608
+ context.losses.add("unsupported-view-scope", `views[${viewIndex}].root`, [view.key], `Structurizr deployment view ${view.key} has no declared Canon runtime environment root`);
609
+ return [];
502
610
  }
503
- return undefined;
504
- }
505
- function renderDeploymentView(context, view, viewIndex) {
506
- const environmentIds = new Set();
507
- for (const reference of view.scope.include) {
508
- const environment = deploymentEnvironmentForReference(context, reference);
509
- if (environment !== undefined)
510
- environmentIds.add(environment);
511
- }
512
- if (environmentIds.size !== 1) {
513
- context.losses.add("unsupported-view-scope", `views[${viewIndex}].scope`, [view.key, ...environmentIds], `Structurizr deployment views require exactly one Canon runtime environment for view ${view.key}`);
611
+ if (environment === undefined) {
612
+ context.losses.add("unsupported-view-scope", `views[${viewIndex}].scope`, [view.key], `Structurizr deployment views require a Canon runtime environment for view ${view.key}`);
514
613
  return [];
515
614
  }
516
- const environment = [...environmentIds][0];
517
615
  const elementScopes = view.scope.include.filter((reference) => reference.kind === "element" && context.elementDslKinds.get(reference.id) === "softwareSystem");
518
616
  const scope = elementScopes.length === 1 ? context.elementIdentifiers.get(elementScopes[0].id) : "*";
519
617
  const environmentIdentifier = context.document.deployment.runtimeEnvironments.find((candidate) => candidate.id === environment);
520
618
  const lines = [
521
- ` deployment ${scope} ${context.document.deployment.runtimeEnvironments.length > 0 ? (context.document.deployment.runtimeEnvironments.find((candidate) => candidate.id === environment) ? structurizrIdentifier("runtime-environment", environment) : quote(environment)) : quote(environment)} ${quote(viewKey(view.key))} {`,
619
+ ` deployment ${scope} ${context.document.deployment.runtimeEnvironments.length > 0 ? (context.document.deployment.runtimeEnvironments.find((candidate) => candidate.id === environment) ? structurizrIdentifier("runtime-environment", environment) : quote(environment)) : quote(environment)} ${viewKey(view.key)} {`,
522
620
  ];
523
- if (view.title !== undefined)
524
- lines.push(` title ${quote(view.title)}`);
621
+ renderViewMetadata(view, lines);
525
622
  renderPresentation(context, view, viewIndex, lines);
526
623
  for (const [mode, references] of [
527
624
  ["include", view.scope.include],
@@ -621,7 +718,9 @@ function addUnsupportedCanonSemantics(context) {
621
718
  }
622
719
  }
623
720
  }
624
- function renderWorkspace(context, views) {
721
+ function renderWorkspace(context) {
722
+ const elements = renderElements(context);
723
+ const renderedViews = renderViews(context);
625
724
  const document = context.document;
626
725
  const lines = [
627
726
  `workspace ${quote(document.documentId)} {`,
@@ -632,16 +731,19 @@ function renderWorkspace(context, views) {
632
731
  " }",
633
732
  " model {",
634
733
  " !identifiers flat",
635
- ...renderElements(context),
734
+ ...elements,
636
735
  ...renderRelationships(context),
637
736
  ...renderDeployment(context),
638
737
  " }",
639
738
  " views {",
640
- ...views.map((line) => line),
739
+ ...renderedViews.lines,
641
740
  " }",
642
741
  "}",
643
742
  ];
644
- return `${lines.join("\n")}\n`;
743
+ return {
744
+ dsl: `${lines.join("\n")}\n`,
745
+ viewMappings: renderedViews.mappings,
746
+ };
645
747
  }
646
748
  /** Project a validated Architecture Canon into current Structurizr DSL plus explicit losses. */
647
749
  export function projectArchitectureDocumentToStructurizr(document) {
@@ -652,14 +754,14 @@ export function projectArchitectureDocumentToStructurizr(document) {
652
754
  }
653
755
  const losses = new LossCollector();
654
756
  const context = createContext(document, losses);
655
- const renderedViews = renderViews(context);
757
+ const workspace = renderWorkspace(context);
656
758
  addUnsupportedCanonSemantics(context);
657
759
  return Object.freeze({
658
760
  canonVersion: document.canonVersion,
659
761
  documentId: document.documentId,
660
- dsl: renderWorkspace(context, renderedViews.lines),
762
+ dsl: workspace.dsl,
661
763
  identityMappings: addIdentityMappings(document),
662
- viewMappings: renderedViews.mappings,
764
+ viewMappings: workspace.viewMappings,
663
765
  losses: losses.finish(),
664
766
  });
665
767
  }