@mquan/mochi 0.1.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 (414) hide show
  1. package/README.md +154 -0
  2. package/dist/bin/mochi.d.ts +3 -0
  3. package/dist/bin/mochi.d.ts.map +1 -0
  4. package/dist/bin/mochi.js +74 -0
  5. package/dist/bin/mochi.js.map +1 -0
  6. package/dist/bin/tsconfig.tsbuildinfo +1 -0
  7. package/dist/server/analysis/git-context.d.ts +12 -0
  8. package/dist/server/analysis/git-context.d.ts.map +1 -0
  9. package/dist/server/analysis/git-context.js +151 -0
  10. package/dist/server/analysis/git-context.js.map +1 -0
  11. package/dist/server/analysis/grammars.d.ts +3 -0
  12. package/dist/server/analysis/grammars.d.ts.map +1 -0
  13. package/dist/server/analysis/grammars.js +32 -0
  14. package/dist/server/analysis/grammars.js.map +1 -0
  15. package/dist/server/analysis/index.d.ts +8 -0
  16. package/dist/server/analysis/index.d.ts.map +1 -0
  17. package/dist/server/analysis/index.js +86 -0
  18. package/dist/server/analysis/index.js.map +1 -0
  19. package/dist/server/analysis/tree-sitter.d.ts +20 -0
  20. package/dist/server/analysis/tree-sitter.d.ts.map +1 -0
  21. package/dist/server/analysis/tree-sitter.js +126 -0
  22. package/dist/server/analysis/tree-sitter.js.map +1 -0
  23. package/dist/server/analysis/ts-morph.d.ts +17 -0
  24. package/dist/server/analysis/ts-morph.d.ts.map +1 -0
  25. package/dist/server/analysis/ts-morph.js +143 -0
  26. package/dist/server/analysis/ts-morph.js.map +1 -0
  27. package/dist/server/analysis/types.d.ts +7 -0
  28. package/dist/server/analysis/types.d.ts.map +1 -0
  29. package/dist/server/analysis/types.js +9 -0
  30. package/dist/server/analysis/types.js.map +1 -0
  31. package/dist/server/api.d.ts +14 -0
  32. package/dist/server/api.d.ts.map +1 -0
  33. package/dist/server/api.js +121 -0
  34. package/dist/server/api.js.map +1 -0
  35. package/dist/server/diagram/cache.d.ts +23 -0
  36. package/dist/server/diagram/cache.d.ts.map +1 -0
  37. package/dist/server/diagram/cache.js +158 -0
  38. package/dist/server/diagram/cache.js.map +1 -0
  39. package/dist/server/diagram/endpoint.d.ts +21 -0
  40. package/dist/server/diagram/endpoint.d.ts.map +1 -0
  41. package/dist/server/diagram/endpoint.js +426 -0
  42. package/dist/server/diagram/endpoint.js.map +1 -0
  43. package/dist/server/diagram/generate.d.ts +220 -0
  44. package/dist/server/diagram/generate.d.ts.map +1 -0
  45. package/dist/server/diagram/generate.js +605 -0
  46. package/dist/server/diagram/generate.js.map +1 -0
  47. package/dist/server/diagram/prompt-version.d.ts +2 -0
  48. package/dist/server/diagram/prompt-version.d.ts.map +1 -0
  49. package/dist/server/diagram/prompt-version.js +47 -0
  50. package/dist/server/diagram/prompt-version.js.map +1 -0
  51. package/dist/server/diagram/prompts/diagram-spec.md +315 -0
  52. package/dist/server/diagram/scope-resolver.d.ts +44 -0
  53. package/dist/server/diagram/scope-resolver.d.ts.map +1 -0
  54. package/dist/server/diagram/scope-resolver.js +198 -0
  55. package/dist/server/diagram/scope-resolver.js.map +1 -0
  56. package/dist/server/diagram/spawn.d.ts +18 -0
  57. package/dist/server/diagram/spawn.d.ts.map +1 -0
  58. package/dist/server/diagram/spawn.js +103 -0
  59. package/dist/server/diagram/spawn.js.map +1 -0
  60. package/dist/server/index.d.ts +2 -0
  61. package/dist/server/index.d.ts.map +1 -0
  62. package/dist/server/index.js +2 -0
  63. package/dist/server/index.js.map +1 -0
  64. package/dist/server/input/path-selector.d.ts +8 -0
  65. package/dist/server/input/path-selector.d.ts.map +1 -0
  66. package/dist/server/input/path-selector.js +45 -0
  67. package/dist/server/input/path-selector.js.map +1 -0
  68. package/dist/server/server.d.ts +14 -0
  69. package/dist/server/server.d.ts.map +1 -0
  70. package/dist/server/server.js +79 -0
  71. package/dist/server/server.js.map +1 -0
  72. package/dist/server/tsconfig.tsbuildinfo +1 -0
  73. package/dist/shared/analysis-schema.d.ts +120 -0
  74. package/dist/shared/analysis-schema.d.ts.map +1 -0
  75. package/dist/shared/analysis-schema.js +43 -0
  76. package/dist/shared/analysis-schema.js.map +1 -0
  77. package/dist/shared/design/index.d.ts +6 -0
  78. package/dist/shared/design/index.d.ts.map +1 -0
  79. package/dist/shared/design/index.js +7 -0
  80. package/dist/shared/design/index.js.map +1 -0
  81. package/dist/shared/design/kinds.d.ts +26 -0
  82. package/dist/shared/design/kinds.d.ts.map +1 -0
  83. package/dist/shared/design/kinds.js +141 -0
  84. package/dist/shared/design/kinds.js.map +1 -0
  85. package/dist/shared/design/lenses.d.ts +11 -0
  86. package/dist/shared/design/lenses.d.ts.map +1 -0
  87. package/dist/shared/design/lenses.js +36 -0
  88. package/dist/shared/design/lenses.js.map +1 -0
  89. package/dist/shared/design/node-styles.d.ts +24 -0
  90. package/dist/shared/design/node-styles.d.ts.map +1 -0
  91. package/dist/shared/design/node-styles.js +150 -0
  92. package/dist/shared/design/node-styles.js.map +1 -0
  93. package/dist/shared/design/prompt-fragments.d.ts +4 -0
  94. package/dist/shared/design/prompt-fragments.d.ts.map +1 -0
  95. package/dist/shared/design/prompt-fragments.js +45 -0
  96. package/dist/shared/design/prompt-fragments.js.map +1 -0
  97. package/dist/shared/design/tokens.d.ts +102 -0
  98. package/dist/shared/design/tokens.d.ts.map +1 -0
  99. package/dist/shared/design/tokens.js +110 -0
  100. package/dist/shared/design/tokens.js.map +1 -0
  101. package/dist/shared/diagram-spec.d.ts +914 -0
  102. package/dist/shared/diagram-spec.d.ts.map +1 -0
  103. package/dist/shared/diagram-spec.js +173 -0
  104. package/dist/shared/diagram-spec.js.map +1 -0
  105. package/dist/shared/index.d.ts +2 -0
  106. package/dist/shared/index.d.ts.map +1 -0
  107. package/dist/shared/index.js +2 -0
  108. package/dist/shared/index.js.map +1 -0
  109. package/dist/shared/tsconfig.tsbuildinfo +1 -0
  110. package/dist/web/assets/abap-BdImnpbu.js +1 -0
  111. package/dist/web/assets/actionscript-3-CoDkCxhg.js +1 -0
  112. package/dist/web/assets/ada-bCR0ucgS.js +1 -0
  113. package/dist/web/assets/andromeeda-C4gqWexZ.js +1 -0
  114. package/dist/web/assets/angular-html-DMxchsRu.js +1 -0
  115. package/dist/web/assets/angular-ts-DzOHUlBM.js +1 -0
  116. package/dist/web/assets/apache-Pmp26Uib.js +1 -0
  117. package/dist/web/assets/apex-D8_7TLub.js +1 -0
  118. package/dist/web/assets/apl-dKokRX4l.js +1 -0
  119. package/dist/web/assets/applescript-Co6uUVPk.js +1 -0
  120. package/dist/web/assets/ara-BRHolxvo.js +1 -0
  121. package/dist/web/assets/asciidoc-Ve4PFQV2.js +1 -0
  122. package/dist/web/assets/asm-D_Q5rh1f.js +1 -0
  123. package/dist/web/assets/astro-CbQHKStN.js +1 -0
  124. package/dist/web/assets/aurora-x-D-2ljcwZ.js +1 -0
  125. package/dist/web/assets/awk-DMzUqQB5.js +1 -0
  126. package/dist/web/assets/ayu-dark-DYE7WIF3.js +1 -0
  127. package/dist/web/assets/ayu-light-BA47KaF1.js +1 -0
  128. package/dist/web/assets/ayu-mirage-32ctXXKs.js +1 -0
  129. package/dist/web/assets/ballerina-BFfxhgS-.js +1 -0
  130. package/dist/web/assets/bat-BkioyH1T.js +1 -0
  131. package/dist/web/assets/beancount-k_qm7-4y.js +1 -0
  132. package/dist/web/assets/berry-uYugtg8r.js +1 -0
  133. package/dist/web/assets/bibtex-CHM0blh-.js +1 -0
  134. package/dist/web/assets/bicep-Bmn6On1c.js +1 -0
  135. package/dist/web/assets/bird2-DPOp833l.js +1 -0
  136. package/dist/web/assets/blade-D4QpJJKB.js +1 -0
  137. package/dist/web/assets/bsl-BO_Y6i37.js +1 -0
  138. package/dist/web/assets/c-BIGW1oBm.js +1 -0
  139. package/dist/web/assets/c3-eo99z4R2.js +1 -0
  140. package/dist/web/assets/cadence-Bv_4Rxtq.js +1 -0
  141. package/dist/web/assets/cairo-KRGpt6FW.js +1 -0
  142. package/dist/web/assets/catppuccin-frappe-DFWUc33u.js +1 -0
  143. package/dist/web/assets/catppuccin-latte-C9dUb6Cb.js +1 -0
  144. package/dist/web/assets/catppuccin-macchiato-DQyhUUbL.js +1 -0
  145. package/dist/web/assets/catppuccin-mocha-D87Tk5Gz.js +1 -0
  146. package/dist/web/assets/clarity-D53aC0YG.js +1 -0
  147. package/dist/web/assets/clojure-P80f7IUj.js +1 -0
  148. package/dist/web/assets/cmake-D1j8_8rp.js +1 -0
  149. package/dist/web/assets/cobol-nwyudZeR.js +1 -0
  150. package/dist/web/assets/codeowners-Bp6g37R7.js +1 -0
  151. package/dist/web/assets/codeql-DsOJ9woJ.js +1 -0
  152. package/dist/web/assets/coffee-Ch7k5sss.js +1 -0
  153. package/dist/web/assets/common-lisp-Cg-RD9OK.js +1 -0
  154. package/dist/web/assets/coq-DkFqJrB1.js +1 -0
  155. package/dist/web/assets/cpp-CofmeUqb.js +1 -0
  156. package/dist/web/assets/crystal-tKQVLTB8.js +1 -0
  157. package/dist/web/assets/csharp-COcwbKMJ.js +1 -0
  158. package/dist/web/assets/css-DPfMkruS.js +1 -0
  159. package/dist/web/assets/csv-fuZLfV_i.js +1 -0
  160. package/dist/web/assets/cue-D82EKSYY.js +1 -0
  161. package/dist/web/assets/cypher-COkxafJQ.js +1 -0
  162. package/dist/web/assets/d-85-TOEBH.js +1 -0
  163. package/dist/web/assets/dark-plus-C3mMm8J8.js +1 -0
  164. package/dist/web/assets/dart-CF10PKvl.js +1 -0
  165. package/dist/web/assets/dax-CEL-wOlO.js +1 -0
  166. package/dist/web/assets/desktop-BmXAJ9_W.js +1 -0
  167. package/dist/web/assets/diff-D97Zzqfu.js +1 -0
  168. package/dist/web/assets/docker-BcOcwvcX.js +1 -0
  169. package/dist/web/assets/dotenv-Da5cRb03.js +1 -0
  170. package/dist/web/assets/dracula-BzJJZx-M.js +1 -0
  171. package/dist/web/assets/dracula-soft-BXkSAIEj.js +1 -0
  172. package/dist/web/assets/dream-maker-BtqSS_iP.js +1 -0
  173. package/dist/web/assets/edge-BkV0erSs.js +1 -0
  174. package/dist/web/assets/elixir-CDX3lj18.js +1 -0
  175. package/dist/web/assets/elm-DbKCFpqz.js +1 -0
  176. package/dist/web/assets/emacs-lisp-C9XAeP06.js +1 -0
  177. package/dist/web/assets/erb-B12qg9BL.js +1 -0
  178. package/dist/web/assets/erlang-DsQrWhSR.js +1 -0
  179. package/dist/web/assets/everforest-dark-BgDCqdQA.js +1 -0
  180. package/dist/web/assets/everforest-light-C8M2exoo.js +1 -0
  181. package/dist/web/assets/fennel-BYunw83y.js +1 -0
  182. package/dist/web/assets/fish-BvzEVeQv.js +1 -0
  183. package/dist/web/assets/fluent-C4IJs8-o.js +1 -0
  184. package/dist/web/assets/fortran-fixed-form-CkoXwp7k.js +1 -0
  185. package/dist/web/assets/fortran-free-form-BxgE0vQu.js +1 -0
  186. package/dist/web/assets/fsharp-CXgrBDvD.js +1 -0
  187. package/dist/web/assets/gdresource-BOOCDP_w.js +1 -0
  188. package/dist/web/assets/gdscript-C5YyOfLZ.js +1 -0
  189. package/dist/web/assets/gdshader-DkwncUOv.js +1 -0
  190. package/dist/web/assets/genie-D0YGMca9.js +1 -0
  191. package/dist/web/assets/gherkin-DyxjwDmM.js +1 -0
  192. package/dist/web/assets/git-commit-F4YmCXRG.js +1 -0
  193. package/dist/web/assets/git-rebase-r7XF79zn.js +1 -0
  194. package/dist/web/assets/github-dark-DHJKELXO.js +1 -0
  195. package/dist/web/assets/github-dark-default-Cuk6v7N8.js +1 -0
  196. package/dist/web/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
  197. package/dist/web/assets/github-dark-high-contrast-E3gJ1_iC.js +1 -0
  198. package/dist/web/assets/github-light-DAi9KRSo.js +1 -0
  199. package/dist/web/assets/github-light-default-D7oLnXFd.js +1 -0
  200. package/dist/web/assets/github-light-high-contrast-BfjtVDDH.js +1 -0
  201. package/dist/web/assets/gleam-BspZqrRM.js +1 -0
  202. package/dist/web/assets/glimmer-js-Rg0-pVw9.js +1 -0
  203. package/dist/web/assets/glimmer-ts-U6CK756n.js +1 -0
  204. package/dist/web/assets/glsl-DplSGwfg.js +1 -0
  205. package/dist/web/assets/gn-n2N0HUVH.js +1 -0
  206. package/dist/web/assets/gnuplot-DdkO51Og.js +1 -0
  207. package/dist/web/assets/go-CxLEBnE3.js +1 -0
  208. package/dist/web/assets/graphql-ChdNCCLP.js +1 -0
  209. package/dist/web/assets/groovy-gcz8RCvz.js +1 -0
  210. package/dist/web/assets/gruvbox-dark-hard-CFHQjOhq.js +1 -0
  211. package/dist/web/assets/gruvbox-dark-medium-GsRaNv29.js +1 -0
  212. package/dist/web/assets/gruvbox-dark-soft-CVdnzihN.js +1 -0
  213. package/dist/web/assets/gruvbox-light-hard-CH1njM8p.js +1 -0
  214. package/dist/web/assets/gruvbox-light-medium-DRw_LuNl.js +1 -0
  215. package/dist/web/assets/gruvbox-light-soft-hJgmCMqR.js +1 -0
  216. package/dist/web/assets/hack-CaT9iCJl.js +1 -0
  217. package/dist/web/assets/haml-B8DHNrY2.js +1 -0
  218. package/dist/web/assets/handlebars-BL8al0AC.js +1 -0
  219. package/dist/web/assets/haskell-Df6bDoY_.js +1 -0
  220. package/dist/web/assets/haxe-CzTSHFRz.js +1 -0
  221. package/dist/web/assets/hcl-BWvSN4gD.js +1 -0
  222. package/dist/web/assets/hjson-D5-asLiD.js +1 -0
  223. package/dist/web/assets/hlsl-D3lLCCz7.js +1 -0
  224. package/dist/web/assets/horizon-BUw7H-hv.js +1 -0
  225. package/dist/web/assets/horizon-bright-Cn-bp-IR.js +1 -0
  226. package/dist/web/assets/houston-DnULxvSX.js +1 -0
  227. package/dist/web/assets/html-GMplVEZG.js +1 -0
  228. package/dist/web/assets/html-derivative-BFtXZ54Q.js +1 -0
  229. package/dist/web/assets/http-jrhK8wxY.js +1 -0
  230. package/dist/web/assets/hurl-irOxFIW8.js +1 -0
  231. package/dist/web/assets/hxml-Bvhsp5Yf.js +1 -0
  232. package/dist/web/assets/hy-DFXneXwc.js +1 -0
  233. package/dist/web/assets/imba-DGztddWO.js +1 -0
  234. package/dist/web/assets/index-B4-Q-CcM.js +88 -0
  235. package/dist/web/assets/index-DtQV41FL.css +1 -0
  236. package/dist/web/assets/ini-BEwlwnbL.js +1 -0
  237. package/dist/web/assets/java-CylS5w8V.js +1 -0
  238. package/dist/web/assets/javascript-wDzz0qaB.js +1 -0
  239. package/dist/web/assets/jinja-4LBKfQ-Z.js +1 -0
  240. package/dist/web/assets/jison-wvAkD_A8.js +1 -0
  241. package/dist/web/assets/json-Cp-IABpG.js +1 -0
  242. package/dist/web/assets/json5-C9tS-k6U.js +1 -0
  243. package/dist/web/assets/jsonc-Des-eS-w.js +1 -0
  244. package/dist/web/assets/jsonl-DcaNXYhu.js +1 -0
  245. package/dist/web/assets/jsonnet-DFQXde-d.js +1 -0
  246. package/dist/web/assets/jssm-C2t-YnRu.js +1 -0
  247. package/dist/web/assets/jsx-g9-lgVsj.js +1 -0
  248. package/dist/web/assets/julia-CxzCAyBv.js +1 -0
  249. package/dist/web/assets/just-Cw27pwNe.js +1 -0
  250. package/dist/web/assets/kanagawa-dragon-CkXjmgJE.js +1 -0
  251. package/dist/web/assets/kanagawa-lotus-CfQXZHmo.js +1 -0
  252. package/dist/web/assets/kanagawa-wave-DWedfzmr.js +1 -0
  253. package/dist/web/assets/kdl-DV7GczEv.js +1 -0
  254. package/dist/web/assets/kotlin-BdnUsdx6.js +1 -0
  255. package/dist/web/assets/kusto-DZf3V79B.js +1 -0
  256. package/dist/web/assets/laserwave-DUszq2jm.js +1 -0
  257. package/dist/web/assets/latex-CWtU0Tv5.js +1 -0
  258. package/dist/web/assets/lean-BZvkOJ9d.js +1 -0
  259. package/dist/web/assets/less-B1dDrJ26.js +1 -0
  260. package/dist/web/assets/light-plus-B7mTdjB0.js +1 -0
  261. package/dist/web/assets/liquid-DYVedYrR.js +1 -0
  262. package/dist/web/assets/llvm-DjAJT7YJ.js +1 -0
  263. package/dist/web/assets/log-2UxHyX5q.js +1 -0
  264. package/dist/web/assets/logo-BtOb2qkB.js +1 -0
  265. package/dist/web/assets/lua-BaeVxFsk.js +1 -0
  266. package/dist/web/assets/luau-C-HG3fhB.js +1 -0
  267. package/dist/web/assets/make-CHLpvVh8.js +1 -0
  268. package/dist/web/assets/markdown-Cvjx9yec.js +1 -0
  269. package/dist/web/assets/marko-CnJfTvn9.js +1 -0
  270. package/dist/web/assets/material-theme-D5KoaKCx.js +1 -0
  271. package/dist/web/assets/material-theme-darker-BfHTSMKl.js +1 -0
  272. package/dist/web/assets/material-theme-lighter-B0m2ddpp.js +1 -0
  273. package/dist/web/assets/material-theme-ocean-CyktbL80.js +1 -0
  274. package/dist/web/assets/material-theme-palenight-Csfq5Kiy.js +1 -0
  275. package/dist/web/assets/matlab-D7o27uSR.js +1 -0
  276. package/dist/web/assets/mdc-BMNejdWA.js +1 -0
  277. package/dist/web/assets/mdx-Cmh6b_Ma.js +1 -0
  278. package/dist/web/assets/mermaid-mWjccvbQ.js +1 -0
  279. package/dist/web/assets/min-dark-CafNBF8u.js +1 -0
  280. package/dist/web/assets/min-light-CTRr51gU.js +1 -0
  281. package/dist/web/assets/mipsasm-CKIfxQSi.js +1 -0
  282. package/dist/web/assets/mojo-rZm6bMo-.js +1 -0
  283. package/dist/web/assets/monokai-D4h5O-jR.js +1 -0
  284. package/dist/web/assets/moonbit-_H4v1dQx.js +1 -0
  285. package/dist/web/assets/move-IF9eRakj.js +1 -0
  286. package/dist/web/assets/narrat-DRg8JJMk.js +1 -0
  287. package/dist/web/assets/nextflow-Zz6hmt5N.js +1 -0
  288. package/dist/web/assets/nextflow-groovy-BeH2EWoN.js +1 -0
  289. package/dist/web/assets/nginx-BpAMiNFr.js +1 -0
  290. package/dist/web/assets/night-owl-C39BiMTA.js +1 -0
  291. package/dist/web/assets/night-owl-light-CMTm3GFP.js +1 -0
  292. package/dist/web/assets/nim-CVrawwO9.js +1 -0
  293. package/dist/web/assets/nix-CwoSXNpI.js +1 -0
  294. package/dist/web/assets/nord-Ddv68eIx.js +1 -0
  295. package/dist/web/assets/nushell-Cz2AlsmD.js +1 -0
  296. package/dist/web/assets/objective-c-DXmwc3jG.js +1 -0
  297. package/dist/web/assets/objective-cpp-CLxacb5B.js +1 -0
  298. package/dist/web/assets/ocaml-C0hk2d4L.js +1 -0
  299. package/dist/web/assets/odin-BBf5iR-q.js +1 -0
  300. package/dist/web/assets/one-dark-pro-DVMEJ2y_.js +1 -0
  301. package/dist/web/assets/one-light-C3Wv6jpd.js +1 -0
  302. package/dist/web/assets/openscad-C4EeE6gA.js +1 -0
  303. package/dist/web/assets/pascal-D93ZcfNL.js +1 -0
  304. package/dist/web/assets/perl-C0TMdlhV.js +1 -0
  305. package/dist/web/assets/php-Dhbhpdrm.js +1 -0
  306. package/dist/web/assets/pkl-u5AG7uiY.js +1 -0
  307. package/dist/web/assets/plastic-3e1v2bzS.js +1 -0
  308. package/dist/web/assets/plsql-ChMvpjG-.js +1 -0
  309. package/dist/web/assets/po-BTJTHyun.js +1 -0
  310. package/dist/web/assets/poimandres-CS3Unz2-.js +1 -0
  311. package/dist/web/assets/polar-C0HS_06l.js +1 -0
  312. package/dist/web/assets/postcss-CXtECtnM.js +1 -0
  313. package/dist/web/assets/powerquery-CEu0bR-o.js +1 -0
  314. package/dist/web/assets/powershell-Dpen1YoG.js +1 -0
  315. package/dist/web/assets/prisma-Dd19v3D-.js +1 -0
  316. package/dist/web/assets/prolog-CbFg5uaA.js +1 -0
  317. package/dist/web/assets/proto-C7zT0LnQ.js +1 -0
  318. package/dist/web/assets/pug-CGlum2m_.js +1 -0
  319. package/dist/web/assets/puppet-BMWR74SV.js +1 -0
  320. package/dist/web/assets/purescript-CklMAg4u.js +1 -0
  321. package/dist/web/assets/python-B6aJPvgy.js +1 -0
  322. package/dist/web/assets/qml-3beO22l8.js +1 -0
  323. package/dist/web/assets/qmldir-C8lEn-DE.js +1 -0
  324. package/dist/web/assets/qss-IeuSbFQv.js +1 -0
  325. package/dist/web/assets/r-Dspwwk_N.js +1 -0
  326. package/dist/web/assets/racket-BqYA7rlc.js +1 -0
  327. package/dist/web/assets/raku-DXvB9xmW.js +1 -0
  328. package/dist/web/assets/razor-Uh8Bk_45.js +1 -0
  329. package/dist/web/assets/red-bN70gL4F.js +1 -0
  330. package/dist/web/assets/reg-C-SQnVFl.js +1 -0
  331. package/dist/web/assets/regexp-CDVJQ6XC.js +1 -0
  332. package/dist/web/assets/rel-C3B-1QV4.js +1 -0
  333. package/dist/web/assets/riscv-BM1_JUlF.js +1 -0
  334. package/dist/web/assets/ron-D8l8udqQ.js +1 -0
  335. package/dist/web/assets/rose-pine-dawn-DHQR4-dF.js +1 -0
  336. package/dist/web/assets/rose-pine-moon-D4_iv3hh.js +1 -0
  337. package/dist/web/assets/rose-pine-qdsjHGoJ.js +1 -0
  338. package/dist/web/assets/rosmsg-BJDFO7_C.js +1 -0
  339. package/dist/web/assets/rst-BrH8l1NY.js +1 -0
  340. package/dist/web/assets/ruby-Dw2BHqvy.js +1 -0
  341. package/dist/web/assets/rust-B1yitclQ.js +1 -0
  342. package/dist/web/assets/sas-cz2c8ADy.js +1 -0
  343. package/dist/web/assets/sass-Cj5Yp3dK.js +1 -0
  344. package/dist/web/assets/scala-C151Ov-r.js +1 -0
  345. package/dist/web/assets/scheme-C98Dy4si.js +1 -0
  346. package/dist/web/assets/scss-OYdSNvt2.js +1 -0
  347. package/dist/web/assets/sdbl-DVxCFoDh.js +1 -0
  348. package/dist/web/assets/shaderlab-Dg9Lc6iA.js +1 -0
  349. package/dist/web/assets/shellscript-Yzrsuije.js +1 -0
  350. package/dist/web/assets/shellsession-BADoaaVG.js +1 -0
  351. package/dist/web/assets/slack-dark-BthQWCQV.js +1 -0
  352. package/dist/web/assets/slack-ochin-DqwNpetd.js +1 -0
  353. package/dist/web/assets/smalltalk-BERRCDM3.js +1 -0
  354. package/dist/web/assets/snazzy-light-Bw305WKR.js +1 -0
  355. package/dist/web/assets/solarized-dark-DXbdFlpD.js +1 -0
  356. package/dist/web/assets/solarized-light-L9t79GZl.js +1 -0
  357. package/dist/web/assets/solidity-rGO070M0.js +1 -0
  358. package/dist/web/assets/soy-Brmx7dQM.js +1 -0
  359. package/dist/web/assets/sparql-rVzFXLq3.js +1 -0
  360. package/dist/web/assets/splunk-BtCnVYZw.js +1 -0
  361. package/dist/web/assets/sql-BLtJtn59.js +1 -0
  362. package/dist/web/assets/ssh-config-_ykCGR6B.js +1 -0
  363. package/dist/web/assets/stata-BH5u7GGu.js +1 -0
  364. package/dist/web/assets/stylus-BEDo0Tqx.js +1 -0
  365. package/dist/web/assets/surrealql-Bq5Q-fJD.js +1 -0
  366. package/dist/web/assets/svelte-C_ipcX3V.js +1 -0
  367. package/dist/web/assets/swift-D82vCrfD.js +1 -0
  368. package/dist/web/assets/synthwave-84-CbfX1IO0.js +1 -0
  369. package/dist/web/assets/system-verilog-CnnmHF94.js +1 -0
  370. package/dist/web/assets/systemd-4A_iFExJ.js +1 -0
  371. package/dist/web/assets/talonscript-CkByrt1z.js +1 -0
  372. package/dist/web/assets/tasl-QIJgUcNo.js +1 -0
  373. package/dist/web/assets/tcl-dwOrl1Do.js +1 -0
  374. package/dist/web/assets/templ-P3uqSqPl.js +1 -0
  375. package/dist/web/assets/terraform-BETggiCN.js +1 -0
  376. package/dist/web/assets/tex-idrVyKtj.js +1 -0
  377. package/dist/web/assets/tokyo-night-hegEt444.js +1 -0
  378. package/dist/web/assets/toml-vGWfd6FD.js +1 -0
  379. package/dist/web/assets/ts-tags-zn1MmPIZ.js +1 -0
  380. package/dist/web/assets/tsv-B_m7g4N7.js +1 -0
  381. package/dist/web/assets/tsx-COt5Ahok.js +1 -0
  382. package/dist/web/assets/turtle-BsS91CYL.js +1 -0
  383. package/dist/web/assets/twig-DNn4PbVi.js +1 -0
  384. package/dist/web/assets/typescript-BPQ3VLAy.js +1 -0
  385. package/dist/web/assets/typespec-BGHnOYBU.js +1 -0
  386. package/dist/web/assets/typst-DHCkPAjA.js +1 -0
  387. package/dist/web/assets/v-BcVCzyr7.js +1 -0
  388. package/dist/web/assets/vala-CsfeWuGM.js +1 -0
  389. package/dist/web/assets/vb-D17OF-Vu.js +1 -0
  390. package/dist/web/assets/verilog-BQ8w6xss.js +1 -0
  391. package/dist/web/assets/vesper-DU1UobuO.js +1 -0
  392. package/dist/web/assets/vhdl-CeAyd5Ju.js +1 -0
  393. package/dist/web/assets/viml-CJc9bBzg.js +1 -0
  394. package/dist/web/assets/vitesse-black-Bkuqu6BP.js +1 -0
  395. package/dist/web/assets/vitesse-dark-D0r3Knsf.js +1 -0
  396. package/dist/web/assets/vitesse-light-CVO1_9PV.js +1 -0
  397. package/dist/web/assets/vue-DN_0RTcg.js +1 -0
  398. package/dist/web/assets/vue-html-AaS7Mt5G.js +1 -0
  399. package/dist/web/assets/vue-vine-CQOfvN7w.js +1 -0
  400. package/dist/web/assets/vyper-CDx5xZoG.js +1 -0
  401. package/dist/web/assets/wasm-CG6Dc4jp.js +1 -0
  402. package/dist/web/assets/wasm-MzD3tlZU.js +1 -0
  403. package/dist/web/assets/wenyan-BV7otONQ.js +1 -0
  404. package/dist/web/assets/wgsl-Dx-B1_4e.js +1 -0
  405. package/dist/web/assets/wikitext-BhOHFoWU.js +1 -0
  406. package/dist/web/assets/wit-5i3qLPDT.js +1 -0
  407. package/dist/web/assets/wolfram-lXgVvXCa.js +1 -0
  408. package/dist/web/assets/xml-sdJ4AIDG.js +1 -0
  409. package/dist/web/assets/xsl-CtQFsRM5.js +1 -0
  410. package/dist/web/assets/yaml-Buea-lGh.js +1 -0
  411. package/dist/web/assets/zenscript-DVFEvuxE.js +1 -0
  412. package/dist/web/assets/zig-VOosw3JB.js +1 -0
  413. package/dist/web/index.html +13 -0
  414. package/package.json +56 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../shared/design/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,7 @@
1
+ // Barrel for the design SSOT module. Keep mechanical — no logic here.
2
+ export * from "./lenses.js";
3
+ export * from "./kinds.js";
4
+ export * from "./tokens.js";
5
+ export * from "./node-styles.js";
6
+ export * from "./prompt-fragments.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../shared/design/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAEtE,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { Lens } from "./lenses.js";
2
+ export declare const FLOW_NODE_KINDS: readonly ["entry", "call", "branch", "loop", "await", "throw", "catch", "return"];
3
+ export declare const STATE_NODE_KINDS: readonly ["initial", "intermediate", "terminal", "composite"];
4
+ export declare const ARCH_NODE_KINDS: readonly ["client", "gateway", "service", "module", "datastore", "queue", "external"];
5
+ export declare const PROTOCOL_NODE_KINDS: readonly ["actor", "group"];
6
+ export type FlowNodeKind = (typeof FLOW_NODE_KINDS)[number];
7
+ export type StateNodeKind = (typeof STATE_NODE_KINDS)[number];
8
+ export type ArchNodeKind = (typeof ARCH_NODE_KINDS)[number];
9
+ export type ProtocolNodeKind = (typeof PROTOCOL_NODE_KINDS)[number];
10
+ export type NodeKind = FlowNodeKind | StateNodeKind | ArchNodeKind | ProtocolNodeKind;
11
+ export declare const FLOW_EDGE_KINDS: readonly ["next", "branch_true", "branch_false", "loop_back", "fallthrough"];
12
+ export declare const STATE_EDGE_KINDS: readonly ["transition", "self_transition"];
13
+ export declare const ARCH_EDGE_KINDS: readonly ["call_sync", "call_async", "event", "data_flow", "depends_on"];
14
+ export declare const PROTOCOL_EDGE_KINDS: readonly ["request", "response", "async_message", "return", "create", "destroy"];
15
+ export type FlowEdgeKind = (typeof FLOW_EDGE_KINDS)[number];
16
+ export type StateEdgeKind = (typeof STATE_EDGE_KINDS)[number];
17
+ export type ArchEdgeKind = (typeof ARCH_EDGE_KINDS)[number];
18
+ export type ProtocolEdgeKind = (typeof PROTOCOL_EDGE_KINDS)[number];
19
+ export type EdgeKind = FlowEdgeKind | StateEdgeKind | ArchEdgeKind | ProtocolEdgeKind;
20
+ export declare const NODE_KINDS_BY_LENS: Record<Lens, readonly string[]>;
21
+ export declare const EDGE_KINDS_BY_LENS: Record<Lens, readonly string[]>;
22
+ export declare const ALL_NODE_KINDS: readonly ["entry", "call", "branch", "loop", "await", "throw", "catch", "return", "initial", "intermediate", "terminal", "composite", "client", "gateway", "service", "module", "datastore", "queue", "external", "actor", "group"];
23
+ export declare const ALL_EDGE_KINDS: readonly ["next", "branch_true", "branch_false", "loop_back", "fallthrough", "transition", "self_transition", "call_sync", "call_async", "event", "data_flow", "depends_on", "request", "response", "async_message", "return", "create", "destroy"];
24
+ export declare const NODE_KIND_DEFINITIONS: Record<string, string>;
25
+ export declare const EDGE_KIND_DEFINITIONS: Record<string, string>;
26
+ //# sourceMappingURL=kinds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kinds.d.ts","sourceRoot":"","sources":["../../../shared/design/kinds.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAIxC,eAAO,MAAM,eAAe,mFASlB,CAAC;AACX,eAAO,MAAM,gBAAgB,+DAKnB,CAAC;AACX,eAAO,MAAM,eAAe,uFAQlB,CAAC;AACX,eAAO,MAAM,mBAAmB,6BAA8B,CAAC;AAE/D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,gBAAgB,CAAC;AAIrB,eAAO,MAAM,eAAe,8EAMlB,CAAC;AACX,eAAO,MAAM,gBAAgB,4CAA6C,CAAC;AAC3E,eAAO,MAAM,eAAe,0EAMlB,CAAC;AACX,eAAO,MAAM,mBAAmB,kFAOtB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AACpE,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,gBAAgB,CAAC;AAIrB,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAK9D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAK9D,CAAC;AAKF,eAAO,MAAM,cAAc,qOAKjB,CAAC;AACX,eAAO,MAAM,cAAc,qPAKjB,CAAC;AAOX,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwCxD,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoCxD,CAAC"}
@@ -0,0 +1,141 @@
1
+ // Closed-set kind vocabularies per lens. These constrain what the LLM may
2
+ // emit for node.kind and edge.kind in a DiagramSpec, and what the renderer
3
+ // must know how to draw. Adding a kind here is a coordinated change:
4
+ // 1) update this file
5
+ // 2) add a NODE_STYLES / EDGE_STYLES entry in node-styles.ts
6
+ // 3) `npm run build` regenerates prompts + JSON schema
7
+ // 4) bump PROMPT_VERSION
8
+ // ---------- Node kinds ----------
9
+ export const FLOW_NODE_KINDS = [
10
+ "entry",
11
+ "call",
12
+ "branch",
13
+ "loop",
14
+ "await",
15
+ "throw",
16
+ "catch",
17
+ "return",
18
+ ];
19
+ export const STATE_NODE_KINDS = [
20
+ "initial",
21
+ "intermediate",
22
+ "terminal",
23
+ "composite",
24
+ ];
25
+ export const ARCH_NODE_KINDS = [
26
+ "client",
27
+ "gateway",
28
+ "service",
29
+ "module",
30
+ "datastore",
31
+ "queue",
32
+ "external",
33
+ ];
34
+ export const PROTOCOL_NODE_KINDS = ["actor", "group"];
35
+ // ---------- Edge kinds ----------
36
+ export const FLOW_EDGE_KINDS = [
37
+ "next",
38
+ "branch_true",
39
+ "branch_false",
40
+ "loop_back",
41
+ "fallthrough",
42
+ ];
43
+ export const STATE_EDGE_KINDS = ["transition", "self_transition"];
44
+ export const ARCH_EDGE_KINDS = [
45
+ "call_sync",
46
+ "call_async",
47
+ "event",
48
+ "data_flow",
49
+ "depends_on",
50
+ ];
51
+ export const PROTOCOL_EDGE_KINDS = [
52
+ "request",
53
+ "response",
54
+ "async_message",
55
+ "return",
56
+ "create",
57
+ "destroy",
58
+ ];
59
+ // ---------- Lookups ----------
60
+ export const NODE_KINDS_BY_LENS = {
61
+ flow: FLOW_NODE_KINDS,
62
+ state: STATE_NODE_KINDS,
63
+ architecture: ARCH_NODE_KINDS,
64
+ protocol: PROTOCOL_NODE_KINDS,
65
+ };
66
+ export const EDGE_KINDS_BY_LENS = {
67
+ flow: FLOW_EDGE_KINDS,
68
+ state: STATE_EDGE_KINDS,
69
+ architecture: ARCH_EDGE_KINDS,
70
+ protocol: PROTOCOL_EDGE_KINDS,
71
+ };
72
+ // Flat union used by the zod enum and the CLI JSON schema. Lens-correctness
73
+ // (i.e., a `flow` spec may only use FLOW_NODE_KINDS) is enforced one layer
74
+ // up, via DiagramSpecSchema.superRefine — see shared/diagram-spec.ts.
75
+ export const ALL_NODE_KINDS = [
76
+ ...FLOW_NODE_KINDS,
77
+ ...STATE_NODE_KINDS,
78
+ ...ARCH_NODE_KINDS,
79
+ ...PROTOCOL_NODE_KINDS,
80
+ ];
81
+ export const ALL_EDGE_KINDS = [
82
+ ...FLOW_EDGE_KINDS,
83
+ ...STATE_EDGE_KINDS,
84
+ ...ARCH_EDGE_KINDS,
85
+ ...PROTOCOL_EDGE_KINDS,
86
+ ];
87
+ // ---------- Definitions (used by the prompt + dev docs) ----------
88
+ // Keys are `${Lens}.${kind}`. Every entry in NODE_KINDS_BY_LENS / EDGE_KINDS_BY_LENS
89
+ // must have a corresponding definition here — kinds.test.ts enforces this.
90
+ export const NODE_KIND_DEFINITIONS = {
91
+ // flow
92
+ "flow.entry": "the function or block where execution starts; usually one per flow diagram",
93
+ "flow.call": "a function or method invocation that synchronously transfers control",
94
+ "flow.branch": "a conditional fork (if / switch / ternary) that splits the path",
95
+ "flow.loop": "a loop construct (for / while / do) — show iteration as a back-edge",
96
+ "flow.await": "a suspension point on a Promise / async operation",
97
+ "flow.throw": "a thrown exception that unwinds the stack",
98
+ "flow.catch": "a catch handler that captures a thrown exception",
99
+ "flow.return": "an explicit return that exits the current frame",
100
+ // state
101
+ "state.initial": "the entry state of the machine (usually exactly one)",
102
+ "state.intermediate": "any non-initial, non-terminal state",
103
+ "state.terminal": "a state from which no further transitions originate (one or more)",
104
+ "state.composite": "a state that contains substates (hierarchical state machines)",
105
+ // architecture
106
+ "architecture.client": "the originating actor (browser, mobile app, external caller)",
107
+ "architecture.gateway": "a routing/edge layer (API gateway, reverse proxy, load balancer)",
108
+ "architecture.service": "a long-running runtime component with its own deployment",
109
+ "architecture.module": "an in-process code module — a library or subsystem",
110
+ "architecture.datastore": "a persistent store (database, file system, blob storage)",
111
+ "architecture.queue": "an async messaging primitive (queue, topic, stream)",
112
+ "architecture.external": "a third-party system outside the scope of this codebase",
113
+ // protocol
114
+ "protocol.actor": "a participant whose timeline runs as a vertical lane",
115
+ "protocol.group": "a collection of actors treated as a unit for diagram clarity",
116
+ };
117
+ export const EDGE_KIND_DEFINITIONS = {
118
+ // flow
119
+ "flow.next": "sequential continuation — control moves to the next node unconditionally",
120
+ "flow.branch_true": "the truthy branch out of a flow.branch node",
121
+ "flow.branch_false": "the falsy branch out of a flow.branch node",
122
+ "flow.loop_back": "the back-edge that returns control to the loop header",
123
+ "flow.fallthrough": "a case-fallthrough or implicit continuation (e.g., switch without break)",
124
+ // state
125
+ "state.transition": "a transition from one state to a different state",
126
+ "state.self_transition": "a transition whose source and target are the same state",
127
+ // architecture
128
+ "architecture.call_sync": "a synchronous request/response call (HTTP, RPC, function call)",
129
+ "architecture.call_async": "a fire-and-forget call where the caller does not block on the response",
130
+ "architecture.event": "a published event the consumer may or may not handle",
131
+ "architecture.data_flow": "data movement (read/write) between a component and a datastore",
132
+ "architecture.depends_on": "a static dependency edge — A imports/uses B",
133
+ // protocol
134
+ "protocol.request": "a request message sent from one actor to another",
135
+ "protocol.response": "the reply to a request",
136
+ "protocol.async_message": "a message sent without expecting a synchronous reply",
137
+ "protocol.return": "a return from a previously-invoked synchronous call",
138
+ "protocol.create": "an actor creates another actor (e.g., spawn, instantiate)",
139
+ "protocol.destroy": "an actor terminates another actor (e.g., close, dispose)",
140
+ };
141
+ //# sourceMappingURL=kinds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kinds.js","sourceRoot":"","sources":["../../../shared/design/kinds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare const LENSES: readonly ["flow", "architecture", "state", "protocol"];
2
+ export type Lens = (typeof LENSES)[number];
3
+ export interface LensDefinition {
4
+ name: Lens;
5
+ summary: string;
6
+ description: string;
7
+ signals: string;
8
+ tiebreakers: string;
9
+ }
10
+ export declare const LENS_DEFINITIONS: Record<Lens, LensDefinition>;
11
+ //# sourceMappingURL=lenses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lenses.d.ts","sourceRoot":"","sources":["../../../shared/design/lenses.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,MAAM,wDAAyD,CAAC;AAC7E,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc,CAyCzD,CAAC"}
@@ -0,0 +1,36 @@
1
+ // Canonical lens vocabulary. The single source of truth for: zod schema
2
+ // (shared/diagram-spec.ts), prompt template builder (scripts/gen-prompt.ts),
3
+ // and the LensSwitcher UI. Adding a new lens means adding it here, then
4
+ // rebuilding so the prompt and schema absorb it together.
5
+ export const LENSES = ["flow", "architecture", "state", "protocol"];
6
+ export const LENS_DEFINITIONS = {
7
+ flow: {
8
+ name: "flow",
9
+ summary: "Branching and looping logic within a single function or file.",
10
+ description: "Use when the scope is one or two functions and the interesting question is \"what path does execution take?\"",
11
+ signals: "nested conditionals, loops, early returns, error branches.",
12
+ tiebreakers: "If the scope is a single function with branching, prefer flow over state.",
13
+ },
14
+ state: {
15
+ name: "state",
16
+ summary: "Explicit state machines: a small set of named states with transitions triggered by events.",
17
+ description: "Use when the code contains a state variable (an enum, a `status` field, a phase) that controls behavior.",
18
+ signals: "switch statements over a status, setState calls that name a phase, finite-state-machine libraries, async lifecycles like idle → loading → success / error.",
19
+ tiebreakers: "If two lenses fit equally well, pick the one the reader is more likely to need now and put the other in alternative_lenses.",
20
+ },
21
+ architecture: {
22
+ name: "architecture",
23
+ summary: "Relationships between multiple modules, services, or layers.",
24
+ description: "Use when the scope spans multiple files and the interesting question is \"what depends on what, and how does data move?\"",
25
+ signals: "imports across modules, service boundaries, layered code (controller → service → repository).",
26
+ tiebreakers: "If the scope is multiple files with one clear caller / callee chain, prefer architecture over flow.",
27
+ },
28
+ protocol: {
29
+ name: "protocol",
30
+ summary: "Message exchanges between actors over time.",
31
+ description: "Use when the scope describes a sequence of interactions: client and server, producer and consumer, two threads or processes coordinating.",
32
+ signals: "request/response pairs, pub/sub, async messaging, multi-step handshakes (auth flows, OAuth, websocket setup).",
33
+ tiebreakers: "Pick protocol when the temporal ordering of messages is the load-bearing thing — otherwise use architecture.",
34
+ },
35
+ };
36
+ //# sourceMappingURL=lenses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lenses.js","sourceRoot":"","sources":["../../../shared/design/lenses.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,6EAA6E;AAC7E,wEAAwE;AACxE,0DAA0D;AAE1D,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,CAAU,CAAC;AAW7E,MAAM,CAAC,MAAM,gBAAgB,GAAiC;IAC5D,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,+DAA+D;QACxE,WAAW,EACT,+GAA+G;QACjH,OAAO,EAAE,4DAA4D;QACrE,WAAW,EACT,2EAA2E;KAC9E;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,OAAO,EACL,4FAA4F;QAC9F,WAAW,EACT,0GAA0G;QAC5G,OAAO,EACL,4JAA4J;QAC9J,WAAW,EACT,6HAA6H;KAChI;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,8DAA8D;QACvE,WAAW,EACT,2HAA2H;QAC7H,OAAO,EACL,+FAA+F;QACjG,WAAW,EACT,qGAAqG;KACxG;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,6CAA6C;QACtD,WAAW,EACT,2IAA2I;QAC7I,OAAO,EACL,+GAA+G;QACjH,WAAW,EACT,8GAA8G;KACjH;CACF,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { AccentName } from "./tokens.js";
2
+ export type Shape = "rect" | "rounded_rect" | "circle" | "diamond" | "cylinder";
3
+ export type Fill = "solid" | "tinted" | "none";
4
+ export type Stroke = "solid" | "dashed" | "double";
5
+ export type Arrowhead = "standard" | "open" | "none";
6
+ export interface NodeStyleSpec {
7
+ shape: Shape;
8
+ accent: AccentName;
9
+ fill?: Fill;
10
+ stroke?: Stroke;
11
+ activeAccent?: AccentName;
12
+ activeStroke?: "pulsing";
13
+ }
14
+ export interface EdgeStyleSpec {
15
+ stroke: Stroke;
16
+ accent: AccentName;
17
+ arrowhead?: Arrowhead;
18
+ activeAccent?: AccentName;
19
+ }
20
+ export declare const NODE_STYLES: Record<string, NodeStyleSpec>;
21
+ export declare const EDGE_STYLES: Record<string, EdgeStyleSpec>;
22
+ export declare const DEFAULT_NODE_STYLE: NodeStyleSpec;
23
+ export declare const DEFAULT_EDGE_STYLE: EdgeStyleSpec;
24
+ //# sourceMappingURL=node-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-styles.d.ts","sourceRoot":"","sources":["../../../shared/design/node-styles.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,KAAK,GACb,MAAM,GACN,cAAc,GACd,QAAQ,GACR,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,MAAM,IAAI,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC/C,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,UAAU,CAAC;CAC3B;AAGD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAyCrD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CA8FrD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,aAGhC,CAAC;AACF,eAAO,MAAM,kBAAkB,EAAE,aAIhC,CAAC"}
@@ -0,0 +1,150 @@
1
+ // Visual mapping from (lens, kind) to a renderable style spec. Consumed by
2
+ // web/src/diagram/DiagramNode.tsx and DiagramEdge.tsx (and by t10's
3
+ // GraphRenderer when it ships). Every (lens, kind) combo in kinds.ts MUST
4
+ // have an entry — kinds.test.ts enforces parity.
5
+ //
6
+ // If a future spec references a combo that isn't here (defense-in-depth for
7
+ // the LLM emitting something through a partial-parse gap), DiagramNode falls
8
+ // back to DEFAULT_NODE_STYLE and console.warn's. Same for edges.
9
+ // Keys are `${Lens}.${kind}`. Order mirrors kinds.ts for review-ability.
10
+ export const NODE_STYLES = {
11
+ // flow
12
+ "flow.entry": { shape: "rounded_rect", accent: "success", fill: "tinted" },
13
+ "flow.call": { shape: "rounded_rect", accent: "primary", fill: "none" },
14
+ "flow.branch": { shape: "diamond", accent: "warning" },
15
+ "flow.loop": { shape: "rounded_rect", accent: "info", stroke: "dashed" },
16
+ "flow.await": { shape: "rounded_rect", accent: "info", fill: "tinted" },
17
+ "flow.throw": { shape: "rect", accent: "error", fill: "tinted" },
18
+ "flow.catch": { shape: "rounded_rect", accent: "error", stroke: "dashed" },
19
+ "flow.return": { shape: "rounded_rect", accent: "neutral", fill: "tinted" },
20
+ // state
21
+ "state.initial": { shape: "circle", accent: "success", fill: "solid" },
22
+ "state.intermediate": { shape: "rounded_rect", accent: "primary" },
23
+ "state.terminal": { shape: "circle", accent: "neutral", stroke: "double" },
24
+ "state.composite": {
25
+ shape: "rounded_rect",
26
+ accent: "info",
27
+ stroke: "dashed",
28
+ },
29
+ // architecture
30
+ "architecture.client": { shape: "rounded_rect", accent: "neutral" },
31
+ "architecture.gateway": {
32
+ shape: "rounded_rect",
33
+ accent: "warning",
34
+ fill: "tinted",
35
+ },
36
+ "architecture.service": { shape: "rounded_rect", accent: "primary" },
37
+ "architecture.module": { shape: "rect", accent: "neutral" },
38
+ "architecture.datastore": { shape: "cylinder", accent: "info" },
39
+ "architecture.queue": { shape: "rect", accent: "info", fill: "tinted" },
40
+ "architecture.external": {
41
+ shape: "rect",
42
+ accent: "warning",
43
+ stroke: "dashed",
44
+ },
45
+ // protocol
46
+ "protocol.actor": { shape: "rounded_rect", accent: "primary" },
47
+ "protocol.group": { shape: "rect", accent: "neutral", stroke: "dashed" },
48
+ };
49
+ export const EDGE_STYLES = {
50
+ // flow
51
+ "flow.next": { stroke: "solid", accent: "neutral", arrowhead: "standard" },
52
+ "flow.branch_true": {
53
+ stroke: "solid",
54
+ accent: "success",
55
+ arrowhead: "standard",
56
+ },
57
+ "flow.branch_false": {
58
+ stroke: "solid",
59
+ accent: "warning",
60
+ arrowhead: "standard",
61
+ },
62
+ "flow.loop_back": {
63
+ stroke: "dashed",
64
+ accent: "info",
65
+ arrowhead: "standard",
66
+ },
67
+ "flow.fallthrough": {
68
+ stroke: "dashed",
69
+ accent: "neutral",
70
+ arrowhead: "open",
71
+ },
72
+ // state
73
+ "state.transition": {
74
+ stroke: "solid",
75
+ accent: "primary",
76
+ arrowhead: "standard",
77
+ },
78
+ "state.self_transition": {
79
+ stroke: "solid",
80
+ accent: "info",
81
+ arrowhead: "standard",
82
+ },
83
+ // architecture
84
+ "architecture.call_sync": {
85
+ stroke: "solid",
86
+ accent: "primary",
87
+ arrowhead: "standard",
88
+ },
89
+ "architecture.call_async": {
90
+ stroke: "dashed",
91
+ accent: "info",
92
+ arrowhead: "standard",
93
+ },
94
+ "architecture.event": {
95
+ stroke: "dashed",
96
+ accent: "warning",
97
+ arrowhead: "open",
98
+ },
99
+ "architecture.data_flow": {
100
+ stroke: "solid",
101
+ accent: "info",
102
+ arrowhead: "open",
103
+ },
104
+ "architecture.depends_on": {
105
+ stroke: "solid",
106
+ accent: "neutral",
107
+ arrowhead: "standard",
108
+ },
109
+ // protocol
110
+ "protocol.request": {
111
+ stroke: "solid",
112
+ accent: "primary",
113
+ arrowhead: "standard",
114
+ },
115
+ "protocol.response": {
116
+ stroke: "dashed",
117
+ accent: "primary",
118
+ arrowhead: "standard",
119
+ },
120
+ "protocol.async_message": {
121
+ stroke: "dashed",
122
+ accent: "info",
123
+ arrowhead: "open",
124
+ },
125
+ "protocol.return": {
126
+ stroke: "dashed",
127
+ accent: "neutral",
128
+ arrowhead: "standard",
129
+ },
130
+ "protocol.create": {
131
+ stroke: "solid",
132
+ accent: "success",
133
+ arrowhead: "standard",
134
+ },
135
+ "protocol.destroy": {
136
+ stroke: "solid",
137
+ accent: "error",
138
+ arrowhead: "standard",
139
+ },
140
+ };
141
+ export const DEFAULT_NODE_STYLE = {
142
+ shape: "rounded_rect",
143
+ accent: "neutral",
144
+ };
145
+ export const DEFAULT_EDGE_STYLE = {
146
+ stroke: "solid",
147
+ accent: "neutral",
148
+ arrowhead: "standard",
149
+ };
150
+ //# sourceMappingURL=node-styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-styles.js","sourceRoot":"","sources":["../../../shared/design/node-styles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function renderLensDefinitions(): string;
2
+ export declare function renderNodeKindTable(): string;
3
+ export declare function renderEdgeKindTable(): string;
4
+ //# sourceMappingURL=prompt-fragments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-fragments.d.ts","sourceRoot":"","sources":["../../../shared/design/prompt-fragments.ts"],"names":[],"mappings":"AAYA,wBAAgB,qBAAqB,IAAI,MAAM,CAS9C;AAmBD,wBAAgB,mBAAmB,IAAI,MAAM,CAQ5C;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAQ5C"}
@@ -0,0 +1,45 @@
1
+ // Markdown fragments composed into the diagram-spec prompt at build time
2
+ // by scripts/gen-prompt.ts. Each function returns prose that mirrors the
3
+ // canonical data in lenses.ts / kinds.ts — never duplicate, always derive.
4
+ import { LENSES, LENS_DEFINITIONS } from "./lenses.js";
5
+ import { NODE_KINDS_BY_LENS, EDGE_KINDS_BY_LENS, NODE_KIND_DEFINITIONS, EDGE_KIND_DEFINITIONS, } from "./kinds.js";
6
+ export function renderLensDefinitions() {
7
+ return LENSES.map((lens) => {
8
+ const def = LENS_DEFINITIONS[lens];
9
+ return [
10
+ `- **\`${lens}\`** — ${def.summary} ${def.description}`,
11
+ ` - **Signals:** ${def.signals}`,
12
+ ` - **Tiebreaker:** ${def.tiebreakers}`,
13
+ ].join("\n");
14
+ }).join("\n\n");
15
+ }
16
+ function renderKindRow(lens, kind, definition) {
17
+ return `| \`${lens}.${kind}\` | ${definition} |`;
18
+ }
19
+ function renderTableForLens(lens, kinds, definitions) {
20
+ const rows = kinds.map((k) => {
21
+ const key = `${lens}.${k}`;
22
+ const def = definitions[key] ?? "(no definition — fix this in shared/design/kinds.ts)";
23
+ return renderKindRow(lens, k, def);
24
+ });
25
+ return rows.join("\n");
26
+ }
27
+ export function renderNodeKindTable() {
28
+ const header = "| kind | definition |\n|---|---|";
29
+ const sections = LENSES.map((lens) => {
30
+ const kinds = NODE_KINDS_BY_LENS[lens];
31
+ const table = renderTableForLens(lens, kinds, NODE_KIND_DEFINITIONS);
32
+ return `\n### ${lens}\n\n${header}\n${table}\n`;
33
+ });
34
+ return sections.join("");
35
+ }
36
+ export function renderEdgeKindTable() {
37
+ const header = "| kind | definition |\n|---|---|";
38
+ const sections = LENSES.map((lens) => {
39
+ const kinds = EDGE_KINDS_BY_LENS[lens];
40
+ const table = renderTableForLens(lens, kinds, EDGE_KIND_DEFINITIONS);
41
+ return `\n### ${lens}\n\n${header}\n${table}\n`;
42
+ });
43
+ return sections.join("");
44
+ }
45
+ //# sourceMappingURL=prompt-fragments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-fragments.js","sourceRoot":"","sources":["../../../shared/design/prompt-fragments.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,yEAAyE;AACzE,2EAA2E;AAE3E,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,MAAM,UAAU,qBAAqB;IACnC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACzB,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO;YACL,SAAS,IAAI,UAAU,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE;YACvD,oBAAoB,GAAG,CAAC,OAAO,EAAE;YACjC,uBAAuB,GAAG,CAAC,WAAW,EAAE;SACzC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,IAAY,EAAE,UAAkB;IACnE,OAAO,OAAO,IAAI,IAAI,IAAI,QAAQ,UAAU,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,kBAAkB,CACzB,IAAY,EACZ,KAAwB,EACxB,WAAmC;IAEnC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3B,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,sDAAsD,CAAC;QACvF,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,kCAAkC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;QACrE,OAAO,SAAS,IAAI,OAAO,MAAM,KAAK,KAAK,IAAI,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,kCAAkC,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC;QACrE,OAAO,SAAS,IAAI,OAAO,MAAM,KAAK,KAAK,IAAI,CAAC;IAClD,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,102 @@
1
+ export declare const tokens: {
2
+ readonly color: {
3
+ readonly canvas: "#0D1117";
4
+ readonly panel: "#161B22";
5
+ readonly overlay: "rgba(1, 4, 9, 0.7)";
6
+ readonly text_primary: "#C9D1D9";
7
+ readonly text_secondary: "#8B949E";
8
+ readonly text_muted: "#6E7681";
9
+ readonly text_inverse: "#0D1117";
10
+ readonly accent: {
11
+ readonly primary: {
12
+ readonly fg: "#79C0FF";
13
+ readonly bg: "rgba(56, 139, 253, 0.15)";
14
+ readonly stroke: "#58A6FF";
15
+ };
16
+ readonly success: {
17
+ readonly fg: "#56D364";
18
+ readonly bg: "rgba(46, 160, 67, 0.15)";
19
+ readonly stroke: "#2EA043";
20
+ };
21
+ readonly warning: {
22
+ readonly fg: "#E3B341";
23
+ readonly bg: "rgba(187, 128, 9, 0.15)";
24
+ readonly stroke: "#BB8009";
25
+ };
26
+ readonly error: {
27
+ readonly fg: "#F85149";
28
+ readonly bg: "rgba(218, 54, 51, 0.15)";
29
+ readonly stroke: "#DA3633";
30
+ };
31
+ readonly info: {
32
+ readonly fg: "#79C0FF";
33
+ readonly bg: "rgba(56, 139, 253, 0.15)";
34
+ readonly stroke: "#58A6FF";
35
+ };
36
+ readonly neutral: {
37
+ readonly fg: "#8B949E";
38
+ readonly bg: "rgba(139, 148, 158, 0.1)";
39
+ readonly stroke: "#30363D";
40
+ };
41
+ };
42
+ readonly border_default: "#30363D";
43
+ readonly border_emphasis: "#484F58";
44
+ readonly focus_ring: "#58A6FF";
45
+ };
46
+ readonly space: {
47
+ readonly xs: "4px";
48
+ readonly sm: "8px";
49
+ readonly md: "16px";
50
+ readonly lg: "24px";
51
+ readonly xl: "32px";
52
+ readonly xxl: "48px";
53
+ };
54
+ readonly radius: {
55
+ readonly sm: "4px";
56
+ readonly md: "8px";
57
+ readonly lg: "12px";
58
+ readonly pill: "999px";
59
+ };
60
+ readonly shadow: {
61
+ readonly e1: "0 1px 2px rgba(31, 35, 40, 0.06), 0 1px 1px rgba(31, 35, 40, 0.04)";
62
+ readonly e2: "0 4px 8px rgba(31, 35, 40, 0.08), 0 2px 4px rgba(31, 35, 40, 0.04)";
63
+ readonly e3: "0 12px 24px rgba(31, 35, 40, 0.12), 0 4px 8px rgba(31, 35, 40, 0.06)";
64
+ };
65
+ readonly font: {
66
+ readonly family_ui: "system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif";
67
+ readonly family_mono: "ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace";
68
+ readonly size: {
69
+ readonly xs: "11px";
70
+ readonly sm: "12px";
71
+ readonly md: "14px";
72
+ readonly lg: "16px";
73
+ readonly xl: "20px";
74
+ readonly xxl: "24px";
75
+ };
76
+ readonly weight: {
77
+ readonly regular: 400;
78
+ readonly medium: 500;
79
+ readonly semibold: 600;
80
+ readonly bold: 700;
81
+ };
82
+ readonly lineHeight: {
83
+ readonly tight: 1.25;
84
+ readonly normal: 1.5;
85
+ readonly relaxed: 1.7;
86
+ };
87
+ };
88
+ readonly motion: {
89
+ readonly fast: "150ms ease-out";
90
+ readonly medium: "250ms ease-out";
91
+ readonly slow: "400ms ease-out";
92
+ };
93
+ readonly zIndex: {
94
+ readonly base: 0;
95
+ readonly raised: 10;
96
+ readonly overlay: 100;
97
+ readonly tooltip: 1000;
98
+ };
99
+ };
100
+ export type Tokens = typeof tokens;
101
+ export type AccentName = keyof typeof tokens.color.accent;
102
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../shared/design/tokens.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6GT,CAAC;AAEX,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AACnC,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC"}