@mytechtoday/augment-extensions 1.7.0 → 2.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 (465) hide show
  1. package/README.md +240 -19
  2. package/augment-extensions/coding-standards/bash/CHANGELOG.md +51 -0
  3. package/augment-extensions/coding-standards/bash/metadata.json +21 -0
  4. package/augment-extensions/coding-standards/c/metadata.json +50 -0
  5. package/augment-extensions/coding-standards/css/CHANGELOG.md +51 -0
  6. package/augment-extensions/coding-standards/css/metadata.json +30 -0
  7. package/augment-extensions/coding-standards/go/CHANGELOG.md +51 -0
  8. package/augment-extensions/coding-standards/go/metadata.json +57 -0
  9. package/augment-extensions/coding-standards/html/CHANGELOG.md +51 -0
  10. package/augment-extensions/coding-standards/html/metadata.json +25 -0
  11. package/augment-extensions/coding-standards/html-css-js/CHANGELOG.md +51 -0
  12. package/augment-extensions/coding-standards/html-css-js/metadata.json +40 -0
  13. package/augment-extensions/coding-standards/js/CHANGELOG.md +51 -0
  14. package/augment-extensions/coding-standards/js/metadata.json +37 -0
  15. package/augment-extensions/coding-standards/perl/README.md +173 -0
  16. package/augment-extensions/coding-standards/php/CHANGELOG.md +51 -0
  17. package/augment-extensions/coding-standards/php/metadata.json +35 -0
  18. package/augment-extensions/coding-standards/powershell/CHANGELOG.md +51 -0
  19. package/augment-extensions/coding-standards/powershell/metadata.json +33 -0
  20. package/augment-extensions/coding-standards/python/CHANGELOG.md +51 -0
  21. package/augment-extensions/coding-standards/python/metadata.json +38 -0
  22. package/augment-extensions/coding-standards/react/CHANGELOG.md +51 -0
  23. package/augment-extensions/coding-standards/react/metadata.json +31 -0
  24. package/augment-extensions/coding-standards/typescript/CHANGELOG.md +39 -0
  25. package/augment-extensions/coding-standards/typescript/README.md +248 -19
  26. package/augment-extensions/coding-standards/typescript/VERSION +2 -0
  27. package/augment-extensions/coding-standards/typescript/examples/biome.json +199 -0
  28. package/augment-extensions/coding-standards/typescript/examples/eslint-flat-config.js +166 -0
  29. package/augment-extensions/coding-standards/typescript/examples/monorepo-config/README.md +47 -0
  30. package/augment-extensions/coding-standards/typescript/examples/monorepo-config/package.json +37 -0
  31. package/augment-extensions/coding-standards/typescript/examples/monorepo-config/pnpm-workspace.yaml +5 -0
  32. package/augment-extensions/coding-standards/typescript/examples/monorepo-config/tsconfig.base.json +50 -0
  33. package/augment-extensions/coding-standards/typescript/examples/monorepo-config/turbo.json +47 -0
  34. package/augment-extensions/coding-standards/typescript/examples/vitest-setup.ts +198 -0
  35. package/augment-extensions/coding-standards/typescript/metadata.json +46 -0
  36. package/augment-extensions/coding-standards/typescript/module.json +25 -7
  37. package/augment-extensions/coding-standards/typescript/rules/architecture.md +1096 -0
  38. package/augment-extensions/coding-standards/typescript/rules/error-handling.md +1174 -0
  39. package/augment-extensions/coding-standards/typescript/rules/modern-features.md +625 -0
  40. package/augment-extensions/coding-standards/typescript/rules/monorepo.md +745 -0
  41. package/augment-extensions/coding-standards/typescript/rules/security-performance.md +850 -0
  42. package/augment-extensions/coding-standards/typescript/rules/testing.md +918 -0
  43. package/augment-extensions/coding-standards/typescript/rules/tooling.md +1071 -0
  44. package/augment-extensions/coding-standards/typescript/rules/type-patterns.md +750 -0
  45. package/augment-extensions/domain-rules/api-design/CHANGELOG.md +51 -0
  46. package/augment-extensions/domain-rules/api-design/metadata.json +32 -0
  47. package/augment-extensions/domain-rules/database/CHANGELOG.md +51 -0
  48. package/augment-extensions/domain-rules/database/metadata.json +50 -0
  49. package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/CHANGELOG.md +51 -0
  50. package/augment-extensions/domain-rules/design/color/themes/catppuccin-latte/metadata.json +18 -0
  51. package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/CHANGELOG.md +51 -0
  52. package/augment-extensions/domain-rules/design/color/themes/catppuccin-mocha/metadata.json +18 -0
  53. package/augment-extensions/domain-rules/design/color/themes/dracula/CHANGELOG.md +51 -0
  54. package/augment-extensions/domain-rules/design/color/themes/dracula/metadata.json +18 -0
  55. package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/CHANGELOG.md +51 -0
  56. package/augment-extensions/domain-rules/design/color/themes/gruvbox-dark/metadata.json +18 -0
  57. package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/CHANGELOG.md +51 -0
  58. package/augment-extensions/domain-rules/design/color/themes/gruvbox-light/metadata.json +18 -0
  59. package/augment-extensions/domain-rules/design/color/themes/high-contrast/CHANGELOG.md +51 -0
  60. package/augment-extensions/domain-rules/design/color/themes/high-contrast/metadata.json +18 -0
  61. package/augment-extensions/domain-rules/design/color/themes/monokai/CHANGELOG.md +51 -0
  62. package/augment-extensions/domain-rules/design/color/themes/monokai/metadata.json +18 -0
  63. package/augment-extensions/domain-rules/design/color/themes/nord/CHANGELOG.md +51 -0
  64. package/augment-extensions/domain-rules/design/color/themes/nord/metadata.json +18 -0
  65. package/augment-extensions/domain-rules/design/color/themes/one-dark/CHANGELOG.md +51 -0
  66. package/augment-extensions/domain-rules/design/color/themes/one-dark/metadata.json +18 -0
  67. package/augment-extensions/domain-rules/design/color/themes/one-light/CHANGELOG.md +51 -0
  68. package/augment-extensions/domain-rules/design/color/themes/one-light/metadata.json +18 -0
  69. package/augment-extensions/domain-rules/design/color/themes/solarized-dark/CHANGELOG.md +51 -0
  70. package/augment-extensions/domain-rules/design/color/themes/solarized-dark/metadata.json +18 -0
  71. package/augment-extensions/domain-rules/design/color/themes/solarized-light/CHANGELOG.md +51 -0
  72. package/augment-extensions/domain-rules/design/color/themes/solarized-light/metadata.json +18 -0
  73. package/augment-extensions/domain-rules/design/color/themes/tokyo-night/CHANGELOG.md +51 -0
  74. package/augment-extensions/domain-rules/design/color/themes/tokyo-night/metadata.json +18 -0
  75. package/augment-extensions/domain-rules/mcp/CHANGELOG.md +51 -0
  76. package/augment-extensions/domain-rules/mcp/metadata.json +42 -0
  77. package/augment-extensions/domain-rules/security/CHANGELOG.md +51 -0
  78. package/augment-extensions/domain-rules/security/metadata.json +33 -0
  79. package/augment-extensions/domain-rules/seo-sales-marketing/CHANGELOG.md +51 -0
  80. package/augment-extensions/domain-rules/seo-sales-marketing/metadata.json +40 -0
  81. package/augment-extensions/domain-rules/software-architecture/CHANGELOG.md +51 -0
  82. package/augment-extensions/domain-rules/software-architecture/metadata.json +55 -0
  83. package/augment-extensions/domain-rules/wordpress/CHANGELOG.md +51 -0
  84. package/augment-extensions/domain-rules/wordpress/metadata.json +42 -0
  85. package/augment-extensions/domain-rules/wordpress-plugin/CHANGELOG.md +51 -0
  86. package/augment-extensions/domain-rules/wordpress-plugin/metadata.json +70 -0
  87. package/augment-extensions/examples/design-patterns/CHANGELOG.md +51 -0
  88. package/augment-extensions/examples/design-patterns/metadata.json +29 -0
  89. package/augment-extensions/examples/gutenberg-block-plugin/CHANGELOG.md +51 -0
  90. package/augment-extensions/examples/gutenberg-block-plugin/metadata.json +26 -0
  91. package/augment-extensions/examples/rest-api-plugin/CHANGELOG.md +51 -0
  92. package/augment-extensions/examples/rest-api-plugin/metadata.json +27 -0
  93. package/augment-extensions/examples/woocommerce-extension/CHANGELOG.md +51 -0
  94. package/augment-extensions/examples/woocommerce-extension/metadata.json +27 -0
  95. package/augment-extensions/visual-design/metadata.json +34 -0
  96. package/augment-extensions/workflows/adr-support/CHANGELOG.md +51 -0
  97. package/augment-extensions/workflows/adr-support/metadata.json +41 -0
  98. package/augment-extensions/workflows/beads/CHANGELOG.md +51 -0
  99. package/augment-extensions/workflows/beads/metadata.json +23 -0
  100. package/augment-extensions/workflows/beads-integration/CHANGELOG.md +51 -0
  101. package/augment-extensions/workflows/beads-integration/metadata.json +30 -0
  102. package/augment-extensions/workflows/database/CHANGELOG.md +51 -0
  103. package/augment-extensions/workflows/database/metadata.json +30 -0
  104. package/augment-extensions/workflows/wordpress-plugin/CHANGELOG.md +51 -0
  105. package/augment-extensions/workflows/wordpress-plugin/metadata.json +41 -0
  106. package/augment-extensions/writing-standards/literature/shakespeare/CHANGELOG.md +51 -0
  107. package/augment-extensions/writing-standards/literature/shakespeare/metadata.json +60 -0
  108. package/augment-extensions/writing-standards/screenplay/CHANGELOG.md +51 -0
  109. package/augment-extensions/writing-standards/screenplay/cinematic-styles/CHANGELOG.md +51 -0
  110. package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/CHANGELOG.md +51 -0
  111. package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/metadata.json +24 -0
  112. package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/monty-python/CHANGELOG.md +51 -0
  113. package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/monty-python/metadata.json +24 -0
  114. package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/saturday-night-live/CHANGELOG.md +51 -0
  115. package/augment-extensions/writing-standards/screenplay/cinematic-styles/comedy-formats/saturday-night-live/metadata.json +24 -0
  116. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/CHANGELOG.md +51 -0
  117. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/alfred-hitchcock/CHANGELOG.md +51 -0
  118. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/alfred-hitchcock/metadata.json +24 -0
  119. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/ari-aster/CHANGELOG.md +51 -0
  120. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/ari-aster/metadata.json +24 -0
  121. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brad-bird/CHANGELOG.md +51 -0
  122. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brad-bird/metadata.json +24 -0
  123. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brian-de-palma/CHANGELOG.md +51 -0
  124. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/brian-de-palma/metadata.json +24 -0
  125. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/buster-keaton/CHANGELOG.md +51 -0
  126. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/buster-keaton/metadata.json +24 -0
  127. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/christopher-nolan/CHANGELOG.md +51 -0
  128. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/christopher-nolan/metadata.json +24 -0
  129. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/clint-eastwood/CHANGELOG.md +51 -0
  130. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/clint-eastwood/metadata.json +24 -0
  131. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/coen-brothers/CHANGELOG.md +51 -0
  132. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/coen-brothers/metadata.json +24 -0
  133. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/darren-aronofsky/CHANGELOG.md +51 -0
  134. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/darren-aronofsky/metadata.json +24 -0
  135. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-fincher/CHANGELOG.md +51 -0
  136. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-fincher/metadata.json +24 -0
  137. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-lynch/CHANGELOG.md +51 -0
  138. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/david-lynch/metadata.json +24 -0
  139. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/denis-villeneuve/CHANGELOG.md +51 -0
  140. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/denis-villeneuve/metadata.json +24 -0
  141. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/francis-ford-coppola/CHANGELOG.md +51 -0
  142. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/francis-ford-coppola/metadata.json +24 -0
  143. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gary-marshall/CHANGELOG.md +51 -0
  144. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gary-marshall/metadata.json +24 -0
  145. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-a-romero/CHANGELOG.md +51 -0
  146. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-a-romero/metadata.json +24 -0
  147. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-lucas/CHANGELOG.md +51 -0
  148. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/george-lucas/metadata.json +24 -0
  149. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/guillermo-del-toro/CHANGELOG.md +51 -0
  150. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/guillermo-del-toro/metadata.json +24 -0
  151. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gus-van-sant/CHANGELOG.md +51 -0
  152. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/gus-van-sant/metadata.json +24 -0
  153. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/james-ivory-ismail-merchant/CHANGELOG.md +51 -0
  154. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/james-ivory-ismail-merchant/metadata.json +24 -0
  155. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jim-jarmusch/CHANGELOG.md +51 -0
  156. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jim-jarmusch/metadata.json +24 -0
  157. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-carpenter/CHANGELOG.md +51 -0
  158. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-carpenter/metadata.json +24 -0
  159. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-ford/CHANGELOG.md +51 -0
  160. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-ford/metadata.json +24 -0
  161. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-huston/CHANGELOG.md +51 -0
  162. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-huston/metadata.json +24 -0
  163. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-landis/CHANGELOG.md +51 -0
  164. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/john-landis/metadata.json +24 -0
  165. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jonathan-demme/CHANGELOG.md +51 -0
  166. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/jonathan-demme/metadata.json +24 -0
  167. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/joseph-l-mankiewicz/CHANGELOG.md +51 -0
  168. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/joseph-l-mankiewicz/metadata.json +24 -0
  169. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kathryn-bigelow/CHANGELOG.md +51 -0
  170. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kathryn-bigelow/metadata.json +24 -0
  171. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kelly-reichardt/CHANGELOG.md +51 -0
  172. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kelly-reichardt/metadata.json +24 -0
  173. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kevin-smith/CHANGELOG.md +51 -0
  174. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/kevin-smith/metadata.json +24 -0
  175. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/linda-shayne/CHANGELOG.md +51 -0
  176. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/linda-shayne/metadata.json +24 -0
  177. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/martin-scorsese/CHANGELOG.md +51 -0
  178. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/martin-scorsese/metadata.json +24 -0
  179. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mel-brooks/CHANGELOG.md +51 -0
  180. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mel-brooks/metadata.json +24 -0
  181. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/metadata.json +25 -0
  182. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-curtiz/CHANGELOG.md +51 -0
  183. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-curtiz/metadata.json +24 -0
  184. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-mann/CHANGELOG.md +51 -0
  185. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/michael-mann/metadata.json +24 -0
  186. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mike-nichols/CHANGELOG.md +51 -0
  187. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/mike-nichols/metadata.json +24 -0
  188. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/orson-welles/CHANGELOG.md +51 -0
  189. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/orson-welles/metadata.json +24 -0
  190. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/park-chan-wook/CHANGELOG.md +51 -0
  191. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/park-chan-wook/metadata.json +24 -0
  192. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/paul-thomas-anderson/CHANGELOG.md +51 -0
  193. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/paul-thomas-anderson/metadata.json +24 -0
  194. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/penny-marshall/CHANGELOG.md +51 -0
  195. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/penny-marshall/metadata.json +24 -0
  196. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/peter-bogdanovich/CHANGELOG.md +51 -0
  197. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/peter-bogdanovich/metadata.json +24 -0
  198. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/quentin-tarantino/CHANGELOG.md +51 -0
  199. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/quentin-tarantino/metadata.json +24 -0
  200. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/richard-linklater/CHANGELOG.md +51 -0
  201. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/richard-linklater/metadata.json +24 -0
  202. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/rob-reiner/CHANGELOG.md +51 -0
  203. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/rob-reiner/metadata.json +24 -0
  204. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-altman/CHANGELOG.md +51 -0
  205. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-altman/metadata.json +24 -0
  206. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-eggers/CHANGELOG.md +51 -0
  207. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-eggers/metadata.json +24 -0
  208. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-zemeckis/CHANGELOG.md +51 -0
  209. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/robert-zemeckis/metadata.json +24 -0
  210. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sam-peckinpah/CHANGELOG.md +51 -0
  211. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sam-peckinpah/metadata.json +24 -0
  212. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sidney-lumet/CHANGELOG.md +51 -0
  213. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sidney-lumet/metadata.json +24 -0
  214. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/spike-lee/CHANGELOG.md +51 -0
  215. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/spike-lee/metadata.json +24 -0
  216. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-donen-gene-kelly/CHANGELOG.md +51 -0
  217. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-donen-gene-kelly/metadata.json +24 -0
  218. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-kubrick/CHANGELOG.md +51 -0
  219. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/stanley-kubrick/metadata.json +24 -0
  220. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steve-martin/CHANGELOG.md +51 -0
  221. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steve-martin/metadata.json +24 -0
  222. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steven-spielberg/CHANGELOG.md +51 -0
  223. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/steven-spielberg/metadata.json +24 -0
  224. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sydney-pollack/CHANGELOG.md +51 -0
  225. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/sydney-pollack/metadata.json +24 -0
  226. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/terry-gilliam/CHANGELOG.md +51 -0
  227. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/terry-gilliam/metadata.json +24 -0
  228. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tim-burton/CHANGELOG.md +51 -0
  229. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tim-burton/metadata.json +24 -0
  230. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tobe-hooper/CHANGELOG.md +51 -0
  231. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/tobe-hooper/metadata.json +24 -0
  232. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/wes-anderson/CHANGELOG.md +51 -0
  233. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/wes-anderson/metadata.json +24 -0
  234. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/william-friedkin/CHANGELOG.md +51 -0
  235. package/augment-extensions/writing-standards/screenplay/cinematic-styles/directors/william-friedkin/metadata.json +24 -0
  236. package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/CHANGELOG.md +51 -0
  237. package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/blue-ruin/CHANGELOG.md +51 -0
  238. package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/blue-ruin/metadata.json +24 -0
  239. package/augment-extensions/writing-standards/screenplay/cinematic-styles/films/metadata.json +24 -0
  240. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/CHANGELOG.md +51 -0
  241. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/fast-and-furious/CHANGELOG.md +51 -0
  242. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/fast-and-furious/metadata.json +24 -0
  243. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/harry-potter/CHANGELOG.md +51 -0
  244. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/harry-potter/metadata.json +24 -0
  245. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/james-bond/CHANGELOG.md +51 -0
  246. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/james-bond/metadata.json +24 -0
  247. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/john-wick/CHANGELOG.md +51 -0
  248. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/john-wick/metadata.json +24 -0
  249. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/lord-of-the-rings/CHANGELOG.md +51 -0
  250. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/lord-of-the-rings/metadata.json +24 -0
  251. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/mcu/CHANGELOG.md +51 -0
  252. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/mcu/metadata.json +25 -0
  253. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/metadata.json +25 -0
  254. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/CHANGELOG.md +51 -0
  255. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-trek/metadata.json +33 -0
  256. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-wars/CHANGELOG.md +51 -0
  257. package/augment-extensions/writing-standards/screenplay/cinematic-styles/franchises/star-wars/metadata.json +24 -0
  258. package/augment-extensions/writing-standards/screenplay/cinematic-styles/metadata.json +50 -0
  259. package/augment-extensions/writing-standards/screenplay/cinematic-styles/narrative-theory/CHANGELOG.md +51 -0
  260. package/augment-extensions/writing-standards/screenplay/cinematic-styles/narrative-theory/joseph-campbell/CHANGELOG.md +51 -0
  261. package/augment-extensions/writing-standards/screenplay/cinematic-styles/narrative-theory/joseph-campbell/metadata.json +24 -0
  262. package/augment-extensions/writing-standards/screenplay/cinematic-styles/narrative-theory/metadata.json +24 -0
  263. package/augment-extensions/writing-standards/screenplay/cinematic-styles/producers/CHANGELOG.md +51 -0
  264. package/augment-extensions/writing-standards/screenplay/cinematic-styles/producers/bruckheimer-and-simpson/CHANGELOG.md +51 -0
  265. package/augment-extensions/writing-standards/screenplay/cinematic-styles/producers/bruckheimer-and-simpson/metadata.json +24 -0
  266. package/augment-extensions/writing-standards/screenplay/cinematic-styles/producers/metadata.json +23 -0
  267. package/augment-extensions/writing-standards/screenplay/genres/CHANGELOG.md +51 -0
  268. package/augment-extensions/writing-standards/screenplay/genres/metadata.json +43 -0
  269. package/augment-extensions/writing-standards/screenplay/metadata.json +65 -0
  270. package/augment-extensions/writing-standards/screenplay/styles/CHANGELOG.md +51 -0
  271. package/augment-extensions/writing-standards/screenplay/styles/metadata.json +38 -0
  272. package/augment-extensions/writing-standards/screenplay/themes/CHANGELOG.md +51 -0
  273. package/augment-extensions/writing-standards/screenplay/themes/metadata.json +47 -0
  274. package/cli/dist/__test_health-checker.d.ts +2 -0
  275. package/cli/dist/__test_health-checker.d.ts.map +1 -0
  276. package/cli/dist/__test_health-checker.js +4 -0
  277. package/cli/dist/__test_health-checker.js.map +1 -0
  278. package/cli/dist/__test_template-engine.d.ts +2 -0
  279. package/cli/dist/__test_template-engine.d.ts.map +1 -0
  280. package/cli/dist/__test_template-engine.js +4 -0
  281. package/cli/dist/__test_template-engine.js.map +1 -0
  282. package/cli/dist/cli.js +25 -0
  283. package/cli/dist/cli.js.map +1 -1
  284. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.d.ts +1 -0
  285. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.d.ts.map +1 -1
  286. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.js +6 -0
  287. package/cli/dist/commands/generate-shot-list/formatter/json-formatter.js.map +1 -1
  288. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.d.ts +1 -0
  289. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.d.ts.map +1 -1
  290. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.js +6 -0
  291. package/cli/dist/commands/generate-shot-list/formatter/jsonl-formatter.js.map +1 -1
  292. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.d.ts +14 -0
  293. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.d.ts.map +1 -1
  294. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.js +46 -3
  295. package/cli/dist/commands/generate-shot-list/formatter/markdown-formatter.js.map +1 -1
  296. package/cli/dist/commands/generate-shot-list/generator/context-builder.d.ts +29 -1
  297. package/cli/dist/commands/generate-shot-list/generator/context-builder.d.ts.map +1 -1
  298. package/cli/dist/commands/generate-shot-list/generator/context-builder.js +310 -27
  299. package/cli/dist/commands/generate-shot-list/generator/context-builder.js.map +1 -1
  300. package/cli/dist/commands/generate-shot-list/generator/index.d.ts +26 -2
  301. package/cli/dist/commands/generate-shot-list/generator/index.d.ts.map +1 -1
  302. package/cli/dist/commands/generate-shot-list/generator/index.js +162 -10
  303. package/cli/dist/commands/generate-shot-list/generator/index.js.map +1 -1
  304. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.d.ts.map +1 -1
  305. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.js +1 -0
  306. package/cli/dist/commands/generate-shot-list/generator/metadata-extractor.js.map +1 -1
  307. package/cli/dist/commands/generate-shot-list/generator/types.d.ts +12 -2
  308. package/cli/dist/commands/generate-shot-list/generator/types.d.ts.map +1 -1
  309. package/cli/dist/commands/generate-shot-list/help-text.d.ts +1 -1
  310. package/cli/dist/commands/generate-shot-list/help-text.d.ts.map +1 -1
  311. package/cli/dist/commands/generate-shot-list/help-text.js +48 -5
  312. package/cli/dist/commands/generate-shot-list/help-text.js.map +1 -1
  313. package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.d.ts +11 -1
  314. package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.d.ts.map +1 -1
  315. package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.js +61 -1
  316. package/cli/dist/commands/generate-shot-list/logger/jsonl-writer.js.map +1 -1
  317. package/cli/dist/commands/generate-shot-list/parser/docx-parser.d.ts +29 -0
  318. package/cli/dist/commands/generate-shot-list/parser/docx-parser.d.ts.map +1 -0
  319. package/cli/dist/commands/generate-shot-list/parser/docx-parser.js +111 -0
  320. package/cli/dist/commands/generate-shot-list/parser/docx-parser.js.map +1 -0
  321. package/cli/dist/commands/generate-shot-list/parser/finaldraft-parser.d.ts +18 -0
  322. package/cli/dist/commands/generate-shot-list/parser/finaldraft-parser.d.ts.map +1 -0
  323. package/cli/dist/commands/generate-shot-list/parser/finaldraft-parser.js +184 -0
  324. package/cli/dist/commands/generate-shot-list/parser/finaldraft-parser.js.map +1 -0
  325. package/cli/dist/commands/generate-shot-list/parser/index.d.ts +4 -3
  326. package/cli/dist/commands/generate-shot-list/parser/index.d.ts.map +1 -1
  327. package/cli/dist/commands/generate-shot-list/parser/index.js +54 -3
  328. package/cli/dist/commands/generate-shot-list/parser/index.js.map +1 -1
  329. package/cli/dist/commands/generate-shot-list/parser/pdf-parser.d.ts +24 -0
  330. package/cli/dist/commands/generate-shot-list/parser/pdf-parser.d.ts.map +1 -0
  331. package/cli/dist/commands/generate-shot-list/parser/pdf-parser.js +84 -0
  332. package/cli/dist/commands/generate-shot-list/parser/pdf-parser.js.map +1 -0
  333. package/cli/dist/commands/generate-shot-list/parser/rtf-parser.d.ts +28 -0
  334. package/cli/dist/commands/generate-shot-list/parser/rtf-parser.d.ts.map +1 -0
  335. package/cli/dist/commands/generate-shot-list/parser/rtf-parser.js +143 -0
  336. package/cli/dist/commands/generate-shot-list/parser/rtf-parser.js.map +1 -0
  337. package/cli/dist/commands/generate-shot-list/parser/types.d.ts +9 -6
  338. package/cli/dist/commands/generate-shot-list/parser/types.d.ts.map +1 -1
  339. package/cli/dist/commands/generate-shot-list/parser/types.js.map +1 -1
  340. package/cli/dist/commands/generate-shot-list/schema/shot-list.schema.json +341 -0
  341. package/cli/dist/commands/generate-shot-list/schema/validator.d.ts +55 -0
  342. package/cli/dist/commands/generate-shot-list/schema/validator.d.ts.map +1 -0
  343. package/cli/dist/commands/generate-shot-list/schema/validator.js +180 -0
  344. package/cli/dist/commands/generate-shot-list/schema/validator.js.map +1 -0
  345. package/cli/dist/commands/generate-shot-list/style/guideline-parser.d.ts +36 -0
  346. package/cli/dist/commands/generate-shot-list/style/guideline-parser.d.ts.map +1 -0
  347. package/cli/dist/commands/generate-shot-list/style/guideline-parser.js +108 -0
  348. package/cli/dist/commands/generate-shot-list/style/guideline-parser.js.map +1 -0
  349. package/cli/dist/commands/generate-shot-list/style/index.d.ts +39 -0
  350. package/cli/dist/commands/generate-shot-list/style/index.d.ts.map +1 -0
  351. package/cli/dist/commands/generate-shot-list/style/index.js +85 -0
  352. package/cli/dist/commands/generate-shot-list/style/index.js.map +1 -0
  353. package/cli/dist/commands/generate-shot-list/style/style-loader.d.ts +35 -0
  354. package/cli/dist/commands/generate-shot-list/style/style-loader.d.ts.map +1 -0
  355. package/cli/dist/commands/generate-shot-list/style/style-loader.js +178 -0
  356. package/cli/dist/commands/generate-shot-list/style/style-loader.js.map +1 -0
  357. package/cli/dist/commands/generate-shot-list/style/style-merger.d.ts +36 -0
  358. package/cli/dist/commands/generate-shot-list/style/style-merger.d.ts.map +1 -0
  359. package/cli/dist/commands/generate-shot-list/style/style-merger.js +123 -0
  360. package/cli/dist/commands/generate-shot-list/style/style-merger.js.map +1 -0
  361. package/cli/dist/commands/generate-shot-list/style/types.d.ts +105 -0
  362. package/cli/dist/commands/generate-shot-list/style/types.d.ts.map +1 -0
  363. package/cli/dist/commands/generate-shot-list/style/types.js +8 -0
  364. package/cli/dist/commands/generate-shot-list/style/types.js.map +1 -0
  365. package/cli/dist/commands/generate-shot-list.d.ts +1 -0
  366. package/cli/dist/commands/generate-shot-list.d.ts.map +1 -1
  367. package/cli/dist/commands/generate-shot-list.js +79 -25
  368. package/cli/dist/commands/generate-shot-list.js.map +1 -1
  369. package/cli/dist/commands/list.d.ts +1 -0
  370. package/cli/dist/commands/list.d.ts.map +1 -1
  371. package/cli/dist/commands/list.js +21 -5
  372. package/cli/dist/commands/list.js.map +1 -1
  373. package/cli/dist/commands/upgrade.d.ts +15 -0
  374. package/cli/dist/commands/upgrade.d.ts.map +1 -0
  375. package/cli/dist/commands/upgrade.js +229 -0
  376. package/cli/dist/commands/upgrade.js.map +1 -0
  377. package/cli/dist/commands/use.d.ts +15 -0
  378. package/cli/dist/commands/use.d.ts.map +1 -0
  379. package/cli/dist/commands/use.js +180 -0
  380. package/cli/dist/commands/use.js.map +1 -0
  381. package/cli/dist/commands/version-info.d.ts +15 -0
  382. package/cli/dist/commands/version-info.d.ts.map +1 -0
  383. package/cli/dist/commands/version-info.js +194 -0
  384. package/cli/dist/commands/version-info.js.map +1 -0
  385. package/cli/dist/core/compatibility-checker.d.ts +73 -0
  386. package/cli/dist/core/compatibility-checker.d.ts.map +1 -0
  387. package/cli/dist/core/compatibility-checker.js +188 -0
  388. package/cli/dist/core/compatibility-checker.js.map +1 -0
  389. package/cli/dist/core/index.d.ts +9 -0
  390. package/cli/dist/core/index.d.ts.map +1 -0
  391. package/cli/dist/core/index.js +16 -0
  392. package/cli/dist/core/index.js.map +1 -0
  393. package/cli/dist/core/module-loader.d.ts +68 -0
  394. package/cli/dist/core/module-loader.d.ts.map +1 -0
  395. package/cli/dist/core/module-loader.js +137 -0
  396. package/cli/dist/core/module-loader.js.map +1 -0
  397. package/cli/dist/core/version-manager.d.ts +62 -0
  398. package/cli/dist/core/version-manager.d.ts.map +1 -0
  399. package/cli/dist/core/version-manager.js +157 -0
  400. package/cli/dist/core/version-manager.js.map +1 -0
  401. package/cli/dist/core/version-resolver.d.ts +63 -0
  402. package/cli/dist/core/version-resolver.d.ts.map +1 -0
  403. package/cli/dist/core/version-resolver.js +163 -0
  404. package/cli/dist/core/version-resolver.js.map +1 -0
  405. package/cli/dist/gui/app.d.ts +17 -0
  406. package/cli/dist/gui/app.d.ts.map +1 -0
  407. package/cli/dist/gui/app.js +79 -0
  408. package/cli/dist/gui/app.js.map +1 -0
  409. package/cli/dist/gui/components/preview-pane.d.ts +40 -0
  410. package/cli/dist/gui/components/preview-pane.d.ts.map +1 -0
  411. package/cli/dist/gui/components/preview-pane.js +90 -0
  412. package/cli/dist/gui/components/preview-pane.js.map +1 -0
  413. package/cli/dist/gui/components/search-filter.d.ts +26 -0
  414. package/cli/dist/gui/components/search-filter.d.ts.map +1 -0
  415. package/cli/dist/gui/components/search-filter.js +168 -0
  416. package/cli/dist/gui/components/search-filter.js.map +1 -0
  417. package/cli/dist/gui/components/status-bar.d.ts +22 -0
  418. package/cli/dist/gui/components/status-bar.d.ts.map +1 -0
  419. package/cli/dist/gui/components/status-bar.js +58 -0
  420. package/cli/dist/gui/components/status-bar.js.map +1 -0
  421. package/cli/dist/gui/components/tree-navigator.d.ts +30 -0
  422. package/cli/dist/gui/components/tree-navigator.d.ts.map +1 -0
  423. package/cli/dist/gui/components/tree-navigator.js +133 -0
  424. package/cli/dist/gui/components/tree-navigator.js.map +1 -0
  425. package/cli/dist/gui/components/version-selector.d.ts +27 -0
  426. package/cli/dist/gui/components/version-selector.d.ts.map +1 -0
  427. package/cli/dist/gui/components/version-selector.js +110 -0
  428. package/cli/dist/gui/components/version-selector.js.map +1 -0
  429. package/cli/dist/gui/hooks/use-version-loader.d.ts +25 -0
  430. package/cli/dist/gui/hooks/use-version-loader.d.ts.map +1 -0
  431. package/cli/dist/gui/hooks/use-version-loader.js +116 -0
  432. package/cli/dist/gui/hooks/use-version-loader.js.map +1 -0
  433. package/cli/dist/gui/index.d.ts +15 -0
  434. package/cli/dist/gui/index.d.ts.map +1 -0
  435. package/cli/dist/gui/index.js +39 -0
  436. package/cli/dist/gui/index.js.map +1 -0
  437. package/cli/dist/gui/layouts/main-layout.d.ts +14 -0
  438. package/cli/dist/gui/layouts/main-layout.d.ts.map +1 -0
  439. package/cli/dist/gui/layouts/main-layout.js +205 -0
  440. package/cli/dist/gui/layouts/main-layout.js.map +1 -0
  441. package/cli/dist/gui/state/navigation-state.d.ts +39 -0
  442. package/cli/dist/gui/state/navigation-state.d.ts.map +1 -0
  443. package/cli/dist/gui/state/navigation-state.js +151 -0
  444. package/cli/dist/gui/state/navigation-state.js.map +1 -0
  445. package/cli/dist/gui/state/selection-state.d.ts +36 -0
  446. package/cli/dist/gui/state/selection-state.d.ts.map +1 -0
  447. package/cli/dist/gui/state/selection-state.js +132 -0
  448. package/cli/dist/gui/state/selection-state.js.map +1 -0
  449. package/cli/dist/gui/theme.d.ts +50 -0
  450. package/cli/dist/gui/theme.d.ts.map +1 -0
  451. package/cli/dist/gui/theme.js +73 -0
  452. package/cli/dist/gui/theme.js.map +1 -0
  453. package/cli/dist/utils/help.d.ts +13 -0
  454. package/cli/dist/utils/help.d.ts.map +1 -0
  455. package/cli/dist/utils/help.js +137 -0
  456. package/cli/dist/utils/help.js.map +1 -0
  457. package/cli/dist/utils/module-system.d.ts +8 -0
  458. package/cli/dist/utils/module-system.d.ts.map +1 -1
  459. package/cli/dist/utils/module-system.js +38 -3
  460. package/cli/dist/utils/module-system.js.map +1 -1
  461. package/cli/dist/utils/validate-versioning.d.ts +43 -0
  462. package/cli/dist/utils/validate-versioning.d.ts.map +1 -0
  463. package/cli/dist/utils/validate-versioning.js +258 -0
  464. package/cli/dist/utils/validate-versioning.js.map +1 -0
  465. package/package.json +11 -1
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Version Loader Hook
3
+ * Integrates VersionManager with GUI state management
4
+ */
5
+ import { VersionManager } from '../../core/version-manager';
6
+ import { VersionResolver } from '../../core/version-resolver';
7
+ import { CompatibilityChecker } from '../../core/compatibility-checker';
8
+ import { SelectionActions, SelectionState } from '../state/selection-state';
9
+ export interface UseVersionLoaderOptions {
10
+ selectionState: SelectionState;
11
+ selectionActions: SelectionActions;
12
+ versionManager?: VersionManager;
13
+ versionResolver?: VersionResolver;
14
+ compatibilityChecker?: CompatibilityChecker;
15
+ }
16
+ export interface VersionLoaderResult {
17
+ loadVersions: (modulePath: string) => Promise<void>;
18
+ selectAndValidateVersion: (version: string) => Promise<boolean>;
19
+ isCompatible: (modulePath: string) => Promise<boolean>;
20
+ }
21
+ /**
22
+ * Hook for loading and validating module versions
23
+ */
24
+ export declare function useVersionLoader(options: UseVersionLoaderOptions): VersionLoaderResult;
25
+ //# sourceMappingURL=use-version-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-version-loader.d.ts","sourceRoot":"","sources":["../../../src/gui/hooks/use-version-loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE5E,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,wBAAwB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChE,YAAY,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,mBAAmB,CA8HtF"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ /**
3
+ * Version Loader Hook
4
+ * Integrates VersionManager with GUI state management
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.useVersionLoader = useVersionLoader;
8
+ const react_1 = require("react");
9
+ const version_manager_1 = require("../../core/version-manager");
10
+ const version_resolver_1 = require("../../core/version-resolver");
11
+ const compatibility_checker_1 = require("../../core/compatibility-checker");
12
+ /**
13
+ * Hook for loading and validating module versions
14
+ */
15
+ function useVersionLoader(options) {
16
+ const { selectionState, selectionActions, versionManager = new version_manager_1.VersionManager(), versionResolver = new version_resolver_1.VersionResolver(versionManager), compatibilityChecker = new compatibility_checker_1.CompatibilityChecker(), } = options;
17
+ /**
18
+ * Load available versions for a module
19
+ */
20
+ const loadVersions = (0, react_1.useCallback)(async (modulePath) => {
21
+ selectionActions.setLoading(true);
22
+ selectionActions.setError(null);
23
+ try {
24
+ // Resolve all available versions
25
+ const result = versionResolver.resolve(modulePath, 'latest');
26
+ if (!result) {
27
+ selectionActions.setError('No versions found for this module');
28
+ selectionActions.setAvailableVersions([]);
29
+ return;
30
+ }
31
+ // Set available versions
32
+ selectionActions.setAvailableVersions(result.available);
33
+ // Auto-select the latest version if none is selected
34
+ if (!selectionState.selectedVersion && result.available.length > 0) {
35
+ selectionActions.selectVersion(result.version);
36
+ }
37
+ }
38
+ catch (error) {
39
+ const errorMessage = error instanceof Error ? error.message : 'Failed to load versions';
40
+ selectionActions.setError(errorMessage);
41
+ selectionActions.setAvailableVersions([]);
42
+ }
43
+ finally {
44
+ selectionActions.setLoading(false);
45
+ }
46
+ }, [selectionActions, selectionState.selectedVersion, versionResolver]);
47
+ /**
48
+ * Select a version and validate compatibility
49
+ */
50
+ const selectAndValidateVersion = (0, react_1.useCallback)(async (version) => {
51
+ selectionActions.setLoading(true);
52
+ selectionActions.setError(null);
53
+ try {
54
+ if (!selectionState.selectedModule) {
55
+ selectionActions.setError('No module selected');
56
+ return false;
57
+ }
58
+ // Check if version exists in available versions
59
+ if (!selectionState.availableVersions.includes(version)) {
60
+ selectionActions.setError(`Version ${version} not found`);
61
+ return false;
62
+ }
63
+ // Select the version
64
+ selectionActions.selectVersion(version);
65
+ // Validate compatibility (optional, non-blocking)
66
+ // This runs in the background and only sets warnings
67
+ const modulePath = selectionState.selectedModule;
68
+ const compatResult = compatibilityChecker.checkCompatibility(modulePath);
69
+ if (!compatResult.compatible) {
70
+ const errorMsg = compatResult.errors.join(', ');
71
+ selectionActions.setError(`Compatibility issues: ${errorMsg}`);
72
+ return false;
73
+ }
74
+ if (compatResult.warnings.length > 0) {
75
+ // Don't block on warnings, just log them
76
+ console.warn('Compatibility warnings:', compatResult.warnings);
77
+ }
78
+ return true;
79
+ }
80
+ catch (error) {
81
+ const errorMessage = error instanceof Error ? error.message : 'Failed to validate version';
82
+ selectionActions.setError(errorMessage);
83
+ return false;
84
+ }
85
+ finally {
86
+ selectionActions.setLoading(false);
87
+ }
88
+ }, [selectionActions, selectionState.selectedModule, selectionState.availableVersions, compatibilityChecker]);
89
+ /**
90
+ * Check if a module is compatible with the current environment
91
+ */
92
+ const isCompatible = (0, react_1.useCallback)(async (modulePath) => {
93
+ try {
94
+ const result = compatibilityChecker.checkCompatibility(modulePath);
95
+ return result.compatible;
96
+ }
97
+ catch (error) {
98
+ console.error('Compatibility check failed:', error);
99
+ return false;
100
+ }
101
+ }, [compatibilityChecker]);
102
+ /**
103
+ * Auto-load versions when module selection changes
104
+ */
105
+ (0, react_1.useEffect)(() => {
106
+ if (selectionState.selectedModule) {
107
+ loadVersions(selectionState.selectedModule);
108
+ }
109
+ }, [selectionState.selectedModule, loadVersions]);
110
+ return {
111
+ loadVersions,
112
+ selectAndValidateVersion,
113
+ isCompatible,
114
+ };
115
+ }
116
+ //# sourceMappingURL=use-version-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-version-loader.js","sourceRoot":"","sources":["../../../src/gui/hooks/use-version-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * GUI Entry Point
3
+ * Main entry for the TUI (Terminal User Interface)
4
+ */
5
+ export { renderApp } from './app';
6
+ export { TreeNavigator } from './components/tree-navigator';
7
+ export { VersionSelector } from './components/version-selector';
8
+ export { SearchFilter } from './components/search-filter';
9
+ export { PreviewPane } from './components/preview-pane';
10
+ export { StatusBar } from './components/status-bar';
11
+ export { MainLayout } from './layouts/main-layout';
12
+ export * from './state/navigation-state';
13
+ export * from './state/selection-state';
14
+ export * from './theme';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gui/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * GUI Entry Point
4
+ * Main entry for the TUI (Terminal User Interface)
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.MainLayout = exports.StatusBar = exports.PreviewPane = exports.SearchFilter = exports.VersionSelector = exports.TreeNavigator = exports.renderApp = void 0;
22
+ var app_1 = require("./app");
23
+ Object.defineProperty(exports, "renderApp", { enumerable: true, get: function () { return app_1.renderApp; } });
24
+ var tree_navigator_1 = require("./components/tree-navigator");
25
+ Object.defineProperty(exports, "TreeNavigator", { enumerable: true, get: function () { return tree_navigator_1.TreeNavigator; } });
26
+ var version_selector_1 = require("./components/version-selector");
27
+ Object.defineProperty(exports, "VersionSelector", { enumerable: true, get: function () { return version_selector_1.VersionSelector; } });
28
+ var search_filter_1 = require("./components/search-filter");
29
+ Object.defineProperty(exports, "SearchFilter", { enumerable: true, get: function () { return search_filter_1.SearchFilter; } });
30
+ var preview_pane_1 = require("./components/preview-pane");
31
+ Object.defineProperty(exports, "PreviewPane", { enumerable: true, get: function () { return preview_pane_1.PreviewPane; } });
32
+ var status_bar_1 = require("./components/status-bar");
33
+ Object.defineProperty(exports, "StatusBar", { enumerable: true, get: function () { return status_bar_1.StatusBar; } });
34
+ var main_layout_1 = require("./layouts/main-layout");
35
+ Object.defineProperty(exports, "MainLayout", { enumerable: true, get: function () { return main_layout_1.MainLayout; } });
36
+ __exportStar(require("./state/navigation-state"), exports);
37
+ __exportStar(require("./state/selection-state"), exports);
38
+ __exportStar(require("./theme"), exports);
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gui/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,6BAAkC;AAAzB,gGAAA,SAAS,OAAA;AAClB,8DAA4D;AAAnD,+GAAA,aAAa,OAAA;AACtB,kEAAgE;AAAvD,mHAAA,eAAe,OAAA;AACxB,4DAA0D;AAAjD,6GAAA,YAAY,OAAA;AACrB,0DAAwD;AAA/C,2GAAA,WAAW,OAAA;AACpB,sDAAoD;AAA3C,uGAAA,SAAS,OAAA;AAClB,qDAAmD;AAA1C,yGAAA,UAAU,OAAA;AACnB,2DAAyC;AACzC,0DAAwC;AACxC,0CAAwB"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Main Layout Component
3
+ * Composes all GUI components into the main layout
4
+ */
5
+ import React from 'react';
6
+ import { Theme } from '../theme';
7
+ export interface MainLayoutProps {
8
+ theme: Theme;
9
+ }
10
+ /**
11
+ * Main Layout Component
12
+ */
13
+ export declare const MainLayout: React.FC<MainLayoutProps>;
14
+ //# sourceMappingURL=main-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-layout.d.ts","sourceRoot":"","sources":["../../../src/gui/layouts/main-layout.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AASjC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA0MhD,CAAC"}
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ /**
3
+ * Main Layout Component
4
+ * Composes all GUI components into the main layout
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.MainLayout = void 0;
41
+ const react_1 = __importStar(require("react"));
42
+ const ink_1 = require("ink");
43
+ const tree_navigator_1 = require("../components/tree-navigator");
44
+ const version_selector_1 = require("../components/version-selector");
45
+ const search_filter_1 = require("../components/search-filter");
46
+ const preview_pane_1 = require("../components/preview-pane");
47
+ const status_bar_1 = require("../components/status-bar");
48
+ const navigation_state_1 = require("../state/navigation-state");
49
+ const selection_state_1 = require("../state/selection-state");
50
+ /**
51
+ * Main Layout Component
52
+ */
53
+ const MainLayout = ({ theme }) => {
54
+ const { exit } = (0, ink_1.useApp)();
55
+ const [navState, navActions] = (0, navigation_state_1.useNavigationState)();
56
+ const [selState, selActions] = (0, selection_state_1.useSelectionState)();
57
+ const [treeNodes, setTreeNodes] = (0, react_1.useState)([]);
58
+ const [versions, setVersions] = (0, react_1.useState)([]);
59
+ const [preview, setPreview] = (0, react_1.useState)(null);
60
+ const [isLoading, setIsLoading] = (0, react_1.useState)(false);
61
+ const [errorMessage, setErrorMessage] = (0, react_1.useState)(null);
62
+ // Load initial data
63
+ (0, react_1.useEffect)(() => {
64
+ // TODO: Load modules from module system
65
+ const mockNodes = [
66
+ {
67
+ id: 'coding-standards',
68
+ label: 'Coding Standards',
69
+ type: 'category',
70
+ children: [
71
+ {
72
+ id: 'typescript',
73
+ label: 'TypeScript',
74
+ type: 'module',
75
+ metadata: { version: '1.0.0', linked: true },
76
+ },
77
+ {
78
+ id: 'c',
79
+ label: 'C',
80
+ type: 'module',
81
+ metadata: { version: '1.0.0', linked: false },
82
+ },
83
+ ],
84
+ },
85
+ {
86
+ id: 'workflows',
87
+ label: 'Workflows',
88
+ type: 'category',
89
+ children: [
90
+ {
91
+ id: 'beads',
92
+ label: 'Beads',
93
+ type: 'module',
94
+ metadata: { version: '1.0.0', linked: true },
95
+ },
96
+ ],
97
+ },
98
+ ];
99
+ setTreeNodes(mockNodes);
100
+ }, []);
101
+ // Handle global keyboard shortcuts
102
+ (0, ink_1.useInput)((input, key) => {
103
+ if (input === 'q' || (key.ctrl && input === 'c')) {
104
+ exit();
105
+ }
106
+ else if (key.tab) {
107
+ // Cycle through components
108
+ const components = [
109
+ 'tree',
110
+ 'version',
111
+ 'search',
112
+ 'preview',
113
+ ];
114
+ const currentIndex = components.indexOf(navState.focusedComponent);
115
+ const nextIndex = (currentIndex + 1) % components.length;
116
+ navActions.setFocusedComponent(components[nextIndex]);
117
+ }
118
+ else if (key.shift && key.tab) {
119
+ // Cycle backward through components
120
+ const components = [
121
+ 'tree',
122
+ 'version',
123
+ 'search',
124
+ 'preview',
125
+ ];
126
+ const currentIndex = components.indexOf(navState.focusedComponent);
127
+ const nextIndex = currentIndex === 0 ? components.length - 1 : currentIndex - 1;
128
+ navActions.setFocusedComponent(components[nextIndex]);
129
+ }
130
+ else if (input === '?' || (key.shift && input === '/')) {
131
+ // Toggle help (future enhancement)
132
+ // TODO: Implement help overlay
133
+ }
134
+ else if (input === 'r' && key.ctrl) {
135
+ // Refresh data (future enhancement)
136
+ // TODO: Implement data refresh
137
+ }
138
+ });
139
+ const handleTreeSelect = (node) => {
140
+ if (node.type === 'module') {
141
+ selActions.selectModule(node.id);
142
+ navActions.setCurrentModule(node.id);
143
+ // Load versions for selected module
144
+ const mockVersions = [
145
+ { version: '1.0.0', isCurrent: true, isPinned: false },
146
+ { version: '0.9.0', isCurrent: false, isPinned: false },
147
+ { version: '0.8.0', isCurrent: false, isPinned: false },
148
+ ];
149
+ setVersions(mockVersions);
150
+ // Load preview with enhanced metadata and version history
151
+ setPreview({
152
+ name: node.label,
153
+ version: node.metadata?.version || '1.0.0',
154
+ description: node.metadata?.description || 'Module description',
155
+ category: 'Category',
156
+ tags: ['tag1', 'tag2'],
157
+ metadata: {
158
+ author: 'Augment Extensions',
159
+ license: 'MIT',
160
+ repository: 'https://github.com/augment-extensions',
161
+ size: '1.2 MB',
162
+ lastUpdated: new Date().toISOString().split('T')[0],
163
+ },
164
+ versionHistory: [
165
+ {
166
+ version: '1.0.0',
167
+ releaseDate: '2026-02-25',
168
+ changes: ['Initial release', 'Core functionality', 'Documentation'],
169
+ },
170
+ {
171
+ version: '0.9.0',
172
+ releaseDate: '2026-02-20',
173
+ changes: ['Beta release', 'Bug fixes'],
174
+ },
175
+ ],
176
+ });
177
+ }
178
+ };
179
+ const handleSearch = (filters) => {
180
+ // TODO: Implement search/filter logic
181
+ console.log('Search filters:', filters);
182
+ };
183
+ // Calculate linked modules count
184
+ const linkedModulesCount = treeNodes.reduce((count, node) => {
185
+ if (node.type === 'category' && node.children) {
186
+ return (count +
187
+ node.children.filter((child) => child.metadata?.linked === true).length);
188
+ }
189
+ return count;
190
+ }, 0);
191
+ return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", height: "100%" },
192
+ react_1.default.createElement(ink_1.Box, { flexGrow: 1, flexDirection: "row" },
193
+ react_1.default.createElement(ink_1.Box, { width: "30%", flexDirection: "column" },
194
+ react_1.default.createElement(tree_navigator_1.TreeNavigator, { nodes: treeNodes, theme: theme, onSelect: handleTreeSelect, onExpand: navActions.expandCategory, onCollapse: navActions.collapseCategory, focused: navState.focusedComponent === 'tree' })),
195
+ react_1.default.createElement(ink_1.Box, { width: "25%", flexDirection: "column", marginLeft: 1 },
196
+ react_1.default.createElement(version_selector_1.VersionSelector, { versions: versions, theme: theme, onSelect: selActions.selectVersion, focused: navState.focusedComponent === 'version', moduleName: selState.selectedModule || undefined }),
197
+ react_1.default.createElement(ink_1.Box, { marginTop: 1 },
198
+ react_1.default.createElement(search_filter_1.SearchFilter, { theme: theme, onFilterChange: handleSearch, availableCategories: ['coding-standards', 'workflows', 'domain-rules'], availableTags: ['typescript', 'react', 'testing', 'documentation'], focused: navState.focusedComponent === 'search' }))),
199
+ react_1.default.createElement(ink_1.Box, { flexGrow: 1, flexDirection: "column", marginLeft: 1 },
200
+ react_1.default.createElement(preview_pane_1.PreviewPane, { module: preview, theme: theme, showVersionHistory: true }))),
201
+ react_1.default.createElement(ink_1.Box, { marginTop: 1 },
202
+ react_1.default.createElement(status_bar_1.StatusBar, { theme: theme, currentModule: selState.selectedModule || undefined, currentVersion: selState.selectedVersion || undefined, totalModules: treeNodes.length, linkedModules: linkedModulesCount, focusedComponent: navState.focusedComponent, isLoading: isLoading, errorMessage: errorMessage || undefined }))));
203
+ };
204
+ exports.MainLayout = MainLayout;
205
+ //# sourceMappingURL=main-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main-layout.js","sourceRoot":"","sources":["../../../src/gui/layouts/main-layout.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Navigation State Management
3
+ * Manages the current navigation state in the TUI with persistence
4
+ */
5
+ export interface NavigationState {
6
+ currentCategory: string | null;
7
+ currentModule: string | null;
8
+ expandedCategories: Set<string>;
9
+ focusedComponent: 'tree' | 'version' | 'search' | 'preview';
10
+ }
11
+ export interface NavigationActions {
12
+ setCurrentCategory: (category: string | null) => void;
13
+ setCurrentModule: (module: string | null) => void;
14
+ toggleCategory: (category: string) => void;
15
+ expandCategory: (category: string) => void;
16
+ collapseCategory: (category: string) => void;
17
+ setFocusedComponent: (component: NavigationState['focusedComponent']) => void;
18
+ navigateUp: () => void;
19
+ navigateDown: () => void;
20
+ navigateLeft: () => void;
21
+ navigateRight: () => void;
22
+ }
23
+ /**
24
+ * Load navigation state from localStorage
25
+ */
26
+ export declare function loadNavigationState(): NavigationState | null;
27
+ /**
28
+ * Save navigation state to localStorage
29
+ */
30
+ export declare function saveNavigationState(state: NavigationState): void;
31
+ /**
32
+ * Clear navigation state from localStorage
33
+ */
34
+ export declare function clearNavigationState(): void;
35
+ /**
36
+ * Hook for navigation state management with persistence
37
+ */
38
+ export declare function useNavigationState(): [NavigationState, NavigationActions];
39
+ //# sourceMappingURL=navigation-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-state.d.ts","sourceRoot":"","sources":["../../../src/gui/state/navigation-state.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC7D;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,mBAAmB,EAAE,CAAC,SAAS,EAAE,eAAe,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;IAC9E,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAcD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,GAAG,IAAI,CAsB5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAgBhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAU3C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CA0FzE"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ /**
3
+ * Navigation State Management
4
+ * Manages the current navigation state in the TUI with persistence
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.loadNavigationState = loadNavigationState;
8
+ exports.saveNavigationState = saveNavigationState;
9
+ exports.clearNavigationState = clearNavigationState;
10
+ exports.useNavigationState = useNavigationState;
11
+ const react_1 = require("react");
12
+ const STORAGE_KEY = 'augx_navigation_state';
13
+ /**
14
+ * Load navigation state from localStorage
15
+ */
16
+ function loadNavigationState() {
17
+ if (typeof localStorage === 'undefined') {
18
+ return null;
19
+ }
20
+ try {
21
+ const stored = localStorage.getItem(STORAGE_KEY);
22
+ if (!stored) {
23
+ return null;
24
+ }
25
+ const parsed = JSON.parse(stored);
26
+ return {
27
+ currentCategory: parsed.currentCategory,
28
+ currentModule: parsed.currentModule,
29
+ expandedCategories: new Set(parsed.expandedCategories),
30
+ focusedComponent: parsed.focusedComponent,
31
+ };
32
+ }
33
+ catch (error) {
34
+ console.error('Failed to load navigation state:', error);
35
+ return null;
36
+ }
37
+ }
38
+ /**
39
+ * Save navigation state to localStorage
40
+ */
41
+ function saveNavigationState(state) {
42
+ if (typeof localStorage === 'undefined') {
43
+ return;
44
+ }
45
+ try {
46
+ const serializable = {
47
+ currentCategory: state.currentCategory,
48
+ currentModule: state.currentModule,
49
+ expandedCategories: Array.from(state.expandedCategories),
50
+ focusedComponent: state.focusedComponent,
51
+ };
52
+ localStorage.setItem(STORAGE_KEY, JSON.stringify(serializable));
53
+ }
54
+ catch (error) {
55
+ console.error('Failed to save navigation state:', error);
56
+ }
57
+ }
58
+ /**
59
+ * Clear navigation state from localStorage
60
+ */
61
+ function clearNavigationState() {
62
+ if (typeof localStorage === 'undefined') {
63
+ return;
64
+ }
65
+ try {
66
+ localStorage.removeItem(STORAGE_KEY);
67
+ }
68
+ catch (error) {
69
+ console.error('Failed to clear navigation state:', error);
70
+ }
71
+ }
72
+ /**
73
+ * Hook for navigation state management with persistence
74
+ */
75
+ function useNavigationState() {
76
+ // Load initial state from localStorage or use defaults
77
+ const [state, setState] = (0, react_1.useState)(() => {
78
+ const loaded = loadNavigationState();
79
+ return loaded || {
80
+ currentCategory: null,
81
+ currentModule: null,
82
+ expandedCategories: new Set(),
83
+ focusedComponent: 'tree',
84
+ };
85
+ });
86
+ // Persist state changes to localStorage
87
+ (0, react_1.useEffect)(() => {
88
+ saveNavigationState(state);
89
+ }, [state]);
90
+ const setCurrentCategory = (0, react_1.useCallback)((category) => {
91
+ setState((prev) => ({ ...prev, currentCategory: category }));
92
+ }, []);
93
+ const setCurrentModule = (0, react_1.useCallback)((module) => {
94
+ setState((prev) => ({ ...prev, currentModule: module }));
95
+ }, []);
96
+ const toggleCategory = (0, react_1.useCallback)((category) => {
97
+ setState((prev) => {
98
+ const expandedCategories = new Set(prev.expandedCategories);
99
+ if (expandedCategories.has(category)) {
100
+ expandedCategories.delete(category);
101
+ }
102
+ else {
103
+ expandedCategories.add(category);
104
+ }
105
+ return { ...prev, expandedCategories };
106
+ });
107
+ }, []);
108
+ const expandCategory = (0, react_1.useCallback)((category) => {
109
+ setState((prev) => {
110
+ const expandedCategories = new Set(prev.expandedCategories);
111
+ expandedCategories.add(category);
112
+ return { ...prev, expandedCategories };
113
+ });
114
+ }, []);
115
+ const collapseCategory = (0, react_1.useCallback)((category) => {
116
+ setState((prev) => {
117
+ const expandedCategories = new Set(prev.expandedCategories);
118
+ expandedCategories.delete(category);
119
+ return { ...prev, expandedCategories };
120
+ });
121
+ }, []);
122
+ const setFocusedComponent = (0, react_1.useCallback)((component) => {
123
+ setState((prev) => ({ ...prev, focusedComponent: component }));
124
+ }, []);
125
+ const navigateUp = (0, react_1.useCallback)(() => {
126
+ // TODO: Implement navigation logic
127
+ }, []);
128
+ const navigateDown = (0, react_1.useCallback)(() => {
129
+ // TODO: Implement navigation logic
130
+ }, []);
131
+ const navigateLeft = (0, react_1.useCallback)(() => {
132
+ // TODO: Implement navigation logic
133
+ }, []);
134
+ const navigateRight = (0, react_1.useCallback)(() => {
135
+ // TODO: Implement navigation logic
136
+ }, []);
137
+ const actions = {
138
+ setCurrentCategory,
139
+ setCurrentModule,
140
+ toggleCategory,
141
+ expandCategory,
142
+ collapseCategory,
143
+ setFocusedComponent,
144
+ navigateUp,
145
+ navigateDown,
146
+ navigateLeft,
147
+ navigateRight,
148
+ };
149
+ return [state, actions];
150
+ }
151
+ //# sourceMappingURL=navigation-state.js.map