@documentation-robotics/cli 0.1.13 → 0.3.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.
Files changed (351) hide show
  1. package/README.md +74 -2
  2. package/dist/analysis/relationship-classifier.js +2 -9
  3. package/dist/analysis/relationship-classifier.js.map +2 -2
  4. package/dist/analyzers/call-graph-utils.js +2 -2
  5. package/dist/analyzers/call-graph-utils.js.map +2 -2
  6. package/dist/analyzers/cards/build.js +171 -0
  7. package/dist/analyzers/cards/build.js.map +7 -0
  8. package/dist/analyzers/cards/classify.js +42 -0
  9. package/dist/analyzers/cards/classify.js.map +7 -0
  10. package/dist/analyzers/cards/edge-index.js +44 -0
  11. package/dist/analyzers/cards/edge-index.js.map +7 -0
  12. package/dist/analyzers/cards/facts.js +46 -0
  13. package/dist/analyzers/cards/facts.js.map +7 -0
  14. package/dist/analyzers/cards/graph.js +42 -0
  15. package/dist/analyzers/cards/graph.js.map +7 -0
  16. package/dist/analyzers/cards/index.js +8 -0
  17. package/dist/analyzers/cards/index.js.map +7 -0
  18. package/dist/analyzers/cards/tier0.js +18 -0
  19. package/dist/analyzers/cards/tier0.js.map +7 -0
  20. package/dist/analyzers/cards/types.js +1 -0
  21. package/dist/analyzers/cards/types.js.map +7 -0
  22. package/dist/analyzers/cbm-analyzer.js +195 -171
  23. package/dist/analyzers/cbm-analyzer.js.map +2 -2
  24. package/dist/analyzers/cbm-responses.js +336 -0
  25. package/dist/analyzers/cbm-responses.js.map +7 -0
  26. package/dist/analyzers/edge-relationships.js +45 -0
  27. package/dist/analyzers/edge-relationships.js.map +7 -0
  28. package/dist/analyzers/mapping-loader.js +9 -0
  29. package/dist/analyzers/mapping-loader.js.map +2 -2
  30. package/dist/analyzers/tier0-rules.js +153 -0
  31. package/dist/analyzers/tier0-rules.js.map +7 -0
  32. package/dist/analyzers/types.js.map +1 -1
  33. package/dist/analyzers/verify-engine.js +22 -19
  34. package/dist/analyzers/verify-engine.js.map +2 -2
  35. package/dist/audit/relationships/ai/prompts.js +10 -10
  36. package/dist/audit/relationships/ai/prompts.js.map +2 -2
  37. package/dist/audit/relationships/analysis/layer-templates.js +52 -52
  38. package/dist/audit/relationships/analysis/layer-templates.js.map +1 -1
  39. package/dist/cli.js +112 -28
  40. package/dist/cli.js.map +3 -3
  41. package/dist/coding-agents/agents/claude-code.js +3 -1
  42. package/dist/coding-agents/agents/claude-code.js.map +2 -2
  43. package/dist/coding-agents/claude-code-client.js +2 -1
  44. package/dist/coding-agents/claude-code-client.js.map +2 -2
  45. package/dist/coding-agents/copilot-client.js +17 -12
  46. package/dist/coding-agents/copilot-client.js.map +2 -2
  47. package/dist/coding-agents/default-permissions.js +152 -0
  48. package/dist/coding-agents/default-permissions.js.map +7 -0
  49. package/dist/coding-agents/drbot-mcp.js +167 -0
  50. package/dist/coding-agents/drbot-mcp.js.map +7 -0
  51. package/dist/commands/add.js +12 -7
  52. package/dist/commands/add.js.map +2 -2
  53. package/dist/commands/analyzer.js +134 -23
  54. package/dist/commands/analyzer.js.map +2 -2
  55. package/dist/commands/audit.js +6 -6
  56. package/dist/commands/audit.js.map +2 -2
  57. package/dist/commands/changeset-verify.js +55 -0
  58. package/dist/commands/changeset-verify.js.map +7 -0
  59. package/dist/commands/changeset.js +261 -147
  60. package/dist/commands/changeset.js.map +2 -2
  61. package/dist/commands/delete.js +52 -19
  62. package/dist/commands/delete.js.map +3 -3
  63. package/dist/commands/element.js +3 -2
  64. package/dist/commands/element.js.map +2 -2
  65. package/dist/commands/farm.js +773 -0
  66. package/dist/commands/farm.js.map +7 -0
  67. package/dist/commands/init.js +11 -1
  68. package/dist/commands/init.js.map +2 -2
  69. package/dist/commands/mcp.js +122 -0
  70. package/dist/commands/mcp.js.map +7 -0
  71. package/dist/commands/relationship.js +251 -47
  72. package/dist/commands/relationship.js.map +2 -2
  73. package/dist/commands/reports.js +1 -1
  74. package/dist/commands/reports.js.map +2 -2
  75. package/dist/commands/update.js +56 -24
  76. package/dist/commands/update.js.map +2 -2
  77. package/dist/commands/upgrade.js +99 -11
  78. package/dist/commands/upgrade.js.map +3 -3
  79. package/dist/commands/validate.js +41 -3
  80. package/dist/commands/validate.js.map +2 -2
  81. package/dist/commands/version.js +2 -2
  82. package/dist/commands/version.js.map +2 -2
  83. package/dist/commands/visualize.js +4 -3
  84. package/dist/commands/visualize.js.map +2 -2
  85. package/dist/config.js +83 -0
  86. package/dist/config.js.map +7 -0
  87. package/dist/core/annotation-store.js +138 -0
  88. package/dist/core/annotation-store.js.map +7 -0
  89. package/dist/core/catalog-migration.js +33 -0
  90. package/dist/core/catalog-migration.js.map +7 -0
  91. package/dist/core/changeset-analysis.js +421 -0
  92. package/dist/core/changeset-analysis.js.map +7 -0
  93. package/dist/core/changeset-base-index.js +153 -0
  94. package/dist/core/changeset-base-index.js.map +7 -0
  95. package/dist/core/changeset-brief-delta.js +102 -0
  96. package/dist/core/changeset-brief-delta.js.map +7 -0
  97. package/dist/core/changeset-graph.js +281 -0
  98. package/dist/core/changeset-graph.js.map +7 -0
  99. package/dist/core/changeset-only-guard.js +32 -0
  100. package/dist/core/changeset-only-guard.js.map +7 -0
  101. package/dist/core/changeset-summary.js +68 -0
  102. package/dist/core/changeset-summary.js.map +7 -0
  103. package/dist/core/changeset-validator.js +66 -20
  104. package/dist/core/changeset-validator.js.map +2 -2
  105. package/dist/core/changeset-verify.js +518 -0
  106. package/dist/core/changeset-verify.js.map +7 -0
  107. package/dist/core/changeset.js +56 -9
  108. package/dist/core/changeset.js.map +2 -2
  109. package/dist/core/element-type-migration.js +145 -0
  110. package/dist/core/element-type-migration.js.map +7 -0
  111. package/dist/core/farm-manifest.js +140 -0
  112. package/dist/core/farm-manifest.js.map +7 -0
  113. package/dist/core/farm-sync-engine.js +346 -0
  114. package/dist/core/farm-sync-engine.js.map +7 -0
  115. package/dist/core/farm-sync-state.js +167 -0
  116. package/dist/core/farm-sync-state.js.map +7 -0
  117. package/dist/core/manifest.js +6 -3
  118. package/dist/core/manifest.js.map +2 -2
  119. package/dist/core/migration-registry.js +84 -1
  120. package/dist/core/migration-registry.js.map +2 -2
  121. package/dist/core/model-upgrade.js +102 -0
  122. package/dist/core/model-upgrade.js.map +7 -0
  123. package/dist/core/model.js +257 -44
  124. package/dist/core/model.js.map +3 -3
  125. package/dist/core/mutation-handler.js +71 -6
  126. package/dist/core/mutation-handler.js.map +2 -2
  127. package/dist/core/relationship-migration-table.js +6639 -0
  128. package/dist/core/relationship-migration-table.js.map +7 -0
  129. package/dist/core/relationship-migration.js +272 -0
  130. package/dist/core/relationship-migration.js.map +7 -0
  131. package/dist/core/relationship-prune.js +49 -0
  132. package/dist/core/relationship-prune.js.map +7 -0
  133. package/dist/core/relationship-staging.js +68 -0
  134. package/dist/core/relationship-staging.js.map +7 -0
  135. package/dist/core/relationships.js +26 -4
  136. package/dist/core/relationships.js.map +2 -2
  137. package/dist/core/report-data-model.js +7 -13
  138. package/dist/core/report-data-model.js.map +2 -2
  139. package/dist/core/staged-changeset-storage.js +64 -17
  140. package/dist/core/staged-changeset-storage.js.map +2 -2
  141. package/dist/core/staged-source-reference.js +28 -0
  142. package/dist/core/staged-source-reference.js.map +7 -0
  143. package/dist/core/staging-area.js +83 -18
  144. package/dist/core/staging-area.js.map +2 -2
  145. package/dist/core/virtual-projection.js +14 -5
  146. package/dist/core/virtual-projection.js.map +2 -2
  147. package/dist/export/archimate-exporter.js +1 -0
  148. package/dist/export/archimate-exporter.js.map +2 -2
  149. package/dist/generated/compiled-validators.js +2 -2
  150. package/dist/generated/compiled-validators.js.map +2 -2
  151. package/dist/generated/layer-registry.js +16 -16
  152. package/dist/generated/layer-registry.js.map +2 -2
  153. package/dist/generated/node-types.js +186 -168
  154. package/dist/generated/node-types.js.map +2 -2
  155. package/dist/generated/relationship-index.js +2209 -7727
  156. package/dist/generated/relationship-index.js.map +2 -2
  157. package/dist/integrations/claude_code/agents/dr-architect.md +16 -3
  158. package/dist/integrations/claude_code/agents/dr-extractor.md +1 -1
  159. package/dist/integrations/claude_code/commands/dr-analyzer.md +565 -0
  160. package/dist/integrations/claude_code/commands/dr-map.md +13 -0
  161. package/dist/integrations/claude_code/commands/dr-plan.md +40 -0
  162. package/dist/integrations/claude_code/commands/dr-relate.md +106 -96
  163. package/dist/integrations/claude_code/commands/dr-verify.md +45 -2
  164. package/dist/integrations/claude_code/docs/END_TO_END_WALKTHROUGH.md +14 -0
  165. package/dist/integrations/claude_code/docs/MCP_SERVER.md +79 -0
  166. package/dist/integrations/claude_code/docs/QUICK_START.md +37 -8
  167. package/dist/integrations/claude_code/docs/README.md +52 -1
  168. package/dist/integrations/claude_code/skills/dr_01_motivation_layer/SKILL.md +93 -72
  169. package/dist/integrations/claude_code/skills/dr_02_business_layer/SKILL.md +163 -126
  170. package/dist/integrations/claude_code/skills/dr_03_product_layer/SKILL.md +161 -126
  171. package/dist/integrations/claude_code/skills/dr_04_security_layer/SKILL.md +153 -133
  172. package/dist/integrations/claude_code/skills/dr_05_application_layer/SKILL.md +129 -100
  173. package/dist/integrations/claude_code/skills/dr_06_technology_layer/SKILL.md +111 -94
  174. package/dist/integrations/claude_code/skills/dr_07_api_layer/SKILL.md +143 -157
  175. package/dist/integrations/claude_code/skills/dr_08_data_model_layer/SKILL.md +117 -33
  176. package/dist/integrations/claude_code/skills/dr_09_dataset_layer/SKILL.md +74 -25
  177. package/dist/integrations/claude_code/skills/dr_10_ux_layer/SKILL.md +88 -12
  178. package/dist/integrations/claude_code/skills/dr_11_navigation_layer/SKILL.md +83 -24
  179. package/dist/integrations/claude_code/skills/dr_12_apm_layer/SKILL.md +57 -12
  180. package/dist/integrations/claude_code/skills/dr_13_testing_layer/SKILL.md +92 -15
  181. package/dist/integrations/claude_code/skills/dr_change_planning/SKILL.md +119 -0
  182. package/dist/integrations/claude_code/skills/dr_changeset_reviewer/SKILL.md +3 -0
  183. package/dist/integrations/claude_code/skills/dr_engineering_guide/SKILL.md +1 -1
  184. package/dist/integrations/github_copilot/agents/dr-architect.md +1 -1
  185. package/dist/integrations/github_copilot/skills/dr_01_motivation_layer/SKILL.md +182 -102
  186. package/dist/integrations/github_copilot/skills/dr_02_business_layer/SKILL.md +266 -148
  187. package/dist/integrations/github_copilot/skills/dr_03_product_layer/SKILL.md +547 -86
  188. package/dist/integrations/github_copilot/skills/dr_04_security_layer/SKILL.md +164 -169
  189. package/dist/integrations/github_copilot/skills/dr_05_application_layer/SKILL.md +420 -150
  190. package/dist/integrations/github_copilot/skills/dr_06_technology_layer/SKILL.md +331 -138
  191. package/dist/integrations/github_copilot/skills/dr_07_api_layer/SKILL.md +265 -201
  192. package/dist/integrations/github_copilot/skills/dr_08_data_model_layer/SKILL.md +181 -58
  193. package/dist/integrations/github_copilot/skills/dr_09_dataset_layer/SKILL.md +209 -57
  194. package/dist/integrations/github_copilot/skills/dr_10_ux_layer/SKILL.md +277 -112
  195. package/dist/integrations/github_copilot/skills/dr_11_navigation_layer/SKILL.md +219 -70
  196. package/dist/integrations/github_copilot/skills/dr_12_apm_layer/SKILL.md +189 -105
  197. package/dist/integrations/github_copilot/skills/dr_13_testing_layer/SKILL.md +222 -102
  198. package/dist/integrations/github_copilot/skills/dr_change_planning/SKILL.md +119 -0
  199. package/dist/integrations/github_copilot/skills/dr_changeset_reviewer/SKILL.md +3 -0
  200. package/dist/integrations/hash-utils.js.map +2 -2
  201. package/dist/mcp/api-key-manager.js +111 -0
  202. package/dist/mcp/api-key-manager.js.map +7 -0
  203. package/dist/mcp/changeset-only.js +34 -0
  204. package/dist/mcp/changeset-only.js.map +7 -0
  205. package/dist/mcp/http-transport.js +176 -0
  206. package/dist/mcp/http-transport.js.map +7 -0
  207. package/dist/mcp/resource-registry.js +97 -0
  208. package/dist/mcp/resource-registry.js.map +7 -0
  209. package/dist/mcp/tool-registry.js +60 -0
  210. package/dist/mcp/tool-registry.js.map +7 -0
  211. package/dist/mcp/tools/annotation-create.js +39 -0
  212. package/dist/mcp/tools/annotation-create.js.map +7 -0
  213. package/dist/mcp/tools/annotation-delete.js +29 -0
  214. package/dist/mcp/tools/annotation-delete.js.map +7 -0
  215. package/dist/mcp/tools/annotation-get.js +29 -0
  216. package/dist/mcp/tools/annotation-get.js.map +7 -0
  217. package/dist/mcp/tools/annotation-list.js +24 -0
  218. package/dist/mcp/tools/annotation-list.js.map +7 -0
  219. package/dist/mcp/tools/annotation-reply.js +34 -0
  220. package/dist/mcp/tools/annotation-reply.js.map +7 -0
  221. package/dist/mcp/tools/annotation-shared.js +10 -0
  222. package/dist/mcp/tools/annotation-shared.js.map +7 -0
  223. package/dist/mcp/tools/annotation-update.js +39 -0
  224. package/dist/mcp/tools/annotation-update.js.map +7 -0
  225. package/dist/mcp/tools/changeset-analysis-tools.js +78 -0
  226. package/dist/mcp/tools/changeset-analysis-tools.js.map +7 -0
  227. package/dist/mcp/tools/changeset-editing.js +184 -0
  228. package/dist/mcp/tools/changeset-editing.js.map +7 -0
  229. package/dist/mcp/tools/changeset-lifecycle.js +83 -0
  230. package/dist/mcp/tools/changeset-lifecycle.js.map +7 -0
  231. package/dist/mcp/tools/changeset-list.js +33 -0
  232. package/dist/mcp/tools/changeset-list.js.map +7 -0
  233. package/dist/mcp/tools/changeset-shared.js +31 -0
  234. package/dist/mcp/tools/changeset-shared.js.map +7 -0
  235. package/dist/mcp/tools/changeset-show.js +55 -0
  236. package/dist/mcp/tools/changeset-show.js.map +7 -0
  237. package/dist/mcp/tools/changeset-verify.js +43 -0
  238. package/dist/mcp/tools/changeset-verify.js.map +7 -0
  239. package/dist/mcp/tools/chat-launch.js +50 -0
  240. package/dist/mcp/tools/chat-launch.js.map +7 -0
  241. package/dist/mcp/tools/chat-status.js +26 -0
  242. package/dist/mcp/tools/chat-status.js.map +7 -0
  243. package/dist/mcp/tools/index.js +65 -0
  244. package/dist/mcp/tools/index.js.map +7 -0
  245. package/dist/mcp/tools/model-add.js +107 -0
  246. package/dist/mcp/tools/model-add.js.map +7 -0
  247. package/dist/mcp/tools/model-delete.js +99 -0
  248. package/dist/mcp/tools/model-delete.js.map +7 -0
  249. package/dist/mcp/tools/model-export.js +72 -0
  250. package/dist/mcp/tools/model-export.js.map +7 -0
  251. package/dist/mcp/tools/model-info.js +51 -0
  252. package/dist/mcp/tools/model-info.js.map +7 -0
  253. package/dist/mcp/tools/model-list.js +53 -0
  254. package/dist/mcp/tools/model-list.js.map +7 -0
  255. package/dist/mcp/tools/model-reload.js +34 -0
  256. package/dist/mcp/tools/model-reload.js.map +7 -0
  257. package/dist/mcp/tools/model-search.js +102 -0
  258. package/dist/mcp/tools/model-search.js.map +7 -0
  259. package/dist/mcp/tools/model-show.js +68 -0
  260. package/dist/mcp/tools/model-show.js.map +7 -0
  261. package/dist/mcp/tools/model-stats.js +22 -0
  262. package/dist/mcp/tools/model-stats.js.map +7 -0
  263. package/dist/mcp/tools/model-trace.js +118 -0
  264. package/dist/mcp/tools/model-trace.js.map +7 -0
  265. package/dist/mcp/tools/model-update.js +121 -0
  266. package/dist/mcp/tools/model-update.js.map +7 -0
  267. package/dist/mcp/tools/model-validate.js +78 -0
  268. package/dist/mcp/tools/model-validate.js.map +7 -0
  269. package/dist/mcp/tools/relationship-tools.js +98 -0
  270. package/dist/mcp/tools/relationship-tools.js.map +7 -0
  271. package/dist/mcp/tools/shared.js +126 -0
  272. package/dist/mcp/tools/shared.js.map +7 -0
  273. package/dist/mcp/tools/spec-type.js +90 -0
  274. package/dist/mcp/tools/spec-type.js.map +7 -0
  275. package/dist/reports/model-layer-report-generator.js +5 -3
  276. package/dist/reports/model-layer-report-generator.js.map +2 -2
  277. package/dist/reports/model-readme-generator.js +116 -0
  278. package/dist/reports/model-readme-generator.js.map +7 -0
  279. package/dist/reports/model-report-data.js +37 -1
  280. package/dist/reports/model-report-data.js.map +2 -2
  281. package/dist/reports/model-report-orchestrator.js +29 -6
  282. package/dist/reports/model-report-orchestrator.js.map +2 -2
  283. package/dist/reports/model-report-utils.js +9 -0
  284. package/dist/reports/model-report-utils.js.map +7 -0
  285. package/dist/schemas/bundled/analyzers/cbm.json +1186 -68
  286. package/dist/schemas/bundled/analyzers/manifest.json +2 -2
  287. package/dist/schemas/bundled/api.json +1029 -1658
  288. package/dist/schemas/bundled/apm.json +499 -734
  289. package/dist/schemas/bundled/application.json +745 -370
  290. package/dist/schemas/bundled/base.json +3 -220
  291. package/dist/schemas/bundled/business.json +452 -366
  292. package/dist/schemas/bundled/data-model.json +403 -383
  293. package/dist/schemas/bundled/data-store.json +334 -558
  294. package/dist/schemas/bundled/manifest.json +18 -18
  295. package/dist/schemas/bundled/motivation.json +349 -368
  296. package/dist/schemas/bundled/navigation.json +415 -731
  297. package/dist/schemas/bundled/product.json +325 -159
  298. package/dist/schemas/bundled/security.json +864 -1232
  299. package/dist/schemas/bundled/technology.json +574 -703
  300. package/dist/schemas/bundled/testing.json +718 -1643
  301. package/dist/schemas/bundled/ux.json +739 -1352
  302. package/dist/server/schemas.js +8 -0
  303. package/dist/server/schemas.js.map +2 -2
  304. package/dist/server/server.js +234 -31
  305. package/dist/server/server.js.map +2 -2
  306. package/dist/server-entry.js +2 -1
  307. package/dist/server-entry.js.map +2 -2
  308. package/dist/telemetry/config.js +2 -40
  309. package/dist/telemetry/config.js.map +2 -2
  310. package/dist/telemetry/index.js +1 -1
  311. package/dist/types/index.js.map +2 -2
  312. package/dist/utils/ansi-suppressor.js +23 -0
  313. package/dist/utils/ansi-suppressor.js.map +7 -0
  314. package/dist/utils/attribute-patch.js +41 -0
  315. package/dist/utils/attribute-patch.js.map +7 -0
  316. package/dist/utils/color-utils.js +34 -0
  317. package/dist/utils/color-utils.js.map +7 -0
  318. package/dist/utils/element-reference-shape.js +15 -1
  319. package/dist/utils/element-reference-shape.js.map +3 -3
  320. package/dist/utils/error-hints.js +29 -0
  321. package/dist/utils/error-hints.js.map +7 -0
  322. package/dist/utils/errors.js +75 -10
  323. package/dist/utils/errors.js.map +2 -2
  324. package/dist/utils/globals.js +17 -1
  325. package/dist/utils/globals.js.map +2 -2
  326. package/dist/utils/project-paths.js +50 -3
  327. package/dist/utils/project-paths.js.map +2 -2
  328. package/dist/utils/reference-path-parser.js +49 -0
  329. package/dist/utils/reference-path-parser.js.map +7 -0
  330. package/dist/utils/source-reference.js +17 -10
  331. package/dist/utils/source-reference.js.map +2 -2
  332. package/dist/utils/spec-version.js +10 -2
  333. package/dist/utils/spec-version.js.map +2 -2
  334. package/dist/validators/composed-reference-validator.js +240 -0
  335. package/dist/validators/composed-reference-validator.js.map +7 -0
  336. package/dist/validators/reference-validator.js +57 -13
  337. package/dist/validators/reference-validator.js.map +3 -3
  338. package/dist/validators/relationship-schema-validator.js +33 -5
  339. package/dist/validators/relationship-schema-validator.js.map +3 -3
  340. package/dist/validators/schema-validator.js +27 -9
  341. package/dist/validators/schema-validator.js.map +2 -2
  342. package/dist/validators/types.js.map +1 -1
  343. package/dist/viewer/README.md +6 -6
  344. package/dist/viewer/assets/main-CxzcuU_o.js +84 -0
  345. package/dist/viewer/assets/main-j-7ULYpm.css +1 -0
  346. package/dist/viewer/index.html +2 -2
  347. package/dist/viewer/manifest.json +10 -10
  348. package/dist/viewer/version.json +1 -1
  349. package/package.json +7 -3
  350. package/dist/viewer/assets/main-B7AOQXXX.js +0 -81
  351. package/dist/viewer/assets/main-vdrFrG7q.css +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/generated/node-types.ts"],
4
- "sourcesContent": ["/**\n * GENERATED FILE - DO NOT EDIT\n * This file is automatically generated by scripts/generate-registry.ts\n * during the build process. Changes will be overwritten.\n *\n * Source: cli/src/schemas/bundled/nodes (354 .node.schema.json files)\n */\n\n/**\n * Metadata for a specific node type extracted from its schema\n */\nexport interface NodeTypeInfo {\n specNodeId: SpecNodeId;\n layer: LayerId;\n type: NodeType;\n title: string;\n requiredAttributes: string[];\n optionalAttributes: string[];\n attributeConstraints: Record<string, unknown>;\n}\n\n/**\n * Union type of all 354 valid node type identifiers (spec_node_id values)\n * Format: \"{layer}.{type}\" e.g., \"motivation.goal\", \"api.endpoint\", \"data-model.entity\"\n */\nexport type SpecNodeId =\n | \"motivation.assessment\" | \"motivation.constraint\" | \"motivation.driver\" | \"motivation.goal\" | \"motivation.meaning\" |\n \"motivation.outcome\" | \"motivation.principle\" | \"motivation.requirement\" | \"motivation.stakeholder\" | \"motivation.value\" |\n \"business.businessactor\" | \"business.businesscollaboration\" | \"business.businessevent\" | \"business.businessfunction\" | \"business.businessinteraction\" |\n \"business.businessinterface\" | \"business.businessobject\" | \"business.businessprocess\" | \"business.businessrole\" | \"business.businessservice\" |\n \"business.contract\" | \"business.product\" | \"business.representation\" | \"product.capability\" | \"product.feature\" |\n \"product.milestone\" | \"product.persona\" | \"product.userworkflow\" | \"security.accesscondition\" | \"security.accountabilityrequirement\" |\n \"security.actor\" | \"security.auditconfig\" | \"security.authenticationconfig\" | \"security.bindingofduty\" | \"security.condition\" |\n \"security.countermeasure\" | \"security.dataclassification\" | \"security.delegation\" | \"security.evidence\" | \"security.fieldaccesscontrol\" |\n \"security.informationentity\" | \"security.informationright\" | \"security.needtoknow\" | \"security.passwordpolicy\" | \"security.permission\" |\n \"security.policyaction\" | \"security.policyrule\" | \"security.resourceoperation\" | \"security.retentionpolicy\" | \"security.role\" |\n \"security.secureresource\" | \"security.securityconstraints\" | \"security.securitymodel\" | \"security.securitypolicy\" | \"security.separationofduty\" |\n \"security.threat\" | \"security.validationrule\" | \"application.applicationcollaboration\" | \"application.applicationcomponent\" | \"application.applicationevent\" |\n \"application.applicationfunction\" | \"application.applicationinteraction\" | \"application.applicationinterface\" | \"application.applicationprocess\" | \"application.applicationservice\" |\n \"application.dataobject\" | \"technology.artifact\" | \"technology.communicationnetwork\" | \"technology.device\" | \"technology.node\" |\n \"technology.path\" | \"technology.systemsoftware\" | \"technology.technologycollaboration\" | \"technology.technologyevent\" | \"technology.technologyfunction\" |\n \"technology.technologyinteraction\" | \"technology.technologyinterface\" | \"technology.technologyprocess\" | \"technology.technologyservice\" | \"api.callback\" |\n \"api.components\" | \"api.contact\" | \"api.encoding\" | \"api.example\" | \"api.externaldocumentation\" |\n \"api.header\" | \"api.info\" | \"api.license\" | \"api.link\" | \"api.mediatype\" |\n \"api.oauthflow\" | \"api.oauthflows\" | \"api.openapidocument\" | \"api.operation\" | \"api.parameter\" |\n \"api.pathitem\" | \"api.paths\" | \"api.ratelimit\" | \"api.requestbody\" | \"api.response\" |\n \"api.responses\" | \"api.schema\" | \"api.securityscheme\" | \"api.server\" | \"api.servervariable\" |\n \"api.tag\" | \"data-model.arrayschema\" | \"data-model.jsonschema\" | \"data-model.numericschema\" | \"data-model.objectschema\" |\n \"data-model.reference\" | \"data-model.schemacomposition\" | \"data-model.schemadefinition\" | \"data-model.schemaproperty\" | \"data-model.stringschema\" |\n \"data-store.accesspattern\" | \"data-store.collection\" | \"data-store.database\" | \"data-store.eventhandler\" | \"data-store.field\" |\n \"data-store.index\" | \"data-store.namespace\" | \"data-store.retentionpolicy\" | \"data-store.storedlogic\" | \"data-store.validationrule\" |\n \"data-store.view\" | \"ux.actioncomponent\" | \"ux.actionpattern\" | \"ux.chartseries\" | \"ux.componentinstance\" |\n \"ux.componentreference\" | \"ux.dataconfig\" | \"ux.errorconfig\" | \"ux.experiencestate\" | \"ux.layoutconfig\" |\n \"ux.librarycomponent\" | \"ux.librarysubview\" | \"ux.stateaction\" | \"ux.stateactiontemplate\" | \"ux.statepattern\" |\n \"ux.statetransition\" | \"ux.subview\" | \"ux.tablecolumn\" | \"ux.transitiontemplate\" | \"ux.uxapplication\" |\n \"ux.uxlibrary\" | \"ux.uxspec\" | \"ux.view\" | \"navigation.breadcrumbconfig\" | \"navigation.contextvariable\" |\n \"navigation.flowstep\" | \"navigation.guardaction\" | \"navigation.guardcondition\" | \"navigation.navigationflow\" | \"navigation.navigationgraph\" |\n \"navigation.navigationguard\" | \"navigation.navigationtransition\" | \"navigation.route\" | \"navigation.routemeta\" | \"apm.alert\" |\n \"apm.dashboard\" | \"apm.exporterconfig\" | \"apm.instrumentationconfig\" | \"apm.instrumentationscope\" | \"apm.logconfiguration\" |\n \"apm.logprocessor\" | \"apm.logrecord\" | \"apm.metricconfiguration\" | \"apm.metricinstrument\" | \"apm.resource\" |\n \"apm.span\" | \"apm.spanevent\" | \"apm.spanlink\" | \"apm.traceconfiguration\" | \"testing.contextvariation\" |\n \"testing.coverageexclusion\" | \"testing.coveragegap\" | \"testing.coveragerequirement\" | \"testing.coveragesummary\" | \"testing.environmentfactor\" |\n \"testing.inputpartitionselection\" | \"testing.inputselection\" | \"testing.inputspacepartition\" | \"testing.outcomecategory\" | \"testing.partitiondependency\" |\n \"testing.partitionvalue\" | \"testing.targetcoveragesummary\" | \"testing.targetinputfield\" | \"testing.testcasesketch\" | \"testing.testcoveragemodel\" |\n \"testing.testcoveragetarget\";\n\n/**\n * Union type of all unique node type names across all layers\n * E.g., \"goal\", \"requirement\", \"endpoint\", \"table\", etc.\n */\nexport type NodeType =\n | \"accesscondition\" | \"accesspattern\" | \"accountabilityrequirement\" | \"actioncomponent\" | \"actionpattern\" |\n \"actor\" | \"alert\" | \"applicationcollaboration\" | \"applicationcomponent\" | \"applicationevent\" |\n \"applicationfunction\" | \"applicationinteraction\" | \"applicationinterface\" | \"applicationprocess\" | \"applicationservice\" |\n \"arrayschema\" | \"artifact\" | \"assessment\" | \"auditconfig\" | \"authenticationconfig\" |\n \"bindingofduty\" | \"breadcrumbconfig\" | \"businessactor\" | \"businesscollaboration\" | \"businessevent\" |\n \"businessfunction\" | \"businessinteraction\" | \"businessinterface\" | \"businessobject\" | \"businessprocess\" |\n \"businessrole\" | \"businessservice\" | \"callback\" | \"capability\" | \"chartseries\" |\n \"collection\" | \"communicationnetwork\" | \"componentinstance\" | \"componentreference\" | \"components\" |\n \"condition\" | \"constraint\" | \"contact\" | \"contextvariable\" | \"contextvariation\" |\n \"contract\" | \"countermeasure\" | \"coverageexclusion\" | \"coveragegap\" | \"coveragerequirement\" |\n \"coveragesummary\" | \"dashboard\" | \"database\" | \"dataclassification\" | \"dataconfig\" |\n \"dataobject\" | \"delegation\" | \"device\" | \"driver\" | \"encoding\" |\n \"environmentfactor\" | \"errorconfig\" | \"eventhandler\" | \"evidence\" | \"example\" |\n \"experiencestate\" | \"exporterconfig\" | \"externaldocumentation\" | \"feature\" | \"field\" |\n \"fieldaccesscontrol\" | \"flowstep\" | \"goal\" | \"guardaction\" | \"guardcondition\" |\n \"header\" | \"index\" | \"info\" | \"informationentity\" | \"informationright\" |\n \"inputpartitionselection\" | \"inputselection\" | \"inputspacepartition\" | \"instrumentationconfig\" | \"instrumentationscope\" |\n \"jsonschema\" | \"layoutconfig\" | \"librarycomponent\" | \"librarysubview\" | \"license\" |\n \"link\" | \"logconfiguration\" | \"logprocessor\" | \"logrecord\" | \"meaning\" |\n \"mediatype\" | \"metricconfiguration\" | \"metricinstrument\" | \"milestone\" | \"namespace\" |\n \"navigationflow\" | \"navigationgraph\" | \"navigationguard\" | \"navigationtransition\" | \"needtoknow\" |\n \"node\" | \"numericschema\" | \"oauthflow\" | \"oauthflows\" | \"objectschema\" |\n \"openapidocument\" | \"operation\" | \"outcome\" | \"outcomecategory\" | \"parameter\" |\n \"partitiondependency\" | \"partitionvalue\" | \"passwordpolicy\" | \"path\" | \"pathitem\" |\n \"paths\" | \"permission\" | \"persona\" | \"policyaction\" | \"policyrule\" |\n \"principle\" | \"product\" | \"ratelimit\" | \"reference\" | \"representation\" |\n \"requestbody\" | \"requirement\" | \"resource\" | \"resourceoperation\" | \"response\" |\n \"responses\" | \"retentionpolicy\" | \"role\" | \"route\" | \"routemeta\" |\n \"schema\" | \"schemacomposition\" | \"schemadefinition\" | \"schemaproperty\" | \"secureresource\" |\n \"securityconstraints\" | \"securitymodel\" | \"securitypolicy\" | \"securityscheme\" | \"separationofduty\" |\n \"server\" | \"servervariable\" | \"span\" | \"spanevent\" | \"spanlink\" |\n \"stakeholder\" | \"stateaction\" | \"stateactiontemplate\" | \"statepattern\" | \"statetransition\" |\n \"storedlogic\" | \"stringschema\" | \"subview\" | \"systemsoftware\" | \"tablecolumn\" |\n \"tag\" | \"targetcoveragesummary\" | \"targetinputfield\" | \"technologycollaboration\" | \"technologyevent\" |\n \"technologyfunction\" | \"technologyinteraction\" | \"technologyinterface\" | \"technologyprocess\" | \"technologyservice\" |\n \"testcasesketch\" | \"testcoveragemodel\" | \"testcoveragetarget\" | \"threat\" | \"traceconfiguration\" |\n \"transitiontemplate\" | \"userworkflow\" | \"uxapplication\" | \"uxlibrary\" | \"uxspec\" |\n \"validationrule\" | \"value\" | \"view\";\n\n/**\n * Union type of layer IDs that have node types\n */\nexport type LayerId =\n | \"api\" | \"apm\" | \"application\" | \"business\" | \"data-model\" |\n \"data-store\" | \"motivation\" | \"navigation\" | \"product\" | \"security\" |\n \"technology\" | \"testing\" | \"ux\";\n\nconst NODE_TYPE_MOTIVATION_ASSESSMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.assessment\",\n layer: \"motivation\",\n type: \"assessment\",\n title: \"Assessment\",\n requiredAttributes: [\"assessmentType\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"assessmentType\":{\"type\":\"string\",\"enum\":[\"SWOT\",\"risk\",\"gap\",\"feasibility\",\"readiness\",\"impact\"],\"description\":\"Classification of the assessment method or framework used\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_CONSTRAINT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.constraint\",\n layer: \"motivation\",\n type: \"constraint\",\n title: \"Constraint\",\n requiredAttributes: [\"constraintType\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"constraintType\":{\"type\":\"string\",\"enum\":[\"regulatory\",\"technical\",\"organizational\",\"time-based\",\"financial\",\"external\"],\"description\":\"Category of constraint restricting the solution space\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_DRIVER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.driver\",\n layer: \"motivation\",\n type: \"driver\",\n title: \"Driver\",\n requiredAttributes: [\"category\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"category\":{\"type\":\"string\",\"enum\":[\"market\",\"regulatory\",\"operational\",\"strategic\",\"competitive\",\"technological\",\"business\",\"technical\"],\"description\":\"Category of the motivating condition or force\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_GOAL: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.goal\",\n layer: \"motivation\",\n type: \"goal\",\n title: \"Goal\",\n requiredAttributes: [\"priority\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"priority\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\",\"informational\"],\"description\":\"Priority level of this goal\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_MEANING: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.meaning\",\n layer: \"motivation\",\n type: \"meaning\",\n title: \"Meaning\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_OUTCOME: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.outcome\",\n layer: \"motivation\",\n type: \"outcome\",\n title: \"Outcome\",\n requiredAttributes: [\"status\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"status\":{\"type\":\"string\",\"enum\":[\"planned\",\"in-progress\",\"achieved\",\"abandoned\",\"at-risk\"],\"description\":\"Lifecycle state of the outcome\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_PRINCIPLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.principle\",\n layer: \"motivation\",\n type: \"principle\",\n title: \"Principle\",\n requiredAttributes: [\"category\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"category\":{\"type\":\"string\",\"enum\":[\"architecture\",\"data\",\"security\",\"operational\",\"financial\",\"integration\",\"development\"],\"description\":\"Domain area to which this architectural principle applies\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_REQUIREMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.requirement\",\n layer: \"motivation\",\n type: \"requirement\",\n title: \"Requirement\",\n requiredAttributes: [\"requirementType\", \"priority\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"requirementType\":{\"type\":\"string\",\"enum\":[\"functional\",\"non-functional\",\"regulatory\",\"business\",\"quality\"],\"description\":\"Classification of what aspect of the system this requirement addresses\"},\"priority\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\",\"informational\"],\"description\":\"Priority level of this requirement\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_STAKEHOLDER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.stakeholder\",\n layer: \"motivation\",\n type: \"stakeholder\",\n title: \"Stakeholder\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"type\":{\"type\":\"string\",\"enum\":[\"internal\",\"external\",\"regulatory\",\"customer\",\"sponsor\",\"end-user\",\"system\"],\"description\":\"Classification of the stakeholder's relationship to the organization\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_VALUE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.value\",\n layer: \"motivation\",\n type: \"value\",\n title: \"Value\",\n requiredAttributes: [\"valueType\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"valueType\":{\"type\":\"string\",\"enum\":[\"financial\",\"strategic\",\"operational\",\"reputational\",\"social\"],\"description\":\"Category of worth or utility this value represents\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSACTOR: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessactor\",\n layer: \"business\",\n type: \"businessactor\",\n title: \"BusinessActor\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSCOLLABORATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businesscollaboration\",\n layer: \"business\",\n type: \"businesscollaboration\",\n title: \"BusinessCollaboration\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSEVENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessevent\",\n layer: \"business\",\n type: \"businessevent\",\n title: \"BusinessEvent\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"type\":{\"type\":\"string\",\"enum\":[\"internal\",\"external\",\"message\",\"timer\"],\"description\":\"Classification of the business event trigger\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSFUNCTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessfunction\",\n layer: \"business\",\n type: \"businessfunction\",\n title: \"BusinessFunction\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSINTERACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessinteraction\",\n layer: \"business\",\n type: \"businessinteraction\",\n title: \"BusinessInteraction\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSINTERFACE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessinterface\",\n layer: \"business\",\n type: \"businessinterface\",\n title: \"BusinessInterface\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSOBJECT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessobject\",\n layer: \"business\",\n type: \"businessobject\",\n title: \"BusinessObject\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSPROCESS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessprocess\",\n layer: \"business\",\n type: \"businessprocess\",\n title: \"BusinessProcess\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSROLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessrole\",\n layer: \"business\",\n type: \"businessrole\",\n title: \"BusinessRole\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSSERVICE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessservice\",\n layer: \"business\",\n type: \"businessservice\",\n title: \"BusinessService\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_CONTRACT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.contract\",\n layer: \"business\",\n type: \"contract\",\n title: \"Contract\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_PRODUCT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.product\",\n layer: \"business\",\n type: \"product\",\n title: \"Product\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_BUSINESS_REPRESENTATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.representation\",\n layer: \"business\",\n type: \"representation\",\n title: \"Representation\",\n requiredAttributes: [\"format\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"format\":{\"type\":\"string\",\"enum\":[\"pdf\",\"html\",\"xml\",\"json\",\"plain-text\",\"binary\"],\"description\":\"The media format of this representation\"}},\n};\n\nconst NODE_TYPE_PRODUCT_CAPABILITY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"product.capability\",\n layer: \"product\",\n type: \"capability\",\n title: \"Capability\",\n requiredAttributes: [\"status\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Detailed description of the capability\"},\"status\":{\"type\":\"string\",\"enum\":[\"proposed\",\"planned\",\"developing\",\"delivered\",\"deprecated\"],\"description\":\"Lifecycle status of the capability\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_PRODUCT_FEATURE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"product.feature\",\n layer: \"product\",\n type: \"feature\",\n title: \"Feature\",\n requiredAttributes: [\"priority\", \"status\"],\n optionalAttributes: [\"documentation\", \"size\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Detailed description of the feature\"},\"priority\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\",\"informational\"],\"description\":\"Priority level\"},\"status\":{\"type\":\"string\",\"enum\":[\"proposed\",\"planned\",\"developing\",\"delivered\",\"deprecated\"],\"description\":\"Lifecycle status of the feature\"},\"size\":{\"type\":\"string\",\"enum\":[\"xs\",\"s\",\"m\",\"l\",\"xl\"],\"description\":\"Relative sizing estimate\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_PRODUCT_MILESTONE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"product.milestone\",\n layer: \"product\",\n type: \"milestone\",\n title: \"Milestone\",\n requiredAttributes: [\"status\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Detailed description of the milestone\"},\"status\":{\"type\":\"string\",\"enum\":[\"proposed\",\"planned\",\"active\",\"completed\",\"cancelled\"],\"description\":\"Milestone status\"}},\n};\n\nconst NODE_TYPE_PRODUCT_PERSONA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"product.persona\",\n layer: \"product\",\n type: \"persona\",\n title: \"Persona\",\n requiredAttributes: [\"category\", \"proficiency\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Detailed description of the persona\"},\"category\":{\"type\":\"string\",\"enum\":[\"primary\",\"secondary\",\"served\",\"negative\"],\"description\":\"Persona classification by importance\"},\"proficiency\":{\"type\":\"string\",\"enum\":[\"novice\",\"intermediate\",\"advanced\",\"expert\"],\"description\":\"Technical proficiency level\"}},\n};\n\nconst NODE_TYPE_PRODUCT_USERWORKFLOW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"product.userworkflow\",\n layer: \"product\",\n type: \"userworkflow\",\n title: \"UserWorkflow\",\n requiredAttributes: [\"complexity\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Detailed description of the user workflow\"},\"complexity\":{\"type\":\"string\",\"enum\":[\"simple\",\"moderate\",\"complex\"],\"description\":\"Workflow complexity assessment\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_SECURITY_ACCESSCONDITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.accesscondition\",\n layer: \"security\",\n type: \"accesscondition\",\n title: \"AccessCondition\",\n requiredAttributes: [\"field\", \"operator\", \"value\", \"message\", \"source\"],\n optionalAttributes: [],\n attributeConstraints: {\"field\":{\"type\":\"string\"},\"operator\":{\"type\":\"string\",\"enum\":[\"eq\",\"neq\",\"gt\",\"lt\",\"in\",\"contains\",\"matches\",\"exists\"],\"description\":\"Comparison operator applied to the field value, per XACML 3.0 match function semantics.\"},\"value\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"},\"source\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_SECURITY_ACCOUNTABILITYREQUIREMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.accountabilityrequirement\",\n layer: \"security\",\n type: \"accountabilityrequirement\",\n title: \"AccountabilityRequirement\",\n requiredAttributes: [\"action\", \"resource\", \"nonRepudiation\", \"purposeDeclaration\", \"challengeable\"],\n optionalAttributes: [],\n attributeConstraints: {\"action\":{\"type\":\"string\"},\"resource\":{\"type\":\"string\"},\"nonRepudiation\":{\"type\":\"boolean\"},\"purposeDeclaration\":{\"type\":\"string\"},\"challengeable\":{\"type\":\"boolean\"}},\n};\n\nconst NODE_TYPE_SECURITY_ACTOR: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.actor\",\n layer: \"security\",\n type: \"actor\",\n title: \"Actor\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"description\", \"trustLevel\", \"objectives\", \"dependencies\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"human\",\"service\",\"system\",\"external-entity\"],\"description\":\"Category of actor, per NIST AC-2 (Account Management) subject classification.\"},\"description\":{\"type\":\"string\"},\"trustLevel\":{\"type\":\"string\",\"enum\":[\"zero\",\"low\",\"medium\",\"high\",\"full\"],\"description\":\"Zero-trust assurance level assigned to this actor, per NIST SP 800-207.\"},\"objectives\":{\"type\":\"array\",\"description\":\"References nodes describing this actor's goals or intended behaviors (e.g., for threat modeling or trust analysis).\"},\"dependencies\":{\"type\":\"array\",\"description\":\"References actor or delegation nodes this actor depends on for trust chain or access delegation analysis.\"}},\n};\n\nconst NODE_TYPE_SECURITY_AUDITCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.auditconfig\",\n layer: \"security\",\n type: \"auditconfig\",\n title: \"AuditConfig\",\n requiredAttributes: [\"level\", \"sanitizeFields\"],\n optionalAttributes: [\"enabled\", \"includePayload\", \"includeHeaders\", \"source\"],\n attributeConstraints: {\"enabled\":{\"type\":\"boolean\"},\"level\":{\"type\":\"string\",\"enum\":[\"none\",\"basic\",\"standard\",\"detailed\",\"verbose\"],\"description\":\"Verbosity of audit event capture, from no logging to full payload-level tracing, per NIST SP 800-53 AU-2 Event Logging.\"},\"includePayload\":{\"type\":\"boolean\"},\"includeHeaders\":{\"type\":\"boolean\"},\"sanitizeFields\":{\"type\":\"string\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_AUTHENTICATIONCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.authenticationconfig\",\n layer: \"security\",\n type: \"authenticationconfig\",\n title: \"AuthenticationConfig\",\n requiredAttributes: [\"provider\", \"sessionTimeout\"],\n optionalAttributes: [\"verificationLevel\", \"mfaRequired\", \"passwordPolicy\", \"source\"],\n attributeConstraints: {\"provider\":{\"type\":\"string\",\"enum\":[\"oauth2\",\"saml\",\"ldap\",\"openid-connect\",\"local\",\"fido2\"],\"description\":\"Authentication protocol or provider type.\"},\"verificationLevel\":{\"type\":\"string\",\"enum\":[\"ial1\",\"ial2\",\"ial3\"],\"description\":\"Identity Assurance Level, per NIST SP 800-63A: IAL1 (self-asserted), IAL2 (remote identity proofing), IAL3 (in-person proofing).\"},\"sessionTimeout\":{\"type\":\"integer\"},\"mfaRequired\":{\"type\":\"boolean\"},\"passwordPolicy\":{\"type\":\"string\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_BINDINGOFDUTY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.bindingofduty\",\n layer: \"security\",\n type: \"bindingofduty\",\n title: \"BindingOfDuty\",\n requiredAttributes: [\"message\"],\n optionalAttributes: [\"description\", \"scope\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"},\"scope\":{\"type\":\"string\",\"description\":\"Organizational or operational boundary within which this binding of duty constraint applies (e.g., a project, department, or system).\"}},\n};\n\nconst NODE_TYPE_SECURITY_CONDITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.condition\",\n layer: \"security\",\n type: \"condition\",\n title: \"Condition\",\n requiredAttributes: [\"expression\"],\n optionalAttributes: [\"description\", \"operator\", \"evaluationType\", \"source\"],\n attributeConstraints: {\"expression\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"operator\":{\"type\":\"string\",\"enum\":[\"eq\",\"neq\",\"gt\",\"lt\",\"in\",\"contains\",\"matches\"],\"description\":\"Comparison operator for the condition expression, aligned with XACML MatchType values.\"},\"evaluationType\":{\"type\":\"string\",\"enum\":[\"static\",\"dynamic\",\"runtime\",\"compile-time\"],\"description\":\"When the condition is evaluated: at build time, at policy load, or at runtime during access enforcement.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_COUNTERMEASURE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.countermeasure\",\n layer: \"security\",\n type: \"countermeasure\",\n title: \"Countermeasure\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"description\", \"effectiveness\", \"implemented\", \"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"technical\",\"operational\",\"management\",\"physical\"],\"description\":\"NIST SP 800-53 control family classification: technical (hardware/software mechanisms), operational (people and procedures), management (governance), or physical (facility/environmental).\"},\"description\":{\"type\":\"string\"},\"effectiveness\":{\"type\":\"string\",\"enum\":[\"high\",\"medium\",\"low\",\"unknown\"],\"description\":\"Assessed effectiveness of the countermeasure in reducing threat risk, per NIST SP 800-30 risk treatment evaluation.\"},\"implemented\":{\"type\":\"boolean\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_DATACLASSIFICATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.dataclassification\",\n layer: \"security\",\n type: \"dataclassification\",\n title: \"DataClassification\",\n requiredAttributes: [],\n optionalAttributes: [\"version\", \"encryptionRequirement\", \"classificationLevel\"],\n attributeConstraints: {\"version\":{\"type\":\"string\"},\"encryptionRequirement\":{\"type\":\"string\",\"enum\":[\"none\",\"in-transit\",\"at-rest\",\"end-to-end\",\"field-level\"],\"description\":\"Minimum encryption obligation for data within this classification scheme, per NIST SP 800-53 SC-28 and SC-8 controls.\"},\"classificationLevel\":{\"type\":\"string\",\"enum\":[\"public\",\"internal\",\"confidential\",\"restricted\",\"top-secret\"],\"description\":\"Data sensitivity tier applied by this scheme, aligned with NIST FIPS 199 security categorization levels.\"}},\n};\n\nconst NODE_TYPE_SECURITY_DELEGATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.delegation\",\n layer: \"security\",\n type: \"delegation\",\n title: \"Delegation\",\n requiredAttributes: [\"delegator\", \"delegatee\", \"delegationType\"],\n optionalAttributes: [\"validUntil\", \"description\"],\n attributeConstraints: {\"delegator\":{\"type\":\"string\"},\"delegatee\":{\"type\":\"string\"},\"delegationType\":{\"type\":\"string\",\"enum\":[\"full\",\"partial\",\"temporary\",\"conditional\",\"revocable\"],\"description\":\"Scope and constraints of the delegation grant, per OAuth 2.0 token delegation and NIST SP 800-162 attribute delegation models.\"},\"validUntil\":{\"type\":\"string\",\"description\":\"ISO 8601 datetime after which this delegation automatically expires. Required for delegationType 'temporary' and recommended for 'conditional' to enforce time-bounded privilege grants per AC-6.\"},\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_SECURITY_EVIDENCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.evidence\",\n layer: \"security\",\n type: \"evidence\",\n title: \"Evidence\",\n requiredAttributes: [\"type\", \"source\"],\n optionalAttributes: [\"strength\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"log\",\"signature\",\"timestamp\",\"hash\",\"certificate\",\"audit-trail\"],\"description\":\"Category of evidence artifact, per NIST AU-10 (Non-repudiation).\"},\"strength\":{\"type\":\"string\",\"enum\":[\"strong\",\"moderate\",\"weak\",\"cryptographic\"],\"description\":\"Assurance strength of the evidence, per NIST SP 800-63-3 assurance levels.\"},\"source\":{\"type\":\"string\",\"description\":\"Origin or location of this evidence artifact, such as a system identifier, log stream name, or storage URI.\"}},\n};\n\nconst NODE_TYPE_SECURITY_FIELDACCESSCONTROL: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.fieldaccesscontrol\",\n layer: \"security\",\n type: \"fieldaccesscontrol\",\n title: \"FieldAccessControl\",\n requiredAttributes: [\"field\"],\n optionalAttributes: [\"maskingStrategy\", \"description\"],\n attributeConstraints: {\"field\":{\"type\":\"string\"},\"maskingStrategy\":{\"type\":\"string\",\"enum\":[\"redact\",\"hash\",\"tokenize\",\"truncate\",\"blur\",\"none\"],\"description\":\"Technique used to protect sensitive field values when exposed to unauthorized principals, per NIST SP 800-53 SC-28 data-at-rest protection controls.\"},\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_SECURITY_INFORMATIONENTITY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.informationentity\",\n layer: \"security\",\n type: \"informationentity\",\n title: \"InformationEntity\",\n requiredAttributes: [\"classification\"],\n optionalAttributes: [\"description\", \"authorizationRequirements\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"classification\":{\"type\":\"string\",\"description\":\"Sensitivity classification of this information asset. Use classificationLevel values: public, internal, confidential, restricted, or top-secret.\"},\"authorizationRequirements\":{\"type\":\"array\",\"description\":\"References InformationRight nodes defining which actors may access this entity and under what constraints.\"}},\n};\n\nconst NODE_TYPE_SECURITY_INFORMATIONRIGHT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.informationright\",\n layer: \"security\",\n type: \"informationright\",\n title: \"InformationRight\",\n requiredAttributes: [\"actor\", \"constraint\"],\n optionalAttributes: [\"operations\"],\n attributeConstraints: {\"actor\":{\"type\":\"string\",\"description\":\"Identifier of the actor (security.actor) to whom this right is granted.\"},\"constraint\":{\"type\":\"string\",\"description\":\"Boolean constraint expression that must evaluate to true for the right to apply (e.g., 'actor.department == resource.ownerDepartment').\"},\"operations\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"read\",\"write\",\"delete\",\"share\",\"export\",\"approve\"]},\"description\":\"Permitted operations on the information entity granted by this right.\"}},\n};\n\nconst NODE_TYPE_SECURITY_NEEDTOKNOW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.needtoknow\",\n layer: \"security\",\n type: \"needtoknow\",\n title: \"NeedToKnow\",\n requiredAttributes: [\"resource\", \"objective\", \"message\", \"justificationRequired\"],\n optionalAttributes: [],\n attributeConstraints: {\"resource\":{\"type\":\"string\"},\"objective\":{\"type\":\"string\",\"description\":\"A free-text statement of the business or operational purpose that justifies access. This is a purpose declaration string, not a reference to an ActorObjective node.\"},\"message\":{\"type\":\"string\"},\"justificationRequired\":{\"type\":\"boolean\"}},\n};\n\nconst NODE_TYPE_SECURITY_PASSWORDPOLICY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.passwordpolicy\",\n layer: \"security\",\n type: \"passwordpolicy\",\n title: \"PasswordPolicy\",\n requiredAttributes: [\"expiryDays\"],\n optionalAttributes: [\"minLength\", \"maxLength\", \"requireUppercase\", \"requireLowercase\", \"requireNumbers\", \"requireSpecialChars\", \"preventReuse\", \"lockoutAttempts\", \"lockoutDuration\"],\n attributeConstraints: {\"minLength\":{\"type\":\"integer\"},\"maxLength\":{\"type\":\"integer\"},\"requireUppercase\":{\"type\":\"boolean\"},\"requireLowercase\":{\"type\":\"boolean\"},\"requireNumbers\":{\"type\":\"boolean\"},\"requireSpecialChars\":{\"type\":\"boolean\"},\"preventReuse\":{\"type\":\"integer\"},\"expiryDays\":{\"type\":\"integer\"},\"lockoutAttempts\":{\"type\":\"integer\"},\"lockoutDuration\":{\"type\":\"integer\"}},\n};\n\nconst NODE_TYPE_SECURITY_PERMISSION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.permission\",\n layer: \"security\",\n type: \"permission\",\n title: \"Permission\",\n requiredAttributes: [\"scope\", \"resource\", \"action\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"scope\":{\"type\":\"string\",\"enum\":[\"read-only\",\"write\",\"admin\",\"delegated\",\"conditional\"],\"description\":\"Access level granted by this permission, ranging from read-only to full administrative control.\"},\"resource\":{\"type\":\"string\"},\"action\":{\"type\":\"string\",\"enum\":[\"create\",\"read\",\"update\",\"delete\",\"execute\",\"list\"],\"description\":\"CRUD-plus operation type this permission governs, per NIST SP 800-53 AC-3 Access Enforcement.\"}},\n};\n\nconst NODE_TYPE_SECURITY_POLICYACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.policyaction\",\n layer: \"security\",\n type: \"policyaction\",\n title: \"PolicyAction\",\n requiredAttributes: [\"type\", \"parameters\"],\n optionalAttributes: [\"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"allow\",\"deny\",\"log\",\"alert\",\"redirect\",\"rate-limit\",\"challenge\",\"quarantine\",\"notify\",\"mask\",\"encrypt\"],\"description\":\"Enforcement action type applied when the parent policy rule fires.\"},\"parameters\":{\"type\":\"object\",\"description\":\"Key-value configuration for the action (e.g., redirect URL, notification recipient, masking pattern).\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_POLICYRULE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.policyrule\",\n layer: \"security\",\n type: \"policyrule\",\n title: \"PolicyRule\",\n requiredAttributes: [\"condition\", \"effect\"],\n optionalAttributes: [\"message\", \"source\"],\n attributeConstraints: {\"condition\":{\"type\":\"string\"},\"effect\":{\"type\":\"string\",\"enum\":[\"permit\",\"deny\",\"indeterminate\",\"not-applicable\"],\"description\":\"Policy decision outcome, per XACML 3.0 Rule element effect values.\"},\"message\":{\"type\":\"string\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_RESOURCEOPERATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.resourceoperation\",\n layer: \"security\",\n type: \"resourceoperation\",\n title: \"ResourceOperation\",\n requiredAttributes: [\"operation\"],\n optionalAttributes: [\"description\", \"conditions\", \"rateLimit\", \"audit\"],\n attributeConstraints: {\"operation\":{\"type\":\"string\",\"enum\":[\"create\",\"read\",\"update\",\"delete\",\"list\",\"execute\",\"approve\",\"share\",\"export\",\"import\"],\"description\":\"Permitted operation type on the secured resource.\"},\"description\":{\"type\":\"string\"},\"conditions\":{\"type\":\"array\",\"description\":\"References AccessCondition nodes that must be satisfied before this operation is authorized.\"},\"rateLimit\":{\"type\":\"array\",\"description\":\"References RateLimit nodes (api.ratelimit) applied to this operation.\"},\"audit\":{\"type\":\"array\",\"description\":\"References AuditConfig nodes specifying how this operation is logged for accountability.\"}},\n};\n\nconst NODE_TYPE_SECURITY_RETENTIONPOLICY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.retentionpolicy\",\n layer: \"security\",\n type: \"retentionpolicy\",\n title: \"RetentionPolicy\",\n requiredAttributes: [\"period\"],\n optionalAttributes: [\"destination\", \"deletionMethod\", \"description\"],\n attributeConstraints: {\"period\":{\"type\":\"string\"},\"destination\":{\"type\":\"string\",\"enum\":[\"siem\",\"database\",\"file\",\"cloud\",\"stream\",\"archive\"],\"description\":\"Storage or forwarding target for retained security data, per NIST SP 800-53 AU-9 Protection of Audit Information.\"},\"deletionMethod\":{\"type\":\"string\",\"enum\":[\"secure-erase\",\"crypto-shred\",\"overwrite\",\"logical-delete\",\"archive\"],\"description\":\"Secure disposal technique applied when data reaches end of retention period, per NIST SP 800-88 Guidelines for Media Sanitization.\"},\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_SECURITY_ROLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.role\",\n layer: \"security\",\n type: \"role\",\n title: \"Role\",\n requiredAttributes: [\"displayName\", \"level\", \"inheritsFrom\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"displayName\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"level\":{\"type\":\"integer\"},\"inheritsFrom\":{\"type\":\"string\",\"description\":\"Name of the parent role this role inherits permissions from. Supports single inheritance; the child accumulates all permissions of the referenced role in addition to its own.\"}},\n};\n\nconst NODE_TYPE_SECURITY_SECURERESOURCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.secureresource\",\n layer: \"security\",\n type: \"secureresource\",\n title: \"SecureResource\",\n requiredAttributes: [\"resource\", \"type\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"resource\":{\"type\":\"string\"},\"type\":{\"type\":\"string\",\"enum\":[\"api\",\"database\",\"file\",\"service\",\"ui\",\"stream\"],\"description\":\"Category of protected resource, used to apply appropriate access control and audit policies per NIST SP 800-53 AC-3.\"},\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_SECURITY_SECURITYCONSTRAINTS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.securityconstraints\",\n layer: \"security\",\n type: \"securityconstraints\",\n title: \"SecurityConstraints\",\n requiredAttributes: [],\n optionalAttributes: [\"version\"],\n attributeConstraints: {\"version\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_SECURITY_SECURITYMODEL: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.securitymodel\",\n layer: \"security\",\n type: \"securitymodel\",\n title: \"SecurityModel\",\n requiredAttributes: [\"version\", \"application\"],\n optionalAttributes: [\"accessControlModel\"],\n attributeConstraints: {\"version\":{\"type\":\"string\"},\"application\":{\"type\":\"string\",\"description\":\"Name or identifier of the application this security model governs. Used to scope the security posture to a single application or bounded context.\"},\"accessControlModel\":{\"type\":\"string\",\"enum\":[\"dac\",\"mac\",\"rbac\",\"abac\",\"rebac\"],\"description\":\"Access control paradigm in use: DAC (discretionary), MAC (mandatory), RBAC (role-based), ABAC (attribute-based), ReBAC (relationship-based). Per NIST SP 800-162 and SP 800-207.\"}},\n};\n\nconst NODE_TYPE_SECURITY_SECURITYPOLICY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.securitypolicy\",\n layer: \"security\",\n type: \"securitypolicy\",\n title: \"SecurityPolicy\",\n requiredAttributes: [\"priority\", \"target\"],\n optionalAttributes: [\"description\", \"enabled\", \"requirementLevel\", \"source\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"enabled\":{\"type\":\"boolean\"},\"priority\":{\"type\":\"integer\"},\"target\":{\"type\":\"string\",\"enum\":[\"endpoint\",\"service\",\"data\",\"user\",\"role\",\"resource\"],\"description\":\"The category of entity this policy governs, aligned with XACML target element semantics.\"},\"requirementLevel\":{\"type\":\"string\",\"enum\":[\"mandatory\",\"recommended\",\"optional\",\"conditional\"],\"description\":\"Compliance obligation of this policy, indicating whether enforcement is required by regulation, recommended best practice, or situationally applicable.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_SEPARATIONOFDUTY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.separationofduty\",\n layer: \"security\",\n type: \"separationofduty\",\n title: \"SeparationOfDuty\",\n requiredAttributes: [\"message\"],\n optionalAttributes: [\"description\", \"mutuallyExclusive\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"},\"mutuallyExclusive\":{\"type\":\"boolean\",\"description\":\"When true, the roles in this constraint cannot be held simultaneously by the same subject. Enforces strict role exclusivity within the separation of duty rule.\"}},\n};\n\nconst NODE_TYPE_SECURITY_THREAT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.threat\",\n layer: \"security\",\n type: \"threat\",\n title: \"Threat\",\n requiredAttributes: [\"threatens\", \"likelihood\", \"impact\"],\n optionalAttributes: [\"description\", \"criticality\", \"source\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"threatens\":{\"type\":\"string\"},\"likelihood\":{\"type\":\"string\",\"enum\":[\"low\",\"moderate\",\"high\"],\"description\":\"Probability the threat will be exploited, per NIST SP 800-30 Table E-2.\"},\"impact\":{\"type\":\"string\",\"enum\":[\"low\",\"moderate\",\"high\"],\"description\":\"Potential adverse impact if the threat is realized, per NIST FIPS 199.\"},\"criticality\":{\"type\":\"string\",\"enum\":[\"low\",\"medium\",\"high\",\"critical\"],\"description\":\"Combined severity rating reflecting both likelihood and impact for prioritization.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_VALIDATIONRULE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.validationrule\",\n layer: \"security\",\n type: \"validationrule\",\n title: \"ValidationRule\",\n requiredAttributes: [\"type\", \"value\", \"message\"],\n optionalAttributes: [\"severity\", \"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"regex\",\"range\",\"length\",\"enum\",\"custom\"],\"description\":\"Validation mechanism type, per NIST SI-10 (Information Input Validation).\"},\"value\":{\"type\":\"string\",\"description\":\"Validation constraint value whose meaning depends on `type`: a regex pattern string, a numeric range expression (e.g. '1-100'), a maximum character count, a pipe-delimited list of allowed enum values, or a custom expression string.\"},\"message\":{\"type\":\"string\",\"description\":\"Human-readable violation message shown to the user or logged when this validation rule fails.\"},\"severity\":{\"type\":\"string\",\"enum\":[\"error\",\"warning\",\"info\"],\"description\":\"Severity of a validation rule violation.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONCOLLABORATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationcollaboration\",\n layer: \"application\",\n type: \"applicationcollaboration\",\n title: \"ApplicationCollaboration\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONCOMPONENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationcomponent\",\n layer: \"application\",\n type: \"applicationcomponent\",\n title: \"ApplicationComponent\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"type\":{\"type\":\"string\",\"enum\":[\"generic\",\"external\",\"internal\",\"service-component\"],\"description\":\"Classification of the application component kind.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONEVENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationevent\",\n layer: \"application\",\n type: \"applicationevent\",\n title: \"ApplicationEvent\",\n requiredAttributes: [\"eventType\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"eventType\":{\"type\":\"string\",\"enum\":[\"domain\",\"integration\",\"system\"],\"description\":\"Classification of the application event: domain (business logic), integration (cross-system), or system (infrastructure/runtime).\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONFUNCTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationfunction\",\n layer: \"application\",\n type: \"applicationfunction\",\n title: \"ApplicationFunction\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONINTERACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationinteraction\",\n layer: \"application\",\n type: \"applicationinteraction\",\n title: \"ApplicationInteraction\",\n requiredAttributes: [\"pattern\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"pattern\":{\"type\":\"string\",\"enum\":[\"request-reply\",\"publish-subscribe\",\"event-driven\",\"fire-and-forget\"],\"description\":\"Interaction pattern used by this application collaboration.\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONINTERFACE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationinterface\",\n layer: \"application\",\n type: \"applicationinterface\",\n title: \"ApplicationInterface\",\n requiredAttributes: [\"protocol\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"protocol\":{\"type\":\"string\",\"enum\":[\"HTTP\",\"HTTPS\",\"gRPC\",\"AMQP\",\"WebSocket\",\"REST\",\"GraphQL\",\"SOAP\"],\"description\":\"Application-level communication protocol used to expose the service. Use application-level protocols only; network/transport-level protocols (TCP, TLS) belong in the Technology Layer.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONPROCESS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationprocess\",\n layer: \"application\",\n type: \"applicationprocess\",\n title: \"ApplicationProcess\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONSERVICE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationservice\",\n layer: \"application\",\n type: \"applicationservice\",\n title: \"ApplicationService\",\n requiredAttributes: [\"serviceType\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"serviceType\":{\"type\":\"string\",\"enum\":[\"synchronous\",\"asynchronous\",\"event-driven\",\"batch\"],\"description\":\"Classification of how the service exposes its functionality to consumers.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_DATAOBJECT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.dataobject\",\n layer: \"application\",\n type: \"dataobject\",\n title: \"DataObject\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_ARTIFACT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.artifact\",\n layer: \"technology\",\n type: \"artifact\",\n title: \"Artifact\",\n requiredAttributes: [\"artifactType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"artifactType\":{\"type\":\"string\",\"enum\":[\"file\",\"container-image\",\"archive\",\"library\",\"script\",\"configuration\"],\"description\":\"Data artifact category, per ArchiMate 3.2 Artifact element.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_COMMUNICATIONNETWORK: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.communicationnetwork\",\n layer: \"technology\",\n type: \"communicationnetwork\",\n title: \"CommunicationNetwork\",\n requiredAttributes: [\"networkType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"networkType\":{\"type\":\"string\",\"enum\":[\"lan\",\"wan\",\"vpn\",\"wireless\",\"internet\",\"intranet\"],\"description\":\"Topology and scope classification of the network, per ArchiMate 3.2 CommunicationNetwork element.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_DEVICE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.device\",\n layer: \"technology\",\n type: \"device\",\n title: \"Device\",\n requiredAttributes: [\"deviceType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"deviceType\":{\"type\":\"string\",\"enum\":[\"server\",\"workstation\",\"network-device\",\"storage\",\"mobile\",\"embedded\"],\"description\":\"Physical hardware category of the device, per ArchiMate 3.2 Technology Layer device classification.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_NODE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.node\",\n layer: \"technology\",\n type: \"node\",\n title: \"Node\",\n requiredAttributes: [\"nodeType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"nodeType\":{\"type\":\"string\",\"enum\":[\"physical-server\",\"virtual-machine\",\"container\",\"kubernetes-cluster\",\"bare-metal\"],\"description\":\"Computational resource category of the node, per ArchiMate 3.2 Node element.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_PATH: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.path\",\n layer: \"technology\",\n type: \"path\",\n title: \"Path\",\n requiredAttributes: [\"pathType\"],\n optionalAttributes: [\"documentation\", \"protocol\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"pathType\":{\"type\":\"string\",\"enum\":[\"point-to-point\",\"multicast\",\"broadcast\",\"bidirectional\"],\"description\":\"Transmission topology of the path, per ArchiMate 3.2 Path element.\"},\"protocol\":{\"type\":\"string\",\"enum\":[\"http\",\"https\",\"grpc\",\"amqp\",\"mqtt\",\"tcp\",\"udp\",\"websocket\"],\"description\":\"Communication protocol carried by this path.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_SYSTEMSOFTWARE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.systemsoftware\",\n layer: \"technology\",\n type: \"systemsoftware\",\n title: \"SystemSoftware\",\n requiredAttributes: [\"softwareType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"softwareType\":{\"type\":\"string\",\"enum\":[\"operating-system\",\"container-runtime\",\"middleware\",\"dbms\",\"message-broker\",\"cache\"],\"description\":\"Platform software category, per ArchiMate 3.2 SystemSoftware element.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYCOLLABORATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologycollaboration\",\n layer: \"technology\",\n type: \"technologycollaboration\",\n title: \"TechnologyCollaboration\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYEVENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyevent\",\n layer: \"technology\",\n type: \"technologyevent\",\n title: \"TechnologyEvent\",\n requiredAttributes: [\"eventType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"eventType\":{\"type\":\"string\",\"enum\":[\"failure\",\"alert\",\"scheduled\",\"threshold-breach\",\"deployment\"],\"description\":\"Technology state change category, per ArchiMate 3.2 Technology Event element; aligned with OpenTelemetry event semantics.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYFUNCTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyfunction\",\n layer: \"technology\",\n type: \"technologyfunction\",\n title: \"TechnologyFunction\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYINTERACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyinteraction\",\n layer: \"technology\",\n type: \"technologyinteraction\",\n title: \"TechnologyInteraction\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYINTERFACE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyinterface\",\n layer: \"technology\",\n type: \"technologyinterface\",\n title: \"TechnologyInterface\",\n requiredAttributes: [\"protocol\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"protocol\":{\"type\":\"string\",\"enum\":[\"http\",\"https\",\"grpc\",\"amqp\",\"mqtt\",\"tcp\",\"udp\",\"websocket\"],\"description\":\"Communication protocol exposed at this interface, per ArchiMate 3.2 TechnologyInterface element.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYPROCESS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyprocess\",\n layer: \"technology\",\n type: \"technologyprocess\",\n title: \"TechnologyProcess\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYSERVICE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyservice\",\n layer: \"technology\",\n type: \"technologyservice\",\n title: \"TechnologyService\",\n requiredAttributes: [\"serviceType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\"},\"serviceType\":{\"type\":\"string\",\"enum\":[\"compute\",\"storage\",\"messaging\",\"database\",\"cache\",\"identity\",\"monitoring\"],\"description\":\"Infrastructure service category, aligned with cloud provider service classifications (IaaS/PaaS/SaaS) per ArchiMate 3.2 TechnologyService.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_API_CALLBACK: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.callback\",\n layer: \"api\",\n type: \"callback\",\n title: \"Callback\",\n requiredAttributes: [],\n optionalAttributes: [\"expression\"],\n attributeConstraints: {\"expression\":{\"type\":\"string\",\"description\":\"OpenAPI 3.0 Runtime Expression (e.g., $request.body#/callbackUrl) resolved at runtime against the triggering request to determine the callback target URL.\"}},\n};\n\nconst NODE_TYPE_API_COMPONENTS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.components\",\n layer: \"api\",\n type: \"components\",\n title: \"Components\",\n requiredAttributes: [],\n optionalAttributes: [],\n attributeConstraints: {},\n};\n\nconst NODE_TYPE_API_CONTACT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.contact\",\n layer: \"api\",\n type: \"contact\",\n title: \"Contact\",\n requiredAttributes: [],\n optionalAttributes: [\"url\", \"email\"],\n attributeConstraints: {\"url\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_API_ENCODING: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.encoding\",\n layer: \"api\",\n type: \"encoding\",\n title: \"Encoding\",\n requiredAttributes: [],\n optionalAttributes: [\"propertyName\", \"contentType\", \"style\", \"explode\", \"allowReserved\"],\n attributeConstraints: {\"propertyName\":{\"type\":\"string\"},\"contentType\":{\"type\":\"string\"},\"style\":{\"type\":\"string\",\"enum\":[\"matrix\",\"label\",\"form\",\"simple\",\"spaceDelimited\",\"pipeDelimited\",\"deepObject\"],\"description\":\"Serialization style for the encoding (only applicable to multipart/form-data and application/x-www-form-urlencoded)\"},\"explode\":{\"type\":\"boolean\"},\"allowReserved\":{\"type\":\"boolean\",\"description\":\"Allows reserved characters in field values without percent-encoding. Only applies when style is 'form' and the content type is 'application/x-www-form-urlencoded'.\"}},\n};\n\nconst NODE_TYPE_API_EXAMPLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.example\",\n layer: \"api\",\n type: \"example\",\n title: \"Example\",\n requiredAttributes: [],\n optionalAttributes: [\"summary\", \"description\", \"value\", \"externalValue\"],\n attributeConstraints: {\"summary\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"value\":{\"type\":\"string\",\"description\":\"Inline example value. Mutually exclusive with externalValue \u2014 only one may be set per Example.\"},\"externalValue\":{\"type\":\"string\",\"description\":\"URL pointing to an external example. Mutually exclusive with value \u2014 only one may be set per Example.\"}},\n};\n\nconst NODE_TYPE_API_EXTERNALDOCUMENTATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.externaldocumentation\",\n layer: \"api\",\n type: \"externaldocumentation\",\n title: \"ExternalDocumentation\",\n requiredAttributes: [\"url\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"url\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_API_HEADER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.header\",\n layer: \"api\",\n type: \"header\",\n title: \"Header\",\n requiredAttributes: [],\n optionalAttributes: [\"description\", \"required\", \"deprecated\", \"schema\", \"style\", \"explode\", \"allowEmptyValue\", \"allowReserved\", \"example\", \"examples\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"required\":{\"type\":\"boolean\"},\"deprecated\":{\"type\":\"boolean\"},\"schema\":{\"type\":\"object\",\"description\":\"The schema defining the type and constraints for the header value\"},\"style\":{\"type\":\"string\",\"enum\":[\"matrix\",\"label\",\"form\",\"simple\",\"spaceDelimited\",\"pipeDelimited\",\"deepObject\"],\"description\":\"Serialization style for the header value. Default is 'simple' for header parameters.\"},\"explode\":{\"type\":\"boolean\",\"description\":\"When true, array/object values generate separate header instances for each element. Default: false.\"},\"allowEmptyValue\":{\"type\":\"boolean\",\"description\":\"Allows the header to be sent with an empty value.\"},\"allowReserved\":{\"type\":\"boolean\",\"description\":\"Allows reserved characters in the header value without percent-encoding.\"},\"example\":{\"description\":\"An example value for the header. Mutually exclusive with 'examples'.\"},\"examples\":{\"type\":\"object\",\"description\":\"Map of named Example objects for the header. Mutually exclusive with 'example'.\"}},\n};\n\nconst NODE_TYPE_API_INFO: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.info\",\n layer: \"api\",\n type: \"info\",\n title: \"Info\",\n requiredAttributes: [\"title\", \"version\"],\n optionalAttributes: [\"description\", \"termsOfService\", \"contact\", \"license\"],\n attributeConstraints: {\"title\":{\"type\":\"string\"},\"description\":{\"type\":\"string\",\"description\":\"Supports CommonMark (Markdown) syntax per OpenAPI 3.0.\"},\"version\":{\"type\":\"string\"},\"termsOfService\":{\"type\":\"string\"},\"contact\":{\"type\":\"string\",\"description\":\"Reference to an api.contact node providing maintainer contact details.\"},\"license\":{\"type\":\"string\",\"description\":\"Reference to an api.license node specifying the API's license terms.\"}},\n};\n\nconst NODE_TYPE_API_LICENSE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.license\",\n layer: \"api\",\n type: \"license\",\n title: \"License\",\n requiredAttributes: [\"name\"],\n optionalAttributes: [\"url\"],\n attributeConstraints: {\"url\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_API_LINK: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.link\",\n layer: \"api\",\n type: \"link\",\n title: \"Link\",\n requiredAttributes: [],\n optionalAttributes: [\"operationId\", \"operationRef\", \"description\", \"parameters\", \"requestBody\"],\n attributeConstraints: {\"operationId\":{\"type\":\"string\",\"description\":\"The operationId of the target operation within this document. Mutually exclusive with 'operationRef' \u2014 only one may be specified per Link.\"},\"operationRef\":{\"type\":\"string\",\"description\":\"A relative or absolute URL reference to an operation. Mutually exclusive with 'operationId' \u2014 only one may be specified per Link.\"},\"description\":{\"type\":\"string\"},\"parameters\":{\"type\":\"object\",\"description\":\"Map of parameter names to runtime expressions or literal values passed to the linked operation\"},\"requestBody\":{\"type\":\"string\",\"description\":\"Runtime expression or literal value for the linked operation's request body\"}},\n};\n\nconst NODE_TYPE_API_MEDIATYPE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.mediatype\",\n layer: \"api\",\n type: \"mediatype\",\n title: \"MediaType\",\n requiredAttributes: [\"contentType\"],\n optionalAttributes: [\"example\"],\n attributeConstraints: {\"contentType\":{\"type\":\"string\"},\"example\":{\"type\":\"string\",\"description\":\"An inline example value. Mutually exclusive with 'examples' \u2014 only one may be specified per MediaType.\"}},\n};\n\nconst NODE_TYPE_API_OAUTHFLOW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.oauthflow\",\n layer: \"api\",\n type: \"oauthflow\",\n title: \"OAuthFlow\",\n requiredAttributes: [\"scopes\"],\n optionalAttributes: [\"authorizationUrl\", \"tokenUrl\", \"refreshUrl\"],\n attributeConstraints: {\"authorizationUrl\":{\"type\":\"string\"},\"tokenUrl\":{\"type\":\"string\"},\"refreshUrl\":{\"type\":\"string\"},\"scopes\":{\"type\":\"object\",\"description\":\"Map of scope name to human-readable description string\"}},\n};\n\nconst NODE_TYPE_API_OAUTHFLOWS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.oauthflows\",\n layer: \"api\",\n type: \"oauthflows\",\n title: \"OAuthFlows\",\n requiredAttributes: [],\n optionalAttributes: [],\n attributeConstraints: {},\n};\n\nconst NODE_TYPE_API_OPENAPIDOCUMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.openapidocument\",\n layer: \"api\",\n type: \"openapidocument\",\n title: \"OpenAPIDocument\",\n requiredAttributes: [\"openapi\", \"info\", \"paths\"],\n optionalAttributes: [\"servers\", \"components\", \"security\", \"tags\", \"externalDocs\"],\n attributeConstraints: {\"openapi\":{\"type\":\"string\"},\"info\":{\"type\":\"string\"},\"servers\":{\"type\":\"string\"},\"paths\":{\"type\":\"string\",\"description\":\"Required per OpenAPI 3.0 but may be an empty object ({}) when the document is used solely to define reusable components.\"},\"components\":{\"type\":\"string\"},\"security\":{\"type\":\"string\",\"description\":\"Defines default security requirements applied to all operations. Individual operations can override or remove it by setting their own 'security' to an empty array ([]).\"},\"tags\":{\"type\":\"string\"},\"externalDocs\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_API_OPERATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.operation\",\n layer: \"api\",\n type: \"operation\",\n title: \"Operation\",\n requiredAttributes: [\"operationId\", \"summary\", \"tags\"],\n optionalAttributes: [\"description\", \"deprecated\", \"http_method\", \"http_path\"],\n attributeConstraints: {\"operationId\":{\"type\":\"string\",\"description\":\"Unique identifier for this operation across the entire API document\"},\"summary\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"tags\":{\"type\":\"string\"},\"deprecated\":{\"type\":\"boolean\"},\"http_method\":{\"type\":\"string\",\"description\":\"HTTP method for this operation\",\"enum\":[\"GET\",\"POST\",\"PUT\",\"DELETE\",\"PATCH\",\"HEAD\",\"OPTIONS\",\"TRACE\"]},\"http_path\":{\"type\":\"string\",\"description\":\"URL path template for this operation (e.g. '/api/taxonomies/{id}')\",\"pattern\":\"^/\"}},\n};\n\nconst NODE_TYPE_API_PARAMETER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.parameter\",\n layer: \"api\",\n type: \"parameter\",\n title: \"Parameter\",\n requiredAttributes: [\"in\"],\n optionalAttributes: [\"description\", \"required\", \"deprecated\", \"allowEmptyValue\", \"style\", \"schema\", \"explode\", \"allowReserved\", \"example\", \"examples\", \"content\"],\n attributeConstraints: {\"in\":{\"type\":\"string\",\"enum\":[\"query\",\"header\",\"path\",\"cookie\"],\"description\":\"Location of the parameter. Path parameters must always have required: true. Default serialization style: 'form' for query/cookie, 'simple' for path/header.\"},\"description\":{\"type\":\"string\"},\"required\":{\"type\":\"boolean\"},\"deprecated\":{\"type\":\"boolean\"},\"allowEmptyValue\":{\"type\":\"boolean\"},\"style\":{\"type\":\"string\",\"enum\":[\"matrix\",\"label\",\"form\",\"simple\",\"spaceDelimited\",\"pipeDelimited\",\"deepObject\"],\"description\":\"Serialization style for the parameter value. Defaults: 'form' for query and cookie, 'simple' for path and header.\"},\"schema\":{\"type\":\"object\",\"description\":\"The schema defining the type and constraints for the parameter value\"},\"explode\":{\"type\":\"boolean\",\"description\":\"When true, array/object values generate separate parameters for each element. Default: true when style is 'form', false otherwise.\"},\"allowReserved\":{\"type\":\"boolean\",\"description\":\"Allows reserved characters in query parameter values without percent-encoding. Only applies to 'query' parameters.\"},\"example\":{\"description\":\"An example value for the parameter. Mutually exclusive with 'examples'.\"},\"examples\":{\"type\":\"object\",\"description\":\"Map of named Example objects for the parameter. Mutually exclusive with 'example'.\"},\"content\":{\"type\":\"object\",\"description\":\"Alternative to 'schema' for complex serialization. Mutually exclusive with 'schema'; must contain exactly one map entry keyed by media type string.\"}},\n};\n\nconst NODE_TYPE_API_PATHITEM: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.pathitem\",\n layer: \"api\",\n type: \"pathitem\",\n title: \"PathItem\",\n requiredAttributes: [],\n optionalAttributes: [\"summary\", \"description\"],\n attributeConstraints: {\"summary\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_API_PATHS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.paths\",\n layer: \"api\",\n type: \"paths\",\n title: \"Paths\",\n requiredAttributes: [],\n optionalAttributes: [],\n attributeConstraints: {},\n};\n\nconst NODE_TYPE_API_RATELIMIT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.ratelimit\",\n layer: \"api\",\n type: \"ratelimit\",\n title: \"RateLimit\",\n requiredAttributes: [\"requests\", \"window\", \"keyBy\"],\n optionalAttributes: [\"scope\", \"action\", \"source\"],\n attributeConstraints: {\"requests\":{\"type\":\"integer\",\"description\":\"Maximum number of requests permitted within the specified time window.\"},\"window\":{\"type\":\"string\",\"description\":\"Duration of the rate limit window (e.g., '1m', '1h', '24h'). Requests are counted and reset per window.\"},\"scope\":{\"type\":\"string\",\"enum\":[\"global\",\"per-user\",\"per-ip\",\"per-api-key\"],\"description\":\"Scope at which the rate limit is applied.\"},\"action\":{\"type\":\"string\",\"enum\":[\"block\",\"throttle\",\"queue\",\"log\",\"challenge\"],\"description\":\"Action taken when the rate limit is exceeded, per NIST SC-5 (Denial-of-Service Protection).\"},\"keyBy\":{\"type\":\"string\",\"description\":\"Attribute used to identify and group requests for rate limit counting (e.g., 'user.id', 'request.ip', 'api-key').\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_API_REQUESTBODY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.requestbody\",\n layer: \"api\",\n type: \"requestbody\",\n title: \"RequestBody\",\n requiredAttributes: [],\n optionalAttributes: [\"description\", \"required\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"required\":{\"type\":\"boolean\"}},\n};\n\nconst NODE_TYPE_API_RESPONSE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.response\",\n layer: \"api\",\n type: \"response\",\n title: \"Response\",\n requiredAttributes: [\"description\"],\n optionalAttributes: [],\n attributeConstraints: {\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_API_RESPONSES: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.responses\",\n layer: \"api\",\n type: \"responses\",\n title: \"Responses\",\n requiredAttributes: [],\n optionalAttributes: [],\n attributeConstraints: {},\n};\n\nconst NODE_TYPE_API_SCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.schema\",\n layer: \"api\",\n type: \"schema\",\n title: \"Schema\",\n requiredAttributes: [],\n optionalAttributes: [\"type\", \"title\", \"description\", \"format\", \"default\", \"enum\", \"nullable\", \"properties\", \"items\", \"required\", \"allOf\", \"oneOf\", \"anyOf\", \"$ref\", \"readOnly\", \"writeOnly\", \"deprecated\", \"discriminator\", \"xml\", \"externalDocs\"],\n attributeConstraints: {\"type\":{\"type\":\"string\"},\"title\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"format\":{\"type\":\"string\"},\"default\":{\"type\":\"string\"},\"enum\":{\"type\":\"string\"},\"nullable\":{\"type\":\"boolean\"},\"properties\":{\"type\":\"object\",\"description\":\"Map of property names to schema definitions for object types\"},\"items\":{\"type\":\"object\",\"description\":\"Schema definition for array element types\"},\"required\":{\"type\":\"array\",\"description\":\"List of required property names for object types\"},\"allOf\":{\"type\":\"array\",\"description\":\"Composed schema: value must be valid against all listed schemas\"},\"oneOf\":{\"type\":\"array\",\"description\":\"Composed schema: value must be valid against exactly one of the listed schemas\"},\"anyOf\":{\"type\":\"array\",\"description\":\"Composed schema: value must be valid against one or more of the listed schemas\"},\"$ref\":{\"type\":\"string\",\"description\":\"JSON Reference to another schema definition. In OpenAPI 3.0, sibling keywords are ignored when $ref is present.\"},\"readOnly\":{\"type\":\"boolean\",\"description\":\"Indicates the property is read-only and should not be sent in request bodies.\"},\"writeOnly\":{\"type\":\"boolean\",\"description\":\"Indicates the property is write-only and should not be included in response bodies.\"},\"deprecated\":{\"type\":\"boolean\",\"description\":\"Marks the schema as deprecated. Consumers should migrate away from using it.\"},\"discriminator\":{\"type\":\"object\",\"description\":\"Adds support for polymorphism by specifying the property name that determines the subtype (propertyName) and an optional mapping of values to schema references.\"},\"xml\":{\"type\":\"object\",\"description\":\"XML serialization metadata for this schema when producing XML representations.\"},\"externalDocs\":{\"type\":\"object\",\"description\":\"Reference to an api.externaldocumentation node providing additional documentation for this schema.\"}},\n};\n\nconst NODE_TYPE_API_SECURITYSCHEME: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.securityscheme\",\n layer: \"api\",\n type: \"securityscheme\",\n title: \"SecurityScheme\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"description\", \"in\", \"scheme\", \"bearerFormat\", \"openIdConnectUrl\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"apiKey\",\"http\",\"oauth2\",\"openIdConnect\"],\"description\":\"Type of security scheme\"},\"description\":{\"type\":\"string\"},\"in\":{\"type\":\"string\"},\"scheme\":{\"type\":\"string\"},\"bearerFormat\":{\"type\":\"string\"},\"openIdConnectUrl\":{\"type\":\"string\",\"description\":\"OpenID Connect discovery URL, required when type is openIdConnect\"}},\n};\n\nconst NODE_TYPE_API_SERVER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.server\",\n layer: \"api\",\n type: \"server\",\n title: \"Server\",\n requiredAttributes: [\"url\"],\n optionalAttributes: [\"description\", \"variables\"],\n attributeConstraints: {\"url\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"variables\":{\"type\":\"string\",\"description\":\"Map of {placeholder} names (from the url template) to api.servervariable nodes defining allowed values and defaults.\"}},\n};\n\nconst NODE_TYPE_API_SERVERVARIABLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.servervariable\",\n layer: \"api\",\n type: \"servervariable\",\n title: \"ServerVariable\",\n requiredAttributes: [\"default\"],\n optionalAttributes: [\"enum\", \"description\"],\n attributeConstraints: {\"default\":{\"type\":\"string\",\"description\":\"Required default value for the variable. When 'enum' is specified, this value must be one of the listed enum values.\"},\"enum\":{\"type\":\"string\",\"description\":\"Restricts the variable to a specific set of allowed values. The 'default' value must be one of these values when enum is present. The variable name (the map key in Server.variables) must exactly match a {placeholder} token in the parent server's URL string.\"},\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_API_TAG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.tag\",\n layer: \"api\",\n type: \"tag\",\n title: \"Tag\",\n requiredAttributes: [],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_ARRAYSCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.arrayschema\",\n layer: \"data-model\",\n type: \"arrayschema\",\n title: \"ArraySchema\",\n requiredAttributes: [],\n optionalAttributes: [\"type\", \"items\", \"minItems\", \"maxItems\", \"uniqueItems\", \"contains\"],\n attributeConstraints: {\"type\":{\"const\":\"array\"},\"items\":{\"type\":\"string\"},\"minItems\":{\"type\":\"integer\"},\"maxItems\":{\"type\":\"integer\"},\"uniqueItems\":{\"type\":\"boolean\"},\"contains\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_JSONSCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.jsonschema\",\n layer: \"data-model\",\n type: \"jsonschema\",\n title: \"JSONSchema\",\n requiredAttributes: [\"$schema\", \"$id\", \"type\"],\n optionalAttributes: [\"title\", \"definitions\"],\n attributeConstraints: {\"$schema\":{\"type\":\"string\"},\"$id\":{\"type\":\"string\"},\"title\":{\"type\":\"string\"},\"type\":{\"type\":\"string\",\"enum\":[\"string\",\"number\",\"integer\",\"boolean\",\"array\",\"object\",\"null\"],\"description\":\"JSON Schema Draft 7 primitive type\"},\"definitions\":{\"type\":\"object\",\"description\":\"Reusable subschemas keyed by name, referenced elsewhere in the schema via $ref: '#/definitions/{name}'\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_NUMERICSCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.numericschema\",\n layer: \"data-model\",\n type: \"numericschema\",\n title: \"NumericSchema\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"minimum\", \"maximum\", \"exclusiveMinimum\", \"exclusiveMaximum\", \"multipleOf\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"number\",\"integer\"],\"description\":\"JSON Schema Draft 7 numeric type: 'number' for any numeric value, 'integer' for whole numbers only\"},\"minimum\":{\"type\":\"number\"},\"maximum\":{\"type\":\"number\"},\"exclusiveMinimum\":{\"type\":\"number\"},\"exclusiveMaximum\":{\"type\":\"number\"},\"multipleOf\":{\"type\":\"number\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_OBJECTSCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.objectschema\",\n layer: \"data-model\",\n type: \"objectschema\",\n title: \"ObjectSchema\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"properties\", \"patternProperties\", \"propertyNames\", \"required\", \"additionalProperties\", \"minProperties\", \"maxProperties\"],\n attributeConstraints: {\"type\":{\"type\":\"string\"},\"properties\":{\"type\":\"object\",\"description\":\"Named property definitions for the object schema (primary mechanism for defining object structure)\"},\"patternProperties\":{\"type\":\"string\",\"description\":\"Pattern-matched property definitions applied to properties whose names match the given regex\"},\"propertyNames\":{\"type\":\"string\",\"description\":\"Schema applied to all property names of the object instance for name validation\"},\"required\":{\"type\":\"string\"},\"additionalProperties\":{\"type\":\"string\"},\"minProperties\":{\"type\":\"integer\"},\"maxProperties\":{\"type\":\"integer\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_REFERENCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.reference\",\n layer: \"data-model\",\n type: \"reference\",\n title: \"Reference\",\n requiredAttributes: [],\n optionalAttributes: [\"$ref\"],\n attributeConstraints: {\"$ref\":{\"type\":\"string\",\"description\":\"URI or JSON Pointer fragment referencing another schema\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_SCHEMACOMPOSITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.schemacomposition\",\n layer: \"data-model\",\n type: \"schemacomposition\",\n title: \"SchemaComposition\",\n requiredAttributes: [],\n optionalAttributes: [\"allOf\", \"anyOf\", \"oneOf\", \"not\"],\n attributeConstraints: {\"allOf\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"All listed subschemas must validate against the instance\"},\"anyOf\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"At least one of the listed subschemas must validate against the instance\"},\"oneOf\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Exactly one of the listed subschemas must validate against the instance\"},\"not\":{\"type\":\"string\",\"description\":\"The instance must not validate against this subschema\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_SCHEMADEFINITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.schemadefinition\",\n layer: \"data-model\",\n type: \"schemadefinition\",\n title: \"SchemaDefinition\",\n requiredAttributes: [\"title\", \"type\"],\n optionalAttributes: [\"description\", \"format\", \"enum\", \"examples\"],\n attributeConstraints: {\"title\":{\"type\":\"string\"},\"type\":{\"type\":\"string\",\"enum\":[\"string\",\"number\",\"integer\",\"boolean\",\"array\",\"object\",\"null\"],\"description\":\"JSON Schema Draft 7 primitive type\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable explanation of this definition's purpose (JSON Schema Draft 7 annotation keyword)\"},\"format\":{\"type\":\"string\",\"description\":\"Semantic format hint for string-typed definitions (e.g., date-time, email, uri)\"},\"enum\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Restricts the value of this definition to a fixed set of allowed values\"},\"examples\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Sample values illustrating valid instances of this definition (JSON Schema Draft 7 annotation keyword)\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_SCHEMAPROPERTY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.schemaproperty\",\n layer: \"data-model\",\n type: \"schemaproperty\",\n title: \"SchemaProperty\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"title\", \"format\", \"default\", \"enum\", \"const\", \"readOnly\", \"writeOnly\", \"examples\", \"description\", \"$ref\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"string\",\"number\",\"integer\",\"boolean\",\"array\",\"object\",\"null\"],\"description\":\"JSON Schema Draft 7 primitive type\"},\"title\":{\"type\":\"string\"},\"format\":{\"type\":\"string\"},\"default\":{\"type\":\"string\"},\"enum\":{\"type\":\"string\"},\"const\":{\"type\":\"string\"},\"readOnly\":{\"type\":\"boolean\"},\"writeOnly\":{\"type\":\"boolean\"},\"examples\":{\"type\":\"string\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable explanation of the property's purpose (JSON Schema Draft 7 annotation keyword)\"},\"$ref\":{\"type\":\"string\",\"description\":\"URI reference to a reusable schema definition (e.g., #/definitions/MyType)\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_STRINGSCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.stringschema\",\n layer: \"data-model\",\n type: \"stringschema\",\n title: \"StringSchema\",\n requiredAttributes: [],\n optionalAttributes: [\"type\", \"minLength\", \"maxLength\", \"pattern\", \"format\"],\n attributeConstraints: {\"type\":{\"const\":\"string\"},\"minLength\":{\"type\":\"integer\"},\"maxLength\":{\"type\":\"integer\"},\"pattern\":{\"type\":\"string\"},\"format\":{\"type\":\"string\",\"enum\":[\"date-time\",\"date\",\"time\",\"duration\",\"email\",\"idn-email\",\"hostname\",\"idn-hostname\",\"ipv4\",\"ipv6\",\"uri\",\"uri-reference\",\"iri\",\"iri-reference\",\"uuid\",\"json-pointer\",\"relative-json-pointer\",\"regex\"],\"description\":\"Semantic format hint for string values (JSON Schema Draft 7 format keyword)\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_ACCESSPATTERN: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.accesspattern\",\n layer: \"data-store\",\n type: \"accesspattern\",\n title: \"AccessPattern\",\n requiredAttributes: [\"patternType\", \"targetCollection\"],\n optionalAttributes: [\"keyCondition\", \"sortKey\", \"filterCondition\", \"expectedFrequency\", \"consistencyRequirement\", \"x-source-reference\"],\n attributeConstraints: {\"patternType\":{\"type\":\"string\",\"enum\":[\"POINT_READ\",\"RANGE_SCAN\",\"FULL_SCAN\",\"WRITE\",\"UPSERT\",\"BATCH_WRITE\",\"AGGREGATION\",\"SEARCH\",\"VECTOR_SIMILARITY\",\"GRAPH_TRAVERSAL\",\"TIME_RANGE\",\"LATEST_VALUE\",\"CUSTOM\"],\"description\":\"Category of access pattern. POINT_READ: single-record lookup by key. RANGE_SCAN: ordered range of records. FULL_SCAN: all records. WRITE/UPSERT/BATCH_WRITE: mutation patterns. AGGREGATION: computed result over records. SEARCH: full-text or filtered search. VECTOR_SIMILARITY: approximate nearest neighbor. GRAPH_TRAVERSAL: multi-hop graph walk. TIME_RANGE/LATEST_VALUE: time-series queries.\"},\"targetCollection\":{\"type\":\"string\",\"description\":\"The collection this access pattern operates on.\"},\"keyCondition\":{\"type\":\"string\",\"description\":\"Key or partition condition for this access (e.g., 'customer_id = :id', 'PK = USER#:userId AND SK BEGINS_WITH ORDER#').\"},\"sortKey\":{\"type\":\"string\",\"description\":\"Sort key expression for composite key patterns (e.g., 'SK BEGINS_WITH ORDER#', 'timestamp BETWEEN :start AND :end'). Used in DynamoDB/Cassandra to define the clustering dimension of the access pattern.\"},\"filterCondition\":{\"type\":\"string\",\"description\":\"Additional filter condition applied after key lookup.\"},\"expectedFrequency\":{\"type\":\"string\",\"enum\":[\"RARE\",\"OCCASIONAL\",\"FREQUENT\",\"HIGH_THROUGHPUT\",\"REAL_TIME\"],\"description\":\"Expected frequency of this access pattern. Informs capacity planning and index decisions.\"},\"consistencyRequirement\":{\"type\":\"string\",\"enum\":[\"STRONG\",\"EVENTUAL\",\"SESSION\",\"CAUSAL\",\"LINEARIZABLE\"],\"description\":\"Required consistency level for this access pattern.\"},\"x-source-reference\":{\"type\":\"string\",\"description\":\"Source code reference using OpenAPI x- extension pattern.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_COLLECTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.collection\",\n layer: \"data-store\",\n type: \"collection\",\n title: \"Collection\",\n requiredAttributes: [],\n optionalAttributes: [\"collectionType\", \"partitionKey\", \"clusteringKeys\", \"ttlDefault\", \"validationSchema\", \"x-source-reference\"],\n attributeConstraints: {\"collectionType\":{\"type\":\"string\",\"enum\":[\"TABLE\",\"COLLECTION\",\"COLUMN_FAMILY\",\"BUCKET\",\"HASH\",\"SORTED_SET\",\"STREAM\",\"VECTOR_COLLECTION\",\"MEASUREMENT\",\"HYPERTABLE\",\"NODE_LABEL\",\"EDGE_TYPE\",\"SEARCH_INDEX\"],\"description\":\"The paradigm-specific type of this collection. TABLE: relational table. COLLECTION: document store collection. COLUMN_FAMILY: wide-column column family. BUCKET/HASH/SORTED_SET/STREAM: key-value data structures. VECTOR_COLLECTION: vector embedding store. MEASUREMENT/HYPERTABLE: time-series data container. NODE_LABEL/EDGE_TYPE: graph database structural types. SEARCH_INDEX: search engine index.\"},\"partitionKey\":{\"type\":\"string\",\"description\":\"Primary partition key field name(s). Used by wide-column stores (Cassandra partition key), DynamoDB (partition key), time-series (time field), and sharded relational databases.\"},\"clusteringKeys\":{\"type\":\"string\",\"description\":\"Clustering or sort key field name(s) that determine ordering within a partition. Relevant for wide-column stores (Cassandra clustering columns) and DynamoDB sort keys.\"},\"ttlDefault\":{\"type\":\"integer\",\"description\":\"Default time-to-live in seconds for entries in this collection. Relevant for key-value stores, wide-column stores, and time-series databases.\"},\"validationSchema\":{\"type\":\"string\",\"description\":\"Reference to a schema definition that validates documents or records. For MongoDB this is the JSON Schema validator; for relational databases, the set of column constraints; for search engines, the mapping definition.\"},\"x-source-reference\":{\"type\":\"string\",\"description\":\"Source code reference using OpenAPI x- extension pattern.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_DATABASE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.database\",\n layer: \"data-store\",\n type: \"database\",\n title: \"Database\",\n requiredAttributes: [\"engine\", \"paradigm\"],\n optionalAttributes: [\"version\", \"charset\", \"collation\", \"deploymentModel\"],\n attributeConstraints: {\"engine\":{\"type\":\"string\",\"description\":\"Database engine name (e.g., 'PostgreSQL', 'MongoDB', 'Redis', 'Cassandra', 'Pinecone', 'Neo4j', 'Elasticsearch', 'InfluxDB', 'DynamoDB'). Free-text to accommodate any engine without enumeration constraints.\"},\"paradigm\":{\"type\":\"string\",\"enum\":[\"RELATIONAL\",\"DOCUMENT\",\"KEY_VALUE\",\"WIDE_COLUMN\",\"VECTOR\",\"TIME_SERIES\",\"GRAPH\",\"SEARCH_ENGINE\",\"MULTI_MODEL\"],\"description\":\"Primary data model paradigm. RELATIONAL: SQL-based tabular data (PostgreSQL, MySQL, Oracle). DOCUMENT: JSON/BSON document storage (MongoDB, CouchDB, Firestore). KEY_VALUE: simple key-to-value mapping (Redis, DynamoDB, etcd). WIDE_COLUMN: column-family storage (Cassandra, HBase, Bigtable). VECTOR: vector embedding storage and similarity search (Pinecone, Weaviate, Qdrant). TIME_SERIES: time-indexed measurements (InfluxDB, TimescaleDB). GRAPH: nodes and edges with traversal (Neo4j, Neptune). SEARCH_ENGINE: full-text search and analytics (Elasticsearch, OpenSearch). MULTI_MODEL: natively supports multiple paradigms (ArangoDB, CosmosDB, FaunaDB).\"},\"version\":{\"type\":\"string\"},\"charset\":{\"type\":\"string\"},\"collation\":{\"type\":\"string\"},\"deploymentModel\":{\"type\":\"string\",\"enum\":[\"STANDALONE\",\"REPLICATED\",\"SHARDED\",\"DISTRIBUTED\",\"SERVERLESS\",\"EMBEDDED\"],\"description\":\"How the database is deployed. STANDALONE: single instance. REPLICATED: primary with read replicas. SHARDED: data partitioned across nodes. DISTRIBUTED: fully distributed with no single primary. SERVERLESS: cloud-managed auto-scaling. EMBEDDED: in-process database (SQLite, RocksDB).\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_EVENTHANDLER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.eventhandler\",\n layer: \"data-store\",\n type: \"eventhandler\",\n title: \"EventHandler\",\n requiredAttributes: [\"handlerType\", \"events\"],\n optionalAttributes: [\"targetCollection\", \"timing\", \"granularity\", \"action\", \"condition\", \"enabled\"],\n attributeConstraints: {\"handlerType\":{\"type\":\"string\",\"enum\":[\"TRIGGER\",\"CHANGE_STREAM\",\"CDC_LISTENER\",\"KEYSPACE_NOTIFICATION\",\"STREAM_PROCESSOR\",\"WATCHER\",\"ALERT_RULE\",\"CUSTOM\"],\"description\":\"Type of event handler mechanism. TRIGGER: synchronous SQL trigger (BEFORE/AFTER DML). CHANGE_STREAM: asynchronous document change feed (MongoDB, CouchDB). CDC_LISTENER: change data capture consumer (Cassandra, Debezium). KEYSPACE_NOTIFICATION: key event notification (Redis). STREAM_PROCESSOR: stream-based event processor (Redis Streams, Kafka Connect). WATCHER: periodic condition check and alert (Elasticsearch). ALERT_RULE: threshold or anomaly alerting (time-series, monitoring). CUSTOM: engine-specific mechanism not listed.\"},\"targetCollection\":{\"type\":\"string\",\"description\":\"The collection or database-level scope this handler is attached to.\"},\"timing\":{\"type\":\"string\",\"enum\":[\"BEFORE\",\"AFTER\",\"INSTEAD_OF\",\"ON_CHANGE\",\"CONTINUOUS\"],\"description\":\"When the handler fires relative to the event. BEFORE: fires before the operation (SQL BEFORE trigger). AFTER: fires after the operation (SQL AFTER trigger). INSTEAD_OF: replaces the operation (SQL INSTEAD OF trigger for views). ON_CHANGE: fires when a change is detected (change streams, CDC). CONTINUOUS: always-on stream processing.\"},\"events\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"INSERT\",\"UPDATE\",\"DELETE\",\"REPLACE\",\"TRUNCATE\",\"DROP\",\"INVALIDATE\",\"EXPIRE\",\"SET\",\"DEL\",\"THRESHOLD\",\"ANOMALY\",\"CUSTOM\"]},\"description\":\"Events that activate this handler. SQL: INSERT/UPDATE/DELETE/TRUNCATE. Document: INSERT/UPDATE/DELETE/REPLACE/DROP/INVALIDATE. Key-value: EXPIRE/SET/DEL. Monitoring: THRESHOLD/ANOMALY. CUSTOM: engine-specific event not listed.\"},\"granularity\":{\"type\":\"string\",\"enum\":[\"ROW\",\"STATEMENT\",\"DOCUMENT\",\"KEY\",\"BATCH\"],\"description\":\"Granularity of handler activation. ROW: fires once per affected row (SQL FOR EACH ROW). STATEMENT: fires once per SQL statement. DOCUMENT: fires per changed document (document store change streams). KEY: fires per key operation (key-value notifications). BATCH: fires per batch of changes (CDC, stream processing).\"},\"action\":{\"type\":\"string\",\"description\":\"Reference to the stored logic (function name, pipeline reference, or inline expression) that executes when this handler fires.\"},\"condition\":{\"type\":\"string\",\"description\":\"Optional filter condition. Only events matching this condition activate the handler. Maps to SQL WHEN clause, MongoDB pipeline $match stage, or Elasticsearch watcher condition.\"},\"enabled\":{\"type\":\"boolean\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_FIELD: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.field\",\n layer: \"data-store\",\n type: \"field\",\n title: \"Field\",\n requiredAttributes: [\"dataType\"],\n optionalAttributes: [\"nullable\", \"defaultValue\", \"generated\", \"fieldRole\", \"vectorDimensions\", \"distanceMetric\", \"analyzer\", \"nested\", \"x-source-reference\"],\n attributeConstraints: {\"dataType\":{\"type\":\"string\",\"description\":\"Data type of this field. Interpretation is paradigm-specific: SQL types (VARCHAR, INTEGER, TIMESTAMP), BSON types (String, ObjectId, Document), Elasticsearch mapping types (keyword, text, dense_vector), or any engine-native type name.\"},\"nullable\":{\"type\":\"boolean\"},\"defaultValue\":{\"type\":\"string\"},\"generated\":{\"type\":\"string\",\"enum\":[\"ALWAYS\",\"BY_DEFAULT\",\"NEVER\"],\"description\":\"Whether the field value is auto-generated. ALWAYS: value is always system-generated (SQL identity GENERATED ALWAYS, MongoDB auto _id, auto-increment). BY_DEFAULT: system-generated unless explicitly overridden (SQL GENERATED BY DEFAULT). NEVER: value must be user-provided.\"},\"fieldRole\":{\"type\":\"string\",\"enum\":[\"VALUE\",\"TAG\",\"TIMESTAMP\",\"PARTITION_KEY\",\"CLUSTERING_KEY\",\"VECTOR\",\"METADATA\",\"LABEL\",\"PROPERTY\"],\"description\":\"Semantic role of this field within its collection. VALUE: regular data field. TAG: indexed metadata for filtering (time-series). TIMESTAMP: time-series time field. PARTITION_KEY: wide-column or distributed partition key component. CLUSTERING_KEY: wide-column clustering/sort key component. VECTOR: vector embedding field. METADATA: vector store metadata for filtering. LABEL: graph node label. PROPERTY: graph node or edge property.\"},\"vectorDimensions\":{\"type\":\"integer\",\"description\":\"Number of dimensions for vector fields. Only applicable when fieldRole is VECTOR.\"},\"distanceMetric\":{\"type\":\"string\",\"enum\":[\"COSINE\",\"EUCLIDEAN\",\"DOT_PRODUCT\",\"MANHATTAN\"],\"description\":\"Distance metric for vector similarity search. COSINE: angular similarity. EUCLIDEAN: L2 distance. DOT_PRODUCT: inner product similarity. MANHATTAN: L1 distance. Only applicable when fieldRole is VECTOR.\"},\"analyzer\":{\"type\":\"string\",\"description\":\"Text analyzer for search engine fields (e.g., 'standard', 'english', 'keyword', 'whitespace'). Controls tokenization and normalization. Only applicable for search engine paradigm.\"},\"nested\":{\"type\":\"boolean\",\"description\":\"Whether this field contains nested or embedded documents. Relevant for document stores (MongoDB embedded documents) and search engines (Elasticsearch nested type).\"},\"x-source-reference\":{\"type\":\"string\",\"description\":\"Source code reference using OpenAPI x- extension pattern.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_INDEX: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.index\",\n layer: \"data-store\",\n type: \"index\",\n title: \"Index\",\n requiredAttributes: [],\n optionalAttributes: [\"fields\", \"unique\", \"method\", \"where\", \"include\", \"sparse\", \"vectorConfig\"],\n attributeConstraints: {\"fields\":{\"type\":\"string\",\"description\":\"Field name(s) included in the index key.\"},\"unique\":{\"type\":\"boolean\"},\"method\":{\"type\":\"string\",\"enum\":[\"BTREE\",\"HASH\",\"GIN\",\"GIST\",\"SPGIST\",\"BRIN\",\"HNSW\",\"IVF_FLAT\",\"IVF_PQ\",\"ANNOY\",\"LSH\",\"INVERTED\",\"FULLTEXT\",\"GEOSPATIAL\",\"COMPOUND\",\"MULTIKEY\",\"CUSTOM\"],\"description\":\"Index access method. BTREE/HASH: traditional ordered and hash-based (relational, document). GIN/GIST/SPGIST/BRIN: PostgreSQL advanced index types. HNSW/IVF_FLAT/IVF_PQ/ANNOY/LSH: vector approximate nearest neighbor algorithms. INVERTED/FULLTEXT: search engine and full-text indexes. GEOSPATIAL: location-based spatial indexes. COMPOUND/MULTIKEY: document store compound and array indexes. CUSTOM: engine-specific method not listed.\"},\"where\":{\"type\":\"string\",\"description\":\"Partial or filtered index predicate. Only entries satisfying this condition are indexed. Supported by relational (PostgreSQL, SQL Server) and document stores (MongoDB partial index filter).\"},\"include\":{\"type\":\"string\",\"description\":\"Covering index: additional fields stored in the index but not in the search key. Reduces lookups by including frequently accessed fields in the index leaf pages.\"},\"sparse\":{\"type\":\"boolean\",\"description\":\"Whether the index only includes entries where the indexed field exists. Relevant for document stores with flexible schemas and sparse datasets.\"},\"vectorConfig\":{\"type\":\"object\",\"description\":\"Configuration parameters for vector indexes. Only applicable when method is HNSW, IVF_FLAT, IVF_PQ, ANNOY, or LSH.\",\"properties\":{\"dimensions\":{\"type\":\"integer\",\"description\":\"Number of dimensions in the vector space.\"},\"distanceMetric\":{\"type\":\"string\",\"enum\":[\"COSINE\",\"EUCLIDEAN\",\"DOT_PRODUCT\",\"MANHATTAN\"],\"description\":\"Distance metric for similarity computation.\"},\"efConstruction\":{\"type\":\"integer\",\"description\":\"HNSW build-time parameter controlling index quality vs. build speed tradeoff.\"},\"m\":{\"type\":\"integer\",\"description\":\"HNSW maximum number of connections per node in the graph.\"},\"nlist\":{\"type\":\"integer\",\"description\":\"IVF number of clusters (Voronoi cells) for partitioning the vector space.\"}},\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_DATA_STORE_NAMESPACE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.namespace\",\n layer: \"data-store\",\n type: \"namespace\",\n title: \"Namespace\",\n requiredAttributes: [],\n optionalAttributes: [\"owner\"],\n attributeConstraints: {\"owner\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_RETENTIONPOLICY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.retentionpolicy\",\n layer: \"data-store\",\n type: \"retentionpolicy\",\n title: \"RetentionPolicy\",\n requiredAttributes: [\"targetCollection\", \"retentionDuration\", \"action\"],\n optionalAttributes: [\"downsampleInterval\", \"enabled\"],\n attributeConstraints: {\"targetCollection\":{\"type\":\"string\",\"description\":\"The collection or namespace this policy applies to.\"},\"retentionDuration\":{\"type\":\"string\",\"description\":\"How long data is retained, expressed as an ISO 8601 duration (e.g., 'P30D' for 30 days, 'P1Y' for 1 year, 'P6M' for 6 months).\"},\"action\":{\"type\":\"string\",\"enum\":[\"DELETE\",\"ARCHIVE\",\"DOWNSAMPLE\",\"MOVE_TIER\",\"COMPRESS\"],\"description\":\"Action taken when data exceeds the retention period. DELETE: permanently remove. ARCHIVE: move to cold storage. DOWNSAMPLE: aggregate and reduce resolution (time-series). MOVE_TIER: transition to a different storage tier. COMPRESS: apply compression to reduce storage footprint.\"},\"downsampleInterval\":{\"type\":\"string\",\"description\":\"For DOWNSAMPLE action, the aggregation interval (e.g., '1h', '1d'). Only applicable when action is DOWNSAMPLE.\"},\"enabled\":{\"type\":\"boolean\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_STOREDLOGIC: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.storedlogic\",\n layer: \"data-store\",\n type: \"storedlogic\",\n title: \"StoredLogic\",\n requiredAttributes: [\"logicType\", \"language\"],\n optionalAttributes: [\"returnType\", \"deterministic\", \"sideEffects\", \"security\", \"x-source-reference\"],\n attributeConstraints: {\"logicType\":{\"type\":\"string\",\"enum\":[\"FUNCTION\",\"PROCEDURE\",\"PACKAGE\",\"AGGREGATION_PIPELINE\",\"MAP_REDUCE\",\"LUA_SCRIPT\",\"LAMBDA\",\"UDF\",\"UDA\",\"CONTINUOUS_QUERY\",\"FLUX_TASK\",\"STORED_PROCEDURE\",\"CYPHER_FUNCTION\",\"INGEST_PIPELINE\",\"PAINLESS_SCRIPT\",\"CUSTOM\"],\"description\":\"Type of stored computation. FUNCTION/PROCEDURE/PACKAGE: SQL-standard. AGGREGATION_PIPELINE/MAP_REDUCE: document store (MongoDB). LUA_SCRIPT: key-value (Redis). LAMBDA: serverless trigger (DynamoDB Streams). UDF/UDA: user-defined function/aggregate (Cassandra). CONTINUOUS_QUERY/FLUX_TASK: time-series scheduled computation. STORED_PROCEDURE/CYPHER_FUNCTION: graph database. INGEST_PIPELINE/PAINLESS_SCRIPT: search engine. CUSTOM: engine-specific type not listed.\"},\"language\":{\"type\":\"string\",\"enum\":[\"SQL\",\"PLPGSQL\",\"PLSQL\",\"TSQL\",\"JAVASCRIPT\",\"PYTHON\",\"LUA\",\"JAVA\",\"C\",\"CYPHER\",\"GREMLIN\",\"SPARQL\",\"FLUX\",\"INFLUXQL\",\"PAINLESS\",\"MVEL\",\"MQL\",\"EXTERNAL\",\"CUSTOM\"],\"description\":\"Implementation language. SQL/PLPGSQL/PLSQL/TSQL: relational database languages. JAVASCRIPT/PYTHON/LUA/JAVA/C: general-purpose embedded languages. CYPHER/GREMLIN/SPARQL: graph query languages. FLUX/INFLUXQL: time-series query languages. PAINLESS/MVEL: search engine scripting. MQL: MongoDB Query Language. EXTERNAL: logic implemented outside the database. CUSTOM: language not listed.\"},\"returnType\":{\"type\":\"string\",\"description\":\"Return type of the computation. For functions, the return data type. For pipelines, the output document shape. For void procedures, 'VOID'.\"},\"deterministic\":{\"type\":\"boolean\",\"description\":\"Whether the logic always returns the same output for the same input. Generalizes SQL volatility (IMMUTABLE = true, VOLATILE = false) across paradigms. Deterministic logic is a candidate for result caching.\"},\"sideEffects\":{\"type\":\"boolean\",\"description\":\"Whether the logic can modify data. Functions without side effects are safe for parallel execution and caching. Maps to SQL CONTAINS SQL / MODIFIES SQL DATA distinction.\"},\"security\":{\"type\":\"string\",\"enum\":[\"DEFINER\",\"INVOKER\"],\"description\":\"Security context for execution. DEFINER: runs with privileges of the creator (SQL SECURITY DEFINER). INVOKER: runs with privileges of the caller (SQL SECURITY INVOKER).\"},\"x-source-reference\":{\"type\":\"string\",\"description\":\"Source code reference using OpenAPI x- extension pattern.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_VALIDATIONRULE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.validationrule\",\n layer: \"data-store\",\n type: \"validationrule\",\n title: \"ValidationRule\",\n requiredAttributes: [\"ruleType\"],\n optionalAttributes: [\"expression\", \"targetFields\", \"referencedCollection\", \"referencedFields\", \"onDelete\", \"onUpdate\", \"enforcement\"],\n attributeConstraints: {\"ruleType\":{\"type\":\"string\",\"enum\":[\"PRIMARY_KEY\",\"FOREIGN_KEY\",\"UNIQUE\",\"CHECK\",\"NOT_NULL\",\"SCHEMA_VALIDATION\",\"REQUIRED_FIELD\",\"KEY_FORMAT\",\"TTL_CONSTRAINT\",\"UNIQUENESS_CONSTRAINT\",\"EXISTENCE_CONSTRAINT\",\"NODE_KEY\",\"DIMENSION_CONSTRAINT\",\"MAPPING_STRICT\",\"CUSTOM\"],\"description\":\"Type of validation or integrity rule. SQL-standard: PRIMARY_KEY, FOREIGN_KEY, UNIQUE, CHECK, NOT_NULL. Document store: SCHEMA_VALIDATION (JSON Schema validator), REQUIRED_FIELD. Key-value: KEY_FORMAT (key naming pattern), TTL_CONSTRAINT. Graph: UNIQUENESS_CONSTRAINT (unique node label+property), EXISTENCE_CONSTRAINT (required property), NODE_KEY (composite unique identifier). Vector: DIMENSION_CONSTRAINT (vector dimension enforcement). Search engine: MAPPING_STRICT (reject unmapped fields). CUSTOM: engine-specific rule not listed.\"},\"expression\":{\"type\":\"string\",\"description\":\"Constraint expression or validation rule body. For CHECK constraints, the SQL expression. For SCHEMA_VALIDATION, a JSON Schema reference. For KEY_FORMAT, a key naming pattern.\"},\"targetFields\":{\"type\":\"string\",\"description\":\"Field name(s) this rule applies to.\"},\"referencedCollection\":{\"type\":\"string\",\"description\":\"For FOREIGN_KEY or cross-collection references, the target collection name.\"},\"referencedFields\":{\"type\":\"string\",\"description\":\"For FOREIGN_KEY or cross-collection references, the target field name(s) in the referenced collection.\"},\"onDelete\":{\"type\":\"string\",\"enum\":[\"CASCADE\",\"SET_NULL\",\"SET_DEFAULT\",\"RESTRICT\",\"NO_ACTION\"],\"description\":\"Referential action on delete. CASCADE: delete dependent entries. SET_NULL: nullify the reference. SET_DEFAULT: reset to default value. RESTRICT: reject if referenced entries exist. NO_ACTION: deferred reject. Applicable to FOREIGN_KEY rules.\"},\"onUpdate\":{\"type\":\"string\",\"enum\":[\"CASCADE\",\"SET_NULL\",\"SET_DEFAULT\",\"RESTRICT\",\"NO_ACTION\"],\"description\":\"Referential action on update. Same values as onDelete, applied when the referenced field value is modified. Applicable to FOREIGN_KEY rules.\"},\"enforcement\":{\"type\":\"string\",\"enum\":[\"STRICT\",\"WARN\",\"LOG\"],\"description\":\"How the rule is enforced. STRICT: reject violating operations (default for most SQL constraints). WARN: allow but emit a warning (supported by some document store validators). LOG: allow and log the violation for audit purposes.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_VIEW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.view\",\n layer: \"data-store\",\n type: \"view\",\n title: \"View\",\n requiredAttributes: [],\n optionalAttributes: [\"definition\", \"materialized\", \"viewType\", \"refreshPolicy\"],\n attributeConstraints: {\"definition\":{\"type\":\"string\",\"description\":\"Query or expression that defines this view. SQL query for relational, aggregation pipeline for document stores, alias definition for search engines, continuous aggregate query for time-series, Cypher projection for graph databases.\"},\"materialized\":{\"type\":\"boolean\",\"description\":\"Whether the view data is precomputed and stored rather than computed on each read.\"},\"viewType\":{\"type\":\"string\",\"enum\":[\"VIRTUAL\",\"MATERIALIZED\",\"ALIAS\",\"CONTINUOUS_AGGREGATE\",\"FILTERED\"],\"description\":\"Type of view. VIRTUAL: computed on every read (SQL view, CouchDB view). MATERIALIZED: precomputed and stored (SQL materialized view, Cassandra materialized view). ALIAS: pointer or routing abstraction over one or more collections (Elasticsearch alias). CONTINUOUS_AGGREGATE: incrementally maintained materialization (TimescaleDB continuous aggregate, InfluxDB continuous query). FILTERED: read-only subset of another collection.\"},\"refreshPolicy\":{\"type\":\"string\",\"enum\":[\"ON_DEMAND\",\"ON_COMMIT\",\"PERIODIC\",\"CONTINUOUS\"],\"description\":\"How materialized data is refreshed. ON_DEMAND: manual refresh required. ON_COMMIT: refreshed after each transaction commit. PERIODIC: refreshed on a schedule. CONTINUOUS: incrementally updated as source data changes. Only applicable when materialized is true or viewType is MATERIALIZED or CONTINUOUS_AGGREGATE.\"}},\n};\n\nconst NODE_TYPE_UX_ACTIONCOMPONENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.actioncomponent\",\n layer: \"ux\",\n type: \"actioncomponent\",\n title: \"ActionComponent\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"label\", \"icon\", \"disabled\", \"tooltip\", \"channel\", \"style\", \"validations\"],\n attributeConstraints: {\"label\":{\"type\":\"string\"},\"type\":{\"type\":\"string\",\"enum\":[\"button\",\"link\",\"menu\",\"voice-command\",\"icon-button\"],\"description\":\"Interactive element kind, per HTML 5.3 button, anchor, and menu element semantics.\"},\"icon\":{\"type\":\"string\"},\"disabled\":{\"type\":\"boolean\"},\"tooltip\":{\"type\":\"string\"},\"channel\":{\"type\":\"string\",\"enum\":[\"web\",\"mobile\",\"voice\",\"chat\",\"sms\"],\"description\":\"Delivery channel for which this component is rendered.\"},\"style\":{\"type\":\"string\",\"enum\":[\"primary\",\"secondary\",\"danger\",\"ghost\",\"link\",\"icon\"],\"description\":\"Visual style variant of the action component, per design system button style conventions.\"},\"validations\":{\"type\":\"array\",\"description\":\"Client-side validation rules applied to this component, per HTML 5.3 Constraint Validation API. Each rule specifies a constraint type, threshold value, and user-facing error message.\",\"items\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"required\",\"minlength\",\"maxlength\",\"pattern\",\"min\",\"max\",\"type\",\"custom\"],\"description\":\"Constraint type. 'required': field must not be empty; 'minlength'/'maxlength': string length bounds (value = integer); 'pattern': regex the input must match (value = regex string); 'min'/'max': numeric range (value = number); 'type': expected data type; 'custom': application-defined rule.\"},\"value\":{\"type\":\"string\",\"description\":\"Constraint threshold or parameter (e.g., '8' for minlength, '^[a-z]+$' for pattern).\"},\"message\":{\"type\":\"string\",\"description\":\"User-facing error message shown when this constraint is violated.\"}},\"required\":[\"type\",\"message\"],\"additionalProperties\":false}}},\n};\n\nconst NODE_TYPE_UX_ACTIONPATTERN: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.actionpattern\",\n layer: \"ux\",\n type: \"actionpattern\",\n title: \"ActionPattern\",\n requiredAttributes: [],\n optionalAttributes: [\"description\", \"category\", \"trigger\", \"feedback\", \"targetRef\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"category\":{\"type\":\"string\",\"enum\":[\"crud\",\"navigation\",\"confirmation\",\"bulk-operation\"],\"description\":\"Functional taxonomy of the action pattern.\"},\"trigger\":{\"type\":\"string\",\"enum\":[\"click\",\"swipe\",\"voice\",\"keyboard\"],\"description\":\"Input modality that initiates this action pattern.\"},\"feedback\":{\"type\":\"string\",\"enum\":[\"toast\",\"animation\",\"route-change\",\"modal\",\"inline-message\",\"none\"],\"description\":\"User-facing feedback mechanism invoked after the action completes.\"},\"targetRef\":{\"type\":\"string\",\"description\":\"Optional specNodeId of the component or element this action pattern is applied to.\"}},\n};\n\nconst NODE_TYPE_UX_CHARTSERIES: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.chartseries\",\n layer: \"ux\",\n type: \"chartseries\",\n title: \"ChartSeries\",\n requiredAttributes: [\"label\", \"dataField\"],\n optionalAttributes: [\"type\", \"categoryField\", \"color\", \"lineStyle\"],\n attributeConstraints: {\"label\":{\"type\":\"string\"},\"type\":{\"type\":\"string\",\"enum\":[\"line\",\"bar\",\"column\",\"pie\",\"donut\",\"area\",\"scatter\",\"bubble\",\"heatmap\"],\"description\":\"Visualization type for this data series.\"},\"dataField\":{\"type\":\"string\",\"description\":\"Field name from the bound data source representing the numeric/value axis of this series (e.g., 'revenue', 'count'). For formal data-model binding, use a relationship to the corresponding data-model entity.\"},\"categoryField\":{\"type\":\"string\",\"description\":\"Field name from the bound data source representing the category/x-axis grouping (e.g., 'month', 'region'). For formal data-model binding, use a relationship to the corresponding data-model entity.\"},\"color\":{\"type\":\"string\",\"description\":\"CSS color value for this series (e.g., '#3B82F6', 'var(--brand-primary)'). Overrides any theme-level color scheme for this specific series.\"},\"lineStyle\":{\"type\":\"string\",\"enum\":[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"],\"description\":\"CSS border/line style applied to line chart series rendering, per CSS Border specification.\"}},\n};\n\nconst NODE_TYPE_UX_COMPONENTINSTANCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.componentinstance\",\n layer: \"ux\",\n type: \"componentinstance\",\n title: \"ComponentInstance\",\n requiredAttributes: [],\n optionalAttributes: [\"order\", \"ref\", \"props\"],\n attributeConstraints: {\"order\":{\"type\":\"integer\",\"description\":\"Render order of this component instance within its parent View or SubView's component list. Lower values render first.\"},\"ref\":{\"type\":\"string\",\"description\":\"SpecNodeId of the ux.librarycomponent this instance is based on (e.g., 'ux.librarycomponent.data-table'). Determines the component type and the set of valid prop keys.\"},\"props\":{\"type\":\"object\",\"description\":\"Key-value map of property overrides applied to this instance. Keys must match prop names declared on the referenced LibraryComponent. Values override the component defaults for this specific usage.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_UX_COMPONENTREFERENCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.componentreference\",\n layer: \"ux\",\n type: \"componentreference\",\n title: \"ComponentReference\",\n requiredAttributes: [\"ref\"],\n optionalAttributes: [\"variant\", \"slot\"],\n attributeConstraints: {\"ref\":{\"type\":\"string\",\"description\":\"SpecNodeId of the component (ux.librarycomponent or ux.componentinstance) to render in the slot.\"},\"variant\":{\"type\":\"string\",\"description\":\"Optional design variant override for this reference (e.g., 'compact', 'expanded', 'readonly'). Must match a variant defined on the referenced component.\"},\"slot\":{\"type\":\"string\",\"description\":\"Named slot in the parent component where this reference is placed. Slot names are defined by the parent LibraryComponent (e.g., 'header', 'actions', 'footer').\"}},\n};\n\nconst NODE_TYPE_UX_DATACONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.dataconfig\",\n layer: \"ux\",\n type: \"dataconfig\",\n title: \"DataConfig\",\n requiredAttributes: [\"source\", \"target\"],\n optionalAttributes: [\"path\"],\n attributeConstraints: {\"source\":{\"type\":\"string\",\"enum\":[\"api\",\"state\",\"local-storage\",\"mock\",\"static\"],\"description\":\"Data origin for this binding configuration.\"},\"target\":{\"type\":\"string\",\"description\":\"SpecNodeId of the destination element receiving bound data (e.g., a data-model entity ID or API endpoint ID). Use relationships to formally link to those layers.\"},\"path\":{\"type\":\"string\",\"description\":\"Dot-notation or JSONPath expression selecting a field within the source data (e.g., 'user.profile.name' or '$.items[0].id').\"}},\n};\n\nconst NODE_TYPE_UX_ERRORCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.errorconfig\",\n layer: \"ux\",\n type: \"errorconfig\",\n title: \"ErrorConfig\",\n requiredAttributes: [],\n optionalAttributes: [\"showNotification\", \"notificationType\", \"errorMessage\", \"defaultErrorMessage\"],\n attributeConstraints: {\"showNotification\":{\"type\":\"boolean\"},\"notificationType\":{\"type\":\"string\",\"enum\":[\"success\",\"error\",\"warning\",\"info\",\"neutral\"],\"description\":\"Severity category of the notification, aligned with ARIA live region and alert role semantics.\"},\"errorMessage\":{\"type\":\"string\"},\"defaultErrorMessage\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_UX_EXPERIENCESTATE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.experiencestate\",\n layer: \"ux\",\n type: \"experiencestate\",\n title: \"ExperienceState\",\n requiredAttributes: [],\n optionalAttributes: [\"initial\", \"description\", \"channel\", \"onEnter\", \"onExit\", \"transitions\", \"enabledComponents\", \"disabledComponents\", \"hiddenComponents\"],\n attributeConstraints: {\"initial\":{\"type\":\"boolean\",\"description\":\"When true, marks this as the starting state of the state machine. Only one ExperienceState per state machine should have initial: true.\"},\"description\":{\"type\":\"string\"},\"channel\":{\"type\":\"string\",\"enum\":[\"web\",\"mobile\",\"voice\",\"chat\",\"sms\"],\"description\":\"Delivery channel context for this experience state.\"},\"onEnter\":{\"type\":\"array\",\"description\":\"List of StateAction specNodeIds executed when entering this state (lifecycle: on-enter).\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.stateaction node.\"}},\"onExit\":{\"type\":\"array\",\"description\":\"List of StateAction specNodeIds executed when leaving this state (lifecycle: on-exit).\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.stateaction node.\"}},\"transitions\":{\"type\":\"array\",\"description\":\"List of StateTransition specNodeIds owned by this state, defining the outgoing edges of the state machine.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.statetransition node.\"}},\"enabledComponents\":{\"type\":\"array\",\"description\":\"List of component specNodeIds that are interactive (enabled) when this state is active. Corresponds to ARIA aria-disabled=false.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a component node.\"}},\"disabledComponents\":{\"type\":\"array\",\"description\":\"List of component specNodeIds that are non-interactive (disabled) when this state is active. Corresponds to ARIA aria-disabled=true.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a component node.\"}},\"hiddenComponents\":{\"type\":\"array\",\"description\":\"List of component specNodeIds that are not rendered when this state is active. Corresponds to ARIA aria-hidden=true or display:none.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a component node.\"}}},\n};\n\nconst NODE_TYPE_UX_LAYOUTCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.layoutconfig\",\n layer: \"ux\",\n type: \"layoutconfig\",\n title: \"LayoutConfig\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"columns\", \"rows\", \"gap\", \"rowGap\", \"columnGap\", \"padding\", \"margin\", \"maxWidth\", \"alignContent\", \"alignItems\", \"justifyContent\", \"justifyItems\", \"stickyPosition\", \"style\", \"labelPosition\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"grid\",\"flex\",\"block\",\"inline\",\"absolute\",\"sticky\"],\"description\":\"CSS layout mode governing element positioning and flow, per CSS Flexbox/Grid specification.\"},\"columns\":{\"type\":\"integer\"},\"rows\":{\"type\":\"integer\"},\"gap\":{\"type\":\"string\"},\"rowGap\":{\"type\":\"string\"},\"columnGap\":{\"type\":\"string\"},\"padding\":{\"type\":\"string\"},\"margin\":{\"type\":\"string\"},\"maxWidth\":{\"type\":\"string\"},\"alignContent\":{\"type\":\"string\",\"enum\":[\"flex-start\",\"flex-end\",\"center\",\"space-between\",\"space-around\",\"stretch\"],\"description\":\"CSS align-content property value, per CSS Flexbox/Grid specification.\"},\"alignItems\":{\"type\":\"string\",\"enum\":[\"flex-start\",\"flex-end\",\"center\",\"baseline\",\"stretch\"],\"description\":\"CSS align-items property value, per CSS Flexbox/Grid specification.\"},\"justifyContent\":{\"type\":\"string\",\"enum\":[\"flex-start\",\"flex-end\",\"center\",\"space-between\",\"space-around\",\"space-evenly\"],\"description\":\"CSS justify-content property value, per CSS Flexbox/Grid specification.\"},\"justifyItems\":{\"type\":\"string\",\"enum\":[\"flex-start\",\"flex-end\",\"center\",\"stretch\",\"baseline\"],\"description\":\"CSS justify-items property value, per CSS Grid specification.\"},\"stickyPosition\":{\"type\":\"string\",\"enum\":[\"top\",\"bottom\",\"left\",\"right\",\"none\"],\"description\":\"Anchor edge for CSS position:sticky elements, per CSS Positioning specification.\"},\"style\":{\"type\":\"string\",\"enum\":[\"card\",\"table\",\"list\",\"grid\",\"masonry\",\"split\"],\"description\":\"Visual presentation style applied to the layout container.\"},\"labelPosition\":{\"type\":\"string\",\"enum\":[\"top\",\"left\",\"right\",\"inline\",\"floating\",\"hidden\"],\"description\":\"Placement of form field labels relative to their input elements, per HTML 5.3 label element positioning patterns.\"}},\n};\n\nconst NODE_TYPE_UX_LIBRARYCOMPONENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.librarycomponent\",\n layer: \"ux\",\n type: \"librarycomponent\",\n title: \"LibraryComponent\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"label\", \"description\", \"category\", \"source\", \"props\", \"slots\", \"events\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"form\",\"table\",\"chart\",\"navigation\",\"feedback\",\"layout\",\"input\",\"display\"],\"description\":\"UI component category used for library organization and component lookup.\"},\"label\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"category\":{\"type\":\"string\",\"description\":\"Fine-grained categorization within the component type (e.g., 'data-grid', 'inline-form', 'bar-chart') for library browsing and search.\"},\"source\":{\"type\":\"object\",\"description\":\"Distribution source for this component (npm package, git repository, or internal registry).\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"npm\",\"git\",\"internal-registry\"],\"description\":\"Distribution mechanism.\"},\"identifier\":{\"type\":\"string\",\"description\":\"Package name, git URL, or registry path (e.g., '@org/ui-components', 'https://github.com/org/ui').\"}},\"additionalProperties\":false},\"props\":{\"type\":\"array\",\"description\":\"Schema of properties accepted by this component. Each entry defines an accepted prop with its name, type, and whether it is required.\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"Prop identifier.\"},\"type\":{\"type\":\"string\",\"enum\":[\"string\",\"number\",\"boolean\",\"object\",\"array\"],\"description\":\"Data type of the prop value.\"},\"required\":{\"type\":\"boolean\",\"description\":\"Whether this prop must be provided by consumers.\"},\"default\":{\"type\":\"string\",\"description\":\"Default value as string; coerced to declared type at runtime.\"}},\"required\":[\"name\",\"type\"],\"additionalProperties\":false}},\"slots\":{\"type\":\"array\",\"description\":\"Named content slots this component exposes for composition, analogous to HTML slot elements in Web Components.\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"Slot identifier referenced by ComponentReference.slot.\"},\"description\":{\"type\":\"string\",\"description\":\"What content is expected in this slot.\"}},\"required\":[\"name\"],\"additionalProperties\":false}},\"events\":{\"type\":\"array\",\"description\":\"Custom events emitted by this component that consumers can listen to.\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"Event name (e.g., 'row-selected', 'form-submitted').\"},\"description\":{\"type\":\"string\",\"description\":\"When this event fires and what payload it carries.\"}},\"required\":[\"name\"],\"additionalProperties\":false}}},\n};\n\nconst NODE_TYPE_UX_LIBRARYSUBVIEW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.librarysubview\",\n layer: \"ux\",\n type: \"librarysubview\",\n title: \"LibrarySubView\",\n requiredAttributes: [],\n optionalAttributes: [\"title\", \"description\", \"category\", \"components\"],\n attributeConstraints: {\"title\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"category\":{\"type\":\"string\",\"description\":\"Functional category grouping related sub-views within a library (e.g., 'forms', 'data-display', 'navigation', 'feedback').\"},\"components\":{\"type\":\"array\",\"description\":\"Ordered list of ComponentInstance specNodeIds that constitute this reusable sub-view composition.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.componentinstance node.\"}}},\n};\n\nconst NODE_TYPE_UX_STATEACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.stateaction\",\n layer: \"ux\",\n type: \"stateaction\",\n title: \"StateAction\",\n requiredAttributes: [\"action\"],\n optionalAttributes: [\"description\", \"lifecycle\", \"timing\"],\n attributeConstraints: {\"action\":{\"type\":\"string\",\"enum\":[\"navigate\",\"submit\",\"open\",\"close\",\"dispatch\",\"validate\"],\"description\":\"Operation executed during the state lifecycle.\"},\"description\":{\"type\":\"string\"},\"lifecycle\":{\"type\":\"string\",\"enum\":[\"on-enter\",\"on-exit\",\"on-transition\"],\"description\":\"State lifecycle hook that triggers this action. 'on-enter': fires when entering the owning ExperienceState; 'on-exit': fires when leaving it; 'on-transition': fires during any outgoing transition from this state.\"},\"timing\":{\"type\":\"string\",\"enum\":[\"immediate\",\"deferred\",\"conditional\"],\"description\":\"Execution scheduling within the lifecycle hook: 'immediate' runs synchronously before the state activates; 'deferred' runs asynchronously after; 'conditional' runs only when a guard condition is met.\"}},\n};\n\nconst NODE_TYPE_UX_STATEACTIONTEMPLATE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.stateactiontemplate\",\n layer: \"ux\",\n type: \"stateactiontemplate\",\n title: \"StateActionTemplate\",\n requiredAttributes: [\"action\"],\n optionalAttributes: [\"description\", \"parameters\"],\n attributeConstraints: {\"action\":{\"type\":\"string\",\"enum\":[\"navigate\",\"submit\",\"open\",\"close\",\"dispatch\",\"validate\"],\"description\":\"Operation this template encapsulates. Must match a value from the StateAction action enum.\"},\"description\":{\"type\":\"string\"},\"parameters\":{\"type\":\"array\",\"description\":\"Configurable parameters that can be supplied when instantiating this template as a StateAction. Each item defines a named input with its expected type and optional default value.\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"Parameter identifier used to reference it in the action (e.g., 'targetId', 'routePath').\"},\"type\":{\"type\":\"string\",\"enum\":[\"string\",\"number\",\"boolean\"],\"description\":\"Expected data type of the parameter value.\"},\"default\":{\"type\":\"string\",\"description\":\"Optional default value as a string; coerced to the declared type at runtime.\"}},\"required\":[\"name\",\"type\"],\"additionalProperties\":false}}},\n};\n\nconst NODE_TYPE_UX_STATEPATTERN: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.statepattern\",\n layer: \"ux\",\n type: \"statepattern\",\n title: \"StatePattern\",\n requiredAttributes: [],\n optionalAttributes: [\"description\", \"category\", \"states\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"category\":{\"type\":\"string\",\"enum\":[\"navigation\",\"form\",\"data-loading\",\"authentication\",\"multi-step\"],\"description\":\"Functional taxonomy of the reusable state machine pattern.\"},\"states\":{\"type\":\"array\",\"description\":\"Ordered list of ExperienceState specNodeIds comprising this reusable pattern. The first entry is the initial state.\",\"items\":{\"type\":\"string\",\"description\":\"specNodeId of an ExperienceState node belonging to this pattern.\"}}},\n};\n\nconst NODE_TYPE_UX_STATETRANSITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.statetransition\",\n layer: \"ux\",\n type: \"statetransition\",\n title: \"StateTransition\",\n requiredAttributes: [\"trigger\"],\n optionalAttributes: [\"to\", \"description\", \"actions\", \"guard\"],\n attributeConstraints: {\"to\":{\"type\":\"string\",\"description\":\"SpecNodeId of the destination ExperienceState this transition leads to (e.g., 'ux.experiencestate.order-confirmed').\"},\"trigger\":{\"type\":\"string\",\"enum\":[\"click\",\"hover\",\"focus\",\"blur\",\"change\",\"submit\",\"load\",\"swipe\",\"voice-command\"],\"description\":\"DOM or UX event that initiates this state transition, per HTML 5.3 event model.\"},\"description\":{\"type\":\"string\"},\"actions\":{\"type\":\"array\",\"description\":\"List of StateAction specNodeIds to execute when this transition fires, in order.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.stateaction node.\"}},\"guard\":{\"type\":\"object\",\"description\":\"Optional boolean guard condition that must evaluate to true for this transition to fire.\",\"properties\":{\"expression\":{\"type\":\"string\",\"description\":\"Boolean expression string evaluated against current state context.\"},\"syntax\":{\"type\":\"string\",\"enum\":[\"javascript\",\"jsonpath\",\"cel\",\"jsonata\"],\"description\":\"Expression language used to evaluate the guard expression. 'javascript': JS boolean expression (e.g., 'user.isLoggedIn && cart.items.length > 0'); 'jsonpath': JSONPath predicate (e.g., '$.user.role == \\\"admin\\\"'); 'cel': Common Expression Language (e.g., 'user.age >= 18'); 'jsonata': JSONata expression (e.g., '$count(items) > 0').\"}},\"required\":[\"expression\",\"syntax\"],\"additionalProperties\":false}},\n};\n\nconst NODE_TYPE_UX_SUBVIEW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.subview\",\n layer: \"ux\",\n type: \"subview\",\n title: \"SubView\",\n requiredAttributes: [],\n optionalAttributes: [\"title\", \"description\", \"order\", \"ref\"],\n attributeConstraints: {\"title\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"order\":{\"type\":\"integer\",\"description\":\"Render order of this SubView within its parent View's subViews list. Lower values render first (top-to-bottom or left-to-right depending on layout).\"},\"ref\":{\"type\":\"string\",\"description\":\"SpecNodeId of the ux.librarysubview this instance is based on (e.g., 'ux.librarysubview.data-table-with-filters'). When present, this SubView is a library instance; when absent, it is an inline definition.\"}},\n};\n\nconst NODE_TYPE_UX_TABLECOLUMN: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.tablecolumn\",\n layer: \"ux\",\n type: \"tablecolumn\",\n title: \"TableColumn\",\n requiredAttributes: [\"header\", \"field\"],\n optionalAttributes: [\"width\", \"minWidth\", \"maxWidth\", \"filterType\", \"textAlign\", \"displayType\", \"defaultSortDirection\"],\n attributeConstraints: {\"header\":{\"type\":\"string\"},\"field\":{\"type\":\"string\"},\"width\":{\"type\":\"string\"},\"minWidth\":{\"type\":\"string\"},\"maxWidth\":{\"type\":\"string\"},\"filterType\":{\"type\":\"string\",\"enum\":[\"equals\",\"contains\",\"startsWith\",\"endsWith\",\"range\",\"multiselect\",\"boolean\"],\"description\":\"Filter operation type available for this column, per HTML 5.3 form input filter patterns.\"},\"textAlign\":{\"type\":\"string\",\"enum\":[\"left\",\"right\",\"center\",\"justify\",\"start\",\"end\"],\"description\":\"CSS text-align value for cell content, per CSS Text specification.\"},\"displayType\":{\"type\":\"string\",\"enum\":[\"text\",\"badge\",\"icon\",\"link\",\"image\",\"boolean\",\"date\",\"currency\",\"actions\"],\"description\":\"Rendering type that controls how cell values are visually presented.\"},\"defaultSortDirection\":{\"type\":\"string\",\"enum\":[\"asc\",\"desc\",\"none\"],\"description\":\"Default sort direction applied to this column when first sorted.\"}},\n};\n\nconst NODE_TYPE_UX_TRANSITIONTEMPLATE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.transitiontemplate\",\n layer: \"ux\",\n type: \"transitiontemplate\",\n title: \"TransitionTemplate\",\n requiredAttributes: [\"to\", \"trigger\"],\n optionalAttributes: [\"description\", \"animationType\", \"duration\", \"easing\"],\n attributeConstraints: {\"to\":{\"type\":\"string\"},\"trigger\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"animationType\":{\"type\":\"string\",\"enum\":[\"fade\",\"slide\",\"scale\",\"bounce\",\"none\"],\"description\":\"Motion animation category applied during this transition.\"},\"duration\":{\"type\":\"string\",\"description\":\"CSS transition duration (e.g., '300ms', '0.5s'), per CSS Transitions specification.\"},\"easing\":{\"type\":\"string\",\"description\":\"CSS timing function controlling the transition's acceleration curve (e.g., 'ease-in-out', 'cubic-bezier(0.4, 0, 0.2, 1)').\"}},\n};\n\nconst NODE_TYPE_UX_UXAPPLICATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.uxapplication\",\n layer: \"ux\",\n type: \"uxapplication\",\n title: \"UXApplication\",\n requiredAttributes: [\"channel\"],\n optionalAttributes: [\"version\", \"description\", \"experiences\", \"theme\", \"designSystem\", \"defaultLocale\"],\n attributeConstraints: {\"version\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"channel\":{\"type\":\"string\",\"enum\":[\"web\",\"mobile\",\"voice\",\"chat\",\"sms\"],\"description\":\"Primary delivery channel this application targets. Multi-channel products use one UXApplication per channel, each referencing channel-specific UXSpecs.\"},\"experiences\":{\"type\":\"array\",\"description\":\"List of UXSpec specNodeIds that comprise the user experiences of this application.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.uxspec node.\"}},\"theme\":{\"type\":\"string\",\"description\":\"Design token theme identifier applied application-wide (e.g., 'brand-light', 'brand-dark', 'high-contrast').\"},\"designSystem\":{\"type\":\"string\",\"description\":\"Identifier of the design system or UXLibrary this application uses (e.g., specNodeId of a ux.uxlibrary node).\"},\"defaultLocale\":{\"type\":\"string\",\"description\":\"Default locale for internationalization, as a BCP 47 language tag (e.g., 'en-US', 'fr-FR', 'ja-JP').\"}},\n};\n\nconst NODE_TYPE_UX_UXLIBRARY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.uxlibrary\",\n layer: \"ux\",\n type: \"uxlibrary\",\n title: \"UXLibrary\",\n requiredAttributes: [\"version\"],\n optionalAttributes: [\"description\", \"author\", \"license\", \"components\", \"subViews\", \"statePatterns\", \"actionPatterns\", \"source\"],\n attributeConstraints: {\"version\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"author\":{\"type\":\"string\"},\"license\":{\"type\":\"string\"},\"components\":{\"type\":\"array\",\"description\":\"List of ux.librarycomponent specNodeIds exported by this library.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.librarycomponent node.\"}},\"subViews\":{\"type\":\"array\",\"description\":\"List of ux.librarysubview specNodeIds exported by this library.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.librarysubview node.\"}},\"statePatterns\":{\"type\":\"array\",\"description\":\"List of ux.statepattern specNodeIds exported by this library.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.statepattern node.\"}},\"actionPatterns\":{\"type\":\"array\",\"description\":\"List of ux.actionpattern specNodeIds exported by this library.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.actionpattern node.\"}},\"source\":{\"type\":\"object\",\"description\":\"Distribution source for this library package.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"npm\",\"git\",\"internal-registry\"],\"description\":\"Distribution mechanism: 'npm' for a published npm package, 'git' for a git repository URL, 'internal-registry' for a private artifact registry.\"},\"identifier\":{\"type\":\"string\",\"description\":\"Package name, git URL, or registry path (e.g., '@org/design-system', 'https://github.com/org/ds', 'registry.internal/ux-lib').\"}},\"additionalProperties\":false}},\n};\n\nconst NODE_TYPE_UX_UXSPEC: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.uxspec\",\n layer: \"ux\",\n type: \"uxspec\",\n title: \"UXSpec\",\n requiredAttributes: [],\n optionalAttributes: [\"version\", \"experience\", \"title\", \"description\", \"source\", \"views\", \"states\"],\n attributeConstraints: {\"version\":{\"type\":\"string\"},\"experience\":{\"type\":\"string\",\"enum\":[\"visual\",\"voice\",\"chat\",\"sms\"],\"description\":\"Delivery modality this spec describes. 'visual': screen-based UI; 'voice': voice assistant interface; 'chat': conversational messaging UI; 'sms': text message-based interaction.\"},\"title\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"source\":{\"type\":\"object\",\"description\":\"Reference to the design artifact (e.g., Figma file, Storybook, or internal design system URL) that this spec is based on.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"figma\",\"storybook\",\"zeplin\",\"url\"],\"description\":\"Design tool or artifact type.\"},\"url\":{\"type\":\"string\",\"description\":\"URL to the design artifact.\"}},\"additionalProperties\":false},\"views\":{\"type\":\"array\",\"description\":\"List of ux.view specNodeIds that comprise the routable screens of this experience.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.view node.\"}},\"states\":{\"type\":\"array\",\"description\":\"List of ux.experiencestate specNodeIds that represent the top-level states of this experience's state machine.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.experiencestate node.\"}}},\n};\n\nconst NODE_TYPE_UX_VIEW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.view\",\n layer: \"ux\",\n type: \"view\",\n title: \"View\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"title\", \"description\", \"routable\", \"layout\", \"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"page\",\"modal\",\"dialog\",\"drawer\",\"panel\",\"overlay\",\"embedded\",\"full-screen\"],\"description\":\"View display mode, per HTML 5.3 sectioning and dialog element semantics.\"},\"title\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"routable\":{\"type\":\"boolean\"},\"layout\":{\"type\":\"string\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_BREADCRUMBCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.breadcrumbconfig\",\n layer: \"navigation\",\n type: \"breadcrumbconfig\",\n title: \"BreadcrumbConfig\",\n requiredAttributes: [\"label\"],\n optionalAttributes: [\"labelTemplate\", \"showHome\", \"homeLabel\", \"homeRoute\"],\n attributeConstraints: {\"label\":{\"type\":\"string\"},\"labelTemplate\":{\"type\":\"string\",\"description\":\"Template string for dynamic label generation using {title} placeholder syntax to interpolate route metadata. Used when breadcrumb labels need to vary by route context rather than a static label.\"},\"showHome\":{\"type\":\"boolean\"},\"homeLabel\":{\"type\":\"string\"},\"homeRoute\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_CONTEXTVARIABLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.contextvariable\",\n layer: \"navigation\",\n type: \"contextvariable\",\n title: \"ContextVariable\",\n requiredAttributes: [\"schemaRef\", \"scope\", \"persistedIn\"],\n optionalAttributes: [\"defaultValue\", \"required\"],\n attributeConstraints: {\"schemaRef\":{\"type\":\"string\"},\"scope\":{\"type\":\"string\",\"enum\":[\"global\",\"flow\",\"step\",\"session\"],\"description\":\"Lifetime and visibility of the variable across navigation flow execution.\"},\"persistedIn\":{\"type\":\"string\",\"enum\":[\"sessionStorage\",\"localStorage\",\"memory\",\"url-param\"],\"description\":\"Storage mechanism used to persist the variable across route transitions: sessionStorage (browser session), localStorage (cross-session), memory (in-process only), url-param (serialized into the URL query string).\"},\"defaultValue\":{\"type\":\"string\"},\"required\":{\"type\":\"boolean\",\"description\":\"When true, the flow cannot proceed if this variable is unset or null. Used to enforce mandatory input collection before advancing to dependent steps.\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_FLOWSTEP: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.flowstep\",\n layer: \"navigation\",\n type: \"flowstep\",\n title: \"FlowStep\",\n requiredAttributes: [\"sequence\", \"route\"],\n optionalAttributes: [\"description\", \"required\", \"waitBehavior\"],\n attributeConstraints: {\"sequence\":{\"type\":\"integer\"},\"route\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"required\":{\"type\":\"boolean\"},\"waitBehavior\":{\"type\":\"string\",\"enum\":[\"blocking\",\"non-blocking\",\"timeout\",\"async\"],\"description\":\"Execution model governing how the flow waits for this step to complete before advancing.\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_GUARDACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.guardaction\",\n layer: \"navigation\",\n type: \"guardaction\",\n title: \"GuardAction\",\n requiredAttributes: [\"action\", \"target\", \"message\", \"preserveRoute\"],\n optionalAttributes: [],\n attributeConstraints: {\"action\":{\"type\":\"string\",\"enum\":[\"redirect\",\"block\",\"notify\",\"prompt\"],\"description\":\"The action taken when the guard denies access to the target route.\"},\"target\":{\"type\":\"string\",\"description\":\"Destination for redirect or replace actions \u2014 a Route ID (e.g., 'login') or an absolute URL. Ignored for block and notify actions.\"},\"message\":{\"type\":\"string\",\"description\":\"User-facing message shown when action is 'notify' or 'prompt', explaining why access was denied.\"},\"preserveRoute\":{\"type\":\"boolean\",\"description\":\"When true, the originally attempted route is stored (e.g., in session state) so the user can be redirected back to it after successfully authenticating.\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_GUARDCONDITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.guardcondition\",\n layer: \"navigation\",\n type: \"guardcondition\",\n title: \"GuardCondition\",\n requiredAttributes: [\"expression\", \"timeout\"],\n optionalAttributes: [\"async\"],\n attributeConstraints: {\"expression\":{\"type\":\"string\",\"description\":\"Boolean predicate expression to evaluate \u2014 may be a JavaScript expression, CEL expression, or logical reference to a named predicate (e.g., 'user.isAuthenticated && user.roles.includes(route.meta.roles)').\"},\"async\":{\"type\":\"boolean\",\"description\":\"When true, the expression is evaluated asynchronously (e.g., via an API call). The guard will await resolution up to the timeout limit before failing closed.\"},\"timeout\":{\"type\":\"integer\",\"description\":\"Maximum milliseconds to wait for an async condition to resolve. On timeout, the guard treats the condition as false (access denied) to fail securely.\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_NAVIGATIONFLOW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.navigationflow\",\n layer: \"navigation\",\n type: \"navigationflow\",\n title: \"NavigationFlow\",\n requiredAttributes: [],\n optionalAttributes: [\"description\", \"source\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_NAVIGATIONGRAPH: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.navigationgraph\",\n layer: \"navigation\",\n type: \"navigationgraph\",\n title: \"NavigationGraph\",\n requiredAttributes: [\"version\", \"application\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"version\":{\"type\":\"string\"},\"application\":{\"type\":\"string\",\"description\":\"Reference to the Layer 4 ApplicationComponent that this navigation graph belongs to, enabling cross-layer traceability from routing to application architecture.\"},\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_NAVIGATIONGUARD: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.navigationguard\",\n layer: \"navigation\",\n type: \"navigationguard\",\n title: \"NavigationGuard\",\n requiredAttributes: [\"type\", \"order\"],\n optionalAttributes: [\"description\", \"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"auth\",\"role\",\"permission\",\"feature-flag\",\"custom\"],\"description\":\"Classification of the guard mechanism: auth (authentication check), role (role membership), permission (fine-grained permission), feature-flag (feature toggle), custom (arbitrary condition).\"},\"description\":{\"type\":\"string\"},\"order\":{\"type\":\"integer\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_NAVIGATIONTRANSITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.navigationtransition\",\n layer: \"navigation\",\n type: \"navigationtransition\",\n title: \"NavigationTransition\",\n requiredAttributes: [\"from\", \"to\", \"trigger\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"from\":{\"type\":\"string\"},\"to\":{\"type\":\"string\"},\"trigger\":{\"type\":\"string\",\"enum\":[\"user-click\",\"programmatic\",\"timeout\",\"browser-back\",\"redirect\"],\"description\":\"Mechanism that initiates the route transition: user-click (explicit user interaction), programmatic (code-driven), timeout (time-based), browser-back (browser history navigation), redirect (automatic server/guard redirect).\"},\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_ROUTE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.route\",\n layer: \"navigation\",\n type: \"route\",\n title: \"Route\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"title\", \"description\", \"source\"],\n attributeConstraints: {\"title\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"type\":{\"type\":\"string\",\"enum\":[\"public\",\"protected\",\"redirect\",\"alias\",\"lazy\"],\"description\":\"Access and loading classification: public (no auth), protected (requires auth), redirect (auto-forwards), alias (multiple paths to same component), lazy (code-split, loaded on demand).\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_ROUTEMETA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.routemeta\",\n layer: \"navigation\",\n type: \"routemeta\",\n title: \"RouteMeta\",\n requiredAttributes: [\"roles\", \"permissions\", \"layout\", \"keepAlive\", \"transition\"],\n optionalAttributes: [\"requiresAuth\", \"breadcrumb\"],\n attributeConstraints: {\"requiresAuth\":{\"type\":\"boolean\",\"description\":\"Hint indicating this route requires an authenticated session; used by NavigationGuard nodes to enforce access control.\"},\"roles\":{\"type\":\"string\",\"description\":\"Comma-separated list of roles permitted to access this route (e.g., 'admin,editor'). Enforced via NavigationGuard.\"},\"permissions\":{\"type\":\"string\",\"description\":\"Comma-separated list of permission strings required for this route (e.g., 'reports:read,users:write'). Enforced via NavigationGuard.\"},\"layout\":{\"type\":\"string\",\"description\":\"Name or reference of the layout component to wrap this route's view (e.g., 'DefaultLayout', 'AuthLayout').\"},\"breadcrumb\":{\"type\":\"string\",\"description\":\"Breadcrumb label or reference to a BreadcrumbConfig node; used to render the route's position in the location trail.\"},\"keepAlive\":{\"type\":\"boolean\",\"description\":\"When true, the route's component instance is cached and reused across navigation events rather than destroyed and re-created.\"},\"transition\":{\"type\":\"string\",\"description\":\"Name of the CSS transition or animation applied when entering or leaving this route (e.g., 'fade', 'slide-left').\"}},\n};\n\nconst NODE_TYPE_APM_ALERT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.alert\",\n layer: \"apm\",\n type: \"alert\",\n title: \"Alert\",\n requiredAttributes: [\"severity\", \"condition\"],\n optionalAttributes: [\"evaluationInterval\", \"notificationChannels\", \"description\"],\n attributeConstraints: {\"severity\":{\"type\":\"string\",\"enum\":[\"critical\",\"warning\",\"info\"],\"description\":\"Alert severity level, controlling routing and escalation policy.\"},\"condition\":{\"type\":\"string\",\"description\":\"Threshold or expression that triggers the alert when true (e.g., 'p99_latency_ms > 500', 'error_rate > 0.01'). Syntax is monitoring-platform-specific.\"},\"evaluationInterval\":{\"type\":\"string\",\"description\":\"How frequently the condition is evaluated (e.g., '1m', '5m', '1h'), expressed as a duration string.\"},\"notificationChannels\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Identifiers of notification destinations (e.g., Slack channel names, PagerDuty service keys, email addresses) that receive alerts when the condition fires.\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable description of what the alert detects and why it matters.\"}},\n};\n\nconst NODE_TYPE_APM_DASHBOARD: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.dashboard\",\n layer: \"apm\",\n type: \"dashboard\",\n title: \"Dashboard\",\n requiredAttributes: [\"tool\"],\n optionalAttributes: [\"description\", \"panels\"],\n attributeConstraints: {\"tool\":{\"type\":\"string\",\"enum\":[\"grafana\",\"datadog\",\"newrelic\",\"cloudwatch\",\"dynatrace\",\"custom\"],\"description\":\"Monitoring platform that hosts this dashboard.\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable description of what this dashboard monitors and its intended audience.\"},\"panels\":{\"type\":\"array\",\"description\":\"Ordered list of visualization panels on this dashboard. Each panel displays one signal or aggregation.\",\"items\":{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\",\"description\":\"Panel heading shown in the dashboard UI.\"},\"signalType\":{\"type\":\"string\",\"enum\":[\"metric\",\"trace\",\"log\",\"alert\"],\"description\":\"The APM signal type visualized by this panel.\"},\"visualizationType\":{\"type\":\"string\",\"enum\":[\"timeseries\",\"gauge\",\"bar\",\"table\",\"heatmap\",\"logs\",\"traces\",\"stat\"],\"description\":\"Visualization form used to render the panel data.\"}},\"required\":[\"title\",\"signalType\"],\"additionalProperties\":false}}},\n};\n\nconst NODE_TYPE_APM_EXPORTERCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.exporterconfig\",\n layer: \"apm\",\n type: \"exporterconfig\",\n title: \"ExporterConfig\",\n requiredAttributes: [\"type\", \"endpoint\"],\n optionalAttributes: [\"enabled\", \"protocol\", \"authType\", \"compression\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"otlp\",\"jaeger\",\"zipkin\",\"prometheus\",\"stdout\",\"logging\"],\"description\":\"The type of exporter\"},\"enabled\":{\"type\":\"boolean\"},\"endpoint\":{\"type\":\"string\"},\"protocol\":{\"type\":\"string\"},\"authType\":{\"type\":\"string\",\"enum\":[\"none\",\"api_key\",\"bearer\",\"tls_client_cert\",\"basic\"],\"description\":\"Authentication method used for the export destination\"},\"compression\":{\"type\":\"string\",\"enum\":[\"none\",\"gzip\"],\"description\":\"Compression algorithm for OTLP export payloads. Applies to OTLP exporters only.\"}},\n};\n\nconst NODE_TYPE_APM_INSTRUMENTATIONCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.instrumentationconfig\",\n layer: \"apm\",\n type: \"instrumentationconfig\",\n title: \"InstrumentationConfig\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"libraryName\", \"enabled\", \"description\", \"instrumentationType\"],\n attributeConstraints: {\"type\":{\"type\":\"string\"},\"libraryName\":{\"type\":\"string\",\"description\":\"OTel InstrumentationScope-compatible library name identifying the instrumented library or framework (e.g., 'io.opentelemetry.spring-webmvc-6.0'). Used to correlate this config with telemetry emitted under the matching InstrumentationScope.\"},\"enabled\":{\"type\":\"boolean\"},\"description\":{\"type\":\"string\"},\"instrumentationType\":{\"type\":\"string\",\"enum\":[\"automatic\",\"manual\",\"both\"],\"description\":\"Whether instrumentation is applied automatically, manually, or both\"}},\n};\n\nconst NODE_TYPE_APM_INSTRUMENTATIONSCOPE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.instrumentationscope\",\n layer: \"apm\",\n type: \"instrumentationscope\",\n title: \"InstrumentationScope\",\n requiredAttributes: [\"droppedAttributesCount\"],\n optionalAttributes: [\"version\", \"schemaUrl\", \"attributes\"],\n attributeConstraints: {\"version\":{\"type\":\"string\"},\"schemaUrl\":{\"type\":\"string\"},\"droppedAttributesCount\":{\"type\":\"integer\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_LOGCONFIGURATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.logconfiguration\",\n layer: \"apm\",\n type: \"logconfiguration\",\n title: \"LogConfiguration\",\n requiredAttributes: [\"serviceName\"],\n optionalAttributes: [\"minimumSeverity\"],\n attributeConstraints: {\"serviceName\":{\"type\":\"string\"},\"minimumSeverity\":{\"type\":\"string\",\"enum\":[\"TRACE\",\"DEBUG\",\"INFO\",\"WARN\",\"ERROR\",\"FATAL\"],\"description\":\"Minimum OTel SeverityText level for log records to be emitted\"}},\n};\n\nconst NODE_TYPE_APM_LOGPROCESSOR: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.logprocessor\",\n layer: \"apm\",\n type: \"logprocessor\",\n title: \"LogProcessor\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"order\", \"enabled\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"simple\",\"batch\",\"custom\"],\"description\":\"OTel log record processor type (simple: synchronous, batch: asynchronous buffered)\"},\"order\":{\"type\":\"integer\"},\"enabled\":{\"type\":\"boolean\"}},\n};\n\nconst NODE_TYPE_APM_LOGRECORD: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.logrecord\",\n layer: \"apm\",\n type: \"logrecord\",\n title: \"LogRecord\",\n requiredAttributes: [\"timeUnixNano\", \"observedTimeUnixNano\", \"severityNumber\", \"body\", \"flags\", \"droppedAttributesCount\"],\n optionalAttributes: [\"severityText\", \"attributes\"],\n attributeConstraints: {\"timeUnixNano\":{\"type\":\"string\"},\"observedTimeUnixNano\":{\"type\":\"string\"},\"severityNumber\":{\"type\":\"string\"},\"severityText\":{\"type\":\"string\"},\"body\":{\"type\":\"string\"},\"flags\":{\"type\":\"string\"},\"droppedAttributesCount\":{\"type\":\"integer\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_METRICCONFIGURATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.metricconfiguration\",\n layer: \"apm\",\n type: \"metricconfiguration\",\n title: \"MetricConfiguration\",\n requiredAttributes: [\"serviceName\"],\n optionalAttributes: [\"exportIntervalMillis\", \"exportTimeoutMillis\", \"cardinalityLimit\", \"exemplarFilter\", \"exemplarReservoirSize\"],\n attributeConstraints: {\"serviceName\":{\"type\":\"string\"},\"exportIntervalMillis\":{\"type\":\"integer\"},\"exportTimeoutMillis\":{\"type\":\"integer\",\"description\":\"Maximum time allowed for a metric export to complete\"},\"cardinalityLimit\":{\"type\":\"integer\",\"description\":\"Maximum number of unique metric time series per instrument\"},\"exemplarFilter\":{\"type\":\"string\",\"enum\":[\"always_on\",\"always_off\",\"trace_based\"],\"description\":\"OTel exemplar filter controlling which exemplars are recorded\"},\"exemplarReservoirSize\":{\"type\":\"integer\",\"description\":\"Maximum number of exemplars retained per instrument per collection cycle. Used in conjunction with exemplarFilter to control exemplar sampling volume.\"}},\n};\n\nconst NODE_TYPE_APM_METRICINSTRUMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.metricinstrument\",\n layer: \"apm\",\n type: \"metricinstrument\",\n title: \"MetricInstrument\",\n requiredAttributes: [\"type\", \"unit\"],\n optionalAttributes: [\"description\", \"enabled\", \"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"Counter\",\"UpDownCounter\",\"Histogram\",\"Gauge\",\"ObservableCounter\",\"ObservableUpDownCounter\",\"ObservableGauge\"],\"description\":\"OTel instrument type: synchronous (Counter, UpDownCounter, Histogram, Gauge) or asynchronous/observable (ObservableCounter, ObservableUpDownCounter, ObservableGauge)\"},\"unit\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"enabled\":{\"type\":\"boolean\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference for code-defined metrics\"}},\n};\n\nconst NODE_TYPE_APM_RESOURCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.resource\",\n layer: \"apm\",\n type: \"resource\",\n title: \"Resource\",\n requiredAttributes: [\"droppedAttributesCount\"],\n optionalAttributes: [\"schemaUrl\", \"serviceName\", \"serviceVersion\", \"deploymentEnvironment\", \"attributes\"],\n attributeConstraints: {\"schemaUrl\":{\"type\":\"string\"},\"droppedAttributesCount\":{\"type\":\"integer\"},\"serviceName\":{\"type\":\"string\",\"description\":\"OTel Resource semantic convention: logical name of the service (service.name)\"},\"serviceVersion\":{\"type\":\"string\",\"description\":\"OTel Resource semantic convention: version of the service (service.version)\"},\"deploymentEnvironment\":{\"type\":\"string\",\"description\":\"OTel Resource semantic convention: deployment environment (deployment.environment)\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_SPAN: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.span\",\n layer: \"apm\",\n type: \"span\",\n title: \"Span\",\n requiredAttributes: [\"traceId\", \"spanId\", \"traceState\", \"parentSpanId\", \"spanKind\", \"startTimeUnixNano\", \"endTimeUnixNano\", \"droppedAttributesCount\", \"droppedEventsCount\", \"droppedLinksCount\"],\n optionalAttributes: [\"statusCode\", \"statusMessage\", \"attributes\"],\n attributeConstraints: {\"traceId\":{\"type\":\"string\"},\"spanId\":{\"type\":\"string\"},\"traceState\":{\"type\":\"string\"},\"parentSpanId\":{\"type\":\"string\"},\"spanKind\":{\"type\":\"string\",\"enum\":[\"INTERNAL\",\"SERVER\",\"CLIENT\",\"PRODUCER\",\"CONSUMER\"],\"description\":\"OTel SpanKind indicating the span's relationship to the calling and receiving system\"},\"startTimeUnixNano\":{\"type\":\"string\"},\"endTimeUnixNano\":{\"type\":\"string\"},\"droppedAttributesCount\":{\"type\":\"integer\"},\"droppedEventsCount\":{\"type\":\"string\"},\"droppedLinksCount\":{\"type\":\"string\"},\"statusCode\":{\"type\":\"string\",\"enum\":[\"UNSET\",\"OK\",\"ERROR\"],\"description\":\"OTel span status code. UNSET = not explicitly set by instrumentation; OK = explicitly successful; ERROR = explicitly failed. Once set to OK, cannot be overridden to ERROR.\"},\"statusMessage\":{\"type\":\"string\",\"description\":\"Optional human-readable error message, used when statusCode is ERROR.\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_SPANEVENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.spanevent\",\n layer: \"apm\",\n type: \"spanevent\",\n title: \"SpanEvent\",\n requiredAttributes: [\"timeUnixNano\", \"droppedAttributesCount\"],\n optionalAttributes: [\"attributes\"],\n attributeConstraints: {\"timeUnixNano\":{\"type\":\"string\"},\"droppedAttributesCount\":{\"type\":\"integer\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_SPANLINK: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.spanlink\",\n layer: \"apm\",\n type: \"spanlink\",\n title: \"SpanLink\",\n requiredAttributes: [\"traceId\", \"spanId\", \"droppedAttributesCount\"],\n optionalAttributes: [\"traceState\", \"attributes\"],\n attributeConstraints: {\"traceId\":{\"type\":\"string\"},\"spanId\":{\"type\":\"string\"},\"traceState\":{\"type\":\"string\"},\"droppedAttributesCount\":{\"type\":\"integer\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_TRACECONFIGURATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.traceconfiguration\",\n layer: \"apm\",\n type: \"traceconfiguration\",\n title: \"TraceConfiguration\",\n requiredAttributes: [],\n optionalAttributes: [\"source\", \"samplerType\", \"propagators\", \"samplerParam\"],\n attributeConstraints: {\"source\":{\"type\":\"object\",\"description\":\"Source code reference for trace configuration\"},\"samplerType\":{\"type\":\"string\",\"enum\":[\"always_on\",\"always_off\",\"trace_id_ratio\",\"parent_based_always_on\",\"parent_based_always_off\",\"parent_based_trace_id_ratio\"],\"description\":\"OTel SDK sampler type controlling which traces are recorded\"},\"propagators\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"tracecontext\",\"baggage\",\"b3\",\"b3multi\",\"xray\",\"jaeger\"]},\"description\":\"OTel context propagation formats enabled for this trace configuration\"},\"samplerParam\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1,\"description\":\"Sampling rate for ratio-based samplers (trace_id_ratio, parent_based_trace_id_ratio). Value between 0.0 (sample none) and 1.0 (sample all). Ignored for non-ratio sampler types.\"}},\n};\n\nconst NODE_TYPE_TESTING_CONTEXTVARIATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.contextvariation\",\n layer: \"testing\",\n type: \"contextvariation\",\n title: \"ContextVariation\",\n requiredAttributes: [\"contextType\"],\n optionalAttributes: [\"description\", \"environmentFactors\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"contextType\":{\"type\":\"string\",\"enum\":[\"functional\",\"load\",\"security\",\"regression\",\"smoke\",\"exploratory\"],\"description\":\"The category of test context this variation represents\"},\"environmentFactors\":{\"type\":\"array\",\"description\":\"References EnvironmentFactor nodes specifying the concrete environmental constraints (OS, locale, network, hardware, dependency versions) that define this context variation.\"}},\n};\n\nconst NODE_TYPE_TESTING_COVERAGEEXCLUSION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.coverageexclusion\",\n layer: \"testing\",\n type: \"coverageexclusion\",\n title: \"CoverageExclusion\",\n requiredAttributes: [\"reason\", \"riskAccepted\", \"approvedBy\"],\n optionalAttributes: [\"description\", \"affectedTargetRef\", \"dateApproved\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"reason\":{\"type\":\"string\"},\"riskAccepted\":{\"type\":\"boolean\"},\"approvedBy\":{\"type\":\"string\"},\"affectedTargetRef\":{\"type\":\"string\",\"description\":\"ID of the testing.testcoveragetarget or testing.coveragerequirement being excluded from coverage\"},\"dateApproved\":{\"type\":\"string\",\"format\":\"date\",\"description\":\"ISO date when the exclusion was formally approved, supporting audit trail requirements\"}},\n};\n\nconst NODE_TYPE_TESTING_COVERAGEGAP: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.coveragegap\",\n layer: \"testing\",\n type: \"coveragegap\",\n title: \"CoverageGap\",\n requiredAttributes: [\"severity\", \"affectedRequirements\"],\n optionalAttributes: [\"description\", \"remediationStatus\", \"targetRef\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"severity\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\"],\"description\":\"Risk level of leaving this gap unaddressed\"},\"affectedRequirements\":{\"type\":\"string\",\"description\":\"Identifier or reference to the requirement(s) that remain uncovered due to this gap.\"},\"remediationStatus\":{\"type\":\"string\",\"enum\":[\"open\",\"deferred\",\"resolved\",\"accepted-risk\"],\"description\":\"Lifecycle state of this coverage gap.\"},\"targetRef\":{\"type\":\"string\",\"description\":\"ID of the testing.testcoveragetarget where this gap was identified\"}},\n};\n\nconst NODE_TYPE_TESTING_COVERAGEREQUIREMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.coveragerequirement\",\n layer: \"testing\",\n type: \"coveragerequirement\",\n title: \"CoverageRequirement\",\n requiredAttributes: [\"coverageCriteria\"],\n optionalAttributes: [\"description\", \"priority\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"coverageCriteria\":{\"type\":\"string\",\"enum\":[\"all-partitions\",\"boundary-values\",\"pairwise\",\"each-choice\",\"MC/DC\",\"path-coverage\"],\"description\":\"The coverage strategy defining which combinations of partition values must be exercised\"},\"priority\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\"],\"description\":\"Relative importance of fulfilling this coverage requirement\"}},\n};\n\nconst NODE_TYPE_TESTING_COVERAGESUMMARY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.coveragesummary\",\n layer: \"testing\",\n type: \"coveragesummary\",\n title: \"CoverageSummary\",\n requiredAttributes: [\"totalTargets\", \"totalRequirements\", \"totalSketches\"],\n optionalAttributes: [\"modelRef\", \"generatedAt\"],\n attributeConstraints: {\"modelRef\":{\"type\":\"string\",\"description\":\"ID of the testing.testcoveragemodel this summary aggregates\"},\"generatedAt\":{\"type\":\"string\"},\"totalTargets\":{\"type\":\"integer\"},\"totalRequirements\":{\"type\":\"integer\"},\"totalSketches\":{\"type\":\"integer\"}},\n};\n\nconst NODE_TYPE_TESTING_ENVIRONMENTFACTOR: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.environmentfactor\",\n layer: \"testing\",\n type: \"environmentfactor\",\n title: \"EnvironmentFactor\",\n requiredAttributes: [\"factorType\", \"value\"],\n optionalAttributes: [\"expectedRange\", \"testImpact\", \"description\"],\n attributeConstraints: {\"factorType\":{\"type\":\"string\",\"enum\":[\"os\",\"network\",\"locale\",\"hardware\",\"dependency-version\"],\"description\":\"Category of environmental variable being documented.\"},\"value\":{\"type\":\"string\",\"description\":\"The specific value or constraint for this factor (e.g., 'Ubuntu 22.04', 'latency < 100ms', 'en-US', 'Node.js 20.x').\"},\"expectedRange\":{\"type\":\"string\",\"description\":\"Acceptable range or set of values for this factor in the test environment (e.g., 'latency 50-200ms', 'Ubuntu 20.04 or 22.04').\"},\"testImpact\":{\"type\":\"string\",\"description\":\"Description of how variations in this factor are expected to affect test behavior or outcomes.\"},\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_TESTING_INPUTPARTITIONSELECTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.inputpartitionselection\",\n layer: \"testing\",\n type: \"inputpartitionselection\",\n title: \"InputPartitionSelection\",\n requiredAttributes: [\"partitionRef\", \"coverValues\", \"coverAllCategories\", \"excludeValues\"],\n optionalAttributes: [],\n attributeConstraints: {\"partitionRef\":{\"type\":\"string\",\"description\":\"ID of the testing.inputspacepartition from which values are being selected for coverage.\"},\"coverValues\":{\"type\":\"string\",\"description\":\"Comma-separated labels or IDs of specific partition values to include in coverage. Ignored when coverAllCategories is true.\"},\"coverAllCategories\":{\"type\":\"boolean\",\"description\":\"When true, all partition values are included in coverage except those listed in excludeValues. Overrides coverValues.\"},\"excludeValues\":{\"type\":\"string\",\"description\":\"Comma-separated labels or IDs of partition values to exclude from coverage. Applied when coverAllCategories is true to carve out specific values.\"}},\n};\n\nconst NODE_TYPE_TESTING_INPUTSELECTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.inputselection\",\n layer: \"testing\",\n type: \"inputselection\",\n title: \"InputSelection\",\n requiredAttributes: [\"partitionRef\", \"selectedValue\", \"concreteValue\", \"valueSource\"],\n optionalAttributes: [],\n attributeConstraints: {\"partitionRef\":{\"type\":\"string\"},\"selectedValue\":{\"type\":\"string\"},\"concreteValue\":{\"type\":\"string\"},\"valueSource\":{\"type\":\"string\",\"enum\":[\"manual\",\"generated\",\"data-driven\",\"fixture\"],\"description\":\"How the concrete value was obtained: manually authored, algorithmically generated, drawn from a data set, or loaded from a test fixture\"}},\n};\n\nconst NODE_TYPE_TESTING_INPUTSPACEPARTITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.inputspacepartition\",\n layer: \"testing\",\n type: \"inputspacepartition\",\n title: \"InputSpacePartition\",\n requiredAttributes: [\"fieldRef\", \"presenceRule\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"fieldRef\":{\"type\":\"string\"},\"presenceRule\":{\"type\":\"string\",\"enum\":[\"required\",\"optional\",\"conditional\",\"forbidden\",\"mutually-exclusive\"],\"description\":\"Whether this input field must be present in test inputs for this partition\"}},\n};\n\nconst NODE_TYPE_TESTING_OUTCOMECATEGORY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.outcomecategory\",\n layer: \"testing\",\n type: \"outcomecategory\",\n title: \"OutcomeCategory\",\n requiredAttributes: [\"outcomeType\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"outcomeType\":{\"type\":\"string\",\"enum\":[\"success\",\"validation-error\",\"authorization-error\",\"not-found\",\"server-error\",\"exception\",\"timeout\"],\"description\":\"The class of observable outcome this category represents, used to group test cases by expected result type for coverage analysis and reporting.\"}},\n};\n\nconst NODE_TYPE_TESTING_PARTITIONDEPENDENCY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.partitiondependency\",\n layer: \"testing\",\n type: \"partitiondependency\",\n title: \"PartitionDependency\",\n requiredAttributes: [\"dependsOnPartition\", \"dependsOnValue\", \"effect\", \"affectedValues\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"dependsOnPartition\":{\"type\":\"string\",\"description\":\"ID of the testing.inputspacepartition that triggers this dependency\"},\"dependsOnValue\":{\"type\":\"string\",\"description\":\"Label or ID of the testing.partitionvalue that activates this dependency\"},\"effect\":{\"type\":\"string\",\"enum\":[\"excludes\",\"requires\",\"restricts-to\",\"modifies-range\"],\"description\":\"How the dependency affects the related partition values\"},\"affectedValues\":{\"type\":\"string\",\"description\":\"Comma-separated labels or IDs of the partition values in the dependent field whose availability is modified by this dependency (e.g., values that are excluded, required, or restricted when the trigger value is selected).\"},\"description\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_TESTING_PARTITIONVALUE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.partitionvalue\",\n layer: \"testing\",\n type: \"partitionvalue\",\n title: \"PartitionValue\",\n requiredAttributes: [\"label\", \"constraint\", \"constraintExpression\", \"category\", \"representativeValue\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"label\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"constraint\":{\"type\":\"string\",\"description\":\"Human-readable description of the condition this partition boundary represents (e.g., 'must be between 0 and 100', 'must not be null or empty').\"},\"constraintExpression\":{\"type\":\"string\",\"description\":\"Machine-evaluable expression encoding the partition boundary condition (e.g., a regex pattern, JSONPath predicate, or comparison expression such as 'value >= 0 && value <= 100').\"},\"category\":{\"type\":\"string\",\"enum\":[\"valid\",\"invalid\",\"boundary-valid\",\"boundary-invalid\",\"null-empty\",\"special-character\"],\"description\":\"Equivalence partition category for this value\"},\"representativeValue\":{\"type\":\"string\"}},\n};\n\nconst NODE_TYPE_TESTING_TARGETCOVERAGESUMMARY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.targetcoveragesummary\",\n layer: \"testing\",\n type: \"targetcoveragesummary\",\n title: \"TargetCoverageSummary\",\n requiredAttributes: [\"targetRef\", \"sketchCount\", \"implementedCount\", \"automatedCount\"],\n optionalAttributes: [\"coveragePercentage\"],\n attributeConstraints: {\"targetRef\":{\"type\":\"string\",\"description\":\"ID of the testing.testcoveragetarget this summary covers\"},\"sketchCount\":{\"type\":\"integer\",\"description\":\"Total number of TestCaseSketch nodes for this target (design-time count; superset of implementedCount)\"},\"implementedCount\":{\"type\":\"integer\",\"description\":\"Number of sketches with a concrete test case implementation (must be \u2264 sketchCount; superset of automatedCount)\"},\"automatedCount\":{\"type\":\"integer\",\"description\":\"Number of implemented test cases that are automated (must be \u2264 implementedCount)\"},\"coveragePercentage\":{\"type\":\"number\",\"description\":\"Percentage of coverage requirements with at least one implemented test case sketch (0\u2013100)\"}},\n};\n\nconst NODE_TYPE_TESTING_TARGETINPUTFIELD: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.targetinputfield\",\n layer: \"testing\",\n type: \"targetinputfield\",\n title: \"TargetInputField\",\n requiredAttributes: [\"fieldRef\", \"partitionRef\"],\n optionalAttributes: [\"description\", \"relevance\"],\n attributeConstraints: {\"fieldRef\":{\"type\":\"string\",\"description\":\"ID of the referenced field element in the API layer (e.g., an API parameter) or Data Model layer (e.g., a data-model property)\"},\"partitionRef\":{\"type\":\"string\",\"description\":\"ID of the testing.inputspacepartition that defines the equivalence classes or boundary values for this input field.\"},\"description\":{\"type\":\"string\"},\"relevance\":{\"type\":\"string\",\"enum\":[\"required\",\"optional\",\"conditional\",\"not-applicable\"],\"description\":\"Whether this field must be included in test case input specifications\"}},\n};\n\nconst NODE_TYPE_TESTING_TESTCASESKETCH: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.testcasesketch\",\n layer: \"testing\",\n type: \"testcasesketch\",\n title: \"TestCaseSketch\",\n requiredAttributes: [\"status\"],\n optionalAttributes: [\"description\", \"inputSelections\", \"implementationFormat\", \"source\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"status\":{\"type\":\"string\",\"enum\":[\"draft\",\"under-review\",\"approved\",\"implemented\",\"automated\",\"deprecated\"],\"description\":\"Lifecycle status of the test case sketch\"},\"inputSelections\":{\"type\":\"array\",\"description\":\"References InputPartitionSelection nodes specifying which partition values this sketch exercises.\"},\"implementationFormat\":{\"type\":\"string\",\"enum\":[\"manual\",\"automated\",\"semi-automated\",\"exploratory\"],\"description\":\"How the test case will be executed\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference to the test case implementation\"}},\n};\n\nconst NODE_TYPE_TESTING_TESTCOVERAGEMODEL: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.testcoveragemodel\",\n layer: \"testing\",\n type: \"testcoveragemodel\",\n title: \"TestCoverageModel\",\n requiredAttributes: [\"version\", \"application\"],\n optionalAttributes: [\"description\", \"source\"],\n attributeConstraints: {\"version\":{\"type\":\"string\"},\"application\":{\"type\":\"string\",\"description\":\"Cross-layer reference ID to the application or API element (application layer or api layer) being covered by this model\"},\"description\":{\"type\":\"string\"},\"source\":{\"type\":\"object\",\"description\":\"Provenance information indicating the origin of this model (e.g., manually authored, imported from OpenAPI, or generated from source artifacts)\"}},\n};\n\nconst NODE_TYPE_TESTING_TESTCOVERAGETARGET: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.testcoveragetarget\",\n layer: \"testing\",\n type: \"testcoveragetarget\",\n title: \"TestCoverageTarget\",\n requiredAttributes: [\"targetType\"],\n optionalAttributes: [\"description\", \"priority\", \"source\"],\n attributeConstraints: {\"description\":{\"type\":\"string\"},\"targetType\":{\"type\":\"string\",\"enum\":[\"api-endpoint\",\"business-workflow\",\"ui-component\",\"data-migration\",\"integration-flow\",\"scheduled-job\"],\"description\":\"The kind of artifact or functionality requiring test coverage\"},\"priority\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\"],\"description\":\"Relative importance of achieving coverage for this target\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference for the artifact requiring test coverage\"}},\n};\n\n/**\n * All 191 node types with metadata, indexed by spec_node_id\n * Provides O(1) lookup for node type information\n */\nexport const NODE_TYPES: Map<SpecNodeId, NodeTypeInfo> = /*#__PURE__*/ new Map([\n [\"motivation.assessment\", NODE_TYPE_MOTIVATION_ASSESSMENT],\n [\"motivation.constraint\", NODE_TYPE_MOTIVATION_CONSTRAINT],\n [\"motivation.driver\", NODE_TYPE_MOTIVATION_DRIVER],\n [\"motivation.goal\", NODE_TYPE_MOTIVATION_GOAL],\n [\"motivation.meaning\", NODE_TYPE_MOTIVATION_MEANING],\n [\"motivation.outcome\", NODE_TYPE_MOTIVATION_OUTCOME],\n [\"motivation.principle\", NODE_TYPE_MOTIVATION_PRINCIPLE],\n [\"motivation.requirement\", NODE_TYPE_MOTIVATION_REQUIREMENT],\n [\"motivation.stakeholder\", NODE_TYPE_MOTIVATION_STAKEHOLDER],\n [\"motivation.value\", NODE_TYPE_MOTIVATION_VALUE],\n [\"business.businessactor\", NODE_TYPE_BUSINESS_BUSINESSACTOR],\n [\"business.businesscollaboration\", NODE_TYPE_BUSINESS_BUSINESSCOLLABORATION],\n [\"business.businessevent\", NODE_TYPE_BUSINESS_BUSINESSEVENT],\n [\"business.businessfunction\", NODE_TYPE_BUSINESS_BUSINESSFUNCTION],\n [\"business.businessinteraction\", NODE_TYPE_BUSINESS_BUSINESSINTERACTION],\n [\"business.businessinterface\", NODE_TYPE_BUSINESS_BUSINESSINTERFACE],\n [\"business.businessobject\", NODE_TYPE_BUSINESS_BUSINESSOBJECT],\n [\"business.businessprocess\", NODE_TYPE_BUSINESS_BUSINESSPROCESS],\n [\"business.businessrole\", NODE_TYPE_BUSINESS_BUSINESSROLE],\n [\"business.businessservice\", NODE_TYPE_BUSINESS_BUSINESSSERVICE],\n [\"business.contract\", NODE_TYPE_BUSINESS_CONTRACT],\n [\"business.product\", NODE_TYPE_BUSINESS_PRODUCT],\n [\"business.representation\", NODE_TYPE_BUSINESS_REPRESENTATION],\n [\"product.capability\", NODE_TYPE_PRODUCT_CAPABILITY],\n [\"product.feature\", NODE_TYPE_PRODUCT_FEATURE],\n [\"product.milestone\", NODE_TYPE_PRODUCT_MILESTONE],\n [\"product.persona\", NODE_TYPE_PRODUCT_PERSONA],\n [\"product.userworkflow\", NODE_TYPE_PRODUCT_USERWORKFLOW],\n [\"security.accesscondition\", NODE_TYPE_SECURITY_ACCESSCONDITION],\n [\"security.accountabilityrequirement\", NODE_TYPE_SECURITY_ACCOUNTABILITYREQUIREMENT],\n [\"security.actor\", NODE_TYPE_SECURITY_ACTOR],\n [\"security.auditconfig\", NODE_TYPE_SECURITY_AUDITCONFIG],\n [\"security.authenticationconfig\", NODE_TYPE_SECURITY_AUTHENTICATIONCONFIG],\n [\"security.bindingofduty\", NODE_TYPE_SECURITY_BINDINGOFDUTY],\n [\"security.condition\", NODE_TYPE_SECURITY_CONDITION],\n [\"security.countermeasure\", NODE_TYPE_SECURITY_COUNTERMEASURE],\n [\"security.dataclassification\", NODE_TYPE_SECURITY_DATACLASSIFICATION],\n [\"security.delegation\", NODE_TYPE_SECURITY_DELEGATION],\n [\"security.evidence\", NODE_TYPE_SECURITY_EVIDENCE],\n [\"security.fieldaccesscontrol\", NODE_TYPE_SECURITY_FIELDACCESSCONTROL],\n [\"security.informationentity\", NODE_TYPE_SECURITY_INFORMATIONENTITY],\n [\"security.informationright\", NODE_TYPE_SECURITY_INFORMATIONRIGHT],\n [\"security.needtoknow\", NODE_TYPE_SECURITY_NEEDTOKNOW],\n [\"security.passwordpolicy\", NODE_TYPE_SECURITY_PASSWORDPOLICY],\n [\"security.permission\", NODE_TYPE_SECURITY_PERMISSION],\n [\"security.policyaction\", NODE_TYPE_SECURITY_POLICYACTION],\n [\"security.policyrule\", NODE_TYPE_SECURITY_POLICYRULE],\n [\"security.resourceoperation\", NODE_TYPE_SECURITY_RESOURCEOPERATION],\n [\"security.retentionpolicy\", NODE_TYPE_SECURITY_RETENTIONPOLICY],\n [\"security.role\", NODE_TYPE_SECURITY_ROLE],\n [\"security.secureresource\", NODE_TYPE_SECURITY_SECURERESOURCE],\n [\"security.securityconstraints\", NODE_TYPE_SECURITY_SECURITYCONSTRAINTS],\n [\"security.securitymodel\", NODE_TYPE_SECURITY_SECURITYMODEL],\n [\"security.securitypolicy\", NODE_TYPE_SECURITY_SECURITYPOLICY],\n [\"security.separationofduty\", NODE_TYPE_SECURITY_SEPARATIONOFDUTY],\n [\"security.threat\", NODE_TYPE_SECURITY_THREAT],\n [\"security.validationrule\", NODE_TYPE_SECURITY_VALIDATIONRULE],\n [\"application.applicationcollaboration\", NODE_TYPE_APPLICATION_APPLICATIONCOLLABORATION],\n [\"application.applicationcomponent\", NODE_TYPE_APPLICATION_APPLICATIONCOMPONENT],\n [\"application.applicationevent\", NODE_TYPE_APPLICATION_APPLICATIONEVENT],\n [\"application.applicationfunction\", NODE_TYPE_APPLICATION_APPLICATIONFUNCTION],\n [\"application.applicationinteraction\", NODE_TYPE_APPLICATION_APPLICATIONINTERACTION],\n [\"application.applicationinterface\", NODE_TYPE_APPLICATION_APPLICATIONINTERFACE],\n [\"application.applicationprocess\", NODE_TYPE_APPLICATION_APPLICATIONPROCESS],\n [\"application.applicationservice\", NODE_TYPE_APPLICATION_APPLICATIONSERVICE],\n [\"application.dataobject\", NODE_TYPE_APPLICATION_DATAOBJECT],\n [\"technology.artifact\", NODE_TYPE_TECHNOLOGY_ARTIFACT],\n [\"technology.communicationnetwork\", NODE_TYPE_TECHNOLOGY_COMMUNICATIONNETWORK],\n [\"technology.device\", NODE_TYPE_TECHNOLOGY_DEVICE],\n [\"technology.node\", NODE_TYPE_TECHNOLOGY_NODE],\n [\"technology.path\", NODE_TYPE_TECHNOLOGY_PATH],\n [\"technology.systemsoftware\", NODE_TYPE_TECHNOLOGY_SYSTEMSOFTWARE],\n [\"technology.technologycollaboration\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYCOLLABORATION],\n [\"technology.technologyevent\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYEVENT],\n [\"technology.technologyfunction\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYFUNCTION],\n [\"technology.technologyinteraction\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYINTERACTION],\n [\"technology.technologyinterface\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYINTERFACE],\n [\"technology.technologyprocess\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYPROCESS],\n [\"technology.technologyservice\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYSERVICE],\n [\"api.callback\", NODE_TYPE_API_CALLBACK],\n [\"api.components\", NODE_TYPE_API_COMPONENTS],\n [\"api.contact\", NODE_TYPE_API_CONTACT],\n [\"api.encoding\", NODE_TYPE_API_ENCODING],\n [\"api.example\", NODE_TYPE_API_EXAMPLE],\n [\"api.externaldocumentation\", NODE_TYPE_API_EXTERNALDOCUMENTATION],\n [\"api.header\", NODE_TYPE_API_HEADER],\n [\"api.info\", NODE_TYPE_API_INFO],\n [\"api.license\", NODE_TYPE_API_LICENSE],\n [\"api.link\", NODE_TYPE_API_LINK],\n [\"api.mediatype\", NODE_TYPE_API_MEDIATYPE],\n [\"api.oauthflow\", NODE_TYPE_API_OAUTHFLOW],\n [\"api.oauthflows\", NODE_TYPE_API_OAUTHFLOWS],\n [\"api.openapidocument\", NODE_TYPE_API_OPENAPIDOCUMENT],\n [\"api.operation\", NODE_TYPE_API_OPERATION],\n [\"api.parameter\", NODE_TYPE_API_PARAMETER],\n [\"api.pathitem\", NODE_TYPE_API_PATHITEM],\n [\"api.paths\", NODE_TYPE_API_PATHS],\n [\"api.ratelimit\", NODE_TYPE_API_RATELIMIT],\n [\"api.requestbody\", NODE_TYPE_API_REQUESTBODY],\n [\"api.response\", NODE_TYPE_API_RESPONSE],\n [\"api.responses\", NODE_TYPE_API_RESPONSES],\n [\"api.schema\", NODE_TYPE_API_SCHEMA],\n [\"api.securityscheme\", NODE_TYPE_API_SECURITYSCHEME],\n [\"api.server\", NODE_TYPE_API_SERVER],\n [\"api.servervariable\", NODE_TYPE_API_SERVERVARIABLE],\n [\"api.tag\", NODE_TYPE_API_TAG],\n [\"data-model.arrayschema\", NODE_TYPE_DATA_MODEL_ARRAYSCHEMA],\n [\"data-model.jsonschema\", NODE_TYPE_DATA_MODEL_JSONSCHEMA],\n [\"data-model.numericschema\", NODE_TYPE_DATA_MODEL_NUMERICSCHEMA],\n [\"data-model.objectschema\", NODE_TYPE_DATA_MODEL_OBJECTSCHEMA],\n [\"data-model.reference\", NODE_TYPE_DATA_MODEL_REFERENCE],\n [\"data-model.schemacomposition\", NODE_TYPE_DATA_MODEL_SCHEMACOMPOSITION],\n [\"data-model.schemadefinition\", NODE_TYPE_DATA_MODEL_SCHEMADEFINITION],\n [\"data-model.schemaproperty\", NODE_TYPE_DATA_MODEL_SCHEMAPROPERTY],\n [\"data-model.stringschema\", NODE_TYPE_DATA_MODEL_STRINGSCHEMA],\n [\"data-store.accesspattern\", NODE_TYPE_DATA_STORE_ACCESSPATTERN],\n [\"data-store.collection\", NODE_TYPE_DATA_STORE_COLLECTION],\n [\"data-store.database\", NODE_TYPE_DATA_STORE_DATABASE],\n [\"data-store.eventhandler\", NODE_TYPE_DATA_STORE_EVENTHANDLER],\n [\"data-store.field\", NODE_TYPE_DATA_STORE_FIELD],\n [\"data-store.index\", NODE_TYPE_DATA_STORE_INDEX],\n [\"data-store.namespace\", NODE_TYPE_DATA_STORE_NAMESPACE],\n [\"data-store.retentionpolicy\", NODE_TYPE_DATA_STORE_RETENTIONPOLICY],\n [\"data-store.storedlogic\", NODE_TYPE_DATA_STORE_STOREDLOGIC],\n [\"data-store.validationrule\", NODE_TYPE_DATA_STORE_VALIDATIONRULE],\n [\"data-store.view\", NODE_TYPE_DATA_STORE_VIEW],\n [\"ux.actioncomponent\", NODE_TYPE_UX_ACTIONCOMPONENT],\n [\"ux.actionpattern\", NODE_TYPE_UX_ACTIONPATTERN],\n [\"ux.chartseries\", NODE_TYPE_UX_CHARTSERIES],\n [\"ux.componentinstance\", NODE_TYPE_UX_COMPONENTINSTANCE],\n [\"ux.componentreference\", NODE_TYPE_UX_COMPONENTREFERENCE],\n [\"ux.dataconfig\", NODE_TYPE_UX_DATACONFIG],\n [\"ux.errorconfig\", NODE_TYPE_UX_ERRORCONFIG],\n [\"ux.experiencestate\", NODE_TYPE_UX_EXPERIENCESTATE],\n [\"ux.layoutconfig\", NODE_TYPE_UX_LAYOUTCONFIG],\n [\"ux.librarycomponent\", NODE_TYPE_UX_LIBRARYCOMPONENT],\n [\"ux.librarysubview\", NODE_TYPE_UX_LIBRARYSUBVIEW],\n [\"ux.stateaction\", NODE_TYPE_UX_STATEACTION],\n [\"ux.stateactiontemplate\", NODE_TYPE_UX_STATEACTIONTEMPLATE],\n [\"ux.statepattern\", NODE_TYPE_UX_STATEPATTERN],\n [\"ux.statetransition\", NODE_TYPE_UX_STATETRANSITION],\n [\"ux.subview\", NODE_TYPE_UX_SUBVIEW],\n [\"ux.tablecolumn\", NODE_TYPE_UX_TABLECOLUMN],\n [\"ux.transitiontemplate\", NODE_TYPE_UX_TRANSITIONTEMPLATE],\n [\"ux.uxapplication\", NODE_TYPE_UX_UXAPPLICATION],\n [\"ux.uxlibrary\", NODE_TYPE_UX_UXLIBRARY],\n [\"ux.uxspec\", NODE_TYPE_UX_UXSPEC],\n [\"ux.view\", NODE_TYPE_UX_VIEW],\n [\"navigation.breadcrumbconfig\", NODE_TYPE_NAVIGATION_BREADCRUMBCONFIG],\n [\"navigation.contextvariable\", NODE_TYPE_NAVIGATION_CONTEXTVARIABLE],\n [\"navigation.flowstep\", NODE_TYPE_NAVIGATION_FLOWSTEP],\n [\"navigation.guardaction\", NODE_TYPE_NAVIGATION_GUARDACTION],\n [\"navigation.guardcondition\", NODE_TYPE_NAVIGATION_GUARDCONDITION],\n [\"navigation.navigationflow\", NODE_TYPE_NAVIGATION_NAVIGATIONFLOW],\n [\"navigation.navigationgraph\", NODE_TYPE_NAVIGATION_NAVIGATIONGRAPH],\n [\"navigation.navigationguard\", NODE_TYPE_NAVIGATION_NAVIGATIONGUARD],\n [\"navigation.navigationtransition\", NODE_TYPE_NAVIGATION_NAVIGATIONTRANSITION],\n [\"navigation.route\", NODE_TYPE_NAVIGATION_ROUTE],\n [\"navigation.routemeta\", NODE_TYPE_NAVIGATION_ROUTEMETA],\n [\"apm.alert\", NODE_TYPE_APM_ALERT],\n [\"apm.dashboard\", NODE_TYPE_APM_DASHBOARD],\n [\"apm.exporterconfig\", NODE_TYPE_APM_EXPORTERCONFIG],\n [\"apm.instrumentationconfig\", NODE_TYPE_APM_INSTRUMENTATIONCONFIG],\n [\"apm.instrumentationscope\", NODE_TYPE_APM_INSTRUMENTATIONSCOPE],\n [\"apm.logconfiguration\", NODE_TYPE_APM_LOGCONFIGURATION],\n [\"apm.logprocessor\", NODE_TYPE_APM_LOGPROCESSOR],\n [\"apm.logrecord\", NODE_TYPE_APM_LOGRECORD],\n [\"apm.metricconfiguration\", NODE_TYPE_APM_METRICCONFIGURATION],\n [\"apm.metricinstrument\", NODE_TYPE_APM_METRICINSTRUMENT],\n [\"apm.resource\", NODE_TYPE_APM_RESOURCE],\n [\"apm.span\", NODE_TYPE_APM_SPAN],\n [\"apm.spanevent\", NODE_TYPE_APM_SPANEVENT],\n [\"apm.spanlink\", NODE_TYPE_APM_SPANLINK],\n [\"apm.traceconfiguration\", NODE_TYPE_APM_TRACECONFIGURATION],\n [\"testing.contextvariation\", NODE_TYPE_TESTING_CONTEXTVARIATION],\n [\"testing.coverageexclusion\", NODE_TYPE_TESTING_COVERAGEEXCLUSION],\n [\"testing.coveragegap\", NODE_TYPE_TESTING_COVERAGEGAP],\n [\"testing.coveragerequirement\", NODE_TYPE_TESTING_COVERAGEREQUIREMENT],\n [\"testing.coveragesummary\", NODE_TYPE_TESTING_COVERAGESUMMARY],\n [\"testing.environmentfactor\", NODE_TYPE_TESTING_ENVIRONMENTFACTOR],\n [\"testing.inputpartitionselection\", NODE_TYPE_TESTING_INPUTPARTITIONSELECTION],\n [\"testing.inputselection\", NODE_TYPE_TESTING_INPUTSELECTION],\n [\"testing.inputspacepartition\", NODE_TYPE_TESTING_INPUTSPACEPARTITION],\n [\"testing.outcomecategory\", NODE_TYPE_TESTING_OUTCOMECATEGORY],\n [\"testing.partitiondependency\", NODE_TYPE_TESTING_PARTITIONDEPENDENCY],\n [\"testing.partitionvalue\", NODE_TYPE_TESTING_PARTITIONVALUE],\n [\"testing.targetcoveragesummary\", NODE_TYPE_TESTING_TARGETCOVERAGESUMMARY],\n [\"testing.targetinputfield\", NODE_TYPE_TESTING_TARGETINPUTFIELD],\n [\"testing.testcasesketch\", NODE_TYPE_TESTING_TESTCASESKETCH],\n [\"testing.testcoveragemodel\", NODE_TYPE_TESTING_TESTCOVERAGEMODEL],\n [\"testing.testcoveragetarget\", NODE_TYPE_TESTING_TESTCOVERAGETARGET]\n]);\n\n/**\n * Get node type metadata by spec_node_id\n */\nexport function getNodeType(specNodeId: SpecNodeId): NodeTypeInfo | undefined {\n return NODE_TYPES.get(specNodeId);\n}\n\n/**\n * Get all valid node types for a given layer\n */\nexport function getNodeTypesForLayer(layer: string): NodeTypeInfo[] {\n const result: NodeTypeInfo[] = [];\n for (const nodeType of NODE_TYPES.values()) {\n if (nodeType.layer === layer) {\n result.push(nodeType);\n }\n }\n return result;\n}\n\n/**\n * Normalize a user-provided type name to match the schema type name for a layer.\n * Supports abbreviated type names (e.g., \"service\" \u2192 \"businessservice\" for business layer).\n *\n * @param layer - The layer name\n * @param type - The user-provided type name (can be abbreviated or full)\n * @returns The normalized type name that matches the schema, or the original if no match found\n */\nexport function normalizeNodeType(layer: string, type: string): string {\n // First, check if the type exists as-is\n for (const nodeType of NODE_TYPES.values()) {\n if (nodeType.layer === layer && nodeType.type === type) {\n return type; // Already correct\n }\n }\n\n // Try prepending the layer name for common patterns\n // e.g., \"service\" \u2192 \"businessservice\" for business layer\n const layerPrefixedType = `${layer}${type}`;\n for (const nodeType of NODE_TYPES.values()) {\n if (nodeType.layer === layer && nodeType.type === layerPrefixedType) {\n return layerPrefixedType;\n }\n }\n\n // Return original if no normalization worked\n return type;\n}\n\n/**\n * Check if a type is valid for a given layer (supports abbreviated type names)\n */\nexport function isValidNodeType(layer: string, type: string): boolean {\n const normalizedType = normalizeNodeType(layer, type);\n for (const nodeType of NODE_TYPES.values()) {\n if (nodeType.layer === layer && nodeType.type === normalizedType) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Get required attributes for a node type\n */\nexport function getRequiredAttributes(specNodeId: SpecNodeId): string[] {\n const nodeType = NODE_TYPES.get(specNodeId);\n return nodeType ? nodeType.requiredAttributes : [];\n}\n\n/**\n * Check if a spec_node_id is valid\n */\nexport function isValidSpecNodeId(value: unknown): value is SpecNodeId {\n return typeof value === \"string\" && NODE_TYPES.has(value as SpecNodeId);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * GENERATED FILE - DO NOT EDIT\n * This file is automatically generated by scripts/generate-registry.ts\n * during the build process. Changes will be overwritten.\n *\n * Source: cli/src/schemas/bundled/nodes (354 .node.schema.json files)\n */\n\n/**\n * Metadata for a specific node type extracted from its schema\n */\nexport interface NodeTypeInfo {\n specNodeId: SpecNodeId;\n layer: LayerId;\n type: NodeType;\n title: string;\n requiredAttributes: string[];\n optionalAttributes: string[];\n attributeConstraints: Record<string, unknown>;\n}\n\n/**\n * Union type of all 354 valid node type identifiers (spec_node_id values)\n * Format: \"{layer}.{type}\" e.g., \"motivation.goal\", \"api.endpoint\", \"data-model.entity\"\n */\nexport type SpecNodeId =\n | \"motivation.assessment\" | \"motivation.constraint\" | \"motivation.driver\" | \"motivation.goal\" | \"motivation.meaning\" |\n \"motivation.outcome\" | \"motivation.principle\" | \"motivation.requirement\" | \"motivation.stakeholder\" | \"motivation.value\" |\n \"business.businessactor\" | \"business.businesscapability\" | \"business.businesscollaboration\" | \"business.businessevent\" | \"business.businessfunction\" |\n \"business.businessinteraction\" | \"business.businessinterface\" | \"business.businessobject\" | \"business.businessprocess\" | \"business.businessrole\" |\n \"business.businessservice\" | \"business.contract\" | \"business.product\" | \"business.representation\" | \"product.feature\" |\n \"product.milestone\" | \"product.persona\" | \"product.softwarecapability\" | \"product.userworkflow\" | \"product.workflowstep\" |\n \"security.accesscondition\" | \"security.accountabilityrequirement\" | \"security.actor\" | \"security.auditconfig\" | \"security.authenticationconfig\" |\n \"security.bindingofduty\" | \"security.condition\" | \"security.countermeasure\" | \"security.dataclassification\" | \"security.delegation\" |\n \"security.evidence\" | \"security.fieldaccesscontrol\" | \"security.informationentity\" | \"security.informationright\" | \"security.needtoknow\" |\n \"security.passwordpolicy\" | \"security.permission\" | \"security.policyaction\" | \"security.policyrule\" | \"security.resourceoperation\" |\n \"security.retentionpolicy\" | \"security.role\" | \"security.secureresource\" | \"security.securityconstraints\" | \"security.securitymodel\" |\n \"security.securitypolicy\" | \"security.separationofduty\" | \"security.threat\" | \"security.validationrule\" | \"application.applicationcollaboration\" |\n \"application.applicationcomponent\" | \"application.applicationevent\" | \"application.applicationfunction\" | \"application.applicationinteraction\" | \"application.applicationinterface\" |\n \"application.applicationprocess\" | \"application.applicationservice\" | \"application.dataobject\" | \"technology.artifact\" | \"technology.communicationnetwork\" |\n \"technology.device\" | \"technology.node\" | \"technology.path\" | \"technology.systemsoftware\" | \"technology.technologycollaboration\" |\n \"technology.technologyevent\" | \"technology.technologyfunction\" | \"technology.technologyinteraction\" | \"technology.technologyinterface\" | \"technology.technologyprocess\" |\n \"technology.technologyservice\" | \"api.callback\" | \"api.components\" | \"api.contact\" | \"api.encoding\" |\n \"api.example\" | \"api.externaldocumentation\" | \"api.header\" | \"api.info\" | \"api.license\" |\n \"api.link\" | \"api.mediatype\" | \"api.oauthflow\" | \"api.oauthflows\" | \"api.openapidocument\" |\n \"api.operation\" | \"api.parameter\" | \"api.pathitem\" | \"api.paths\" | \"api.ratelimit\" |\n \"api.requestbody\" | \"api.response\" | \"api.responses\" | \"api.schema\" | \"api.securityscheme\" |\n \"api.server\" | \"api.servervariable\" | \"api.tag\" | \"data-model.arrayschema\" | \"data-model.jsonschema\" |\n \"data-model.numericschema\" | \"data-model.objectschema\" | \"data-model.reference\" | \"data-model.schemacomposition\" | \"data-model.schemadefinition\" |\n \"data-model.schemaproperty\" | \"data-model.stringschema\" | \"data-store.accesspattern\" | \"data-store.collection\" | \"data-store.database\" |\n \"data-store.eventhandler\" | \"data-store.field\" | \"data-store.index\" | \"data-store.namespace\" | \"data-store.retentionpolicy\" |\n \"data-store.storedlogic\" | \"data-store.validationrule\" | \"data-store.view\" | \"ux.actioncomponent\" | \"ux.actionpattern\" |\n \"ux.chartseries\" | \"ux.componentinstance\" | \"ux.componentreference\" | \"ux.dataconfig\" | \"ux.errorconfig\" |\n \"ux.experiencestate\" | \"ux.layoutconfig\" | \"ux.librarycomponent\" | \"ux.librarysubview\" | \"ux.stateaction\" |\n \"ux.stateactiontemplate\" | \"ux.statepattern\" | \"ux.statetransition\" | \"ux.subview\" | \"ux.tablecolumn\" |\n \"ux.transitiontemplate\" | \"ux.uxapplication\" | \"ux.uxlibrary\" | \"ux.uxspec\" | \"ux.view\" |\n \"navigation.breadcrumbconfig\" | \"navigation.contextvariable\" | \"navigation.flowstep\" | \"navigation.guardaction\" | \"navigation.guardcondition\" |\n \"navigation.navigationflow\" | \"navigation.navigationgraph\" | \"navigation.navigationguard\" | \"navigation.navigationtransition\" | \"navigation.route\" |\n \"navigation.routemeta\" | \"apm.alert\" | \"apm.dashboard\" | \"apm.exporterconfig\" | \"apm.instrumentationconfig\" |\n \"apm.instrumentationscope\" | \"apm.logconfiguration\" | \"apm.logprocessor\" | \"apm.logrecord\" | \"apm.metricconfiguration\" |\n \"apm.metricinstrument\" | \"apm.resource\" | \"apm.span\" | \"apm.spanevent\" | \"apm.spanlink\" |\n \"apm.traceconfiguration\" | \"testing.contextvariation\" | \"testing.coverageexclusion\" | \"testing.coveragegap\" | \"testing.coveragerequirement\" |\n \"testing.coveragesummary\" | \"testing.environmentfactor\" | \"testing.inputpartitionselection\" | \"testing.inputselection\" | \"testing.inputspacepartition\" |\n \"testing.outcomecategory\" | \"testing.partitiondependency\" | \"testing.partitionvalue\" | \"testing.targetcoveragesummary\" | \"testing.targetinputfield\" |\n \"testing.testcasesketch\" | \"testing.testcoveragemodel\" | \"testing.testcoveragetarget\";\n\n/**\n * Union type of all unique node type names across all layers\n * E.g., \"goal\", \"requirement\", \"endpoint\", \"table\", etc.\n */\nexport type NodeType =\n | \"accesscondition\" | \"accesspattern\" | \"accountabilityrequirement\" | \"actioncomponent\" | \"actionpattern\" |\n \"actor\" | \"alert\" | \"applicationcollaboration\" | \"applicationcomponent\" | \"applicationevent\" |\n \"applicationfunction\" | \"applicationinteraction\" | \"applicationinterface\" | \"applicationprocess\" | \"applicationservice\" |\n \"arrayschema\" | \"artifact\" | \"assessment\" | \"auditconfig\" | \"authenticationconfig\" |\n \"bindingofduty\" | \"breadcrumbconfig\" | \"businessactor\" | \"businesscapability\" | \"businesscollaboration\" |\n \"businessevent\" | \"businessfunction\" | \"businessinteraction\" | \"businessinterface\" | \"businessobject\" |\n \"businessprocess\" | \"businessrole\" | \"businessservice\" | \"callback\" | \"chartseries\" |\n \"collection\" | \"communicationnetwork\" | \"componentinstance\" | \"componentreference\" | \"components\" |\n \"condition\" | \"constraint\" | \"contact\" | \"contextvariable\" | \"contextvariation\" |\n \"contract\" | \"countermeasure\" | \"coverageexclusion\" | \"coveragegap\" | \"coveragerequirement\" |\n \"coveragesummary\" | \"dashboard\" | \"database\" | \"dataclassification\" | \"dataconfig\" |\n \"dataobject\" | \"delegation\" | \"device\" | \"driver\" | \"encoding\" |\n \"environmentfactor\" | \"errorconfig\" | \"eventhandler\" | \"evidence\" | \"example\" |\n \"experiencestate\" | \"exporterconfig\" | \"externaldocumentation\" | \"feature\" | \"field\" |\n \"fieldaccesscontrol\" | \"flowstep\" | \"goal\" | \"guardaction\" | \"guardcondition\" |\n \"header\" | \"index\" | \"info\" | \"informationentity\" | \"informationright\" |\n \"inputpartitionselection\" | \"inputselection\" | \"inputspacepartition\" | \"instrumentationconfig\" | \"instrumentationscope\" |\n \"jsonschema\" | \"layoutconfig\" | \"librarycomponent\" | \"librarysubview\" | \"license\" |\n \"link\" | \"logconfiguration\" | \"logprocessor\" | \"logrecord\" | \"meaning\" |\n \"mediatype\" | \"metricconfiguration\" | \"metricinstrument\" | \"milestone\" | \"namespace\" |\n \"navigationflow\" | \"navigationgraph\" | \"navigationguard\" | \"navigationtransition\" | \"needtoknow\" |\n \"node\" | \"numericschema\" | \"oauthflow\" | \"oauthflows\" | \"objectschema\" |\n \"openapidocument\" | \"operation\" | \"outcome\" | \"outcomecategory\" | \"parameter\" |\n \"partitiondependency\" | \"partitionvalue\" | \"passwordpolicy\" | \"path\" | \"pathitem\" |\n \"paths\" | \"permission\" | \"persona\" | \"policyaction\" | \"policyrule\" |\n \"principle\" | \"product\" | \"ratelimit\" | \"reference\" | \"representation\" |\n \"requestbody\" | \"requirement\" | \"resource\" | \"resourceoperation\" | \"response\" |\n \"responses\" | \"retentionpolicy\" | \"role\" | \"route\" | \"routemeta\" |\n \"schema\" | \"schemacomposition\" | \"schemadefinition\" | \"schemaproperty\" | \"secureresource\" |\n \"securityconstraints\" | \"securitymodel\" | \"securitypolicy\" | \"securityscheme\" | \"separationofduty\" |\n \"server\" | \"servervariable\" | \"softwarecapability\" | \"span\" | \"spanevent\" |\n \"spanlink\" | \"stakeholder\" | \"stateaction\" | \"stateactiontemplate\" | \"statepattern\" |\n \"statetransition\" | \"storedlogic\" | \"stringschema\" | \"subview\" | \"systemsoftware\" |\n \"tablecolumn\" | \"tag\" | \"targetcoveragesummary\" | \"targetinputfield\" | \"technologycollaboration\" |\n \"technologyevent\" | \"technologyfunction\" | \"technologyinteraction\" | \"technologyinterface\" | \"technologyprocess\" |\n \"technologyservice\" | \"testcasesketch\" | \"testcoveragemodel\" | \"testcoveragetarget\" | \"threat\" |\n \"traceconfiguration\" | \"transitiontemplate\" | \"userworkflow\" | \"uxapplication\" | \"uxlibrary\" |\n \"uxspec\" | \"validationrule\" | \"value\" | \"view\" | \"workflowstep\";\n\n/**\n * Union type of layer IDs that have node types\n */\nexport type LayerId =\n | \"api\" | \"apm\" | \"application\" | \"business\" | \"data-model\" |\n \"data-store\" | \"motivation\" | \"navigation\" | \"product\" | \"security\" |\n \"technology\" | \"testing\" | \"ux\";\n\nconst NODE_TYPE_MOTIVATION_ASSESSMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.assessment\",\n layer: \"motivation\",\n type: \"assessment\",\n title: \"Assessment\",\n requiredAttributes: [\"assessmentType\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text statement of the finding, including what was analysed, the evidence or source (e.g. audit, ADR, threat model), and when it was assessed. Set it for every assessment so the finding can be verified.\"},\"assessmentType\":{\"type\":\"string\",\"enum\":[\"SWOT\",\"risk\",\"gap\",\"feasibility\",\"readiness\",\"impact\"],\"description\":\"Classification of the assessment method or framework used\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_CONSTRAINT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.constraint\",\n layer: \"motivation\",\n type: \"constraint\",\n title: \"Constraint\",\n requiredAttributes: [\"constraintType\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text statement of the restriction, giving its source (regulation, contract, decision record, budget), the scope it applies to and how compliance can be checked; set it for every constraint so the limit can be verified.\"},\"constraintType\":{\"type\":\"string\",\"enum\":[\"regulatory\",\"technical\",\"organizational\",\"time-based\",\"financial\",\"external\"],\"description\":\"Category of constraint restricting the solution space\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_DRIVER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.driver\",\n layer: \"motivation\",\n type: \"driver\",\n title: \"Driver\",\n requiredAttributes: [\"category\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the motivating condition: what it is, where it originates (internal or external), and any source evidence such as a regulation citation, incident or metric. Set it whenever the name alone does not make the condition unambiguous.\"},\"category\":{\"type\":\"string\",\"enum\":[\"market\",\"regulatory\",\"operational\",\"strategic\",\"competitive\",\"technological\",\"business\",\"technical\"],\"description\":\"Category of the motivating condition or force\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_GOAL: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.goal\",\n layer: \"motivation\",\n type: \"goal\",\n title: \"Goal\",\n requiredAttributes: [\"priority\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text prose that states the intended end state, its scope and owning stakeholders, and links to the source document. Set it whenever the goal's name alone does not make the intent unambiguous.\"},\"priority\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\",\"informational\"],\"description\":\"Priority level of this goal\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_MEANING: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.meaning\",\n layer: \"motivation\",\n type: \"meaning\",\n title: \"Meaning\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text statement of the interpretation itself: which concept it applies to, the context or stakeholder group in which the interpretation holds, and the meaning given; set it on every instance, since it is the substance of the element.\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_OUTCOME: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.outcome\",\n layer: \"motivation\",\n type: \"outcome\",\n title: \"Outcome\",\n requiredAttributes: [\"status\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text statement of the result, including the measure, target value or threshold, and target date where known; set it for every outcome so its achievement can be verified.\"},\"status\":{\"type\":\"string\",\"enum\":[\"planned\",\"in-progress\",\"achieved\",\"abandoned\",\"at-risk\"],\"description\":\"Lifecycle state of the outcome\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_PRINCIPLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.principle\",\n layer: \"motivation\",\n type: \"principle\",\n title: \"Principle\",\n requiredAttributes: [\"category\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text statement of the principle, ideally with its rationale and implications, written as a single prescriptive sentence followed by explanatory prose; set it for every principle.\"},\"category\":{\"type\":\"string\",\"enum\":[\"architecture\",\"data\",\"security\",\"operational\",\"financial\",\"integration\",\"development\"],\"description\":\"Domain area to which this architectural principle applies\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_REQUIREMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.requirement\",\n layer: \"motivation\",\n type: \"requirement\",\n title: \"Requirement\",\n requiredAttributes: [\"requirementType\", \"priority\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text statement of the requirement, including its full wording, rationale, source, and acceptance or verification criteria; set it whenever the name alone does not make the need verifiable.\"},\"requirementType\":{\"type\":\"string\",\"enum\":[\"functional\",\"non-functional\",\"regulatory\",\"business\",\"quality\"],\"description\":\"Classification of what aspect of the system this requirement addresses\"},\"priority\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\",\"informational\"],\"description\":\"Priority level of this requirement\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_STAKEHOLDER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.stakeholder\",\n layer: \"motivation\",\n type: \"stakeholder\",\n title: \"Stakeholder\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the stakeholder's role, scope, and principal concerns or interests in the architecture. Set it whenever the name alone does not make clear who the party is or what it cares about.\"},\"type\":{\"type\":\"string\",\"enum\":[\"internal\",\"external\",\"regulatory\",\"customer\",\"sponsor\",\"end-user\",\"system\"],\"description\":\"Classification of the stakeholder's relationship to the organization\"}},\n};\n\nconst NODE_TYPE_MOTIVATION_VALUE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"motivation.value\",\n layer: \"motivation\",\n type: \"value\",\n title: \"Value\",\n requiredAttributes: [\"valueType\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text explanation of the value: which stakeholders it applies to, what benefit they gain, and any quantification or evidence. Set it whenever the element name alone does not state who benefits and how.\"},\"valueType\":{\"type\":\"string\",\"enum\":[\"financial\",\"strategic\",\"operational\",\"reputational\",\"social\"],\"description\":\"Category of worth or utility this value represents\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSACTOR: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessactor\",\n layer: \"business\",\n type: \"businessactor\",\n title: \"BusinessActor\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the organizational entity: who it is, whether it is internal or external, and its scope (person, unit or organization). Set it whenever the name alone does not make the entity's identity and boundary clear.\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSCAPABILITY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businesscapability\",\n layer: \"business\",\n type: \"businesscapability\",\n title: \"BusinessCapability\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"level\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the ability, its scope and the outcomes it enables; set whenever the name alone does not make the ability unambiguous.\"},\"level\":{\"type\":\"integer\",\"minimum\":1,\"description\":\"Depth of the capability in the organization's capability map, 1 for a top-level capability.\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSCOLLABORATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businesscollaboration\",\n layer: \"business\",\n type: \"businesscollaboration\",\n title: \"BusinessCollaboration\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text prose describing the collaboration's purpose, its participating roles and the collective behavior it exists to perform; set whenever the element name alone does not make the participants and scope clear.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSEVENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessevent\",\n layer: \"business\",\n type: \"businessevent\",\n title: \"BusinessEvent\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text explanation of the business occurrence, giving the state change it marks, its source, and the condition under which it is raised; set it whenever the event name alone does not make the trigger condition unambiguous.\"},\"type\":{\"type\":\"string\",\"enum\":[\"internal\",\"external\",\"message\",\"timer\"],\"description\":\"Classification of the business event trigger\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSFUNCTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessfunction\",\n layer: \"business\",\n type: \"businessfunction\",\n title: \"BusinessFunction\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the competency area this function covers, its scope boundaries and the roles that perform it; set whenever the name alone does not make the grouped behavior unambiguous.\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSINTERACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessinteraction\",\n layer: \"business\",\n type: \"businessinteraction\",\n title: \"BusinessInteraction\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text prose that names the participating roles, the joint result the interaction produces and its triggering events; set it whenever the participants or outcome are not obvious from the element name.\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSINTERFACE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessinterface\",\n layer: \"business\",\n type: \"businessinterface\",\n title: \"BusinessInterface\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the access channel, stating which BusinessServices it exposes, who uses it, and its medium (e.g. phone, web, in person); set it for every instance so the channel's scope is unambiguous.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSOBJECT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessobject\",\n layer: \"business\",\n type: \"businessobject\",\n title: \"BusinessObject\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text business definition of the object: what it means to the organization, its key information content and its lifecycle. Write it in domain vocabulary without storage or schema detail, and set it whenever the name alone is ambiguous.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSPROCESS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessprocess\",\n layer: \"business\",\n type: \"businessprocess\",\n title: \"BusinessProcess\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text prose describing the process's trigger, main steps, performing role, and end result, written in business terms; set whenever the name alone does not make the start and end conditions clear.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSROLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessrole\",\n layer: \"business\",\n type: \"businessrole\",\n title: \"BusinessRole\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the role's responsibilities, required skills or authorizations, and typical occupying actors; set it whenever the role name alone does not make the scope of responsibility clear.\"}},\n};\n\nconst NODE_TYPE_BUSINESS_BUSINESSSERVICE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.businessservice\",\n layer: \"business\",\n type: \"businessservice\",\n title: \"BusinessService\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the service from the consumer's perspective: the need it fulfills, its intended consumers, and any service levels. Set it whenever the name alone does not make the offered outcome clear.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_CONTRACT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.contract\",\n layer: \"business\",\n type: \"contract\",\n title: \"Contract\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text explanation of the agreement: the parties, the services or product it covers, and its key obligations and terms. Set it whenever the element name alone does not identify which agreement is meant.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_BUSINESS_PRODUCT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.product\",\n layer: \"business\",\n type: \"product\",\n title: \"Product\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the offering: its name as marketed, target customers or market, included services, and governing terms. Set it whenever the element is created so reviewers can tell this bundle apart from others.\"}},\n};\n\nconst NODE_TYPE_BUSINESS_REPRESENTATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"business.representation\",\n layer: \"business\",\n type: \"representation\",\n title: \"Representation\",\n requiredAttributes: [\"format\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the representation, such as its audience, layout, channel (printed, emailed, on-screen), and which business object it carries. Set it whenever the name alone does not identify the rendering.\"},\"format\":{\"type\":\"string\",\"enum\":[\"pdf\",\"html\",\"xml\",\"json\",\"plain-text\",\"binary\"],\"description\":\"The media format of this representation\"}},\n};\n\nconst NODE_TYPE_PRODUCT_FEATURE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"product.feature\",\n layer: \"product\",\n type: \"feature\",\n title: \"Feature\",\n requiredAttributes: [\"priority\", \"status\"],\n optionalAttributes: [\"documentation\", \"size\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Detailed description of the feature\"},\"priority\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\",\"informational\"],\"description\":\"Priority level\"},\"status\":{\"type\":\"string\",\"enum\":[\"proposed\",\"planned\",\"developing\",\"delivered\",\"deprecated\"],\"description\":\"Lifecycle status of the feature\"},\"size\":{\"type\":\"string\",\"enum\":[\"xs\",\"s\",\"m\",\"l\",\"xl\"],\"description\":\"Relative sizing estimate\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_PRODUCT_MILESTONE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"product.milestone\",\n layer: \"product\",\n type: \"milestone\",\n title: \"Milestone\",\n requiredAttributes: [\"status\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Detailed description of the milestone\"},\"status\":{\"type\":\"string\",\"enum\":[\"proposed\",\"planned\",\"active\",\"completed\",\"cancelled\"],\"description\":\"Milestone status\"}},\n};\n\nconst NODE_TYPE_PRODUCT_PERSONA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"product.persona\",\n layer: \"product\",\n type: \"persona\",\n title: \"Persona\",\n requiredAttributes: [\"category\", \"proficiency\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Detailed description of the persona\"},\"category\":{\"type\":\"string\",\"enum\":[\"primary\",\"secondary\",\"served\",\"negative\"],\"description\":\"Persona classification by importance\"},\"proficiency\":{\"type\":\"string\",\"enum\":[\"novice\",\"intermediate\",\"advanced\",\"expert\"],\"description\":\"Technical proficiency level\"}},\n};\n\nconst NODE_TYPE_PRODUCT_SOFTWARECAPABILITY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"product.softwarecapability\",\n layer: \"product\",\n type: \"softwarecapability\",\n title: \"SoftwareCapability\",\n requiredAttributes: [\"status\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Detailed description of the software capability\"},\"status\":{\"type\":\"string\",\"enum\":[\"proposed\",\"planned\",\"developing\",\"delivered\",\"deprecated\"],\"description\":\"Lifecycle status of the software capability\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_PRODUCT_USERWORKFLOW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"product.userworkflow\",\n layer: \"product\",\n type: \"userworkflow\",\n title: \"UserWorkflow\",\n requiredAttributes: [\"complexity\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Detailed description of the user workflow\"},\"complexity\":{\"type\":\"string\",\"enum\":[\"simple\",\"moderate\",\"complex\"],\"description\":\"Workflow complexity assessment\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_PRODUCT_WORKFLOWSTEP: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"product.workflowstep\",\n layer: \"product\",\n type: \"workflowstep\",\n title: \"WorkflowStep\",\n requiredAttributes: [\"sequence\", \"action\"],\n optionalAttributes: [\"documentation\", \"outcome\", \"optional\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Detailed description of the step\"},\"sequence\":{\"type\":\"integer\",\"minimum\":1,\"description\":\"Position of the step within its UserWorkflow (1-based)\"},\"action\":{\"type\":\"string\",\"description\":\"What the user does or experiences at this step, from the user's point of view (e.g. 'Requests a password reset link')\"},\"outcome\":{\"type\":\"string\",\"description\":\"Observable result of the step for the user (e.g. 'Receives an email containing a reset link')\"},\"optional\":{\"type\":\"boolean\",\"description\":\"Whether the workflow can complete without this step\",\"default\":false},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_SECURITY_ACCESSCONDITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.accesscondition\",\n layer: \"security\",\n type: \"accesscondition\",\n title: \"AccessCondition\",\n requiredAttributes: [\"field\", \"operator\", \"value\", \"message\", \"source\"],\n optionalAttributes: [],\n attributeConstraints: {\"field\":{\"type\":\"string\",\"description\":\"Dot-path name of the request-context attribute being tested (e.g. 'subject.role', 'resource.ownerId', 'env.ipAddress'), as it is resolved at evaluation time.\"},\"operator\":{\"type\":\"string\",\"enum\":[\"eq\",\"neq\",\"gt\",\"lt\",\"in\",\"contains\",\"matches\",\"exists\"],\"description\":\"Comparison operator applied to the field value, per XACML 3.0 match function semantics.\"},\"value\":{\"type\":\"string\",\"description\":\"Comparison operand as a string: a literal, a comma-separated list for 'in', a regex for 'matches', or a context reference such as '${subject.id}'. Leave empty only for operator 'exists'.\"},\"message\":{\"type\":\"string\",\"description\":\"Human-readable denial reason returned or logged when the predicate evaluates to false, e.g. 'Caller must belong to the resource tenant'.\"},\"source\":{\"type\":\"string\",\"description\":\"Where the field value is read from in the request context, such as 'token', 'header', 'path', 'query', 'body', 'session' or 'environment'. Set it so evaluators know which input to resolve.\"}},\n};\n\nconst NODE_TYPE_SECURITY_ACCOUNTABILITYREQUIREMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.accountabilityrequirement\",\n layer: \"security\",\n type: \"accountabilityrequirement\",\n title: \"AccountabilityRequirement\",\n requiredAttributes: [\"action\", \"resource\", \"nonRepudiation\", \"purposeDeclaration\", \"challengeable\"],\n optionalAttributes: [],\n attributeConstraints: {\"action\":{\"type\":\"string\",\"description\":\"The operation whose occurrence must be provable, named as a verb or operation identifier (e.g. 'approve-payment', 'delete'), ideally matching a ResourceOperation's operation value.\"},\"resource\":{\"type\":\"string\",\"description\":\"Identifier of the secured resource or information entity on which the action is performed, matching a SecureResource resource name or InformationEntity name.\"},\"nonRepudiation\":{\"type\":\"boolean\",\"description\":\"True when the actor must be unable to deny having performed the action, requiring strong or cryptographic evidence such as a digital signature. False when attributable logging alone suffices.\"},\"purposeDeclaration\":{\"type\":\"string\",\"description\":\"A free-text statement of the business, legal or regulatory reason the action must be provable (e.g. 'SOX approval trail', 'GDPR consent record'). Set it from the governing requirement.\"},\"challengeable\":{\"type\":\"boolean\",\"description\":\"True when the acting party or a third party may formally dispute the recorded proof through a defined process. False when the evidence is treated as final once recorded.\"}},\n};\n\nconst NODE_TYPE_SECURITY_ACTOR: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.actor\",\n layer: \"security\",\n type: \"actor\",\n title: \"Actor\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"description\", \"trustLevel\", \"objectives\", \"dependencies\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"human\",\"service\",\"system\",\"external-entity\"],\"description\":\"Category of actor, per NIST AC-2 (Account Management) subject classification.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of who or what this actor represents, for example 'nightly billing batch job' or 'external payment partner'. Set it whenever the actor's name alone does not make its identity source or purpose clear.\"},\"trustLevel\":{\"type\":\"string\",\"enum\":[\"zero\",\"low\",\"medium\",\"high\",\"full\"],\"description\":\"Zero-trust assurance level assigned to this actor, per NIST SP 800-207.\"},\"objectives\":{\"type\":\"array\",\"description\":\"References nodes describing this actor's goals or intended behaviors (e.g., for threat modeling or trust analysis).\"},\"dependencies\":{\"type\":\"array\",\"description\":\"References actor or delegation nodes this actor depends on for trust chain or access delegation analysis.\"}},\n};\n\nconst NODE_TYPE_SECURITY_AUDITCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.auditconfig\",\n layer: \"security\",\n type: \"auditconfig\",\n title: \"AuditConfig\",\n requiredAttributes: [\"level\", \"sanitizeFields\"],\n optionalAttributes: [\"enabled\", \"includePayload\", \"includeHeaders\", \"source\"],\n attributeConstraints: {\"enabled\":{\"type\":\"boolean\",\"description\":\"Whether audit capture is active for the governed resources or operations; set false to model a defined but switched-off audit configuration (defaults to true when omitted).\"},\"level\":{\"type\":\"string\",\"enum\":[\"none\",\"basic\",\"standard\",\"detailed\",\"verbose\"],\"description\":\"Verbosity of audit event capture, from no logging to full payload-level tracing, per NIST SP 800-53 AU-2 Event Logging.\"},\"includePayload\":{\"type\":\"boolean\",\"description\":\"Whether request and response bodies are recorded in audit entries; set true only when forensic needs justify capturing body content, after applying sanitizeFields.\"},\"includeHeaders\":{\"type\":\"boolean\",\"description\":\"Whether HTTP or message headers are recorded in audit entries; set true when headers such as client IP, user agent or correlation IDs are needed, with credentials redacted via sanitizeFields.\"},\"sanitizeFields\":{\"type\":\"string\",\"description\":\"Comma-separated list of field names or JSON paths (e.g. 'password,authorization,card.number') whose values are redacted or masked before an audit entry is written; use an empty string when nothing is sanitized.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_AUTHENTICATIONCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.authenticationconfig\",\n layer: \"security\",\n type: \"authenticationconfig\",\n title: \"AuthenticationConfig\",\n requiredAttributes: [\"provider\", \"sessionTimeout\"],\n optionalAttributes: [\"verificationLevel\", \"mfaRequired\", \"passwordPolicy\", \"source\"],\n attributeConstraints: {\"provider\":{\"type\":\"string\",\"enum\":[\"oauth2\",\"saml\",\"ldap\",\"openid-connect\",\"local\",\"fido2\"],\"description\":\"Authentication protocol or provider type.\"},\"verificationLevel\":{\"type\":\"string\",\"enum\":[\"ial1\",\"ial2\",\"ial3\"],\"description\":\"Identity Assurance Level, per NIST SP 800-63A: IAL1 (self-asserted), IAL2 (remote identity proofing), IAL3 (in-person proofing).\"},\"sessionTimeout\":{\"type\":\"integer\",\"description\":\"Maximum lifetime of an authenticated session in seconds before the principal must re-authenticate (IA-11). Set it from the configured session max-age or access-token expiry.\"},\"mfaRequired\":{\"type\":\"boolean\",\"description\":\"True when principals must present a second authentication factor (TOTP, WebAuthn, SMS, push) in addition to the primary credential (IA-2(1)/(2)). Set it false or omit it when MFA is optional or absent.\"},\"passwordPolicy\":{\"type\":\"string\",\"description\":\"Identifier of the security.passwordpolicy node governing credentials for this configuration. Set it only when the provider uses locally managed passwords, typically provider 'local' or 'ldap'.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_BINDINGOFDUTY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.bindingofduty\",\n layer: \"security\",\n type: \"bindingofduty\",\n title: \"BindingOfDuty\",\n requiredAttributes: [\"message\"],\n optionalAttributes: [\"description\", \"scope\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of which task steps are bound together and why the same actor must perform them; set it whenever the bound steps are not obvious from the element name.\"},\"message\":{\"type\":\"string\",\"description\":\"The human-readable error or log message emitted when a different actor attempts to continue or complete the bound task, taken verbatim from the code where one exists.\"},\"scope\":{\"type\":\"string\",\"description\":\"Organizational or operational boundary within which this binding of duty constraint applies (e.g., a project, department, or system).\"}},\n};\n\nconst NODE_TYPE_SECURITY_CONDITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.condition\",\n layer: \"security\",\n type: \"condition\",\n title: \"Condition\",\n requiredAttributes: [\"expression\"],\n optionalAttributes: [\"description\", \"operator\", \"evaluationType\", \"source\"],\n attributeConstraints: {\"expression\":{\"type\":\"string\",\"description\":\"The boolean expression text in its source language (e.g. SpEL, CEL, Rego, IAM condition JSON, or pseudocode such as 'request.time between 08:00 and 18:00'). Always set this; copy it verbatim from code where possible.\"},\"description\":{\"type\":\"string\",\"description\":\"A plain-language sentence stating what the condition tests and why policies reference it. Set it when the expression is not self-explanatory to a reviewer.\"},\"operator\":{\"type\":\"string\",\"enum\":[\"eq\",\"neq\",\"gt\",\"lt\",\"in\",\"contains\",\"matches\"],\"description\":\"Comparison operator for the condition expression, aligned with XACML MatchType values.\"},\"evaluationType\":{\"type\":\"string\",\"enum\":[\"static\",\"dynamic\",\"runtime\",\"compile-time\"],\"description\":\"When the condition is evaluated: at build time, at policy load, or at runtime during access enforcement.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_COUNTERMEASURE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.countermeasure\",\n layer: \"security\",\n type: \"countermeasure\",\n title: \"Countermeasure\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"description\", \"effectiveness\", \"implemented\", \"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"technical\",\"operational\",\"management\",\"physical\"],\"description\":\"NIST SP 800-53 control family classification: technical (hardware/software mechanisms), operational (people and procedures), management (governance), or physical (facility/environmental).\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what the control does, which mechanism or procedure realises it, and which threat behaviour it counters; set whenever the name alone does not identify the mechanism.\"},\"effectiveness\":{\"type\":\"string\",\"enum\":[\"high\",\"medium\",\"low\",\"unknown\"],\"description\":\"Assessed effectiveness of the countermeasure in reducing threat risk, per NIST SP 800-30 risk treatment evaluation.\"},\"implemented\":{\"type\":\"boolean\",\"description\":\"True when the control is deployed and active in the system under model, false when it is planned, proposed or only documented; set from evidence such as deployed config or code, not from intent.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_DATACLASSIFICATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.dataclassification\",\n layer: \"security\",\n type: \"dataclassification\",\n title: \"DataClassification\",\n requiredAttributes: [],\n optionalAttributes: [\"version\", \"encryptionRequirement\", \"classificationLevel\"],\n attributeConstraints: {\"version\":{\"type\":\"string\",\"description\":\"Version identifier of this classification definition, as semver or an ISO 8601 date; set it when the tier's handling rules are revised so that labelled data can be traced to the rules in force at the time.\"},\"encryptionRequirement\":{\"type\":\"string\",\"enum\":[\"none\",\"in-transit\",\"at-rest\",\"end-to-end\",\"field-level\"],\"description\":\"Minimum encryption obligation for data within this classification scheme, per NIST SP 800-53 SC-28 and SC-8 controls.\"},\"classificationLevel\":{\"type\":\"string\",\"enum\":[\"public\",\"internal\",\"confidential\",\"restricted\",\"top-secret\"],\"description\":\"Data sensitivity tier applied by this scheme, aligned with NIST FIPS 199 security categorization levels.\"}},\n};\n\nconst NODE_TYPE_SECURITY_DELEGATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.delegation\",\n layer: \"security\",\n type: \"delegation\",\n title: \"Delegation\",\n requiredAttributes: [\"delegator\", \"delegatee\", \"delegationType\"],\n optionalAttributes: [\"validUntil\", \"description\"],\n attributeConstraints: {\"delegator\":{\"type\":\"string\",\"description\":\"Identifier of the security.actor granting its authority; set to the actor whose permissions or role are being transferred, and that actor must hold that authority itself.\"},\"delegatee\":{\"type\":\"string\",\"description\":\"Identifier of the security.actor receiving the delegated authority; set to the principal who will act on the delegator's behalf.\"},\"delegationType\":{\"type\":\"string\",\"enum\":[\"full\",\"partial\",\"temporary\",\"conditional\",\"revocable\"],\"description\":\"Scope and constraints of the delegation grant, per OAuth 2.0 token delegation and NIST SP 800-162 attribute delegation models.\"},\"validUntil\":{\"type\":\"string\",\"description\":\"ISO 8601 datetime after which this delegation automatically expires. Required for delegationType 'temporary' and recommended for 'conditional' to enforce time-bounded privilege grants per AC-6.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what authority is delegated, for what purpose, and any scope limits not captured by delegationType or validUntil.\"}},\n};\n\nconst NODE_TYPE_SECURITY_EVIDENCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.evidence\",\n layer: \"security\",\n type: \"evidence\",\n title: \"Evidence\",\n requiredAttributes: [\"type\", \"source\"],\n optionalAttributes: [\"strength\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"log\",\"signature\",\"timestamp\",\"hash\",\"certificate\",\"audit-trail\"],\"description\":\"Category of evidence artifact, per NIST AU-10 (Non-repudiation).\"},\"strength\":{\"type\":\"string\",\"enum\":[\"strong\",\"moderate\",\"weak\",\"cryptographic\"],\"description\":\"Assurance strength of the evidence, per NIST SP 800-63-3 assurance levels.\"},\"source\":{\"type\":\"string\",\"description\":\"Origin or location of this evidence artifact, such as a system identifier, log stream name, or storage URI.\"}},\n};\n\nconst NODE_TYPE_SECURITY_FIELDACCESSCONTROL: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.fieldaccesscontrol\",\n layer: \"security\",\n type: \"fieldaccesscontrol\",\n title: \"FieldAccessControl\",\n requiredAttributes: [\"field\"],\n optionalAttributes: [\"maskingStrategy\", \"description\"],\n attributeConstraints: {\"field\":{\"type\":\"string\",\"description\":\"Name or dotted path of the protected field within the parent SecureResource (e.g. 'customer.ssn' or 'card_number'); always set it, matching the field name as it appears in the resource's schema or payload.\"},\"maskingStrategy\":{\"type\":\"string\",\"enum\":[\"redact\",\"hash\",\"tokenize\",\"truncate\",\"blur\",\"none\"],\"description\":\"Technique used to protect sensitive field values when exposed to unauthorized principals, per NIST SP 800-53 SC-28 data-at-rest protection controls.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of why the field is protected and who may see it unmasked; set it when the masking rationale or exemption is not obvious from the field name and strategy.\"}},\n};\n\nconst NODE_TYPE_SECURITY_INFORMATIONENTITY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.informationentity\",\n layer: \"security\",\n type: \"informationentity\",\n title: \"InformationEntity\",\n requiredAttributes: [\"classification\"],\n optionalAttributes: [\"description\", \"authorizationRequirements\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what data this information asset comprises (example fields, data subjects, and systems where it appears); set it whenever the entity name alone does not make the boundary of the asset clear.\"},\"classification\":{\"type\":\"string\",\"description\":\"Sensitivity classification of this information asset. Use classificationLevel values: public, internal, confidential, restricted, or top-secret.\"},\"authorizationRequirements\":{\"type\":\"array\",\"description\":\"References InformationRight nodes defining which actors may access this entity and under what constraints.\"}},\n};\n\nconst NODE_TYPE_SECURITY_INFORMATIONRIGHT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.informationright\",\n layer: \"security\",\n type: \"informationright\",\n title: \"InformationRight\",\n requiredAttributes: [\"actor\", \"constraint\"],\n optionalAttributes: [\"operations\"],\n attributeConstraints: {\"actor\":{\"type\":\"string\",\"description\":\"Identifier of the actor (security.actor) to whom this right is granted.\"},\"constraint\":{\"type\":\"string\",\"description\":\"Boolean constraint expression that must evaluate to true for the right to apply (e.g., 'actor.department == resource.ownerDepartment').\"},\"operations\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"read\",\"write\",\"delete\",\"share\",\"export\",\"approve\"]},\"description\":\"Permitted operations on the information entity granted by this right.\"}},\n};\n\nconst NODE_TYPE_SECURITY_NEEDTOKNOW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.needtoknow\",\n layer: \"security\",\n type: \"needtoknow\",\n title: \"NeedToKnow\",\n requiredAttributes: [\"resource\", \"objective\", \"message\", \"justificationRequired\"],\n optionalAttributes: [],\n attributeConstraints: {\"resource\":{\"type\":\"string\",\"description\":\"Identifier of the protected resource or information entity (e.g. 'customer.pii' or '/api/patients/{id}') to which the need-to-know restriction applies; always set it to the same name used by the corresponding SecureResource or InformationEntity.\"},\"objective\":{\"type\":\"string\",\"description\":\"A free-text statement of the business or operational purpose that justifies access. This is a purpose declaration string, not a reference to another node.\"},\"message\":{\"type\":\"string\",\"description\":\"Human-readable denial text returned or logged when an actor's stated purpose does not satisfy the objective or when a required justification is missing.\"},\"justificationRequired\":{\"type\":\"boolean\",\"description\":\"When true, the actor must supply an explicit purpose or justification before each access is evaluated; set it to false when the purpose is inferred from context such as role or assignment.\"}},\n};\n\nconst NODE_TYPE_SECURITY_PASSWORDPOLICY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.passwordpolicy\",\n layer: \"security\",\n type: \"passwordpolicy\",\n title: \"PasswordPolicy\",\n requiredAttributes: [\"expiryDays\"],\n optionalAttributes: [\"minLength\", \"maxLength\", \"requireUppercase\", \"requireLowercase\", \"requireNumbers\", \"requireSpecialChars\", \"preventReuse\", \"lockoutAttempts\", \"lockoutDuration\"],\n attributeConstraints: {\"minLength\":{\"type\":\"integer\",\"description\":\"Minimum number of characters a password must contain; set whenever a lower length bound is enforced (NIST SP 800-63B suggests at least 8, commonly 12+).\"},\"maxLength\":{\"type\":\"integer\",\"description\":\"Maximum number of characters accepted for a password; set only when the system caps length, and leave unset if no cap exists.\"},\"requireUppercase\":{\"type\":\"boolean\",\"description\":\"True when a password must contain at least one uppercase letter (A-Z); omit or set false when no such rule is enforced.\"},\"requireLowercase\":{\"type\":\"boolean\",\"description\":\"True when a password must contain at least one lowercase letter (a-z); omit or set false when no such rule is enforced.\"},\"requireNumbers\":{\"type\":\"boolean\",\"description\":\"True when a password must contain at least one decimal digit (0-9); omit or set false when no such rule is enforced.\"},\"requireSpecialChars\":{\"type\":\"boolean\",\"description\":\"True when a password must contain at least one non-alphanumeric symbol; omit or set false when no such rule is enforced.\"},\"preventReuse\":{\"type\":\"integer\",\"description\":\"Number of previous passwords per account that a new password may not match; 0 or unset means no history check.\"},\"expiryDays\":{\"type\":\"integer\",\"description\":\"Number of days after which a password must be changed; use 0 when passwords never expire by age.\"},\"lockoutAttempts\":{\"type\":\"integer\",\"description\":\"Number of consecutive failed authentication attempts that triggers account lockout; leave unset when no lockout is enforced.\"},\"lockoutDuration\":{\"type\":\"integer\",\"description\":\"Length of time, in minutes, that an account stays locked after reaching lockoutAttempts; use 0 when unlock requires administrator action.\"}},\n};\n\nconst NODE_TYPE_SECURITY_PERMISSION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.permission\",\n layer: \"security\",\n type: \"permission\",\n title: \"Permission\",\n requiredAttributes: [\"scope\", \"resource\", \"action\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Human-readable sentence explaining what the grant allows and why it exists; set it whenever the permission identifier alone is not self-explanatory to auditors.\"},\"scope\":{\"type\":\"string\",\"enum\":[\"read-only\",\"write\",\"admin\",\"delegated\",\"conditional\"],\"description\":\"Access level granted by this permission, ranging from read-only to full administrative control.\"},\"resource\":{\"type\":\"string\",\"description\":\"Identifier of the protected resource the action applies to, ideally the 'resource' name of a security.secureresource (e.g. 'orders' or 'billing-api'), or a wildcard pattern such as 'orders/*' when the grant spans a resource family.\"},\"action\":{\"type\":\"string\",\"enum\":[\"create\",\"read\",\"update\",\"delete\",\"execute\",\"list\"],\"description\":\"CRUD-plus operation type this permission governs, per NIST SP 800-53 AC-3 Access Enforcement.\"}},\n};\n\nconst NODE_TYPE_SECURITY_POLICYACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.policyaction\",\n layer: \"security\",\n type: \"policyaction\",\n title: \"PolicyAction\",\n requiredAttributes: [\"type\", \"parameters\"],\n optionalAttributes: [\"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"allow\",\"deny\",\"log\",\"alert\",\"redirect\",\"rate-limit\",\"challenge\",\"quarantine\",\"notify\",\"mask\",\"encrypt\"],\"description\":\"Enforcement action type applied when the parent policy rule fires.\"},\"parameters\":{\"type\":\"object\",\"description\":\"Key-value configuration for the action (e.g., redirect URL, notification recipient, masking pattern).\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_POLICYRULE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.policyrule\",\n layer: \"security\",\n type: \"policyrule\",\n title: \"PolicyRule\",\n requiredAttributes: [\"condition\", \"effect\"],\n optionalAttributes: [\"message\", \"source\"],\n attributeConstraints: {\"condition\":{\"type\":\"string\",\"description\":\"The predicate expression that must evaluate true for the rule to fire, recorded verbatim in the source policy language or as a normalized boolean expression (e.g. \\\"user.department == resource.owner && time < 18:00\\\"). Always set it; when the rule is composed from AccessCondition nodes, summarize their conjunction here.\"},\"effect\":{\"type\":\"string\",\"enum\":[\"permit\",\"deny\",\"indeterminate\",\"not-applicable\"],\"description\":\"Policy decision outcome, per XACML 3.0 Rule element effect values.\"},\"message\":{\"type\":\"string\",\"description\":\"A human-readable explanation returned to the caller or written to logs when the rule fires, typically the denial reason (e.g. \\\"Only owners may delete reports\\\"). Set it when the code or policy emits a specific message for this rule.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_RESOURCEOPERATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.resourceoperation\",\n layer: \"security\",\n type: \"resourceoperation\",\n title: \"ResourceOperation\",\n requiredAttributes: [\"operation\"],\n optionalAttributes: [\"description\", \"conditions\", \"rateLimit\", \"audit\"],\n attributeConstraints: {\"operation\":{\"type\":\"string\",\"enum\":[\"create\",\"read\",\"update\",\"delete\",\"list\",\"execute\",\"approve\",\"share\",\"export\",\"import\"],\"description\":\"Permitted operation type on the secured resource.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what invoking this operation does to the resource and any business significance (e.g. 'Approves a pending invoice for payment'); set it when the operation verb alone does not make the effect or the sensitivity clear.\"},\"conditions\":{\"type\":\"array\",\"description\":\"References AccessCondition nodes that must be satisfied before this operation is authorized.\"},\"rateLimit\":{\"type\":\"array\",\"description\":\"References RateLimit nodes (api.ratelimit) applied to this operation.\"},\"audit\":{\"type\":\"array\",\"description\":\"References AuditConfig nodes specifying how this operation is logged for accountability.\"}},\n};\n\nconst NODE_TYPE_SECURITY_RETENTIONPOLICY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.retentionpolicy\",\n layer: \"security\",\n type: \"retentionpolicy\",\n title: \"RetentionPolicy\",\n requiredAttributes: [\"period\"],\n optionalAttributes: [\"destination\", \"deletionMethod\", \"description\"],\n attributeConstraints: {\"period\":{\"type\":\"string\",\"description\":\"Minimum duration for which the governed data must be retained before disposal, expressed as an ISO 8601 duration (e.g. 'P90D', 'P7Y'); always set it, using the longest applicable regulatory or contractual requirement.\"},\"destination\":{\"type\":\"string\",\"enum\":[\"siem\",\"database\",\"file\",\"cloud\",\"stream\",\"archive\"],\"description\":\"Storage or forwarding target for retained security data, per NIST SP 800-53 AU-9 Protection of Audit Information.\"},\"deletionMethod\":{\"type\":\"string\",\"enum\":[\"secure-erase\",\"crypto-shred\",\"overwrite\",\"logical-delete\",\"archive\"],\"description\":\"Secure disposal technique applied when data reaches end of retention period, per NIST SP 800-88 Guidelines for Media Sanitization.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of which security data this policy covers and the regulation or internal mandate that justifies the period (e.g. 'SOX audit trail, 7 years'); set it whenever the period or scope is not self-evident.\"}},\n};\n\nconst NODE_TYPE_SECURITY_ROLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.role\",\n layer: \"security\",\n type: \"role\",\n title: \"Role\",\n requiredAttributes: [\"displayName\", \"level\", \"inheritsFrom\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"displayName\":{\"type\":\"string\",\"description\":\"Human-readable label for the role as shown in admin UIs or documentation (e.g. 'Billing Administrator'). Set it whenever the machine name differs from what users see.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text statement of the role's intended responsibilities and the kind of actor expected to hold it. Set it when the purpose is not obvious from the name.\"},\"level\":{\"type\":\"integer\",\"description\":\"Integer privilege tier used for least-privilege comparison, where higher values denote broader privilege by convention. Set it consistently across all roles in the same SecurityModel.\"},\"inheritsFrom\":{\"type\":\"string\",\"description\":\"Name of the parent role this role inherits permissions from. Supports single inheritance; the child accumulates all permissions of the referenced role in addition to its own.\"}},\n};\n\nconst NODE_TYPE_SECURITY_SECURERESOURCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.secureresource\",\n layer: \"security\",\n type: \"secureresource\",\n title: \"SecureResource\",\n requiredAttributes: [\"resource\", \"type\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"resource\":{\"type\":\"string\",\"description\":\"Canonical identifier of the protected object as used in authorization checks \u2014 e.g. an API path pattern ('/api/orders/*'), table name, bucket URI or permission-string resource key; set it to the exact value enforcement code matches against.\"},\"type\":{\"type\":\"string\",\"enum\":[\"api\",\"database\",\"file\",\"service\",\"ui\",\"stream\"],\"description\":\"Category of protected resource, used to apply appropriate access control and audit policies per NIST SP 800-53 AC-3.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what the resource contains or exposes and why it requires protection; set it when the identifier alone does not convey sensitivity or scope.\"}},\n};\n\nconst NODE_TYPE_SECURITY_SECURITYCONSTRAINTS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.securityconstraints\",\n layer: \"security\",\n type: \"securityconstraints\",\n title: \"SecurityConstraints\",\n requiredAttributes: [],\n optionalAttributes: [\"version\"],\n attributeConstraints: {\"version\":{\"type\":\"string\",\"description\":\"Version identifier of this constraint set (e.g. semantic version '1.2.0' or a dated revision), set when the grouped duty and need-to-know rules are versioned independently of the enclosing SecurityModel.\"}},\n};\n\nconst NODE_TYPE_SECURITY_SECURITYMODEL: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.securitymodel\",\n layer: \"security\",\n type: \"securitymodel\",\n title: \"SecurityModel\",\n requiredAttributes: [\"version\", \"application\"],\n optionalAttributes: [\"accessControlModel\"],\n attributeConstraints: {\"version\":{\"type\":\"string\",\"description\":\"Version identifier of this security specification, as a semantic version or date string such as '2.1.0' or '2024-06'. Increment it when the composed roles, policies, constraints or threat model change, so that audits can reference a specific posture.\"},\"application\":{\"type\":\"string\",\"description\":\"Name or identifier of the application this security model governs. Used to scope the security posture to a single application or bounded context.\"},\"accessControlModel\":{\"type\":\"string\",\"enum\":[\"dac\",\"mac\",\"rbac\",\"abac\",\"rebac\"],\"description\":\"Access control paradigm in use: DAC (discretionary), MAC (mandatory), RBAC (role-based), ABAC (attribute-based), ReBAC (relationship-based). Per NIST SP 800-162 and SP 800-207.\"}},\n};\n\nconst NODE_TYPE_SECURITY_SECURITYPOLICY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.securitypolicy\",\n layer: \"security\",\n type: \"securitypolicy\",\n title: \"SecurityPolicy\",\n requiredAttributes: [\"priority\", \"target\"],\n optionalAttributes: [\"description\", \"enabled\", \"requirementLevel\", \"source\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the policy's intent and the access decisions it governs; set it whenever the policy name alone does not convey its purpose.\"},\"enabled\":{\"type\":\"boolean\",\"description\":\"Boolean indicating whether the policy is currently active in evaluation; set it to false for policies that are defined but switched off, and omit it or set it to true otherwise.\"},\"priority\":{\"type\":\"integer\",\"description\":\"Integer evaluation rank used to order policies against the same target, with higher values evaluated first and taking precedence when multiple policies match; always set it, using distinct values where order matters.\"},\"target\":{\"type\":\"string\",\"enum\":[\"endpoint\",\"service\",\"data\",\"user\",\"role\",\"resource\"],\"description\":\"The category of entity this policy governs, aligned with XACML target element semantics.\"},\"requirementLevel\":{\"type\":\"string\",\"enum\":[\"mandatory\",\"recommended\",\"optional\",\"conditional\"],\"description\":\"Compliance obligation of this policy, indicating whether enforcement is required by regulation, recommended best practice, or situationally applicable.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_SEPARATIONOFDUTY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.separationofduty\",\n layer: \"security\",\n type: \"separationofduty\",\n title: \"SeparationOfDuty\",\n requiredAttributes: [\"message\"],\n optionalAttributes: [\"description\", \"mutuallyExclusive\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of which tasks or roles are separated and the risk being controlled (e.g., 'Invoice creators may not approve invoices they created'); set whenever the rule's intent is not obvious from its name.\"},\"message\":{\"type\":\"string\",\"description\":\"Human-readable violation text returned to the user or written to logs when the constraint blocks an assignment or action (e.g., 'You cannot approve a request you submitted').\"},\"mutuallyExclusive\":{\"type\":\"boolean\",\"description\":\"When true, the roles in this constraint cannot be held simultaneously by the same subject. Enforces strict role exclusivity within the separation of duty rule.\"}},\n};\n\nconst NODE_TYPE_SECURITY_THREAT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.threat\",\n layer: \"security\",\n type: \"threat\",\n title: \"Threat\",\n requiredAttributes: [\"threatens\", \"likelihood\", \"impact\"],\n optionalAttributes: [\"description\", \"criticality\", \"source\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text narrative of the threat scenario: attack vector, preconditions and the adverse outcome, optionally citing CWE/CAPEC/STRIDE identifiers; set whenever the name alone does not make the attack clear.\"},\"threatens\":{\"type\":\"string\",\"description\":\"Identifier or name of the primary asset the threat endangers, such as a SecureResource, InformationEntity, business service or process; set to the most critical target when several apply.\"},\"likelihood\":{\"type\":\"string\",\"enum\":[\"low\",\"moderate\",\"high\"],\"description\":\"Probability the threat will be exploited, per NIST SP 800-30 Table E-2.\"},\"impact\":{\"type\":\"string\",\"enum\":[\"low\",\"moderate\",\"high\"],\"description\":\"Potential adverse impact if the threat is realized, per NIST FIPS 199.\"},\"criticality\":{\"type\":\"string\",\"enum\":[\"low\",\"medium\",\"high\",\"critical\"],\"description\":\"Combined severity rating reflecting both likelihood and impact for prioritization.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_SECURITY_VALIDATIONRULE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"security.validationrule\",\n layer: \"security\",\n type: \"validationrule\",\n title: \"ValidationRule\",\n requiredAttributes: [\"type\", \"value\", \"message\"],\n optionalAttributes: [\"severity\", \"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"regex\",\"range\",\"length\",\"enum\",\"custom\"],\"description\":\"Validation mechanism type, per NIST SI-10 (Information Input Validation).\"},\"value\":{\"type\":\"string\",\"description\":\"Validation constraint value whose meaning depends on `type`: a regex pattern string, a numeric range expression (e.g. '1-100'), a maximum character count, a pipe-delimited list of allowed enum values, or a custom expression string.\"},\"message\":{\"type\":\"string\",\"description\":\"Human-readable violation message shown to the user or logged when this validation rule fails.\"},\"severity\":{\"type\":\"string\",\"enum\":[\"error\",\"warning\",\"info\"],\"description\":\"Severity of a validation rule violation.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONCOLLABORATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationcollaboration\",\n layer: \"application\",\n type: \"applicationcollaboration\",\n title: \"ApplicationCollaboration\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"A free-text description of the collaboration that names its participating components and the joint purpose they serve. Set it whenever the element name alone does not make membership or purpose clear.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONCOMPONENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationcomponent\",\n layer: \"application\",\n type: \"applicationcomponent\",\n title: \"ApplicationComponent\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text narrative describing the component's responsibility, boundaries, and notable dependencies. Set it whenever the component's name alone does not convey what it owns or why it exists.\"},\"type\":{\"type\":\"string\",\"enum\":[\"generic\",\"external\",\"internal\",\"service-component\"],\"description\":\"Classification of the application component kind.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONEVENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationevent\",\n layer: \"application\",\n type: \"applicationevent\",\n title: \"ApplicationEvent\",\n requiredAttributes: [\"eventType\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the event: what state change it signals, which component emits it, its typical consumers and any delivery guarantees. Set it whenever the event name alone does not make these clear.\"},\"eventType\":{\"type\":\"string\",\"enum\":[\"domain\",\"integration\",\"system\"],\"description\":\"Classification of the application event: domain (business logic), integration (cross-system), or system (infrastructure/runtime).\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONFUNCTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationfunction\",\n layer: \"application\",\n type: \"applicationfunction\",\n title: \"ApplicationFunction\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of what the function computes or manages, its inputs and outputs, and the owning component; set it whenever the name alone does not make the behavior's scope clear.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONINTERACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationinteraction\",\n layer: \"application\",\n type: \"applicationinteraction\",\n title: \"ApplicationInteraction\",\n requiredAttributes: [\"pattern\"],\n optionalAttributes: [\"documentation\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the joint behaviour, naming the participating components, the exchange it accomplishes and its trigger. Set it whenever the participants or flow are not evident from the element name.\"},\"pattern\":{\"type\":\"string\",\"enum\":[\"request-reply\",\"publish-subscribe\",\"event-driven\",\"fire-and-forget\"],\"description\":\"Interaction pattern used by this application collaboration.\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONINTERFACE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationinterface\",\n layer: \"application\",\n type: \"applicationinterface\",\n title: \"ApplicationInterface\",\n requiredAttributes: [\"protocol\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the access point: which component provides it, its base path, address or channel name, the services reachable through it, and any notable constraints. Set it whenever the name and protocol alone do not identify the endpoint.\"},\"protocol\":{\"type\":\"string\",\"enum\":[\"HTTP\",\"HTTPS\",\"gRPC\",\"AMQP\",\"WebSocket\",\"REST\",\"GraphQL\",\"SOAP\"],\"description\":\"Application-level communication protocol used to expose the service. Use application-level protocols only; network/transport-level protocols (TCP, TLS) belong in the Technology Layer.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONPROCESS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationprocess\",\n layer: \"application\",\n type: \"applicationprocess\",\n title: \"ApplicationProcess\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the process: its triggering event, its ordered main steps, and the result it produces. Set it whenever the step sequence is not evident from the element name, preferably drawn from code comments or workflow docs.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_APPLICATIONSERVICE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.applicationservice\",\n layer: \"application\",\n type: \"applicationservice\",\n title: \"ApplicationService\",\n requiredAttributes: [\"serviceType\"],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of what the service offers to its consumers, including its main operations and intended callers; set it whenever the service name alone does not convey its scope.\"},\"serviceType\":{\"type\":\"string\",\"enum\":[\"synchronous\",\"asynchronous\",\"event-driven\",\"batch\"],\"description\":\"Classification of how the service exposes its functionality to consumers.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_APPLICATION_DATAOBJECT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"application.dataobject\",\n layer: \"application\",\n type: \"dataobject\",\n title: \"DataObject\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of what information the data object holds, its main fields and which components produce or consume it; set it whenever the symbol name alone does not convey the data's meaning.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_ARTIFACT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.artifact\",\n layer: \"technology\",\n type: \"artifact\",\n title: \"Artifact\",\n requiredAttributes: [\"artifactType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of what the artifact contains, how it is produced (build step or source), and where it is stored or deployed. Set it whenever the name and artifactType alone do not identify the artifact's purpose.\"},\"artifactType\":{\"type\":\"string\",\"enum\":[\"file\",\"container-image\",\"archive\",\"library\",\"script\",\"configuration\"],\"description\":\"Data artifact category, per ArchiMate 3.2 Artifact element.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_COMMUNICATIONNETWORK: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.communicationnetwork\",\n layer: \"technology\",\n type: \"communicationnetwork\",\n title: \"CommunicationNetwork\",\n requiredAttributes: [\"networkType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the network's purpose, scope and address range (e.g. 'private VPC 10.0.0.0/16 for production workloads'); set it whenever the name alone does not convey which hosts attach to the network or what traffic it carries.\"},\"networkType\":{\"type\":\"string\",\"enum\":[\"lan\",\"wan\",\"vpn\",\"wireless\",\"internet\",\"intranet\"],\"description\":\"Topology and scope classification of the network, per ArchiMate 3.2 CommunicationNetwork element.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_DEVICE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.device\",\n layer: \"technology\",\n type: \"device\",\n title: \"Device\",\n requiredAttributes: [\"deviceType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the physical device: its make and model, location or role, and any hardware constraints relevant to deployment. Set it whenever the identifier alone does not make clear which hardware is meant.\"},\"deviceType\":{\"type\":\"string\",\"enum\":[\"server\",\"workstation\",\"network-device\",\"storage\",\"mobile\",\"embedded\"],\"description\":\"Physical hardware category of the device, per ArchiMate 3.2 Technology Layer device classification.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_NODE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.node\",\n layer: \"technology\",\n type: \"node\",\n title: \"Node\",\n requiredAttributes: [\"nodeType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the node: what it hosts, its environment (e.g. production, staging), and notable sizing or provisioning details. Set it whenever the name and nodeType alone do not identify the host's purpose.\"},\"nodeType\":{\"type\":\"string\",\"enum\":[\"physical-server\",\"virtual-machine\",\"container\",\"kubernetes-cluster\",\"bare-metal\"],\"description\":\"Computational resource category of the node, per ArchiMate 3.2 Node element.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_PATH: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.path\",\n layer: \"technology\",\n type: \"path\",\n title: \"Path\",\n requiredAttributes: [\"pathType\"],\n optionalAttributes: [\"documentation\", \"protocol\", \"properties\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the path naming its endpoints, the direction and purpose of the data flow, and any notable constraints such as ports, encryption or latency; set whenever the endpoints or purpose are not obvious from the name.\"},\"pathType\":{\"type\":\"string\",\"enum\":[\"point-to-point\",\"multicast\",\"broadcast\",\"bidirectional\"],\"description\":\"Transmission topology of the path, per ArchiMate 3.2 Path element.\"},\"protocol\":{\"type\":\"string\",\"enum\":[\"http\",\"https\",\"grpc\",\"amqp\",\"mqtt\",\"tcp\",\"udp\",\"websocket\"],\"description\":\"Communication protocol carried by this path.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_SYSTEMSOFTWARE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.systemsoftware\",\n layer: \"technology\",\n type: \"systemsoftware\",\n title: \"SystemSoftware\",\n requiredAttributes: [\"softwareType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the software product: its name, version or edition, and its role in the deployment. Set it whenever the product, version or notable configuration choices (e.g. clustering mode, persistence settings) are not evident from the element name.\"},\"softwareType\":{\"type\":\"string\",\"enum\":[\"operating-system\",\"container-runtime\",\"middleware\",\"dbms\",\"message-broker\",\"cache\"],\"description\":\"Platform software category, per ArchiMate 3.2 SystemSoftware element.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYCOLLABORATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologycollaboration\",\n layer: \"technology\",\n type: \"technologycollaboration\",\n title: \"TechnologyCollaboration\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description naming the collaborating members, how they coordinate (replication, consensus, sharding, sidecar proxying) and the collective behavior they provide. Set it whenever membership or coordination is not evident from the element name.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYEVENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyevent\",\n layer: \"technology\",\n type: \"technologyevent\",\n title: \"TechnologyEvent\",\n requiredAttributes: [\"eventType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the state change: the condition that raises the event, its emitting source, and what it triggers. Set it whenever the event name alone does not make the trigger condition clear.\"},\"eventType\":{\"type\":\"string\",\"enum\":[\"failure\",\"alert\",\"scheduled\",\"threshold-breach\",\"deployment\"],\"description\":\"Technology state change category, per ArchiMate 3.2 Technology Event element; aligned with OpenTelemetry event semantics.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYFUNCTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyfunction\",\n layer: \"technology\",\n type: \"technologyfunction\",\n title: \"TechnologyFunction\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of what the function does, which node or system software performs it, and its triggering or operating conditions; set whenever the name alone does not make the capability's scope clear.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYINTERACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyinteraction\",\n layer: \"technology\",\n type: \"technologyinteraction\",\n title: \"TechnologyInteraction\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the joint behavior: the participating elements, the coordination protocol or algorithm used (e.g. Raft, 2PC, gossip), and the outcome. Set it whenever the participants or protocol cannot be inferred from the element name.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYINTERFACE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyinterface\",\n layer: \"technology\",\n type: \"technologyinterface\",\n title: \"TechnologyInterface\",\n requiredAttributes: [\"protocol\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the endpoint, including its address or port, authentication or TLS requirements, and which service it exposes. Set it whenever these facts are not captured by other attributes.\"},\"protocol\":{\"type\":\"string\",\"enum\":[\"http\",\"https\",\"grpc\",\"amqp\",\"mqtt\",\"tcp\",\"udp\",\"websocket\"],\"description\":\"Communication protocol exposed at this interface, per ArchiMate 3.2 TechnologyInterface element.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYPROCESS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyprocess\",\n layer: \"technology\",\n type: \"technologyprocess\",\n title: \"TechnologyProcess\",\n requiredAttributes: [],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the process's purpose, its trigger, its main ordered steps and its end result; set it whenever the pipeline or job name alone does not convey what it achieves.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_TECHNOLOGY_TECHNOLOGYSERVICE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"technology.technologyservice\",\n layer: \"technology\",\n type: \"technologyservice\",\n title: \"TechnologyService\",\n requiredAttributes: [\"serviceType\"],\n optionalAttributes: [\"documentation\", \"properties\", \"source\"],\n attributeConstraints: {\"documentation\":{\"type\":\"string\",\"description\":\"Free-text description of the capability the service offers, its provider (self-hosted or managed vendor), and its consumers; set it whenever the name alone does not make the capability and provider clear.\"},\"serviceType\":{\"type\":\"string\",\"enum\":[\"compute\",\"storage\",\"messaging\",\"database\",\"cache\",\"identity\",\"monitoring\"],\"description\":\"Infrastructure service category, aligned with cloud provider service classifications (IaaS/PaaS/SaaS) per ArchiMate 3.2 TechnologyService.\"},\"properties\":{\"type\":\"object\",\"description\":\"Cross-layer properties\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_API_CALLBACK: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.callback\",\n layer: \"api\",\n type: \"callback\",\n title: \"Callback\",\n requiredAttributes: [],\n optionalAttributes: [\"expression\"],\n attributeConstraints: {\"expression\":{\"type\":\"string\",\"description\":\"OpenAPI 3.0 Runtime Expression (e.g., $request.body#/callbackUrl) resolved at runtime against the triggering request to determine the callback target URL.\"}},\n};\n\nconst NODE_TYPE_API_COMPONENTS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.components\",\n layer: \"api\",\n type: \"components\",\n title: \"Components\",\n requiredAttributes: [],\n optionalAttributes: [],\n attributeConstraints: {},\n};\n\nconst NODE_TYPE_API_CONTACT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.contact\",\n layer: \"api\",\n type: \"contact\",\n title: \"Contact\",\n requiredAttributes: [],\n optionalAttributes: [\"url\", \"email\"],\n attributeConstraints: {\"url\":{\"type\":\"string\",\"description\":\"Absolute URL of the maintainer's support or contact page, e.g. https://example.com/support. Set it when consumers should reach the owner through a web page rather than, or as well as, by email.\"},\"email\":{\"type\":\"string\",\"description\":\"Email address of the contact person or team, in RFC 5322 mailbox format, e.g. api-team@example.com. Set it when there is a monitored mailbox for API support or questions.\"}},\n};\n\nconst NODE_TYPE_API_ENCODING: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.encoding\",\n layer: \"api\",\n type: \"encoding\",\n title: \"Encoding\",\n requiredAttributes: [],\n optionalAttributes: [\"propertyName\", \"contentType\", \"style\", \"explode\", \"allowReserved\"],\n attributeConstraints: {\"propertyName\":{\"type\":\"string\",\"description\":\"Name of the top-level property in the MediaType's schema that this rule applies to (the map key in MediaType.encoding); it must match an existing schema property name exactly and should always be set.\"},\"contentType\":{\"type\":\"string\",\"description\":\"MIME type, or comma-separated list of MIME types or wildcards such as 'image/png, image/jpeg', for this part; set it only to override the default (application/octet-stream for binary strings, text/plain for primitives, application/json for objects).\"},\"style\":{\"type\":\"string\",\"enum\":[\"matrix\",\"label\",\"form\",\"simple\",\"spaceDelimited\",\"pipeDelimited\",\"deepObject\"],\"description\":\"Serialization style for the encoding (only applicable to multipart/form-data and application/x-www-form-urlencoded)\"},\"explode\":{\"type\":\"boolean\",\"description\":\"Boolean; when true, array or object values of this property are emitted as separate key=value pairs; defaults to true when style is 'form' and false otherwise, and is ignored unless the body is application/x-www-form-urlencoded.\"},\"allowReserved\":{\"type\":\"boolean\",\"description\":\"Allows reserved characters in field values without percent-encoding. Only applies when style is 'form' and the content type is 'application/x-www-form-urlencoded'.\"}},\n};\n\nconst NODE_TYPE_API_EXAMPLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.example\",\n layer: \"api\",\n type: \"example\",\n title: \"Example\",\n requiredAttributes: [],\n optionalAttributes: [\"summary\", \"description\", \"value\", \"externalValue\"],\n attributeConstraints: {\"summary\":{\"type\":\"string\",\"description\":\"Short plain-text label for the example, typically shown as its title in documentation tools; set it whenever several examples sit side by side so readers can tell them apart.\"},\"description\":{\"type\":\"string\",\"description\":\"Longer explanation of the scenario the example illustrates, written in CommonMark per OpenAPI 3.0; set it when the value's purpose or preconditions are not obvious from the summary.\"},\"value\":{\"type\":\"string\",\"description\":\"Inline example value. Mutually exclusive with externalValue \u2014 only one may be set per Example.\"},\"externalValue\":{\"type\":\"string\",\"description\":\"URL pointing to an external example. Mutually exclusive with value \u2014 only one may be set per Example.\"}},\n};\n\nconst NODE_TYPE_API_EXTERNALDOCUMENTATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.externaldocumentation\",\n layer: \"api\",\n type: \"externaldocumentation\",\n title: \"ExternalDocumentation\",\n requiredAttributes: [\"url\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Short CommonMark-capable text describing what the linked documentation covers; set it when the URL alone does not make the target's purpose clear.\"},\"url\":{\"type\":\"string\",\"description\":\"Absolute URL of the external documentation resource (e.g. https://docs.example.com/guide), always required.\"}},\n};\n\nconst NODE_TYPE_API_HEADER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.header\",\n layer: \"api\",\n type: \"header\",\n title: \"Header\",\n requiredAttributes: [],\n optionalAttributes: [\"description\", \"required\", \"deprecated\", \"schema\", \"style\", \"explode\", \"allowEmptyValue\", \"allowReserved\", \"example\", \"examples\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Human-readable explanation of the header's meaning and value format, in CommonMark; set it whenever the header's purpose is not obvious from its name.\"},\"required\":{\"type\":\"boolean\",\"description\":\"Boolean stating whether the header is always present in the enclosing response or multipart part. Defaults to false; set true only when the header is guaranteed to be sent.\"},\"deprecated\":{\"type\":\"boolean\",\"description\":\"Boolean marking the header as deprecated so consumers stop relying on it. Defaults to false; set true when the header is scheduled for removal.\"},\"schema\":{\"type\":\"object\",\"description\":\"The schema defining the type and constraints for the header value\"},\"style\":{\"type\":\"string\",\"enum\":[\"matrix\",\"label\",\"form\",\"simple\",\"spaceDelimited\",\"pipeDelimited\",\"deepObject\"],\"description\":\"Serialization style for the header value. Default is 'simple' for header parameters.\"},\"explode\":{\"type\":\"boolean\",\"description\":\"When true, array/object values generate separate header instances for each element. Default: false.\"},\"allowEmptyValue\":{\"type\":\"boolean\",\"description\":\"Allows the header to be sent with an empty value.\"},\"allowReserved\":{\"type\":\"boolean\",\"description\":\"Allows reserved characters in the header value without percent-encoding.\"},\"example\":{\"description\":\"An example value for the header. Mutually exclusive with 'examples'.\"},\"examples\":{\"type\":\"object\",\"description\":\"Map of named Example objects for the header. Mutually exclusive with 'example'.\"}},\n};\n\nconst NODE_TYPE_API_INFO: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.info\",\n layer: \"api\",\n type: \"info\",\n title: \"Info\",\n requiredAttributes: [\"title\", \"version\"],\n optionalAttributes: [\"description\", \"termsOfService\", \"contact\", \"license\"],\n attributeConstraints: {\"title\":{\"type\":\"string\",\"description\":\"Human-readable name of the API as shown in documentation portals and gateways (e.g. 'Taxonomy Service API'); always set, since OpenAPI 3.0 requires it.\"},\"description\":{\"type\":\"string\",\"description\":\"Supports CommonMark (Markdown) syntax per OpenAPI 3.0.\"},\"version\":{\"type\":\"string\",\"description\":\"Version string of the API definition document (e.g. '1.4.0' or '2024-05-01'), distinct from the OpenAPI specification version held in OpenAPIDocument.openapi; always set, since OpenAPI 3.0 requires it.\"},\"termsOfService\":{\"type\":\"string\",\"description\":\"URL of the API's terms of service, which must be a valid URL per OpenAPI 3.0; set only when the API publishes usage terms.\"},\"contact\":{\"type\":\"string\",\"description\":\"Reference to an api.contact node providing maintainer contact details.\"},\"license\":{\"type\":\"string\",\"description\":\"Reference to an api.license node specifying the API's license terms.\"}},\n};\n\nconst NODE_TYPE_API_LICENSE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.license\",\n layer: \"api\",\n type: \"license\",\n title: \"License\",\n requiredAttributes: [],\n optionalAttributes: [\"url\"],\n attributeConstraints: {\"url\":{\"type\":\"string\",\"description\":\"Absolute URL (OpenAPI 3.0 requires URL format) pointing to the full text of the license; set it whenever the license terms are published at a resolvable location.\"}},\n};\n\nconst NODE_TYPE_API_LINK: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.link\",\n layer: \"api\",\n type: \"link\",\n title: \"Link\",\n requiredAttributes: [],\n optionalAttributes: [\"operationId\", \"operationRef\", \"description\", \"parameters\", \"requestBody\"],\n attributeConstraints: {\"operationId\":{\"type\":\"string\",\"description\":\"The operationId of the target operation within this document. Mutually exclusive with 'operationRef' \u2014 only one may be specified per Link.\"},\"operationRef\":{\"type\":\"string\",\"description\":\"A relative or absolute URL reference to an operation. Mutually exclusive with 'operationId' \u2014 only one may be specified per Link.\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable explanation of the link's purpose and when a client should follow it; CommonMark is allowed, and it should be set whenever the target or parameter mapping is not self-evident.\"},\"parameters\":{\"type\":\"object\",\"description\":\"Map of parameter names to runtime expressions or literal values passed to the linked operation\"},\"requestBody\":{\"type\":\"string\",\"description\":\"Runtime expression or literal value for the linked operation's request body\"}},\n};\n\nconst NODE_TYPE_API_MEDIATYPE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.mediatype\",\n layer: \"api\",\n type: \"mediatype\",\n title: \"MediaType\",\n requiredAttributes: [\"contentType\"],\n optionalAttributes: [\"example\"],\n attributeConstraints: {\"contentType\":{\"type\":\"string\",\"description\":\"The media type or media range string that keys this entry in the parent content map, per RFC 6838 (e.g. 'application/json', 'text/*', 'application/vnd.acme+json'); always set it, and keep it unique within the parent's content map.\"},\"example\":{\"type\":\"string\",\"description\":\"An inline example value. Mutually exclusive with 'examples' \u2014 only one may be specified per MediaType.\"}},\n};\n\nconst NODE_TYPE_API_OAUTHFLOW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.oauthflow\",\n layer: \"api\",\n type: \"oauthflow\",\n title: \"OAuthFlow\",\n requiredAttributes: [\"scopes\"],\n optionalAttributes: [\"authorizationUrl\", \"tokenUrl\", \"refreshUrl\"],\n attributeConstraints: {\"authorizationUrl\":{\"type\":\"string\",\"description\":\"Absolute URL of the authorization endpoint where the user grants consent; required for implicit and authorizationCode flows and omitted for password and clientCredentials.\"},\"tokenUrl\":{\"type\":\"string\",\"description\":\"Absolute URL of the token endpoint that exchanges a grant or credentials for an access token; required for password, clientCredentials and authorizationCode flows and omitted for implicit.\"},\"refreshUrl\":{\"type\":\"string\",\"description\":\"Optional absolute URL of the endpoint used to obtain refreshed access tokens; set only when the provider issues refresh tokens via a distinct endpoint.\"},\"scopes\":{\"type\":\"object\",\"description\":\"Map of scope name to human-readable description string\"}},\n};\n\nconst NODE_TYPE_API_OAUTHFLOWS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.oauthflows\",\n layer: \"api\",\n type: \"oauthflows\",\n title: \"OAuthFlows\",\n requiredAttributes: [],\n optionalAttributes: [],\n attributeConstraints: {},\n};\n\nconst NODE_TYPE_API_OPENAPIDOCUMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.openapidocument\",\n layer: \"api\",\n type: \"openapidocument\",\n title: \"OpenAPIDocument\",\n requiredAttributes: [\"openapi\", \"info\", \"paths\"],\n optionalAttributes: [\"servers\", \"components\", \"security\", \"tags\", \"externalDocs\"],\n attributeConstraints: {\"openapi\":{\"type\":\"string\",\"description\":\"The OpenAPI Specification version the document conforms to, as a semantic version string (e.g. '3.0.3'); always set, and distinct from the API's own version in Info.\"},\"info\":{\"type\":\"string\",\"description\":\"Reference to the single api.info node holding the API's title, version and metadata; always set because Info is required.\"},\"servers\":{\"type\":\"string\",\"description\":\"Reference to the api.server nodes giving the base URLs where the API is deployed; set when the spec declares root-level servers, otherwise tooling defaults to '/'. This schema stores the reference as a single string.\"},\"paths\":{\"type\":\"string\",\"description\":\"Required per OpenAPI 3.0 but may be an empty object ({}) when the document is used solely to define reusable components.\"},\"components\":{\"type\":\"string\",\"description\":\"Reference to the api.components node holding reusable schemas, responses, parameters and security schemes; set when the document defines any reusable objects.\"},\"security\":{\"type\":\"string\",\"description\":\"Defines default security requirements applied to all operations. Individual operations can override or remove it by setting their own 'security' to an empty array ([]).\"},\"tags\":{\"type\":\"string\",\"description\":\"Reference to the root-level api.tag nodes that supply descriptions and external docs for the tag names operations use; set when the spec declares a root tags array. This schema stores the reference as a single string.\"},\"externalDocs\":{\"type\":\"string\",\"description\":\"Reference to an api.externaldocumentation node linking to supplementary documentation for the whole API; set only when the spec declares root-level externalDocs.\"}},\n};\n\nconst NODE_TYPE_API_OPERATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.operation\",\n layer: \"api\",\n type: \"operation\",\n title: \"Operation\",\n requiredAttributes: [\"operationId\", \"summary\", \"tags\"],\n optionalAttributes: [\"description\", \"deprecated\", \"http_method\", \"http_path\"],\n attributeConstraints: {\"operationId\":{\"type\":\"string\",\"description\":\"Unique identifier for this operation across the entire API document\"},\"summary\":{\"type\":\"string\",\"description\":\"A short plain-text phrase, ideally under 120 characters, stating what the operation does; set it from the handler's docstring or the OpenAPI summary field.\"},\"description\":{\"type\":\"string\",\"description\":\"A longer explanation of the operation's behaviour, side effects and constraints, which may use CommonMark; set it when the summary is insufficient to understand the contract.\"},\"tags\":{\"type\":\"string\",\"description\":\"Tag name used to group this operation in documentation, typically the resource or controller name; it should match an api.tag element where one is declared. This schema stores the value as a single string although OpenAPI allows a list.\"},\"deprecated\":{\"type\":\"boolean\",\"description\":\"Set to true when the operation is marked obsolete (for example via @Deprecated or OpenAPI deprecated: true) and consumers should stop calling it; it defaults to false.\"},\"http_method\":{\"type\":\"string\",\"description\":\"HTTP method for this operation\",\"enum\":[\"GET\",\"POST\",\"PUT\",\"DELETE\",\"PATCH\",\"HEAD\",\"OPTIONS\",\"TRACE\"]},\"http_path\":{\"type\":\"string\",\"description\":\"URL path template for this operation (e.g. '/api/taxonomies/{id}')\",\"pattern\":\"^/\"}},\n};\n\nconst NODE_TYPE_API_PARAMETER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.parameter\",\n layer: \"api\",\n type: \"parameter\",\n title: \"Parameter\",\n requiredAttributes: [\"in\"],\n optionalAttributes: [\"description\", \"required\", \"deprecated\", \"allowEmptyValue\", \"style\", \"schema\", \"explode\", \"allowReserved\", \"example\", \"examples\", \"content\"],\n attributeConstraints: {\"in\":{\"type\":\"string\",\"enum\":[\"query\",\"header\",\"path\",\"cookie\"],\"description\":\"Location of the parameter. Path parameters must always have required: true. Default serialization style: 'form' for query/cookie, 'simple' for path/header.\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable explanation of the parameter's meaning and accepted values, in CommonMark; set it whenever the name alone does not convey semantics or units.\"},\"required\":{\"type\":\"boolean\",\"description\":\"Whether the client must supply the parameter. It must be true when in is 'path' and defaults to false otherwise; set it to true for mandatory query, header or cookie inputs.\"},\"deprecated\":{\"type\":\"boolean\",\"description\":\"Marks the parameter as scheduled for removal so that consumers stop sending it. Defaults to false; set it to true when the handler still accepts the parameter but it is slated for removal.\"},\"allowEmptyValue\":{\"type\":\"boolean\",\"description\":\"Permits a query parameter to be sent with an empty value (e.g. '?flag='). It is valid only when in is 'query', is ignored when the chosen style cannot serialize an empty value, and is NOT RECOMMENDED in OpenAPI 3.0.3.\"},\"style\":{\"type\":\"string\",\"enum\":[\"matrix\",\"label\",\"form\",\"simple\",\"spaceDelimited\",\"pipeDelimited\",\"deepObject\"],\"description\":\"Serialization style for the parameter value. Defaults: 'form' for query and cookie, 'simple' for path and header.\"},\"schema\":{\"type\":\"object\",\"description\":\"The schema defining the type and constraints for the parameter value\"},\"explode\":{\"type\":\"boolean\",\"description\":\"When true, array/object values generate separate parameters for each element. Default: true when style is 'form', false otherwise.\"},\"allowReserved\":{\"type\":\"boolean\",\"description\":\"Allows reserved characters in query parameter values without percent-encoding. Only applies to 'query' parameters.\"},\"example\":{\"description\":\"An example value for the parameter. Mutually exclusive with 'examples'.\"},\"examples\":{\"type\":\"object\",\"description\":\"Map of named Example objects for the parameter. Mutually exclusive with 'example'.\"},\"content\":{\"type\":\"object\",\"description\":\"Alternative to 'schema' for complex serialization. Mutually exclusive with 'schema'; must contain exactly one map entry keyed by media type string.\"}},\n};\n\nconst NODE_TYPE_API_PATHITEM: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.pathitem\",\n layer: \"api\",\n type: \"pathitem\",\n title: \"PathItem\",\n requiredAttributes: [],\n optionalAttributes: [\"summary\", \"description\"],\n attributeConstraints: {\"summary\":{\"type\":\"string\",\"description\":\"Optional short one-line plain-text summary intended to apply to all operations under this path; set it when the path as a whole has a single clear purpose (e.g. 'Single user resource').\"},\"description\":{\"type\":\"string\",\"description\":\"Optional longer explanation, in CommonMark Markdown, of the resource or behaviour shared by all operations under this path; set it when path-wide context (semantics, constraints) is not captured by individual operation descriptions.\"}},\n};\n\nconst NODE_TYPE_API_PATHS: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.paths\",\n layer: \"api\",\n type: \"paths\",\n title: \"Paths\",\n requiredAttributes: [],\n optionalAttributes: [],\n attributeConstraints: {},\n};\n\nconst NODE_TYPE_API_RATELIMIT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.ratelimit\",\n layer: \"api\",\n type: \"ratelimit\",\n title: \"RateLimit\",\n requiredAttributes: [\"requests\", \"window\", \"keyBy\"],\n optionalAttributes: [\"scope\", \"action\", \"source\"],\n attributeConstraints: {\"requests\":{\"type\":\"integer\",\"description\":\"Maximum number of requests permitted within the specified time window.\"},\"window\":{\"type\":\"string\",\"description\":\"Duration of the rate limit window (e.g., '1m', '1h', '24h'). Requests are counted and reset per window.\"},\"scope\":{\"type\":\"string\",\"enum\":[\"global\",\"per-user\",\"per-ip\",\"per-api-key\"],\"description\":\"Scope at which the rate limit is applied.\"},\"action\":{\"type\":\"string\",\"enum\":[\"block\",\"throttle\",\"queue\",\"log\",\"challenge\"],\"description\":\"Action taken when the rate limit is exceeded, per NIST SC-5 (Denial-of-Service Protection).\"},\"keyBy\":{\"type\":\"string\",\"description\":\"Attribute used to identify and group requests for rate limit counting (e.g., 'user.id', 'request.ip', 'api-key').\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_API_REQUESTBODY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.requestbody\",\n layer: \"api\",\n type: \"requestbody\",\n title: \"RequestBody\",\n requiredAttributes: [],\n optionalAttributes: [\"description\", \"required\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Brief human-readable explanation of the request payload's purpose and contents, CommonMark allowed per OpenAPI 3.0. Set it whenever the body's meaning is not obvious from the operation summary.\"},\"required\":{\"type\":\"boolean\",\"description\":\"Boolean indicating whether a client must send a body for the operation to succeed; defaults to false, so set it to true when the handler rejects requests with an empty or missing body.\"}},\n};\n\nconst NODE_TYPE_API_RESPONSE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.response\",\n layer: \"api\",\n type: \"response\",\n title: \"Response\",\n requiredAttributes: [\"description\"],\n optionalAttributes: [],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Required human-readable explanation of what this outcome means (e.g. 'User not found'); CommonMark is permitted. Set it for every response, including those with no body.\"}},\n};\n\nconst NODE_TYPE_API_RESPONSES: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.responses\",\n layer: \"api\",\n type: \"responses\",\n title: \"Responses\",\n requiredAttributes: [],\n optionalAttributes: [],\n attributeConstraints: {},\n};\n\nconst NODE_TYPE_API_SCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.schema\",\n layer: \"api\",\n type: \"schema\",\n title: \"Schema\",\n requiredAttributes: [],\n optionalAttributes: [\"type\", \"title\", \"description\", \"format\", \"default\", \"enum\", \"nullable\", \"properties\", \"items\", \"required\", \"allOf\", \"oneOf\", \"anyOf\", \"$ref\", \"readOnly\", \"writeOnly\", \"deprecated\", \"discriminator\", \"xml\", \"externalDocs\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"description\":\"The JSON data type of the value: one of string, number, integer, boolean, array or object. OpenAPI 3.0 does not allow type arrays or 'null'. Set it on every non-$ref, non-composed schema.\"},\"title\":{\"type\":\"string\",\"description\":\"A short human-readable label for the schema, typically the model or DTO name. Set it when documentation tooling should display a name other than the component key.\"},\"description\":{\"type\":\"string\",\"description\":\"Explanatory text for the schema or property, in CommonMark. Set it whenever the meaning of the value is not obvious from its name and type.\"},\"format\":{\"type\":\"string\",\"description\":\"A modifier refining 'type', such as int32, int64, float, double, byte, binary, date, date-time, password, email or uuid. Set it when the base type alone does not convey the value's encoding or semantics.\"},\"default\":{\"type\":\"string\",\"description\":\"The value the server assumes when the consumer omits this property or parameter. It must conform to the schema's type. Set it only when an actual server-side default exists.\"},\"enum\":{\"type\":\"string\",\"description\":\"The closed set of literal values the data may take, each valid against the schema's type, as declared by the enum keyword. Set it for fixed vocabularies such as status codes or modes. This schema stores the set as a single string.\"},\"nullable\":{\"type\":\"boolean\",\"description\":\"Boolean, default false. When true, null is an accepted value in addition to the declared type (the OpenAPI 3.0 substitute for type: [T, null]). Set it when the API may send or accept explicit nulls.\"},\"properties\":{\"type\":\"object\",\"description\":\"Map of property names to schema definitions for object types\"},\"items\":{\"type\":\"object\",\"description\":\"Schema definition for array element types\"},\"required\":{\"type\":\"array\",\"description\":\"List of required property names for object types\"},\"allOf\":{\"type\":\"array\",\"description\":\"Composed schema: value must be valid against all listed schemas\"},\"oneOf\":{\"type\":\"array\",\"description\":\"Composed schema: value must be valid against exactly one of the listed schemas\"},\"anyOf\":{\"type\":\"array\",\"description\":\"Composed schema: value must be valid against one or more of the listed schemas\"},\"$ref\":{\"type\":\"string\",\"description\":\"JSON Reference to another schema definition. In OpenAPI 3.0, sibling keywords are ignored when $ref is present.\"},\"readOnly\":{\"type\":\"boolean\",\"description\":\"Indicates the property is read-only and should not be sent in request bodies.\"},\"writeOnly\":{\"type\":\"boolean\",\"description\":\"Indicates the property is write-only and should not be included in response bodies.\"},\"deprecated\":{\"type\":\"boolean\",\"description\":\"Marks the schema as deprecated. Consumers should migrate away from using it.\"},\"discriminator\":{\"type\":\"object\",\"description\":\"Adds support for polymorphism by specifying the property name that determines the subtype (propertyName) and an optional mapping of values to schema references.\"},\"xml\":{\"type\":\"object\",\"description\":\"XML serialization metadata for this schema when producing XML representations.\"},\"externalDocs\":{\"type\":\"object\",\"description\":\"Reference to an api.externaldocumentation node providing additional documentation for this schema.\"}},\n};\n\nconst NODE_TYPE_API_SECURITYSCHEME: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.securityscheme\",\n layer: \"api\",\n type: \"securityscheme\",\n title: \"SecurityScheme\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"description\", \"in\", \"scheme\", \"bearerFormat\", \"openIdConnectUrl\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"apiKey\",\"http\",\"oauth2\",\"openIdConnect\"],\"description\":\"Type of security scheme\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text (CommonMark) explanation of the scheme for consumers, e.g. how to obtain a key or token; set whenever the mechanism needs explanation beyond its type.\"},\"in\":{\"type\":\"string\",\"description\":\"Location of the API key: one of 'header', 'query' or 'cookie'. Required and only meaningful when type is apiKey.\"},\"scheme\":{\"type\":\"string\",\"description\":\"Name of the HTTP Authorization scheme as registered by IANA (RFC 7235), e.g. 'basic', 'bearer' or 'digest'. Required and only meaningful when type is http.\"},\"bearerFormat\":{\"type\":\"string\",\"description\":\"Hint describing how the bearer token is formatted, e.g. 'JWT'. Documentation only; set when type is http and scheme is bearer.\"},\"openIdConnectUrl\":{\"type\":\"string\",\"description\":\"OpenID Connect discovery URL, required when type is openIdConnect\"}},\n};\n\nconst NODE_TYPE_API_SERVER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.server\",\n layer: \"api\",\n type: \"server\",\n title: \"Server\",\n requiredAttributes: [\"url\"],\n optionalAttributes: [\"description\", \"variables\"],\n attributeConstraints: {\"url\":{\"type\":\"string\",\"description\":\"Base URL of the target host, given as an absolute URL or one relative to the document's location, and optionally containing {name} placeholders defined in 'variables'. Always set it; operation paths are appended to it.\"},\"description\":{\"type\":\"string\",\"description\":\"Optional human-readable text, CommonMark allowed, identifying the host or environment the URL designates (e.g. 'Production', 'EU staging'). Set it when several servers are listed.\"},\"variables\":{\"type\":\"string\",\"description\":\"Map of {placeholder} names (from the url template) to api.servervariable nodes defining allowed values and defaults.\"}},\n};\n\nconst NODE_TYPE_API_SERVERVARIABLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.servervariable\",\n layer: \"api\",\n type: \"servervariable\",\n title: \"ServerVariable\",\n requiredAttributes: [\"default\"],\n optionalAttributes: [\"enum\", \"description\"],\n attributeConstraints: {\"default\":{\"type\":\"string\",\"description\":\"Required default value for the variable. When 'enum' is specified, this value must be one of the listed enum values.\"},\"enum\":{\"type\":\"string\",\"description\":\"Restricts the variable to a specific set of allowed values. The 'default' value must be one of these values when enum is present. The variable name (the map key in Server.variables) must exactly match a {placeholder} token in the parent server's URL string.\"},\"description\":{\"type\":\"string\",\"description\":\"Optional human-readable explanation of what the placeholder represents, such as tenant subdomain or deployment region; CommonMark is allowed. Set it whenever the variable's purpose is not obvious from its name.\"}},\n};\n\nconst NODE_TYPE_API_TAG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"api.tag\",\n layer: \"api\",\n type: \"tag\",\n title: \"Tag\",\n requiredAttributes: [],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"A human-readable explanation of the category of operations this tag groups, in CommonMark per OpenAPI 3.0. Set it when the tag is declared at root level so documentation renderers can display a section introduction.\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_ARRAYSCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.arrayschema\",\n layer: \"data-model\",\n type: \"arrayschema\",\n title: \"ArraySchema\",\n requiredAttributes: [],\n optionalAttributes: [\"type\", \"items\", \"minItems\", \"maxItems\", \"uniqueItems\", \"contains\"],\n attributeConstraints: {\"type\":{\"const\":\"array\",\"description\":\"The JSON Schema type keyword, which for this element must be the literal string 'array'. Always set it so the schema validates only array instances.\"},\"items\":{\"type\":\"string\",\"description\":\"The subschema, inline or as a $ref to a definition, that every array element must validate against. Set it whenever the element type is known, for example the T in List<T>. This schema stores the subschema or $ref as a single string.\"},\"minItems\":{\"type\":\"integer\",\"description\":\"A non-negative integer giving the inclusive minimum number of elements. Set it when the list must not be empty (1) or needs a floor, for example from @Size(min) or @NotEmpty.\"},\"maxItems\":{\"type\":\"integer\",\"description\":\"A non-negative integer giving the inclusive maximum number of elements. Set it when code or configuration enforces an upper bound on list length, for example @Size(max) or a page-size limit.\"},\"uniqueItems\":{\"type\":\"boolean\",\"description\":\"When true, all elements must be pairwise distinct by JSON equality. Set it when the source type has set semantics or the code rejects duplicates.\"},\"contains\":{\"type\":\"string\",\"description\":\"A subschema (inline or $ref) that at least one element must validate against. Set it only when the code requires the list to include a matching element, such as at least one primary address. This schema stores the subschema or $ref as a single string.\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_JSONSCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.jsonschema\",\n layer: \"data-model\",\n type: \"jsonschema\",\n title: \"JSONSchema\",\n requiredAttributes: [\"$schema\", \"$id\", \"type\"],\n optionalAttributes: [\"title\", \"definitions\"],\n attributeConstraints: {\"$schema\":{\"type\":\"string\",\"description\":\"URI of the JSON Schema dialect/meta-schema the document conforms to (e.g. 'http://json-schema.org/draft-07/schema#'); set on every root document so validators apply Draft 7 semantics.\"},\"$id\":{\"type\":\"string\",\"description\":\"Absolute URI that identifies the document and serves as the base URI for resolving relative $ref values (e.g. 'https://example.com/schemas/order.json'); set to a stable, unique URI per document.\"},\"title\":{\"type\":\"string\",\"description\":\"Short human-readable name for the schema document, typically the domain entity it describes (e.g. 'Order'); set when the document needs a display label in tooling or generated docs.\"},\"type\":{\"type\":\"string\",\"enum\":[\"string\",\"number\",\"integer\",\"boolean\",\"array\",\"object\",\"null\"],\"description\":\"JSON Schema Draft 7 primitive type\"},\"definitions\":{\"type\":\"object\",\"description\":\"Reusable subschemas keyed by name, referenced elsewhere in the schema via $ref: '#/definitions/{name}'\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_NUMERICSCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.numericschema\",\n layer: \"data-model\",\n type: \"numericschema\",\n title: \"NumericSchema\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"minimum\", \"maximum\", \"exclusiveMinimum\", \"exclusiveMaximum\", \"multipleOf\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"number\",\"integer\"],\"description\":\"JSON Schema Draft 7 numeric type: 'number' for any numeric value, 'integer' for whole numbers only\"},\"minimum\":{\"type\":\"number\",\"description\":\"Inclusive lower bound: valid instances must be greater than or equal to this number, in the same units as the value. Set it when the domain forbids smaller values, e.g. 0 for quantities.\"},\"maximum\":{\"type\":\"number\",\"description\":\"Inclusive upper bound: valid instances must be less than or equal to this number, in the same units as the value. Set it when the domain caps the value, e.g. 100 for a percentage.\"},\"exclusiveMinimum\":{\"type\":\"number\",\"description\":\"Exclusive lower bound given as a number (Draft 7 semantics): valid instances must be strictly greater than this value. Set it instead of minimum when the boundary itself is invalid, e.g. 0 for a strictly positive price.\"},\"exclusiveMaximum\":{\"type\":\"number\",\"description\":\"Exclusive upper bound given as a number (Draft 7 semantics): valid instances must be strictly less than this value. Set it instead of maximum when the boundary itself is invalid, e.g. 1 for a probability strictly below one.\"},\"multipleOf\":{\"type\":\"number\",\"description\":\"Strictly positive number that every valid instance must divide into evenly, expressing a step or precision such as 0.01 for cents or 5 for five-minute intervals. Set it only when the domain imposes such a granularity.\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_OBJECTSCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.objectschema\",\n layer: \"data-model\",\n type: \"objectschema\",\n title: \"ObjectSchema\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"properties\", \"patternProperties\", \"propertyNames\", \"required\", \"additionalProperties\", \"minProperties\", \"maxProperties\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"description\":\"The JSON Schema type keyword, which is always the string 'object' for this element; set it on every instance.\"},\"properties\":{\"type\":\"object\",\"description\":\"Named property definitions for the object schema (primary mechanism for defining object structure)\"},\"patternProperties\":{\"type\":\"string\",\"description\":\"Pattern-matched property definitions applied to properties whose names match the given regex\"},\"propertyNames\":{\"type\":\"string\",\"description\":\"Schema applied to all property names of the object instance for name validation\"},\"required\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Array of property names (strings) that must be present in a valid instance; populate it from fields that are non-optional in code, such as TypeScript fields without '?', Pydantic fields without defaults, or NOT NULL columns.\"},\"additionalProperties\":{\"type\":\"string\",\"description\":\"Either a boolean or a subschema (inline or $ref) governing keys not listed in properties or patternProperties; set false for closed models (e.g. Pydantic extra='forbid', TypeScript exact types) and a value schema for map-like types such as Record<string, T>. This schema stores the value as a single string.\"},\"minProperties\":{\"type\":\"integer\",\"description\":\"Non-negative integer giving the minimum number of keys a valid instance must contain; set it only when code or a validator explicitly enforces a lower bound on key count.\"},\"maxProperties\":{\"type\":\"integer\",\"description\":\"Non-negative integer giving the maximum number of keys a valid instance may contain; set it only when code or a validator explicitly enforces an upper bound on key count.\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_REFERENCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.reference\",\n layer: \"data-model\",\n type: \"reference\",\n title: \"Reference\",\n requiredAttributes: [],\n optionalAttributes: [\"$ref\"],\n attributeConstraints: {\"$ref\":{\"type\":\"string\",\"description\":\"URI or JSON Pointer fragment referencing another schema\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_SCHEMACOMPOSITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.schemacomposition\",\n layer: \"data-model\",\n type: \"schemacomposition\",\n title: \"SchemaComposition\",\n requiredAttributes: [],\n optionalAttributes: [\"allOf\", \"anyOf\", \"oneOf\", \"not\"],\n attributeConstraints: {\"allOf\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"All listed subschemas must validate against the instance\"},\"anyOf\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"At least one of the listed subschemas must validate against the instance\"},\"oneOf\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Exactly one of the listed subschemas must validate against the instance\"},\"not\":{\"type\":\"string\",\"description\":\"The instance must not validate against this subschema\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_SCHEMADEFINITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.schemadefinition\",\n layer: \"data-model\",\n type: \"schemadefinition\",\n title: \"SchemaDefinition\",\n requiredAttributes: [\"title\", \"type\"],\n optionalAttributes: [\"description\", \"format\", \"enum\", \"examples\"],\n attributeConstraints: {\"title\":{\"type\":\"string\",\"description\":\"Human-readable name of the definition, normally matching its key under 'definitions' or the source class or type name (e.g. 'CustomerAddress'). Always set it, because it is the label other elements use to identify the reusable type.\"},\"type\":{\"type\":\"string\",\"enum\":[\"string\",\"number\",\"integer\",\"boolean\",\"array\",\"object\",\"null\"],\"description\":\"JSON Schema Draft 7 primitive type\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable explanation of this definition's purpose (JSON Schema Draft 7 annotation keyword)\"},\"format\":{\"type\":\"string\",\"description\":\"Semantic format hint for string-typed definitions (e.g., date-time, email, uri)\"},\"enum\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Restricts the value of this definition to a fixed set of allowed values\"},\"examples\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Sample values illustrating valid instances of this definition (JSON Schema Draft 7 annotation keyword)\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_SCHEMAPROPERTY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.schemaproperty\",\n layer: \"data-model\",\n type: \"schemaproperty\",\n title: \"SchemaProperty\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"title\", \"format\", \"default\", \"enum\", \"const\", \"readOnly\", \"writeOnly\", \"examples\", \"description\", \"$ref\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"string\",\"number\",\"integer\",\"boolean\",\"array\",\"object\",\"null\"],\"description\":\"JSON Schema Draft 7 primitive type\"},\"title\":{\"type\":\"string\",\"description\":\"A short human-readable label for the property, used for example as a form label or table header; set it when the field's code name is not suitable for display.\"},\"format\":{\"type\":\"string\",\"description\":\"A JSON Schema Draft 7 semantic format hint for string values, such as date-time, email or uuid; set it when the field's value follows a recognised format, for example a UUID-typed id or a timestamp column.\"},\"default\":{\"type\":\"string\",\"description\":\"The value assumed when an instance omits the property, written as a JSON literal; set it when the code, ORM column or DTO declares a default.\"},\"enum\":{\"type\":\"string\",\"description\":\"The fixed set of allowed values, written as a JSON array serialized into this single string; set it when the field is restricted to an enumeration, such as a language enum type, a union of literals or a CHECK-constrained column.\"},\"const\":{\"type\":\"string\",\"description\":\"The single value the property must always hold, written as a JSON literal; set it for discriminator or type-tag fields that have a fixed value within this object.\"},\"readOnly\":{\"type\":\"boolean\",\"description\":\"Set to true when the value is assigned by the owning system and must not be supplied by clients, such as generated ids, audit timestamps or computed fields.\"},\"writeOnly\":{\"type\":\"boolean\",\"description\":\"Set to true when the value may be submitted but is never returned in representations, such as passwords, secrets or one-time tokens.\"},\"examples\":{\"type\":\"string\",\"description\":\"Sample valid values for the property, written as a JSON array serialized into this single string; set it to document typical content for consumers and test generation.\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable explanation of the property's purpose (JSON Schema Draft 7 annotation keyword)\"},\"$ref\":{\"type\":\"string\",\"description\":\"URI reference to a reusable schema definition (e.g., #/definitions/MyType)\"}},\n};\n\nconst NODE_TYPE_DATA_MODEL_STRINGSCHEMA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-model.stringschema\",\n layer: \"data-model\",\n type: \"stringschema\",\n title: \"StringSchema\",\n requiredAttributes: [],\n optionalAttributes: [\"type\", \"minLength\", \"maxLength\", \"pattern\", \"format\"],\n attributeConstraints: {\"type\":{\"const\":\"string\",\"description\":\"The JSON Schema type keyword. Always set it to the literal 'string', the value that identifies this element as a string schema.\"},\"minLength\":{\"type\":\"integer\",\"description\":\"The minimum permitted number of characters (Unicode code points) in the string, as a non-negative integer; set it when empty or too-short values must be rejected.\"},\"maxLength\":{\"type\":\"integer\",\"description\":\"The maximum permitted number of characters (Unicode code points) in the string, as a non-negative integer no smaller than minLength; set it when the domain or a downstream field imposes a length limit.\"},\"pattern\":{\"type\":\"string\",\"description\":\"An ECMA-262 regular expression that the string must match, unanchored unless ^ and $ are used; set it when values follow a fixed syntax such as codes or identifiers.\"},\"format\":{\"type\":\"string\",\"enum\":[\"date-time\",\"date\",\"time\",\"duration\",\"email\",\"idn-email\",\"hostname\",\"idn-hostname\",\"ipv4\",\"ipv6\",\"uri\",\"uri-reference\",\"iri\",\"iri-reference\",\"uuid\",\"json-pointer\",\"relative-json-pointer\",\"regex\"],\"description\":\"Semantic format hint for string values (JSON Schema Draft 7 format keyword)\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_ACCESSPATTERN: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.accesspattern\",\n layer: \"data-store\",\n type: \"accesspattern\",\n title: \"AccessPattern\",\n requiredAttributes: [\"patternType\", \"targetCollection\"],\n optionalAttributes: [\"keyCondition\", \"sortKey\", \"filterCondition\", \"expectedFrequency\", \"consistencyRequirement\", \"x-source-reference\"],\n attributeConstraints: {\"patternType\":{\"type\":\"string\",\"enum\":[\"POINT_READ\",\"RANGE_SCAN\",\"FULL_SCAN\",\"WRITE\",\"UPSERT\",\"BATCH_WRITE\",\"AGGREGATION\",\"SEARCH\",\"VECTOR_SIMILARITY\",\"GRAPH_TRAVERSAL\",\"TIME_RANGE\",\"LATEST_VALUE\",\"CUSTOM\"],\"description\":\"Category of access pattern. POINT_READ: single-record lookup by key. RANGE_SCAN: ordered range of records. FULL_SCAN: all records. WRITE/UPSERT/BATCH_WRITE: mutation patterns. AGGREGATION: computed result over records. SEARCH: full-text or filtered search. VECTOR_SIMILARITY: approximate nearest neighbor. GRAPH_TRAVERSAL: multi-hop graph walk. TIME_RANGE/LATEST_VALUE: time-series queries.\"},\"targetCollection\":{\"type\":\"string\",\"description\":\"The collection this access pattern operates on.\"},\"keyCondition\":{\"type\":\"string\",\"description\":\"Key or partition condition for this access (e.g., 'customer_id = :id', 'PK = USER#:userId AND SK BEGINS_WITH ORDER#').\"},\"sortKey\":{\"type\":\"string\",\"description\":\"Sort key expression for composite key patterns (e.g., 'SK BEGINS_WITH ORDER#', 'timestamp BETWEEN :start AND :end'). Used in DynamoDB/Cassandra to define the clustering dimension of the access pattern.\"},\"filterCondition\":{\"type\":\"string\",\"description\":\"Additional filter condition applied after key lookup.\"},\"expectedFrequency\":{\"type\":\"string\",\"enum\":[\"RARE\",\"OCCASIONAL\",\"FREQUENT\",\"HIGH_THROUGHPUT\",\"REAL_TIME\"],\"description\":\"Expected frequency of this access pattern. Informs capacity planning and index decisions.\"},\"consistencyRequirement\":{\"type\":\"string\",\"enum\":[\"STRONG\",\"EVENTUAL\",\"SESSION\",\"CAUSAL\",\"LINEARIZABLE\"],\"description\":\"Required consistency level for this access pattern.\"},\"x-source-reference\":{\"type\":\"string\",\"description\":\"Source code reference using OpenAPI x- extension pattern.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_COLLECTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.collection\",\n layer: \"data-store\",\n type: \"collection\",\n title: \"Collection\",\n requiredAttributes: [],\n optionalAttributes: [\"collectionType\", \"partitionKey\", \"clusteringKeys\", \"ttlDefault\", \"validationSchema\", \"x-source-reference\"],\n attributeConstraints: {\"collectionType\":{\"type\":\"string\",\"enum\":[\"TABLE\",\"COLLECTION\",\"COLUMN_FAMILY\",\"BUCKET\",\"HASH\",\"SORTED_SET\",\"STREAM\",\"VECTOR_COLLECTION\",\"MEASUREMENT\",\"HYPERTABLE\",\"NODE_LABEL\",\"EDGE_TYPE\",\"SEARCH_INDEX\"],\"description\":\"The paradigm-specific type of this collection. TABLE: relational table. COLLECTION: document store collection. COLUMN_FAMILY: wide-column column family. BUCKET/HASH/SORTED_SET/STREAM: key-value data structures. VECTOR_COLLECTION: vector embedding store. MEASUREMENT/HYPERTABLE: time-series data container. NODE_LABEL/EDGE_TYPE: graph database structural types. SEARCH_INDEX: search engine index.\"},\"partitionKey\":{\"type\":\"string\",\"description\":\"Primary partition key field name(s). Used by wide-column stores (Cassandra partition key), DynamoDB (partition key), time-series (time field), and sharded relational databases.\"},\"clusteringKeys\":{\"type\":\"string\",\"description\":\"Clustering or sort key field name(s) that determine ordering within a partition. Relevant for wide-column stores (Cassandra clustering columns) and DynamoDB sort keys.\"},\"ttlDefault\":{\"type\":\"integer\",\"description\":\"Default time-to-live in seconds for entries in this collection. Relevant for key-value stores, wide-column stores, and time-series databases.\"},\"validationSchema\":{\"type\":\"string\",\"description\":\"Reference to a schema definition that validates documents or records. For MongoDB this is the JSON Schema validator; for relational databases, the set of column constraints; for search engines, the mapping definition.\"},\"x-source-reference\":{\"type\":\"string\",\"description\":\"Source code reference using OpenAPI x- extension pattern.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_DATABASE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.database\",\n layer: \"data-store\",\n type: \"database\",\n title: \"Database\",\n requiredAttributes: [\"engine\", \"paradigm\"],\n optionalAttributes: [\"version\", \"charset\", \"collation\", \"deploymentModel\"],\n attributeConstraints: {\"engine\":{\"type\":\"string\",\"description\":\"Database engine name (e.g., 'PostgreSQL', 'MongoDB', 'Redis', 'Cassandra', 'Pinecone', 'Neo4j', 'Elasticsearch', 'InfluxDB', 'DynamoDB'). Free-text to accommodate any engine without enumeration constraints.\"},\"paradigm\":{\"type\":\"string\",\"enum\":[\"RELATIONAL\",\"DOCUMENT\",\"KEY_VALUE\",\"WIDE_COLUMN\",\"VECTOR\",\"TIME_SERIES\",\"GRAPH\",\"SEARCH_ENGINE\",\"MULTI_MODEL\"],\"description\":\"Primary data model paradigm. RELATIONAL: SQL-based tabular data (PostgreSQL, MySQL, Oracle). DOCUMENT: JSON/BSON document storage (MongoDB, CouchDB, Firestore). KEY_VALUE: simple key-to-value mapping (Redis, DynamoDB, etcd). WIDE_COLUMN: column-family storage (Cassandra, HBase, Bigtable). VECTOR: vector embedding storage and similarity search (Pinecone, Weaviate, Qdrant). TIME_SERIES: time-indexed measurements (InfluxDB, TimescaleDB). GRAPH: nodes and edges with traversal (Neo4j, Neptune). SEARCH_ENGINE: full-text search and analytics (Elasticsearch, OpenSearch). MULTI_MODEL: natively supports multiple paradigms (ArangoDB, CosmosDB, FaunaDB).\"},\"version\":{\"type\":\"string\",\"description\":\"Release version of the database engine in the vendor's own format (e.g. '15.4', '7.0', '8.0.35'); set it when it is pinned in an image tag, provider config or migration baseline.\"},\"charset\":{\"type\":\"string\",\"description\":\"Default character encoding for text stored in this database (e.g. 'UTF8', 'utf8mb4', 'LATIN1'); set it when it is declared at creation time, mainly for relational engines.\"},\"collation\":{\"type\":\"string\",\"description\":\"Default collation governing string comparison and sort order (e.g. 'en_US.UTF-8', 'utf8mb4_unicode_ci', 'C'); set it when it is explicitly configured at database creation.\"},\"deploymentModel\":{\"type\":\"string\",\"enum\":[\"STANDALONE\",\"REPLICATED\",\"SHARDED\",\"DISTRIBUTED\",\"SERVERLESS\",\"EMBEDDED\"],\"description\":\"How the database is deployed. STANDALONE: single instance. REPLICATED: primary with read replicas. SHARDED: data partitioned across nodes. DISTRIBUTED: fully distributed with no single primary. SERVERLESS: cloud-managed auto-scaling. EMBEDDED: in-process database (SQLite, RocksDB).\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_EVENTHANDLER: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.eventhandler\",\n layer: \"data-store\",\n type: \"eventhandler\",\n title: \"EventHandler\",\n requiredAttributes: [\"handlerType\", \"events\"],\n optionalAttributes: [\"targetCollection\", \"timing\", \"granularity\", \"action\", \"condition\", \"enabled\"],\n attributeConstraints: {\"handlerType\":{\"type\":\"string\",\"enum\":[\"TRIGGER\",\"CHANGE_STREAM\",\"CDC_LISTENER\",\"KEYSPACE_NOTIFICATION\",\"STREAM_PROCESSOR\",\"WATCHER\",\"ALERT_RULE\",\"CUSTOM\"],\"description\":\"Type of event handler mechanism. TRIGGER: synchronous SQL trigger (BEFORE/AFTER DML). CHANGE_STREAM: asynchronous document change feed (MongoDB, CouchDB). CDC_LISTENER: change data capture consumer (Cassandra, Debezium). KEYSPACE_NOTIFICATION: key event notification (Redis). STREAM_PROCESSOR: stream-based event processor (Redis Streams, Kafka Connect). WATCHER: periodic condition check and alert (Elasticsearch). ALERT_RULE: threshold or anomaly alerting (time-series, monitoring). CUSTOM: engine-specific mechanism not listed.\"},\"targetCollection\":{\"type\":\"string\",\"description\":\"The collection or database-level scope this handler is attached to.\"},\"timing\":{\"type\":\"string\",\"enum\":[\"BEFORE\",\"AFTER\",\"INSTEAD_OF\",\"ON_CHANGE\",\"CONTINUOUS\"],\"description\":\"When the handler fires relative to the event. BEFORE: fires before the operation (SQL BEFORE trigger). AFTER: fires after the operation (SQL AFTER trigger). INSTEAD_OF: replaces the operation (SQL INSTEAD OF trigger for views). ON_CHANGE: fires when a change is detected (change streams, CDC). CONTINUOUS: always-on stream processing.\"},\"events\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"INSERT\",\"UPDATE\",\"DELETE\",\"REPLACE\",\"TRUNCATE\",\"DROP\",\"INVALIDATE\",\"EXPIRE\",\"SET\",\"DEL\",\"THRESHOLD\",\"ANOMALY\",\"CUSTOM\"]},\"description\":\"Events that activate this handler. SQL: INSERT/UPDATE/DELETE/TRUNCATE. Document: INSERT/UPDATE/DELETE/REPLACE/DROP/INVALIDATE. Key-value: EXPIRE/SET/DEL. Monitoring: THRESHOLD/ANOMALY. CUSTOM: engine-specific event not listed.\"},\"granularity\":{\"type\":\"string\",\"enum\":[\"ROW\",\"STATEMENT\",\"DOCUMENT\",\"KEY\",\"BATCH\"],\"description\":\"Granularity of handler activation. ROW: fires once per affected row (SQL FOR EACH ROW). STATEMENT: fires once per SQL statement. DOCUMENT: fires per changed document (document store change streams). KEY: fires per key operation (key-value notifications). BATCH: fires per batch of changes (CDC, stream processing).\"},\"action\":{\"type\":\"string\",\"description\":\"Reference to the stored logic (function name, pipeline reference, or inline expression) that executes when this handler fires.\"},\"condition\":{\"type\":\"string\",\"description\":\"Optional filter condition. Only events matching this condition activate the handler. Maps to SQL WHEN clause, MongoDB pipeline $match stage, or Elasticsearch watcher condition.\"},\"enabled\":{\"type\":\"boolean\",\"description\":\"Whether the handler is currently active and will fire; set false when it is declared but disabled (e.g. ALTER TABLE ... DISABLE TRIGGER, a paused connector or deactivated watcher), otherwise true, which is the default.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_FIELD: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.field\",\n layer: \"data-store\",\n type: \"field\",\n title: \"Field\",\n requiredAttributes: [\"dataType\"],\n optionalAttributes: [\"nullable\", \"defaultValue\", \"generated\", \"fieldRole\", \"vectorDimensions\", \"distanceMetric\", \"analyzer\", \"nested\", \"x-source-reference\"],\n attributeConstraints: {\"dataType\":{\"type\":\"string\",\"description\":\"Data type of this field. Interpretation is paradigm-specific: SQL types (VARCHAR, INTEGER, TIMESTAMP), BSON types (String, ObjectId, Document), Elasticsearch mapping types (keyword, text, dense_vector), or any engine-native type name.\"},\"nullable\":{\"type\":\"boolean\",\"description\":\"Whether the store accepts an absent or null value for this field. Set false when the declaration carries NOT NULL, required: true, or an equivalent, and true when nulls or missing paths are explicitly allowed.\"},\"defaultValue\":{\"type\":\"string\",\"description\":\"The literal or expression the store assigns when a write omits this field, recorded as written in the source (e.g. '0', 'now()', 'CURRENT_TIMESTAMP'). Set only when the default is declared in the storage schema, not when it is assigned in application code.\"},\"generated\":{\"type\":\"string\",\"enum\":[\"ALWAYS\",\"BY_DEFAULT\",\"NEVER\"],\"description\":\"Whether the field value is auto-generated. ALWAYS: value is always system-generated (SQL identity GENERATED ALWAYS, MongoDB auto _id, auto-increment). BY_DEFAULT: system-generated unless explicitly overridden (SQL GENERATED BY DEFAULT). NEVER: value must be user-provided.\"},\"fieldRole\":{\"type\":\"string\",\"enum\":[\"VALUE\",\"TAG\",\"TIMESTAMP\",\"PARTITION_KEY\",\"CLUSTERING_KEY\",\"VECTOR\",\"METADATA\",\"LABEL\",\"PROPERTY\"],\"description\":\"Semantic role of this field within its collection. VALUE: regular data field. TAG: indexed metadata for filtering (time-series). TIMESTAMP: time-series time field. PARTITION_KEY: wide-column or distributed partition key component. CLUSTERING_KEY: wide-column clustering/sort key component. VECTOR: vector embedding field. METADATA: vector store metadata for filtering. LABEL: graph node label. PROPERTY: graph node or edge property.\"},\"vectorDimensions\":{\"type\":\"integer\",\"description\":\"Number of dimensions for vector fields. Only applicable when fieldRole is VECTOR.\"},\"distanceMetric\":{\"type\":\"string\",\"enum\":[\"COSINE\",\"EUCLIDEAN\",\"DOT_PRODUCT\",\"MANHATTAN\"],\"description\":\"Distance metric for vector similarity search. COSINE: angular similarity. EUCLIDEAN: L2 distance. DOT_PRODUCT: inner product similarity. MANHATTAN: L1 distance. Only applicable when fieldRole is VECTOR.\"},\"analyzer\":{\"type\":\"string\",\"description\":\"Text analyzer for search engine fields (e.g., 'standard', 'english', 'keyword', 'whitespace'). Controls tokenization and normalization. Only applicable for search engine paradigm.\"},\"nested\":{\"type\":\"boolean\",\"description\":\"Whether this field contains nested or embedded documents. Relevant for document stores (MongoDB embedded documents) and search engines (Elasticsearch nested type).\"},\"x-source-reference\":{\"type\":\"string\",\"description\":\"Source code reference using OpenAPI x- extension pattern.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_INDEX: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.index\",\n layer: \"data-store\",\n type: \"index\",\n title: \"Index\",\n requiredAttributes: [],\n optionalAttributes: [\"fields\", \"unique\", \"method\", \"where\", \"include\", \"sparse\", \"vectorConfig\"],\n attributeConstraints: {\"fields\":{\"type\":\"string\",\"description\":\"Field name(s) included in the index key.\"},\"unique\":{\"type\":\"boolean\",\"description\":\"Boolean that is true when the index rejects duplicate key values across indexed entries (CREATE UNIQUE INDEX, MongoDB {unique: true}); set it only when the index declaration itself enforces uniqueness, and otherwise leave it false or unset.\"},\"method\":{\"type\":\"string\",\"enum\":[\"BTREE\",\"HASH\",\"GIN\",\"GIST\",\"SPGIST\",\"BRIN\",\"HNSW\",\"IVF_FLAT\",\"IVF_PQ\",\"ANNOY\",\"LSH\",\"INVERTED\",\"FULLTEXT\",\"GEOSPATIAL\",\"COMPOUND\",\"MULTIKEY\",\"CUSTOM\"],\"description\":\"Index access method. BTREE/HASH: traditional ordered and hash-based (relational, document). GIN/GIST/SPGIST/BRIN: PostgreSQL advanced index types. HNSW/IVF_FLAT/IVF_PQ/ANNOY/LSH: vector approximate nearest neighbor algorithms. INVERTED/FULLTEXT: search engine and full-text indexes. GEOSPATIAL: location-based spatial indexes. COMPOUND/MULTIKEY: document store compound and array indexes. CUSTOM: engine-specific method not listed.\"},\"where\":{\"type\":\"string\",\"description\":\"Partial or filtered index predicate. Only entries satisfying this condition are indexed. Supported by relational (PostgreSQL, SQL Server) and document stores (MongoDB partial index filter).\"},\"include\":{\"type\":\"string\",\"description\":\"Covering index: additional fields stored in the index but not in the search key. Reduces lookups by including frequently accessed fields in the index leaf pages.\"},\"sparse\":{\"type\":\"boolean\",\"description\":\"Whether the index only includes entries where the indexed field exists. Relevant for document stores with flexible schemas and sparse datasets.\"},\"vectorConfig\":{\"type\":\"object\",\"description\":\"Configuration parameters for vector indexes. Only applicable when method is HNSW, IVF_FLAT, IVF_PQ, ANNOY, or LSH.\",\"properties\":{\"dimensions\":{\"type\":\"integer\",\"description\":\"Number of dimensions in the vector space.\"},\"distanceMetric\":{\"type\":\"string\",\"enum\":[\"COSINE\",\"EUCLIDEAN\",\"DOT_PRODUCT\",\"MANHATTAN\"],\"description\":\"Distance metric for similarity computation.\"},\"efConstruction\":{\"type\":\"integer\",\"description\":\"HNSW build-time parameter controlling index quality vs. build speed tradeoff.\"},\"m\":{\"type\":\"integer\",\"description\":\"HNSW maximum number of connections per node in the graph.\"},\"nlist\":{\"type\":\"integer\",\"description\":\"IVF number of clusters (Voronoi cells) for partitioning the vector space.\"}},\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_DATA_STORE_NAMESPACE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.namespace\",\n layer: \"data-store\",\n type: \"namespace\",\n title: \"Namespace\",\n requiredAttributes: [],\n optionalAttributes: [\"owner\"],\n attributeConstraints: {\"owner\":{\"type\":\"string\",\"description\":\"The database role, user or principal that owns the namespace and holds default privileges over its objects, e.g. the AUTHORIZATION role in CREATE SCHEMA. Set it when ownership is declared in DDL or provisioning code, and leave it empty for paradigms without an ownership concept, such as Redis prefixes.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_RETENTIONPOLICY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.retentionpolicy\",\n layer: \"data-store\",\n type: \"retentionpolicy\",\n title: \"RetentionPolicy\",\n requiredAttributes: [\"targetCollection\", \"retentionDuration\", \"action\"],\n optionalAttributes: [\"downsampleInterval\", \"enabled\"],\n attributeConstraints: {\"targetCollection\":{\"type\":\"string\",\"description\":\"The collection or namespace this policy applies to.\"},\"retentionDuration\":{\"type\":\"string\",\"description\":\"How long data is retained, expressed as an ISO 8601 duration (e.g., 'P30D' for 30 days, 'P1Y' for 1 year, 'P6M' for 6 months).\"},\"action\":{\"type\":\"string\",\"enum\":[\"DELETE\",\"ARCHIVE\",\"DOWNSAMPLE\",\"MOVE_TIER\",\"COMPRESS\"],\"description\":\"Action taken when data exceeds the retention period. DELETE: permanently remove. ARCHIVE: move to cold storage. DOWNSAMPLE: aggregate and reduce resolution (time-series). MOVE_TIER: transition to a different storage tier. COMPRESS: apply compression to reduce storage footprint.\"},\"downsampleInterval\":{\"type\":\"string\",\"description\":\"For DOWNSAMPLE action, the aggregation interval (e.g., '1h', '1d'). Only applicable when action is DOWNSAMPLE.\"},\"enabled\":{\"type\":\"boolean\",\"description\":\"Whether the policy is currently active and enforced by the engine; set to false when the policy is defined but suspended (e.g., a disabled TimescaleDB job or paused ILM policy), otherwise true or omitted.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_STOREDLOGIC: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.storedlogic\",\n layer: \"data-store\",\n type: \"storedlogic\",\n title: \"StoredLogic\",\n requiredAttributes: [\"logicType\", \"language\"],\n optionalAttributes: [\"returnType\", \"deterministic\", \"sideEffects\", \"security\", \"x-source-reference\"],\n attributeConstraints: {\"logicType\":{\"type\":\"string\",\"enum\":[\"FUNCTION\",\"PROCEDURE\",\"PACKAGE\",\"AGGREGATION_PIPELINE\",\"MAP_REDUCE\",\"LUA_SCRIPT\",\"LAMBDA\",\"UDF\",\"UDA\",\"CONTINUOUS_QUERY\",\"FLUX_TASK\",\"STORED_PROCEDURE\",\"CYPHER_FUNCTION\",\"INGEST_PIPELINE\",\"PAINLESS_SCRIPT\",\"CUSTOM\"],\"description\":\"Type of stored computation. FUNCTION/PROCEDURE/PACKAGE: SQL-standard. AGGREGATION_PIPELINE/MAP_REDUCE: document store (MongoDB). LUA_SCRIPT: key-value (Redis). LAMBDA: serverless trigger (DynamoDB Streams). UDF/UDA: user-defined function/aggregate (Cassandra). CONTINUOUS_QUERY/FLUX_TASK: time-series scheduled computation. STORED_PROCEDURE/CYPHER_FUNCTION: graph database. INGEST_PIPELINE/PAINLESS_SCRIPT: search engine. CUSTOM: engine-specific type not listed.\"},\"language\":{\"type\":\"string\",\"enum\":[\"SQL\",\"PLPGSQL\",\"PLSQL\",\"TSQL\",\"JAVASCRIPT\",\"PYTHON\",\"LUA\",\"JAVA\",\"C\",\"CYPHER\",\"GREMLIN\",\"SPARQL\",\"FLUX\",\"INFLUXQL\",\"PAINLESS\",\"MVEL\",\"MQL\",\"EXTERNAL\",\"CUSTOM\"],\"description\":\"Implementation language. SQL/PLPGSQL/PLSQL/TSQL: relational database languages. JAVASCRIPT/PYTHON/LUA/JAVA/C: general-purpose embedded languages. CYPHER/GREMLIN/SPARQL: graph query languages. FLUX/INFLUXQL: time-series query languages. PAINLESS/MVEL: search engine scripting. MQL: MongoDB Query Language. EXTERNAL: logic implemented outside the database. CUSTOM: language not listed.\"},\"returnType\":{\"type\":\"string\",\"description\":\"Return type of the computation. For functions, the return data type. For pipelines, the output document shape. For void procedures, 'VOID'.\"},\"deterministic\":{\"type\":\"boolean\",\"description\":\"Whether the logic always returns the same output for the same input. Generalizes SQL volatility (IMMUTABLE = true, VOLATILE = false) across paradigms. Deterministic logic is a candidate for result caching.\"},\"sideEffects\":{\"type\":\"boolean\",\"description\":\"Whether the logic can modify data. Functions without side effects are safe for parallel execution and caching. Maps to SQL CONTAINS SQL / MODIFIES SQL DATA distinction.\"},\"security\":{\"type\":\"string\",\"enum\":[\"DEFINER\",\"INVOKER\"],\"description\":\"Security context for execution. DEFINER: runs with privileges of the creator (SQL SECURITY DEFINER). INVOKER: runs with privileges of the caller (SQL SECURITY INVOKER).\"},\"x-source-reference\":{\"type\":\"string\",\"description\":\"Source code reference using OpenAPI x- extension pattern.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_VALIDATIONRULE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.validationrule\",\n layer: \"data-store\",\n type: \"validationrule\",\n title: \"ValidationRule\",\n requiredAttributes: [\"ruleType\"],\n optionalAttributes: [\"expression\", \"targetFields\", \"referencedCollection\", \"referencedFields\", \"onDelete\", \"onUpdate\", \"enforcement\"],\n attributeConstraints: {\"ruleType\":{\"type\":\"string\",\"enum\":[\"PRIMARY_KEY\",\"FOREIGN_KEY\",\"UNIQUE\",\"CHECK\",\"NOT_NULL\",\"SCHEMA_VALIDATION\",\"REQUIRED_FIELD\",\"KEY_FORMAT\",\"TTL_CONSTRAINT\",\"UNIQUENESS_CONSTRAINT\",\"EXISTENCE_CONSTRAINT\",\"NODE_KEY\",\"DIMENSION_CONSTRAINT\",\"MAPPING_STRICT\",\"CUSTOM\"],\"description\":\"Type of validation or integrity rule. SQL-standard: PRIMARY_KEY, FOREIGN_KEY, UNIQUE, CHECK, NOT_NULL. Document store: SCHEMA_VALIDATION (JSON Schema validator), REQUIRED_FIELD. Key-value: KEY_FORMAT (key naming pattern), TTL_CONSTRAINT. Graph: UNIQUENESS_CONSTRAINT (unique node label+property), EXISTENCE_CONSTRAINT (required property), NODE_KEY (composite unique identifier). Vector: DIMENSION_CONSTRAINT (vector dimension enforcement). Search engine: MAPPING_STRICT (reject unmapped fields). CUSTOM: engine-specific rule not listed.\"},\"expression\":{\"type\":\"string\",\"description\":\"Constraint expression or validation rule body. For CHECK constraints, the SQL expression. For SCHEMA_VALIDATION, a JSON Schema reference. For KEY_FORMAT, a key naming pattern.\"},\"targetFields\":{\"type\":\"string\",\"description\":\"Field name(s) this rule applies to.\"},\"referencedCollection\":{\"type\":\"string\",\"description\":\"For FOREIGN_KEY or cross-collection references, the target collection name.\"},\"referencedFields\":{\"type\":\"string\",\"description\":\"For FOREIGN_KEY or cross-collection references, the target field name(s) in the referenced collection.\"},\"onDelete\":{\"type\":\"string\",\"enum\":[\"CASCADE\",\"SET_NULL\",\"SET_DEFAULT\",\"RESTRICT\",\"NO_ACTION\"],\"description\":\"Referential action on delete. CASCADE: delete dependent entries. SET_NULL: nullify the reference. SET_DEFAULT: reset to default value. RESTRICT: reject if referenced entries exist. NO_ACTION: deferred reject. Applicable to FOREIGN_KEY rules.\"},\"onUpdate\":{\"type\":\"string\",\"enum\":[\"CASCADE\",\"SET_NULL\",\"SET_DEFAULT\",\"RESTRICT\",\"NO_ACTION\"],\"description\":\"Referential action on update. Same values as onDelete, applied when the referenced field value is modified. Applicable to FOREIGN_KEY rules.\"},\"enforcement\":{\"type\":\"string\",\"enum\":[\"STRICT\",\"WARN\",\"LOG\"],\"description\":\"How the rule is enforced. STRICT: reject violating operations (default for most SQL constraints). WARN: allow but emit a warning (supported by some document store validators). LOG: allow and log the violation for audit purposes.\"}},\n};\n\nconst NODE_TYPE_DATA_STORE_VIEW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"data-store.view\",\n layer: \"data-store\",\n type: \"view\",\n title: \"View\",\n requiredAttributes: [],\n optionalAttributes: [\"definition\", \"materialized\", \"viewType\", \"refreshPolicy\"],\n attributeConstraints: {\"definition\":{\"type\":\"string\",\"description\":\"Query or expression that defines this view. SQL query for relational, aggregation pipeline for document stores, alias definition for search engines, continuous aggregate query for time-series, Cypher projection for graph databases.\"},\"materialized\":{\"type\":\"boolean\",\"description\":\"Whether the view data is precomputed and stored rather than computed on each read.\"},\"viewType\":{\"type\":\"string\",\"enum\":[\"VIRTUAL\",\"MATERIALIZED\",\"ALIAS\",\"CONTINUOUS_AGGREGATE\",\"FILTERED\"],\"description\":\"Type of view. VIRTUAL: computed on every read (SQL view, CouchDB view). MATERIALIZED: precomputed and stored (SQL materialized view, Cassandra materialized view). ALIAS: pointer or routing abstraction over one or more collections (Elasticsearch alias). CONTINUOUS_AGGREGATE: incrementally maintained materialization (TimescaleDB continuous aggregate, InfluxDB continuous query). FILTERED: read-only subset of another collection.\"},\"refreshPolicy\":{\"type\":\"string\",\"enum\":[\"ON_DEMAND\",\"ON_COMMIT\",\"PERIODIC\",\"CONTINUOUS\"],\"description\":\"How materialized data is refreshed. ON_DEMAND: manual refresh required. ON_COMMIT: refreshed after each transaction commit. PERIODIC: refreshed on a schedule. CONTINUOUS: incrementally updated as source data changes. Only applicable when materialized is true or viewType is MATERIALIZED or CONTINUOUS_AGGREGATE.\"}},\n};\n\nconst NODE_TYPE_UX_ACTIONCOMPONENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.actioncomponent\",\n layer: \"ux\",\n type: \"actioncomponent\",\n title: \"ActionComponent\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"label\", \"icon\", \"disabled\", \"tooltip\", \"channel\", \"style\", \"validations\"],\n attributeConstraints: {\"label\":{\"type\":\"string\",\"description\":\"The visible text or accessible name of the control (the button text, link text or spoken phrase). Set it whenever the control is not icon-only; for icon-only controls, set it to the aria-label value.\"},\"type\":{\"type\":\"string\",\"enum\":[\"button\",\"link\",\"menu\",\"voice-command\",\"icon-button\"],\"description\":\"Interactive element kind, per HTML 5.3 button, anchor, and menu element semantics.\"},\"icon\":{\"type\":\"string\",\"description\":\"Identifier of the icon displayed on the control, as a design-system icon name or asset path (e.g. 'trash', 'mdi-plus'). Set it when the control shows a glyph.\"},\"disabled\":{\"type\":\"boolean\",\"description\":\"When true, the control is rendered but cannot be activated, corresponding to the HTML disabled attribute or aria-disabled. Set it only when the control is statically disabled; state-dependent disabling belongs on ExperienceState.disabledComponents.\"},\"tooltip\":{\"type\":\"string\",\"description\":\"Short helper text shown on hover or focus, corresponding to the HTML title attribute or a tooltip component. Set it when the control's purpose is not obvious from its label or icon.\"},\"channel\":{\"type\":\"string\",\"enum\":[\"web\",\"mobile\",\"voice\",\"chat\",\"sms\"],\"description\":\"Delivery channel for which this component is rendered.\"},\"style\":{\"type\":\"string\",\"enum\":[\"primary\",\"secondary\",\"danger\",\"ghost\",\"link\",\"icon\"],\"description\":\"Visual style variant of the action component, per design system button style conventions.\"},\"validations\":{\"type\":\"array\",\"description\":\"Client-side validation rules applied to this component, per HTML 5.3 Constraint Validation API. Each rule specifies a constraint type, threshold value, and user-facing error message.\",\"items\":{\"type\":\"object\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"required\",\"minlength\",\"maxlength\",\"pattern\",\"min\",\"max\",\"type\",\"custom\"],\"description\":\"Constraint type. 'required': field must not be empty; 'minlength'/'maxlength': string length bounds (value = integer); 'pattern': regex the input must match (value = regex string); 'min'/'max': numeric range (value = number); 'type': expected data type; 'custom': application-defined rule.\"},\"value\":{\"type\":\"string\",\"description\":\"Constraint threshold or parameter (e.g., '8' for minlength, '^[a-z]+$' for pattern).\"},\"message\":{\"type\":\"string\",\"description\":\"User-facing error message shown when this constraint is violated.\"}},\"required\":[\"type\",\"message\"],\"additionalProperties\":false}}},\n};\n\nconst NODE_TYPE_UX_ACTIONPATTERN: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.actionpattern\",\n layer: \"ux\",\n type: \"actionpattern\",\n title: \"ActionPattern\",\n requiredAttributes: [],\n optionalAttributes: [\"description\", \"category\", \"trigger\", \"feedback\", \"targetRef\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the interaction sequence: what the user does, what feedback follows and in what order, and when the pattern applies. Set it whenever the name alone does not convey the steps, e.g. 'click delete \u2192 confirm modal \u2192 success toast'.\"},\"category\":{\"type\":\"string\",\"enum\":[\"crud\",\"navigation\",\"confirmation\",\"bulk-operation\"],\"description\":\"Functional taxonomy of the action pattern.\"},\"trigger\":{\"type\":\"string\",\"enum\":[\"click\",\"swipe\",\"voice\",\"keyboard\"],\"description\":\"Input modality that initiates this action pattern.\"},\"feedback\":{\"type\":\"string\",\"enum\":[\"toast\",\"animation\",\"route-change\",\"modal\",\"inline-message\",\"none\"],\"description\":\"User-facing feedback mechanism invoked after the action completes.\"},\"targetRef\":{\"type\":\"string\",\"description\":\"Optional specNodeId of the component or element this action pattern is applied to.\"}},\n};\n\nconst NODE_TYPE_UX_CHARTSERIES: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.chartseries\",\n layer: \"ux\",\n type: \"chartseries\",\n title: \"ChartSeries\",\n requiredAttributes: [\"label\", \"dataField\"],\n optionalAttributes: [\"type\", \"categoryField\", \"color\", \"lineStyle\"],\n attributeConstraints: {\"label\":{\"type\":\"string\",\"description\":\"Human-readable series name shown in the chart legend and tooltips (e.g. 'Revenue 2024'). Set it on every series; it is required even when only one series is plotted, so the legend and screen readers can identify the series.\"},\"type\":{\"type\":\"string\",\"enum\":[\"line\",\"bar\",\"column\",\"pie\",\"donut\",\"area\",\"scatter\",\"bubble\",\"heatmap\"],\"description\":\"Visualization type for this data series.\"},\"dataField\":{\"type\":\"string\",\"description\":\"Field name from the bound data source representing the numeric/value axis of this series (e.g., 'revenue', 'count'). For formal data-model binding, use a relationship to the corresponding data-model entity.\"},\"categoryField\":{\"type\":\"string\",\"description\":\"Field name from the bound data source representing the category/x-axis grouping (e.g., 'month', 'region'). For formal data-model binding, use a relationship to the corresponding data-model entity.\"},\"color\":{\"type\":\"string\",\"description\":\"CSS color value for this series (e.g., '#3B82F6', 'var(--brand-primary)'). Overrides any theme-level color scheme for this specific series.\"},\"lineStyle\":{\"type\":\"string\",\"enum\":[\"solid\",\"dashed\",\"dotted\",\"double\",\"none\"],\"description\":\"CSS border/line style applied to line chart series rendering, per CSS Border specification.\"}},\n};\n\nconst NODE_TYPE_UX_COMPONENTINSTANCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.componentinstance\",\n layer: \"ux\",\n type: \"componentinstance\",\n title: \"ComponentInstance\",\n requiredAttributes: [],\n optionalAttributes: [\"order\", \"ref\", \"props\"],\n attributeConstraints: {\"order\":{\"type\":\"integer\",\"description\":\"Render order of this component instance within its parent View or SubView's component list. Lower values render first.\"},\"ref\":{\"type\":\"string\",\"description\":\"SpecNodeId of the ux.librarycomponent this instance is based on (e.g., 'ux.librarycomponent.data-table'). Determines the component type and the set of valid prop keys.\"},\"props\":{\"type\":\"object\",\"description\":\"Key-value map of property overrides applied to this instance. Keys must match prop names declared on the referenced LibraryComponent. Values override the component defaults for this specific usage.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_UX_COMPONENTREFERENCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.componentreference\",\n layer: \"ux\",\n type: \"componentreference\",\n title: \"ComponentReference\",\n requiredAttributes: [\"ref\"],\n optionalAttributes: [\"variant\", \"slot\"],\n attributeConstraints: {\"ref\":{\"type\":\"string\",\"description\":\"SpecNodeId of the component (ux.librarycomponent or ux.componentinstance) to render in the slot.\"},\"variant\":{\"type\":\"string\",\"description\":\"Optional design variant override for this reference (e.g., 'compact', 'expanded', 'readonly'). Must match a variant defined on the referenced component.\"},\"slot\":{\"type\":\"string\",\"description\":\"Named slot in the parent component where this reference is placed. Slot names are defined by the parent LibraryComponent (e.g., 'header', 'actions', 'footer').\"}},\n};\n\nconst NODE_TYPE_UX_DATACONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.dataconfig\",\n layer: \"ux\",\n type: \"dataconfig\",\n title: \"DataConfig\",\n requiredAttributes: [\"source\", \"target\"],\n optionalAttributes: [\"path\"],\n attributeConstraints: {\"source\":{\"type\":\"string\",\"enum\":[\"api\",\"state\",\"local-storage\",\"mock\",\"static\"],\"description\":\"Data origin for this binding configuration.\"},\"target\":{\"type\":\"string\",\"description\":\"SpecNodeId of the destination element receiving bound data (e.g., a data-model entity ID or API endpoint ID). Use relationships to formally link to those layers.\"},\"path\":{\"type\":\"string\",\"description\":\"Dot-notation or JSONPath expression selecting a field within the source data (e.g., 'user.profile.name' or '$.items[0].id').\"}},\n};\n\nconst NODE_TYPE_UX_ERRORCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.errorconfig\",\n layer: \"ux\",\n type: \"errorconfig\",\n title: \"ErrorConfig\",\n requiredAttributes: [],\n optionalAttributes: [\"showNotification\", \"notificationType\", \"errorMessage\", \"defaultErrorMessage\"],\n attributeConstraints: {\"showNotification\":{\"type\":\"boolean\",\"description\":\"Boolean that, when true, surfaces the error as a transient notification (toast, snackbar or ARIA alert) in addition to or instead of inline display; set it when the failure should be announced outside the component's own area.\"},\"notificationType\":{\"type\":\"string\",\"enum\":[\"success\",\"error\",\"warning\",\"info\",\"neutral\"],\"description\":\"Severity category of the notification, aligned with ARIA live region and alert role semantics.\"},\"errorMessage\":{\"type\":\"string\",\"description\":\"The specific user-facing message text, or i18n message key, shown for the error condition this configuration handles; set it when the failure has a known cause and tailored wording.\"},\"defaultErrorMessage\":{\"type\":\"string\",\"description\":\"Fallback user-facing message text, or i18n message key, shown when no specific errorMessage applies or the underlying error carries no displayable message; set it to guarantee every failure shows some text.\"}},\n};\n\nconst NODE_TYPE_UX_EXPERIENCESTATE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.experiencestate\",\n layer: \"ux\",\n type: \"experiencestate\",\n title: \"ExperienceState\",\n requiredAttributes: [],\n optionalAttributes: [\"initial\", \"description\", \"channel\", \"onEnter\", \"onExit\", \"transitions\", \"enabledComponents\", \"disabledComponents\", \"hiddenComponents\"],\n attributeConstraints: {\"initial\":{\"type\":\"boolean\",\"description\":\"When true, marks this as the starting state of the state machine. Only one ExperienceState per state machine should have initial: true.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what condition this state represents and what the user sees or can do while it is active; set it whenever the state name alone does not make the condition clear.\"},\"channel\":{\"type\":\"string\",\"enum\":[\"web\",\"mobile\",\"voice\",\"chat\",\"sms\"],\"description\":\"Delivery channel context for this experience state.\"},\"onEnter\":{\"type\":\"array\",\"description\":\"List of StateAction specNodeIds executed when entering this state (lifecycle: on-enter).\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.stateaction node.\"}},\"onExit\":{\"type\":\"array\",\"description\":\"List of StateAction specNodeIds executed when leaving this state (lifecycle: on-exit).\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.stateaction node.\"}},\"transitions\":{\"type\":\"array\",\"description\":\"List of StateTransition specNodeIds owned by this state, defining the outgoing edges of the state machine.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.statetransition node.\"}},\"enabledComponents\":{\"type\":\"array\",\"description\":\"List of component specNodeIds that are interactive (enabled) when this state is active. Corresponds to ARIA aria-disabled=false.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a component node.\"}},\"disabledComponents\":{\"type\":\"array\",\"description\":\"List of component specNodeIds that are non-interactive (disabled) when this state is active. Corresponds to ARIA aria-disabled=true.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a component node.\"}},\"hiddenComponents\":{\"type\":\"array\",\"description\":\"List of component specNodeIds that are not rendered when this state is active. Corresponds to ARIA aria-hidden=true or display:none.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a component node.\"}}},\n};\n\nconst NODE_TYPE_UX_LAYOUTCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.layoutconfig\",\n layer: \"ux\",\n type: \"layoutconfig\",\n title: \"LayoutConfig\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"columns\", \"rows\", \"gap\", \"rowGap\", \"columnGap\", \"padding\", \"margin\", \"maxWidth\", \"alignContent\", \"alignItems\", \"justifyContent\", \"justifyItems\", \"stickyPosition\", \"style\", \"labelPosition\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"grid\",\"flex\",\"block\",\"inline\",\"absolute\",\"sticky\"],\"description\":\"CSS layout mode governing element positioning and flow, per CSS Flexbox/Grid specification.\"},\"columns\":{\"type\":\"integer\",\"description\":\"Number of explicit grid column tracks (the repeat count in grid-template-columns), as a positive integer; set when type is 'grid' or style is 'grid'/'masonry'.\"},\"rows\":{\"type\":\"integer\",\"description\":\"Number of explicit grid row tracks (the repeat count in grid-template-rows), as a positive integer; set only when the grid has a fixed row count rather than auto-flowing rows.\"},\"gap\":{\"type\":\"string\",\"description\":\"CSS gap shorthand giving uniform spacing between children as a CSS length or design token (e.g. '16px', '1rem', 'var(--space-md)'); set when row and column spacing are equal.\"},\"rowGap\":{\"type\":\"string\",\"description\":\"CSS row-gap length giving vertical spacing between rows or wrapped flex lines (e.g. '24px'); set only to override gap for the row axis.\"},\"columnGap\":{\"type\":\"string\",\"description\":\"CSS column-gap length giving horizontal spacing between columns or flex items (e.g. '12px'); set only to override gap for the column axis.\"},\"padding\":{\"type\":\"string\",\"description\":\"CSS padding shorthand for inner spacing between the container edge and its children (e.g. '16px 24px'); set when the container defines its own inset.\"},\"margin\":{\"type\":\"string\",\"description\":\"CSS margin shorthand for outer spacing around the container (e.g. '0 auto' for centring); set when the layout controls its own offset from siblings or parent.\"},\"maxWidth\":{\"type\":\"string\",\"description\":\"CSS max-width value capping the container width (e.g. '1200px', '80ch', '100%'); set for constrained or centred content containers.\"},\"alignContent\":{\"type\":\"string\",\"enum\":[\"flex-start\",\"flex-end\",\"center\",\"space-between\",\"space-around\",\"stretch\"],\"description\":\"CSS align-content property value, per CSS Flexbox/Grid specification.\"},\"alignItems\":{\"type\":\"string\",\"enum\":[\"flex-start\",\"flex-end\",\"center\",\"baseline\",\"stretch\"],\"description\":\"CSS align-items property value, per CSS Flexbox/Grid specification.\"},\"justifyContent\":{\"type\":\"string\",\"enum\":[\"flex-start\",\"flex-end\",\"center\",\"space-between\",\"space-around\",\"space-evenly\"],\"description\":\"CSS justify-content property value, per CSS Flexbox/Grid specification.\"},\"justifyItems\":{\"type\":\"string\",\"enum\":[\"flex-start\",\"flex-end\",\"center\",\"stretch\",\"baseline\"],\"description\":\"CSS justify-items property value, per CSS Grid specification.\"},\"stickyPosition\":{\"type\":\"string\",\"enum\":[\"top\",\"bottom\",\"left\",\"right\",\"none\"],\"description\":\"Anchor edge for CSS position:sticky elements, per CSS Positioning specification.\"},\"style\":{\"type\":\"string\",\"enum\":[\"card\",\"table\",\"list\",\"grid\",\"masonry\",\"split\"],\"description\":\"Visual presentation style applied to the layout container.\"},\"labelPosition\":{\"type\":\"string\",\"enum\":[\"top\",\"left\",\"right\",\"inline\",\"floating\",\"hidden\"],\"description\":\"Placement of form field labels relative to their input elements, per HTML 5.3 label element positioning patterns.\"}},\n};\n\nconst NODE_TYPE_UX_LIBRARYCOMPONENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.librarycomponent\",\n layer: \"ux\",\n type: \"librarycomponent\",\n title: \"LibraryComponent\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"label\", \"description\", \"category\", \"source\", \"props\", \"slots\", \"events\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"form\",\"table\",\"chart\",\"navigation\",\"feedback\",\"layout\",\"input\",\"display\"],\"description\":\"UI component category used for library organization and component lookup.\"},\"label\":{\"type\":\"string\",\"description\":\"Human-readable display name of the component as shown in the library catalogue or Storybook, such as 'Data Table'; set it when the specNodeId slug is not presentation-friendly.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the component's purpose, intended usage and notable behaviour, written for library consumers; set it for every published component.\"},\"category\":{\"type\":\"string\",\"description\":\"Fine-grained categorization within the component type (e.g., 'data-grid', 'inline-form', 'bar-chart') for library browsing and search.\"},\"source\":{\"type\":\"object\",\"description\":\"Distribution source for this component (npm package, git repository, or internal registry).\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"npm\",\"git\",\"internal-registry\"],\"description\":\"Distribution mechanism.\"},\"identifier\":{\"type\":\"string\",\"description\":\"Package name, git URL, or registry path (e.g., '@org/ui-components', 'https://github.com/org/ui').\"}},\"additionalProperties\":false},\"props\":{\"type\":\"array\",\"description\":\"Schema of properties accepted by this component. Each entry defines an accepted prop with its name, type, and whether it is required.\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"Prop identifier.\"},\"type\":{\"type\":\"string\",\"enum\":[\"string\",\"number\",\"boolean\",\"object\",\"array\"],\"description\":\"Data type of the prop value.\"},\"required\":{\"type\":\"boolean\",\"description\":\"Whether this prop must be provided by consumers.\"},\"default\":{\"type\":\"string\",\"description\":\"Default value as string; coerced to declared type at runtime.\"}},\"required\":[\"name\",\"type\"],\"additionalProperties\":false}},\"slots\":{\"type\":\"array\",\"description\":\"Named content slots this component exposes for composition, analogous to HTML slot elements in Web Components.\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"Slot identifier referenced by ComponentReference.slot.\"},\"description\":{\"type\":\"string\",\"description\":\"What content is expected in this slot.\"}},\"required\":[\"name\"],\"additionalProperties\":false}},\"events\":{\"type\":\"array\",\"description\":\"Custom events emitted by this component that consumers can listen to.\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"Event name (e.g., 'row-selected', 'form-submitted').\"},\"description\":{\"type\":\"string\",\"description\":\"When this event fires and what payload it carries.\"}},\"required\":[\"name\"],\"additionalProperties\":false}}},\n};\n\nconst NODE_TYPE_UX_LIBRARYSUBVIEW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.librarysubview\",\n layer: \"ux\",\n type: \"librarysubview\",\n title: \"LibrarySubView\",\n requiredAttributes: [],\n optionalAttributes: [\"title\", \"description\", \"category\", \"components\"],\n attributeConstraints: {\"title\":{\"type\":\"string\",\"description\":\"Human-readable display name of the reusable sub-view as shown in library catalogues or Storybook (e.g. 'Address Form Section'); set it whenever the sub-view is published in a UXLibrary.\"},\"description\":{\"type\":\"string\",\"description\":\"Plain-text summary of the sub-view's purpose, its contained components and its intended embedding contexts; set it to help consumers choose between similar library sub-views.\"},\"category\":{\"type\":\"string\",\"description\":\"Functional category grouping related sub-views within a library (e.g., 'forms', 'data-display', 'navigation', 'feedback').\"},\"components\":{\"type\":\"array\",\"description\":\"Ordered list of ComponentInstance specNodeIds that constitute this reusable sub-view composition.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.componentinstance node.\"}}},\n};\n\nconst NODE_TYPE_UX_STATEACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.stateaction\",\n layer: \"ux\",\n type: \"stateaction\",\n title: \"StateAction\",\n requiredAttributes: [\"action\"],\n optionalAttributes: [\"description\", \"lifecycle\", \"timing\"],\n attributeConstraints: {\"action\":{\"type\":\"string\",\"enum\":[\"navigate\",\"submit\",\"open\",\"close\",\"dispatch\",\"validate\"],\"description\":\"Operation executed during the state lifecycle.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what this bound action does in context (e.g. 'moves keyboard focus to the first invalid field after entering the review step'); set it whenever the action enum value and name alone do not convey the effect.\"},\"lifecycle\":{\"type\":\"string\",\"enum\":[\"on-enter\",\"on-exit\",\"on-transition\"],\"description\":\"State lifecycle hook that triggers this action. 'on-enter': fires when entering the owning ExperienceState; 'on-exit': fires when leaving it; 'on-transition': fires during any outgoing transition from this state.\"},\"timing\":{\"type\":\"string\",\"enum\":[\"immediate\",\"deferred\",\"conditional\"],\"description\":\"Execution scheduling within the lifecycle hook: 'immediate' runs synchronously before the state activates; 'deferred' runs asynchronously after; 'conditional' runs only when a guard condition is met.\"}},\n};\n\nconst NODE_TYPE_UX_STATEACTIONTEMPLATE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.stateactiontemplate\",\n layer: \"ux\",\n type: \"stateactiontemplate\",\n title: \"StateActionTemplate\",\n requiredAttributes: [\"action\"],\n optionalAttributes: [\"description\", \"parameters\"],\n attributeConstraints: {\"action\":{\"type\":\"string\",\"enum\":[\"navigate\",\"submit\",\"open\",\"close\",\"dispatch\",\"validate\"],\"description\":\"Operation this template encapsulates. Must match a value from the StateAction action enum.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what the templated action does and what each parameter controls; set it whenever the template name alone does not make its behaviour and side effects clear.\"},\"parameters\":{\"type\":\"array\",\"description\":\"Configurable parameters that can be supplied when instantiating this template as a StateAction. Each item defines a named input with its expected type and optional default value.\",\"items\":{\"type\":\"object\",\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"Parameter identifier used to reference it in the action (e.g., 'targetId', 'routePath').\"},\"type\":{\"type\":\"string\",\"enum\":[\"string\",\"number\",\"boolean\"],\"description\":\"Expected data type of the parameter value.\"},\"default\":{\"type\":\"string\",\"description\":\"Optional default value as a string; coerced to the declared type at runtime.\"}},\"required\":[\"name\",\"type\"],\"additionalProperties\":false}}},\n};\n\nconst NODE_TYPE_UX_STATEPATTERN: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.statepattern\",\n layer: \"ux\",\n type: \"statepattern\",\n title: \"StatePattern\",\n requiredAttributes: [],\n optionalAttributes: [\"description\", \"category\", \"states\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"A plain-text summary of the flow the pattern encodes: its states, the main transitions and the situations it fits. Set it whenever the pattern name alone does not make its behaviour clear.\"},\"category\":{\"type\":\"string\",\"enum\":[\"navigation\",\"form\",\"data-loading\",\"authentication\",\"multi-step\"],\"description\":\"Functional taxonomy of the reusable state machine pattern.\"},\"states\":{\"type\":\"array\",\"description\":\"Ordered list of ExperienceState specNodeIds comprising this reusable pattern. The first entry is the initial state.\",\"items\":{\"type\":\"string\",\"description\":\"specNodeId of an ExperienceState node belonging to this pattern.\"}}},\n};\n\nconst NODE_TYPE_UX_STATETRANSITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.statetransition\",\n layer: \"ux\",\n type: \"statetransition\",\n title: \"StateTransition\",\n requiredAttributes: [\"trigger\"],\n optionalAttributes: [\"to\", \"description\", \"actions\", \"guard\"],\n attributeConstraints: {\"to\":{\"type\":\"string\",\"description\":\"SpecNodeId of the destination ExperienceState this transition leads to (e.g., 'ux.experiencestate.order-confirmed').\"},\"trigger\":{\"type\":\"string\",\"enum\":[\"click\",\"hover\",\"focus\",\"blur\",\"change\",\"submit\",\"load\",\"swipe\",\"voice-command\"],\"description\":\"DOM or UX event that initiates this state transition, per HTML 5.3 event model.\"},\"description\":{\"type\":\"string\",\"description\":\"A plain-language sentence saying what user event moves the experience from the source state to the destination and why. Example: 'User submits valid payment form; moves to processing'. Set it whenever the trigger, guard or destination does not make the transition's intent obvious on its own.\"},\"actions\":{\"type\":\"array\",\"description\":\"List of StateAction specNodeIds to execute when this transition fires, in order.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.stateaction node.\"}},\"guard\":{\"type\":\"object\",\"description\":\"Optional boolean guard condition that must evaluate to true for this transition to fire.\",\"properties\":{\"expression\":{\"type\":\"string\",\"description\":\"Boolean expression string evaluated against current state context.\"},\"syntax\":{\"type\":\"string\",\"enum\":[\"javascript\",\"jsonpath\",\"cel\",\"jsonata\"],\"description\":\"Expression language used to evaluate the guard expression. 'javascript': JS boolean expression (e.g., 'user.isLoggedIn && cart.items.length > 0'); 'jsonpath': JSONPath predicate (e.g., '$.user.role == \\\"admin\\\"'); 'cel': Common Expression Language (e.g., 'user.age >= 18'); 'jsonata': JSONata expression (e.g., '$count(items) > 0').\"}},\"required\":[\"expression\",\"syntax\"],\"additionalProperties\":false}},\n};\n\nconst NODE_TYPE_UX_SUBVIEW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.subview\",\n layer: \"ux\",\n type: \"subview\",\n title: \"SubView\",\n requiredAttributes: [],\n optionalAttributes: [\"title\", \"description\", \"order\", \"ref\"],\n attributeConstraints: {\"title\":{\"type\":\"string\",\"description\":\"Human-readable heading or name of the fragment as shown to users or designers (e.g. 'Order Filters'). Set it when the region has a visible heading or a recognisable name in design artifacts.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what the fragment displays and what it is for within its parent View. Set it when the title alone does not make the region's content or behaviour clear.\"},\"order\":{\"type\":\"integer\",\"description\":\"Render order of this SubView within its parent View's subViews list. Lower values render first (top-to-bottom or left-to-right depending on layout).\"},\"ref\":{\"type\":\"string\",\"description\":\"SpecNodeId of the ux.librarysubview this instance is based on (e.g., 'ux.librarysubview.data-table-with-filters'). When present, this SubView is a library instance; when absent, it is an inline definition.\"}},\n};\n\nconst NODE_TYPE_UX_TABLECOLUMN: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.tablecolumn\",\n layer: \"ux\",\n type: \"tablecolumn\",\n title: \"TableColumn\",\n requiredAttributes: [\"header\", \"field\"],\n optionalAttributes: [\"width\", \"minWidth\", \"maxWidth\", \"filterType\", \"textAlign\", \"displayType\", \"defaultSortDirection\"],\n attributeConstraints: {\"header\":{\"type\":\"string\",\"description\":\"User-visible text rendered in the column's header cell (the th content), e.g. 'Order Date'; set for every column, using an empty string or accessible label for icon-only or actions columns.\"},\"field\":{\"type\":\"string\",\"description\":\"Key or dot-notation path of the property in each row record whose value populates this column's cells (e.g. 'customer.name'); set for every column and formalize via maps-to relationships to data-model or data-store fields.\"},\"width\":{\"type\":\"string\",\"description\":\"Preferred column width as a CSS length or percentage (e.g. '160px', '20%', 'auto'); set when the column should not size automatically from content.\"},\"minWidth\":{\"type\":\"string\",\"description\":\"Minimum CSS width the column may shrink to during resizing or responsive layout (e.g. '80px'); set when content would become unreadable below a threshold.\"},\"maxWidth\":{\"type\":\"string\",\"description\":\"Maximum CSS width the column may grow to during resizing or flexible layout (e.g. '400px'); set to stop long text columns from dominating the table.\"},\"filterType\":{\"type\":\"string\",\"enum\":[\"equals\",\"contains\",\"startsWith\",\"endsWith\",\"range\",\"multiselect\",\"boolean\"],\"description\":\"Filter operation type available for this column, per HTML 5.3 form input filter patterns.\"},\"textAlign\":{\"type\":\"string\",\"enum\":[\"left\",\"right\",\"center\",\"justify\",\"start\",\"end\"],\"description\":\"CSS text-align value for cell content, per CSS Text specification.\"},\"displayType\":{\"type\":\"string\",\"enum\":[\"text\",\"badge\",\"icon\",\"link\",\"image\",\"boolean\",\"date\",\"currency\",\"actions\"],\"description\":\"Rendering type that controls how cell values are visually presented.\"},\"defaultSortDirection\":{\"type\":\"string\",\"enum\":[\"asc\",\"desc\",\"none\"],\"description\":\"Default sort direction applied to this column when first sorted.\"}},\n};\n\nconst NODE_TYPE_UX_TRANSITIONTEMPLATE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.transitiontemplate\",\n layer: \"ux\",\n type: \"transitiontemplate\",\n title: \"TransitionTemplate\",\n requiredAttributes: [\"to\", \"trigger\"],\n optionalAttributes: [\"description\", \"animationType\", \"duration\", \"easing\"],\n attributeConstraints: {\"to\":{\"type\":\"string\",\"description\":\"The target end state of the animation: a specNodeId of the ExperienceState, View or SubView being entered, or a generic lifecycle target such as 'enter' or 'leave'. Set it to the narrowest target the template is meant for.\"},\"trigger\":{\"type\":\"string\",\"description\":\"The event or change that starts the animation, e.g. 'route-change', 'state-change', 'mount', 'unmount', or a DOM event name such as 'click'. Set it so the template can be matched to the transitions it governs.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the motion's intent and visual effect (e.g. 'modal slides up from bottom and fades in'). Set it whenever the name alone does not convey the effect.\"},\"animationType\":{\"type\":\"string\",\"enum\":[\"fade\",\"slide\",\"scale\",\"bounce\",\"none\"],\"description\":\"Motion animation category applied during this transition.\"},\"duration\":{\"type\":\"string\",\"description\":\"CSS transition duration (e.g., '300ms', '0.5s'), per CSS Transitions specification.\"},\"easing\":{\"type\":\"string\",\"description\":\"CSS timing function controlling the transition's acceleration curve (e.g., 'ease-in-out', 'cubic-bezier(0.4, 0, 0.2, 1)').\"}},\n};\n\nconst NODE_TYPE_UX_UXAPPLICATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.uxapplication\",\n layer: \"ux\",\n type: \"uxapplication\",\n title: \"UXApplication\",\n requiredAttributes: [\"channel\"],\n optionalAttributes: [\"version\", \"description\", \"experiences\", \"theme\", \"designSystem\", \"defaultLocale\"],\n attributeConstraints: {\"version\":{\"type\":\"string\",\"description\":\"Release version of the application as shipped to users, typically a semantic version string (e.g. '2.3.1') taken from package.json, the app manifest or store listing; set it when the app is versioned independently of its UXSpecs.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the application's purpose and audience (e.g. 'Customer self-service web portal'); set it to distinguish this application from others on the same channel.\"},\"channel\":{\"type\":\"string\",\"enum\":[\"web\",\"mobile\",\"voice\",\"chat\",\"sms\"],\"description\":\"Primary delivery channel this application targets. Multi-channel products use one UXApplication per channel, each referencing channel-specific UXSpecs.\"},\"experiences\":{\"type\":\"array\",\"description\":\"List of UXSpec specNodeIds that comprise the user experiences of this application.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.uxspec node.\"}},\"theme\":{\"type\":\"string\",\"description\":\"Design token theme identifier applied application-wide (e.g., 'brand-light', 'brand-dark', 'high-contrast').\"},\"designSystem\":{\"type\":\"string\",\"description\":\"Identifier of the design system or UXLibrary this application uses (e.g., specNodeId of a ux.uxlibrary node).\"},\"defaultLocale\":{\"type\":\"string\",\"description\":\"Default locale for internationalization, as a BCP 47 language tag (e.g., 'en-US', 'fr-FR', 'ja-JP').\"}},\n};\n\nconst NODE_TYPE_UX_UXLIBRARY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.uxlibrary\",\n layer: \"ux\",\n type: \"uxlibrary\",\n title: \"UXLibrary\",\n requiredAttributes: [\"version\"],\n optionalAttributes: [\"description\", \"author\", \"license\", \"components\", \"subViews\", \"statePatterns\", \"actionPatterns\", \"source\"],\n attributeConstraints: {\"version\":{\"type\":\"string\",\"description\":\"Release version of the library package, normally a semantic version string (e.g. '2.4.1') matching the package manifest; always set, and update it whenever the exported set or its contracts change.\"},\"description\":{\"type\":\"string\",\"description\":\"Short plain-text summary of the library's scope and intended consumers (e.g. 'Internal admin design system'); set it when the name alone does not convey what the library covers.\"},\"author\":{\"type\":\"string\",\"description\":\"Person, team or organisation that owns and maintains the library, as recorded in the package manifest or ownership file; set it to identify who to contact for changes.\"},\"license\":{\"type\":\"string\",\"description\":\"License under which the library is distributed, preferably as an SPDX identifier (e.g. 'MIT', 'Apache-2.0', or 'UNLICENSED' for proprietary); set it when the library is shared beyond a single codebase or sourced from a third party.\"},\"components\":{\"type\":\"array\",\"description\":\"List of ux.librarycomponent specNodeIds exported by this library.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.librarycomponent node.\"}},\"subViews\":{\"type\":\"array\",\"description\":\"List of ux.librarysubview specNodeIds exported by this library.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.librarysubview node.\"}},\"statePatterns\":{\"type\":\"array\",\"description\":\"List of ux.statepattern specNodeIds exported by this library.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.statepattern node.\"}},\"actionPatterns\":{\"type\":\"array\",\"description\":\"List of ux.actionpattern specNodeIds exported by this library.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.actionpattern node.\"}},\"source\":{\"type\":\"object\",\"description\":\"Distribution source for this library package.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"npm\",\"git\",\"internal-registry\"],\"description\":\"Distribution mechanism: 'npm' for a published npm package, 'git' for a git repository URL, 'internal-registry' for a private artifact registry.\"},\"identifier\":{\"type\":\"string\",\"description\":\"Package name, git URL, or registry path (e.g., '@org/design-system', 'https://github.com/org/ds', 'registry.internal/ux-lib').\"}},\"additionalProperties\":false}},\n};\n\nconst NODE_TYPE_UX_UXSPEC: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.uxspec\",\n layer: \"ux\",\n type: \"uxspec\",\n title: \"UXSpec\",\n requiredAttributes: [],\n optionalAttributes: [\"version\", \"experience\", \"title\", \"description\", \"source\", \"views\", \"states\"],\n attributeConstraints: {\"version\":{\"type\":\"string\",\"description\":\"Version identifier of this experience specification, preferably semantic versioning (e.g. '1.2.0'); set it when the spec is released or revised independently of the application.\"},\"experience\":{\"type\":\"string\",\"enum\":[\"visual\",\"voice\",\"chat\",\"sms\"],\"description\":\"Delivery modality this spec describes. 'visual': screen-based UI; 'voice': voice assistant interface; 'chat': conversational messaging UI; 'sms': text message-based interaction.\"},\"title\":{\"type\":\"string\",\"description\":\"Human-readable name of the experience (e.g. 'Checkout', 'Account Onboarding') used in documentation and diagrams; set it on every spec.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the user goal and scope this experience covers, including which journeys are in or out of scope; set it whenever the title alone does not make the boundary clear.\"},\"source\":{\"type\":\"object\",\"description\":\"Reference to the design artifact (e.g., Figma file, Storybook, or internal design system URL) that this spec is based on.\",\"properties\":{\"type\":{\"type\":\"string\",\"enum\":[\"figma\",\"storybook\",\"zeplin\",\"url\"],\"description\":\"Design tool or artifact type.\"},\"url\":{\"type\":\"string\",\"description\":\"URL to the design artifact.\"}},\"additionalProperties\":false},\"views\":{\"type\":\"array\",\"description\":\"List of ux.view specNodeIds that comprise the routable screens of this experience.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.view node.\"}},\"states\":{\"type\":\"array\",\"description\":\"List of ux.experiencestate specNodeIds that represent the top-level states of this experience's state machine.\",\"items\":{\"type\":\"string\",\"description\":\"SpecNodeId of a ux.experiencestate node.\"}}},\n};\n\nconst NODE_TYPE_UX_VIEW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"ux.view\",\n layer: \"ux\",\n type: \"view\",\n title: \"View\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"title\", \"description\", \"routable\", \"layout\", \"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"page\",\"modal\",\"dialog\",\"drawer\",\"panel\",\"overlay\",\"embedded\",\"full-screen\"],\"description\":\"View display mode, per HTML 5.3 sectioning and dialog element semantics.\"},\"title\":{\"type\":\"string\",\"description\":\"Human-readable title shown to users for this view, typically the document <title>, page heading, or dialog header; set it whenever the screen displays or announces a title.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the view's purpose and main content for modellers and reviewers; set it when the name and title alone do not convey what the screen is for.\"},\"routable\":{\"type\":\"boolean\",\"description\":\"True when the view can be reached directly through a URL or navigation route; false for views such as modals or overlays that only open programmatically from another view.\"},\"layout\":{\"type\":\"string\",\"description\":\"Identifier or name of the layout template or shell (e.g. 'two-column', 'dashboard-shell') this view renders within; set it when the view uses a named layout, and prefer an applies relationship to a ux.layoutconfig for formal binding.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_BREADCRUMBCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.breadcrumbconfig\",\n layer: \"navigation\",\n type: \"breadcrumbconfig\",\n title: \"BreadcrumbConfig\",\n requiredAttributes: [\"label\"],\n optionalAttributes: [\"labelTemplate\", \"showHome\", \"homeLabel\", \"homeRoute\"],\n attributeConstraints: {\"label\":{\"type\":\"string\",\"description\":\"Default static text for breadcrumb items in this scope. It is used when neither labelTemplate nor a route's own breadcrumb meta yields a label, or it names the scope's root segment.\"},\"labelTemplate\":{\"type\":\"string\",\"description\":\"Template string for dynamic label generation using {title} placeholder syntax to interpolate route metadata. Used when breadcrumb labels need to vary by route context rather than a static label.\"},\"showHome\":{\"type\":\"boolean\",\"description\":\"Boolean that, when true, prepends a home link as the first breadcrumb item. Set it to false when the trail should start at the current section.\"},\"homeLabel\":{\"type\":\"string\",\"description\":\"Display text for the home breadcrumb item, such as 'Home' or an i18n key. It is meaningful only when showHome is true.\"},\"homeRoute\":{\"type\":\"string\",\"description\":\"Route ID or URL path, such as 'home' or '/', that the home breadcrumb item links to. It is meaningful only when showHome is true and should resolve to a declared Route.\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_CONTEXTVARIABLE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.contextvariable\",\n layer: \"navigation\",\n type: \"contextvariable\",\n title: \"ContextVariable\",\n requiredAttributes: [\"schemaRef\", \"scope\", \"persistedIn\"],\n optionalAttributes: [\"defaultValue\", \"required\"],\n attributeConstraints: {\"schemaRef\":{\"type\":\"string\",\"description\":\"Reference (ID or URI) to the data-model JSON Schema or application DataObject that defines the variable's type and shape, e.g. 'data-model.jsonschema.shipping-address'. Always set, so steps and guards can validate the value.\"},\"scope\":{\"type\":\"string\",\"enum\":[\"global\",\"flow\",\"step\",\"session\"],\"description\":\"Lifetime and visibility of the variable across navigation flow execution.\"},\"persistedIn\":{\"type\":\"string\",\"enum\":[\"sessionStorage\",\"localStorage\",\"memory\",\"url-param\"],\"description\":\"Storage mechanism used to persist the variable across route transitions: sessionStorage (browser session), localStorage (cross-session), memory (in-process only), url-param (serialized into the URL query string).\"},\"defaultValue\":{\"type\":\"string\",\"description\":\"Serialized initial value (literal or JSON string conforming to schemaRef) assigned when the flow or scope starts before any step writes the variable. Omit when the variable must be explicitly collected, typically when required is true.\"},\"required\":{\"type\":\"boolean\",\"description\":\"When true, the flow cannot proceed if this variable is unset or null. Used to enforce mandatory input collection before advancing to dependent steps.\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_FLOWSTEP: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.flowstep\",\n layer: \"navigation\",\n type: \"flowstep\",\n title: \"FlowStep\",\n requiredAttributes: [\"sequence\", \"route\"],\n optionalAttributes: [\"description\", \"required\", \"waitBehavior\"],\n attributeConstraints: {\"sequence\":{\"type\":\"integer\",\"description\":\"Integer position of the step within its NavigationFlow, starting at 1 and unique within the flow, that sets traversal order; always set it, taking the value from the array index or explicit step number in code.\"},\"route\":{\"type\":\"string\",\"description\":\"Identifier or path of the navigation.route the user visits at this step (e.g. 'checkout-payment' or '/checkout/payment'); set it to the route ID where one exists, otherwise to the literal path.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of what the user accomplishes at this step (e.g. 'enter shipping address'); set it when the route name alone does not convey the step's purpose.\"},\"required\":{\"type\":\"boolean\",\"description\":\"Boolean flag; true means the flow cannot advance past this step without completing it, and false means the step may be skipped. Set it to false for steps marked optional or skippable in code.\"},\"waitBehavior\":{\"type\":\"string\",\"enum\":[\"blocking\",\"non-blocking\",\"timeout\",\"async\"],\"description\":\"Execution model governing how the flow waits for this step to complete before advancing.\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_GUARDACTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.guardaction\",\n layer: \"navigation\",\n type: \"guardaction\",\n title: \"GuardAction\",\n requiredAttributes: [\"action\", \"target\", \"message\", \"preserveRoute\"],\n optionalAttributes: [],\n attributeConstraints: {\"action\":{\"type\":\"string\",\"enum\":[\"redirect\",\"block\",\"notify\",\"prompt\"],\"description\":\"The action taken when the guard denies access to the target route.\"},\"target\":{\"type\":\"string\",\"description\":\"Destination for redirect or replace actions \u2014 a Route ID (e.g., 'login') or an absolute URL. Ignored for block and notify actions.\"},\"message\":{\"type\":\"string\",\"description\":\"User-facing message shown when action is 'notify' or 'prompt', explaining why access was denied.\"},\"preserveRoute\":{\"type\":\"boolean\",\"description\":\"When true, the originally attempted route is stored (e.g., in session state) so the user can be redirected back to it after successfully authenticating.\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_GUARDCONDITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.guardcondition\",\n layer: \"navigation\",\n type: \"guardcondition\",\n title: \"GuardCondition\",\n requiredAttributes: [\"expression\", \"timeout\"],\n optionalAttributes: [\"async\"],\n attributeConstraints: {\"expression\":{\"type\":\"string\",\"description\":\"Boolean predicate expression to evaluate \u2014 may be a JavaScript expression, CEL expression, or logical reference to a named predicate (e.g., 'user.isAuthenticated && user.roles.includes(route.meta.roles)').\"},\"async\":{\"type\":\"boolean\",\"description\":\"When true, the expression is evaluated asynchronously (e.g., via an API call). The guard will await resolution up to the timeout limit before failing closed.\"},\"timeout\":{\"type\":\"integer\",\"description\":\"Maximum milliseconds to wait for an async condition to resolve. On timeout, the guard treats the condition as false (access denied) to fail securely.\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_NAVIGATIONFLOW: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.navigationflow\",\n layer: \"navigation\",\n type: \"navigationflow\",\n title: \"NavigationFlow\",\n requiredAttributes: [],\n optionalAttributes: [\"description\", \"source\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the user process the flow realizes, naming its purpose, its entry and exit steps and its completion outcome (e.g. 'Guest checkout from cart review to order confirmation'); set it whenever the flow's name alone does not convey its scope.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_NAVIGATIONGRAPH: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.navigationgraph\",\n layer: \"navigation\",\n type: \"navigationgraph\",\n title: \"NavigationGraph\",\n requiredAttributes: [\"version\", \"application\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"version\":{\"type\":\"string\",\"description\":\"Version identifier of this navigation model, such as a semver string matching the application release or route-table revision it reflects. Set it whenever the graph is extracted or published, so that changes to the routing structure can be tracked over time.\"},\"application\":{\"type\":\"string\",\"description\":\"Reference to the Layer 4 ApplicationComponent that this navigation graph belongs to, enabling cross-layer traceability from routing to application architecture.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the graph's scope: which application or router instance it covers and any notable boundaries, such as excluded micro-frontends or admin sub-apps. Set it when the scope is not obvious from the application reference.\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_NAVIGATIONGUARD: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.navigationguard\",\n layer: \"navigation\",\n type: \"navigationguard\",\n title: \"NavigationGuard\",\n requiredAttributes: [\"type\", \"order\"],\n optionalAttributes: [\"description\", \"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"auth\",\"role\",\"permission\",\"feature-flag\",\"custom\"],\"description\":\"Classification of the guard mechanism: auth (authentication check), role (role membership), permission (fine-grained permission), feature-flag (feature toggle), custom (arbitrary condition).\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the access policy the guard enforces and the routes or flows it protects, e.g. 'Blocks admin routes for users without the admin role'; set whenever the guard's purpose is not obvious from its type and name.\"},\"order\":{\"type\":\"integer\",\"description\":\"Non-negative integer execution priority among guards protecting the same route, evaluated lowest value first; derive it from registration order in the router (array position in canActivate, beforeEach registration sequence) and set it whenever more than one guard can apply.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_NAVIGATIONTRANSITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.navigationtransition\",\n layer: \"navigation\",\n type: \"navigationtransition\",\n title: \"NavigationTransition\",\n requiredAttributes: [\"from\", \"to\", \"trigger\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"from\":{\"type\":\"string\",\"description\":\"Identifier (Route ID or path pattern) of the source Route from which the transition starts; set to the route whose view or config contains the link, call, or redirect, or to '*' only when the transition can be fired from any route.\"},\"to\":{\"type\":\"string\",\"description\":\"Identifier (Route ID or path pattern, with parameter placeholders such as '/orders/:id') of the destination Route that becomes active once the transition completes; always set to a Route defined in the same NavigationGraph.\"},\"trigger\":{\"type\":\"string\",\"enum\":[\"user-click\",\"programmatic\",\"timeout\",\"browser-back\",\"redirect\"],\"description\":\"Mechanism that initiates the route transition: user-click (explicit user interaction), programmatic (code-driven), timeout (time-based), browser-back (browser history navigation), redirect (automatic server/guard redirect).\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of when and why the transition occurs, such as the UI control or business event that fires it; set when the trigger alone does not make the user intent clear.\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_ROUTE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.route\",\n layer: \"navigation\",\n type: \"route\",\n title: \"Route\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"title\", \"description\", \"source\"],\n attributeConstraints: {\"title\":{\"type\":\"string\",\"description\":\"Human-readable page title for the route, usually taken from route meta or document.title, used for headings, tab titles and default breadcrumb text. Set it when the route renders a user-visible page.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text prose explaining what the route displays and why a user reaches it. Set it when the path and title alone do not convey the route's purpose.\"},\"type\":{\"type\":\"string\",\"enum\":[\"public\",\"protected\",\"redirect\",\"alias\",\"lazy\"],\"description\":\"Access and loading classification: public (no auth), protected (requires auth), redirect (auto-forwards), alias (multiple paths to same component), lazy (code-split, loaded on demand).\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference\"}},\n};\n\nconst NODE_TYPE_NAVIGATION_ROUTEMETA: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"navigation.routemeta\",\n layer: \"navigation\",\n type: \"routemeta\",\n title: \"RouteMeta\",\n requiredAttributes: [\"roles\", \"permissions\", \"layout\", \"keepAlive\", \"transition\"],\n optionalAttributes: [\"requiresAuth\", \"breadcrumb\"],\n attributeConstraints: {\"requiresAuth\":{\"type\":\"boolean\",\"description\":\"Hint indicating this route requires an authenticated session; used by NavigationGuard nodes to enforce access control.\"},\"roles\":{\"type\":\"string\",\"description\":\"Comma-separated list of roles permitted to access this route (e.g., 'admin,editor'). Enforced via NavigationGuard.\"},\"permissions\":{\"type\":\"string\",\"description\":\"Comma-separated list of permission strings required for this route (e.g., 'reports:read,users:write'). Enforced via NavigationGuard.\"},\"layout\":{\"type\":\"string\",\"description\":\"Name or reference of the layout component to wrap this route's view (e.g., 'DefaultLayout', 'AuthLayout').\"},\"breadcrumb\":{\"type\":\"string\",\"description\":\"Breadcrumb label or reference to a BreadcrumbConfig node; used to render the route's position in the location trail.\"},\"keepAlive\":{\"type\":\"boolean\",\"description\":\"When true, the route's component instance is cached and reused across navigation events rather than destroyed and re-created.\"},\"transition\":{\"type\":\"string\",\"description\":\"Name of the CSS transition or animation applied when entering or leaving this route (e.g., 'fade', 'slide-left').\"}},\n};\n\nconst NODE_TYPE_APM_ALERT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.alert\",\n layer: \"apm\",\n type: \"alert\",\n title: \"Alert\",\n requiredAttributes: [\"severity\", \"condition\"],\n optionalAttributes: [\"evaluationInterval\", \"notificationChannels\", \"description\"],\n attributeConstraints: {\"severity\":{\"type\":\"string\",\"enum\":[\"critical\",\"warning\",\"info\"],\"description\":\"Alert severity level, controlling routing and escalation policy.\"},\"condition\":{\"type\":\"string\",\"description\":\"Threshold or expression that triggers the alert when true (e.g., 'p99_latency_ms > 500', 'error_rate > 0.01'). Syntax is monitoring-platform-specific.\"},\"evaluationInterval\":{\"type\":\"string\",\"description\":\"How frequently the condition is evaluated (e.g., '1m', '5m', '1h'), expressed as a duration string.\"},\"notificationChannels\":{\"type\":\"array\",\"items\":{\"type\":\"string\"},\"description\":\"Identifiers of notification destinations (e.g., Slack channel names, PagerDuty service keys, email addresses) that receive alerts when the condition fires.\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable description of what the alert detects and why it matters.\"}},\n};\n\nconst NODE_TYPE_APM_DASHBOARD: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.dashboard\",\n layer: \"apm\",\n type: \"dashboard\",\n title: \"Dashboard\",\n requiredAttributes: [\"tool\"],\n optionalAttributes: [\"description\", \"panels\"],\n attributeConstraints: {\"tool\":{\"type\":\"string\",\"enum\":[\"grafana\",\"datadog\",\"newrelic\",\"cloudwatch\",\"dynatrace\",\"custom\"],\"description\":\"Monitoring platform that hosts this dashboard.\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable description of what this dashboard monitors and its intended audience.\"},\"panels\":{\"type\":\"array\",\"description\":\"Ordered list of visualization panels on this dashboard. Each panel displays one signal or aggregation.\",\"items\":{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\",\"description\":\"Panel heading shown in the dashboard UI.\"},\"signalType\":{\"type\":\"string\",\"enum\":[\"metric\",\"trace\",\"log\",\"alert\"],\"description\":\"The APM signal type visualized by this panel.\"},\"visualizationType\":{\"type\":\"string\",\"enum\":[\"timeseries\",\"gauge\",\"bar\",\"table\",\"heatmap\",\"logs\",\"traces\",\"stat\"],\"description\":\"Visualization form used to render the panel data.\"}},\"required\":[\"title\",\"signalType\"],\"additionalProperties\":false}}},\n};\n\nconst NODE_TYPE_APM_EXPORTERCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.exporterconfig\",\n layer: \"apm\",\n type: \"exporterconfig\",\n title: \"ExporterConfig\",\n requiredAttributes: [\"type\", \"endpoint\"],\n optionalAttributes: [\"enabled\", \"protocol\", \"authType\", \"compression\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"otlp\",\"jaeger\",\"zipkin\",\"prometheus\",\"stdout\",\"logging\"],\"description\":\"The type of exporter\"},\"enabled\":{\"type\":\"boolean\",\"description\":\"Whether this exporter is active and receives telemetry; set to false to keep the configuration defined but disabled (e.g. per environment), defaulting to true when omitted.\"},\"endpoint\":{\"type\":\"string\",\"description\":\"URL or host:port of the export destination (e.g. 'http://otel-collector:4318/v1/traces' or 'collector:4317'); for pull-based exporters such as Prometheus it is the local listen address scraped by the backend, and for stdout/logging it may be 'stdout'.\"},\"protocol\":{\"type\":\"string\",\"description\":\"Wire transport and encoding used to deliver data, using OTel values 'grpc', 'http/protobuf' or 'http/json' for OTLP, or the exporter-native transport (e.g. 'thrift' for Jaeger); set whenever the exporter supports more than one protocol.\"},\"authType\":{\"type\":\"string\",\"enum\":[\"none\",\"api_key\",\"bearer\",\"tls_client_cert\",\"basic\"],\"description\":\"Authentication method used for the export destination\"},\"compression\":{\"type\":\"string\",\"enum\":[\"none\",\"gzip\"],\"description\":\"Compression algorithm for OTLP export payloads. Applies to OTLP exporters only.\"}},\n};\n\nconst NODE_TYPE_APM_INSTRUMENTATIONCONFIG: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.instrumentationconfig\",\n layer: \"apm\",\n type: \"instrumentationconfig\",\n title: \"InstrumentationConfig\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"libraryName\", \"enabled\", \"description\", \"instrumentationType\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"description\":\"Category of the instrumented target, as a short lowercase label such as 'http', 'database', 'messaging', 'rpc', 'framework' or 'runtime'; set it on every instance to group instrumentation by technology.\"},\"libraryName\":{\"type\":\"string\",\"description\":\"OTel InstrumentationScope-compatible library name identifying the instrumented library or framework (e.g., 'io.opentelemetry.spring-webmvc-6.0'). Used to correlate this config with telemetry emitted under the matching InstrumentationScope.\"},\"enabled\":{\"type\":\"boolean\",\"description\":\"Whether this instrumentation is active at runtime. Treat it as true when absent, and set it to false when the library is explicitly disabled (e.g., OTEL_INSTRUMENTATION_FS_ENABLED=false).\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what this instrumentation captures and any notable options applied, such as ignored routes or captured headers. Set it when the libraryName alone does not convey intent.\"},\"instrumentationType\":{\"type\":\"string\",\"enum\":[\"automatic\",\"manual\",\"both\"],\"description\":\"Whether instrumentation is applied automatically, manually, or both\"}},\n};\n\nconst NODE_TYPE_APM_INSTRUMENTATIONSCOPE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.instrumentationscope\",\n layer: \"apm\",\n type: \"instrumentationscope\",\n title: \"InstrumentationScope\",\n requiredAttributes: [\"droppedAttributesCount\"],\n optionalAttributes: [\"version\", \"schemaUrl\", \"attributes\"],\n attributeConstraints: {\"version\":{\"type\":\"string\",\"description\":\"Version string of the instrumenting library or module (typically semver, e.g. '1.4.0'), as passed to getTracer/getMeter/getLogger; set whenever the code supplies a version.\"},\"schemaUrl\":{\"type\":\"string\",\"description\":\"URL of the OpenTelemetry semantic-conventions schema that this scope's telemetry conforms to (e.g. 'https://opentelemetry.io/schemas/1.24.0'); set when the code passes a schemaUrl on acquisition.\"},\"droppedAttributesCount\":{\"type\":\"integer\",\"description\":\"Non-negative integer count of scope attributes discarded because of attribute limits; set to 0 when modelling a scope definition rather than observed runtime data.\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_LOGCONFIGURATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.logconfiguration\",\n layer: \"apm\",\n type: \"logconfiguration\",\n title: \"LogConfiguration\",\n requiredAttributes: [\"serviceName\"],\n optionalAttributes: [\"minimumSeverity\"],\n attributeConstraints: {\"serviceName\":{\"type\":\"string\",\"description\":\"Logical name of the service whose log pipeline this configuration sets up, given as a plain string matching the Resource's service.name (e.g. 'checkout-api'); set it to tie the configuration to its emitting service.\"},\"minimumSeverity\":{\"type\":\"string\",\"enum\":[\"TRACE\",\"DEBUG\",\"INFO\",\"WARN\",\"ERROR\",\"FATAL\"],\"description\":\"Minimum OTel SeverityText level for log records to be emitted\"}},\n};\n\nconst NODE_TYPE_APM_LOGPROCESSOR: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.logprocessor\",\n layer: \"apm\",\n type: \"logprocessor\",\n title: \"LogProcessor\",\n requiredAttributes: [\"type\"],\n optionalAttributes: [\"order\", \"enabled\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"simple\",\"batch\",\"custom\"],\"description\":\"OTel log record processor type (simple: synchronous, batch: asynchronous buffered)\"},\"order\":{\"type\":\"integer\",\"description\":\"Ascending integer position of this processor in its LoggerProvider or pipeline chain, where lower values run first; set it when more than one processor is registered so that invocation order is explicit.\"},\"enabled\":{\"type\":\"boolean\",\"description\":\"Boolean indicating whether the processor is active in the pipeline (default true); set it to false when the processor is defined in configuration but deliberately not registered or is disabled by a feature flag.\"}},\n};\n\nconst NODE_TYPE_APM_LOGRECORD: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.logrecord\",\n layer: \"apm\",\n type: \"logrecord\",\n title: \"LogRecord\",\n requiredAttributes: [\"timeUnixNano\", \"observedTimeUnixNano\", \"severityNumber\", \"body\", \"flags\", \"droppedAttributesCount\"],\n optionalAttributes: [\"severityText\", \"attributes\"],\n attributeConstraints: {\"timeUnixNano\":{\"type\":\"string\",\"description\":\"Time the described event occurred, given as nanoseconds since the Unix epoch encoded as a decimal string; set it when the emitting source supplies an event time, otherwise use '0' (unknown).\"},\"observedTimeUnixNano\":{\"type\":\"string\",\"description\":\"Time the record was observed by the collection pipeline (SDK or collector), given as nanoseconds since the Unix epoch encoded as a decimal string; it is normally set by the pipeline and falls back to timeUnixNano when no separate observation time exists.\"},\"severityNumber\":{\"type\":\"string\",\"description\":\"OTel numeric severity from 1 to 24 (1\u20134 TRACE, 5\u20138 DEBUG, 9\u201312 INFO, 13\u201316 WARN, 17\u201320 ERROR, 21\u201324 FATAL), with 0 meaning unspecified, written here as a decimal string; set it to the level used by the emitting call.\"},\"severityText\":{\"type\":\"string\",\"description\":\"Original severity label as produced by the source logging framework (e.g., 'WARNING', 'err'); set it to preserve the native level name alongside severityNumber.\"},\"body\":{\"type\":\"string\",\"description\":\"The log message or event payload, typically the message template (e.g., 'Order {orderId} created') or a serialized structured body; set it to the stable content that identifies this record.\"},\"flags\":{\"type\":\"string\",\"description\":\"W3C trace flags byte from the span context active at emission, as a hex string (e.g., '01' = sampled); set it when the record is correlated with a trace, otherwise use '00'.\"},\"droppedAttributesCount\":{\"type\":\"integer\",\"description\":\"Number of attributes discarded because of attribute count or length limits, as a non-negative integer; use 0 for modelled records unless limits are known to truncate them.\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_METRICCONFIGURATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.metricconfiguration\",\n layer: \"apm\",\n type: \"metricconfiguration\",\n title: \"MetricConfiguration\",\n requiredAttributes: [\"serviceName\"],\n optionalAttributes: [\"exportIntervalMillis\", \"exportTimeoutMillis\", \"cardinalityLimit\", \"exemplarFilter\", \"exemplarReservoirSize\"],\n attributeConstraints: {\"serviceName\":{\"type\":\"string\",\"description\":\"Logical service name (matching the Resource service.name) identifying which service's MeterProvider this configuration belongs to; set it so the configuration can be correlated with the service's Resource.\"},\"exportIntervalMillis\":{\"type\":\"integer\",\"description\":\"Interval in milliseconds between successive collections and exports by the periodic metric reader (OTel default 60000); set it when the code or OTEL_METRIC_EXPORT_INTERVAL overrides the default.\"},\"exportTimeoutMillis\":{\"type\":\"integer\",\"description\":\"Maximum time allowed for a metric export to complete\"},\"cardinalityLimit\":{\"type\":\"integer\",\"description\":\"Maximum number of unique metric time series per instrument\"},\"exemplarFilter\":{\"type\":\"string\",\"enum\":[\"always_on\",\"always_off\",\"trace_based\"],\"description\":\"OTel exemplar filter controlling which exemplars are recorded\"},\"exemplarReservoirSize\":{\"type\":\"integer\",\"description\":\"Maximum number of exemplars retained per instrument per collection cycle. Used in conjunction with exemplarFilter to control exemplar sampling volume.\"}},\n};\n\nconst NODE_TYPE_APM_METRICINSTRUMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.metricinstrument\",\n layer: \"apm\",\n type: \"metricinstrument\",\n title: \"MetricInstrument\",\n requiredAttributes: [\"type\", \"unit\"],\n optionalAttributes: [\"description\", \"enabled\", \"source\"],\n attributeConstraints: {\"type\":{\"type\":\"string\",\"enum\":[\"Counter\",\"UpDownCounter\",\"Histogram\",\"Gauge\",\"ObservableCounter\",\"ObservableUpDownCounter\",\"ObservableGauge\"],\"description\":\"OTel instrument type: synchronous (Counter, UpDownCounter, Histogram, Gauge) or asynchronous/observable (ObservableCounter, ObservableUpDownCounter, ObservableGauge)\"},\"unit\":{\"type\":\"string\",\"description\":\"The instrument's unit of measure, as a UCUM case-sensitive string per OTel semantic conventions (e.g. 'ms', 's', 'By', '1', '{request}'). Copy it from the unit argument at instrument creation, using a curly-brace annotation for counts of things.\"},\"description\":{\"type\":\"string\",\"description\":\"Human-readable text explaining what the instrument measures, taken from the description argument or the Prometheus help string at creation. Set it whenever the code provides one.\"},\"enabled\":{\"type\":\"boolean\",\"description\":\"Whether measurements from this instrument are currently recorded and exported. Set it to false when the instrument is disabled by a feature flag, configuration, or an OTel View with Drop aggregation.\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference for code-defined metrics\"}},\n};\n\nconst NODE_TYPE_APM_RESOURCE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.resource\",\n layer: \"apm\",\n type: \"resource\",\n title: \"Resource\",\n requiredAttributes: [\"droppedAttributesCount\"],\n optionalAttributes: [\"schemaUrl\", \"serviceName\", \"serviceVersion\", \"deploymentEnvironment\", \"attributes\"],\n attributeConstraints: {\"schemaUrl\":{\"type\":\"string\",\"description\":\"URL of the OpenTelemetry semantic-conventions schema version that the resource attribute keys follow (e.g. 'https://opentelemetry.io/schemas/1.21.0'); set it when the resource or its detectors declare an explicit schema version.\"},\"droppedAttributesCount\":{\"type\":\"integer\",\"description\":\"Non-negative integer count of resource attributes discarded because of attribute limits or invalid values; set it to 0 when all attributes were retained.\"},\"serviceName\":{\"type\":\"string\",\"description\":\"OTel Resource semantic convention: logical name of the service (service.name)\"},\"serviceVersion\":{\"type\":\"string\",\"description\":\"OTel Resource semantic convention: version of the service (service.version)\"},\"deploymentEnvironment\":{\"type\":\"string\",\"description\":\"OTel Resource semantic convention: deployment environment (deployment.environment)\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_SPAN: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.span\",\n layer: \"apm\",\n type: \"span\",\n title: \"Span\",\n requiredAttributes: [\"traceId\", \"spanId\", \"traceState\", \"parentSpanId\", \"spanKind\", \"startTimeUnixNano\", \"endTimeUnixNano\", \"droppedAttributesCount\", \"droppedEventsCount\", \"droppedLinksCount\"],\n optionalAttributes: [\"statusCode\", \"statusMessage\", \"attributes\"],\n attributeConstraints: {\"traceId\":{\"type\":\"string\",\"description\":\"The 16-byte trace identifier shared by all spans in a trace, written as 32 lowercase hex characters; set it only when modelling a captured span instance, otherwise leave it empty.\"},\"spanId\":{\"type\":\"string\",\"description\":\"The 8-byte identifier unique to this span within its trace, written as 16 lowercase hex characters; populate it from captured telemetry, not for design-time definitions.\"},\"traceState\":{\"type\":\"string\",\"description\":\"The W3C tracestate header value carrying vendor-specific key=value pairs propagated with the span context; use an empty string when no vendor state is propagated.\"},\"parentSpanId\":{\"type\":\"string\",\"description\":\"The spanId (16 hex characters) of the parent span in the same trace; use an empty string for a root span.\"},\"spanKind\":{\"type\":\"string\",\"enum\":[\"INTERNAL\",\"SERVER\",\"CLIENT\",\"PRODUCER\",\"CONSUMER\"],\"description\":\"OTel SpanKind indicating the span's relationship to the calling and receiving system\"},\"startTimeUnixNano\":{\"type\":\"string\",\"description\":\"The time the operation started, in nanoseconds since the Unix epoch, encoded as a decimal string of a uint64.\"},\"endTimeUnixNano\":{\"type\":\"string\",\"description\":\"The time the operation ended, in nanoseconds since the Unix epoch, encoded as a decimal string of a uint64; it must be greater than or equal to startTimeUnixNano.\"},\"droppedAttributesCount\":{\"type\":\"integer\",\"description\":\"The number of attributes the SDK discarded because of attribute count or length limits; set it to 0 when none were dropped.\"},\"droppedEventsCount\":{\"type\":\"string\",\"description\":\"The number of span events the SDK discarded because of the per-span event limit, as a non-negative integer written as a decimal string; set it to 0 when none were dropped.\"},\"droppedLinksCount\":{\"type\":\"string\",\"description\":\"The number of span links the SDK discarded because of the per-span link limit, as a non-negative integer written as a decimal string; set it to 0 when none were dropped.\"},\"statusCode\":{\"type\":\"string\",\"enum\":[\"UNSET\",\"OK\",\"ERROR\"],\"description\":\"OTel span status code. UNSET = not explicitly set by instrumentation; OK = explicitly successful; ERROR = explicitly failed. Once set to OK, cannot be overridden to ERROR.\"},\"statusMessage\":{\"type\":\"string\",\"description\":\"Optional human-readable error message, used when statusCode is ERROR.\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_SPANEVENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.spanevent\",\n layer: \"apm\",\n type: \"spanevent\",\n title: \"SpanEvent\",\n requiredAttributes: [\"timeUnixNano\", \"droppedAttributesCount\"],\n optionalAttributes: [\"attributes\"],\n attributeConstraints: {\"timeUnixNano\":{\"type\":\"string\",\"description\":\"Instant at which the event occurred, as nanoseconds since the Unix epoch encoded as a decimal string (OTLP fixed64). It must fall within the parent span's start and end times; set it explicitly only when the event time differs from the moment addEvent was called.\"},\"droppedAttributesCount\":{\"type\":\"integer\",\"description\":\"Number of attributes discarded from this event because SDK attribute count or length limits were exceeded; use 0 when no attributes were dropped.\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_SPANLINK: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.spanlink\",\n layer: \"apm\",\n type: \"spanlink\",\n title: \"SpanLink\",\n requiredAttributes: [\"traceId\", \"spanId\", \"droppedAttributesCount\"],\n optionalAttributes: [\"traceState\", \"attributes\"],\n attributeConstraints: {\"traceId\":{\"type\":\"string\",\"description\":\"W3C trace ID of the linked span, a 32-character lowercase hex string (16 bytes); always set, and it may differ from the owning span's trace.\"},\"spanId\":{\"type\":\"string\",\"description\":\"Span ID of the linked span, a 16-character lowercase hex string (8 bytes); always set to identify the exact target span.\"},\"traceState\":{\"type\":\"string\",\"description\":\"W3C tracestate value (comma-separated vendor key=value list) carried by the linked span context; set only when the linked context propagated a non-empty tracestate.\"},\"droppedAttributesCount\":{\"type\":\"integer\",\"description\":\"Number of attributes on this link that the SDK discarded because of attribute limits (e.g., the per-link attribute count limit); set to 0 when none were dropped.\"},\"attributes\":{\"type\":\"object\",\"description\":\"Key-value pairs of observability metadata attached to this signal, per the OpenTelemetry attribute specification. Keys are strings; values may be strings, booleans, integers, floats, or arrays thereof.\",\"additionalProperties\":true}},\n};\n\nconst NODE_TYPE_APM_TRACECONFIGURATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"apm.traceconfiguration\",\n layer: \"apm\",\n type: \"traceconfiguration\",\n title: \"TraceConfiguration\",\n requiredAttributes: [],\n optionalAttributes: [\"source\", \"samplerType\", \"propagators\", \"samplerParam\"],\n attributeConstraints: {\"source\":{\"type\":\"object\",\"description\":\"Source code reference for trace configuration\"},\"samplerType\":{\"type\":\"string\",\"enum\":[\"always_on\",\"always_off\",\"trace_id_ratio\",\"parent_based_always_on\",\"parent_based_always_off\",\"parent_based_trace_id_ratio\"],\"description\":\"OTel SDK sampler type controlling which traces are recorded\"},\"propagators\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"enum\":[\"tracecontext\",\"baggage\",\"b3\",\"b3multi\",\"xray\",\"jaeger\"]},\"description\":\"OTel context propagation formats enabled for this trace configuration\"},\"samplerParam\":{\"type\":\"number\",\"minimum\":0,\"maximum\":1,\"description\":\"Sampling rate for ratio-based samplers (trace_id_ratio, parent_based_trace_id_ratio). Value between 0.0 (sample none) and 1.0 (sample all). Ignored for non-ratio sampler types.\"}},\n};\n\nconst NODE_TYPE_TESTING_CONTEXTVARIATION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.contextvariation\",\n layer: \"testing\",\n type: \"contextvariation\",\n title: \"ContextVariation\",\n requiredAttributes: [\"contextType\"],\n optionalAttributes: [\"description\", \"environmentFactors\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of the execution condition this variation represents: its purpose, scope and how it differs from other contexts applied to the same target, such as 'peak-load run at 500 rps against staging'. Set it whenever the contextType alone does not identify the context uniquely.\"},\"contextType\":{\"type\":\"string\",\"enum\":[\"functional\",\"load\",\"security\",\"regression\",\"smoke\",\"exploratory\"],\"description\":\"The category of test context this variation represents\"},\"environmentFactors\":{\"type\":\"array\",\"description\":\"References EnvironmentFactor nodes specifying the concrete environmental constraints (OS, locale, network, hardware, dependency versions) that define this context variation.\"}},\n};\n\nconst NODE_TYPE_TESTING_COVERAGEEXCLUSION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.coverageexclusion\",\n layer: \"testing\",\n type: \"coverageexclusion\",\n title: \"CoverageExclusion\",\n requiredAttributes: [\"reason\", \"riskAccepted\", \"approvedBy\"],\n optionalAttributes: [\"description\", \"affectedTargetRef\", \"dateApproved\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of what is excluded and the scope of the exclusion; set it when the reason alone does not make the boundary of the excluded item clear.\"},\"reason\":{\"type\":\"string\",\"description\":\"Plain-language justification for excluding the item from coverage (e.g. 'third-party code', 'deprecated endpoint scheduled for removal', 'not testable in CI environment'); always required.\"},\"riskAccepted\":{\"type\":\"boolean\",\"description\":\"True when the approver has explicitly accepted the residual risk of the item going untested. False when the exclusion rests on the item having no meaningful risk (e.g. dead or generated code).\"},\"approvedBy\":{\"type\":\"string\",\"description\":\"Name, role or identity reference of the person or body accountable for authorising the exclusion (e.g. 'QA Lead', 'jane.doe', 'Change Advisory Board'); always required.\"},\"affectedTargetRef\":{\"type\":\"string\",\"description\":\"ID of the testing.testcoveragetarget or testing.coveragerequirement being excluded from coverage\"},\"dateApproved\":{\"type\":\"string\",\"format\":\"date\",\"description\":\"ISO date when the exclusion was formally approved, supporting audit trail requirements\"}},\n};\n\nconst NODE_TYPE_TESTING_COVERAGEGAP: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.coveragegap\",\n layer: \"testing\",\n type: \"coveragegap\",\n title: \"CoverageGap\",\n requiredAttributes: [\"severity\", \"affectedRequirements\"],\n optionalAttributes: [\"description\", \"remediationStatus\", \"targetRef\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what is not covered (for example, missing partitions, contexts or outcome categories) and how the gap was detected. Set it whenever the severity and affected requirement alone do not make the gap clear.\"},\"severity\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\"],\"description\":\"Risk level of leaving this gap unaddressed\"},\"affectedRequirements\":{\"type\":\"string\",\"description\":\"Identifier or reference to the requirement(s) that remain uncovered due to this gap.\"},\"remediationStatus\":{\"type\":\"string\",\"enum\":[\"open\",\"deferred\",\"resolved\",\"accepted-risk\"],\"description\":\"Lifecycle state of this coverage gap.\"},\"targetRef\":{\"type\":\"string\",\"description\":\"ID of the testing.testcoveragetarget where this gap was identified\"}},\n};\n\nconst NODE_TYPE_TESTING_COVERAGEREQUIREMENT: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.coveragerequirement\",\n layer: \"testing\",\n type: \"coveragerequirement\",\n title: \"CoverageRequirement\",\n requiredAttributes: [\"coverageCriteria\"],\n optionalAttributes: [\"description\", \"priority\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text statement of what this requirement demands for its target, naming the partitions, contexts or outcomes in scope and any rationale. Set it whenever the coverageCriteria value alone does not make the scope evident.\"},\"coverageCriteria\":{\"type\":\"string\",\"enum\":[\"all-partitions\",\"boundary-values\",\"pairwise\",\"each-choice\",\"MC/DC\",\"path-coverage\"],\"description\":\"The coverage strategy defining which combinations of partition values must be exercised\"},\"priority\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\"],\"description\":\"Relative importance of fulfilling this coverage requirement\"}},\n};\n\nconst NODE_TYPE_TESTING_COVERAGESUMMARY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.coveragesummary\",\n layer: \"testing\",\n type: \"coveragesummary\",\n title: \"CoverageSummary\",\n requiredAttributes: [\"totalTargets\", \"totalRequirements\", \"totalSketches\"],\n optionalAttributes: [\"modelRef\", \"generatedAt\"],\n attributeConstraints: {\"modelRef\":{\"type\":\"string\",\"description\":\"ID of the testing.testcoveragemodel this summary aggregates\"},\"generatedAt\":{\"type\":\"string\",\"description\":\"ISO 8601 date-time at which the summary was computed; set it every time the summary is regenerated so stale reports can be detected.\"},\"totalTargets\":{\"type\":\"integer\",\"description\":\"Non-negative count of TestCoverageTarget nodes in the referenced model at generation time, including targets that have exclusions or gaps.\"},\"totalRequirements\":{\"type\":\"integer\",\"description\":\"Non-negative count of CoverageRequirement nodes across all targets in the referenced model at generation time.\"},\"totalSketches\":{\"type\":\"integer\",\"description\":\"Non-negative count of TestCaseSketch nodes across all targets in the model regardless of status; this equals the sum of sketchCount over the model's TargetCoverageSummary records.\"}},\n};\n\nconst NODE_TYPE_TESTING_ENVIRONMENTFACTOR: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.environmentfactor\",\n layer: \"testing\",\n type: \"environmentfactor\",\n title: \"EnvironmentFactor\",\n requiredAttributes: [\"factorType\", \"value\"],\n optionalAttributes: [\"expectedRange\", \"testImpact\", \"description\"],\n attributeConstraints: {\"factorType\":{\"type\":\"string\",\"enum\":[\"os\",\"network\",\"locale\",\"hardware\",\"dependency-version\"],\"description\":\"Category of environmental variable being documented.\"},\"value\":{\"type\":\"string\",\"description\":\"The specific value or constraint for this factor (e.g., 'Ubuntu 22.04', 'latency < 100ms', 'en-US', 'Node.js 20.x').\"},\"expectedRange\":{\"type\":\"string\",\"description\":\"Acceptable range or set of values for this factor in the test environment (e.g., 'latency 50-200ms', 'Ubuntu 20.04 or 22.04').\"},\"testImpact\":{\"type\":\"string\",\"description\":\"Description of how variations in this factor are expected to affect test behavior or outcomes.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what this environmental factor is and why it is pinned for testing, for example 'Server-side timezone forced to UTC to make date-boundary tests deterministic'. Set it whenever the factorType and value alone do not make the factor's purpose clear.\"}},\n};\n\nconst NODE_TYPE_TESTING_INPUTPARTITIONSELECTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.inputpartitionselection\",\n layer: \"testing\",\n type: \"inputpartitionselection\",\n title: \"InputPartitionSelection\",\n requiredAttributes: [\"partitionRef\", \"coverValues\", \"coverAllCategories\", \"excludeValues\"],\n optionalAttributes: [],\n attributeConstraints: {\"partitionRef\":{\"type\":\"string\",\"description\":\"ID of the testing.inputspacepartition from which values are being selected for coverage.\"},\"coverValues\":{\"type\":\"string\",\"description\":\"Comma-separated labels or IDs of specific partition values to include in coverage. Ignored when coverAllCategories is true.\"},\"coverAllCategories\":{\"type\":\"boolean\",\"description\":\"When true, all partition values are included in coverage except those listed in excludeValues. Overrides coverValues.\"},\"excludeValues\":{\"type\":\"string\",\"description\":\"Comma-separated labels or IDs of partition values to exclude from coverage. Applied when coverAllCategories is true to carve out specific values.\"}},\n};\n\nconst NODE_TYPE_TESTING_INPUTSELECTION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.inputselection\",\n layer: \"testing\",\n type: \"inputselection\",\n title: \"InputSelection\",\n requiredAttributes: [\"partitionRef\", \"selectedValue\", \"concreteValue\", \"valueSource\"],\n optionalAttributes: [],\n attributeConstraints: {\"partitionRef\":{\"type\":\"string\",\"description\":\"ID of the testing.inputspacepartition whose input field this binding supplies a value for; set it on every selection so the concrete value can be traced to its input dimension.\"},\"selectedValue\":{\"type\":\"string\",\"description\":\"Label or ID of the testing.partitionvalue (equivalence class) chosen from that partition for this test case, e.g. 'boundary-max' or 'null-empty'.\"},\"concreteValue\":{\"type\":\"string\",\"description\":\"The exact datum the test submits for the field, serialized as a string (literal, JSON fragment, or fixture key), e.g. '255', '\\\"\\\"', or 'fixtures/user_admin.json'.\"},\"valueSource\":{\"type\":\"string\",\"enum\":[\"manual\",\"generated\",\"data-driven\",\"fixture\"],\"description\":\"How the concrete value was obtained: manually authored, algorithmically generated, drawn from a data set, or loaded from a test fixture\"}},\n};\n\nconst NODE_TYPE_TESTING_INPUTSPACEPARTITION: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.inputspacepartition\",\n layer: \"testing\",\n type: \"inputspacepartition\",\n title: \"InputSpacePartition\",\n requiredAttributes: [\"fieldRef\", \"presenceRule\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of the input dimension being partitioned and the basis on which its equivalence classes were derived (e.g. specification rule, data type limits); set whenever the partitioning rationale is not obvious from the field name.\"},\"fieldRef\":{\"type\":\"string\",\"description\":\"Cross-layer ID of the input field this partition divides, typically an api.parameter, data-model.schemaproperty, data-model.jsonschema or data-store.collection element; always set to the single field whose value domain is being partitioned.\"},\"presenceRule\":{\"type\":\"string\",\"enum\":[\"required\",\"optional\",\"conditional\",\"forbidden\",\"mutually-exclusive\"],\"description\":\"Whether this input field must be present in test inputs for this partition\"}},\n};\n\nconst NODE_TYPE_TESTING_OUTCOMECATEGORY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.outcomecategory\",\n layer: \"testing\",\n type: \"outcomecategory\",\n title: \"OutcomeCategory\",\n requiredAttributes: [\"outcomeType\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of what observable behaviour qualifies as this outcome for the target, e.g. 'HTTP 422 with field-level error list'. Set it whenever the outcomeType alone does not identify the signal tests should check.\"},\"outcomeType\":{\"type\":\"string\",\"enum\":[\"success\",\"validation-error\",\"authorization-error\",\"not-found\",\"server-error\",\"exception\",\"timeout\"],\"description\":\"The class of observable outcome this category represents, used to group test cases by expected result type for coverage analysis and reporting.\"}},\n};\n\nconst NODE_TYPE_TESTING_PARTITIONDEPENDENCY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.partitiondependency\",\n layer: \"testing\",\n type: \"partitiondependency\",\n title: \"PartitionDependency\",\n requiredAttributes: [\"dependsOnPartition\", \"dependsOnValue\", \"effect\", \"affectedValues\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"dependsOnPartition\":{\"type\":\"string\",\"description\":\"ID of the testing.inputspacepartition that triggers this dependency\"},\"dependsOnValue\":{\"type\":\"string\",\"description\":\"Label or ID of the testing.partitionvalue that activates this dependency\"},\"effect\":{\"type\":\"string\",\"enum\":[\"excludes\",\"requires\",\"restricts-to\",\"modifies-range\"],\"description\":\"How the dependency affects the related partition values\"},\"affectedValues\":{\"type\":\"string\",\"description\":\"Comma-separated labels or IDs of the partition values in the dependent field whose availability is modified by this dependency (e.g., values that are excluded, required, or restricted when the trigger value is selected).\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text explanation of the business or technical reason the trigger value constrains the affected values (e.g. 'guest accounts cannot hold admin role'); set whenever the rule is not self-evident from effect and affectedValues.\"}},\n};\n\nconst NODE_TYPE_TESTING_PARTITIONVALUE: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.partitionvalue\",\n layer: \"testing\",\n type: \"partitionvalue\",\n title: \"PartitionValue\",\n requiredAttributes: [\"label\", \"constraint\", \"constraintExpression\", \"category\", \"representativeValue\"],\n optionalAttributes: [\"description\"],\n attributeConstraints: {\"label\":{\"type\":\"string\",\"description\":\"Short identifier for the class, unique within its parent partition (e.g. 'empty-string', 'above-max'); other nodes cite it in coverValues, excludeValues and affectedValues, so it is always set.\"},\"description\":{\"type\":\"string\",\"description\":\"Optional free-text explanation of why values in this class are expected to behave alike and what behaviour they probe; set it when the label and constraint alone do not make the intent clear.\"},\"constraint\":{\"type\":\"string\",\"description\":\"Human-readable description of the condition this partition boundary represents (e.g., 'must be between 0 and 100', 'must not be null or empty').\"},\"constraintExpression\":{\"type\":\"string\",\"description\":\"Machine-evaluable expression encoding the partition boundary condition (e.g., a regex pattern, JSONPath predicate, or comparison expression such as 'value >= 0 && value <= 100').\"},\"category\":{\"type\":\"string\",\"enum\":[\"valid\",\"invalid\",\"boundary-valid\",\"boundary-invalid\",\"null-empty\",\"special-character\"],\"description\":\"Equivalence partition category for this value\"},\"representativeValue\":{\"type\":\"string\",\"description\":\"One abstract value, written as a string, that stands for the whole class in test design (e.g. '101' for above-max, '' for null-empty); it is distinct from the concrete datum later bound in InputSelection.concreteValue.\"}},\n};\n\nconst NODE_TYPE_TESTING_TARGETCOVERAGESUMMARY: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.targetcoveragesummary\",\n layer: \"testing\",\n type: \"targetcoveragesummary\",\n title: \"TargetCoverageSummary\",\n requiredAttributes: [\"targetRef\", \"sketchCount\", \"implementedCount\", \"automatedCount\"],\n optionalAttributes: [\"coveragePercentage\"],\n attributeConstraints: {\"targetRef\":{\"type\":\"string\",\"description\":\"ID of the testing.testcoveragetarget this summary covers\"},\"sketchCount\":{\"type\":\"integer\",\"description\":\"Total number of TestCaseSketch nodes for this target (design-time count; superset of implementedCount)\"},\"implementedCount\":{\"type\":\"integer\",\"description\":\"Number of sketches with a concrete test case implementation (must be \u2264 sketchCount; superset of automatedCount)\"},\"automatedCount\":{\"type\":\"integer\",\"description\":\"Number of implemented test cases that are automated (must be \u2264 implementedCount)\"},\"coveragePercentage\":{\"type\":\"number\",\"description\":\"Percentage of coverage requirements with at least one implemented test case sketch (0\u2013100)\"}},\n};\n\nconst NODE_TYPE_TESTING_TARGETINPUTFIELD: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.targetinputfield\",\n layer: \"testing\",\n type: \"targetinputfield\",\n title: \"TargetInputField\",\n requiredAttributes: [\"fieldRef\", \"partitionRef\"],\n optionalAttributes: [\"description\", \"relevance\"],\n attributeConstraints: {\"fieldRef\":{\"type\":\"string\",\"description\":\"ID of the referenced field element in the API layer (e.g., an API parameter) or Data Model layer (e.g., a data-model property)\"},\"partitionRef\":{\"type\":\"string\",\"description\":\"ID of the testing.inputspacepartition that defines the equivalence classes or boundary values for this input field.\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text note on why this field matters for testing the target, such as validation rules or known defect history. Set it when the field's relevance or chosen partition is not self-evident from fieldRef and partitionRef.\"},\"relevance\":{\"type\":\"string\",\"enum\":[\"required\",\"optional\",\"conditional\",\"not-applicable\"],\"description\":\"Whether this field must be included in test case input specifications\"}},\n};\n\nconst NODE_TYPE_TESTING_TESTCASESKETCH: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.testcasesketch\",\n layer: \"testing\",\n type: \"testcasesketch\",\n title: \"TestCaseSketch\",\n requiredAttributes: [\"status\"],\n optionalAttributes: [\"description\", \"inputSelections\", \"implementationFormat\", \"source\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the scenario this sketch exercises: preconditions, the input combination chosen and the expected observable outcome. Set it whenever the name alone does not make the intent clear.\"},\"status\":{\"type\":\"string\",\"enum\":[\"draft\",\"under-review\",\"approved\",\"implemented\",\"automated\",\"deprecated\"],\"description\":\"Lifecycle status of the test case sketch\"},\"inputSelections\":{\"type\":\"array\",\"description\":\"References InputPartitionSelection nodes specifying which partition values this sketch exercises.\"},\"implementationFormat\":{\"type\":\"string\",\"enum\":[\"manual\",\"automated\",\"semi-automated\",\"exploratory\"],\"description\":\"How the test case will be executed\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference to the test case implementation\"}},\n};\n\nconst NODE_TYPE_TESTING_TESTCOVERAGEMODEL: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.testcoveragemodel\",\n layer: \"testing\",\n type: \"testcoveragemodel\",\n title: \"TestCoverageModel\",\n requiredAttributes: [\"version\", \"application\"],\n optionalAttributes: [\"description\", \"source\"],\n attributeConstraints: {\"version\":{\"type\":\"string\",\"description\":\"Version identifier of this coverage model, as a semantic version or date stamp (e.g. '1.2.0' or '2024-05-01'); increment it whenever targets, requirements or exclusions are added, removed or changed.\"},\"application\":{\"type\":\"string\",\"description\":\"Cross-layer reference ID to the application or API element (application layer or api layer) being covered by this model\"},\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the model's scope, the application release or test level it addresses, and any overall test approach; set it whenever the scope is not obvious from the application reference.\"},\"source\":{\"type\":\"object\",\"description\":\"Provenance information indicating the origin of this model (e.g., manually authored, imported from OpenAPI, or generated from source artifacts)\"}},\n};\n\nconst NODE_TYPE_TESTING_TESTCOVERAGETARGET: NodeTypeInfo = /*#__PURE__*/ {\n specNodeId: \"testing.testcoveragetarget\",\n layer: \"testing\",\n type: \"testcoveragetarget\",\n title: \"TestCoverageTarget\",\n requiredAttributes: [\"targetType\"],\n optionalAttributes: [\"description\", \"priority\", \"source\"],\n attributeConstraints: {\"description\":{\"type\":\"string\",\"description\":\"Free-text summary of the artifact or functionality in scope and the testing concerns it raises. Set it whenever the target name and targetType alone do not make the boundary of what must be verified clear.\"},\"targetType\":{\"type\":\"string\",\"enum\":[\"api-endpoint\",\"business-workflow\",\"ui-component\",\"data-migration\",\"integration-flow\",\"scheduled-job\"],\"description\":\"The kind of artifact or functionality requiring test coverage\"},\"priority\":{\"type\":\"string\",\"enum\":[\"critical\",\"high\",\"medium\",\"low\"],\"description\":\"Relative importance of achieving coverage for this target\"},\"source\":{\"type\":\"object\",\"description\":\"Source code reference for the artifact requiring test coverage\"}},\n};\n\n/**\n * All 193 node types with metadata, indexed by spec_node_id\n * Provides O(1) lookup for node type information\n */\nexport const NODE_TYPES: Map<SpecNodeId, NodeTypeInfo> = /*#__PURE__*/ new Map([\n [\"motivation.assessment\", NODE_TYPE_MOTIVATION_ASSESSMENT],\n [\"motivation.constraint\", NODE_TYPE_MOTIVATION_CONSTRAINT],\n [\"motivation.driver\", NODE_TYPE_MOTIVATION_DRIVER],\n [\"motivation.goal\", NODE_TYPE_MOTIVATION_GOAL],\n [\"motivation.meaning\", NODE_TYPE_MOTIVATION_MEANING],\n [\"motivation.outcome\", NODE_TYPE_MOTIVATION_OUTCOME],\n [\"motivation.principle\", NODE_TYPE_MOTIVATION_PRINCIPLE],\n [\"motivation.requirement\", NODE_TYPE_MOTIVATION_REQUIREMENT],\n [\"motivation.stakeholder\", NODE_TYPE_MOTIVATION_STAKEHOLDER],\n [\"motivation.value\", NODE_TYPE_MOTIVATION_VALUE],\n [\"business.businessactor\", NODE_TYPE_BUSINESS_BUSINESSACTOR],\n [\"business.businesscapability\", NODE_TYPE_BUSINESS_BUSINESSCAPABILITY],\n [\"business.businesscollaboration\", NODE_TYPE_BUSINESS_BUSINESSCOLLABORATION],\n [\"business.businessevent\", NODE_TYPE_BUSINESS_BUSINESSEVENT],\n [\"business.businessfunction\", NODE_TYPE_BUSINESS_BUSINESSFUNCTION],\n [\"business.businessinteraction\", NODE_TYPE_BUSINESS_BUSINESSINTERACTION],\n [\"business.businessinterface\", NODE_TYPE_BUSINESS_BUSINESSINTERFACE],\n [\"business.businessobject\", NODE_TYPE_BUSINESS_BUSINESSOBJECT],\n [\"business.businessprocess\", NODE_TYPE_BUSINESS_BUSINESSPROCESS],\n [\"business.businessrole\", NODE_TYPE_BUSINESS_BUSINESSROLE],\n [\"business.businessservice\", NODE_TYPE_BUSINESS_BUSINESSSERVICE],\n [\"business.contract\", NODE_TYPE_BUSINESS_CONTRACT],\n [\"business.product\", NODE_TYPE_BUSINESS_PRODUCT],\n [\"business.representation\", NODE_TYPE_BUSINESS_REPRESENTATION],\n [\"product.feature\", NODE_TYPE_PRODUCT_FEATURE],\n [\"product.milestone\", NODE_TYPE_PRODUCT_MILESTONE],\n [\"product.persona\", NODE_TYPE_PRODUCT_PERSONA],\n [\"product.softwarecapability\", NODE_TYPE_PRODUCT_SOFTWARECAPABILITY],\n [\"product.userworkflow\", NODE_TYPE_PRODUCT_USERWORKFLOW],\n [\"product.workflowstep\", NODE_TYPE_PRODUCT_WORKFLOWSTEP],\n [\"security.accesscondition\", NODE_TYPE_SECURITY_ACCESSCONDITION],\n [\"security.accountabilityrequirement\", NODE_TYPE_SECURITY_ACCOUNTABILITYREQUIREMENT],\n [\"security.actor\", NODE_TYPE_SECURITY_ACTOR],\n [\"security.auditconfig\", NODE_TYPE_SECURITY_AUDITCONFIG],\n [\"security.authenticationconfig\", NODE_TYPE_SECURITY_AUTHENTICATIONCONFIG],\n [\"security.bindingofduty\", NODE_TYPE_SECURITY_BINDINGOFDUTY],\n [\"security.condition\", NODE_TYPE_SECURITY_CONDITION],\n [\"security.countermeasure\", NODE_TYPE_SECURITY_COUNTERMEASURE],\n [\"security.dataclassification\", NODE_TYPE_SECURITY_DATACLASSIFICATION],\n [\"security.delegation\", NODE_TYPE_SECURITY_DELEGATION],\n [\"security.evidence\", NODE_TYPE_SECURITY_EVIDENCE],\n [\"security.fieldaccesscontrol\", NODE_TYPE_SECURITY_FIELDACCESSCONTROL],\n [\"security.informationentity\", NODE_TYPE_SECURITY_INFORMATIONENTITY],\n [\"security.informationright\", NODE_TYPE_SECURITY_INFORMATIONRIGHT],\n [\"security.needtoknow\", NODE_TYPE_SECURITY_NEEDTOKNOW],\n [\"security.passwordpolicy\", NODE_TYPE_SECURITY_PASSWORDPOLICY],\n [\"security.permission\", NODE_TYPE_SECURITY_PERMISSION],\n [\"security.policyaction\", NODE_TYPE_SECURITY_POLICYACTION],\n [\"security.policyrule\", NODE_TYPE_SECURITY_POLICYRULE],\n [\"security.resourceoperation\", NODE_TYPE_SECURITY_RESOURCEOPERATION],\n [\"security.retentionpolicy\", NODE_TYPE_SECURITY_RETENTIONPOLICY],\n [\"security.role\", NODE_TYPE_SECURITY_ROLE],\n [\"security.secureresource\", NODE_TYPE_SECURITY_SECURERESOURCE],\n [\"security.securityconstraints\", NODE_TYPE_SECURITY_SECURITYCONSTRAINTS],\n [\"security.securitymodel\", NODE_TYPE_SECURITY_SECURITYMODEL],\n [\"security.securitypolicy\", NODE_TYPE_SECURITY_SECURITYPOLICY],\n [\"security.separationofduty\", NODE_TYPE_SECURITY_SEPARATIONOFDUTY],\n [\"security.threat\", NODE_TYPE_SECURITY_THREAT],\n [\"security.validationrule\", NODE_TYPE_SECURITY_VALIDATIONRULE],\n [\"application.applicationcollaboration\", NODE_TYPE_APPLICATION_APPLICATIONCOLLABORATION],\n [\"application.applicationcomponent\", NODE_TYPE_APPLICATION_APPLICATIONCOMPONENT],\n [\"application.applicationevent\", NODE_TYPE_APPLICATION_APPLICATIONEVENT],\n [\"application.applicationfunction\", NODE_TYPE_APPLICATION_APPLICATIONFUNCTION],\n [\"application.applicationinteraction\", NODE_TYPE_APPLICATION_APPLICATIONINTERACTION],\n [\"application.applicationinterface\", NODE_TYPE_APPLICATION_APPLICATIONINTERFACE],\n [\"application.applicationprocess\", NODE_TYPE_APPLICATION_APPLICATIONPROCESS],\n [\"application.applicationservice\", NODE_TYPE_APPLICATION_APPLICATIONSERVICE],\n [\"application.dataobject\", NODE_TYPE_APPLICATION_DATAOBJECT],\n [\"technology.artifact\", NODE_TYPE_TECHNOLOGY_ARTIFACT],\n [\"technology.communicationnetwork\", NODE_TYPE_TECHNOLOGY_COMMUNICATIONNETWORK],\n [\"technology.device\", NODE_TYPE_TECHNOLOGY_DEVICE],\n [\"technology.node\", NODE_TYPE_TECHNOLOGY_NODE],\n [\"technology.path\", NODE_TYPE_TECHNOLOGY_PATH],\n [\"technology.systemsoftware\", NODE_TYPE_TECHNOLOGY_SYSTEMSOFTWARE],\n [\"technology.technologycollaboration\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYCOLLABORATION],\n [\"technology.technologyevent\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYEVENT],\n [\"technology.technologyfunction\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYFUNCTION],\n [\"technology.technologyinteraction\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYINTERACTION],\n [\"technology.technologyinterface\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYINTERFACE],\n [\"technology.technologyprocess\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYPROCESS],\n [\"technology.technologyservice\", NODE_TYPE_TECHNOLOGY_TECHNOLOGYSERVICE],\n [\"api.callback\", NODE_TYPE_API_CALLBACK],\n [\"api.components\", NODE_TYPE_API_COMPONENTS],\n [\"api.contact\", NODE_TYPE_API_CONTACT],\n [\"api.encoding\", NODE_TYPE_API_ENCODING],\n [\"api.example\", NODE_TYPE_API_EXAMPLE],\n [\"api.externaldocumentation\", NODE_TYPE_API_EXTERNALDOCUMENTATION],\n [\"api.header\", NODE_TYPE_API_HEADER],\n [\"api.info\", NODE_TYPE_API_INFO],\n [\"api.license\", NODE_TYPE_API_LICENSE],\n [\"api.link\", NODE_TYPE_API_LINK],\n [\"api.mediatype\", NODE_TYPE_API_MEDIATYPE],\n [\"api.oauthflow\", NODE_TYPE_API_OAUTHFLOW],\n [\"api.oauthflows\", NODE_TYPE_API_OAUTHFLOWS],\n [\"api.openapidocument\", NODE_TYPE_API_OPENAPIDOCUMENT],\n [\"api.operation\", NODE_TYPE_API_OPERATION],\n [\"api.parameter\", NODE_TYPE_API_PARAMETER],\n [\"api.pathitem\", NODE_TYPE_API_PATHITEM],\n [\"api.paths\", NODE_TYPE_API_PATHS],\n [\"api.ratelimit\", NODE_TYPE_API_RATELIMIT],\n [\"api.requestbody\", NODE_TYPE_API_REQUESTBODY],\n [\"api.response\", NODE_TYPE_API_RESPONSE],\n [\"api.responses\", NODE_TYPE_API_RESPONSES],\n [\"api.schema\", NODE_TYPE_API_SCHEMA],\n [\"api.securityscheme\", NODE_TYPE_API_SECURITYSCHEME],\n [\"api.server\", NODE_TYPE_API_SERVER],\n [\"api.servervariable\", NODE_TYPE_API_SERVERVARIABLE],\n [\"api.tag\", NODE_TYPE_API_TAG],\n [\"data-model.arrayschema\", NODE_TYPE_DATA_MODEL_ARRAYSCHEMA],\n [\"data-model.jsonschema\", NODE_TYPE_DATA_MODEL_JSONSCHEMA],\n [\"data-model.numericschema\", NODE_TYPE_DATA_MODEL_NUMERICSCHEMA],\n [\"data-model.objectschema\", NODE_TYPE_DATA_MODEL_OBJECTSCHEMA],\n [\"data-model.reference\", NODE_TYPE_DATA_MODEL_REFERENCE],\n [\"data-model.schemacomposition\", NODE_TYPE_DATA_MODEL_SCHEMACOMPOSITION],\n [\"data-model.schemadefinition\", NODE_TYPE_DATA_MODEL_SCHEMADEFINITION],\n [\"data-model.schemaproperty\", NODE_TYPE_DATA_MODEL_SCHEMAPROPERTY],\n [\"data-model.stringschema\", NODE_TYPE_DATA_MODEL_STRINGSCHEMA],\n [\"data-store.accesspattern\", NODE_TYPE_DATA_STORE_ACCESSPATTERN],\n [\"data-store.collection\", NODE_TYPE_DATA_STORE_COLLECTION],\n [\"data-store.database\", NODE_TYPE_DATA_STORE_DATABASE],\n [\"data-store.eventhandler\", NODE_TYPE_DATA_STORE_EVENTHANDLER],\n [\"data-store.field\", NODE_TYPE_DATA_STORE_FIELD],\n [\"data-store.index\", NODE_TYPE_DATA_STORE_INDEX],\n [\"data-store.namespace\", NODE_TYPE_DATA_STORE_NAMESPACE],\n [\"data-store.retentionpolicy\", NODE_TYPE_DATA_STORE_RETENTIONPOLICY],\n [\"data-store.storedlogic\", NODE_TYPE_DATA_STORE_STOREDLOGIC],\n [\"data-store.validationrule\", NODE_TYPE_DATA_STORE_VALIDATIONRULE],\n [\"data-store.view\", NODE_TYPE_DATA_STORE_VIEW],\n [\"ux.actioncomponent\", NODE_TYPE_UX_ACTIONCOMPONENT],\n [\"ux.actionpattern\", NODE_TYPE_UX_ACTIONPATTERN],\n [\"ux.chartseries\", NODE_TYPE_UX_CHARTSERIES],\n [\"ux.componentinstance\", NODE_TYPE_UX_COMPONENTINSTANCE],\n [\"ux.componentreference\", NODE_TYPE_UX_COMPONENTREFERENCE],\n [\"ux.dataconfig\", NODE_TYPE_UX_DATACONFIG],\n [\"ux.errorconfig\", NODE_TYPE_UX_ERRORCONFIG],\n [\"ux.experiencestate\", NODE_TYPE_UX_EXPERIENCESTATE],\n [\"ux.layoutconfig\", NODE_TYPE_UX_LAYOUTCONFIG],\n [\"ux.librarycomponent\", NODE_TYPE_UX_LIBRARYCOMPONENT],\n [\"ux.librarysubview\", NODE_TYPE_UX_LIBRARYSUBVIEW],\n [\"ux.stateaction\", NODE_TYPE_UX_STATEACTION],\n [\"ux.stateactiontemplate\", NODE_TYPE_UX_STATEACTIONTEMPLATE],\n [\"ux.statepattern\", NODE_TYPE_UX_STATEPATTERN],\n [\"ux.statetransition\", NODE_TYPE_UX_STATETRANSITION],\n [\"ux.subview\", NODE_TYPE_UX_SUBVIEW],\n [\"ux.tablecolumn\", NODE_TYPE_UX_TABLECOLUMN],\n [\"ux.transitiontemplate\", NODE_TYPE_UX_TRANSITIONTEMPLATE],\n [\"ux.uxapplication\", NODE_TYPE_UX_UXAPPLICATION],\n [\"ux.uxlibrary\", NODE_TYPE_UX_UXLIBRARY],\n [\"ux.uxspec\", NODE_TYPE_UX_UXSPEC],\n [\"ux.view\", NODE_TYPE_UX_VIEW],\n [\"navigation.breadcrumbconfig\", NODE_TYPE_NAVIGATION_BREADCRUMBCONFIG],\n [\"navigation.contextvariable\", NODE_TYPE_NAVIGATION_CONTEXTVARIABLE],\n [\"navigation.flowstep\", NODE_TYPE_NAVIGATION_FLOWSTEP],\n [\"navigation.guardaction\", NODE_TYPE_NAVIGATION_GUARDACTION],\n [\"navigation.guardcondition\", NODE_TYPE_NAVIGATION_GUARDCONDITION],\n [\"navigation.navigationflow\", NODE_TYPE_NAVIGATION_NAVIGATIONFLOW],\n [\"navigation.navigationgraph\", NODE_TYPE_NAVIGATION_NAVIGATIONGRAPH],\n [\"navigation.navigationguard\", NODE_TYPE_NAVIGATION_NAVIGATIONGUARD],\n [\"navigation.navigationtransition\", NODE_TYPE_NAVIGATION_NAVIGATIONTRANSITION],\n [\"navigation.route\", NODE_TYPE_NAVIGATION_ROUTE],\n [\"navigation.routemeta\", NODE_TYPE_NAVIGATION_ROUTEMETA],\n [\"apm.alert\", NODE_TYPE_APM_ALERT],\n [\"apm.dashboard\", NODE_TYPE_APM_DASHBOARD],\n [\"apm.exporterconfig\", NODE_TYPE_APM_EXPORTERCONFIG],\n [\"apm.instrumentationconfig\", NODE_TYPE_APM_INSTRUMENTATIONCONFIG],\n [\"apm.instrumentationscope\", NODE_TYPE_APM_INSTRUMENTATIONSCOPE],\n [\"apm.logconfiguration\", NODE_TYPE_APM_LOGCONFIGURATION],\n [\"apm.logprocessor\", NODE_TYPE_APM_LOGPROCESSOR],\n [\"apm.logrecord\", NODE_TYPE_APM_LOGRECORD],\n [\"apm.metricconfiguration\", NODE_TYPE_APM_METRICCONFIGURATION],\n [\"apm.metricinstrument\", NODE_TYPE_APM_METRICINSTRUMENT],\n [\"apm.resource\", NODE_TYPE_APM_RESOURCE],\n [\"apm.span\", NODE_TYPE_APM_SPAN],\n [\"apm.spanevent\", NODE_TYPE_APM_SPANEVENT],\n [\"apm.spanlink\", NODE_TYPE_APM_SPANLINK],\n [\"apm.traceconfiguration\", NODE_TYPE_APM_TRACECONFIGURATION],\n [\"testing.contextvariation\", NODE_TYPE_TESTING_CONTEXTVARIATION],\n [\"testing.coverageexclusion\", NODE_TYPE_TESTING_COVERAGEEXCLUSION],\n [\"testing.coveragegap\", NODE_TYPE_TESTING_COVERAGEGAP],\n [\"testing.coveragerequirement\", NODE_TYPE_TESTING_COVERAGEREQUIREMENT],\n [\"testing.coveragesummary\", NODE_TYPE_TESTING_COVERAGESUMMARY],\n [\"testing.environmentfactor\", NODE_TYPE_TESTING_ENVIRONMENTFACTOR],\n [\"testing.inputpartitionselection\", NODE_TYPE_TESTING_INPUTPARTITIONSELECTION],\n [\"testing.inputselection\", NODE_TYPE_TESTING_INPUTSELECTION],\n [\"testing.inputspacepartition\", NODE_TYPE_TESTING_INPUTSPACEPARTITION],\n [\"testing.outcomecategory\", NODE_TYPE_TESTING_OUTCOMECATEGORY],\n [\"testing.partitiondependency\", NODE_TYPE_TESTING_PARTITIONDEPENDENCY],\n [\"testing.partitionvalue\", NODE_TYPE_TESTING_PARTITIONVALUE],\n [\"testing.targetcoveragesummary\", NODE_TYPE_TESTING_TARGETCOVERAGESUMMARY],\n [\"testing.targetinputfield\", NODE_TYPE_TESTING_TARGETINPUTFIELD],\n [\"testing.testcasesketch\", NODE_TYPE_TESTING_TESTCASESKETCH],\n [\"testing.testcoveragemodel\", NODE_TYPE_TESTING_TESTCOVERAGEMODEL],\n [\"testing.testcoveragetarget\", NODE_TYPE_TESTING_TESTCOVERAGETARGET]\n]);\n\n/**\n * Get node type metadata by spec_node_id\n */\nexport function getNodeType(specNodeId: SpecNodeId): NodeTypeInfo | undefined {\n return NODE_TYPES.get(specNodeId);\n}\n\n/**\n * Get all valid node types for a given layer\n */\nexport function getNodeTypesForLayer(layer: string): NodeTypeInfo[] {\n const result: NodeTypeInfo[] = [];\n for (const nodeType of NODE_TYPES.values()) {\n if (nodeType.layer === layer) {\n result.push(nodeType);\n }\n }\n return result;\n}\n\n/**\n * Normalize a user-provided type name to match the schema type name for a layer.\n * Supports abbreviated type names (e.g., \"service\" \u2192 \"businessservice\" for business layer).\n *\n * @param layer - The layer name\n * @param type - The user-provided type name (can be abbreviated or full)\n * @returns The normalized type name that matches the schema, or the original if no match found\n */\nexport function normalizeNodeType(layer: string, type: string): string {\n // First, check if the type exists as-is\n for (const nodeType of NODE_TYPES.values()) {\n if (nodeType.layer === layer && nodeType.type === type) {\n return type; // Already correct\n }\n }\n\n // Try prepending the layer name for common patterns\n // e.g., \"service\" \u2192 \"businessservice\" for business layer\n const layerPrefixedType = `${layer}${type}`;\n for (const nodeType of NODE_TYPES.values()) {\n if (nodeType.layer === layer && nodeType.type === layerPrefixedType) {\n return layerPrefixedType;\n }\n }\n\n // Return original if no normalization worked\n return type;\n}\n\n/**\n * Check if a type is valid for a given layer (supports abbreviated type names)\n */\nexport function isValidNodeType(layer: string, type: string): boolean {\n const normalizedType = normalizeNodeType(layer, type);\n for (const nodeType of NODE_TYPES.values()) {\n if (nodeType.layer === layer && nodeType.type === normalizedType) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Get required attributes for a node type\n */\nexport function getRequiredAttributes(specNodeId: SpecNodeId): string[] {\n const nodeType = NODE_TYPES.get(specNodeId);\n return nodeType ? nodeType.requiredAttributes : [];\n}\n\n/**\n * Check if a spec_node_id is valid\n */\nexport function isValidSpecNodeId(value: unknown): value is SpecNodeId {\n return typeof value === \"string\" && NODE_TYPES.has(value as SpecNodeId);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }